diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000000..8334bb6f2f02 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +terraform/version.go ident diff --git a/builtin/providers/aws/config.go b/builtin/providers/aws/config.go index 382f0506e366..458b33f0b754 100644 --- a/builtin/providers/aws/config.go +++ b/builtin/providers/aws/config.go @@ -98,6 +98,7 @@ type AWSClient struct { stsconn *sts.STS redshiftconn *redshift.Redshift r53conn *route53.Route53 + partition string accountid string region string rdsconn *rds.RDS diff --git a/builtin/providers/aws/provider.go b/builtin/providers/aws/provider.go index b75c7dd43cb7..c362605b2c1a 100644 --- a/builtin/providers/aws/provider.go +++ b/builtin/providers/aws/provider.go @@ -165,6 +165,7 @@ func Provider() terraform.ResourceProvider { "aws_eip_association": resourceAwsEipAssociation(), "aws_elasticache_cluster": resourceAwsElasticacheCluster(), "aws_elasticache_parameter_group": resourceAwsElasticacheParameterGroup(), + "aws_elasticache_redis_cluster": resourceAwsElasticacheRedisCluster(), "aws_elasticache_replication_group": resourceAwsElasticacheReplicationGroup(), "aws_elasticache_security_group": resourceAwsElasticacheSecurityGroup(), "aws_elasticache_subnet_group": resourceAwsElasticacheSubnetGroup(), diff --git a/builtin/providers/aws/resource_aws_elasticache_cluster.go b/builtin/providers/aws/resource_aws_elasticache_cluster.go index 34bdf663dedd..46dde01b0a28 100644 --- a/builtin/providers/aws/resource_aws_elasticache_cluster.go +++ b/builtin/providers/aws/resource_aws_elasticache_cluster.go @@ -10,227 +10,262 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/service/elasticache" - "github.com/aws/aws-sdk-go/service/iam" "github.com/hashicorp/terraform/helper/resource" "github.com/hashicorp/terraform/helper/schema" ) -func resourceAwsElasticacheCluster() *schema.Resource { - return &schema.Resource{ - Create: resourceAwsElasticacheClusterCreate, - Read: resourceAwsElasticacheClusterRead, - Update: resourceAwsElasticacheClusterUpdate, - Delete: resourceAwsElasticacheClusterDelete, +func resourceAwsElastiCacheCommonSchema() map[string]*schema.Schema { - Schema: map[string]*schema.Schema{ - "cluster_id": &schema.Schema{ - Type: schema.TypeString, - Required: true, - ForceNew: true, - StateFunc: func(val interface{}) string { - // Elasticache normalizes cluster ids to lowercase, - // so we have to do this too or else we can end up - // with non-converging diffs. - return strings.ToLower(val.(string)) - }, - ValidateFunc: validateElastiCacheClusterId, - }, - "configuration_endpoint": &schema.Schema{ - Type: schema.TypeString, - Computed: true, - }, - "engine": &schema.Schema{ - Type: schema.TypeString, - Required: true, - }, - "node_type": &schema.Schema{ - Type: schema.TypeString, - Required: true, - ForceNew: true, - }, - "num_cache_nodes": &schema.Schema{ - Type: schema.TypeInt, - Required: true, - }, - "parameter_group_name": &schema.Schema{ - Type: schema.TypeString, - Optional: true, - Computed: true, - }, - "port": &schema.Schema{ - Type: schema.TypeInt, - Required: true, - ForceNew: true, - }, - "engine_version": &schema.Schema{ - Type: schema.TypeString, - Optional: true, - Computed: true, - }, - "maintenance_window": &schema.Schema{ - Type: schema.TypeString, - Optional: true, - Computed: true, - StateFunc: func(val interface{}) string { - // Elasticache always changes the maintenance - // to lowercase - return strings.ToLower(val.(string)) - }, - }, - "subnet_group_name": &schema.Schema{ - Type: schema.TypeString, - Optional: true, - Computed: true, - ForceNew: true, - }, - "replication_group_id": &schema.Schema{ - Type: schema.TypeString, - Optional: true, - ForceNew: true, - }, - "security_group_names": &schema.Schema{ - Type: schema.TypeSet, - Optional: true, - Computed: true, - ForceNew: true, - Elem: &schema.Schema{Type: schema.TypeString}, - Set: schema.HashString, - }, - "security_group_ids": &schema.Schema{ - Type: schema.TypeSet, - Optional: true, - Computed: true, - Elem: &schema.Schema{Type: schema.TypeString}, - Set: schema.HashString, - }, - // Exported Attributes - "cache_nodes": &schema.Schema{ - Type: schema.TypeList, - Computed: true, - Elem: &schema.Resource{ - Schema: map[string]*schema.Schema{ - "id": &schema.Schema{ - Type: schema.TypeString, - Computed: true, - }, - "address": &schema.Schema{ - Type: schema.TypeString, - Computed: true, - }, - "port": &schema.Schema{ - Type: schema.TypeInt, - Computed: true, - }, - "availability_zone": &schema.Schema{ - Type: schema.TypeString, - Computed: true, - }, - }, - }, - }, - "notification_topic_arn": &schema.Schema{ - Type: schema.TypeString, - Optional: true, - }, - // A single-element string list containing an Amazon Resource Name (ARN) that - // uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot - // file will be used to populate the node group. - // - // See also: - // https://github.com/aws/aws-sdk-go/blob/4862a174f7fc92fb523fc39e68f00b87d91d2c3d/service/elasticache/api.go#L2079 - "snapshot_arns": &schema.Schema{ - Type: schema.TypeSet, - Optional: true, - ForceNew: true, - Elem: &schema.Schema{Type: schema.TypeString}, - Set: schema.HashString, - }, + return map[string]*schema.Schema{ + "availability_zones": &schema.Schema{ + Type: schema.TypeSet, + Optional: true, + ForceNew: true, + Elem: &schema.Schema{Type: schema.TypeString}, + Set: schema.HashString, + }, + "preferred_cache_cluster_azs": &schema.Schema{ + Type: schema.TypeSet, + Optional: true, + ForceNew: true, + Elem: &schema.Schema{Type: schema.TypeString}, + Set: schema.HashString, + }, + "node_type": &schema.Schema{ + Type: schema.TypeString, + Optional: true, + }, + "cache_node_type": &schema.Schema{ + Type: schema.TypeString, + Optional: true, + }, + "engine": &schema.Schema{ + Type: schema.TypeString, + Required: true, + }, + "engine_version": &schema.Schema{ + Type: schema.TypeString, + Optional: true, + Computed: true, + }, + "parameter_group_name": &schema.Schema{ + Type: schema.TypeString, + Optional: true, + Computed: true, + }, + "subnet_group_name": &schema.Schema{ + Type: schema.TypeString, + Optional: true, + Computed: true, + ForceNew: true, + }, + "security_group_names": &schema.Schema{ + Type: schema.TypeSet, + Optional: true, + Computed: true, + ForceNew: true, + Elem: &schema.Schema{Type: schema.TypeString}, + Set: schema.HashString, + }, + "security_group_ids": &schema.Schema{ + Type: schema.TypeSet, + Optional: true, + Computed: true, + Elem: &schema.Schema{Type: schema.TypeString}, + Set: schema.HashString, + }, + // A single-element string list containing an Amazon Resource Name (ARN) that + // uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot + // file will be used to populate the node group. + // + // See also: + // https://github.com/aws/aws-sdk-go/blob/4862a174f7fc92fb523fc39e68f00b87d91d2c3d/service/elasticache/api.go#L2079 + "snapshot_arns": &schema.Schema{ + Type: schema.TypeSet, + Optional: true, + ForceNew: true, + Elem: &schema.Schema{Type: schema.TypeString}, + Set: schema.HashString, + }, + "snapshot_window": &schema.Schema{ + Type: schema.TypeString, + Optional: true, + Computed: true, + }, + "snapshot_name": &schema.Schema{ + Type: schema.TypeString, + Optional: true, + ForceNew: true, + }, - "snapshot_window": &schema.Schema{ - Type: schema.TypeString, - Optional: true, - Computed: true, + "maintenance_window": &schema.Schema{ + Type: schema.TypeString, + Optional: true, + Computed: true, + StateFunc: func(val interface{}) string { + // Elasticache always changes the maintenance + // to lowercase + return strings.ToLower(val.(string)) }, + }, + "port": &schema.Schema{ + Type: schema.TypeInt, + Optional: true, + ForceNew: true, + }, + "notification_topic_arn": &schema.Schema{ + Type: schema.TypeString, + Optional: true, + }, - "snapshot_retention_limit": &schema.Schema{ - Type: schema.TypeInt, - Optional: true, - ValidateFunc: func(v interface{}, k string) (ws []string, es []error) { - value := v.(int) - if value > 35 { - es = append(es, fmt.Errorf( - "snapshot retention limit cannot be more than 35 days")) - } - return - }, + "snapshot_retention_limit": &schema.Schema{ + Type: schema.TypeInt, + Optional: true, + ValidateFunc: func(v interface{}, k string) (ws []string, es []error) { + value := v.(int) + if value > 35 { + es = append(es, fmt.Errorf( + "snapshot retention limit cannot be more than 35 days")) + } + return }, + }, - "az_mode": &schema.Schema{ - Type: schema.TypeString, - Optional: true, - Computed: true, - ForceNew: true, - }, + "apply_immediately": &schema.Schema{ + Type: schema.TypeBool, + Optional: true, + Computed: true, + }, - "availability_zone": &schema.Schema{ - Type: schema.TypeString, - Optional: true, - Computed: true, - ForceNew: true, - }, + "tags": tagsSchema(), + } +} - "availability_zones": &schema.Schema{ - Type: schema.TypeSet, - Optional: true, - ForceNew: true, - Elem: &schema.Schema{Type: schema.TypeString}, - Set: schema.HashString, - }, +func resourceAwsElasticacheCluster() *schema.Resource { + resourceSchema := resourceAwsElastiCacheCommonSchema() + + resourceSchema["cluster_id"] = &schema.Schema{ + Type: schema.TypeString, + Required: true, + ForceNew: true, + StateFunc: func(val interface{}) string { + // Elasticache normalizes cluster ids to lowercase, + // so we have to do this too or else we can end up + // with non-converging diffs. + return strings.ToLower(val.(string)) + }, + ValidateFunc: validateElastiCacheClusterId, + } + + resourceSchema["num_cache_nodes"] = &schema.Schema{ + Type: schema.TypeInt, + Required: true, + } - "tags": tagsSchema(), + resourceSchema["az_mode"] = &schema.Schema{ + Type: schema.TypeString, + Optional: true, + Computed: true, + ForceNew: true, + } - // apply_immediately is used to determine when the update modifications - // take place. - // See http://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheCluster.html - "apply_immediately": &schema.Schema{ - Type: schema.TypeBool, - Optional: true, - Computed: true, + resourceSchema["availability_zone"] = &schema.Schema{ + Type: schema.TypeString, + Optional: true, + Computed: true, + ForceNew: true, + } + + resourceSchema["configuration_endpoint"] = &schema.Schema{ + Type: schema.TypeString, + Computed: true, + } + + resourceSchema["cluster_address"] = &schema.Schema{ + Type: schema.TypeString, + Computed: true, + } + + resourceSchema["replication_group_id"] = &schema.Schema{ + Type: schema.TypeString, + Computed: true, + } + + resourceSchema["cache_nodes"] = &schema.Schema{ + Type: schema.TypeList, + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "id": &schema.Schema{ + Type: schema.TypeString, + Computed: true, + }, + "address": &schema.Schema{ + Type: schema.TypeString, + Computed: true, + }, + "port": &schema.Schema{ + Type: schema.TypeInt, + Computed: true, + }, + "availability_zone": &schema.Schema{ + Type: schema.TypeString, + Computed: true, + }, }, }, } + + return &schema.Resource{ + Create: resourceAwsElasticacheClusterCreate, + Read: resourceAwsElasticacheClusterRead, + Update: resourceAwsElasticacheClusterUpdate, + Delete: resourceAwsElasticacheClusterDelete, + + Schema: resourceSchema, + } } func resourceAwsElasticacheClusterCreate(d *schema.ResourceData, meta interface{}) error { + var nodeType string + conn := meta.(*AWSClient).elasticacheconn clusterId := d.Get("cluster_id").(string) - nodeType := d.Get("node_type").(string) // e.g) cache.m1.small - numNodes := int64(d.Get("num_cache_nodes").(int)) // 2 + + if v, ok := d.GetOk("node_type"); ok { + nodeType = v.(string) // e.g) cache.m1.small + } else if v, ok := d.GetOk("cache_node_type"); ok { + nodeType = v.(string) // e.g) cache.m1.small + } else { + return fmt.Errorf("node_type is required") + } + engine := d.Get("engine").(string) // memcached engineVersion := d.Get("engine_version").(string) // 1.4.14 - port := int64(d.Get("port").(int)) // e.g) 11211 subnetGroupName := d.Get("subnet_group_name").(string) securityNameSet := d.Get("security_group_names").(*schema.Set) securityIdSet := d.Get("security_group_ids").(*schema.Set) - replicationGroupID := d.Get("replication_group_id").(string) securityNames := expandStringList(securityNameSet.List()) securityIds := expandStringList(securityIdSet.List()) - tags := tagsFromMapEC(d.Get("tags").(map[string]interface{})) + req := &elasticache.CreateCacheClusterInput{ CacheClusterId: aws.String(clusterId), CacheNodeType: aws.String(nodeType), - NumCacheNodes: aws.Int64(numNodes), Engine: aws.String(engine), EngineVersion: aws.String(engineVersion), - Port: aws.Int64(port), CacheSubnetGroupName: aws.String(subnetGroupName), CacheSecurityGroupNames: securityNames, SecurityGroupIds: securityIds, Tags: tags, - ReplicationGroupId: aws.String(replicationGroupID), + } + + if v, ok := d.GetOk("port"); ok { + req.Port = aws.Int64(int64(v.(int))) // e.g) 11211 + } else { + req.Port = aws.Int64(int64(6379)) } // parameter groups are optional and can be defaulted by AWS @@ -238,6 +273,10 @@ func resourceAwsElasticacheClusterCreate(d *schema.ResourceData, meta interface{ req.CacheParameterGroupName = aws.String(v.(string)) } + if v, ok := d.GetOk("num_cache_nodes"); ok { + req.NumCacheNodes = aws.Int64(int64(v.(int))) + } + if v, ok := d.GetOk("snapshot_retention_limit"); ok { req.SnapshotRetentionLimit = aws.Int64(int64(v.(int))) } @@ -261,6 +300,10 @@ func resourceAwsElasticacheClusterCreate(d *schema.ResourceData, meta interface{ log.Printf("[DEBUG] Restoring Redis cluster from S3 snapshot: %#v", s) } + if v, ok := d.GetOk("snapshot_name"); ok { + req.SnapshotName = aws.String(v.(string)) + } + if v, ok := d.GetOk("az_mode"); ok { req.AZMode = aws.String(v.(string)) } @@ -270,11 +313,19 @@ func resourceAwsElasticacheClusterCreate(d *schema.ResourceData, meta interface{ } preferred_azs := d.Get("availability_zones").(*schema.Set).List() + if len(preferred_azs) == 0 { + preferred_azs = d.Get("preferred_cache_cluster_azs").(*schema.Set).List() + } + if len(preferred_azs) > 0 { azs := expandStringList(preferred_azs) req.PreferredAvailabilityZones = azs } + if v, ok := d.GetOk("replication_group_id"); ok { + req.ReplicationGroupId = aws.String(v.(string)) + } + resp, err := conn.CreateCacheCluster(req) if err != nil { return fmt.Errorf("Error creating Elasticache: %s", err) @@ -286,14 +337,14 @@ func resourceAwsElasticacheClusterCreate(d *schema.ResourceData, meta interface{ // name contained uppercase characters. d.SetId(strings.ToLower(*resp.CacheCluster.CacheClusterId)) - pending := []string{"creating"} + pending := []string{"creating", "modifying", "restoring"} stateConf := &resource.StateChangeConf{ Pending: pending, Target: []string{"available"}, Refresh: cacheClusterStateRefreshFunc(conn, d.Id(), "available", pending), - Timeout: 10 * time.Minute, - Delay: 10 * time.Second, - MinTimeout: 3 * time.Second, + Timeout: 40 * time.Minute, + MinTimeout: 10 * time.Second, + Delay: 30 * time.Second, } log.Printf("[DEBUG] Waiting for state to become available: %v", d.Id()) @@ -333,12 +384,19 @@ func resourceAwsElasticacheClusterRead(d *schema.ResourceData, meta interface{}) if c.ConfigurationEndpoint != nil { d.Set("port", c.ConfigurationEndpoint.Port) d.Set("configuration_endpoint", aws.String(fmt.Sprintf("%s:%d", *c.ConfigurationEndpoint.Address, *c.ConfigurationEndpoint.Port))) + d.Set("cluster_address", aws.String(fmt.Sprintf("%s", *c.ConfigurationEndpoint.Address))) + } + + if c.ReplicationGroupId != nil { + d.Set("replication_group_id", c.ReplicationGroupId) } d.Set("subnet_group_name", c.CacheSubnetGroupName) - d.Set("security_group_names", c.CacheSecurityGroups) - d.Set("security_group_ids", c.SecurityGroups) - d.Set("parameter_group_name", c.CacheParameterGroup) + d.Set("security_group_names", flattenElastiCacheSecurityGroupNames(c.CacheSecurityGroups)) + d.Set("security_group_ids", flattenElastiCacheSecurityGroupIds(c.SecurityGroups)) + if c.CacheParameterGroup != nil { + d.Set("parameter_group_name", c.CacheParameterGroup.CacheParameterGroupName) + } d.Set("maintenance_window", c.PreferredMaintenanceWindow) d.Set("snapshot_window", c.SnapshotWindow) d.Set("snapshot_retention_limit", c.SnapshotRetentionLimit) @@ -354,7 +412,7 @@ func resourceAwsElasticacheClusterRead(d *schema.ResourceData, meta interface{}) } // list tags for resource // set tags - arn, err := buildECARN(d, meta) + arn, err := buildECARN(d.Id(), meta.(*AWSClient).partition, meta.(*AWSClient).accountid, meta.(*AWSClient).region) if err != nil { log.Printf("[DEBUG] Error building ARN for ElastiCache Cluster, not setting Tags for cluster %s", *c.CacheClusterId) } else { @@ -379,7 +437,7 @@ func resourceAwsElasticacheClusterRead(d *schema.ResourceData, meta interface{}) func resourceAwsElasticacheClusterUpdate(d *schema.ResourceData, meta interface{}) error { conn := meta.(*AWSClient).elasticacheconn - arn, err := buildECARN(d, meta) + arn, err := buildECARN(d.Id(), meta.(*AWSClient).partition, meta.(*AWSClient).accountid, meta.(*AWSClient).region) if err != nil { log.Printf("[DEBUG] Error building ARN for ElastiCache Cluster, not updating Tags for cluster %s", d.Id()) } else { @@ -431,6 +489,11 @@ func resourceAwsElasticacheClusterUpdate(d *schema.ResourceData, meta interface{ requestUpdate = true } + if d.HasChange("node_type") { + req.CacheNodeType = aws.String(d.Get("node_type").(string)) + requestUpdate = true + } + if d.HasChange("snapshot_retention_limit") { req.SnapshotRetentionLimit = aws.Int64(int64(d.Get("snapshot_retention_limit").(int))) requestUpdate = true @@ -467,9 +530,9 @@ func resourceAwsElasticacheClusterUpdate(d *schema.ResourceData, meta interface{ Pending: pending, Target: []string{"available"}, Refresh: cacheClusterStateRefreshFunc(conn, d.Id(), "available", pending), - Timeout: 5 * time.Minute, - Delay: 5 * time.Second, - MinTimeout: 3 * time.Second, + Timeout: 80 * time.Minute, + MinTimeout: 10 * time.Second, + Delay: 30 * time.Second, } _, sterr := stateConf.WaitForState() @@ -538,9 +601,9 @@ func resourceAwsElasticacheClusterDelete(d *schema.ResourceData, meta interface{ Pending: []string{"creating", "available", "deleting", "incompatible-parameters", "incompatible-network", "restore-failed"}, Target: []string{}, Refresh: cacheClusterStateRefreshFunc(conn, d.Id(), "", []string{}), - Timeout: 20 * time.Minute, - Delay: 10 * time.Second, - MinTimeout: 3 * time.Second, + Timeout: 40 * time.Minute, + MinTimeout: 10 * time.Second, + Delay: 30 * time.Second, } _, sterr := stateConf.WaitForState() @@ -626,16 +689,14 @@ func cacheClusterStateRefreshFunc(conn *elasticache.ElastiCache, clusterID, give } } -func buildECARN(d *schema.ResourceData, meta interface{}) (string, error) { - iamconn := meta.(*AWSClient).iamconn - region := meta.(*AWSClient).region - // An zero value GetUserInput{} defers to the currently logged in user - resp, err := iamconn.GetUser(&iam.GetUserInput{}) - if err != nil { - return "", err +func buildECARN(identifier, partition, accountid, region string) (string, error) { + if partition == "" { + return "", fmt.Errorf("Unable to construct ElastiCache ARN because of missing AWS partition") + } + if accountid == "" { + return "", fmt.Errorf("Unable to construct ElastiCache ARN because of missing AWS Account ID") } - userARN := *resp.User.Arn - accountID := strings.Split(userARN, ":")[4] - arn := fmt.Sprintf("arn:aws:elasticache:%s:%s:cluster:%s", region, accountID, d.Id()) + arn := fmt.Sprintf("arn:%s:elasticache:%s:%s:cluster:%s", partition, region, accountid, identifier) return arn, nil + } diff --git a/builtin/providers/aws/resource_aws_elasticache_cluster_test.go b/builtin/providers/aws/resource_aws_elasticache_cluster_test.go index 7d0371eaa21b..479819ea8d92 100644 --- a/builtin/providers/aws/resource_aws_elasticache_cluster_test.go +++ b/builtin/providers/aws/resource_aws_elasticache_cluster_test.go @@ -27,6 +27,8 @@ func TestAccAWSElasticacheCluster_basic(t *testing.T) { testAccCheckAWSElasticacheClusterExists("aws_elasticache_cluster.bar", &ec), resource.TestCheckResourceAttr( "aws_elasticache_cluster.bar", "cache_nodes.0.id", "0001"), + resource.TestCheckResourceAttrSet("aws_elasticache_cluster.bar", "configuration_endpoint"), + resource.TestCheckResourceAttrSet("aws_elasticache_cluster.bar", "cluster_address"), ), }, }, @@ -217,6 +219,23 @@ func testAccCheckAWSElasticacheClusterExists(n string, v *elasticache.CacheClust } } +func testAccAWSElasticacheClusterConfigBasic(clusterId string) string { + return fmt.Sprintf(` +provider "aws" { + region = "us-east-1" +} + +resource "aws_elasticache_cluster" "bar" { + cluster_id = "tf-%s" + engine = "memcached" + node_type = "cache.m1.small" + num_cache_nodes = 1 + port = 11211 + parameter_group_name = "default.memcached1.4" +} +`, clusterId) +} + var testAccAWSElasticacheClusterConfig = fmt.Sprintf(` provider "aws" { region = "us-east-1" @@ -276,7 +295,7 @@ resource "aws_elasticache_cluster" "bar" { node_type = "cache.m1.small" num_cache_nodes = 1 port = 6379 - parameter_group_name = "default.redis2.8" + parameter_group_name = "default.redis3.2" security_group_names = ["${aws_elasticache_security_group.bar.name}"] snapshot_window = "05:00-09:00" snapshot_retention_limit = 3 @@ -310,7 +329,7 @@ resource "aws_elasticache_cluster" "bar" { node_type = "cache.m1.small" num_cache_nodes = 1 port = 6379 - parameter_group_name = "default.redis2.8" + parameter_group_name = "default.redis3.2" security_group_names = ["${aws_elasticache_security_group.bar.name}"] snapshot_window = "07:00-09:00" snapshot_retention_limit = 7 diff --git a/builtin/providers/aws/resource_aws_elasticache_redis_cluster.go b/builtin/providers/aws/resource_aws_elasticache_redis_cluster.go new file mode 100644 index 000000000000..f5b94a252522 --- /dev/null +++ b/builtin/providers/aws/resource_aws_elasticache_redis_cluster.go @@ -0,0 +1,62 @@ +package aws + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/hashicorp/terraform/helper/schema" +) + +func resourceAwsElasticacheRedisCluster() *schema.Resource { + + resourceSchema := resourceAwsElasticacheReplicationGroupCommon() + + resourceSchema["automatic_failover_enabled"] = &schema.Schema{ + Type: schema.TypeBool, + Optional: true, + Default: true, + } + + resourceSchema["number_cache_clusters"] = &schema.Schema{ + Type: schema.TypeInt, + Computed: true, + ForceNew: true, + } + + resourceSchema["num_node_groups"] = &schema.Schema{ + Type: schema.TypeInt, + Required: true, + ForceNew: true, + } + + resourceSchema["replicas_per_node_group"] = &schema.Schema{ + Type: schema.TypeInt, + Required: true, + ForceNew: true, + } + + return &schema.Resource{ + Create: resourceAwsElasticacheRedisClusterCreate, + Read: resourceAwsElasticacheReplicationGroupRead, + Update: resourceAwsElasticacheReplicationGroupUpdate, + Delete: resourceAwsElasticacheReplicationGroupDelete, + + Schema: resourceSchema, + } +} + +func resourceAwsElasticacheRedisClusterCreate(d *schema.ResourceData, meta interface{}) error { + + params, err := resourceAwsElasticacheReplicationGroupCreateSetup(d, meta) + if err != nil { + return err + } + + if v, ok := d.GetOk("num_node_groups"); ok { + params.NumNodeGroups = aws.Int64(int64(v.(int))) + } + + if v, ok := d.GetOk("replicas_per_node_group"); ok { + params.ReplicasPerNodeGroup = aws.Int64(int64(v.(int))) + } + + return resourceAwsElasticacheReplicationGroupCreateCommon(d, meta, params) +} diff --git a/builtin/providers/aws/resource_aws_elasticache_redis_cluster_test.go b/builtin/providers/aws/resource_aws_elasticache_redis_cluster_test.go new file mode 100644 index 000000000000..e46bcb7636b4 --- /dev/null +++ b/builtin/providers/aws/resource_aws_elasticache_redis_cluster_test.go @@ -0,0 +1,101 @@ +package aws + +import ( + "fmt" + "testing" + + "github.com/aws/aws-sdk-go/service/elasticache" + "github.com/hashicorp/terraform/helper/acctest" + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccAWSElasticacheRedisCluster_vpc(t *testing.T) { + var rg elasticache.ReplicationGroup + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckAWSElasticacheReplicationDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: testAccAWSElasticacheRedisClusterVPCConfig, + Check: resource.ComposeTestCheckFunc( + testAccCheckAWSElasticacheReplicationGroupExists("aws_elasticache_redis_cluster.bar", &rg), + resource.TestCheckResourceAttr( + "aws_elasticache_redis_cluster.bar", "number_cache_clusters", "4"), + resource.TestCheckResourceAttr( + "aws_elasticache_redis_cluster.bar", "replicas_per_node_group", "1"), + resource.TestCheckResourceAttr( + "aws_elasticache_redis_cluster.bar", "num_node_groups", "2"), + resource.TestCheckResourceAttr( + "aws_elasticache_redis_cluster.bar", "port", "6379"), + ), + }, + }, + }) +} + +var testAccAWSElasticacheRedisClusterVPCConfig = fmt.Sprintf(` +provider "aws" { + region = "us-west-2" +} + +resource "aws_vpc" "foo" { + cidr_block = "192.168.0.0/16" + tags { + Name = "tf-test" + } +} + +resource "aws_subnet" "foo" { + vpc_id = "${aws_vpc.foo.id}" + cidr_block = "192.168.0.0/20" + availability_zone = "us-west-2a" + tags { + Name = "tf-test-%03d" + } +} + +resource "aws_subnet" "bar" { + vpc_id = "${aws_vpc.foo.id}" + cidr_block = "192.168.16.0/20" + availability_zone = "us-west-2b" + tags { + Name = "tf-test-%03d" + } +} + +resource "aws_elasticache_subnet_group" "bar" { + name = "tf-test-cache-subnet-%03d" + description = "tf-test-cache-subnet-group-descr" + subnet_ids = [ + "${aws_subnet.foo.id}", + "${aws_subnet.bar.id}" + ] +} + +resource "aws_security_group" "bar" { + name = "tf-test-security-group-%03d" + description = "tf-test-security-group-descr" + vpc_id = "${aws_vpc.foo.id}" + ingress { + from_port = -1 + to_port = -1 + protocol = "icmp" + cidr_blocks = ["0.0.0.0/0"] + } +} + +resource "aws_elasticache_redis_cluster" "bar" { + replication_group_id = "tf-%s" + replication_group_description = "test description" + node_type = "cache.t2.micro" + port = 6379 + subnet_group_name = "${aws_elasticache_subnet_group.bar.name}" + security_group_ids = ["${aws_security_group.bar.id}"] + parameter_group_name = "default.redis3.2.cluster.on" + replicas_per_node_group = 1 + num_node_groups = 2 + +} +`, acctest.RandInt(), acctest.RandInt(), acctest.RandInt(), acctest.RandInt(), acctest.RandString(10)) diff --git a/builtin/providers/aws/resource_aws_elasticache_replication_group.go b/builtin/providers/aws/resource_aws_elasticache_replication_group.go index 06f1dfe2d6d9..55af378ba6f2 100644 --- a/builtin/providers/aws/resource_aws_elasticache_replication_group.go +++ b/builtin/providers/aws/resource_aws_elasticache_replication_group.go @@ -3,6 +3,8 @@ package aws import ( "fmt" "log" + "regexp" + "strings" "time" "github.com/aws/aws-sdk-go/aws" @@ -12,171 +14,273 @@ import ( "github.com/hashicorp/terraform/helper/schema" ) +func resourceAwsElasticacheReplicationGroupCommon() map[string]*schema.Schema { + + resourceSchema := resourceAwsElastiCacheCommonSchema() + + resourceSchema["replication_group_id"] = &schema.Schema{ + Type: schema.TypeString, + Required: true, + ForceNew: true, + ValidateFunc: validateAwsElastiCacheReplicationGroupId, + } + + resourceSchema["replication_group_description"] = &schema.Schema{ + Type: schema.TypeString, + Optional: true, + } + + resourceSchema["description"] = &schema.Schema{ + Type: schema.TypeString, + Optional: true, + } + + resourceSchema["auto_minor_version_upgrade"] = &schema.Schema{ + Type: schema.TypeBool, + Optional: true, + Default: false, + } + + resourceSchema["engine"].Required = false + resourceSchema["engine"].Optional = true + resourceSchema["engine"].Default = "redis" + resourceSchema["engine"].ValidateFunc = validateAwsElastiCacheReplicationGroupEngine + + return resourceSchema +} + func resourceAwsElasticacheReplicationGroup() *schema.Resource { + + resourceSchema := resourceAwsElasticacheReplicationGroupCommon() + + resourceSchema["number_cache_clusters"] = &schema.Schema{ + Type: schema.TypeInt, + Optional: true, + ForceNew: true, + ValidateFunc: validateAwsElastiCacheReplicationGroupNumCacheClusters, + } + + // legacy + resourceSchema["num_cache_clusters"] = &schema.Schema{ + Type: schema.TypeInt, + Optional: true, + ForceNew: true, + ValidateFunc: validateAwsElastiCacheReplicationGroupNumCacheClusters, + } + + resourceSchema["automatic_failover_enabled"] = &schema.Schema{ + Type: schema.TypeBool, + Optional: true, + Default: false, + } + + // legacy + resourceSchema["automatic_failover"] = &schema.Schema{ + Type: schema.TypeBool, + Optional: true, + Default: false, + } + + resourceSchema["primary_endpoint_address"] = &schema.Schema{ + Type: schema.TypeString, + Computed: true, + } + + // legacy + resourceSchema["primary_endpoint"] = &schema.Schema{ + Type: schema.TypeString, + Computed: true, + } + + resourceSchema["configuration_endpoint_address"] = &schema.Schema{ + Type: schema.TypeString, + Computed: true, + } + return &schema.Resource{ Create: resourceAwsElasticacheReplicationGroupCreate, Read: resourceAwsElasticacheReplicationGroupRead, Update: resourceAwsElasticacheReplicationGroupUpdate, Delete: resourceAwsElasticacheReplicationGroupDelete, - Schema: map[string]*schema.Schema{ - "replication_group_id": &schema.Schema{ - Type: schema.TypeString, - Required: true, - ForceNew: true, - }, - "description": &schema.Schema{ - Type: schema.TypeString, - Required: true, - }, - "cache_node_type": &schema.Schema{ - Type: schema.TypeString, - Optional: true, - ForceNew: true, - }, - "automatic_failover": &schema.Schema{ - Type: schema.TypeBool, - Optional: true, - }, - "num_cache_clusters": &schema.Schema{ - Type: schema.TypeInt, - Optional: true, - ForceNew: true, - }, - "primary_cluster_id": &schema.Schema{ - Type: schema.TypeString, - Optional: true, - ForceNew: true, - }, - "parameter_group_name": &schema.Schema{ - Type: schema.TypeString, - Optional: true, - }, - "subnet_group_name": &schema.Schema{ - Type: schema.TypeString, - Optional: true, - ForceNew: true, - }, - "security_group_names": &schema.Schema{ - Type: schema.TypeSet, - Optional: true, - Computed: true, - Elem: &schema.Schema{Type: schema.TypeString}, - Set: schema.HashString, - }, - "security_group_ids": &schema.Schema{ - Type: schema.TypeSet, - Optional: true, - Computed: true, - Elem: &schema.Schema{Type: schema.TypeString}, - Set: schema.HashString, - }, - "engine": &schema.Schema{ - Type: schema.TypeString, - Optional: true, - ForceNew: true, - Default: "redis", - }, - "engine_version": &schema.Schema{ - Type: schema.TypeString, - Optional: true, - }, - "primary_endpoint": &schema.Schema{ - Type: schema.TypeString, - Computed: true, - }, - "preferred_cache_cluster_azs": &schema.Schema{ - Type: schema.TypeSet, - Optional: true, - ForceNew: true, - Elem: &schema.Schema{Type: schema.TypeString}, - Set: schema.HashString, - }, - }, + Schema: resourceSchema, } } -func resourceAwsElasticacheReplicationGroupCreate(d *schema.ResourceData, meta interface{}) error { - conn := meta.(*AWSClient).elasticacheconn +func resourceAwsElasticacheReplicationGroupCreateSetup(d *schema.ResourceData, meta interface{}) (*elasticache.CreateReplicationGroupInput, error) { + + var node_type *string + var description *string + var replication_group_id *string + + if v, ok := d.GetOk("node_type"); ok { + node_type = aws.String(v.(string)) + } else if v, ok := d.GetOk("cache_node_type"); ok { + node_type = aws.String(v.(string)) + } + + if *node_type == "" { + return nil, fmt.Errorf("node_type is required") + } + + if v, ok := d.GetOk("replication_group_id"); ok { + replication_group_id = aws.String(v.(string)) + } else if v, ok := d.GetOk("cluster_name"); ok { + replication_group_id = aws.String(v.(string)) + } else { + return nil, fmt.Errorf("replication_group_id is required") + } + + if v, ok := d.GetOk("replication_group_description"); ok { + description = aws.String(v.(string)) + } else if v, ok := d.GetOk("description"); ok { + description = aws.String(v.(string)) + } else { + return nil, fmt.Errorf("replication_group_description is required") + } + + tags := tagsFromMapEC(d.Get("tags").(map[string]interface{})) + params := &elasticache.CreateReplicationGroupInput{ + ReplicationGroupId: replication_group_id, + ReplicationGroupDescription: description, + AutoMinorVersionUpgrade: aws.Bool(d.Get("auto_minor_version_upgrade").(bool)), + CacheNodeType: node_type, + Engine: aws.String(d.Get("engine").(string)), + Tags: tags, + } + + if v, ok := d.GetOk("port"); ok && v.(int) != 0 { + params.Port = aws.Int64(int64(v.(int))) // e.g) 11211 + } else { + params.Port = aws.Int64(int64(6379)) + } + + if v, ok := d.GetOk("engine_version"); ok { + params.EngineVersion = aws.String(v.(string)) + } + + if v, ok := d.GetOk("automatic_failover_enabled"); ok { + params.AutomaticFailoverEnabled = aws.Bool(v.(bool)) + } else if v, ok := d.GetOk("automatic_failover"); ok { + params.AutomaticFailoverEnabled = aws.Bool(v.(bool)) + } + + preferred_azs := d.Get("availability_zones").(*schema.Set).List() + if len(preferred_azs) == 0 { + preferred_azs = d.Get("preferred_cache_cluster_azs").(*schema.Set).List() + } + + if len(preferred_azs) > 0 { + azs := expandStringList(preferred_azs) + params.PreferredCacheClusterAZs = azs + } - replicationGroupID := d.Get("replication_group_id").(string) - description := d.Get("description").(string) - cacheNodeType := d.Get("cache_node_type").(string) - automaticFailover := d.Get("automatic_failover").(bool) - numCacheClusters := d.Get("num_cache_clusters").(int) - primaryClusterID := d.Get("primary_cluster_id").(string) - engine := d.Get("engine").(string) - engineVersion := d.Get("engine_version").(string) - securityNameSet := d.Get("security_group_names").(*schema.Set) - securityIDSet := d.Get("security_group_ids").(*schema.Set) - subnetGroupName := d.Get("subnet_group_name").(string) - prefferedCacheClusterAZs := d.Get("preferred_cache_cluster_azs").(*schema.Set) - - securityNames := expandStringList(securityNameSet.List()) - securityIds := expandStringList(securityIDSet.List()) - prefferedAZs := expandStringList(prefferedCacheClusterAZs.List()) - - req := &elasticache.CreateReplicationGroupInput{ - ReplicationGroupId: aws.String(replicationGroupID), - ReplicationGroupDescription: aws.String(description), - CacheNodeType: aws.String(cacheNodeType), - AutomaticFailoverEnabled: aws.Bool(automaticFailover), - NumCacheClusters: aws.Int64(int64(numCacheClusters)), - PrimaryClusterId: aws.String(primaryClusterID), - Engine: aws.String(engine), - CacheSubnetGroupName: aws.String(subnetGroupName), - EngineVersion: aws.String(engineVersion), - CacheSecurityGroupNames: securityNames, - SecurityGroupIds: securityIds, - PreferredCacheClusterAZs: prefferedAZs, - } - - // parameter groups are optional and can be defaulted by AWS if v, ok := d.GetOk("parameter_group_name"); ok { - req.CacheParameterGroupName = aws.String(v.(string)) + params.CacheParameterGroupName = aws.String(v.(string)) + } + + if v, ok := d.GetOk("subnet_group_name"); ok { + params.CacheSubnetGroupName = aws.String(v.(string)) + } + + security_group_names := d.Get("security_group_names").(*schema.Set).List() + if len(security_group_names) > 0 { + params.CacheSecurityGroupNames = expandStringList(security_group_names) + } + + security_group_ids := d.Get("security_group_ids").(*schema.Set).List() + if len(security_group_ids) > 0 { + params.SecurityGroupIds = expandStringList(security_group_ids) + } + + snaps := d.Get("snapshot_arns").(*schema.Set).List() + if len(snaps) > 0 { + params.SnapshotArns = expandStringList(snaps) } if v, ok := d.GetOk("maintenance_window"); ok { - req.PreferredMaintenanceWindow = aws.String(v.(string)) + params.PreferredMaintenanceWindow = aws.String(v.(string)) } - _, err := conn.CreateReplicationGroup(req) + if v, ok := d.GetOk("notification_topic_arn"); ok { + params.NotificationTopicArn = aws.String(v.(string)) + } + + if v, ok := d.GetOk("snapshot_retention_limit"); ok { + params.SnapshotRetentionLimit = aws.Int64(int64(v.(int))) + } + + if v, ok := d.GetOk("snapshot_window"); ok { + params.SnapshotWindow = aws.String(v.(string)) + } + + if v, ok := d.GetOk("snapshot_name"); ok { + params.SnapshotName = aws.String(v.(string)) + } + + return params, nil +} + +func resourceAwsElasticacheReplicationGroupCreateCommon(d *schema.ResourceData, meta interface{}, params *elasticache.CreateReplicationGroupInput) error { + conn := meta.(*AWSClient).elasticacheconn + + resp, err := conn.CreateReplicationGroup(params) if err != nil { - return fmt.Errorf("Error creating Elasticache replication group: %s", err) + return fmt.Errorf("Error creating Elasticache Replication Group: %s", err) } - d.SetId(replicationGroupID) + d.SetId(*resp.ReplicationGroup.ReplicationGroupId) - pending := []string{"creating"} + pending := []string{"creating", "modifying", "restoring"} stateConf := &resource.StateChangeConf{ Pending: pending, Target: []string{"available"}, - Refresh: replicationGroupStateRefreshFunc(conn, d.Id(), "available", pending), - Timeout: 60 * time.Minute, - Delay: 20 * time.Second, - MinTimeout: 5 * time.Second, + Refresh: cacheReplicationGroupStateRefreshFunc(conn, d.Id(), "available", pending), + Timeout: 40 * time.Minute, + MinTimeout: 10 * time.Second, + Delay: 30 * time.Second, } log.Printf("[DEBUG] Waiting for state to become available: %v", d.Id()) _, sterr := stateConf.WaitForState() if sterr != nil { - return fmt.Errorf("Error waiting for elasticache (%s) to be created: %s", d.Id(), sterr) + return fmt.Errorf("Error waiting for elasticache replication group (%s) to be created: %s", d.Id(), sterr) } return resourceAwsElasticacheReplicationGroupRead(d, meta) } +func resourceAwsElasticacheReplicationGroupCreate(d *schema.ResourceData, meta interface{}) error { + var number_cache_clusters int64 + + params, err := resourceAwsElasticacheReplicationGroupCreateSetup(d, meta) + if err != nil { + return err + } + + if v, ok := d.GetOk("number_cache_clusters"); ok { + number_cache_clusters = int64(v.(int)) + } else if v, ok := d.GetOk("num_cache_clusters"); ok { + number_cache_clusters = int64(v.(int)) + } + + if number_cache_clusters != 0 { + params.NumCacheClusters = aws.Int64(number_cache_clusters) + } + + return resourceAwsElasticacheReplicationGroupCreateCommon(d, meta, params) +} + func resourceAwsElasticacheReplicationGroupRead(d *schema.ResourceData, meta interface{}) error { conn := meta.(*AWSClient).elasticacheconn - req := &elasticache.DescribeReplicationGroupsInput{ ReplicationGroupId: aws.String(d.Id()), } res, err := conn.DescribeReplicationGroups(req) if err != nil { - if ec2err, ok := err.(awserr.Error); ok && ec2err.Code() == "ReplicationGroupNotFoundFault" { - // Update state to indicate the replication group no longer exists. + if eccErr, ok := err.(awserr.Error); ok && eccErr.Code() == "ReplicationGroupNotFoundFault" { + log.Printf("[WARN] Elasticache Replication Group (%s) not found", d.Id()) d.SetId("") return nil } @@ -184,63 +288,204 @@ func resourceAwsElasticacheReplicationGroupRead(d *schema.ResourceData, meta int return err } - if len(res.ReplicationGroups) == 1 { - c := res.ReplicationGroups[0] - if *c.Status != "available" { + var rgp *elasticache.ReplicationGroup + for _, r := range res.ReplicationGroups { + if *r.ReplicationGroupId == d.Id() { + rgp = r + } + } + + if rgp == nil { + log.Printf("[WARN] Replication Group (%s) not found", d.Id()) + d.SetId("") + return nil + } + + if *rgp.Status == "deleting" { + log.Printf("[WARN] The Replication Group %q is currently in the `deleting` state", d.Id()) + d.SetId("") + return nil + } + + if rgp.AutomaticFailover != nil { + switch strings.ToLower(*rgp.AutomaticFailover) { + case "disabled", "disabling": + d.Set("automatic_failover_enabled", false) + case "enabled", "enabling": + d.Set("automatic_failover_enabled", true) + default: + log.Printf("Unknown AutomaticFailover state %s", *rgp.AutomaticFailover) + } + } + + d.Set("replication_group_description", rgp.Description) + d.Set("number_cache_clusters", len(rgp.MemberClusters)) + d.Set("replication_group_id", rgp.ReplicationGroupId) + + if rgp.NodeGroups != nil { + cacheCluster := *rgp.NodeGroups[0].NodeGroupMembers[0] + + res, err := conn.DescribeCacheClusters(&elasticache.DescribeCacheClustersInput{ + CacheClusterId: cacheCluster.CacheClusterId, + ShowCacheNodeInfo: aws.Bool(true), + }) + if err != nil { + return err + } + + if len(res.CacheClusters) == 0 { return nil } - d.Set("replication_group_id", c.ReplicationGroupId) - d.Set("description", c.Description) - d.Set("automatic_failover", c.AutomaticFailover) - d.Set("num_cache_clusters", len(c.MemberClusters)) - if len(c.NodeGroups) >= 1 && c.NodeGroups[0].PrimaryEndpoint != nil { - d.Set("primary_endpoint", c.NodeGroups[0].PrimaryEndpoint.Address) + + c := res.CacheClusters[0] + d.Set("node_type", c.CacheNodeType) + d.Set("engine", c.Engine) + d.Set("engine_version", c.EngineVersion) + d.Set("subnet_group_name", c.CacheSubnetGroupName) + d.Set("security_group_names", flattenElastiCacheSecurityGroupNames(c.CacheSecurityGroups)) + d.Set("security_group_ids", flattenElastiCacheSecurityGroupIds(c.SecurityGroups)) + + if c.CacheParameterGroup != nil { + d.Set("parameter_group_name", c.CacheParameterGroup.CacheParameterGroupName) + } + + d.Set("maintenance_window", c.PreferredMaintenanceWindow) + d.Set("snapshot_window", rgp.SnapshotWindow) + d.Set("snapshot_retention_limit", rgp.SnapshotRetentionLimit) + + if rgp.ConfigurationEndpoint != nil { + d.Set("port", rgp.ConfigurationEndpoint.Port) + d.Set("configuration_endpoint_address", rgp.ConfigurationEndpoint.Address) + } else { + d.Set("port", rgp.NodeGroups[0].PrimaryEndpoint.Port) + d.Set("primary_endpoint_address", rgp.NodeGroups[0].PrimaryEndpoint.Address) + d.Set("primary_endpoint", rgp.NodeGroups[0].PrimaryEndpoint.Address) } + + d.Set("auto_minor_version_upgrade", c.AutoMinorVersionUpgrade) } return nil } func resourceAwsElasticacheReplicationGroupUpdate(d *schema.ResourceData, meta interface{}) error { + var description *string + var replication_group_description *string + conn := meta.(*AWSClient).elasticacheconn - req := &elasticache.ModifyReplicationGroupInput{ - ApplyImmediately: aws.Bool(true), + requestUpdate := false + params := &elasticache.ModifyReplicationGroupInput{ + ApplyImmediately: aws.Bool(d.Get("apply_immediately").(bool)), ReplicationGroupId: aws.String(d.Id()), } - if d.HasChange("automatic_failover") { - automaticFailover := d.Get("automatic_failover").(bool) - req.AutomaticFailoverEnabled = aws.Bool(automaticFailover) + if d.HasChange("description") { + description = aws.String(d.Get("description").(string)) + } else if d.HasChange("replication_group_description") { + replication_group_description = aws.String(d.Get("replication_group_description").(string)) } - if d.HasChange("description") { - description := d.Get("description").(string) - req.ReplicationGroupDescription = aws.String(description) + if replication_group_description != nil { + params.ReplicationGroupDescription = replication_group_description + requestUpdate = true + } else if (description != nil && replication_group_description != nil && *description != *replication_group_description) || + // Legacy: Fallback to description + description != nil { + params.ReplicationGroupDescription = description + requestUpdate = true } - if d.HasChange("engine_version") { - engineVersion := d.Get("engine_version").(string) - req.EngineVersion = aws.String(engineVersion) + if d.HasChange("automatic_failover") { + params.AutomaticFailoverEnabled = aws.Bool(d.Get("automatic_failover").(bool)) + requestUpdate = true + } else if d.HasChange("automatic_failover_enabled") { + params.AutomaticFailoverEnabled = aws.Bool(d.Get("automatic_failover_enabled").(bool)) + requestUpdate = true + } + + if d.HasChange("auto_minor_version_upgrade") { + params.AutoMinorVersionUpgrade = aws.Bool(d.Get("auto_minor_version_upgrade").(bool)) + requestUpdate = true } if d.HasChange("security_group_ids") { - securityIDSet := d.Get("security_group_ids").(*schema.Set) - securityIds := expandStringList(securityIDSet.List()) - req.SecurityGroupIds = securityIds + if attr := d.Get("security_group_ids").(*schema.Set); attr.Len() > 0 { + params.SecurityGroupIds = expandStringList(attr.List()) + requestUpdate = true + } } if d.HasChange("security_group_names") { - securityNameSet := d.Get("security_group_names").(*schema.Set) - securityNames := expandStringList(securityNameSet.List()) - req.CacheSecurityGroupNames = securityNames + if attr := d.Get("security_group_names").(*schema.Set); attr.Len() > 0 { + params.CacheSecurityGroupNames = expandStringList(attr.List()) + requestUpdate = true + } } - _, err := conn.ModifyReplicationGroup(req) - if err != nil { - return fmt.Errorf("Error updating Elasticache replication group: %s", err) + if d.HasChange("preferred_maintenance_window") { + params.PreferredMaintenanceWindow = aws.String(d.Get("preferred_maintenance_window").(string)) + requestUpdate = true + } + + if d.HasChange("notification_topic_arn") { + params.NotificationTopicArn = aws.String(d.Get("notification_topic_arn").(string)) + requestUpdate = true } + if d.HasChange("parameter_group_name") { + params.CacheParameterGroupName = aws.String(d.Get("parameter_group_name").(string)) + requestUpdate = true + } + + if d.HasChange("engine_version") { + params.EngineVersion = aws.String(d.Get("engine_version").(string)) + requestUpdate = true + } + + if d.HasChange("snapshot_retention_limit") { + params.SnapshotRetentionLimit = aws.Int64(int64(d.Get("snapshot_retention_limit").(int))) + requestUpdate = true + } + + if d.HasChange("snapshot_window") { + params.SnapshotWindow = aws.String(d.Get("snapshot_window").(string)) + requestUpdate = true + } + + if d.HasChange("cache_node_type") { + params.CacheNodeType = aws.String(d.Get("cache_node_type").(string)) + requestUpdate = true + } else if d.HasChange("node_type") { + node_type := d.Get("node_type").(string) + if node_type != "" { + params.CacheNodeType = aws.String(node_type) + requestUpdate = true + } + } + + if requestUpdate { + _, err := conn.ModifyReplicationGroup(params) + if err != nil { + return fmt.Errorf("Error updating Elasticache replication group: %s", err) + } + + pending := []string{"creating", "modifying", "snapshotting"} + stateConf := &resource.StateChangeConf{ + Pending: pending, + Target: []string{"available"}, + Refresh: cacheReplicationGroupStateRefreshFunc(conn, d.Id(), "available", pending), + Timeout: 40 * time.Minute, + MinTimeout: 10 * time.Second, + Delay: 30 * time.Second, + } + + log.Printf("[DEBUG] Waiting for state to become available: %v", d.Id()) + _, sterr := stateConf.WaitForState() + if sterr != nil { + return fmt.Errorf("Error waiting for elasticache replication group (%s) to be created: %s", d.Id(), sterr) + } + } return resourceAwsElasticacheReplicationGroupRead(d, meta) } @@ -254,7 +499,6 @@ func resourceAwsElasticacheReplicationGroupDelete(d *schema.ResourceData, meta i _, err := conn.DeleteReplicationGroup(req) if err != nil { if ec2err, ok := err.(awserr.Error); ok && ec2err.Code() == "ReplicationGroupNotFoundFault" { - // Update state to indicate the replication group no longer exists. d.SetId("") return nil } @@ -265,11 +509,11 @@ func resourceAwsElasticacheReplicationGroupDelete(d *schema.ResourceData, meta i log.Printf("[DEBUG] Waiting for deletion: %v", d.Id()) stateConf := &resource.StateChangeConf{ Pending: []string{"creating", "available", "deleting"}, - Target: []string{""}, - Refresh: replicationGroupStateRefreshFunc(conn, d.Id(), "", []string{}), - Timeout: 15 * time.Minute, - Delay: 20 * time.Second, - MinTimeout: 5 * time.Second, + Target: []string{}, + Refresh: cacheReplicationGroupStateRefreshFunc(conn, d.Id(), "", []string{}), + Timeout: 40 * time.Minute, + MinTimeout: 10 * time.Second, + Delay: 30 * time.Second, } _, sterr := stateConf.WaitForState() @@ -280,43 +524,90 @@ func resourceAwsElasticacheReplicationGroupDelete(d *schema.ResourceData, meta i return nil } -func replicationGroupStateRefreshFunc(conn *elasticache.ElastiCache, replicationGroupID, givenState string, pending []string) resource.StateRefreshFunc { +func cacheReplicationGroupStateRefreshFunc(conn *elasticache.ElastiCache, replicationGroupId, givenState string, pending []string) resource.StateRefreshFunc { return func() (interface{}, string, error) { resp, err := conn.DescribeReplicationGroups(&elasticache.DescribeReplicationGroupsInput{ - ReplicationGroupId: aws.String(replicationGroupID), + ReplicationGroupId: aws.String(replicationGroupId), }) if err != nil { - ec2err, ok := err.(awserr.Error) - - if ok { - log.Printf("[DEBUG] message: %v, code: %v", ec2err.Message(), ec2err.Code()) - if ec2err.Code() == "ReplicationGroupNotFoundFault" { - log.Printf("[DEBUG] Detect deletion") - return nil, "", nil - } + if eccErr, ok := err.(awserr.Error); ok && eccErr.Code() == "ReplicationGroupNotFoundFault" { + log.Printf("[DEBUG] Replication Group Not Found") + return nil, "", nil } - log.Printf("[ERROR] replicationGroupStateRefreshFunc: %s", err) + log.Printf("[ERROR] cacheClusterReplicationGroupStateRefreshFunc: %s", err) return nil, "", err } - c := resp.ReplicationGroups[0] - log.Printf("[DEBUG] status: %v", *c.Status) + if len(resp.ReplicationGroups) == 0 { + return nil, "", fmt.Errorf("[WARN] Error: no Cache Replication Groups found for id (%s)", replicationGroupId) + } + + var rg *elasticache.ReplicationGroup + for _, replicationGroup := range resp.ReplicationGroups { + if *replicationGroup.ReplicationGroupId == replicationGroupId { + log.Printf("[DEBUG] Found matching ElastiCache Replication Group: %s", *replicationGroup.ReplicationGroupId) + rg = replicationGroup + } + } + + if rg == nil { + return nil, "", fmt.Errorf("[WARN] Error: no matching ElastiCache Replication Group for id (%s)", replicationGroupId) + } + + log.Printf("[DEBUG] ElastiCache Replication Group (%s) status: %v", replicationGroupId, *rg.Status) // return the current state if it's in the pending array for _, p := range pending { - s := *c.Status + log.Printf("[DEBUG] ElastiCache: checking pending state (%s) for Replication Group (%s), Replication Group status: %s", pending, replicationGroupId, *rg.Status) + s := *rg.Status if p == s { - log.Printf("[DEBUG] Return with status: %v", *c.Status) - return c, p, nil + log.Printf("[DEBUG] Return with status: %v", *rg.Status) + return s, p, nil } } - // return given state if it's not in pending - if givenState != "" { - return c, givenState, nil - } - log.Printf("[DEBUG] current status: %v", *c.Status) - return c, *c.Status, nil + return rg, *rg.Status, nil + } +} + +func validateAwsElastiCacheReplicationGroupEngine(v interface{}, k string) (ws []string, errors []error) { + if strings.ToLower(v.(string)) != "redis" { + errors = append(errors, fmt.Errorf("The only acceptable Engine type when using Replication Groups is Redis")) + } + return +} + +func validateAwsElastiCacheReplicationGroupId(v interface{}, k string) (ws []string, errors []error) { + value := v.(string) + if (len(value) < 1) || (len(value) > 16) { + errors = append(errors, fmt.Errorf( + "%q must contain from 1 to 16 alphanumeric characters or hyphens got %q", k, value)) + } + if !regexp.MustCompile(`^[0-9a-zA-Z-]+$`).MatchString(value) { + errors = append(errors, fmt.Errorf( + "only alphanumeric characters and hyphens allowed in %q", k)) + } + if !regexp.MustCompile(`^[a-z]`).MatchString(value) { + errors = append(errors, fmt.Errorf( + "first character of %q must be a letter", k)) + } + if regexp.MustCompile(`--`).MatchString(value) { + errors = append(errors, fmt.Errorf( + "%q cannot contain two consecutive hyphens", k)) + } + if regexp.MustCompile(`-$`).MatchString(value) { + errors = append(errors, fmt.Errorf( + "%q cannot end with a hyphen", k)) + } + return +} + +func validateAwsElastiCacheReplicationGroupNumCacheClusters(v interface{}, k string) (ws []string, es []error) { + value := v.(int) + if value < 1 || value > 5 { + es = append(es, fmt.Errorf( + "number_cache_clusters must be within 0 and 5.")) } + return } diff --git a/builtin/providers/aws/resource_aws_elasticache_replication_group_redis_cluster_test.go b/builtin/providers/aws/resource_aws_elasticache_replication_group_redis_cluster_test.go new file mode 100644 index 000000000000..ed2b14e8ff3e --- /dev/null +++ b/builtin/providers/aws/resource_aws_elasticache_replication_group_redis_cluster_test.go @@ -0,0 +1,100 @@ +package aws + +import ( + "fmt" + "testing" + + "github.com/aws/aws-sdk-go/service/elasticache" + "github.com/hashicorp/terraform/helper/acctest" + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccAWSElasticacheReplicationGroupNativeRedisCluster_vpc(t *testing.T) { + var rg elasticache.ReplicationGroup + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckAWSElasticacheReplicationDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: testAccAWSElasticacheReplicationGroupNativeRedisClusterConfig, + Check: resource.ComposeTestCheckFunc( + testAccCheckAWSElasticacheReplicationGroupExists("aws_elasticache_replication_group_redis_cluster.bar", &rg), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group_redis_cluster.bar", "number_cache_clusters", "4"), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group_redis_cluster.bar", "replicas_per_node_group", "1"), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group_redis_cluster.bar", "num_node_groups", "2"), + resource.TestCheckResourceAttrSet("aws_elasticache_replication_group_redis_cluster.bar", "endpoint_address"), + ), + }, + }, + }) +} + +var testAccAWSElasticacheReplicationGroupNativeRedisClusterConfig = fmt.Sprintf(` +provider "aws" { + region = "us-west-2" +} + +resource "aws_vpc" "foo" { + cidr_block = "192.168.0.0/16" + tags { + Name = "tf-test" + } +} + +resource "aws_subnet" "foo" { + vpc_id = "${aws_vpc.foo.id}" + cidr_block = "192.168.0.0/20" + availability_zone = "us-west-2a" + tags { + Name = "tf-test-%03d" + } +} + +resource "aws_subnet" "bar" { + vpc_id = "${aws_vpc.foo.id}" + cidr_block = "192.168.16.0/20" + availability_zone = "us-west-2b" + tags { + Name = "tf-test-%03d" + } +} + +resource "aws_elasticache_subnet_group" "bar" { + name = "tf-test-cache-subnet-%03d" + description = "tf-test-cache-subnet-group-descr" + subnet_ids = [ + "${aws_subnet.foo.id}", + "${aws_subnet.bar.id}" + ] +} + +resource "aws_security_group" "bar" { + name = "tf-test-security-group-%03d" + description = "tf-test-security-group-descr" + vpc_id = "${aws_vpc.foo.id}" + ingress { + from_port = -1 + to_port = -1 + protocol = "icmp" + cidr_blocks = ["0.0.0.0/0"] + } +} + +resource "aws_elasticache_replication_group_redis_cluster" "bar" { + replication_group_id = "tf-%s" + replication_group_description = "test description" + node_type = "cache.m1.small" + port = 6379 + subnet_group_name = "${aws_elasticache_subnet_group.bar.name}" + security_group_ids = ["${aws_security_group.bar.id}"] + parameter_group_name = "default.redis3.2.cluster.on" + replicas_per_node_group = 1 + num_node_groups = 2 + +} +`, acctest.RandInt(), acctest.RandInt(), acctest.RandInt(), acctest.RandInt(), acctest.RandString(10)) diff --git a/builtin/providers/aws/resource_aws_elasticache_replication_group_test.go b/builtin/providers/aws/resource_aws_elasticache_replication_group_test.go index bffd710fdd1f..c432bb80ee80 100644 --- a/builtin/providers/aws/resource_aws_elasticache_replication_group_test.go +++ b/builtin/providers/aws/resource_aws_elasticache_replication_group_test.go @@ -2,83 +2,746 @@ package aws import ( "fmt" - "log" "testing" "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/service/elasticache" + "github.com/hashicorp/terraform/helper/acctest" "github.com/hashicorp/terraform/helper/resource" "github.com/hashicorp/terraform/terraform" - "github.com/hashicorp/terraform/helper/acctest" - ) -func TestAccAWSEcacheReplicationGroup(t *testing.T) { +func TestAccAWSElasticacheReplicationGroup_basic(t *testing.T) { + var rg elasticache.ReplicationGroup + resource.Test(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, Providers: testAccProviders, - CheckDestroy: testAccCheckAWSEcacheReplicationGroupDestroy, + CheckDestroy: testAccCheckAWSElasticacheReplicationDestroy, Steps: []resource.TestStep{ resource.TestStep{ - Config: testAccAWSEcacheReplicationGroupConfig, + Config: testAccAWSElasticacheReplicationGroupConfig(acctest.RandString(10)), Check: resource.ComposeTestCheckFunc( - testAccCheckAWSEcacheReplicationGroupExists("aws_elasticache_replication_group.bar"), + testAccCheckAWSElasticacheReplicationGroupExists("aws_elasticache_replication_group.bar", &rg), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "number_cache_clusters", "2"), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "auto_minor_version_upgrade", "false"), ), }, }, }) } -func testAccCheckAWSEcacheReplicationGroupDestroy(s *terraform.State) error { - conn := testAccProvider.Meta().(*AWSClient).elasticacheconn +func TestAccAWSElasticacheReplicationGroup_updateDescription(t *testing.T) { + var rg elasticache.ReplicationGroup + rName := acctest.RandString(10) + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckAWSElasticacheReplicationDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: testAccAWSElasticacheReplicationGroupConfig(rName), + Check: resource.ComposeTestCheckFunc( + testAccCheckAWSElasticacheReplicationGroupExists("aws_elasticache_replication_group.bar", &rg), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "number_cache_clusters", "2"), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "replication_group_description", "test description"), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "auto_minor_version_upgrade", "false"), + ), + }, - for _, rs := range s.RootModule().Resources { - if rs.Type != "aws_elasticache_replication_group" { - continue - } - res, err := conn.DescribeReplicationGroups(&elasticache.DescribeReplicationGroupsInput{ - ReplicationGroupId: aws.String(rs.Primary.ID), - }) - if err != nil { - return err + resource.TestStep{ + Config: testAccAWSElasticacheReplicationGroupConfigUpdatedDescription(rName), + Check: resource.ComposeTestCheckFunc( + testAccCheckAWSElasticacheReplicationGroupExists("aws_elasticache_replication_group.bar", &rg), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "number_cache_clusters", "2"), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "replication_group_description", "updated description"), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "auto_minor_version_upgrade", "true"), + ), + }, + }, + }) +} + +func TestAccAWSElasticacheReplicationGroup_updateNodeSize(t *testing.T) { + var rg elasticache.ReplicationGroup + rName := acctest.RandString(10) + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckAWSElasticacheReplicationDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: testAccAWSElasticacheReplicationGroupConfig(rName), + Check: resource.ComposeTestCheckFunc( + testAccCheckAWSElasticacheReplicationGroupExists("aws_elasticache_replication_group.bar", &rg), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "number_cache_clusters", "2"), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "node_type", "cache.m1.small"), + ), + }, + + resource.TestStep{ + Config: testAccAWSElasticacheReplicationGroupConfigUpdatedNodeSize(rName), + Check: resource.ComposeTestCheckFunc( + testAccCheckAWSElasticacheReplicationGroupExists("aws_elasticache_replication_group.bar", &rg), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "number_cache_clusters", "2"), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "node_type", "cache.m1.medium"), + ), + }, + }, + }) +} + +//This is a test to prove that we panic we get in https://github.com/hashicorp/terraform/issues/9097 +func TestAccAWSElasticacheReplicationGroup_updateParameterGroup(t *testing.T) { + var rg elasticache.ReplicationGroup + rName := acctest.RandString(10) + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckAWSElasticacheReplicationDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: testAccAWSElasticacheReplicationGroupConfig(rName), + Check: resource.ComposeTestCheckFunc( + testAccCheckAWSElasticacheReplicationGroupExists("aws_elasticache_replication_group.bar", &rg), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "parameter_group_name", "default.redis3.2"), + ), + }, + + resource.TestStep{ + Config: testAccAWSElasticacheReplicationGroupConfigUpdatedParameterGroup(rName), + Check: resource.ComposeTestCheckFunc( + testAccCheckAWSElasticacheReplicationGroupExists("aws_elasticache_replication_group.bar", &rg), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "parameter_group_name", "allkeys-lru"), + ), + }, + }, + }) +} + +func TestAccAWSElasticacheReplicationGroup_vpc(t *testing.T) { + var rg elasticache.ReplicationGroup + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckAWSElasticacheReplicationDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: testAccAWSElasticacheReplicationGroupInVPCConfig, + Check: resource.ComposeTestCheckFunc( + testAccCheckAWSElasticacheReplicationGroupExists("aws_elasticache_replication_group.bar", &rg), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "number_cache_clusters", "1"), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "auto_minor_version_upgrade", "false"), + ), + }, + }, + }) +} + +func TestAccAWSElasticacheReplicationGroup_multiAzInVpc(t *testing.T) { + var rg elasticache.ReplicationGroup + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckAWSElasticacheReplicationDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: testAccAWSElasticacheReplicationGroupMultiAZInVPCConfig, + Check: resource.ComposeTestCheckFunc( + testAccCheckAWSElasticacheReplicationGroupExists("aws_elasticache_replication_group.bar", &rg), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "number_cache_clusters", "2"), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "automatic_failover_enabled", "true"), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "snapshot_window", "02:00-03:00"), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "snapshot_retention_limit", "7"), + resource.TestCheckResourceAttrSet( + "aws_elasticache_replication_group.bar", "primary_endpoint_address"), + ), + }, + }, + }) +} + +func TestAccAWSElasticacheReplicationGroup_multiAzInVpcLegacy(t *testing.T) { + var rg elasticache.ReplicationGroup + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckAWSElasticacheReplicationDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: testAccAWSElasticacheReplicationGroupMultiAZInVPCConfigLegacy, + Check: resource.ComposeTestCheckFunc( + testAccCheckAWSElasticacheReplicationGroupExists("aws_elasticache_replication_group.bar", &rg), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "num_cache_clusters", "2"), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "automatic_failover", "true"), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "snapshot_window", "02:00-03:00"), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "snapshot_retention_limit", "7"), + resource.TestCheckResourceAttrSet( + "aws_elasticache_replication_group.bar", "primary_endpoint_address"), + ), + }, + }, + }) +} + +func TestAccAWSElasticacheReplicationGroup_redisClusterInVpc2(t *testing.T) { + var rg elasticache.ReplicationGroup + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckAWSElasticacheReplicationDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: testAccAWSElasticacheReplicationGroupRedisClusterInVPCConfig, + Check: resource.ComposeTestCheckFunc( + testAccCheckAWSElasticacheReplicationGroupExists("aws_elasticache_replication_group.bar", &rg), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "number_cache_clusters", "2"), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "automatic_failover_enabled", "true"), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "snapshot_window", "02:00-03:00"), + resource.TestCheckResourceAttr( + "aws_elasticache_replication_group.bar", "snapshot_retention_limit", "7"), + resource.TestCheckResourceAttrSet( + "aws_elasticache_replication_group.bar", "configuration_endpoint_address"), + ), + }, + }, + }) +} + +func TestResourceAWSElastiCacheReplicationGroupIdValidation(t *testing.T) { + cases := []struct { + Value string + ErrCount int + }{ + { + Value: "tEsting", + ErrCount: 0, + }, + { + Value: "t.sting", + ErrCount: 1, + }, + { + Value: "t--sting", + ErrCount: 1, + }, + { + Value: "1testing", + ErrCount: 1, + }, + { + Value: "testing-", + ErrCount: 1, + }, + { + Value: randomString(21), + ErrCount: 1, + }, + } + + for _, tc := range cases { + _, errors := validateAwsElastiCacheReplicationGroupId(tc.Value, "aws_elasticache_replication_group_replication_group_id") + + if len(errors) != tc.ErrCount { + t.Fatalf("Expected the ElastiCache Replication Group Id to trigger a validation error") } - if len(res.ReplicationGroups) > 0 { - return fmt.Errorf("still exist.") + } +} + +func TestResourceAWSElastiCacheReplicationGroupEngineValidation(t *testing.T) { + cases := []struct { + Value string + ErrCount int + }{ + { + Value: "Redis", + ErrCount: 0, + }, + { + Value: "REDIS", + ErrCount: 0, + }, + { + Value: "memcached", + ErrCount: 1, + }, + } + + for _, tc := range cases { + _, errors := validateAwsElastiCacheReplicationGroupEngine(tc.Value, "aws_elasticache_replication_group_engine") + + if len(errors) != tc.ErrCount { + t.Fatalf("Expected the ElastiCache Replication Group Engine to trigger a validation error") } } - return nil } -func testAccCheckAWSEcacheReplicationGroupExists(n string) resource.TestCheckFunc { +func testAccCheckAWSElasticacheReplicationGroupExists(n string, v *elasticache.ReplicationGroup) resource.TestCheckFunc { return func(s *terraform.State) error { rs, ok := s.RootModule().Resources[n] if !ok { return fmt.Errorf("Not found: %s", n) } + if rs.Primary.ID == "" { + return fmt.Errorf("No replication group ID is set") + } + conn := testAccProvider.Meta().(*AWSClient).elasticacheconn res, err := conn.DescribeReplicationGroups(&elasticache.DescribeReplicationGroupsInput{ ReplicationGroupId: aws.String(rs.Primary.ID), }) - if err != nil { - return fmt.Errorf("CacheReplicationGroup error: %v", err) + return fmt.Errorf("Elasticache error: %v", err) } - if len(res.ReplicationGroups) != 1 || - *res.ReplicationGroups[0].ReplicationGroupId != rs.Primary.ID { - return fmt.Errorf("Replication group not found") + for _, rg := range res.ReplicationGroups { + if *rg.ReplicationGroupId == rs.Primary.ID { + *v = *rg + } } - log.Printf("[DEBUG] Rep group found") + return nil } } -var testAccAWSEcacheReplicationGroupConfig = fmt.Sprintf(` +func testAccCheckAWSElasticacheReplicationDestroy(s *terraform.State) error { + conn := testAccProvider.Meta().(*AWSClient).elasticacheconn + + for _, rs := range s.RootModule().Resources { + if rs.Type != "aws_elasticache_replication_group" { + continue + } + res, err := conn.DescribeReplicationGroups(&elasticache.DescribeReplicationGroupsInput{ + ReplicationGroupId: aws.String(rs.Primary.ID), + }) + if err != nil { + // Verify the error is what we want + if awsErr, ok := err.(awserr.Error); ok && awsErr.Code() == "ReplicationGroupNotFoundFault" { + continue + } + return err + } + if len(res.ReplicationGroups) > 0 { + return fmt.Errorf("still exist.") + } + } + return nil +} + +func testAccAWSElasticacheReplicationGroupConfig(rName string) string { + return fmt.Sprintf(` +provider "aws" { + region = "us-east-1" +} +resource "aws_security_group" "bar" { + name = "tf-test-security-group-%s" + description = "tf-test-security-group-descr" + ingress { + from_port = -1 + to_port = -1 + protocol = "icmp" + cidr_blocks = ["0.0.0.0/0"] + } +} + +resource "aws_elasticache_security_group" "bar" { + name = "tf-test-security-group-%s" + description = "tf-test-security-group-descr" + security_group_names = ["${aws_security_group.bar.name}"] +} + +resource "aws_elasticache_replication_group" "bar" { + replication_group_id = "tf-%s" + replication_group_description = "test description" + node_type = "cache.m1.small" + number_cache_clusters = 2 + port = 6379 + parameter_group_name = "default.redis3.2" + security_group_names = ["${aws_elasticache_security_group.bar.name}"] + apply_immediately = true + auto_minor_version_upgrade = false +}`, rName, rName, rName) +} + +func testAccAWSElasticacheReplicationGroupConfigUpdatedParameterGroup(rName string) string { + return fmt.Sprintf(` +provider "aws" { + region = "us-east-1" +} +resource "aws_security_group" "bar" { + name = "tf-test-security-group-%s" + description = "tf-test-security-group-descr" + ingress { + from_port = -1 + to_port = -1 + protocol = "icmp" + cidr_blocks = ["0.0.0.0/0"] + } +} + +resource "aws_elasticache_security_group" "bar" { + name = "tf-test-security-group-%s" + description = "tf-test-security-group-descr" + security_group_names = ["${aws_security_group.bar.name}"] +} + +resource "aws_elasticache_parameter_group" "bar" { + name = "allkeys-lru" + family = "redis3.2" + + parameter { + name = "maxmemory-policy" + value = "allkeys-lru" + } +} + +resource "aws_elasticache_replication_group" "bar" { + replication_group_id = "tf-%s" + replication_group_description = "test description" + node_type = "cache.m1.small" + number_cache_clusters = 2 + port = 6379 + parameter_group_name = "${aws_elasticache_parameter_group.bar.name}" + security_group_names = ["${aws_elasticache_security_group.bar.name}"] + apply_immediately = true +}`, rName, rName, rName) +} + +func testAccAWSElasticacheReplicationGroupConfigUpdatedDescription(rName string) string { + return fmt.Sprintf(` +provider "aws" { + region = "us-east-1" +} +resource "aws_security_group" "bar" { + name = "tf-test-security-group-%s" + description = "tf-test-security-group-descr" + ingress { + from_port = -1 + to_port = -1 + protocol = "icmp" + cidr_blocks = ["0.0.0.0/0"] + } +} + +resource "aws_elasticache_security_group" "bar" { + name = "tf-test-security-group-%s" + description = "tf-test-security-group-descr" + security_group_names = ["${aws_security_group.bar.name}"] +} + resource "aws_elasticache_replication_group" "bar" { - replication_group_id = "tf-repgrp-%03d" + replication_group_id = "tf-%s" + replication_group_description = "updated description" + node_type = "cache.m1.small" + number_cache_clusters = 2 + port = 6379 + parameter_group_name = "default.redis3.2" + security_group_names = ["${aws_elasticache_security_group.bar.name}"] + apply_immediately = true + auto_minor_version_upgrade = true +}`, rName, rName, rName) +} + +func testAccAWSElasticacheReplicationGroupConfigUpdatedNodeSize(rName string) string { + return fmt.Sprintf(` +provider "aws" { + region = "us-east-1" +} +resource "aws_security_group" "bar" { + name = "tf-test-security-group-%s" + description = "tf-test-security-group-descr" + ingress { + from_port = -1 + to_port = -1 + protocol = "icmp" + cidr_blocks = ["0.0.0.0/0"] + } +} + +resource "aws_elasticache_security_group" "bar" { + name = "tf-test-security-group-%s" + description = "tf-test-security-group-descr" + security_group_names = ["${aws_security_group.bar.name}"] +} + +resource "aws_elasticache_replication_group" "bar" { + replication_group_id = "tf-%s" + replication_group_description = "updated description" + node_type = "cache.m1.medium" + number_cache_clusters = 2 + port = 6379 + parameter_group_name = "default.redis3.2" + security_group_names = ["${aws_elasticache_security_group.bar.name}"] + apply_immediately = true +}`, rName, rName, rName) +} + +var testAccAWSElasticacheReplicationGroupInVPCConfig = fmt.Sprintf(` +resource "aws_vpc" "foo" { + cidr_block = "192.168.0.0/16" + tags { + Name = "tf-test" + } +} + +resource "aws_subnet" "foo" { + vpc_id = "${aws_vpc.foo.id}" + cidr_block = "192.168.0.0/20" + availability_zone = "us-west-2a" + tags { + Name = "tf-test" + } +} + +resource "aws_elasticache_subnet_group" "bar" { + name = "tf-test-cache-subnet-%03d" + description = "tf-test-cache-subnet-group-descr" + subnet_ids = ["${aws_subnet.foo.id}"] +} + +resource "aws_security_group" "bar" { + name = "tf-test-security-group-%03d" + description = "tf-test-security-group-descr" + vpc_id = "${aws_vpc.foo.id}" + ingress { + from_port = -1 + to_port = -1 + protocol = "icmp" + cidr_blocks = ["0.0.0.0/0"] + } +} + +resource "aws_elasticache_replication_group" "bar" { + replication_group_id = "tf-%s" + replication_group_description = "test description" + node_type = "cache.m1.small" + number_cache_clusters = 1 + port = 6379 + subnet_group_name = "${aws_elasticache_subnet_group.bar.name}" + security_group_ids = ["${aws_security_group.bar.id}"] + parameter_group_name = "default.redis3.2" + availability_zones = ["us-west-2a"] + auto_minor_version_upgrade = false +} + +`, acctest.RandInt(), acctest.RandInt(), acctest.RandString(10)) + +var testAccAWSElasticacheReplicationGroupMultiAZInVPCConfig = fmt.Sprintf(` +resource "aws_vpc" "foo" { + cidr_block = "192.168.0.0/16" + tags { + Name = "tf-test" + } +} + +resource "aws_subnet" "foo" { + vpc_id = "${aws_vpc.foo.id}" + cidr_block = "192.168.0.0/20" + availability_zone = "us-west-2a" + tags { + Name = "tf-test-%03d" + } +} + +resource "aws_subnet" "bar" { + vpc_id = "${aws_vpc.foo.id}" + cidr_block = "192.168.16.0/20" + availability_zone = "us-west-2b" + tags { + Name = "tf-test-%03d" + } +} + +resource "aws_elasticache_subnet_group" "bar" { + name = "tf-test-cache-subnet-%03d" + description = "tf-test-cache-subnet-group-descr" + subnet_ids = [ + "${aws_subnet.foo.id}", + "${aws_subnet.bar.id}" + ] +} + +resource "aws_security_group" "bar" { + name = "tf-test-security-group-%03d" + description = "tf-test-security-group-descr" + vpc_id = "${aws_vpc.foo.id}" + ingress { + from_port = -1 + to_port = -1 + protocol = "icmp" + cidr_blocks = ["0.0.0.0/0"] + } +} + +resource "aws_elasticache_replication_group" "bar" { + replication_group_id = "tf-%s" + replication_group_description = "test description" + node_type = "cache.m1.small" + number_cache_clusters = 2 + port = 6379 + subnet_group_name = "${aws_elasticache_subnet_group.bar.name}" + security_group_ids = ["${aws_security_group.bar.id}"] + parameter_group_name = "default.redis3.2" + availability_zones = ["us-west-2a","us-west-2b"] + automatic_failover_enabled = true + snapshot_window = "02:00-03:00" + snapshot_retention_limit = 7 +} +`, acctest.RandInt(), acctest.RandInt(), acctest.RandInt(), acctest.RandInt(), acctest.RandString(10)) + +var testAccAWSElasticacheReplicationGroupMultiAZInVPCConfigLegacy = fmt.Sprintf(` +resource "aws_vpc" "foo" { + cidr_block = "192.168.0.0/16" + tags { + Name = "tf-test" + } +} + +resource "aws_subnet" "foo" { + vpc_id = "${aws_vpc.foo.id}" + cidr_block = "192.168.0.0/20" + availability_zone = "us-west-2a" + tags { + Name = "tf-test-%03d" + } +} + +resource "aws_subnet" "bar" { + vpc_id = "${aws_vpc.foo.id}" + cidr_block = "192.168.16.0/20" + availability_zone = "us-west-2b" + tags { + Name = "tf-test-%03d" + } +} + +resource "aws_elasticache_subnet_group" "bar" { + name = "tf-test-cache-subnet-%03d" + description = "tf-test-cache-subnet-group-descr" + subnet_ids = [ + "${aws_subnet.foo.id}", + "${aws_subnet.bar.id}" + ] +} + +resource "aws_security_group" "bar" { + name = "tf-test-security-group-%03d" + description = "tf-test-security-group-descr" + vpc_id = "${aws_vpc.foo.id}" + ingress { + from_port = -1 + to_port = -1 + protocol = "icmp" + cidr_blocks = ["0.0.0.0/0"] + } +} + +resource "aws_elasticache_replication_group" "bar" { + replication_group_id = "tf-%s" + description = "test description" cache_node_type = "cache.m1.small" num_cache_clusters = 2 - description = "tf-test-replication-group-descr" + port = 6379 + subnet_group_name = "${aws_elasticache_subnet_group.bar.name}" + security_group_ids = ["${aws_security_group.bar.id}"] + parameter_group_name = "default.redis3.2" + preferred_cache_cluster_azs = ["us-west-2a","us-west-2b"] + automatic_failover = true + snapshot_window = "02:00-03:00" + snapshot_retention_limit = 7 +} +`, acctest.RandInt(), acctest.RandInt(), acctest.RandInt(), acctest.RandInt(), acctest.RandString(10)) + +var testAccAWSElasticacheReplicationGroupRedisClusterInVPCConfig = fmt.Sprintf(` +resource "aws_vpc" "foo" { + cidr_block = "192.168.0.0/16" + tags { + Name = "tf-test" + } +} + +resource "aws_subnet" "foo" { + vpc_id = "${aws_vpc.foo.id}" + cidr_block = "192.168.0.0/20" + availability_zone = "us-west-2a" + tags { + Name = "tf-test-%03d" + } +} + +resource "aws_subnet" "bar" { + vpc_id = "${aws_vpc.foo.id}" + cidr_block = "192.168.16.0/20" + availability_zone = "us-west-2b" + tags { + Name = "tf-test-%03d" + } +} + +resource "aws_elasticache_subnet_group" "bar" { + name = "tf-test-cache-subnet-%03d" + description = "tf-test-cache-subnet-group-descr" + subnet_ids = [ + "${aws_subnet.foo.id}", + "${aws_subnet.bar.id}" + ] +} + +resource "aws_security_group" "bar" { + name = "tf-test-security-group-%03d" + description = "tf-test-security-group-descr" + vpc_id = "${aws_vpc.foo.id}" + ingress { + from_port = -1 + to_port = -1 + protocol = "icmp" + cidr_blocks = ["0.0.0.0/0"] + } +} + +resource "aws_elasticache_replication_group" "bar" { + replication_group_id = "tf-%s" + replication_group_description = "test description" + node_type = "cache.t2.micro" + number_cache_clusters = "2" + port = 6379 + subnet_group_name = "${aws_elasticache_subnet_group.bar.name}" + security_group_ids = ["${aws_security_group.bar.id}"] + parameter_group_name = "default.redis3.2.cluster.on" + availability_zones = ["us-west-2a","us-west-2b"] + automatic_failover_enabled = true + snapshot_window = "02:00-03:00" + snapshot_retention_limit = 7 + engine_version = "3.2.4" + maintenance_window = "thu:03:00-thu:04:00" } -`, acctest.RandInt()) +`, acctest.RandInt(), acctest.RandInt(), acctest.RandInt(), acctest.RandInt(), acctest.RandString(10)) diff --git a/builtin/providers/aws/structure.go b/builtin/providers/aws/structure.go index abff5a7a36cd..de382ee6305a 100644 --- a/builtin/providers/aws/structure.go +++ b/builtin/providers/aws/structure.go @@ -690,6 +690,26 @@ func flattenAttachment(a *ec2.NetworkInterfaceAttachment) map[string]interface{} return att } +func flattenElastiCacheSecurityGroupNames(securityGroups []*elasticache.CacheSecurityGroupMembership) []string { + result := make([]string, 0, len(securityGroups)) + for _, sg := range securityGroups { + if sg.CacheSecurityGroupName != nil { + result = append(result, *sg.CacheSecurityGroupName) + } + } + return result +} + +func flattenElastiCacheSecurityGroupIds(securityGroups []*elasticache.SecurityGroupMembership) []string { + result := make([]string, 0, len(securityGroups)) + for _, sg := range securityGroups { + if sg.SecurityGroupId != nil { + result = append(result, *sg.SecurityGroupId) + } + } + return result +} + // Flattens step adjustments into a list of map[string]interface. func flattenStepAdjustments(adjustments []*autoscaling.StepAdjustment) []map[string]interface{} { result := make([]map[string]interface{}, 0, len(adjustments)) diff --git a/helper/resource/testing.go b/helper/resource/testing.go index 94e03b53110f..914252330d42 100644 --- a/helper/resource/testing.go +++ b/helper/resource/testing.go @@ -522,6 +522,31 @@ func ComposeTestCheckFunc(fs ...TestCheckFunc) TestCheckFunc { } } +// TestCheckResourceAttrSet is a TestCheckFunc which ensures a value +// exists in state for the given name/key combination. It is useful when +// testing that computed values were set, when it is not possible to +// know ahead of time what the values will be. +func TestCheckResourceAttrSet(name, key string) TestCheckFunc { + return func(s *terraform.State) error { + ms := s.RootModule() + rs, ok := ms.Resources[name] + if !ok { + return fmt.Errorf("Not found: %s", name) + } + + is := rs.Primary + if is == nil { + return fmt.Errorf("No primary instance: %s", name) + } + + if val, ok := is.Attributes[key]; ok && val != "" { + return nil + } + + return fmt.Errorf("%s: Attribute '%s' expected to be set", name, key) + } +} + func TestCheckResourceAttr(name, key, value string) TestCheckFunc { return func(s *terraform.State) error { ms := s.RootModule() diff --git a/terraform/version.go b/terraform/version.go index 2fb189f5984f..c61cd9efabcc 100644 --- a/terraform/version.go +++ b/terraform/version.go @@ -1,7 +1,7 @@ package terraform // The main version number that is being run at the moment. -const Version = "0.6.16" +const Version = "0.6.16-cc1" // A pre-release marker for the version. If this is "" (empty string) // then it means that it is a final release. Otherwise, this is a pre-release diff --git a/vendor/github.com/apparentlymart/go-rundeck-api/rundeck/client.go b/vendor/github.com/apparentlymart/go-rundeck-api/rundeck/client.go index b9525ea222d8..58fd3f516b2c 100644 --- a/vendor/github.com/apparentlymart/go-rundeck-api/rundeck/client.go +++ b/vendor/github.com/apparentlymart/go-rundeck-api/rundeck/client.go @@ -12,9 +12,9 @@ import ( "encoding/xml" "fmt" "io/ioutil" + "mime/multipart" "net/http" "net/url" - "mime/multipart" "strings" ) @@ -39,10 +39,10 @@ type Client struct { } type request struct { - Method string + Method string PathParts []string QueryArgs map[string]string - Headers map[string]string + Headers map[string]string BodyBytes []byte } @@ -119,7 +119,7 @@ func (c *Client) xmlRequest(method string, pathParts []string, query map[string] } req := &request{ - Method: method, + Method: method, PathParts: pathParts, QueryArgs: query, BodyBytes: reqBodyBytes, @@ -156,7 +156,7 @@ func (c *Client) get(pathParts []string, query map[string]string, result interfa func (c *Client) rawGet(pathParts []string, query map[string]string, accept string) (string, error) { req := &request{ - Method: "GET", + Method: "GET", PathParts: pathParts, QueryArgs: query, Headers: map[string]string{ diff --git a/vendor/github.com/apparentlymart/go-rundeck-api/rundeck/error.go b/vendor/github.com/apparentlymart/go-rundeck-api/rundeck/error.go index 223d3889b1fd..6e69c49c48c9 100644 --- a/vendor/github.com/apparentlymart/go-rundeck-api/rundeck/error.go +++ b/vendor/github.com/apparentlymart/go-rundeck-api/rundeck/error.go @@ -6,15 +6,15 @@ import "encoding/xml" // returned from the server as XML. type Error struct { XMLName xml.Name `xml:"result"` - IsError bool `xml:"error,attr"` - Message string `xml:"error>message"` + IsError bool `xml:"error,attr"` + Message string `xml:"error>message"` } func (err Error) Error() string { return err.Message } -type NotFoundError struct {} +type NotFoundError struct{} func (err NotFoundError) Error() string { return "not found" diff --git a/vendor/github.com/apparentlymart/go-rundeck-api/rundeck/key.go b/vendor/github.com/apparentlymart/go-rundeck-api/rundeck/key.go index c14725671577..f7298b2e7bd9 100644 --- a/vendor/github.com/apparentlymart/go-rundeck-api/rundeck/key.go +++ b/vendor/github.com/apparentlymart/go-rundeck-api/rundeck/key.go @@ -2,19 +2,19 @@ package rundeck // KeyMeta is the metadata associated with a resource in the Rundeck key store. type KeyMeta struct { - XMLName string `xml:"resource"` - Name string `xml:"name,attr,omitempty"` - Path string `xml:"path,attr,omitempty"` - ResourceType string `xml:"type,attr,omitempty"` - URL string `xml:"url,attr,omitempty"` - ContentType string `xml:"resource-meta>Rundeck-content-type"` - ContentSize string `xml:"resource-meta>Rundeck-content-size"` - ContentMask string `xml:"resource-meta>Rundeck-content-mask"` - KeyType string `xml:"resource-meta>Rundeck-key-type"` + XMLName string `xml:"resource"` + Name string `xml:"name,attr,omitempty"` + Path string `xml:"path,attr,omitempty"` + ResourceType string `xml:"type,attr,omitempty"` + URL string `xml:"url,attr,omitempty"` + ContentType string `xml:"resource-meta>Rundeck-content-type"` + ContentSize string `xml:"resource-meta>Rundeck-content-size"` + ContentMask string `xml:"resource-meta>Rundeck-content-mask"` + KeyType string `xml:"resource-meta>Rundeck-key-type"` LastModifiedByUserName string `xml:"resource-meta>Rundeck-auth-modified-username"` - CreatedByUserName string `xml:"resource-meta>Rundeck-auth-created-username"` - CreatedTimestamp string `xml:"resource-meta>Rundeck-content-creation-time"` - LastModifiedTimestamp string `xml:"resource-meta>Rundeck-content-modify-time"` + CreatedByUserName string `xml:"resource-meta>Rundeck-auth-created-username"` + CreatedTimestamp string `xml:"resource-meta>Rundeck-content-creation-time"` + LastModifiedTimestamp string `xml:"resource-meta>Rundeck-content-modify-time"` } type keyMetaListContents struct { @@ -63,7 +63,7 @@ func (c *Client) ReplacePrivateKey(path string, content string) error { func (c *Client) createOrReplacePublicKey(method string, path string, contentType string, content string) error { req := &request{ - Method: method, + Method: method, PathParts: []string{"storage", "keys", path}, Headers: map[string]string{ "Content-Type": contentType, diff --git a/vendor/github.com/apparentlymart/go-rundeck-api/rundeck/system_info.go b/vendor/github.com/apparentlymart/go-rundeck-api/rundeck/system_info.go index 78753e93b7f1..5467a7bb3aed 100644 --- a/vendor/github.com/apparentlymart/go-rundeck-api/rundeck/system_info.go +++ b/vendor/github.com/apparentlymart/go-rundeck-api/rundeck/system_info.go @@ -8,12 +8,12 @@ import ( // SystemInfo represents a set of miscellaneous system information properties about the // Rundeck server. type SystemInfo struct { - XMLName xml.Name `xml:"system"` - ServerTime SystemTimestamp `xml:"timestamp"` - Rundeck About `xml:"rundeck"` - OS SystemOS `xml:"os"` - JVM SystemJVM `xml:"jvm"` - Stats SystemStats `xml:"stats"` + XMLName xml.Name `xml:"system"` + ServerTime SystemTimestamp `xml:"timestamp"` + Rundeck About `xml:"rundeck"` + OS SystemOS `xml:"os"` + JVM SystemJVM `xml:"jvm"` + Stats SystemStats `xml:"stats"` } // About describes the Rundeck server itself. diff --git a/vendor/github.com/apparentlymart/go-rundeck-api/rundeck/testing.go b/vendor/github.com/apparentlymart/go-rundeck-api/rundeck/testing.go index 7ccc68eb80e6..012f1c53ae88 100644 --- a/vendor/github.com/apparentlymart/go-rundeck-api/rundeck/testing.go +++ b/vendor/github.com/apparentlymart/go-rundeck-api/rundeck/testing.go @@ -11,12 +11,12 @@ type marshalTest struct { ExpectedXML string } -type unmarshalTestFunc func (result interface {}) error +type unmarshalTestFunc func(result interface{}) error type unmarshalTest struct { - Name string - Input string - Output interface {} + Name string + Input string + Output interface{} TestFunc unmarshalTestFunc } diff --git a/vendor/github.com/aws/aws-sdk-go/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go/CHANGELOG.md new file mode 100644 index 000000000000..43f98ed8adb4 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/CHANGELOG.md @@ -0,0 +1,70 @@ +Release v1.4.17 +=== + +Service Model Updates +--- +* `service/acm`: Update service API, and documentation. + * This change allows users to import third-party SSL/TLS certificates into ACM. +* `service/elasticbeanstalk`: Update service API, documentation, and pagination. + * Elastic Beanstalk DescribeApplicationVersions API is being updated to support pagination. +* `service/gamelift`: Update service API, and documentation. + * New APIs to protect game developer resource (builds, alias, fleets, instances, game sessions and player sessions) against abuse. + +SDK Features +--- +* `service/s3`: Add support for accelerate with dualstack [#887](https://github.com/aws/aws-sdk-go/issues/887) + +Release v1.4.16 +=== + +Service Model Updates +--- +* `service/ecr`: Update Amazon EC2 Container Registry service model + * DescribeImages is a new api used to expose image metadata which today includes image size and image creation timestamp. +* `service/elasticache`: Update Amazon ElastiCache service model + * Elasticache is launching a new major engine release of Redis, 3.2 (providing stability updates and new command sets over 2.8), as well as ElasticSupport for enabling Redis Cluster in 3.2, which provides support for multiple node groups to horizontally scale data, as well as superior engine failover capabilities + +SDK Bug Fixes +--- +* `aws/session`: Skip shared config on read errors [#883](https://github.com/aws/aws-sdk-go/issues/883) +* `aws/signer/v4`: Add support for URL.EscapedPath to signer [#885](https://github.com/aws/aws-sdk-go/issues/885) + +SDK Features +--- +* `private/model/api`: Add docs for errors to API operations [#881](https://github.com/aws/aws-sdk-go/issues/881) +* `private/model/api`: Improve field and waiter doc strings [#879](https://github.com/aws/aws-sdk-go/issues/879) +* `service/dynamodb/dynamodbattribute`: Allow multiple struct tag elements [#886](https://github.com/aws/aws-sdk-go/issues/886) +* Add build tags to internal SDK tools [#880](https://github.com/aws/aws-sdk-go/issues/880) + +Release v1.4.15 +=== + +Service Model Updates +--- +* `service/cognitoidentityprovider`: Update Amazon Cognito Identity Provider service model +* `service/devicefarm`: Update AWS Device Farm documentation +* `service/opsworks`: Update AWS OpsWorks service model +* `service/s3`: Update Amazon Simple Storage Service model +* `service/waf`: Update AWS WAF service model + +SDK Bug Fixes +--- +* `aws/request`: Fix HTTP Request Body race condition [#874](https://github.com/aws/aws-sdk-go/issues/874) + +SDK Feature Updates +--- +* `aws/ec2metadata`: Add support for EC2 User Data [#872](https://github.com/aws/aws-sdk-go/issues/872) +* `aws/signer/v4`: Remove logic determining if request needs to be resigned [#876](https://github.com/aws/aws-sdk-go/issues/876) + +Release v1.4.14 (2016-09-29) +=== +* `service/ec2`: api, documentation, and paginators updates. +* `service/s3`: api and documentation updates. + +Release v1.4.13 (2016-09-27) +=== +* `service/codepipeline`: documentation updates. +* `service/cloudformation`: api and documentation updates. +* `service/kms`: documentation updates. +* `service/elasticfilesystem`: documentation updates. +* `service/snowball`: documentation updates. diff --git a/vendor/github.com/aws/aws-sdk-go/Makefile b/vendor/github.com/aws/aws-sdk-go/Makefile new file mode 100644 index 000000000000..ab086cbb00c2 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/Makefile @@ -0,0 +1,154 @@ +LINTIGNOREDOT='awstesting/integration.+should not use dot imports' +LINTIGNOREDOC='service/[^/]+/(api|service|waiters)\.go:.+(comment on exported|should have comment or be unexported)' +LINTIGNORECONST='service/[^/]+/(api|service|waiters)\.go:.+(type|struct field|const|func) ([^ ]+) should be ([^ ]+)' +LINTIGNORESTUTTER='service/[^/]+/(api|service)\.go:.+(and that stutters)' +LINTIGNOREINFLECT='service/[^/]+/(api|service)\.go:.+method .+ should be ' +LINTIGNOREINFLECTS3UPLOAD='service/s3/s3manager/upload\.go:.+struct field SSEKMSKeyId should be ' +LINTIGNOREDEPS='vendor/.+\.go' + +SDK_WITH_VENDOR_PKGS=$(shell go list ./... | grep -v "/vendor/src") +SDK_ONLY_PKGS=$(shell go list ./... | grep -v "/vendor/") +SDK_GO_1_4=$(shell go version | grep "go1.4") +SDK_GO_1_5=$(shell go version | grep "go1.5") +SDK_GO_VERSION=$(shell go version | awk '''{print $$3}''' | tr -d '''\n''') + +all: get-deps generate unit + +help: + @echo "Please use \`make ' where is one of" + @echo " api_info to print a list of services and versions" + @echo " docs to build SDK documentation" + @echo " build to go build the SDK" + @echo " unit to run unit tests" + @echo " integration to run integration tests" + @echo " performance to run performance tests" + @echo " verify to verify tests" + @echo " lint to lint the SDK" + @echo " vet to vet the SDK" + @echo " generate to go generate and make services" + @echo " gen-test to generate protocol tests" + @echo " gen-services to generate services" + @echo " get-deps to go get the SDK dependencies" + @echo " get-deps-tests to get the SDK's test dependencies" + @echo " get-deps-verify to get the SDK's verification dependencies" + +generate: gen-test gen-endpoints gen-services + +gen-test: gen-protocol-test + +gen-services: + go generate ./service + +gen-protocol-test: + go generate ./private/protocol/... + +gen-endpoints: + go generate ./private/endpoints + +build: + @echo "go build SDK and vendor packages" + @go build -tags example,codegen ${SDK_ONLY_PKGS} + +unit: get-deps-tests build verify + @echo "go test SDK and vendor packages" + @go test -tags example,codegen $(SDK_ONLY_PKGS) + +unit-with-race-cover: get-deps-tests build verify + @echo "go test SDK and vendor packages" + @go test -tags example,codegen -race -cpu=1,2,4 $(SDK_ONLY_PKGS) + +integration: get-deps-tests integ-custom smoke-tests performance + +integ-custom: + go test -tags "integration" ./awstesting/integration/customizations/... + +smoke-tests: get-deps-tests + gucumber -go-tags "integration" ./awstesting/integration/smoke + +performance: get-deps-tests + AWS_TESTING_LOG_RESULTS=${log-detailed} AWS_TESTING_REGION=$(region) AWS_TESTING_DB_TABLE=$(table) gucumber -go-tags "integration" ./awstesting/performance + +sandbox-tests: sandbox-test-go14 sandbox-test-go15 sandbox-test-go15-novendorexp sandbox-test-go16 sandbox-test-go17 sandbox-test-gotip + +sandbox-test-go14: + docker build -f ./awstesting/sandbox/Dockerfile.test.go1.4 -t "aws-sdk-go-1.4" . + docker run -t aws-sdk-go-1.4 + +sandbox-test-go15: + docker build -f ./awstesting/sandbox/Dockerfile.test.go1.5 -t "aws-sdk-go-1.5" . + docker run -t aws-sdk-go-1.5 + +sandbox-test-go15-novendorexp: + docker build -f ./awstesting/sandbox/Dockerfile.test.go1.5-novendorexp -t "aws-sdk-go-1.5-novendorexp" . + docker run -t aws-sdk-go-1.5-novendorexp + +sandbox-test-go16: + docker build -f ./awstesting/sandbox/Dockerfile.test.go1.6 -t "aws-sdk-go-1.6" . + docker run -t aws-sdk-go-1.6 + +sandbox-test-go17: + docker build -f ./awstesting/sandbox/Dockerfile.test.go1.7 -t "aws-sdk-go-1.7" . + docker run -t aws-sdk-go-1.7 + +sandbox-test-gotip: + @echo "Run make update-aws-golang-tip, if this test fails because missing aws-golang:tip container" + docker build -f ./awstesting/sandbox/Dockerfile.test.gotip -t "aws-sdk-go-tip" . + docker run -t aws-sdk-go-tip + +update-aws-golang-tip: + docker build -f ./awstesting/sandbox/Dockerfile.golang-tip -t "aws-golang:tip" . + +verify: get-deps-verify lint vet + +lint: + @echo "go lint SDK and vendor packages" + @lint=`if [ \( -z "${SDK_GO_1_4}" \) -a \( -z "${SDK_GO_1_5}" \) ]; then golint ./...; else echo "skipping golint"; fi`; \ + lint=`echo "$$lint" | grep -E -v -e ${LINTIGNOREDOT} -e ${LINTIGNOREDOC} -e ${LINTIGNORECONST} -e ${LINTIGNORESTUTTER} -e ${LINTIGNOREINFLECT} -e ${LINTIGNOREDEPS} -e ${LINTIGNOREINFLECTS3UPLOAD}`; \ + echo "$$lint"; \ + if [ "$$lint" != "" ] && [ "$$lint" != "skipping golint" ]; then exit 1; fi + +SDK_BASE_FOLDERS=$(shell ls -d */ | grep -v vendor | grep -v awsmigrate) +ifneq (,$(findstring go1.4, ${SDK_GO_VERSION})) + GO_VET_CMD=echo skipping go vet, ${SDK_GO_VERSION} +else ifneq (,$(findstring go1.6, ${SDK_GO_VERSION})) + GO_VET_CMD=go tool vet --all -shadow -example=false +else + GO_VET_CMD=go tool vet --all -shadow +endif + +vet: + ${GO_VET_CMD} ${SDK_BASE_FOLDERS} + +get-deps: get-deps-tests get-deps-verify + @echo "go get SDK dependencies" + @go get -v $(SDK_ONLY_PKGS) + +get-deps-tests: + @echo "go get SDK testing dependencies" + go get github.com/gucumber/gucumber/cmd/gucumber + go get github.com/stretchr/testify + go get github.com/smartystreets/goconvey + +get-deps-verify: + @echo "go get SDK verification utilities" + @if [ \( -z "${SDK_GO_1_4}" \) -a \( -z "${SDK_GO_1_5}" \) ]; then go get github.com/golang/lint/golint; else echo "skipped getting golint"; fi + +bench: + @echo "go bench SDK packages" + @go test -run NONE -bench . -benchmem -tags 'bench' $(SDK_ONLY_PKGS) + +bench-protocol: + @echo "go bench SDK protocol marshallers" + @go test -run NONE -bench . -benchmem -tags 'bench' ./private/protocol/... + +docs: + @echo "generate SDK docs" + @# This env variable, DOCS, is for internal use + @if [ -z ${AWS_DOC_GEN_TOOL} ]; then\ + rm -rf doc && bundle install && bundle exec yard;\ + else\ + $(AWS_DOC_GEN_TOOL) `pwd`;\ + fi + +api_info: + @go run private/model/cli/api-info/api-info.go diff --git a/vendor/github.com/aws/aws-sdk-go/aws/config.go b/vendor/github.com/aws/aws-sdk-go/aws/config.go index bfaa15203386..34c2bab3380b 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/config.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/config.go @@ -7,24 +7,36 @@ import ( "github.com/aws/aws-sdk-go/aws/credentials" ) -// UseServiceDefaultRetries instructs the config to use the service's own default -// number of retries. This will be the default action if Config.MaxRetries -// is nil also. +// UseServiceDefaultRetries instructs the config to use the service's own +// default number of retries. This will be the default action if +// Config.MaxRetries is nil also. const UseServiceDefaultRetries = -1 -// RequestRetryer is an alias for a type that implements the request.Retryer interface. +// RequestRetryer is an alias for a type that implements the request.Retryer +// interface. type RequestRetryer interface{} // A Config provides service configuration for service clients. By default, -// all clients will use the {defaults.DefaultConfig} structure. +// all clients will use the defaults.DefaultConfig tructure. +// +// // Create Session with MaxRetry configuration to be shared by multiple +// // service clients. +// sess, err := session.NewSession(&aws.Config{ +// MaxRetries: aws.Int(3), +// }) +// +// // Create S3 service client with a specific Region. +// svc := s3.New(sess, &aws.Config{ +// Region: aws.String("us-west-2"), +// }) type Config struct { // Enables verbose error printing of all credential chain errors. - // Should be used when wanting to see all errors while attempting to retreive - // credentials. + // Should be used when wanting to see all errors while attempting to + // retrieve credentials. CredentialsChainVerboseErrors *bool - // The credentials object to use when signing requests. Defaults to - // a chain of credential providers to search for credentials in environment + // The credentials object to use when signing requests. Defaults to a + // chain of credential providers to search for credentials in environment // variables, shared credential file, and EC2 Instance Roles. Credentials *credentials.Credentials @@ -63,11 +75,12 @@ type Config struct { Logger Logger // The maximum number of times that a request will be retried for failures. - // Defaults to -1, which defers the max retry setting to the service specific - // configuration. + // Defaults to -1, which defers the max retry setting to the service + // specific configuration. MaxRetries *int - // Retryer guides how HTTP requests should be retried in case of recoverable failures. + // Retryer guides how HTTP requests should be retried in case of + // recoverable failures. // // When nil or the value does not implement the request.Retryer interface, // the request.DefaultRetryer will be used. @@ -82,8 +95,8 @@ type Config struct { // Retryer RequestRetryer - // Disables semantic parameter validation, which validates input for missing - // required fields and/or other semantic request input errors. + // Disables semantic parameter validation, which validates input for + // missing required fields and/or other semantic request input errors. DisableParamValidation *bool // Disables the computation of request and response checksums, e.g., @@ -91,8 +104,8 @@ type Config struct { DisableComputeChecksums *bool // Set this to `true` to force the request to use path-style addressing, - // i.e., `http://s3.amazonaws.com/BUCKET/KEY`. By default, the S3 client will - // use virtual hosted bucket addressing when possible + // i.e., `http://s3.amazonaws.com/BUCKET/KEY`. By default, the S3 client + // will use virtual hosted bucket addressing when possible // (`http://BUCKET.s3.amazonaws.com/KEY`). // // @note This configuration option is specific to the Amazon S3 service. @@ -109,44 +122,81 @@ type Config struct { // http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html // // 100-Continue is only enabled for Go 1.6 and above. See `http.Transport`'s - // `ExpectContinueTimeout` for information on adjusting the continue wait timeout. - // https://golang.org/pkg/net/http/#Transport + // `ExpectContinueTimeout` for information on adjusting the continue wait + // timeout. https://golang.org/pkg/net/http/#Transport // - // You should use this flag to disble 100-Continue if you experiance issues - // with proxies or thrid party S3 compatible services. + // You should use this flag to disble 100-Continue if you experience issues + // with proxies or third party S3 compatible services. S3Disable100Continue *bool - // Set this to `true` to enable S3 Accelerate feature. For all operations compatible - // with S3 Accelerate will use the accelerate endpoint for requests. Requests not compatible - // will fall back to normal S3 requests. + // Set this to `true` to enable S3 Accelerate feature. For all operations + // compatible with S3 Accelerate will use the accelerate endpoint for + // requests. Requests not compatible will fall back to normal S3 requests. // - // The bucket must be enable for accelerate to be used with S3 client with accelerate - // enabled. If the bucket is not enabled for accelerate an error will be returned. - // The bucket name must be DNS compatible to also work with accelerate. + // The bucket must be enable for accelerate to be used with S3 client with + // accelerate enabled. If the bucket is not enabled for accelerate an error + // will be returned. The bucket name must be DNS compatible to also work + // with accelerate. S3UseAccelerate *bool // Set this to `true` to disable the EC2Metadata client from overriding the - // default http.Client's Timeout. This is helpful if you do not want the EC2Metadata - // client to create a new http.Client. This options is only meaningful if you're not - // already using a custom HTTP client with the SDK. Enabled by default. + // default http.Client's Timeout. This is helpful if you do not want the + // EC2Metadata client to create a new http.Client. This options is only + // meaningful if you're not already using a custom HTTP client with the + // SDK. Enabled by default. // - // Must be set and provided to the session.New() in order to disable the EC2Metadata - // overriding the timeout for default credentials chain. + // Must be set and provided to the session.NewSession() in order to disable + // the EC2Metadata overriding the timeout for default credentials chain. // // Example: - // sess := session.New(aws.NewConfig().WithEC2MetadataDiableTimeoutOverride(true)) + // sess, err := session.NewSession(aws.NewConfig().WithEC2MetadataDiableTimeoutOverride(true)) + // // svc := s3.New(sess) // EC2MetadataDisableTimeoutOverride *bool + // Instructs the endpiont to be generated for a service client to + // be the dual stack endpoint. The dual stack endpoint will support + // both IPv4 and IPv6 addressing. + // + // Setting this for a service which does not support dual stack will fail + // to make requets. It is not recommended to set this value on the session + // as it will apply to all service clients created with the session. Even + // services which don't support dual stack endpoints. + // + // If the Endpoint config value is also provided the UseDualStack flag + // will be ignored. + // + // Only supported with. + // + // sess, err := session.NewSession() + // + // svc := s3.New(sess, &aws.Config{ + // UseDualStack: aws.Bool(true), + // }) + UseDualStack *bool + + // SleepDelay is an override for the func the SDK will call when sleeping + // during the lifecycle of a request. Specifically this will be used for + // request delays. This value should only be used for testing. To adjust + // the delay of a request see the aws/client.DefaultRetryer and + // aws/request.Retryer. SleepDelay func(time.Duration) } -// NewConfig returns a new Config pointer that can be chained with builder methods to -// set multiple configuration values inline without using pointers. +// NewConfig returns a new Config pointer that can be chained with builder +// methods to set multiple configuration values inline without using pointers. // -// svc := s3.New(aws.NewConfig().WithRegion("us-west-2").WithMaxRetries(10)) +// // Create Session with MaxRetry configuration to be shared by multiple +// // service clients. +// sess, err := session.NewSession(aws.NewConfig(). +// WithMaxRetries(3), +// ) // +// // Create S3 service client with a specific Region. +// svc := s3.New(sess, aws.NewConfig(). +// WithRegion("us-west-2"), +// ) func NewConfig() *Config { return &Config{} } @@ -249,6 +299,13 @@ func (c *Config) WithS3UseAccelerate(enable bool) *Config { return c } +// WithUseDualStack sets a config UseDualStack value returning a Config +// pointer for chaining. +func (c *Config) WithUseDualStack(enable bool) *Config { + c.UseDualStack = &enable + return c +} + // WithEC2MetadataDisableTimeoutOverride sets a config EC2MetadataDisableTimeoutOverride value // returning a Config pointer for chaining. func (c *Config) WithEC2MetadataDisableTimeoutOverride(enable bool) *Config { @@ -335,6 +392,10 @@ func mergeInConfig(dst *Config, other *Config) { dst.S3UseAccelerate = other.S3UseAccelerate } + if other.UseDualStack != nil { + dst.UseDualStack = other.UseDualStack + } + if other.EC2MetadataDisableTimeoutOverride != nil { dst.EC2MetadataDisableTimeoutOverride = other.EC2MetadataDisableTimeoutOverride } diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/chain_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/chain_provider.go index 857311f64cc4..6efc77bf0932 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/chain_provider.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/chain_provider.go @@ -34,7 +34,7 @@ var ( // // Example of ChainProvider to be used with an EnvProvider and EC2RoleProvider. // In this example EnvProvider will first check if any credentials are available -// vai the environment variables. If there are none ChainProvider will check +// via the environment variables. If there are none ChainProvider will check // the next Provider in the list, EC2RoleProvider in this case. If EC2RoleProvider // does not return any credentials ChainProvider will return the error // ErrNoValidProvidersFoundInChain diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go b/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go new file mode 100644 index 000000000000..b58076f5e321 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go @@ -0,0 +1,295 @@ +package session + +import ( + "fmt" + "io/ioutil" + + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/credentials" + "github.com/go-ini/ini" +) + +const ( + // Static Credentials group + accessKeyIDKey = `aws_access_key_id` // group required + secretAccessKey = `aws_secret_access_key` // group required + sessionTokenKey = `aws_session_token` // optional + + // Assume Role Credentials group + roleArnKey = `role_arn` // group required + sourceProfileKey = `source_profile` // group required + externalIDKey = `external_id` // optional + mfaSerialKey = `mfa_serial` // optional + roleSessionNameKey = `role_session_name` // optional + + // Additional Config fields + regionKey = `region` + + // DefaultSharedConfigProfile is the default profile to be used when + // loading configuration from the config files if another profile name + // is not provided. + DefaultSharedConfigProfile = `default` +) + +type assumeRoleConfig struct { + RoleARN string + SourceProfile string + ExternalID string + MFASerial string + RoleSessionName string +} + +// sharedConfig represents the configuration fields of the SDK config files. +type sharedConfig struct { + // Credentials values from the config file. Both aws_access_key_id + // and aws_secret_access_key must be provided together in the same file + // to be considered valid. The values will be ignored if not a complete group. + // aws_session_token is an optional field that can be provided if both of the + // other two fields are also provided. + // + // aws_access_key_id + // aws_secret_access_key + // aws_session_token + Creds credentials.Value + + AssumeRole assumeRoleConfig + AssumeRoleSource *sharedConfig + + // Region is the region the SDK should use for looking up AWS service endpoints + // and signing requests. + // + // region + Region string +} + +type sharedConfigFile struct { + Filename string + IniData *ini.File +} + +// loadSharedConfig retrieves the configuration from the list of files +// using the profile provided. The order the files are listed will determine +// precedence. Values in subsequent files will overwrite values defined in +// earlier files. +// +// For example, given two files A and B. Both define credentials. If the order +// of the files are A then B, B's credential values will be used instead of A's. +// +// See sharedConfig.setFromFile for information how the config files +// will be loaded. +func loadSharedConfig(profile string, filenames []string) (sharedConfig, error) { + if len(profile) == 0 { + profile = DefaultSharedConfigProfile + } + + files, err := loadSharedConfigIniFiles(filenames) + if err != nil { + return sharedConfig{}, err + } + + cfg := sharedConfig{} + if err = cfg.setFromIniFiles(profile, files); err != nil { + return sharedConfig{}, err + } + + if len(cfg.AssumeRole.SourceProfile) > 0 { + if err := cfg.setAssumeRoleSource(profile, files); err != nil { + return sharedConfig{}, err + } + } + + return cfg, nil +} + +func loadSharedConfigIniFiles(filenames []string) ([]sharedConfigFile, error) { + files := make([]sharedConfigFile, 0, len(filenames)) + + for _, filename := range filenames { + b, err := ioutil.ReadFile(filename) + if err != nil { + // Skip files which can't be opened and read for whatever reason + continue + } + + f, err := ini.Load(b) + if err != nil { + return nil, SharedConfigLoadError{Filename: filename} + } + + files = append(files, sharedConfigFile{ + Filename: filename, IniData: f, + }) + } + + return files, nil +} + +func (cfg *sharedConfig) setAssumeRoleSource(origProfile string, files []sharedConfigFile) error { + var assumeRoleSrc sharedConfig + + // Multiple level assume role chains are not support + if cfg.AssumeRole.SourceProfile == origProfile { + assumeRoleSrc = *cfg + assumeRoleSrc.AssumeRole = assumeRoleConfig{} + } else { + err := assumeRoleSrc.setFromIniFiles(cfg.AssumeRole.SourceProfile, files) + if err != nil { + return err + } + } + + if len(assumeRoleSrc.Creds.AccessKeyID) == 0 { + return SharedConfigAssumeRoleError{RoleARN: cfg.AssumeRole.RoleARN} + } + + cfg.AssumeRoleSource = &assumeRoleSrc + + return nil +} + +func (cfg *sharedConfig) setFromIniFiles(profile string, files []sharedConfigFile) error { + // Trim files from the list that don't exist. + for _, f := range files { + if err := cfg.setFromIniFile(profile, f); err != nil { + if _, ok := err.(SharedConfigProfileNotExistsError); ok { + // Ignore proviles missings + continue + } + return err + } + } + + return nil +} + +// setFromFile loads the configuration from the file using +// the profile provided. A sharedConfig pointer type value is used so that +// multiple config file loadings can be chained. +// +// Only loads complete logically grouped values, and will not set fields in cfg +// for incomplete grouped values in the config. Such as credentials. For example +// if a config file only includes aws_access_key_id but no aws_secret_access_key +// the aws_access_key_id will be ignored. +func (cfg *sharedConfig) setFromIniFile(profile string, file sharedConfigFile) error { + section, err := file.IniData.GetSection(profile) + if err != nil { + // Fallback to to alternate profile name: profile + section, err = file.IniData.GetSection(fmt.Sprintf("profile %s", profile)) + if err != nil { + return SharedConfigProfileNotExistsError{Profile: profile, Err: err} + } + } + + // Shared Credentials + akid := section.Key(accessKeyIDKey).String() + secret := section.Key(secretAccessKey).String() + if len(akid) > 0 && len(secret) > 0 { + cfg.Creds = credentials.Value{ + AccessKeyID: akid, + SecretAccessKey: secret, + SessionToken: section.Key(sessionTokenKey).String(), + ProviderName: fmt.Sprintf("SharedConfigCredentials: %s", file.Filename), + } + } + + // Assume Role + roleArn := section.Key(roleArnKey).String() + srcProfile := section.Key(sourceProfileKey).String() + if len(roleArn) > 0 && len(srcProfile) > 0 { + cfg.AssumeRole = assumeRoleConfig{ + RoleARN: roleArn, + SourceProfile: srcProfile, + ExternalID: section.Key(externalIDKey).String(), + MFASerial: section.Key(mfaSerialKey).String(), + RoleSessionName: section.Key(roleSessionNameKey).String(), + } + } + + // Region + if v := section.Key(regionKey).String(); len(v) > 0 { + cfg.Region = v + } + + return nil +} + +// SharedConfigLoadError is an error for the shared config file failed to load. +type SharedConfigLoadError struct { + Filename string + Err error +} + +// Code is the short id of the error. +func (e SharedConfigLoadError) Code() string { + return "SharedConfigLoadError" +} + +// Message is the description of the error +func (e SharedConfigLoadError) Message() string { + return fmt.Sprintf("failed to load config file, %s", e.Filename) +} + +// OrigErr is the underlying error that caused the failure. +func (e SharedConfigLoadError) OrigErr() error { + return e.Err +} + +// Error satisfies the error interface. +func (e SharedConfigLoadError) Error() string { + return awserr.SprintError(e.Code(), e.Message(), "", e.Err) +} + +// SharedConfigProfileNotExistsError is an error for the shared config when +// the profile was not find in the config file. +type SharedConfigProfileNotExistsError struct { + Profile string + Err error +} + +// Code is the short id of the error. +func (e SharedConfigProfileNotExistsError) Code() string { + return "SharedConfigProfileNotExistsError" +} + +// Message is the description of the error +func (e SharedConfigProfileNotExistsError) Message() string { + return fmt.Sprintf("failed to get profile, %s", e.Profile) +} + +// OrigErr is the underlying error that caused the failure. +func (e SharedConfigProfileNotExistsError) OrigErr() error { + return e.Err +} + +// Error satisfies the error interface. +func (e SharedConfigProfileNotExistsError) Error() string { + return awserr.SprintError(e.Code(), e.Message(), "", e.Err) +} + +// SharedConfigAssumeRoleError is an error for the shared config when the +// profile contains assume role information, but that information is invalid +// or not complete. +type SharedConfigAssumeRoleError struct { + RoleARN string +} + +// Code is the short id of the error. +func (e SharedConfigAssumeRoleError) Code() string { + return "SharedConfigAssumeRoleError" +} + +// Message is the description of the error +func (e SharedConfigAssumeRoleError) Message() string { + return fmt.Sprintf("failed to load assume role for %s, source profile has no shared credentials", + e.RoleARN) +} + +// OrigErr is the underlying error that caused the failure. +func (e SharedConfigAssumeRoleError) OrigErr() error { + return nil +} + +// Error satisfies the error interface. +func (e SharedConfigAssumeRoleError) Error() string { + return awserr.SprintError(e.Code(), e.Message(), "", nil) +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/uri_path.go b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/uri_path.go new file mode 100644 index 000000000000..bd082e9d1f78 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/uri_path.go @@ -0,0 +1,24 @@ +// +build go1.5 + +package v4 + +import ( + "net/url" + "strings" +) + +func getURIPath(u *url.URL) string { + var uri string + + if len(u.Opaque) > 0 { + uri = "/" + strings.Join(strings.Split(u.Opaque, "/")[3:], "/") + } else { + uri = u.EscapedPath() + } + + if len(uri) == 0 { + uri = "/" + } + + return uri +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/uri_path_1_4.go b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/uri_path_1_4.go new file mode 100644 index 000000000000..796604121ce8 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/uri_path_1_4.go @@ -0,0 +1,24 @@ +// +build !go1.5 + +package v4 + +import ( + "net/url" + "strings" +) + +func getURIPath(u *url.URL) string { + var uri string + + if len(u.Opaque) > 0 { + uri = "/" + strings.Join(strings.Split(u.Opaque, "/")[3:], "/") + } else { + uri = u.Path + } + + if len(uri) == 0 { + uri = "/" + } + + return uri +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go new file mode 100644 index 000000000000..986530b40193 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go @@ -0,0 +1,713 @@ +// Package v4 implements signing for AWS V4 signer +// +// Provides request signing for request that need to be signed with +// AWS V4 Signatures. +// +// Standalone Signer +// +// Generally using the signer outside of the SDK should not require any additional +// logic when using Go v1.5 or higher. The signer does this by taking advantage +// of the URL.EscapedPath method. If your request URI requires additional escaping +// you many need to use the URL.Opaque to define what the raw URI should be sent +// to the service as. +// +// The signer will first check the URL.Opaque field, and use its value if set. +// The signer does require the URL.Opaque field to be set in the form of: +// +// "///" +// +// // e.g. +// "//example.com/some/path" +// +// The leading "//" and hostname are required or the URL.Opaque escaping will +// not work correctly. +// +// If URL.Opaque is not set the signer will fallback to the URL.EscapedPath() +// method and using the returned value. If you're using Go v1.4 you must set +// URL.Opaque if the URI path needs escaping. If URL.Opaque is not set with +// Go v1.5 the signer will fallback to URL.Path. +// +// AWS v4 signature validation requires that the canonical string's URI path +// element must be the URI escaped form of the HTTP request's path. +// http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html +// +// The Go HTTP client will perform escaping automatically on the request. Some +// of these escaping may cause signature validation errors because the HTTP +// request differs from the URI path or query that the signature was generated. +// https://golang.org/pkg/net/url/#URL.EscapedPath +// +// Because of this, it is recommended that when using the signer outside of the +// SDK that explicitly escaping the request prior to being signed is preferable, +// and will help prevent signature validation errors. This can be done by setting +// the URL.Opaque or URL.RawPath. The SDK will use URL.Opaque first and then +// call URL.EscapedPath() if Opaque is not set. +// +// Test `TestStandaloneSign` provides a complete example of using the signer +// outside of the SDK and pre-escaping the URI path. +package v4 + +import ( + "bytes" + "crypto/hmac" + "crypto/sha256" + "encoding/hex" + "fmt" + "io" + "io/ioutil" + "net/http" + "net/url" + "sort" + "strconv" + "strings" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/credentials" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol/rest" +) + +const ( + authHeaderPrefix = "AWS4-HMAC-SHA256" + timeFormat = "20060102T150405Z" + shortTimeFormat = "20060102" + + // emptyStringSHA256 is a SHA256 of an empty string + emptyStringSHA256 = `e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855` +) + +var ignoredHeaders = rules{ + blacklist{ + mapRule{ + "Authorization": struct{}{}, + "User-Agent": struct{}{}, + }, + }, +} + +// requiredSignedHeaders is a whitelist for build canonical headers. +var requiredSignedHeaders = rules{ + whitelist{ + mapRule{ + "Cache-Control": struct{}{}, + "Content-Disposition": struct{}{}, + "Content-Encoding": struct{}{}, + "Content-Language": struct{}{}, + "Content-Md5": struct{}{}, + "Content-Type": struct{}{}, + "Expires": struct{}{}, + "If-Match": struct{}{}, + "If-Modified-Since": struct{}{}, + "If-None-Match": struct{}{}, + "If-Unmodified-Since": struct{}{}, + "Range": struct{}{}, + "X-Amz-Acl": struct{}{}, + "X-Amz-Copy-Source": struct{}{}, + "X-Amz-Copy-Source-If-Match": struct{}{}, + "X-Amz-Copy-Source-If-Modified-Since": struct{}{}, + "X-Amz-Copy-Source-If-None-Match": struct{}{}, + "X-Amz-Copy-Source-If-Unmodified-Since": struct{}{}, + "X-Amz-Copy-Source-Range": struct{}{}, + "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Algorithm": struct{}{}, + "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key": struct{}{}, + "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key-Md5": struct{}{}, + "X-Amz-Grant-Full-control": struct{}{}, + "X-Amz-Grant-Read": struct{}{}, + "X-Amz-Grant-Read-Acp": struct{}{}, + "X-Amz-Grant-Write": struct{}{}, + "X-Amz-Grant-Write-Acp": struct{}{}, + "X-Amz-Metadata-Directive": struct{}{}, + "X-Amz-Mfa": struct{}{}, + "X-Amz-Request-Payer": struct{}{}, + "X-Amz-Server-Side-Encryption": struct{}{}, + "X-Amz-Server-Side-Encryption-Aws-Kms-Key-Id": struct{}{}, + "X-Amz-Server-Side-Encryption-Customer-Algorithm": struct{}{}, + "X-Amz-Server-Side-Encryption-Customer-Key": struct{}{}, + "X-Amz-Server-Side-Encryption-Customer-Key-Md5": struct{}{}, + "X-Amz-Storage-Class": struct{}{}, + "X-Amz-Website-Redirect-Location": struct{}{}, + }, + }, + patterns{"X-Amz-Meta-"}, +} + +// allowedHoisting is a whitelist for build query headers. The boolean value +// represents whether or not it is a pattern. +var allowedQueryHoisting = inclusiveRules{ + blacklist{requiredSignedHeaders}, + patterns{"X-Amz-"}, +} + +// Signer applies AWS v4 signing to given request. Use this to sign requests +// that need to be signed with AWS V4 Signatures. +type Signer struct { + // The authentication credentials the request will be signed against. + // This value must be set to sign requests. + Credentials *credentials.Credentials + + // Sets the log level the signer should use when reporting information to + // the logger. If the logger is nil nothing will be logged. See + // aws.LogLevelType for more information on available logging levels + // + // By default nothing will be logged. + Debug aws.LogLevelType + + // The logger loging information will be written to. If there the logger + // is nil, nothing will be logged. + Logger aws.Logger + + // Disables the Signer's moving HTTP header key/value pairs from the HTTP + // request header to the request's query string. This is most commonly used + // with pre-signed requests preventing headers from being added to the + // request's query string. + DisableHeaderHoisting bool + + // Disables the automatic escaping of the URI path of the request for the + // siganture's canonical string's path. For services that do not need additional + // escaping then use this to disable the signer escaping the path. + // + // S3 is an example of a service that does not need additional escaping. + // + // http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html + DisableURIPathEscaping bool + + // currentTimeFn returns the time value which represents the current time. + // This value should only be used for testing. If it is nil the default + // time.Now will be used. + currentTimeFn func() time.Time +} + +// NewSigner returns a Signer pointer configured with the credentials and optional +// option values provided. If not options are provided the Signer will use its +// default configuration. +func NewSigner(credentials *credentials.Credentials, options ...func(*Signer)) *Signer { + v4 := &Signer{ + Credentials: credentials, + } + + for _, option := range options { + option(v4) + } + + return v4 +} + +type signingCtx struct { + ServiceName string + Region string + Request *http.Request + Body io.ReadSeeker + Query url.Values + Time time.Time + ExpireTime time.Duration + SignedHeaderVals http.Header + + DisableURIPathEscaping bool + + credValues credentials.Value + isPresign bool + formattedTime string + formattedShortTime string + + bodyDigest string + signedHeaders string + canonicalHeaders string + canonicalString string + credentialString string + stringToSign string + signature string + authorization string +} + +// Sign signs AWS v4 requests with the provided body, service name, region the +// request is made to, and time the request is signed at. The signTime allows +// you to specify that a request is signed for the future, and cannot be +// used until then. +// +// Returns a list of HTTP headers that were included in the signature or an +// error if signing the request failed. Generally for signed requests this value +// is not needed as the full request context will be captured by the http.Request +// value. It is included for reference though. +// +// Sign will set the request's Body to be the `body` parameter passed in. If +// the body is not already an io.ReadCloser, it will be wrapped within one. If +// a `nil` body parameter passed to Sign, the request's Body field will be +// also set to nil. Its important to note that this functionality will not +// change the request's ContentLength of the request. +// +// Sign differs from Presign in that it will sign the request using HTTP +// header values. This type of signing is intended for http.Request values that +// will not be shared, or are shared in a way the header values on the request +// will not be lost. +// +// The requests body is an io.ReadSeeker so the SHA256 of the body can be +// generated. To bypass the signer computing the hash you can set the +// "X-Amz-Content-Sha256" header with a precomputed value. The signer will +// only compute the hash if the request header value is empty. +func (v4 Signer) Sign(r *http.Request, body io.ReadSeeker, service, region string, signTime time.Time) (http.Header, error) { + return v4.signWithBody(r, body, service, region, 0, signTime) +} + +// Presign signs AWS v4 requests with the provided body, service name, region +// the request is made to, and time the request is signed at. The signTime +// allows you to specify that a request is signed for the future, and cannot +// be used until then. +// +// Returns a list of HTTP headers that were included in the signature or an +// error if signing the request failed. For presigned requests these headers +// and their values must be included on the HTTP request when it is made. This +// is helpful to know what header values need to be shared with the party the +// presigned request will be distributed to. +// +// Presign differs from Sign in that it will sign the request using query string +// instead of header values. This allows you to share the Presigned Request's +// URL with third parties, or distribute it throughout your system with minimal +// dependencies. +// +// Presign also takes an exp value which is the duration the +// signed request will be valid after the signing time. This is allows you to +// set when the request will expire. +// +// The requests body is an io.ReadSeeker so the SHA256 of the body can be +// generated. To bypass the signer computing the hash you can set the +// "X-Amz-Content-Sha256" header with a precomputed value. The signer will +// only compute the hash if the request header value is empty. +// +// Presigning a S3 request will not compute the body's SHA256 hash by default. +// This is done due to the general use case for S3 presigned URLs is to share +// PUT/GET capabilities. If you would like to include the body's SHA256 in the +// presigned request's signature you can set the "X-Amz-Content-Sha256" +// HTTP header and that will be included in the request's signature. +func (v4 Signer) Presign(r *http.Request, body io.ReadSeeker, service, region string, exp time.Duration, signTime time.Time) (http.Header, error) { + return v4.signWithBody(r, body, service, region, exp, signTime) +} + +func (v4 Signer) signWithBody(r *http.Request, body io.ReadSeeker, service, region string, exp time.Duration, signTime time.Time) (http.Header, error) { + currentTimeFn := v4.currentTimeFn + if currentTimeFn == nil { + currentTimeFn = time.Now + } + + ctx := &signingCtx{ + Request: r, + Body: body, + Query: r.URL.Query(), + Time: signTime, + ExpireTime: exp, + isPresign: exp != 0, + ServiceName: service, + Region: region, + DisableURIPathEscaping: v4.DisableURIPathEscaping, + } + + if ctx.isRequestSigned() { + ctx.Time = currentTimeFn() + ctx.handlePresignRemoval() + } + + var err error + ctx.credValues, err = v4.Credentials.Get() + if err != nil { + return http.Header{}, err + } + + ctx.assignAmzQueryValues() + ctx.build(v4.DisableHeaderHoisting) + + // If the request is not presigned the body should be attached to it. This + // prevents the confusion of wanting to send a signed request without + // the body the request was signed for attached. + if !ctx.isPresign { + var reader io.ReadCloser + if body != nil { + var ok bool + if reader, ok = body.(io.ReadCloser); !ok { + reader = ioutil.NopCloser(body) + } + } + r.Body = reader + } + + if v4.Debug.Matches(aws.LogDebugWithSigning) { + v4.logSigningInfo(ctx) + } + + return ctx.SignedHeaderVals, nil +} + +func (ctx *signingCtx) handlePresignRemoval() { + if !ctx.isPresign { + return + } + + // The credentials have expired for this request. The current signing + // is invalid, and needs to be request because the request will fail. + ctx.removePresign() + + // Update the request's query string to ensure the values stays in + // sync in the case retrieving the new credentials fails. + ctx.Request.URL.RawQuery = ctx.Query.Encode() +} + +func (ctx *signingCtx) assignAmzQueryValues() { + if ctx.isPresign { + ctx.Query.Set("X-Amz-Algorithm", authHeaderPrefix) + if ctx.credValues.SessionToken != "" { + ctx.Query.Set("X-Amz-Security-Token", ctx.credValues.SessionToken) + } else { + ctx.Query.Del("X-Amz-Security-Token") + } + + return + } + + if ctx.credValues.SessionToken != "" { + ctx.Request.Header.Set("X-Amz-Security-Token", ctx.credValues.SessionToken) + } +} + +// SignRequestHandler is a named request handler the SDK will use to sign +// service client request with using the V4 signature. +var SignRequestHandler = request.NamedHandler{ + Name: "v4.SignRequestHandler", Fn: SignSDKRequest, +} + +// SignSDKRequest signs an AWS request with the V4 signature. This +// request handler is bested used only with the SDK's built in service client's +// API operation requests. +// +// This function should not be used on its on its own, but in conjunction with +// an AWS service client's API operation call. To sign a standalone request +// not created by a service client's API operation method use the "Sign" or +// "Presign" functions of the "Signer" type. +// +// If the credentials of the request's config are set to +// credentials.AnonymousCredentials the request will not be signed. +func SignSDKRequest(req *request.Request) { + signSDKRequestWithCurrTime(req, time.Now) +} +func signSDKRequestWithCurrTime(req *request.Request, curTimeFn func() time.Time) { + // If the request does not need to be signed ignore the signing of the + // request if the AnonymousCredentials object is used. + if req.Config.Credentials == credentials.AnonymousCredentials { + return + } + + region := req.ClientInfo.SigningRegion + if region == "" { + region = aws.StringValue(req.Config.Region) + } + + name := req.ClientInfo.SigningName + if name == "" { + name = req.ClientInfo.ServiceName + } + + v4 := NewSigner(req.Config.Credentials, func(v4 *Signer) { + v4.Debug = req.Config.LogLevel.Value() + v4.Logger = req.Config.Logger + v4.DisableHeaderHoisting = req.NotHoist + v4.currentTimeFn = curTimeFn + if name == "s3" { + // S3 service should not have any escaping applied + v4.DisableURIPathEscaping = true + } + }) + + signingTime := req.Time + if !req.LastSignedAt.IsZero() { + signingTime = req.LastSignedAt + } + + signedHeaders, err := v4.signWithBody(req.HTTPRequest, req.GetBody(), + name, region, req.ExpireTime, signingTime, + ) + if err != nil { + req.Error = err + req.SignedHeaderVals = nil + return + } + + req.SignedHeaderVals = signedHeaders + req.LastSignedAt = curTimeFn() +} + +const logSignInfoMsg = `DEBUG: Request Signature: +---[ CANONICAL STRING ]----------------------------- +%s +---[ STRING TO SIGN ]-------------------------------- +%s%s +-----------------------------------------------------` +const logSignedURLMsg = ` +---[ SIGNED URL ]------------------------------------ +%s` + +func (v4 *Signer) logSigningInfo(ctx *signingCtx) { + signedURLMsg := "" + if ctx.isPresign { + signedURLMsg = fmt.Sprintf(logSignedURLMsg, ctx.Request.URL.String()) + } + msg := fmt.Sprintf(logSignInfoMsg, ctx.canonicalString, ctx.stringToSign, signedURLMsg) + v4.Logger.Log(msg) +} + +func (ctx *signingCtx) build(disableHeaderHoisting bool) { + ctx.buildTime() // no depends + ctx.buildCredentialString() // no depends + + unsignedHeaders := ctx.Request.Header + if ctx.isPresign { + if !disableHeaderHoisting { + urlValues := url.Values{} + urlValues, unsignedHeaders = buildQuery(allowedQueryHoisting, unsignedHeaders) // no depends + for k := range urlValues { + ctx.Query[k] = urlValues[k] + } + } + } + + ctx.buildBodyDigest() + ctx.buildCanonicalHeaders(ignoredHeaders, unsignedHeaders) + ctx.buildCanonicalString() // depends on canon headers / signed headers + ctx.buildStringToSign() // depends on canon string + ctx.buildSignature() // depends on string to sign + + if ctx.isPresign { + ctx.Request.URL.RawQuery += "&X-Amz-Signature=" + ctx.signature + } else { + parts := []string{ + authHeaderPrefix + " Credential=" + ctx.credValues.AccessKeyID + "/" + ctx.credentialString, + "SignedHeaders=" + ctx.signedHeaders, + "Signature=" + ctx.signature, + } + ctx.Request.Header.Set("Authorization", strings.Join(parts, ", ")) + } +} + +func (ctx *signingCtx) buildTime() { + ctx.formattedTime = ctx.Time.UTC().Format(timeFormat) + ctx.formattedShortTime = ctx.Time.UTC().Format(shortTimeFormat) + + if ctx.isPresign { + duration := int64(ctx.ExpireTime / time.Second) + ctx.Query.Set("X-Amz-Date", ctx.formattedTime) + ctx.Query.Set("X-Amz-Expires", strconv.FormatInt(duration, 10)) + } else { + ctx.Request.Header.Set("X-Amz-Date", ctx.formattedTime) + } +} + +func (ctx *signingCtx) buildCredentialString() { + ctx.credentialString = strings.Join([]string{ + ctx.formattedShortTime, + ctx.Region, + ctx.ServiceName, + "aws4_request", + }, "/") + + if ctx.isPresign { + ctx.Query.Set("X-Amz-Credential", ctx.credValues.AccessKeyID+"/"+ctx.credentialString) + } +} + +func buildQuery(r rule, header http.Header) (url.Values, http.Header) { + query := url.Values{} + unsignedHeaders := http.Header{} + for k, h := range header { + if r.IsValid(k) { + query[k] = h + } else { + unsignedHeaders[k] = h + } + } + + return query, unsignedHeaders +} +func (ctx *signingCtx) buildCanonicalHeaders(r rule, header http.Header) { + var headers []string + headers = append(headers, "host") + for k, v := range header { + canonicalKey := http.CanonicalHeaderKey(k) + if !r.IsValid(canonicalKey) { + continue // ignored header + } + if ctx.SignedHeaderVals == nil { + ctx.SignedHeaderVals = make(http.Header) + } + + lowerCaseKey := strings.ToLower(k) + if _, ok := ctx.SignedHeaderVals[lowerCaseKey]; ok { + // include additional values + ctx.SignedHeaderVals[lowerCaseKey] = append(ctx.SignedHeaderVals[lowerCaseKey], v...) + continue + } + + headers = append(headers, lowerCaseKey) + ctx.SignedHeaderVals[lowerCaseKey] = v + } + sort.Strings(headers) + + ctx.signedHeaders = strings.Join(headers, ";") + + if ctx.isPresign { + ctx.Query.Set("X-Amz-SignedHeaders", ctx.signedHeaders) + } + + headerValues := make([]string, len(headers)) + for i, k := range headers { + if k == "host" { + headerValues[i] = "host:" + ctx.Request.URL.Host + } else { + headerValues[i] = k + ":" + + strings.Join(ctx.SignedHeaderVals[k], ",") + } + } + + ctx.canonicalHeaders = strings.Join(stripExcessSpaces(headerValues), "\n") +} + +func (ctx *signingCtx) buildCanonicalString() { + ctx.Request.URL.RawQuery = strings.Replace(ctx.Query.Encode(), "+", "%20", -1) + + uri := getURIPath(ctx.Request.URL) + + if !ctx.DisableURIPathEscaping { + uri = rest.EscapePath(uri, false) + } + + ctx.canonicalString = strings.Join([]string{ + ctx.Request.Method, + uri, + ctx.Request.URL.RawQuery, + ctx.canonicalHeaders + "\n", + ctx.signedHeaders, + ctx.bodyDigest, + }, "\n") +} + +func (ctx *signingCtx) buildStringToSign() { + ctx.stringToSign = strings.Join([]string{ + authHeaderPrefix, + ctx.formattedTime, + ctx.credentialString, + hex.EncodeToString(makeSha256([]byte(ctx.canonicalString))), + }, "\n") +} + +func (ctx *signingCtx) buildSignature() { + secret := ctx.credValues.SecretAccessKey + date := makeHmac([]byte("AWS4"+secret), []byte(ctx.formattedShortTime)) + region := makeHmac(date, []byte(ctx.Region)) + service := makeHmac(region, []byte(ctx.ServiceName)) + credentials := makeHmac(service, []byte("aws4_request")) + signature := makeHmac(credentials, []byte(ctx.stringToSign)) + ctx.signature = hex.EncodeToString(signature) +} + +func (ctx *signingCtx) buildBodyDigest() { + hash := ctx.Request.Header.Get("X-Amz-Content-Sha256") + if hash == "" { + if ctx.isPresign && ctx.ServiceName == "s3" { + hash = "UNSIGNED-PAYLOAD" + } else if ctx.Body == nil { + hash = emptyStringSHA256 + } else { + hash = hex.EncodeToString(makeSha256Reader(ctx.Body)) + } + if ctx.ServiceName == "s3" || ctx.ServiceName == "glacier" { + ctx.Request.Header.Set("X-Amz-Content-Sha256", hash) + } + } + ctx.bodyDigest = hash +} + +// isRequestSigned returns if the request is currently signed or presigned +func (ctx *signingCtx) isRequestSigned() bool { + if ctx.isPresign && ctx.Query.Get("X-Amz-Signature") != "" { + return true + } + if ctx.Request.Header.Get("Authorization") != "" { + return true + } + + return false +} + +// unsign removes signing flags for both signed and presigned requests. +func (ctx *signingCtx) removePresign() { + ctx.Query.Del("X-Amz-Algorithm") + ctx.Query.Del("X-Amz-Signature") + ctx.Query.Del("X-Amz-Security-Token") + ctx.Query.Del("X-Amz-Date") + ctx.Query.Del("X-Amz-Expires") + ctx.Query.Del("X-Amz-Credential") + ctx.Query.Del("X-Amz-SignedHeaders") +} + +func makeHmac(key []byte, data []byte) []byte { + hash := hmac.New(sha256.New, key) + hash.Write(data) + return hash.Sum(nil) +} + +func makeSha256(data []byte) []byte { + hash := sha256.New() + hash.Write(data) + return hash.Sum(nil) +} + +func makeSha256Reader(reader io.ReadSeeker) []byte { + hash := sha256.New() + start, _ := reader.Seek(0, 1) + defer reader.Seek(start, 0) + + io.Copy(hash, reader) + return hash.Sum(nil) +} + +const doubleSpaces = " " + +var doubleSpaceBytes = []byte(doubleSpaces) + +func stripExcessSpaces(headerVals []string) []string { + vals := make([]string, len(headerVals)) + for i, str := range headerVals { + // Trim leading and trailing spaces + trimmed := strings.TrimSpace(str) + + idx := strings.Index(trimmed, doubleSpaces) + var buf []byte + for idx > -1 { + // Multiple adjacent spaces found + if buf == nil { + // first time create the buffer + buf = []byte(trimmed) + } + + stripToIdx := -1 + for j := idx + 1; j < len(buf); j++ { + if buf[j] != ' ' { + buf = append(buf[:idx+1], buf[j:]...) + stripToIdx = j + break + } + } + + if stripToIdx >= 0 { + idx = bytes.Index(buf[stripToIdx:], doubleSpaceBytes) + if idx >= 0 { + idx += stripToIdx + } + } else { + idx = -1 + } + } + + if buf != nil { + vals[i] = string(buf) + } else { + vals[i] = trimmed + } + } + return vals +} 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 81948566398b..4434e049284c 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.1.23" +const SDKVersion = "1.4.17" diff --git a/vendor/github.com/aws/aws-sdk-go/private/endpoints/endpoints.go b/vendor/github.com/aws/aws-sdk-go/private/endpoints/endpoints.go index 2b279e65999a..cd3d96acad5d 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/endpoints/endpoints.go +++ b/vendor/github.com/aws/aws-sdk-go/private/endpoints/endpoints.go @@ -1,7 +1,7 @@ // Package endpoints validates regional endpoints for services. package endpoints -//go:generate go run ../model/cli/gen-endpoints/main.go endpoints.json endpoints_map.go +//go:generate go run -tags codegen ../model/cli/gen-endpoints/main.go endpoints.json endpoints_map.go //go:generate gofmt -s -w endpoints_map.go import ( diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/build.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/build.go index 68e344d1fc6b..d54f3443e6a5 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/build.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/build.go @@ -1,7 +1,7 @@ // Package ec2query provides serialisation of AWS EC2 requests and responses. package ec2query -//go:generate go run ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/input/ec2.json build_test.go +//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/input/ec2.json build_test.go import ( "net/url" diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/unmarshal.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/unmarshal.go index 631e63c0b5d1..095e97ccf917 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/unmarshal.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/unmarshal.go @@ -1,6 +1,6 @@ package ec2query -//go:generate go run ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/output/ec2.json unmarshal_test.go +//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/output/ec2.json unmarshal_test.go import ( "encoding/xml" diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/jsonrpc.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/jsonrpc.go index 7aff0e0fa447..c061e79caf29 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/jsonrpc.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/jsonrpc.go @@ -2,8 +2,8 @@ // requests and responses. package jsonrpc -//go:generate go run ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/input/json.json build_test.go -//go:generate go run ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/output/json.json unmarshal_test.go +//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/input/json.json build_test.go +//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/output/json.json unmarshal_test.go import ( "encoding/json" diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go index 56d69db05c17..35b94d2939dd 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go @@ -1,7 +1,7 @@ // Package query provides serialisation of AWS query requests, and responses. package query -//go:generate go run ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/input/query.json build_test.go +//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/input/query.json build_test.go import ( "net/url" diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal.go index a3ea40955d7c..e0f4d5a54194 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal.go @@ -1,6 +1,6 @@ package query -//go:generate go run ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/output/query.json unmarshal_test.go +//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/output/query.json unmarshal_test.go import ( "encoding/xml" diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/restjson/restjson.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/restjson/restjson.go index 2c95a98588ee..f6b25654d1cd 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/restjson/restjson.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/restjson/restjson.go @@ -2,8 +2,8 @@ // requests and responses. package restjson -//go:generate go run ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/input/rest-json.json build_test.go -//go:generate go run ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/output/rest-json.json unmarshal_test.go +//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/input/rest-json.json build_test.go +//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/output/rest-json.json unmarshal_test.go import ( "encoding/json" diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/restxml.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/restxml.go index c74088bfe807..235ff354aa18 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/restxml.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/restxml.go @@ -2,8 +2,8 @@ // requests and responses. package restxml -//go:generate go run ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/input/rest-xml.json build_test.go -//go:generate go run ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/output/rest-xml.json unmarshal_test.go +//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/input/rest-xml.json build_test.go +//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/output/rest-xml.json unmarshal_test.go import ( "bytes" diff --git a/vendor/github.com/aws/aws-sdk-go/service/apigateway/api.go b/vendor/github.com/aws/aws-sdk-go/service/apigateway/api.go index 698647d13b96..8b485819178f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/apigateway/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/apigateway/api.go @@ -14,7 +14,30 @@ import ( const opCreateApiKey = "CreateApiKey" -// CreateApiKeyRequest generates a request for the CreateApiKey operation. +// CreateApiKeyRequest generates a "aws/request.Request" representing the +// client's request for the CreateApiKey operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateApiKey for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateApiKey method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateApiKeyRequest method. +// req, resp := client.CreateApiKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) CreateApiKeyRequest(input *CreateApiKeyInput) (req *request.Request, output *ApiKey) { op := &request.Operation{ Name: opCreateApiKey, @@ -32,7 +55,38 @@ func (c *APIGateway) CreateApiKeyRequest(input *CreateApiKeyInput) (req *request return } +// CreateApiKey API operation for Amazon API Gateway. +// // Create an ApiKey resource. +// +// AWS CLI (http://docs.aws.amazon.com/cli/latest/reference/apigateway/create-api-key.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. +// +// See the AWS API reference guide for Amazon API Gateway's +// API operation CreateApiKey for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// +// * LimitExceededException + +// +// * BadRequestException + +// +// * ConflictException + +// func (c *APIGateway) CreateApiKey(input *CreateApiKeyInput) (*ApiKey, error) { req, out := c.CreateApiKeyRequest(input) err := req.Send() @@ -41,7 +95,30 @@ func (c *APIGateway) CreateApiKey(input *CreateApiKeyInput) (*ApiKey, error) { const opCreateAuthorizer = "CreateAuthorizer" -// CreateAuthorizerRequest generates a request for the CreateAuthorizer operation. +// CreateAuthorizerRequest generates a "aws/request.Request" representing the +// client's request for the CreateAuthorizer operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateAuthorizer for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateAuthorizer method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateAuthorizerRequest method. +// req, resp := client.CreateAuthorizerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) CreateAuthorizerRequest(input *CreateAuthorizerInput) (req *request.Request, output *Authorizer) { op := &request.Operation{ Name: opCreateAuthorizer, @@ -59,7 +136,35 @@ func (c *APIGateway) CreateAuthorizerRequest(input *CreateAuthorizerInput) (req return } +// CreateAuthorizer API operation for Amazon API Gateway. +// // Adds a new Authorizer resource to an existing RestApi resource. +// +// AWS CLI (http://docs.aws.amazon.com/cli/latest/reference/apigateway/create-authorizer.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. +// +// See the AWS API reference guide for Amazon API Gateway's +// API operation CreateAuthorizer for usage and error information. +// +// Returned Error Codes: +// * BadRequestException + +// +// * UnauthorizedException + +// +// * NotFoundException + +// +// * LimitExceededException + +// +// * TooManyRequestsException + +// func (c *APIGateway) CreateAuthorizer(input *CreateAuthorizerInput) (*Authorizer, error) { req, out := c.CreateAuthorizerRequest(input) err := req.Send() @@ -68,7 +173,30 @@ func (c *APIGateway) CreateAuthorizer(input *CreateAuthorizerInput) (*Authorizer const opCreateBasePathMapping = "CreateBasePathMapping" -// CreateBasePathMappingRequest generates a request for the CreateBasePathMapping operation. +// CreateBasePathMappingRequest generates a "aws/request.Request" representing the +// client's request for the CreateBasePathMapping operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateBasePathMapping for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateBasePathMapping method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateBasePathMappingRequest method. +// req, resp := client.CreateBasePathMappingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) CreateBasePathMappingRequest(input *CreateBasePathMappingInput) (req *request.Request, output *BasePathMapping) { op := &request.Operation{ Name: opCreateBasePathMapping, @@ -86,7 +214,33 @@ func (c *APIGateway) CreateBasePathMappingRequest(input *CreateBasePathMappingIn return } +// CreateBasePathMapping API operation for Amazon API Gateway. +// // Creates a new BasePathMapping resource. +// +// 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 API Gateway's +// API operation CreateBasePathMapping for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * ConflictException + +// +// * BadRequestException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// func (c *APIGateway) CreateBasePathMapping(input *CreateBasePathMappingInput) (*BasePathMapping, error) { req, out := c.CreateBasePathMappingRequest(input) err := req.Send() @@ -95,7 +249,30 @@ func (c *APIGateway) CreateBasePathMapping(input *CreateBasePathMappingInput) (* const opCreateDeployment = "CreateDeployment" -// CreateDeploymentRequest generates a request for the CreateDeployment operation. +// CreateDeploymentRequest generates a "aws/request.Request" representing the +// client's request for the CreateDeployment operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateDeployment for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateDeployment method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateDeploymentRequest method. +// req, resp := client.CreateDeploymentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) CreateDeploymentRequest(input *CreateDeploymentInput) (req *request.Request, output *Deployment) { op := &request.Operation{ Name: opCreateDeployment, @@ -113,8 +290,40 @@ func (c *APIGateway) CreateDeploymentRequest(input *CreateDeploymentInput) (req return } +// CreateDeployment API operation for Amazon API Gateway. +// // Creates a Deployment resource, which makes a specified RestApi callable over // the internet. +// +// 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 API Gateway's +// API operation CreateDeployment for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * BadRequestException + +// +// * NotFoundException + +// +// * ConflictException + +// +// * LimitExceededException + +// +// * TooManyRequestsException + +// +// * ServiceUnavailableException + +// func (c *APIGateway) CreateDeployment(input *CreateDeploymentInput) (*Deployment, error) { req, out := c.CreateDeploymentRequest(input) err := req.Send() @@ -123,7 +332,30 @@ func (c *APIGateway) CreateDeployment(input *CreateDeploymentInput) (*Deployment const opCreateDomainName = "CreateDomainName" -// CreateDomainNameRequest generates a request for the CreateDomainName operation. +// CreateDomainNameRequest generates a "aws/request.Request" representing the +// client's request for the CreateDomainName operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateDomainName for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateDomainName method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateDomainNameRequest method. +// req, resp := client.CreateDomainNameRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) CreateDomainNameRequest(input *CreateDomainNameInput) (req *request.Request, output *DomainName) { op := &request.Operation{ Name: opCreateDomainName, @@ -141,7 +373,30 @@ func (c *APIGateway) CreateDomainNameRequest(input *CreateDomainNameInput) (req return } +// CreateDomainName API operation for Amazon API Gateway. +// // Creates a new domain name. +// +// 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 API Gateway's +// API operation CreateDomainName for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * BadRequestException + +// +// * ConflictException + +// +// * TooManyRequestsException + +// func (c *APIGateway) CreateDomainName(input *CreateDomainNameInput) (*DomainName, error) { req, out := c.CreateDomainNameRequest(input) err := req.Send() @@ -150,7 +405,30 @@ func (c *APIGateway) CreateDomainName(input *CreateDomainNameInput) (*DomainName const opCreateModel = "CreateModel" -// CreateModelRequest generates a request for the CreateModel operation. +// CreateModelRequest generates a "aws/request.Request" representing the +// client's request for the CreateModel operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateModel for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateModel method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateModelRequest method. +// req, resp := client.CreateModelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) CreateModelRequest(input *CreateModelInput) (req *request.Request, output *Model) { op := &request.Operation{ Name: opCreateModel, @@ -168,7 +446,36 @@ func (c *APIGateway) CreateModelRequest(input *CreateModelInput) (req *request.R return } +// CreateModel API operation for Amazon API Gateway. +// // Adds a new Model resource to an existing RestApi resource. +// +// 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 API Gateway's +// API operation CreateModel for usage and error information. +// +// Returned Error Codes: +// * BadRequestException + +// +// * UnauthorizedException + +// +// * NotFoundException + +// +// * ConflictException + +// +// * LimitExceededException + +// +// * TooManyRequestsException + +// func (c *APIGateway) CreateModel(input *CreateModelInput) (*Model, error) { req, out := c.CreateModelRequest(input) err := req.Send() @@ -177,7 +484,30 @@ func (c *APIGateway) CreateModel(input *CreateModelInput) (*Model, error) { const opCreateResource = "CreateResource" -// CreateResourceRequest generates a request for the CreateResource operation. +// CreateResourceRequest generates a "aws/request.Request" representing the +// client's request for the CreateResource operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateResource for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateResource method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateResourceRequest method. +// req, resp := client.CreateResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) CreateResourceRequest(input *CreateResourceInput) (req *request.Request, output *Resource) { op := &request.Operation{ Name: opCreateResource, @@ -195,7 +525,36 @@ func (c *APIGateway) CreateResourceRequest(input *CreateResourceInput) (req *req return } +// CreateResource API operation for Amazon API Gateway. +// // Creates a Resource resource. +// +// 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 API Gateway's +// API operation CreateResource for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * ConflictException + +// +// * LimitExceededException + +// +// * BadRequestException + +// +// * TooManyRequestsException + +// func (c *APIGateway) CreateResource(input *CreateResourceInput) (*Resource, error) { req, out := c.CreateResourceRequest(input) err := req.Send() @@ -204,7 +563,30 @@ func (c *APIGateway) CreateResource(input *CreateResourceInput) (*Resource, erro const opCreateRestApi = "CreateRestApi" -// CreateRestApiRequest generates a request for the CreateRestApi operation. +// CreateRestApiRequest generates a "aws/request.Request" representing the +// client's request for the CreateRestApi operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateRestApi for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateRestApi method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateRestApiRequest method. +// req, resp := client.CreateRestApiRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) CreateRestApiRequest(input *CreateRestApiInput) (req *request.Request, output *RestApi) { op := &request.Operation{ Name: opCreateRestApi, @@ -222,7 +604,30 @@ func (c *APIGateway) CreateRestApiRequest(input *CreateRestApiInput) (req *reque return } +// CreateRestApi API operation for Amazon API Gateway. +// // Creates a new RestApi resource. +// +// 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 API Gateway's +// API operation CreateRestApi for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * LimitExceededException + +// +// * BadRequestException + +// +// * TooManyRequestsException + +// func (c *APIGateway) CreateRestApi(input *CreateRestApiInput) (*RestApi, error) { req, out := c.CreateRestApiRequest(input) err := req.Send() @@ -231,7 +636,30 @@ func (c *APIGateway) CreateRestApi(input *CreateRestApiInput) (*RestApi, error) const opCreateStage = "CreateStage" -// CreateStageRequest generates a request for the CreateStage operation. +// CreateStageRequest generates a "aws/request.Request" representing the +// client's request for the CreateStage operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateStage for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateStage method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateStageRequest method. +// req, resp := client.CreateStageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) CreateStageRequest(input *CreateStageInput) (req *request.Request, output *Stage) { op := &request.Operation{ Name: opCreateStage, @@ -249,17 +677,222 @@ func (c *APIGateway) CreateStageRequest(input *CreateStageInput) (req *request.R return } +// CreateStage API operation for Amazon API Gateway. +// // Creates a new Stage resource that references a pre-existing Deployment for // the API. +// +// 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 API Gateway's +// API operation CreateStage for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * BadRequestException + +// +// * NotFoundException + +// +// * ConflictException + +// +// * LimitExceededException + +// +// * TooManyRequestsException + +// func (c *APIGateway) CreateStage(input *CreateStageInput) (*Stage, error) { req, out := c.CreateStageRequest(input) err := req.Send() return out, err } +const opCreateUsagePlan = "CreateUsagePlan" + +// CreateUsagePlanRequest generates a "aws/request.Request" representing the +// client's request for the CreateUsagePlan operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateUsagePlan for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateUsagePlan method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateUsagePlanRequest method. +// req, resp := client.CreateUsagePlanRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *APIGateway) CreateUsagePlanRequest(input *CreateUsagePlanInput) (req *request.Request, output *UsagePlan) { + op := &request.Operation{ + Name: opCreateUsagePlan, + HTTPMethod: "POST", + HTTPPath: "/usageplans", + } + + if input == nil { + input = &CreateUsagePlanInput{} + } + + req = c.newRequest(op, input, output) + output = &UsagePlan{} + req.Data = output + return +} + +// CreateUsagePlan API operation for Amazon API Gateway. +// +// Creates a usage plan with the throttle and quota limits, as well as the associated +// API stages, specified in the payload. +// +// 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 API Gateway's +// API operation CreateUsagePlan for usage and error information. +// +// Returned Error Codes: +// * BadRequestException + +// +// * UnauthorizedException + +// +// * TooManyRequestsException + +// +// * LimitExceededException + +// +// * ConflictException + +// +func (c *APIGateway) CreateUsagePlan(input *CreateUsagePlanInput) (*UsagePlan, error) { + req, out := c.CreateUsagePlanRequest(input) + err := req.Send() + return out, err +} + +const opCreateUsagePlanKey = "CreateUsagePlanKey" + +// CreateUsagePlanKeyRequest generates a "aws/request.Request" representing the +// client's request for the CreateUsagePlanKey operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateUsagePlanKey for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateUsagePlanKey method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateUsagePlanKeyRequest method. +// req, resp := client.CreateUsagePlanKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *APIGateway) CreateUsagePlanKeyRequest(input *CreateUsagePlanKeyInput) (req *request.Request, output *UsagePlanKey) { + op := &request.Operation{ + Name: opCreateUsagePlanKey, + HTTPMethod: "POST", + HTTPPath: "/usageplans/{usageplanId}/keys", + } + + if input == nil { + input = &CreateUsagePlanKeyInput{} + } + + req = c.newRequest(op, input, output) + output = &UsagePlanKey{} + req.Data = output + return +} + +// CreateUsagePlanKey API operation for Amazon API Gateway. +// +// Creates a usage plan key for adding an existing API key to a usage plan. +// +// 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 API Gateway's +// API operation CreateUsagePlanKey for usage and error information. +// +// Returned Error Codes: +// * BadRequestException + +// +// * ConflictException + +// +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// +func (c *APIGateway) CreateUsagePlanKey(input *CreateUsagePlanKeyInput) (*UsagePlanKey, error) { + req, out := c.CreateUsagePlanKeyRequest(input) + err := req.Send() + return out, err +} + const opDeleteApiKey = "DeleteApiKey" -// DeleteApiKeyRequest generates a request for the DeleteApiKey operation. +// DeleteApiKeyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteApiKey operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteApiKey for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteApiKey method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteApiKeyRequest method. +// req, resp := client.DeleteApiKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) DeleteApiKeyRequest(input *DeleteApiKeyInput) (req *request.Request, output *DeleteApiKeyOutput) { op := &request.Operation{ Name: opDeleteApiKey, @@ -279,7 +912,27 @@ func (c *APIGateway) DeleteApiKeyRequest(input *DeleteApiKeyInput) (req *request return } +// DeleteApiKey API operation for Amazon API Gateway. +// // Deletes the ApiKey resource. +// +// 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 API Gateway's +// API operation DeleteApiKey for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// func (c *APIGateway) DeleteApiKey(input *DeleteApiKeyInput) (*DeleteApiKeyOutput, error) { req, out := c.DeleteApiKeyRequest(input) err := req.Send() @@ -288,7 +941,30 @@ func (c *APIGateway) DeleteApiKey(input *DeleteApiKeyInput) (*DeleteApiKeyOutput const opDeleteAuthorizer = "DeleteAuthorizer" -// DeleteAuthorizerRequest generates a request for the DeleteAuthorizer operation. +// DeleteAuthorizerRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAuthorizer operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteAuthorizer for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteAuthorizer method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteAuthorizerRequest method. +// req, resp := client.DeleteAuthorizerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) DeleteAuthorizerRequest(input *DeleteAuthorizerInput) (req *request.Request, output *DeleteAuthorizerOutput) { op := &request.Operation{ Name: opDeleteAuthorizer, @@ -308,7 +984,35 @@ func (c *APIGateway) DeleteAuthorizerRequest(input *DeleteAuthorizerInput) (req return } +// DeleteAuthorizer API operation for Amazon API Gateway. +// // Deletes an existing Authorizer resource. +// +// AWS CLI (http://docs.aws.amazon.com/cli/latest/reference/apigateway/delete-authorizer.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. +// +// See the AWS API reference guide for Amazon API Gateway's +// API operation DeleteAuthorizer for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// +// * BadRequestException + +// +// * ConflictException + +// func (c *APIGateway) DeleteAuthorizer(input *DeleteAuthorizerInput) (*DeleteAuthorizerOutput, error) { req, out := c.DeleteAuthorizerRequest(input) err := req.Send() @@ -317,7 +1021,30 @@ func (c *APIGateway) DeleteAuthorizer(input *DeleteAuthorizerInput) (*DeleteAuth const opDeleteBasePathMapping = "DeleteBasePathMapping" -// DeleteBasePathMappingRequest generates a request for the DeleteBasePathMapping operation. +// DeleteBasePathMappingRequest generates a "aws/request.Request" representing the +// client's request for the DeleteBasePathMapping operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteBasePathMapping for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteBasePathMapping method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteBasePathMappingRequest method. +// req, resp := client.DeleteBasePathMappingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) DeleteBasePathMappingRequest(input *DeleteBasePathMappingInput) (req *request.Request, output *DeleteBasePathMappingOutput) { op := &request.Operation{ Name: opDeleteBasePathMapping, @@ -337,7 +1064,27 @@ func (c *APIGateway) DeleteBasePathMappingRequest(input *DeleteBasePathMappingIn return } +// DeleteBasePathMapping API operation for Amazon API Gateway. +// // Deletes the BasePathMapping resource. +// +// 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 API Gateway's +// API operation DeleteBasePathMapping for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// func (c *APIGateway) DeleteBasePathMapping(input *DeleteBasePathMappingInput) (*DeleteBasePathMappingOutput, error) { req, out := c.DeleteBasePathMappingRequest(input) err := req.Send() @@ -346,7 +1093,30 @@ func (c *APIGateway) DeleteBasePathMapping(input *DeleteBasePathMappingInput) (* const opDeleteClientCertificate = "DeleteClientCertificate" -// DeleteClientCertificateRequest generates a request for the DeleteClientCertificate operation. +// DeleteClientCertificateRequest generates a "aws/request.Request" representing the +// client's request for the DeleteClientCertificate operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteClientCertificate for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteClientCertificate method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteClientCertificateRequest method. +// req, resp := client.DeleteClientCertificateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) DeleteClientCertificateRequest(input *DeleteClientCertificateInput) (req *request.Request, output *DeleteClientCertificateOutput) { op := &request.Operation{ Name: opDeleteClientCertificate, @@ -366,7 +1136,30 @@ func (c *APIGateway) DeleteClientCertificateRequest(input *DeleteClientCertifica return } +// DeleteClientCertificate API operation for Amazon API Gateway. +// // Deletes the ClientCertificate resource. +// +// 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 API Gateway's +// API operation DeleteClientCertificate for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * TooManyRequestsException + +// +// * BadRequestException + +// +// * NotFoundException + +// func (c *APIGateway) DeleteClientCertificate(input *DeleteClientCertificateInput) (*DeleteClientCertificateOutput, error) { req, out := c.DeleteClientCertificateRequest(input) err := req.Send() @@ -375,7 +1168,30 @@ func (c *APIGateway) DeleteClientCertificate(input *DeleteClientCertificateInput const opDeleteDeployment = "DeleteDeployment" -// DeleteDeploymentRequest generates a request for the DeleteDeployment operation. +// DeleteDeploymentRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDeployment operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteDeployment for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteDeployment method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteDeploymentRequest method. +// req, resp := client.DeleteDeploymentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) DeleteDeploymentRequest(input *DeleteDeploymentInput) (req *request.Request, output *DeleteDeploymentOutput) { op := &request.Operation{ Name: opDeleteDeployment, @@ -395,8 +1211,31 @@ func (c *APIGateway) DeleteDeploymentRequest(input *DeleteDeploymentInput) (req return } +// DeleteDeployment API operation for Amazon API Gateway. +// // Deletes a Deployment resource. Deleting a deployment will only succeed if // there are no Stage resources associated with it. +// +// 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 API Gateway's +// API operation DeleteDeployment for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * BadRequestException + +// +// * TooManyRequestsException + +// func (c *APIGateway) DeleteDeployment(input *DeleteDeploymentInput) (*DeleteDeploymentOutput, error) { req, out := c.DeleteDeploymentRequest(input) err := req.Send() @@ -405,7 +1244,30 @@ func (c *APIGateway) DeleteDeployment(input *DeleteDeploymentInput) (*DeleteDepl const opDeleteDomainName = "DeleteDomainName" -// DeleteDomainNameRequest generates a request for the DeleteDomainName operation. +// DeleteDomainNameRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDomainName operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteDomainName for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteDomainName method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteDomainNameRequest method. +// req, resp := client.DeleteDomainNameRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) DeleteDomainNameRequest(input *DeleteDomainNameInput) (req *request.Request, output *DeleteDomainNameOutput) { op := &request.Operation{ Name: opDeleteDomainName, @@ -425,7 +1287,27 @@ func (c *APIGateway) DeleteDomainNameRequest(input *DeleteDomainNameInput) (req return } +// DeleteDomainName API operation for Amazon API Gateway. +// // Deletes the DomainName resource. +// +// 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 API Gateway's +// API operation DeleteDomainName for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// func (c *APIGateway) DeleteDomainName(input *DeleteDomainNameInput) (*DeleteDomainNameOutput, error) { req, out := c.DeleteDomainNameRequest(input) err := req.Send() @@ -434,7 +1316,30 @@ func (c *APIGateway) DeleteDomainName(input *DeleteDomainNameInput) (*DeleteDoma const opDeleteIntegration = "DeleteIntegration" -// DeleteIntegrationRequest generates a request for the DeleteIntegration operation. +// DeleteIntegrationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteIntegration operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteIntegration for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteIntegration method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteIntegrationRequest method. +// req, resp := client.DeleteIntegrationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) DeleteIntegrationRequest(input *DeleteIntegrationInput) (req *request.Request, output *DeleteIntegrationOutput) { op := &request.Operation{ Name: opDeleteIntegration, @@ -454,7 +1359,30 @@ func (c *APIGateway) DeleteIntegrationRequest(input *DeleteIntegrationInput) (re return } +// DeleteIntegration API operation for Amazon API Gateway. +// // Represents a delete integration. +// +// 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 API Gateway's +// API operation DeleteIntegration for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// +// * ConflictException + +// func (c *APIGateway) DeleteIntegration(input *DeleteIntegrationInput) (*DeleteIntegrationOutput, error) { req, out := c.DeleteIntegrationRequest(input) err := req.Send() @@ -463,7 +1391,30 @@ func (c *APIGateway) DeleteIntegration(input *DeleteIntegrationInput) (*DeleteIn const opDeleteIntegrationResponse = "DeleteIntegrationResponse" -// DeleteIntegrationResponseRequest generates a request for the DeleteIntegrationResponse operation. +// DeleteIntegrationResponseRequest generates a "aws/request.Request" representing the +// client's request for the DeleteIntegrationResponse operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteIntegrationResponse for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteIntegrationResponse method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteIntegrationResponseRequest method. +// req, resp := client.DeleteIntegrationResponseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) DeleteIntegrationResponseRequest(input *DeleteIntegrationResponseInput) (req *request.Request, output *DeleteIntegrationResponseOutput) { op := &request.Operation{ Name: opDeleteIntegrationResponse, @@ -483,7 +1434,33 @@ func (c *APIGateway) DeleteIntegrationResponseRequest(input *DeleteIntegrationRe return } +// DeleteIntegrationResponse API operation for Amazon API Gateway. +// // Represents a delete integration 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. +// +// See the AWS API reference guide for Amazon API Gateway's +// API operation DeleteIntegrationResponse for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// +// * BadRequestException + +// +// * ConflictException + +// func (c *APIGateway) DeleteIntegrationResponse(input *DeleteIntegrationResponseInput) (*DeleteIntegrationResponseOutput, error) { req, out := c.DeleteIntegrationResponseRequest(input) err := req.Send() @@ -492,7 +1469,30 @@ func (c *APIGateway) DeleteIntegrationResponse(input *DeleteIntegrationResponseI const opDeleteMethod = "DeleteMethod" -// DeleteMethodRequest generates a request for the DeleteMethod operation. +// DeleteMethodRequest generates a "aws/request.Request" representing the +// client's request for the DeleteMethod operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteMethod for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteMethod method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteMethodRequest method. +// req, resp := client.DeleteMethodRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) DeleteMethodRequest(input *DeleteMethodInput) (req *request.Request, output *DeleteMethodOutput) { op := &request.Operation{ Name: opDeleteMethod, @@ -512,7 +1512,30 @@ func (c *APIGateway) DeleteMethodRequest(input *DeleteMethodInput) (req *request return } +// DeleteMethod API operation for Amazon API Gateway. +// // Deletes an existing Method resource. +// +// 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 API Gateway's +// API operation DeleteMethod for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// +// * ConflictException + +// func (c *APIGateway) DeleteMethod(input *DeleteMethodInput) (*DeleteMethodOutput, error) { req, out := c.DeleteMethodRequest(input) err := req.Send() @@ -521,7 +1544,30 @@ func (c *APIGateway) DeleteMethod(input *DeleteMethodInput) (*DeleteMethodOutput const opDeleteMethodResponse = "DeleteMethodResponse" -// DeleteMethodResponseRequest generates a request for the DeleteMethodResponse operation. +// DeleteMethodResponseRequest generates a "aws/request.Request" representing the +// client's request for the DeleteMethodResponse operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteMethodResponse for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteMethodResponse method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteMethodResponseRequest method. +// req, resp := client.DeleteMethodResponseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) DeleteMethodResponseRequest(input *DeleteMethodResponseInput) (req *request.Request, output *DeleteMethodResponseOutput) { op := &request.Operation{ Name: opDeleteMethodResponse, @@ -541,7 +1587,33 @@ func (c *APIGateway) DeleteMethodResponseRequest(input *DeleteMethodResponseInpu return } +// DeleteMethodResponse API operation for Amazon API Gateway. +// // Deletes an existing MethodResponse resource. +// +// 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 API Gateway's +// API operation DeleteMethodResponse for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// +// * BadRequestException + +// +// * ConflictException + +// func (c *APIGateway) DeleteMethodResponse(input *DeleteMethodResponseInput) (*DeleteMethodResponseOutput, error) { req, out := c.DeleteMethodResponseRequest(input) err := req.Send() @@ -550,7 +1622,30 @@ func (c *APIGateway) DeleteMethodResponse(input *DeleteMethodResponseInput) (*De const opDeleteModel = "DeleteModel" -// DeleteModelRequest generates a request for the DeleteModel operation. +// DeleteModelRequest generates a "aws/request.Request" representing the +// client's request for the DeleteModel operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteModel for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteModel method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteModelRequest method. +// req, resp := client.DeleteModelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) DeleteModelRequest(input *DeleteModelInput) (req *request.Request, output *DeleteModelOutput) { op := &request.Operation{ Name: opDeleteModel, @@ -570,7 +1665,33 @@ func (c *APIGateway) DeleteModelRequest(input *DeleteModelInput) (req *request.R return } +// DeleteModel API operation for Amazon API Gateway. +// // Deletes a model. +// +// 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 API Gateway's +// API operation DeleteModel for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// +// * BadRequestException + +// +// * ConflictException + +// func (c *APIGateway) DeleteModel(input *DeleteModelInput) (*DeleteModelOutput, error) { req, out := c.DeleteModelRequest(input) err := req.Send() @@ -579,7 +1700,30 @@ func (c *APIGateway) DeleteModel(input *DeleteModelInput) (*DeleteModelOutput, e const opDeleteResource = "DeleteResource" -// DeleteResourceRequest generates a request for the DeleteResource operation. +// DeleteResourceRequest generates a "aws/request.Request" representing the +// client's request for the DeleteResource operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteResource for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteResource method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteResourceRequest method. +// req, resp := client.DeleteResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) DeleteResourceRequest(input *DeleteResourceInput) (req *request.Request, output *DeleteResourceOutput) { op := &request.Operation{ Name: opDeleteResource, @@ -599,7 +1743,33 @@ func (c *APIGateway) DeleteResourceRequest(input *DeleteResourceInput) (req *req return } +// DeleteResource API operation for Amazon API Gateway. +// // Deletes a Resource resource. +// +// 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 API Gateway's +// API operation DeleteResource for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * BadRequestException + +// +// * ConflictException + +// +// * TooManyRequestsException + +// func (c *APIGateway) DeleteResource(input *DeleteResourceInput) (*DeleteResourceOutput, error) { req, out := c.DeleteResourceRequest(input) err := req.Send() @@ -608,7 +1778,30 @@ func (c *APIGateway) DeleteResource(input *DeleteResourceInput) (*DeleteResource const opDeleteRestApi = "DeleteRestApi" -// DeleteRestApiRequest generates a request for the DeleteRestApi operation. +// DeleteRestApiRequest generates a "aws/request.Request" representing the +// client's request for the DeleteRestApi operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteRestApi for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteRestApi method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteRestApiRequest method. +// req, resp := client.DeleteRestApiRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) DeleteRestApiRequest(input *DeleteRestApiInput) (req *request.Request, output *DeleteRestApiOutput) { op := &request.Operation{ Name: opDeleteRestApi, @@ -628,7 +1821,30 @@ func (c *APIGateway) DeleteRestApiRequest(input *DeleteRestApiInput) (req *reque return } +// DeleteRestApi API operation for Amazon API Gateway. +// // Deletes the specified API. +// +// 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 API Gateway's +// API operation DeleteRestApi for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// +// * BadRequestException + +// func (c *APIGateway) DeleteRestApi(input *DeleteRestApiInput) (*DeleteRestApiOutput, error) { req, out := c.DeleteRestApiRequest(input) err := req.Send() @@ -637,7 +1853,30 @@ func (c *APIGateway) DeleteRestApi(input *DeleteRestApiInput) (*DeleteRestApiOut const opDeleteStage = "DeleteStage" -// DeleteStageRequest generates a request for the DeleteStage operation. +// DeleteStageRequest generates a "aws/request.Request" representing the +// client's request for the DeleteStage operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteStage for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteStage method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteStageRequest method. +// req, resp := client.DeleteStageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) DeleteStageRequest(input *DeleteStageInput) (req *request.Request, output *DeleteStageOutput) { op := &request.Operation{ Name: opDeleteStage, @@ -657,16 +1896,216 @@ func (c *APIGateway) DeleteStageRequest(input *DeleteStageInput) (req *request.R return } +// DeleteStage API operation for Amazon API Gateway. +// // Deletes a Stage resource. +// +// 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 API Gateway's +// API operation DeleteStage for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// +// * BadRequestException + +// func (c *APIGateway) DeleteStage(input *DeleteStageInput) (*DeleteStageOutput, error) { req, out := c.DeleteStageRequest(input) err := req.Send() return out, err } +const opDeleteUsagePlan = "DeleteUsagePlan" + +// DeleteUsagePlanRequest generates a "aws/request.Request" representing the +// client's request for the DeleteUsagePlan operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteUsagePlan for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteUsagePlan method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteUsagePlanRequest method. +// req, resp := client.DeleteUsagePlanRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *APIGateway) DeleteUsagePlanRequest(input *DeleteUsagePlanInput) (req *request.Request, output *DeleteUsagePlanOutput) { + op := &request.Operation{ + Name: opDeleteUsagePlan, + HTTPMethod: "DELETE", + HTTPPath: "/usageplans/{usageplanId}", + } + + if input == nil { + input = &DeleteUsagePlanInput{} + } + + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(restjson.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + output = &DeleteUsagePlanOutput{} + req.Data = output + return +} + +// DeleteUsagePlan API operation for Amazon API Gateway. +// +// Deletes a usage plan of a given plan 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 API Gateway's +// API operation DeleteUsagePlan for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * TooManyRequestsException + +// +// * BadRequestException + +// +// * NotFoundException + +// +func (c *APIGateway) DeleteUsagePlan(input *DeleteUsagePlanInput) (*DeleteUsagePlanOutput, error) { + req, out := c.DeleteUsagePlanRequest(input) + err := req.Send() + return out, err +} + +const opDeleteUsagePlanKey = "DeleteUsagePlanKey" + +// DeleteUsagePlanKeyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteUsagePlanKey operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteUsagePlanKey for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteUsagePlanKey method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteUsagePlanKeyRequest method. +// req, resp := client.DeleteUsagePlanKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *APIGateway) DeleteUsagePlanKeyRequest(input *DeleteUsagePlanKeyInput) (req *request.Request, output *DeleteUsagePlanKeyOutput) { + op := &request.Operation{ + Name: opDeleteUsagePlanKey, + HTTPMethod: "DELETE", + HTTPPath: "/usageplans/{usageplanId}/keys/{keyId}", + } + + if input == nil { + input = &DeleteUsagePlanKeyInput{} + } + + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(restjson.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + output = &DeleteUsagePlanKeyOutput{} + req.Data = output + return +} + +// DeleteUsagePlanKey API operation for Amazon API Gateway. +// +// Deletes a usage plan key and remove the underlying API key from the associated +// usage plan. +// +// 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 API Gateway's +// API operation DeleteUsagePlanKey for usage and error information. +// +// Returned Error Codes: +// * BadRequestException + +// +// * ConflictException + +// +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// +func (c *APIGateway) DeleteUsagePlanKey(input *DeleteUsagePlanKeyInput) (*DeleteUsagePlanKeyOutput, error) { + req, out := c.DeleteUsagePlanKeyRequest(input) + err := req.Send() + return out, err +} + const opFlushStageAuthorizersCache = "FlushStageAuthorizersCache" -// FlushStageAuthorizersCacheRequest generates a request for the FlushStageAuthorizersCache operation. +// FlushStageAuthorizersCacheRequest generates a "aws/request.Request" representing the +// client's request for the FlushStageAuthorizersCache operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See FlushStageAuthorizersCache for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the FlushStageAuthorizersCache method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the FlushStageAuthorizersCacheRequest method. +// req, resp := client.FlushStageAuthorizersCacheRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) FlushStageAuthorizersCacheRequest(input *FlushStageAuthorizersCacheInput) (req *request.Request, output *FlushStageAuthorizersCacheOutput) { op := &request.Operation{ Name: opFlushStageAuthorizersCache, @@ -686,7 +2125,30 @@ func (c *APIGateway) FlushStageAuthorizersCacheRequest(input *FlushStageAuthoriz return } +// FlushStageAuthorizersCache API operation for Amazon API Gateway. +// // Flushes all authorizer cache entries on a stage. +// +// 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 API Gateway's +// API operation FlushStageAuthorizersCache for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * BadRequestException + +// +// * TooManyRequestsException + +// func (c *APIGateway) FlushStageAuthorizersCache(input *FlushStageAuthorizersCacheInput) (*FlushStageAuthorizersCacheOutput, error) { req, out := c.FlushStageAuthorizersCacheRequest(input) err := req.Send() @@ -695,7 +2157,30 @@ func (c *APIGateway) FlushStageAuthorizersCache(input *FlushStageAuthorizersCach const opFlushStageCache = "FlushStageCache" -// FlushStageCacheRequest generates a request for the FlushStageCache operation. +// FlushStageCacheRequest generates a "aws/request.Request" representing the +// client's request for the FlushStageCache operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See FlushStageCache for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the FlushStageCache method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the FlushStageCacheRequest method. +// req, resp := client.FlushStageCacheRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) FlushStageCacheRequest(input *FlushStageCacheInput) (req *request.Request, output *FlushStageCacheOutput) { op := &request.Operation{ Name: opFlushStageCache, @@ -715,7 +2200,30 @@ func (c *APIGateway) FlushStageCacheRequest(input *FlushStageCacheInput) (req *r return } +// FlushStageCache API operation for Amazon API Gateway. +// // Flushes a stage's 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. +// +// See the AWS API reference guide for Amazon API Gateway's +// API operation FlushStageCache for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * BadRequestException + +// +// * TooManyRequestsException + +// func (c *APIGateway) FlushStageCache(input *FlushStageCacheInput) (*FlushStageCacheOutput, error) { req, out := c.FlushStageCacheRequest(input) err := req.Send() @@ -724,7 +2232,30 @@ func (c *APIGateway) FlushStageCache(input *FlushStageCacheInput) (*FlushStageCa const opGenerateClientCertificate = "GenerateClientCertificate" -// GenerateClientCertificateRequest generates a request for the GenerateClientCertificate operation. +// GenerateClientCertificateRequest generates a "aws/request.Request" representing the +// client's request for the GenerateClientCertificate operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GenerateClientCertificate for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GenerateClientCertificate method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GenerateClientCertificateRequest method. +// req, resp := client.GenerateClientCertificateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GenerateClientCertificateRequest(input *GenerateClientCertificateInput) (req *request.Request, output *ClientCertificate) { op := &request.Operation{ Name: opGenerateClientCertificate, @@ -742,7 +2273,27 @@ func (c *APIGateway) GenerateClientCertificateRequest(input *GenerateClientCerti return } +// GenerateClientCertificate API operation for Amazon API Gateway. +// // Generates a ClientCertificate resource. +// +// 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 API Gateway's +// API operation GenerateClientCertificate for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * TooManyRequestsException + +// +// * LimitExceededException + +// func (c *APIGateway) GenerateClientCertificate(input *GenerateClientCertificateInput) (*ClientCertificate, error) { req, out := c.GenerateClientCertificateRequest(input) err := req.Send() @@ -751,7 +2302,30 @@ func (c *APIGateway) GenerateClientCertificate(input *GenerateClientCertificateI const opGetAccount = "GetAccount" -// GetAccountRequest generates a request for the GetAccount operation. +// GetAccountRequest generates a "aws/request.Request" representing the +// client's request for the GetAccount operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetAccount for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetAccount method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetAccountRequest method. +// req, resp := client.GetAccountRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetAccountRequest(input *GetAccountInput) (req *request.Request, output *Account) { op := &request.Operation{ Name: opGetAccount, @@ -769,7 +2343,27 @@ func (c *APIGateway) GetAccountRequest(input *GetAccountInput) (req *request.Req return } +// GetAccount API operation for Amazon API Gateway. +// // Gets information about the current Account resource. +// +// 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 API Gateway's +// API operation GetAccount for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// func (c *APIGateway) GetAccount(input *GetAccountInput) (*Account, error) { req, out := c.GetAccountRequest(input) err := req.Send() @@ -778,7 +2372,30 @@ func (c *APIGateway) GetAccount(input *GetAccountInput) (*Account, error) { const opGetApiKey = "GetApiKey" -// GetApiKeyRequest generates a request for the GetApiKey operation. +// GetApiKeyRequest generates a "aws/request.Request" representing the +// client's request for the GetApiKey operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetApiKey for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetApiKey method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetApiKeyRequest method. +// req, resp := client.GetApiKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetApiKeyRequest(input *GetApiKeyInput) (req *request.Request, output *ApiKey) { op := &request.Operation{ Name: opGetApiKey, @@ -796,7 +2413,27 @@ func (c *APIGateway) GetApiKeyRequest(input *GetApiKeyInput) (req *request.Reque return } +// GetApiKey API operation for Amazon API Gateway. +// // Gets information about the current ApiKey resource. +// +// 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 API Gateway's +// API operation GetApiKey for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// func (c *APIGateway) GetApiKey(input *GetApiKeyInput) (*ApiKey, error) { req, out := c.GetApiKeyRequest(input) err := req.Send() @@ -805,7 +2442,30 @@ func (c *APIGateway) GetApiKey(input *GetApiKeyInput) (*ApiKey, error) { const opGetApiKeys = "GetApiKeys" -// GetApiKeysRequest generates a request for the GetApiKeys operation. +// GetApiKeysRequest generates a "aws/request.Request" representing the +// client's request for the GetApiKeys operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetApiKeys for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetApiKeys method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetApiKeysRequest method. +// req, resp := client.GetApiKeysRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetApiKeysRequest(input *GetApiKeysInput) (req *request.Request, output *GetApiKeysOutput) { op := &request.Operation{ Name: opGetApiKeys, @@ -829,13 +2489,50 @@ func (c *APIGateway) GetApiKeysRequest(input *GetApiKeysInput) (req *request.Req return } +// GetApiKeys API operation for Amazon API Gateway. +// // Gets information about the current ApiKeys resource. +// +// 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 API Gateway's +// API operation GetApiKeys for usage and error information. +// +// Returned Error Codes: +// * BadRequestException + +// +// * UnauthorizedException + +// +// * TooManyRequestsException + +// func (c *APIGateway) GetApiKeys(input *GetApiKeysInput) (*GetApiKeysOutput, error) { req, out := c.GetApiKeysRequest(input) err := req.Send() return out, err } +// GetApiKeysPages iterates over the pages of a GetApiKeys operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetApiKeys 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 GetApiKeys operation. +// pageNum := 0 +// err := client.GetApiKeysPages(params, +// func(page *GetApiKeysOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *APIGateway) GetApiKeysPages(input *GetApiKeysInput, fn func(p *GetApiKeysOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.GetApiKeysRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -846,7 +2543,30 @@ func (c *APIGateway) GetApiKeysPages(input *GetApiKeysInput, fn func(p *GetApiKe const opGetAuthorizer = "GetAuthorizer" -// GetAuthorizerRequest generates a request for the GetAuthorizer operation. +// GetAuthorizerRequest generates a "aws/request.Request" representing the +// client's request for the GetAuthorizer operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetAuthorizer for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetAuthorizer method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetAuthorizerRequest method. +// req, resp := client.GetAuthorizerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetAuthorizerRequest(input *GetAuthorizerInput) (req *request.Request, output *Authorizer) { op := &request.Operation{ Name: opGetAuthorizer, @@ -864,7 +2584,29 @@ func (c *APIGateway) GetAuthorizerRequest(input *GetAuthorizerInput) (req *reque return } +// GetAuthorizer API operation for Amazon API Gateway. +// // Describe an existing Authorizer resource. +// +// AWS CLI (http://docs.aws.amazon.com/cli/latest/reference/apigateway/get-authorizer.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. +// +// See the AWS API reference guide for Amazon API Gateway's +// API operation GetAuthorizer for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// func (c *APIGateway) GetAuthorizer(input *GetAuthorizerInput) (*Authorizer, error) { req, out := c.GetAuthorizerRequest(input) err := req.Send() @@ -873,7 +2615,30 @@ func (c *APIGateway) GetAuthorizer(input *GetAuthorizerInput) (*Authorizer, erro const opGetAuthorizers = "GetAuthorizers" -// GetAuthorizersRequest generates a request for the GetAuthorizers operation. +// GetAuthorizersRequest generates a "aws/request.Request" representing the +// client's request for the GetAuthorizers operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetAuthorizers for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetAuthorizers method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetAuthorizersRequest method. +// req, resp := client.GetAuthorizersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetAuthorizersRequest(input *GetAuthorizersInput) (req *request.Request, output *GetAuthorizersOutput) { op := &request.Operation{ Name: opGetAuthorizers, @@ -891,7 +2656,32 @@ func (c *APIGateway) GetAuthorizersRequest(input *GetAuthorizersInput) (req *req return } +// GetAuthorizers API operation for Amazon API Gateway. +// // Describe an existing Authorizers resource. +// +// AWS CLI (http://docs.aws.amazon.com/cli/latest/reference/apigateway/get-authorizers.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. +// +// See the AWS API reference guide for Amazon API Gateway's +// API operation GetAuthorizers for usage and error information. +// +// Returned Error Codes: +// * BadRequestException + +// +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// func (c *APIGateway) GetAuthorizers(input *GetAuthorizersInput) (*GetAuthorizersOutput, error) { req, out := c.GetAuthorizersRequest(input) err := req.Send() @@ -900,7 +2690,30 @@ func (c *APIGateway) GetAuthorizers(input *GetAuthorizersInput) (*GetAuthorizers const opGetBasePathMapping = "GetBasePathMapping" -// GetBasePathMappingRequest generates a request for the GetBasePathMapping operation. +// GetBasePathMappingRequest generates a "aws/request.Request" representing the +// client's request for the GetBasePathMapping operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetBasePathMapping for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetBasePathMapping method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetBasePathMappingRequest method. +// req, resp := client.GetBasePathMappingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetBasePathMappingRequest(input *GetBasePathMappingInput) (req *request.Request, output *BasePathMapping) { op := &request.Operation{ Name: opGetBasePathMapping, @@ -918,7 +2731,27 @@ func (c *APIGateway) GetBasePathMappingRequest(input *GetBasePathMappingInput) ( return } +// GetBasePathMapping API operation for Amazon API Gateway. +// // Describe a BasePathMapping resource. +// +// 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 API Gateway's +// API operation GetBasePathMapping for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// func (c *APIGateway) GetBasePathMapping(input *GetBasePathMappingInput) (*BasePathMapping, error) { req, out := c.GetBasePathMappingRequest(input) err := req.Send() @@ -927,7 +2760,30 @@ func (c *APIGateway) GetBasePathMapping(input *GetBasePathMappingInput) (*BasePa const opGetBasePathMappings = "GetBasePathMappings" -// GetBasePathMappingsRequest generates a request for the GetBasePathMappings operation. +// GetBasePathMappingsRequest generates a "aws/request.Request" representing the +// client's request for the GetBasePathMappings operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetBasePathMappings for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetBasePathMappings method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetBasePathMappingsRequest method. +// req, resp := client.GetBasePathMappingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetBasePathMappingsRequest(input *GetBasePathMappingsInput) (req *request.Request, output *GetBasePathMappingsOutput) { op := &request.Operation{ Name: opGetBasePathMappings, @@ -951,13 +2807,50 @@ func (c *APIGateway) GetBasePathMappingsRequest(input *GetBasePathMappingsInput) return } +// GetBasePathMappings API operation for Amazon API Gateway. +// // Represents a collection of BasePathMapping resources. +// +// 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 API Gateway's +// API operation GetBasePathMappings for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// func (c *APIGateway) GetBasePathMappings(input *GetBasePathMappingsInput) (*GetBasePathMappingsOutput, error) { req, out := c.GetBasePathMappingsRequest(input) err := req.Send() return out, err } +// GetBasePathMappingsPages iterates over the pages of a GetBasePathMappings operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetBasePathMappings 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 GetBasePathMappings operation. +// pageNum := 0 +// err := client.GetBasePathMappingsPages(params, +// func(page *GetBasePathMappingsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *APIGateway) GetBasePathMappingsPages(input *GetBasePathMappingsInput, fn func(p *GetBasePathMappingsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.GetBasePathMappingsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -968,7 +2861,30 @@ func (c *APIGateway) GetBasePathMappingsPages(input *GetBasePathMappingsInput, f const opGetClientCertificate = "GetClientCertificate" -// GetClientCertificateRequest generates a request for the GetClientCertificate operation. +// GetClientCertificateRequest generates a "aws/request.Request" representing the +// client's request for the GetClientCertificate operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetClientCertificate for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetClientCertificate method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetClientCertificateRequest method. +// req, resp := client.GetClientCertificateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetClientCertificateRequest(input *GetClientCertificateInput) (req *request.Request, output *ClientCertificate) { op := &request.Operation{ Name: opGetClientCertificate, @@ -986,7 +2902,27 @@ func (c *APIGateway) GetClientCertificateRequest(input *GetClientCertificateInpu return } +// GetClientCertificate API operation for Amazon API Gateway. +// // Gets information about the current ClientCertificate resource. +// +// 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 API Gateway's +// API operation GetClientCertificate for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// func (c *APIGateway) GetClientCertificate(input *GetClientCertificateInput) (*ClientCertificate, error) { req, out := c.GetClientCertificateRequest(input) err := req.Send() @@ -995,7 +2931,30 @@ func (c *APIGateway) GetClientCertificate(input *GetClientCertificateInput) (*Cl const opGetClientCertificates = "GetClientCertificates" -// GetClientCertificatesRequest generates a request for the GetClientCertificates operation. +// GetClientCertificatesRequest generates a "aws/request.Request" representing the +// client's request for the GetClientCertificates operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetClientCertificates for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetClientCertificates method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetClientCertificatesRequest method. +// req, resp := client.GetClientCertificatesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetClientCertificatesRequest(input *GetClientCertificatesInput) (req *request.Request, output *GetClientCertificatesOutput) { op := &request.Operation{ Name: opGetClientCertificates, @@ -1019,13 +2978,50 @@ func (c *APIGateway) GetClientCertificatesRequest(input *GetClientCertificatesIn return } +// GetClientCertificates API operation for Amazon API Gateway. +// // Gets a collection of ClientCertificate resources. +// +// 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 API Gateway's +// API operation GetClientCertificates for usage and error information. +// +// Returned Error Codes: +// * BadRequestException + +// +// * UnauthorizedException + +// +// * TooManyRequestsException + +// func (c *APIGateway) GetClientCertificates(input *GetClientCertificatesInput) (*GetClientCertificatesOutput, error) { req, out := c.GetClientCertificatesRequest(input) err := req.Send() return out, err } +// GetClientCertificatesPages iterates over the pages of a GetClientCertificates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetClientCertificates 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 GetClientCertificates operation. +// pageNum := 0 +// err := client.GetClientCertificatesPages(params, +// func(page *GetClientCertificatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *APIGateway) GetClientCertificatesPages(input *GetClientCertificatesInput, fn func(p *GetClientCertificatesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.GetClientCertificatesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1036,7 +3032,30 @@ func (c *APIGateway) GetClientCertificatesPages(input *GetClientCertificatesInpu const opGetDeployment = "GetDeployment" -// GetDeploymentRequest generates a request for the GetDeployment operation. +// GetDeploymentRequest generates a "aws/request.Request" representing the +// client's request for the GetDeployment operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetDeployment for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetDeployment method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetDeploymentRequest method. +// req, resp := client.GetDeploymentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetDeploymentRequest(input *GetDeploymentInput) (req *request.Request, output *Deployment) { op := &request.Operation{ Name: opGetDeployment, @@ -1054,7 +3073,30 @@ func (c *APIGateway) GetDeploymentRequest(input *GetDeploymentInput) (req *reque return } +// GetDeployment API operation for Amazon API Gateway. +// // Gets information about a Deployment resource. +// +// 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 API Gateway's +// API operation GetDeployment for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// +// * ServiceUnavailableException + +// func (c *APIGateway) GetDeployment(input *GetDeploymentInput) (*Deployment, error) { req, out := c.GetDeploymentRequest(input) err := req.Send() @@ -1063,7 +3105,30 @@ func (c *APIGateway) GetDeployment(input *GetDeploymentInput) (*Deployment, erro const opGetDeployments = "GetDeployments" -// GetDeploymentsRequest generates a request for the GetDeployments operation. +// GetDeploymentsRequest generates a "aws/request.Request" representing the +// client's request for the GetDeployments operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetDeployments for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetDeployments method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetDeploymentsRequest method. +// req, resp := client.GetDeploymentsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetDeploymentsRequest(input *GetDeploymentsInput) (req *request.Request, output *GetDeploymentsOutput) { op := &request.Operation{ Name: opGetDeployments, @@ -1087,13 +3152,53 @@ func (c *APIGateway) GetDeploymentsRequest(input *GetDeploymentsInput) (req *req return } +// GetDeployments API operation for Amazon API Gateway. +// // Gets information about a Deployments collection. +// +// 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 API Gateway's +// API operation GetDeployments for usage and error information. +// +// Returned Error Codes: +// * BadRequestException + +// +// * UnauthorizedException + +// +// * TooManyRequestsException + +// +// * ServiceUnavailableException + +// func (c *APIGateway) GetDeployments(input *GetDeploymentsInput) (*GetDeploymentsOutput, error) { req, out := c.GetDeploymentsRequest(input) err := req.Send() return out, err } +// GetDeploymentsPages iterates over the pages of a GetDeployments operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetDeployments 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 GetDeployments operation. +// pageNum := 0 +// err := client.GetDeploymentsPages(params, +// func(page *GetDeploymentsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *APIGateway) GetDeploymentsPages(input *GetDeploymentsInput, fn func(p *GetDeploymentsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.GetDeploymentsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1104,7 +3209,30 @@ func (c *APIGateway) GetDeploymentsPages(input *GetDeploymentsInput, fn func(p * const opGetDomainName = "GetDomainName" -// GetDomainNameRequest generates a request for the GetDomainName operation. +// GetDomainNameRequest generates a "aws/request.Request" representing the +// client's request for the GetDomainName operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetDomainName for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetDomainName method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetDomainNameRequest method. +// req, resp := client.GetDomainNameRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetDomainNameRequest(input *GetDomainNameInput) (req *request.Request, output *DomainName) { op := &request.Operation{ Name: opGetDomainName, @@ -1122,8 +3250,31 @@ func (c *APIGateway) GetDomainNameRequest(input *GetDomainNameInput) (req *reque return } +// GetDomainName API operation for Amazon API Gateway. +// // Represents a domain name that is contained in a simpler, more intuitive URL // that can be called. +// +// 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 API Gateway's +// API operation GetDomainName for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * ServiceUnavailableException + +// +// * TooManyRequestsException + +// func (c *APIGateway) GetDomainName(input *GetDomainNameInput) (*DomainName, error) { req, out := c.GetDomainNameRequest(input) err := req.Send() @@ -1132,7 +3283,30 @@ func (c *APIGateway) GetDomainName(input *GetDomainNameInput) (*DomainName, erro const opGetDomainNames = "GetDomainNames" -// GetDomainNamesRequest generates a request for the GetDomainNames operation. +// GetDomainNamesRequest generates a "aws/request.Request" representing the +// client's request for the GetDomainNames operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetDomainNames for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetDomainNames method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetDomainNamesRequest method. +// req, resp := client.GetDomainNamesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetDomainNamesRequest(input *GetDomainNamesInput) (req *request.Request, output *GetDomainNamesOutput) { op := &request.Operation{ Name: opGetDomainNames, @@ -1156,13 +3330,50 @@ func (c *APIGateway) GetDomainNamesRequest(input *GetDomainNamesInput) (req *req return } +// GetDomainNames API operation for Amazon API Gateway. +// // Represents a collection of DomainName resources. +// +// 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 API Gateway's +// API operation GetDomainNames for usage and error information. +// +// Returned Error Codes: +// * BadRequestException + +// +// * UnauthorizedException + +// +// * TooManyRequestsException + +// func (c *APIGateway) GetDomainNames(input *GetDomainNamesInput) (*GetDomainNamesOutput, error) { req, out := c.GetDomainNamesRequest(input) err := req.Send() return out, err } +// GetDomainNamesPages iterates over the pages of a GetDomainNames operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetDomainNames 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 GetDomainNames operation. +// pageNum := 0 +// err := client.GetDomainNamesPages(params, +// func(page *GetDomainNamesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *APIGateway) GetDomainNamesPages(input *GetDomainNamesInput, fn func(p *GetDomainNamesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.GetDomainNamesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1173,7 +3384,30 @@ func (c *APIGateway) GetDomainNamesPages(input *GetDomainNamesInput, fn func(p * const opGetExport = "GetExport" -// GetExportRequest generates a request for the GetExport operation. +// GetExportRequest generates a "aws/request.Request" representing the +// client's request for the GetExport operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetExport for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetExport method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetExportRequest method. +// req, resp := client.GetExportRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetExportRequest(input *GetExportInput) (req *request.Request, output *GetExportOutput) { op := &request.Operation{ Name: opGetExport, @@ -1191,7 +3425,30 @@ func (c *APIGateway) GetExportRequest(input *GetExportInput) (req *request.Reque return } +// GetExport API operation for Amazon API Gateway. +// // Exports a deployed version of a RestApi in a specified format. +// +// 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 API Gateway's +// API operation GetExport for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * BadRequestException + +// +// * TooManyRequestsException + +// func (c *APIGateway) GetExport(input *GetExportInput) (*GetExportOutput, error) { req, out := c.GetExportRequest(input) err := req.Send() @@ -1200,7 +3457,30 @@ func (c *APIGateway) GetExport(input *GetExportInput) (*GetExportOutput, error) const opGetIntegration = "GetIntegration" -// GetIntegrationRequest generates a request for the GetIntegration operation. +// GetIntegrationRequest generates a "aws/request.Request" representing the +// client's request for the GetIntegration operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetIntegration for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetIntegration method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetIntegrationRequest method. +// req, resp := client.GetIntegrationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetIntegrationRequest(input *GetIntegrationInput) (req *request.Request, output *Integration) { op := &request.Operation{ Name: opGetIntegration, @@ -1218,7 +3498,27 @@ func (c *APIGateway) GetIntegrationRequest(input *GetIntegrationInput) (req *req return } +// GetIntegration API operation for Amazon API Gateway. +// // Represents a get integration. +// +// 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 API Gateway's +// API operation GetIntegration for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// func (c *APIGateway) GetIntegration(input *GetIntegrationInput) (*Integration, error) { req, out := c.GetIntegrationRequest(input) err := req.Send() @@ -1227,7 +3527,30 @@ func (c *APIGateway) GetIntegration(input *GetIntegrationInput) (*Integration, e const opGetIntegrationResponse = "GetIntegrationResponse" -// GetIntegrationResponseRequest generates a request for the GetIntegrationResponse operation. +// GetIntegrationResponseRequest generates a "aws/request.Request" representing the +// client's request for the GetIntegrationResponse operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetIntegrationResponse for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetIntegrationResponse method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetIntegrationResponseRequest method. +// req, resp := client.GetIntegrationResponseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetIntegrationResponseRequest(input *GetIntegrationResponseInput) (req *request.Request, output *IntegrationResponse) { op := &request.Operation{ Name: opGetIntegrationResponse, @@ -1245,7 +3568,27 @@ func (c *APIGateway) GetIntegrationResponseRequest(input *GetIntegrationResponse return } +// GetIntegrationResponse API operation for Amazon API Gateway. +// // Represents a get integration 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. +// +// See the AWS API reference guide for Amazon API Gateway's +// API operation GetIntegrationResponse for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// func (c *APIGateway) GetIntegrationResponse(input *GetIntegrationResponseInput) (*IntegrationResponse, error) { req, out := c.GetIntegrationResponseRequest(input) err := req.Send() @@ -1254,7 +3597,30 @@ func (c *APIGateway) GetIntegrationResponse(input *GetIntegrationResponseInput) const opGetMethod = "GetMethod" -// GetMethodRequest generates a request for the GetMethod operation. +// GetMethodRequest generates a "aws/request.Request" representing the +// client's request for the GetMethod operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetMethod for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetMethod method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetMethodRequest method. +// req, resp := client.GetMethodRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetMethodRequest(input *GetMethodInput) (req *request.Request, output *Method) { op := &request.Operation{ Name: opGetMethod, @@ -1272,7 +3638,27 @@ func (c *APIGateway) GetMethodRequest(input *GetMethodInput) (req *request.Reque return } +// GetMethod API operation for Amazon API Gateway. +// // Describe an existing Method resource. +// +// 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 API Gateway's +// API operation GetMethod for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// func (c *APIGateway) GetMethod(input *GetMethodInput) (*Method, error) { req, out := c.GetMethodRequest(input) err := req.Send() @@ -1281,7 +3667,30 @@ func (c *APIGateway) GetMethod(input *GetMethodInput) (*Method, error) { const opGetMethodResponse = "GetMethodResponse" -// GetMethodResponseRequest generates a request for the GetMethodResponse operation. +// GetMethodResponseRequest generates a "aws/request.Request" representing the +// client's request for the GetMethodResponse operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetMethodResponse for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetMethodResponse method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetMethodResponseRequest method. +// req, resp := client.GetMethodResponseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetMethodResponseRequest(input *GetMethodResponseInput) (req *request.Request, output *MethodResponse) { op := &request.Operation{ Name: opGetMethodResponse, @@ -1299,7 +3708,27 @@ func (c *APIGateway) GetMethodResponseRequest(input *GetMethodResponseInput) (re return } +// GetMethodResponse API operation for Amazon API Gateway. +// // Describes a MethodResponse resource. +// +// 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 API Gateway's +// API operation GetMethodResponse for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// func (c *APIGateway) GetMethodResponse(input *GetMethodResponseInput) (*MethodResponse, error) { req, out := c.GetMethodResponseRequest(input) err := req.Send() @@ -1308,7 +3737,30 @@ func (c *APIGateway) GetMethodResponse(input *GetMethodResponseInput) (*MethodRe const opGetModel = "GetModel" -// GetModelRequest generates a request for the GetModel operation. +// GetModelRequest generates a "aws/request.Request" representing the +// client's request for the GetModel operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetModel for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetModel method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetModelRequest method. +// req, resp := client.GetModelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetModelRequest(input *GetModelInput) (req *request.Request, output *Model) { op := &request.Operation{ Name: opGetModel, @@ -1326,7 +3778,27 @@ func (c *APIGateway) GetModelRequest(input *GetModelInput) (req *request.Request return } +// GetModel API operation for Amazon API Gateway. +// // Describes an existing model defined for a RestApi resource. +// +// 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 API Gateway's +// API operation GetModel for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// func (c *APIGateway) GetModel(input *GetModelInput) (*Model, error) { req, out := c.GetModelRequest(input) err := req.Send() @@ -1335,7 +3807,30 @@ func (c *APIGateway) GetModel(input *GetModelInput) (*Model, error) { const opGetModelTemplate = "GetModelTemplate" -// GetModelTemplateRequest generates a request for the GetModelTemplate operation. +// GetModelTemplateRequest generates a "aws/request.Request" representing the +// client's request for the GetModelTemplate operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetModelTemplate for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetModelTemplate method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetModelTemplateRequest method. +// req, resp := client.GetModelTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetModelTemplateRequest(input *GetModelTemplateInput) (req *request.Request, output *GetModelTemplateOutput) { op := &request.Operation{ Name: opGetModelTemplate, @@ -1353,8 +3848,31 @@ func (c *APIGateway) GetModelTemplateRequest(input *GetModelTemplateInput) (req return } +// GetModelTemplate API operation for Amazon API Gateway. +// // Generates a sample mapping template that can be used to transform a payload // into the structure of a model. +// +// 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 API Gateway's +// API operation GetModelTemplate for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * BadRequestException + +// +// * TooManyRequestsException + +// func (c *APIGateway) GetModelTemplate(input *GetModelTemplateInput) (*GetModelTemplateOutput, error) { req, out := c.GetModelTemplateRequest(input) err := req.Send() @@ -1363,7 +3881,30 @@ func (c *APIGateway) GetModelTemplate(input *GetModelTemplateInput) (*GetModelTe const opGetModels = "GetModels" -// GetModelsRequest generates a request for the GetModels operation. +// GetModelsRequest generates a "aws/request.Request" representing the +// client's request for the GetModels operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetModels for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetModels method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetModelsRequest method. +// req, resp := client.GetModelsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetModelsRequest(input *GetModelsInput) (req *request.Request, output *GetModelsOutput) { op := &request.Operation{ Name: opGetModels, @@ -1387,13 +3928,53 @@ func (c *APIGateway) GetModelsRequest(input *GetModelsInput) (req *request.Reque return } +// GetModels API operation for Amazon API Gateway. +// // Describes existing Models defined for a RestApi resource. +// +// 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 API Gateway's +// API operation GetModels for usage and error information. +// +// Returned Error Codes: +// * BadRequestException + +// +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// func (c *APIGateway) GetModels(input *GetModelsInput) (*GetModelsOutput, error) { req, out := c.GetModelsRequest(input) err := req.Send() return out, err } +// GetModelsPages iterates over the pages of a GetModels operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetModels 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 GetModels operation. +// pageNum := 0 +// err := client.GetModelsPages(params, +// func(page *GetModelsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *APIGateway) GetModelsPages(input *GetModelsInput, fn func(p *GetModelsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.GetModelsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1404,7 +3985,30 @@ func (c *APIGateway) GetModelsPages(input *GetModelsInput, fn func(p *GetModelsO const opGetResource = "GetResource" -// GetResourceRequest generates a request for the GetResource operation. +// GetResourceRequest generates a "aws/request.Request" representing the +// client's request for the GetResource operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetResource for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetResource method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetResourceRequest method. +// req, resp := client.GetResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetResourceRequest(input *GetResourceInput) (req *request.Request, output *Resource) { op := &request.Operation{ Name: opGetResource, @@ -1422,7 +4026,27 @@ func (c *APIGateway) GetResourceRequest(input *GetResourceInput) (req *request.R return } +// GetResource API operation for Amazon API Gateway. +// // Lists information about a resource. +// +// 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 API Gateway's +// API operation GetResource for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// func (c *APIGateway) GetResource(input *GetResourceInput) (*Resource, error) { req, out := c.GetResourceRequest(input) err := req.Send() @@ -1431,7 +4055,30 @@ func (c *APIGateway) GetResource(input *GetResourceInput) (*Resource, error) { const opGetResources = "GetResources" -// GetResourcesRequest generates a request for the GetResources operation. +// GetResourcesRequest generates a "aws/request.Request" representing the +// client's request for the GetResources operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetResources for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetResources method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetResourcesRequest method. +// req, resp := client.GetResourcesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetResourcesRequest(input *GetResourcesInput) (req *request.Request, output *GetResourcesOutput) { op := &request.Operation{ Name: opGetResources, @@ -1455,13 +4102,53 @@ func (c *APIGateway) GetResourcesRequest(input *GetResourcesInput) (req *request return } +// GetResources API operation for Amazon API Gateway. +// // Lists information about a collection of Resource resources. +// +// 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 API Gateway's +// API operation GetResources for usage and error information. +// +// Returned Error Codes: +// * BadRequestException + +// +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// func (c *APIGateway) GetResources(input *GetResourcesInput) (*GetResourcesOutput, error) { req, out := c.GetResourcesRequest(input) err := req.Send() return out, err } +// GetResourcesPages iterates over the pages of a GetResources operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetResources 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 GetResources operation. +// pageNum := 0 +// err := client.GetResourcesPages(params, +// func(page *GetResourcesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *APIGateway) GetResourcesPages(input *GetResourcesInput, fn func(p *GetResourcesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.GetResourcesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1472,7 +4159,30 @@ func (c *APIGateway) GetResourcesPages(input *GetResourcesInput, fn func(p *GetR const opGetRestApi = "GetRestApi" -// GetRestApiRequest generates a request for the GetRestApi operation. +// GetRestApiRequest generates a "aws/request.Request" representing the +// client's request for the GetRestApi operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetRestApi for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetRestApi method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetRestApiRequest method. +// req, resp := client.GetRestApiRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetRestApiRequest(input *GetRestApiInput) (req *request.Request, output *RestApi) { op := &request.Operation{ Name: opGetRestApi, @@ -1490,7 +4200,27 @@ func (c *APIGateway) GetRestApiRequest(input *GetRestApiInput) (req *request.Req return } +// GetRestApi API operation for Amazon API Gateway. +// // Lists the RestApi resource in the collection. +// +// 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 API Gateway's +// API operation GetRestApi for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// func (c *APIGateway) GetRestApi(input *GetRestApiInput) (*RestApi, error) { req, out := c.GetRestApiRequest(input) err := req.Send() @@ -1499,7 +4229,30 @@ func (c *APIGateway) GetRestApi(input *GetRestApiInput) (*RestApi, error) { const opGetRestApis = "GetRestApis" -// GetRestApisRequest generates a request for the GetRestApis operation. +// GetRestApisRequest generates a "aws/request.Request" representing the +// client's request for the GetRestApis operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetRestApis for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetRestApis method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetRestApisRequest method. +// req, resp := client.GetRestApisRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetRestApisRequest(input *GetRestApisInput) (req *request.Request, output *GetRestApisOutput) { op := &request.Operation{ Name: opGetRestApis, @@ -1523,13 +4276,50 @@ func (c *APIGateway) GetRestApisRequest(input *GetRestApisInput) (req *request.R return } +// GetRestApis API operation for Amazon API Gateway. +// // Lists the RestApis resources for your collection. +// +// 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 API Gateway's +// API operation GetRestApis for usage and error information. +// +// Returned Error Codes: +// * BadRequestException + +// +// * UnauthorizedException + +// +// * TooManyRequestsException + +// func (c *APIGateway) GetRestApis(input *GetRestApisInput) (*GetRestApisOutput, error) { req, out := c.GetRestApisRequest(input) err := req.Send() return out, err } +// GetRestApisPages iterates over the pages of a GetRestApis operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetRestApis 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 GetRestApis operation. +// pageNum := 0 +// err := client.GetRestApisPages(params, +// func(page *GetRestApisOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *APIGateway) GetRestApisPages(input *GetRestApisInput, fn func(p *GetRestApisOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.GetRestApisRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1540,7 +4330,30 @@ func (c *APIGateway) GetRestApisPages(input *GetRestApisInput, fn func(p *GetRes const opGetSdk = "GetSdk" -// GetSdkRequest generates a request for the GetSdk operation. +// GetSdkRequest generates a "aws/request.Request" representing the +// client's request for the GetSdk operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetSdk for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetSdk method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetSdkRequest method. +// req, resp := client.GetSdkRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetSdkRequest(input *GetSdkInput) (req *request.Request, output *GetSdkOutput) { op := &request.Operation{ Name: opGetSdk, @@ -1558,7 +4371,30 @@ func (c *APIGateway) GetSdkRequest(input *GetSdkInput) (req *request.Request, ou return } +// GetSdk API operation for Amazon API Gateway. +// // Generates a client SDK for a RestApi and Stage. +// +// 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 API Gateway's +// API operation GetSdk for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * BadRequestException + +// +// * TooManyRequestsException + +// func (c *APIGateway) GetSdk(input *GetSdkInput) (*GetSdkOutput, error) { req, out := c.GetSdkRequest(input) err := req.Send() @@ -1567,7 +4403,30 @@ func (c *APIGateway) GetSdk(input *GetSdkInput) (*GetSdkOutput, error) { const opGetStage = "GetStage" -// GetStageRequest generates a request for the GetStage operation. +// GetStageRequest generates a "aws/request.Request" representing the +// client's request for the GetStage operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetStage for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetStage method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetStageRequest method. +// req, resp := client.GetStageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetStageRequest(input *GetStageInput) (req *request.Request, output *Stage) { op := &request.Operation{ Name: opGetStage, @@ -1585,7 +4444,27 @@ func (c *APIGateway) GetStageRequest(input *GetStageInput) (req *request.Request return } +// GetStage API operation for Amazon API Gateway. +// // Gets information about a Stage resource. +// +// 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 API Gateway's +// API operation GetStage for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// func (c *APIGateway) GetStage(input *GetStageInput) (*Stage, error) { req, out := c.GetStageRequest(input) err := req.Send() @@ -1594,7 +4473,30 @@ func (c *APIGateway) GetStage(input *GetStageInput) (*Stage, error) { const opGetStages = "GetStages" -// GetStagesRequest generates a request for the GetStages operation. +// GetStagesRequest generates a "aws/request.Request" representing the +// client's request for the GetStages operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetStages for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetStages method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetStagesRequest method. +// req, resp := client.GetStagesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) GetStagesRequest(input *GetStagesInput) (req *request.Request, output *GetStagesOutput) { op := &request.Operation{ Name: opGetStages, @@ -1612,16 +4514,597 @@ func (c *APIGateway) GetStagesRequest(input *GetStagesInput) (req *request.Reque return } +// GetStages API operation for Amazon API Gateway. +// // Gets information about one or more Stage resources. +// +// 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 API Gateway's +// API operation GetStages for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// func (c *APIGateway) GetStages(input *GetStagesInput) (*GetStagesOutput, error) { req, out := c.GetStagesRequest(input) err := req.Send() return out, err } +const opGetUsage = "GetUsage" + +// GetUsageRequest generates a "aws/request.Request" representing the +// client's request for the GetUsage operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetUsage for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetUsage method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetUsageRequest method. +// req, resp := client.GetUsageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *APIGateway) GetUsageRequest(input *GetUsageInput) (req *request.Request, output *Usage) { + op := &request.Operation{ + Name: opGetUsage, + HTTPMethod: "GET", + HTTPPath: "/usageplans/{usageplanId}/usage", + Paginator: &request.Paginator{ + InputTokens: []string{"position"}, + OutputTokens: []string{"position"}, + LimitToken: "limit", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetUsageInput{} + } + + req = c.newRequest(op, input, output) + output = &Usage{} + req.Data = output + return +} + +// GetUsage API operation for Amazon API Gateway. +// +// Gets the usage data of a usage plan in a specified time interval. +// +// 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 API Gateway's +// API operation GetUsage for usage and error information. +// +// Returned Error Codes: +// * BadRequestException + +// +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// +func (c *APIGateway) GetUsage(input *GetUsageInput) (*Usage, error) { + req, out := c.GetUsageRequest(input) + err := req.Send() + return out, err +} + +// GetUsagePages iterates over the pages of a GetUsage operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetUsage 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 GetUsage operation. +// pageNum := 0 +// err := client.GetUsagePages(params, +// func(page *Usage, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *APIGateway) GetUsagePages(input *GetUsageInput, fn func(p *Usage, lastPage bool) (shouldContinue bool)) error { + page, _ := c.GetUsageRequest(input) + page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) + return page.EachPage(func(p interface{}, lastPage bool) bool { + return fn(p.(*Usage), lastPage) + }) +} + +const opGetUsagePlan = "GetUsagePlan" + +// GetUsagePlanRequest generates a "aws/request.Request" representing the +// client's request for the GetUsagePlan operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetUsagePlan for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetUsagePlan method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetUsagePlanRequest method. +// req, resp := client.GetUsagePlanRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *APIGateway) GetUsagePlanRequest(input *GetUsagePlanInput) (req *request.Request, output *UsagePlan) { + op := &request.Operation{ + Name: opGetUsagePlan, + HTTPMethod: "GET", + HTTPPath: "/usageplans/{usageplanId}", + } + + if input == nil { + input = &GetUsagePlanInput{} + } + + req = c.newRequest(op, input, output) + output = &UsagePlan{} + req.Data = output + return +} + +// GetUsagePlan API operation for Amazon API Gateway. +// +// Gets a usage plan of a given plan identifier. +// +// 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 API Gateway's +// API operation GetUsagePlan for usage and error information. +// +// Returned Error Codes: +// * BadRequestException + +// +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// +func (c *APIGateway) GetUsagePlan(input *GetUsagePlanInput) (*UsagePlan, error) { + req, out := c.GetUsagePlanRequest(input) + err := req.Send() + return out, err +} + +const opGetUsagePlanKey = "GetUsagePlanKey" + +// GetUsagePlanKeyRequest generates a "aws/request.Request" representing the +// client's request for the GetUsagePlanKey operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetUsagePlanKey for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetUsagePlanKey method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetUsagePlanKeyRequest method. +// req, resp := client.GetUsagePlanKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *APIGateway) GetUsagePlanKeyRequest(input *GetUsagePlanKeyInput) (req *request.Request, output *UsagePlanKey) { + op := &request.Operation{ + Name: opGetUsagePlanKey, + HTTPMethod: "GET", + HTTPPath: "/usageplans/{usageplanId}/keys/{keyId}", + } + + if input == nil { + input = &GetUsagePlanKeyInput{} + } + + req = c.newRequest(op, input, output) + output = &UsagePlanKey{} + req.Data = output + return +} + +// GetUsagePlanKey API operation for Amazon API Gateway. +// +// Gets a usage plan key of a given key identifier. +// +// 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 API Gateway's +// API operation GetUsagePlanKey for usage and error information. +// +// Returned Error Codes: +// * BadRequestException + +// +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// +func (c *APIGateway) GetUsagePlanKey(input *GetUsagePlanKeyInput) (*UsagePlanKey, error) { + req, out := c.GetUsagePlanKeyRequest(input) + err := req.Send() + return out, err +} + +const opGetUsagePlanKeys = "GetUsagePlanKeys" + +// GetUsagePlanKeysRequest generates a "aws/request.Request" representing the +// client's request for the GetUsagePlanKeys operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetUsagePlanKeys for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetUsagePlanKeys method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetUsagePlanKeysRequest method. +// req, resp := client.GetUsagePlanKeysRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *APIGateway) GetUsagePlanKeysRequest(input *GetUsagePlanKeysInput) (req *request.Request, output *GetUsagePlanKeysOutput) { + op := &request.Operation{ + Name: opGetUsagePlanKeys, + HTTPMethod: "GET", + HTTPPath: "/usageplans/{usageplanId}/keys", + Paginator: &request.Paginator{ + InputTokens: []string{"position"}, + OutputTokens: []string{"position"}, + LimitToken: "limit", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetUsagePlanKeysInput{} + } + + req = c.newRequest(op, input, output) + output = &GetUsagePlanKeysOutput{} + req.Data = output + return +} + +// GetUsagePlanKeys API operation for Amazon API Gateway. +// +// Gets all the usage plan keys representing the API keys added to a specified +// usage plan. +// +// 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 API Gateway's +// API operation GetUsagePlanKeys for usage and error information. +// +// Returned Error Codes: +// * BadRequestException + +// +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// +func (c *APIGateway) GetUsagePlanKeys(input *GetUsagePlanKeysInput) (*GetUsagePlanKeysOutput, error) { + req, out := c.GetUsagePlanKeysRequest(input) + err := req.Send() + return out, err +} + +// GetUsagePlanKeysPages iterates over the pages of a GetUsagePlanKeys operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetUsagePlanKeys 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 GetUsagePlanKeys operation. +// pageNum := 0 +// err := client.GetUsagePlanKeysPages(params, +// func(page *GetUsagePlanKeysOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *APIGateway) GetUsagePlanKeysPages(input *GetUsagePlanKeysInput, fn func(p *GetUsagePlanKeysOutput, lastPage bool) (shouldContinue bool)) error { + page, _ := c.GetUsagePlanKeysRequest(input) + page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) + return page.EachPage(func(p interface{}, lastPage bool) bool { + return fn(p.(*GetUsagePlanKeysOutput), lastPage) + }) +} + +const opGetUsagePlans = "GetUsagePlans" + +// GetUsagePlansRequest generates a "aws/request.Request" representing the +// client's request for the GetUsagePlans operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetUsagePlans for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetUsagePlans method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetUsagePlansRequest method. +// req, resp := client.GetUsagePlansRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *APIGateway) GetUsagePlansRequest(input *GetUsagePlansInput) (req *request.Request, output *GetUsagePlansOutput) { + op := &request.Operation{ + Name: opGetUsagePlans, + HTTPMethod: "GET", + HTTPPath: "/usageplans", + Paginator: &request.Paginator{ + InputTokens: []string{"position"}, + OutputTokens: []string{"position"}, + LimitToken: "limit", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetUsagePlansInput{} + } + + req = c.newRequest(op, input, output) + output = &GetUsagePlansOutput{} + req.Data = output + return +} + +// GetUsagePlans API operation for Amazon API Gateway. +// +// Gets all the usage plans of the caller's 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 API Gateway's +// API operation GetUsagePlans for usage and error information. +// +// Returned Error Codes: +// * BadRequestException + +// +// * UnauthorizedException + +// +// * TooManyRequestsException + +// +// * ConflictException + +// +func (c *APIGateway) GetUsagePlans(input *GetUsagePlansInput) (*GetUsagePlansOutput, error) { + req, out := c.GetUsagePlansRequest(input) + err := req.Send() + return out, err +} + +// GetUsagePlansPages iterates over the pages of a GetUsagePlans operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetUsagePlans 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 GetUsagePlans operation. +// pageNum := 0 +// err := client.GetUsagePlansPages(params, +// func(page *GetUsagePlansOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *APIGateway) GetUsagePlansPages(input *GetUsagePlansInput, fn func(p *GetUsagePlansOutput, lastPage bool) (shouldContinue bool)) error { + page, _ := c.GetUsagePlansRequest(input) + page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) + return page.EachPage(func(p interface{}, lastPage bool) bool { + return fn(p.(*GetUsagePlansOutput), lastPage) + }) +} + +const opImportApiKeys = "ImportApiKeys" + +// ImportApiKeysRequest generates a "aws/request.Request" representing the +// client's request for the ImportApiKeys operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ImportApiKeys for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ImportApiKeys method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ImportApiKeysRequest method. +// req, resp := client.ImportApiKeysRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *APIGateway) ImportApiKeysRequest(input *ImportApiKeysInput) (req *request.Request, output *ImportApiKeysOutput) { + op := &request.Operation{ + Name: opImportApiKeys, + HTTPMethod: "POST", + HTTPPath: "/apikeys?mode=import", + } + + if input == nil { + input = &ImportApiKeysInput{} + } + + req = c.newRequest(op, input, output) + output = &ImportApiKeysOutput{} + req.Data = output + return +} + +// ImportApiKeys API operation for Amazon API Gateway. +// +// Import API keys from an external source, such as a CSV-formatted file. +// +// 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 API Gateway's +// API operation ImportApiKeys for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// +// * LimitExceededException + +// +// * BadRequestException + +// +// * ConflictException + +// +func (c *APIGateway) ImportApiKeys(input *ImportApiKeysInput) (*ImportApiKeysOutput, error) { + req, out := c.ImportApiKeysRequest(input) + err := req.Send() + return out, err +} + const opImportRestApi = "ImportRestApi" -// ImportRestApiRequest generates a request for the ImportRestApi operation. +// ImportRestApiRequest generates a "aws/request.Request" representing the +// client's request for the ImportRestApi operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ImportRestApi for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ImportRestApi method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ImportRestApiRequest method. +// req, resp := client.ImportRestApiRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) ImportRestApiRequest(input *ImportRestApiInput) (req *request.Request, output *RestApi) { op := &request.Operation{ Name: opImportRestApi, @@ -1639,8 +5122,34 @@ func (c *APIGateway) ImportRestApiRequest(input *ImportRestApiInput) (req *reque return } +// ImportRestApi API operation for Amazon API Gateway. +// // A feature of the Amazon API Gateway control service for creating a new API // from an external API definition file. +// +// 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 API Gateway's +// API operation ImportRestApi for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * LimitExceededException + +// +// * BadRequestException + +// +// * TooManyRequestsException + +// +// * ConflictException + +// func (c *APIGateway) ImportRestApi(input *ImportRestApiInput) (*RestApi, error) { req, out := c.ImportRestApiRequest(input) err := req.Send() @@ -1649,7 +5158,30 @@ func (c *APIGateway) ImportRestApi(input *ImportRestApiInput) (*RestApi, error) const opPutIntegration = "PutIntegration" -// PutIntegrationRequest generates a request for the PutIntegration operation. +// PutIntegrationRequest generates a "aws/request.Request" representing the +// client's request for the PutIntegration operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutIntegration for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutIntegration method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutIntegrationRequest method. +// req, resp := client.PutIntegrationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) PutIntegrationRequest(input *PutIntegrationInput) (req *request.Request, output *Integration) { op := &request.Operation{ Name: opPutIntegration, @@ -1667,7 +5199,33 @@ func (c *APIGateway) PutIntegrationRequest(input *PutIntegrationInput) (req *req return } +// PutIntegration API operation for Amazon API Gateway. +// // Represents a put integration. +// +// 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 API Gateway's +// API operation PutIntegration for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * BadRequestException + +// +// * ConflictException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// func (c *APIGateway) PutIntegration(input *PutIntegrationInput) (*Integration, error) { req, out := c.PutIntegrationRequest(input) err := req.Send() @@ -1676,7 +5234,30 @@ func (c *APIGateway) PutIntegration(input *PutIntegrationInput) (*Integration, e const opPutIntegrationResponse = "PutIntegrationResponse" -// PutIntegrationResponseRequest generates a request for the PutIntegrationResponse operation. +// PutIntegrationResponseRequest generates a "aws/request.Request" representing the +// client's request for the PutIntegrationResponse operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutIntegrationResponse for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutIntegrationResponse method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutIntegrationResponseRequest method. +// req, resp := client.PutIntegrationResponseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) PutIntegrationResponseRequest(input *PutIntegrationResponseInput) (req *request.Request, output *IntegrationResponse) { op := &request.Operation{ Name: opPutIntegrationResponse, @@ -1694,7 +5275,36 @@ func (c *APIGateway) PutIntegrationResponseRequest(input *PutIntegrationResponse return } +// PutIntegrationResponse API operation for Amazon API Gateway. +// // Represents a put integration. +// +// 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 API Gateway's +// API operation PutIntegrationResponse for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * LimitExceededException + +// +// * BadRequestException + +// +// * TooManyRequestsException + +// +// * ConflictException + +// func (c *APIGateway) PutIntegrationResponse(input *PutIntegrationResponseInput) (*IntegrationResponse, error) { req, out := c.PutIntegrationResponseRequest(input) err := req.Send() @@ -1703,7 +5313,30 @@ func (c *APIGateway) PutIntegrationResponse(input *PutIntegrationResponseInput) const opPutMethod = "PutMethod" -// PutMethodRequest generates a request for the PutMethod operation. +// PutMethodRequest generates a "aws/request.Request" representing the +// client's request for the PutMethod operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutMethod for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutMethod method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutMethodRequest method. +// req, resp := client.PutMethodRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) PutMethodRequest(input *PutMethodInput) (req *request.Request, output *Method) { op := &request.Operation{ Name: opPutMethod, @@ -1721,7 +5354,36 @@ func (c *APIGateway) PutMethodRequest(input *PutMethodInput) (req *request.Reque return } +// PutMethod API operation for Amazon API Gateway. +// // Add a method to an existing Resource resource. +// +// 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 API Gateway's +// API operation PutMethod for usage and error information. +// +// Returned Error Codes: +// * BadRequestException + +// +// * UnauthorizedException + +// +// * NotFoundException + +// +// * ConflictException + +// +// * LimitExceededException + +// +// * TooManyRequestsException + +// func (c *APIGateway) PutMethod(input *PutMethodInput) (*Method, error) { req, out := c.PutMethodRequest(input) err := req.Send() @@ -1730,7 +5392,30 @@ func (c *APIGateway) PutMethod(input *PutMethodInput) (*Method, error) { const opPutMethodResponse = "PutMethodResponse" -// PutMethodResponseRequest generates a request for the PutMethodResponse operation. +// PutMethodResponseRequest generates a "aws/request.Request" representing the +// client's request for the PutMethodResponse operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutMethodResponse for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutMethodResponse method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutMethodResponseRequest method. +// req, resp := client.PutMethodResponseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) PutMethodResponseRequest(input *PutMethodResponseInput) (req *request.Request, output *MethodResponse) { op := &request.Operation{ Name: opPutMethodResponse, @@ -1748,7 +5433,36 @@ func (c *APIGateway) PutMethodResponseRequest(input *PutMethodResponseInput) (re return } +// PutMethodResponse API operation for Amazon API Gateway. +// // Adds a MethodResponse to an existing Method resource. +// +// 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 API Gateway's +// API operation PutMethodResponse for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * ConflictException + +// +// * LimitExceededException + +// +// * BadRequestException + +// +// * TooManyRequestsException + +// func (c *APIGateway) PutMethodResponse(input *PutMethodResponseInput) (*MethodResponse, error) { req, out := c.PutMethodResponseRequest(input) err := req.Send() @@ -1757,7 +5471,30 @@ func (c *APIGateway) PutMethodResponse(input *PutMethodResponseInput) (*MethodRe const opPutRestApi = "PutRestApi" -// PutRestApiRequest generates a request for the PutRestApi operation. +// PutRestApiRequest generates a "aws/request.Request" representing the +// client's request for the PutRestApi operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutRestApi for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutRestApi method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutRestApiRequest method. +// req, resp := client.PutRestApiRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) PutRestApiRequest(input *PutRestApiInput) (req *request.Request, output *RestApi) { op := &request.Operation{ Name: opPutRestApi, @@ -1775,19 +5512,71 @@ func (c *APIGateway) PutRestApiRequest(input *PutRestApiInput) (req *request.Req return } +// PutRestApi API operation for Amazon API Gateway. +// // A feature of the Amazon API Gateway control service for updating an existing // API with an input of external API definitions. The update can take the form // of merging the supplied definition into the existing API or overwriting the // existing API. -func (c *APIGateway) PutRestApi(input *PutRestApiInput) (*RestApi, error) { - req, out := c.PutRestApiRequest(input) - err := req.Send() - return out, err -} +// +// 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 API Gateway's +// API operation PutRestApi for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * LimitExceededException + +// +// * NotFoundException + +// +// * BadRequestException + +// +// * TooManyRequestsException + +// +// * ConflictException + +// +func (c *APIGateway) PutRestApi(input *PutRestApiInput) (*RestApi, error) { + req, out := c.PutRestApiRequest(input) + err := req.Send() + return out, err +} const opTestInvokeAuthorizer = "TestInvokeAuthorizer" -// TestInvokeAuthorizerRequest generates a request for the TestInvokeAuthorizer operation. +// TestInvokeAuthorizerRequest generates a "aws/request.Request" representing the +// client's request for the TestInvokeAuthorizer operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See TestInvokeAuthorizer for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the TestInvokeAuthorizer method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the TestInvokeAuthorizerRequest method. +// req, resp := client.TestInvokeAuthorizerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) TestInvokeAuthorizerRequest(input *TestInvokeAuthorizerInput) (req *request.Request, output *TestInvokeAuthorizerOutput) { op := &request.Operation{ Name: opTestInvokeAuthorizer, @@ -1805,8 +5594,33 @@ func (c *APIGateway) TestInvokeAuthorizerRequest(input *TestInvokeAuthorizerInpu return } +// TestInvokeAuthorizer API operation for Amazon API Gateway. +// // Simulate the execution of an Authorizer in your RestApi with headers, parameters, // and an incoming request body. +// +// Enable custom authorizers (http://docs.aws.amazon.com/apigateway/latest/developerguide/use-custom-authorizer.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. +// +// See the AWS API reference guide for Amazon API Gateway's +// API operation TestInvokeAuthorizer for usage and error information. +// +// Returned Error Codes: +// * BadRequestException + +// +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// func (c *APIGateway) TestInvokeAuthorizer(input *TestInvokeAuthorizerInput) (*TestInvokeAuthorizerOutput, error) { req, out := c.TestInvokeAuthorizerRequest(input) err := req.Send() @@ -1815,7 +5629,30 @@ func (c *APIGateway) TestInvokeAuthorizer(input *TestInvokeAuthorizerInput) (*Te const opTestInvokeMethod = "TestInvokeMethod" -// TestInvokeMethodRequest generates a request for the TestInvokeMethod operation. +// TestInvokeMethodRequest generates a "aws/request.Request" representing the +// client's request for the TestInvokeMethod operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See TestInvokeMethod for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the TestInvokeMethod method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the TestInvokeMethodRequest method. +// req, resp := client.TestInvokeMethodRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) TestInvokeMethodRequest(input *TestInvokeMethodInput) (req *request.Request, output *TestInvokeMethodOutput) { op := &request.Operation{ Name: opTestInvokeMethod, @@ -1833,8 +5670,31 @@ func (c *APIGateway) TestInvokeMethodRequest(input *TestInvokeMethodInput) (req return } +// TestInvokeMethod API operation for Amazon API Gateway. +// // Simulate the execution of a Method in your RestApi with headers, parameters, // and an incoming request body. +// +// 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 API Gateway's +// API operation TestInvokeMethod for usage and error information. +// +// Returned Error Codes: +// * BadRequestException + +// +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// func (c *APIGateway) TestInvokeMethod(input *TestInvokeMethodInput) (*TestInvokeMethodOutput, error) { req, out := c.TestInvokeMethodRequest(input) err := req.Send() @@ -1843,7 +5703,30 @@ func (c *APIGateway) TestInvokeMethod(input *TestInvokeMethodInput) (*TestInvoke const opUpdateAccount = "UpdateAccount" -// UpdateAccountRequest generates a request for the UpdateAccount operation. +// UpdateAccountRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAccount operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateAccount for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateAccount method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateAccountRequest method. +// req, resp := client.UpdateAccountRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) UpdateAccountRequest(input *UpdateAccountInput) (req *request.Request, output *Account) { op := &request.Operation{ Name: opUpdateAccount, @@ -1861,7 +5744,30 @@ func (c *APIGateway) UpdateAccountRequest(input *UpdateAccountInput) (req *reque return } +// UpdateAccount API operation for Amazon API Gateway. +// // Changes information about the current Account resource. +// +// 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 API Gateway's +// API operation UpdateAccount for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * BadRequestException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// func (c *APIGateway) UpdateAccount(input *UpdateAccountInput) (*Account, error) { req, out := c.UpdateAccountRequest(input) err := req.Send() @@ -1870,7 +5776,30 @@ func (c *APIGateway) UpdateAccount(input *UpdateAccountInput) (*Account, error) const opUpdateApiKey = "UpdateApiKey" -// UpdateApiKeyRequest generates a request for the UpdateApiKey operation. +// UpdateApiKeyRequest generates a "aws/request.Request" representing the +// client's request for the UpdateApiKey operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateApiKey for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateApiKey method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateApiKeyRequest method. +// req, resp := client.UpdateApiKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) UpdateApiKeyRequest(input *UpdateApiKeyInput) (req *request.Request, output *ApiKey) { op := &request.Operation{ Name: opUpdateApiKey, @@ -1888,7 +5817,33 @@ func (c *APIGateway) UpdateApiKeyRequest(input *UpdateApiKeyInput) (req *request return } +// UpdateApiKey API operation for Amazon API Gateway. +// // Changes information about an ApiKey resource. +// +// 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 API Gateway's +// API operation UpdateApiKey for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * BadRequestException + +// +// * TooManyRequestsException + +// +// * ConflictException + +// func (c *APIGateway) UpdateApiKey(input *UpdateApiKeyInput) (*ApiKey, error) { req, out := c.UpdateApiKeyRequest(input) err := req.Send() @@ -1897,7 +5852,30 @@ func (c *APIGateway) UpdateApiKey(input *UpdateApiKeyInput) (*ApiKey, error) { const opUpdateAuthorizer = "UpdateAuthorizer" -// UpdateAuthorizerRequest generates a request for the UpdateAuthorizer operation. +// UpdateAuthorizerRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAuthorizer operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateAuthorizer for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateAuthorizer method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateAuthorizerRequest method. +// req, resp := client.UpdateAuthorizerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) UpdateAuthorizerRequest(input *UpdateAuthorizerInput) (req *request.Request, output *Authorizer) { op := &request.Operation{ Name: opUpdateAuthorizer, @@ -1915,7 +5893,32 @@ func (c *APIGateway) UpdateAuthorizerRequest(input *UpdateAuthorizerInput) (req return } +// UpdateAuthorizer API operation for Amazon API Gateway. +// // Updates an existing Authorizer resource. +// +// AWS CLI (http://docs.aws.amazon.com/cli/latest/reference/apigateway/update-authorizer.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. +// +// See the AWS API reference guide for Amazon API Gateway's +// API operation UpdateAuthorizer for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * BadRequestException + +// +// * TooManyRequestsException + +// func (c *APIGateway) UpdateAuthorizer(input *UpdateAuthorizerInput) (*Authorizer, error) { req, out := c.UpdateAuthorizerRequest(input) err := req.Send() @@ -1924,7 +5927,30 @@ func (c *APIGateway) UpdateAuthorizer(input *UpdateAuthorizerInput) (*Authorizer const opUpdateBasePathMapping = "UpdateBasePathMapping" -// UpdateBasePathMappingRequest generates a request for the UpdateBasePathMapping operation. +// UpdateBasePathMappingRequest generates a "aws/request.Request" representing the +// client's request for the UpdateBasePathMapping operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateBasePathMapping for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateBasePathMapping method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateBasePathMappingRequest method. +// req, resp := client.UpdateBasePathMappingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) UpdateBasePathMappingRequest(input *UpdateBasePathMappingInput) (req *request.Request, output *BasePathMapping) { op := &request.Operation{ Name: opUpdateBasePathMapping, @@ -1942,7 +5968,33 @@ func (c *APIGateway) UpdateBasePathMappingRequest(input *UpdateBasePathMappingIn return } +// UpdateBasePathMapping API operation for Amazon API Gateway. +// // Changes information about the BasePathMapping resource. +// +// 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 API Gateway's +// API operation UpdateBasePathMapping for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * ConflictException + +// +// * BadRequestException + +// +// * TooManyRequestsException + +// func (c *APIGateway) UpdateBasePathMapping(input *UpdateBasePathMappingInput) (*BasePathMapping, error) { req, out := c.UpdateBasePathMappingRequest(input) err := req.Send() @@ -1951,7 +6003,30 @@ func (c *APIGateway) UpdateBasePathMapping(input *UpdateBasePathMappingInput) (* const opUpdateClientCertificate = "UpdateClientCertificate" -// UpdateClientCertificateRequest generates a request for the UpdateClientCertificate operation. +// UpdateClientCertificateRequest generates a "aws/request.Request" representing the +// client's request for the UpdateClientCertificate operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateClientCertificate for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateClientCertificate method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateClientCertificateRequest method. +// req, resp := client.UpdateClientCertificateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) UpdateClientCertificateRequest(input *UpdateClientCertificateInput) (req *request.Request, output *ClientCertificate) { op := &request.Operation{ Name: opUpdateClientCertificate, @@ -1969,7 +6044,30 @@ func (c *APIGateway) UpdateClientCertificateRequest(input *UpdateClientCertifica return } +// UpdateClientCertificate API operation for Amazon API Gateway. +// // Changes information about an ClientCertificate resource. +// +// 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 API Gateway's +// API operation UpdateClientCertificate for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * TooManyRequestsException + +// +// * BadRequestException + +// +// * NotFoundException + +// func (c *APIGateway) UpdateClientCertificate(input *UpdateClientCertificateInput) (*ClientCertificate, error) { req, out := c.UpdateClientCertificateRequest(input) err := req.Send() @@ -1978,7 +6076,30 @@ func (c *APIGateway) UpdateClientCertificate(input *UpdateClientCertificateInput const opUpdateDeployment = "UpdateDeployment" -// UpdateDeploymentRequest generates a request for the UpdateDeployment operation. +// UpdateDeploymentRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDeployment operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateDeployment for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateDeployment method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateDeploymentRequest method. +// req, resp := client.UpdateDeploymentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) UpdateDeploymentRequest(input *UpdateDeploymentInput) (req *request.Request, output *Deployment) { op := &request.Operation{ Name: opUpdateDeployment, @@ -1996,7 +6117,33 @@ func (c *APIGateway) UpdateDeploymentRequest(input *UpdateDeploymentInput) (req return } +// UpdateDeployment API operation for Amazon API Gateway. +// // Changes information about a Deployment resource. +// +// 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 API Gateway's +// API operation UpdateDeployment for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * BadRequestException + +// +// * TooManyRequestsException + +// +// * ServiceUnavailableException + +// func (c *APIGateway) UpdateDeployment(input *UpdateDeploymentInput) (*Deployment, error) { req, out := c.UpdateDeploymentRequest(input) err := req.Send() @@ -2005,7 +6152,30 @@ func (c *APIGateway) UpdateDeployment(input *UpdateDeploymentInput) (*Deployment const opUpdateDomainName = "UpdateDomainName" -// UpdateDomainNameRequest generates a request for the UpdateDomainName operation. +// UpdateDomainNameRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDomainName operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateDomainName for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateDomainName method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateDomainNameRequest method. +// req, resp := client.UpdateDomainNameRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) UpdateDomainNameRequest(input *UpdateDomainNameInput) (req *request.Request, output *DomainName) { op := &request.Operation{ Name: opUpdateDomainName, @@ -2023,7 +6193,33 @@ func (c *APIGateway) UpdateDomainNameRequest(input *UpdateDomainNameInput) (req return } +// UpdateDomainName API operation for Amazon API Gateway. +// // Changes information about the DomainName resource. +// +// 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 API Gateway's +// API operation UpdateDomainName for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * BadRequestException + +// +// * ConflictException + +// +// * TooManyRequestsException + +// func (c *APIGateway) UpdateDomainName(input *UpdateDomainNameInput) (*DomainName, error) { req, out := c.UpdateDomainNameRequest(input) err := req.Send() @@ -2032,7 +6228,30 @@ func (c *APIGateway) UpdateDomainName(input *UpdateDomainNameInput) (*DomainName const opUpdateIntegration = "UpdateIntegration" -// UpdateIntegrationRequest generates a request for the UpdateIntegration operation. +// UpdateIntegrationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateIntegration operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateIntegration for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateIntegration method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateIntegrationRequest method. +// req, resp := client.UpdateIntegrationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) UpdateIntegrationRequest(input *UpdateIntegrationInput) (req *request.Request, output *Integration) { op := &request.Operation{ Name: opUpdateIntegration, @@ -2050,7 +6269,33 @@ func (c *APIGateway) UpdateIntegrationRequest(input *UpdateIntegrationInput) (re return } +// UpdateIntegration API operation for Amazon API Gateway. +// // Represents an update integration. +// +// 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 API Gateway's +// API operation UpdateIntegration for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * BadRequestException + +// +// * TooManyRequestsException + +// +// * ConflictException + +// func (c *APIGateway) UpdateIntegration(input *UpdateIntegrationInput) (*Integration, error) { req, out := c.UpdateIntegrationRequest(input) err := req.Send() @@ -2059,7 +6304,30 @@ func (c *APIGateway) UpdateIntegration(input *UpdateIntegrationInput) (*Integrat const opUpdateIntegrationResponse = "UpdateIntegrationResponse" -// UpdateIntegrationResponseRequest generates a request for the UpdateIntegrationResponse operation. +// UpdateIntegrationResponseRequest generates a "aws/request.Request" representing the +// client's request for the UpdateIntegrationResponse operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateIntegrationResponse for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateIntegrationResponse method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateIntegrationResponseRequest method. +// req, resp := client.UpdateIntegrationResponseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) UpdateIntegrationResponseRequest(input *UpdateIntegrationResponseInput) (req *request.Request, output *IntegrationResponse) { op := &request.Operation{ Name: opUpdateIntegrationResponse, @@ -2077,7 +6345,33 @@ func (c *APIGateway) UpdateIntegrationResponseRequest(input *UpdateIntegrationRe return } +// UpdateIntegrationResponse API operation for Amazon API Gateway. +// // Represents an update integration 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. +// +// See the AWS API reference guide for Amazon API Gateway's +// API operation UpdateIntegrationResponse for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * ConflictException + +// +// * BadRequestException + +// +// * TooManyRequestsException + +// func (c *APIGateway) UpdateIntegrationResponse(input *UpdateIntegrationResponseInput) (*IntegrationResponse, error) { req, out := c.UpdateIntegrationResponseRequest(input) err := req.Send() @@ -2086,7 +6380,30 @@ func (c *APIGateway) UpdateIntegrationResponse(input *UpdateIntegrationResponseI const opUpdateMethod = "UpdateMethod" -// UpdateMethodRequest generates a request for the UpdateMethod operation. +// UpdateMethodRequest generates a "aws/request.Request" representing the +// client's request for the UpdateMethod operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateMethod for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateMethod method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateMethodRequest method. +// req, resp := client.UpdateMethodRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) UpdateMethodRequest(input *UpdateMethodInput) (req *request.Request, output *Method) { op := &request.Operation{ Name: opUpdateMethod, @@ -2104,7 +6421,33 @@ func (c *APIGateway) UpdateMethodRequest(input *UpdateMethodInput) (req *request return } +// UpdateMethod API operation for Amazon API Gateway. +// // Updates an existing Method resource. +// +// 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 API Gateway's +// API operation UpdateMethod for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * BadRequestException + +// +// * ConflictException + +// +// * TooManyRequestsException + +// func (c *APIGateway) UpdateMethod(input *UpdateMethodInput) (*Method, error) { req, out := c.UpdateMethodRequest(input) err := req.Send() @@ -2113,7 +6456,30 @@ func (c *APIGateway) UpdateMethod(input *UpdateMethodInput) (*Method, error) { const opUpdateMethodResponse = "UpdateMethodResponse" -// UpdateMethodResponseRequest generates a request for the UpdateMethodResponse operation. +// UpdateMethodResponseRequest generates a "aws/request.Request" representing the +// client's request for the UpdateMethodResponse operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateMethodResponse for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateMethodResponse method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateMethodResponseRequest method. +// req, resp := client.UpdateMethodResponseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) UpdateMethodResponseRequest(input *UpdateMethodResponseInput) (req *request.Request, output *MethodResponse) { op := &request.Operation{ Name: opUpdateMethodResponse, @@ -2131,7 +6497,36 @@ func (c *APIGateway) UpdateMethodResponseRequest(input *UpdateMethodResponseInpu return } +// UpdateMethodResponse API operation for Amazon API Gateway. +// // Updates an existing MethodResponse resource. +// +// 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 API Gateway's +// API operation UpdateMethodResponse for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * ConflictException + +// +// * LimitExceededException + +// +// * BadRequestException + +// +// * TooManyRequestsException + +// func (c *APIGateway) UpdateMethodResponse(input *UpdateMethodResponseInput) (*MethodResponse, error) { req, out := c.UpdateMethodResponseRequest(input) err := req.Send() @@ -2140,7 +6535,30 @@ func (c *APIGateway) UpdateMethodResponse(input *UpdateMethodResponseInput) (*Me const opUpdateModel = "UpdateModel" -// UpdateModelRequest generates a request for the UpdateModel operation. +// UpdateModelRequest generates a "aws/request.Request" representing the +// client's request for the UpdateModel operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateModel for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateModel method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateModelRequest method. +// req, resp := client.UpdateModelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) UpdateModelRequest(input *UpdateModelInput) (req *request.Request, output *Model) { op := &request.Operation{ Name: opUpdateModel, @@ -2158,7 +6576,33 @@ func (c *APIGateway) UpdateModelRequest(input *UpdateModelInput) (req *request.R return } +// UpdateModel API operation for Amazon API Gateway. +// // Changes information about a model. +// +// 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 API Gateway's +// API operation UpdateModel for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * BadRequestException + +// +// * ConflictException + +// +// * TooManyRequestsException + +// func (c *APIGateway) UpdateModel(input *UpdateModelInput) (*Model, error) { req, out := c.UpdateModelRequest(input) err := req.Send() @@ -2167,7 +6611,30 @@ func (c *APIGateway) UpdateModel(input *UpdateModelInput) (*Model, error) { const opUpdateResource = "UpdateResource" -// UpdateResourceRequest generates a request for the UpdateResource operation. +// UpdateResourceRequest generates a "aws/request.Request" representing the +// client's request for the UpdateResource operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateResource for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateResource method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateResourceRequest method. +// req, resp := client.UpdateResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) UpdateResourceRequest(input *UpdateResourceInput) (req *request.Request, output *Resource) { op := &request.Operation{ Name: opUpdateResource, @@ -2185,7 +6652,33 @@ func (c *APIGateway) UpdateResourceRequest(input *UpdateResourceInput) (req *req return } +// UpdateResource API operation for Amazon API Gateway. +// // Changes information about a Resource resource. +// +// 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 API Gateway's +// API operation UpdateResource for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * ConflictException + +// +// * BadRequestException + +// +// * TooManyRequestsException + +// func (c *APIGateway) UpdateResource(input *UpdateResourceInput) (*Resource, error) { req, out := c.UpdateResourceRequest(input) err := req.Send() @@ -2194,7 +6687,30 @@ func (c *APIGateway) UpdateResource(input *UpdateResourceInput) (*Resource, erro const opUpdateRestApi = "UpdateRestApi" -// UpdateRestApiRequest generates a request for the UpdateRestApi operation. +// UpdateRestApiRequest generates a "aws/request.Request" representing the +// client's request for the UpdateRestApi operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateRestApi for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateRestApi method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateRestApiRequest method. +// req, resp := client.UpdateRestApiRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) UpdateRestApiRequest(input *UpdateRestApiInput) (req *request.Request, output *RestApi) { op := &request.Operation{ Name: opUpdateRestApi, @@ -2212,7 +6728,33 @@ func (c *APIGateway) UpdateRestApiRequest(input *UpdateRestApiInput) (req *reque return } +// UpdateRestApi API operation for Amazon API Gateway. +// // Changes information about the specified API. +// +// 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 API Gateway's +// API operation UpdateRestApi for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * ConflictException + +// +// * BadRequestException + +// +// * TooManyRequestsException + +// func (c *APIGateway) UpdateRestApi(input *UpdateRestApiInput) (*RestApi, error) { req, out := c.UpdateRestApiRequest(input) err := req.Send() @@ -2221,7 +6763,30 @@ func (c *APIGateway) UpdateRestApi(input *UpdateRestApiInput) (*RestApi, error) const opUpdateStage = "UpdateStage" -// UpdateStageRequest generates a request for the UpdateStage operation. +// UpdateStageRequest generates a "aws/request.Request" representing the +// client's request for the UpdateStage operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateStage for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateStage method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateStageRequest method. +// req, resp := client.UpdateStageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *APIGateway) UpdateStageRequest(input *UpdateStageInput) (req *request.Request, output *Stage) { op := &request.Operation{ Name: opUpdateStage, @@ -2239,23 +6804,236 @@ func (c *APIGateway) UpdateStageRequest(input *UpdateStageInput) (req *request.R return } +// UpdateStage API operation for Amazon API Gateway. +// // Changes information about a Stage resource. +// +// 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 API Gateway's +// API operation UpdateStage for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * ConflictException + +// +// * BadRequestException + +// +// * TooManyRequestsException + +// func (c *APIGateway) UpdateStage(input *UpdateStageInput) (*Stage, error) { req, out := c.UpdateStageRequest(input) err := req.Send() return out, err } +const opUpdateUsage = "UpdateUsage" + +// UpdateUsageRequest generates a "aws/request.Request" representing the +// client's request for the UpdateUsage operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateUsage for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateUsage method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateUsageRequest method. +// req, resp := client.UpdateUsageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *APIGateway) UpdateUsageRequest(input *UpdateUsageInput) (req *request.Request, output *Usage) { + op := &request.Operation{ + Name: opUpdateUsage, + HTTPMethod: "PATCH", + HTTPPath: "/usageplans/{usageplanId}/keys/{keyId}/usage", + } + + if input == nil { + input = &UpdateUsageInput{} + } + + req = c.newRequest(op, input, output) + output = &Usage{} + req.Data = output + return +} + +// UpdateUsage API operation for Amazon API Gateway. +// +// Grants a temporary extension to the reamining quota of a usage plan associated +// with a specified API key. +// +// 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 API Gateway's +// API operation UpdateUsage for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * TooManyRequestsException + +// +// * BadRequestException + +// +// * NotFoundException + +// +func (c *APIGateway) UpdateUsage(input *UpdateUsageInput) (*Usage, error) { + req, out := c.UpdateUsageRequest(input) + err := req.Send() + return out, err +} + +const opUpdateUsagePlan = "UpdateUsagePlan" + +// UpdateUsagePlanRequest generates a "aws/request.Request" representing the +// client's request for the UpdateUsagePlan operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateUsagePlan for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateUsagePlan method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateUsagePlanRequest method. +// req, resp := client.UpdateUsagePlanRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *APIGateway) UpdateUsagePlanRequest(input *UpdateUsagePlanInput) (req *request.Request, output *UsagePlan) { + op := &request.Operation{ + Name: opUpdateUsagePlan, + HTTPMethod: "PATCH", + HTTPPath: "/usageplans/{usageplanId}", + } + + if input == nil { + input = &UpdateUsagePlanInput{} + } + + req = c.newRequest(op, input, output) + output = &UsagePlan{} + req.Data = output + return +} + +// UpdateUsagePlan API operation for Amazon API Gateway. +// +// Updates a usage plan of a given plan 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 API Gateway's +// API operation UpdateUsagePlan for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * TooManyRequestsException + +// +// * BadRequestException + +// +// * NotFoundException + +// +// * ConflictException + +// +func (c *APIGateway) UpdateUsagePlan(input *UpdateUsagePlanInput) (*UsagePlan, error) { + req, out := c.UpdateUsagePlanRequest(input) + err := req.Send() + return out, err +} + // Represents an AWS account that is associated with Amazon API Gateway. +// +// To view the account info, call GET on this resource. +// +// Error Codes +// +// The following exception may be thrown when the request fails. +// +// UnauthorizedException NotFoundException TooManyRequestsException For detailed +// error code information, including the corresponding HTTP Status Codes, see +// API Gateway Error Codes (http://docs.aws.amazon.com/apigateway/api-reference/handling-errors/#api-error-codes) +// +// Example: Get the information about an account. +// +// Request +// +// GET /account HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com +// X-Amz-Date: 20160531T184618Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/us-east-1/apigateway/aws4_request, +// SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash} Response +// +// The successful response returns a 200 OK status code and a payload similar +// to the following: +// +// { "_links": { "curies": { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/account-apigateway-{rel}.html", +// "name": "account", "templated": true }, "self": { "href": "/account" }, "account:update": +// { "href": "/account" } }, "cloudwatchRoleArn": "arn:aws:iam::123456789012:role/apigAwsProxyRole", +// "throttleSettings": { "rateLimit": 500, "burstLimit": 1000 } } In addition +// to making the REST API call directly, you can use the AWS CLI and an AWS +// SDK to access this resource. +// +// API Gateway Limits (http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-limits.html) +// Developer Guide (http://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html), +// AWS CLI (http://docs.aws.amazon.com/cli/latest/reference/apigateway/get-account.html) type Account struct { _ struct{} `type:"structure"` - // Specifies the Amazon resource name (ARN) of an Amazon CloudWatch role for - // the current Account resource. + // The version of the API keys used for the account. + ApiKeyVersion *string `locationName:"apiKeyVersion" type:"string"` + + // The ARN of an Amazon CloudWatch role for the current Account. CloudwatchRoleArn *string `locationName:"cloudwatchRoleArn" type:"string"` - // Specifies the application programming interface (API) throttle settings for - // the current Account resource. + // A list of features supported for the account. When usage plans are enabled, + // the features list will include an entry of "UsagePlans". + Features []*string `locationName:"features" type:"list"` + + // Specifies the API request limits configured for the current Account. ThrottleSettings *ThrottleSettings `locationName:"throttleSettings" type:"structure"` } @@ -2273,6 +7051,8 @@ func (s Account) GoString() string { // that require an API key. API keys can be mapped to any Stage on any RestApi, // which indicates that the callers with the API key can make requests to that // stage. +// +// Use API Keys (http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-api-keys.html) type ApiKey struct { _ struct{} `type:"structure"` @@ -2297,6 +7077,9 @@ type ApiKey struct { // A list of Stage resources that are associated with the ApiKey resource. StageKeys []*string `locationName:"stageKeys" type:"list"` + + // The value of the API Key. + Value *string `locationName:"value" type:"string"` } // String returns the string representation @@ -2309,8 +7092,31 @@ func (s ApiKey) GoString() string { return s.String() } +// API stage name of the associated API stage in a usage plan. +type ApiStage struct { + _ struct{} `type:"structure"` + + // API Id of the associated API stage in a usage plan. + ApiId *string `locationName:"apiId" type:"string"` + + // API stage name of the associated API stage in a usage plan. + Stage *string `locationName:"stage" type:"string"` +} + +// String returns the string representation +func (s ApiStage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApiStage) GoString() string { + return s.String() +} + // Represents an authorization layer for methods. If enabled on a method, API // Gateway will activate the authorizer when a client calls the method. +// +// Enable custom authorization (http://docs.aws.amazon.com/apigateway/latest/developerguide/use-custom-authorizer.html) type Authorizer struct { _ struct{} `type:"structure"` @@ -2319,7 +7125,7 @@ type Authorizer struct { AuthType *string `locationName:"authType" type:"string"` // Specifies the credentials required for the authorizer, if any. Two options - // are available. To specify an IAM Role for Amazon API Gateway to assume, use + // are available. To specify an IAM role for Amazon API Gateway to assume, use // the role's Amazon Resource Name (ARN). To use resource-based permissions // on the Lambda function, specify null. AuthorizerCredentials *string `locationName:"authorizerCredentials" type:"string"` @@ -2357,6 +7163,9 @@ type Authorizer struct { // [Required] The name of the authorizer. Name *string `locationName:"name" type:"string"` + // A list of the provider ARNs of the authorizer. + ProviderARNs []*string `locationName:"providerARNs" type:"list"` + // [Required] The type of the authorizer. Currently, the only valid type is // TOKEN. Type *string `locationName:"type" type:"string" enum:"AuthorizerType"` @@ -2372,8 +7181,11 @@ func (s Authorizer) GoString() string { return s.String() } -// Represents the base path that callers of the API that must provide as part -// of the URL after the domain name. +// Represents the base path that callers of the API must provide as part of +// the URL after the domain name. +// +// A custom domain name plus a BasePathMapping specification identifies a deployed +// RestApi in a given stage of the owner Account. Use Custom Domain Names (http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html) type BasePathMapping struct { _ struct{} `type:"structure"` @@ -2398,26 +7210,30 @@ func (s BasePathMapping) GoString() string { return s.String() } -// Represents a Client Certificate used to configure client-side SSL authentication +// Represents a client certificate used to configure client-side SSL authentication // while sending requests to the integration endpoint. +// +// Client certificates are used authenticate an API by the back-end server. +// To authenticate an API client (or user), use a custom Authorizer. Use Client-Side +// Certificate (http://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-client-side-ssl-authentication.html) type ClientCertificate struct { _ struct{} `type:"structure"` - // The identifier of the Client Certificate. + // The identifier of the client certificate. ClientCertificateId *string `locationName:"clientCertificateId" type:"string"` - // The date when the Client Certificate was created, in ISO 8601 format (http://www.iso.org/iso/home/standards/iso8601.htm" + // The date when the client certificate was created, in ISO 8601 format (http://www.iso.org/iso/home/standards/iso8601.htm" // target="_blank). CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"unix"` - // The description of the Client Certificate. + // The description of the client certificate. Description *string `locationName:"description" type:"string"` - // The date when the Client Certificate will expire, in ISO 8601 format (http://www.iso.org/iso/home/standards/iso8601.htm" + // The date when the client certificate will expire, in ISO 8601 format (http://www.iso.org/iso/home/standards/iso8601.htm" // target="_blank). ExpirationDate *time.Time `locationName:"expirationDate" type:"timestamp" timestampFormat:"unix"` - // The PEM-encoded public key of the Client Certificate, that can be used to + // The PEM-encoded public key of the client certificate, which can be used to // configure certificate authentication in the integration endpoint . PemEncodedCertificate *string `locationName:"pemEncodedCertificate" type:"string"` } @@ -2442,11 +7258,18 @@ type CreateApiKeyInput struct { // Specifies whether the ApiKey can be used by callers. Enabled *bool `locationName:"enabled" type:"boolean"` + // Specifies whether (true) or not (false) the key identifier is distinct from + // the created API key value. + GenerateDistinctId *bool `locationName:"generateDistinctId" type:"boolean"` + // The name of the ApiKey. Name *string `locationName:"name" type:"string"` - // Specifies whether the ApiKey can be used by callers. + // DEPRECATED FOR USAGE PLANS - Specifies stages associated with the API key. StageKeys []*StageKey `locationName:"stageKeys" type:"list"` + + // Specifies a value of the API key. + Value *string `locationName:"value" type:"string"` } // String returns the string representation @@ -2474,21 +7297,32 @@ type CreateAuthorizerInput struct { AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"` // [Required] Specifies the authorizer's Uniform Resource Identifier (URI). - AuthorizerUri *string `locationName:"authorizerUri" type:"string" required:"true"` + AuthorizerUri *string `locationName:"authorizerUri" type:"string"` // [Required] The source of the identity in an incoming request. + // + // IdentitySource is a required field IdentitySource *string `locationName:"identitySource" type:"string" required:"true"` // A validation expression for the incoming identity. IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"` // [Required] The name of the authorizer. + // + // Name is a required field Name *string `locationName:"name" type:"string" required:"true"` + // A list of the Cognito Your User Pool authorizer's provider ARNs. + ProviderARNs []*string `locationName:"providerARNs" type:"list"` + // The RestApi identifier under which the Authorizer will be created. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` // [Required] The type of the authorizer. + // + // Type is a required field Type *string `locationName:"type" type:"string" required:"true" enum:"AuthorizerType"` } @@ -2505,9 +7339,6 @@ func (s CreateAuthorizerInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateAuthorizerInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateAuthorizerInput"} - if s.AuthorizerUri == nil { - invalidParams.Add(request.NewErrParamRequired("AuthorizerUri")) - } if s.IdentitySource == nil { invalidParams.Add(request.NewErrParamRequired("IdentitySource")) } @@ -2538,9 +7369,13 @@ type CreateBasePathMappingInput struct { BasePath *string `locationName:"basePath" type:"string"` // The domain name of the BasePathMapping resource to create. + // + // DomainName is a required field DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"` // The name of the API that you want to apply this mapping to. + // + // RestApiId is a required field RestApiId *string `locationName:"restApiId" type:"string" required:"true"` // The name of the API's stage that you want to use for this mapping. Leave @@ -2590,17 +7425,21 @@ type CreateDeploymentInput struct { Description *string `locationName:"description" type:"string"` // The RestApi resource identifier for the Deployment resource to create. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` // The description of the Stage resource for the Deployment resource to create. StageDescription *string `locationName:"stageDescription" type:"string"` // The name of the Stage resource for the Deployment resource to create. + // + // StageName is a required field StageName *string `locationName:"stageName" type:"string" required:"true"` // A map that defines the stage variables for the Stage resource that is associated - // with the new deployment. Variable names can have alphanumeric characters, - // and the values must match [A-Za-z0-9-._~:/?#&=,]+. + // with the new deployment. Variable names can have alphanumeric and underscore + // characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+. Variables map[string]*string `locationName:"variables" type:"map"` } @@ -2635,6 +7474,8 @@ type CreateDomainNameInput struct { _ struct{} `type:"structure"` // The body of the server certificate provided by your certificate authority. + // + // CertificateBody is a required field CertificateBody *string `locationName:"certificateBody" type:"string" required:"true"` // The intermediate certificates and optionally the root certificate, one after @@ -2643,15 +7484,23 @@ type CreateDomainNameInput struct { // the root certificate. Use the intermediate certificates that were provided // by your certificate authority. Do not include any intermediaries that are // not in the chain of trust path. + // + // CertificateChain is a required field CertificateChain *string `locationName:"certificateChain" type:"string" required:"true"` // The name of the certificate. + // + // CertificateName is a required field CertificateName *string `locationName:"certificateName" type:"string" required:"true"` // Your certificate's private key. + // + // CertificatePrivateKey is a required field CertificatePrivateKey *string `locationName:"certificatePrivateKey" type:"string" required:"true"` // The name of the DomainName resource. + // + // DomainName is a required field DomainName *string `locationName:"domainName" type:"string" required:"true"` } @@ -2695,15 +7544,21 @@ type CreateModelInput struct { _ struct{} `type:"structure"` // The content-type for the model. + // + // ContentType is a required field ContentType *string `locationName:"contentType" type:"string" required:"true"` // The description of the model. Description *string `locationName:"description" type:"string"` // The name of the model. + // + // Name is a required field Name *string `locationName:"name" type:"string" required:"true"` // The RestApi identifier under which the Model will be created. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` // The schema for the model. For application/json models, this should be JSON-schema @@ -2745,12 +7600,18 @@ type CreateResourceInput struct { _ struct{} `type:"structure"` // The parent resource's identifier. + // + // ParentId is a required field ParentId *string `location:"uri" locationName:"parent_id" type:"string" required:"true"` // The last path segment for this resource. + // + // PathPart is a required field PathPart *string `locationName:"pathPart" type:"string" required:"true"` // The identifier of the RestApi for the resource. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -2787,13 +7648,15 @@ func (s *CreateResourceInput) Validate() error { type CreateRestApiInput struct { _ struct{} `type:"structure"` - // The Id of the RestApi that you want to clone from. + // The ID of the RestApi that you want to clone from. CloneFrom *string `locationName:"cloneFrom" type:"string"` // The description of the RestApi. Description *string `locationName:"description" type:"string"` // The name of the RestApi. + // + // Name is a required field Name *string `locationName:"name" type:"string" required:"true"` } @@ -2831,19 +7694,26 @@ type CreateStageInput struct { CacheClusterSize *string `locationName:"cacheClusterSize" type:"string" enum:"CacheClusterSize"` // The identifier of the Deployment resource for the Stage resource. + // + // DeploymentId is a required field DeploymentId *string `locationName:"deploymentId" type:"string" required:"true"` // The description of the Stage resource. Description *string `locationName:"description" type:"string"` // The identifier of the RestApi resource for the Stage resource to create. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` // The name for the Stage resource. + // + // StageName is a required field StageName *string `locationName:"stageName" type:"string" required:"true"` // A map that defines the stage variables for the new Stage resource. Variable - // names can have alphanumeric characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+. + // names can have alphanumeric and underscore characters, and the values must + // match [A-Za-z0-9-._~:/?#&=,]+. Variables map[string]*string `locationName:"variables" type:"map"` } @@ -2876,11 +7746,111 @@ func (s *CreateStageInput) Validate() error { return nil } +// The POST request to create a usage plan with the name, description, throttle +// limits and quota limits, as well as the associated API stages, specified +// in the payload. +type CreateUsagePlanInput struct { + _ struct{} `type:"structure"` + + // The associated API stages of the usage plan. + ApiStages []*ApiStage `locationName:"apiStages" type:"list"` + + // The description of the usage plan. + Description *string `locationName:"description" type:"string"` + + // The name of the usage plan. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The quota of the usage plan. + Quota *QuotaSettings `locationName:"quota" type:"structure"` + + // The throttling limits of the usage plan. + Throttle *ThrottleSettings `locationName:"throttle" type:"structure"` +} + +// String returns the string representation +func (s CreateUsagePlanInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateUsagePlanInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateUsagePlanInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateUsagePlanInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The POST request to create a usage plan key for adding an existing API key +// to a usage plan. +type CreateUsagePlanKeyInput struct { + _ struct{} `type:"structure"` + + // The identifier of a UsagePlanKey resource for a plan customer. + // + // KeyId is a required field + KeyId *string `locationName:"keyId" type:"string" required:"true"` + + // The type of a UsagePlanKey resource for a plan customer. + // + // KeyType is a required field + KeyType *string `locationName:"keyType" type:"string" required:"true"` + + // The Id of the UsagePlan resource representing the usage plan containing the + // to-be-created UsagePlanKey resource representing a plan customer. + // + // UsagePlanId is a required field + UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateUsagePlanKeyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateUsagePlanKeyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateUsagePlanKeyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateUsagePlanKeyInput"} + if s.KeyId == nil { + invalidParams.Add(request.NewErrParamRequired("KeyId")) + } + if s.KeyType == nil { + invalidParams.Add(request.NewErrParamRequired("KeyType")) + } + if s.UsagePlanId == nil { + invalidParams.Add(request.NewErrParamRequired("UsagePlanId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // A request to delete the ApiKey resource. type DeleteApiKeyInput struct { _ struct{} `type:"structure"` // The identifier of the ApiKey resource to be deleted. + // + // ApiKey is a required field ApiKey *string `location:"uri" locationName:"api_Key" type:"string" required:"true"` } @@ -2926,9 +7896,13 @@ type DeleteAuthorizerInput struct { _ struct{} `type:"structure"` // The identifier of the Authorizer resource. + // + // AuthorizerId is a required field AuthorizerId *string `location:"uri" locationName:"authorizer_id" type:"string" required:"true"` // The RestApi identifier for the Authorizer resource. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -2977,9 +7951,13 @@ type DeleteBasePathMappingInput struct { _ struct{} `type:"structure"` // The base path name of the BasePathMapping resource to delete. + // + // BasePath is a required field BasePath *string `location:"uri" locationName:"base_path" type:"string" required:"true"` // The domain name of the BasePathMapping resource to delete. + // + // DomainName is a required field DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"` } @@ -3028,6 +8006,8 @@ type DeleteClientCertificateInput struct { _ struct{} `type:"structure"` // The identifier of the ClientCertificate resource to be deleted. + // + // ClientCertificateId is a required field ClientCertificateId *string `location:"uri" locationName:"clientcertificate_id" type:"string" required:"true"` } @@ -3073,9 +8053,13 @@ type DeleteDeploymentInput struct { _ struct{} `type:"structure"` // The identifier of the Deployment resource to delete. + // + // DeploymentId is a required field DeploymentId *string `location:"uri" locationName:"deployment_id" type:"string" required:"true"` // The identifier of the RestApi resource for the Deployment resource to delete. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -3124,6 +8108,8 @@ type DeleteDomainNameInput struct { _ struct{} `type:"structure"` // The name of the DomainName resource to be deleted. + // + // DomainName is a required field DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"` } @@ -3169,12 +8155,18 @@ type DeleteIntegrationInput struct { _ struct{} `type:"structure"` // Specifies a delete integration request's HTTP method. + // + // HttpMethod is a required field HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"` // Specifies a delete integration request's resource identifier. + // + // ResourceId is a required field ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"` // Specifies a delete integration request's API identifier. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -3226,15 +8218,23 @@ type DeleteIntegrationResponseInput struct { _ struct{} `type:"structure"` // Specifies a delete integration response request's HTTP method. + // + // HttpMethod is a required field HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"` // Specifies a delete integration response request's resource identifier. + // + // ResourceId is a required field ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"` // Specifies a delete integration response request's API identifier. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` // Specifies a delete integration response request's status code. + // + // StatusCode is a required field StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"` } @@ -3288,13 +8288,19 @@ func (s DeleteIntegrationResponseOutput) GoString() string { type DeleteMethodInput struct { _ struct{} `type:"structure"` - // The HTTP verb that identifies the Method resource. + // The HTTP verb of the Method resource. + // + // HttpMethod is a required field HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"` // The Resource identifier for the Method resource. + // + // ResourceId is a required field ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"` // The RestApi identifier for the Method resource. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -3345,16 +8351,24 @@ func (s DeleteMethodOutput) GoString() string { type DeleteMethodResponseInput struct { _ struct{} `type:"structure"` - // The HTTP verb identifier for the parent Method resource. + // The HTTP verb of the Method resource. + // + // HttpMethod is a required field HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"` // The Resource identifier for the MethodResponse resource. + // + // ResourceId is a required field ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"` // The RestApi identifier for the MethodResponse resource. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` // The status code identifier for the MethodResponse resource. + // + // StatusCode is a required field StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"` } @@ -3409,9 +8423,13 @@ type DeleteModelInput struct { _ struct{} `type:"structure"` // The name of the model to delete. + // + // ModelName is a required field ModelName *string `location:"uri" locationName:"model_name" type:"string" required:"true"` // The RestApi under which the model will be deleted. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -3460,9 +8478,13 @@ type DeleteResourceInput struct { _ struct{} `type:"structure"` // The identifier of the Resource resource. + // + // ResourceId is a required field ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"` // The RestApi identifier for the Resource resource. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -3511,6 +8533,8 @@ type DeleteRestApiInput struct { _ struct{} `type:"structure"` // The ID of the RestApi you want to delete. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -3556,9 +8580,13 @@ type DeleteStageInput struct { _ struct{} `type:"structure"` // The identifier of the RestApi resource for the Stage resource to delete. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` // The name of the Stage resource to delete. + // + // StageName is a required field StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"` } @@ -3602,13 +8630,123 @@ func (s DeleteStageOutput) GoString() string { return s.String() } +// The DELETE request to delete a uasge plan of a given plan Id. +type DeleteUsagePlanInput struct { + _ struct{} `type:"structure"` + + // The Id of the to-be-deleted usage plan. + // + // UsagePlanId is a required field + UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteUsagePlanInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteUsagePlanInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteUsagePlanInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteUsagePlanInput"} + if s.UsagePlanId == nil { + invalidParams.Add(request.NewErrParamRequired("UsagePlanId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The DELETE request to delete a usage plan key and remove the underlying API +// key from the associated usage plan. +type DeleteUsagePlanKeyInput struct { + _ struct{} `type:"structure"` + + // The Id of the UsagePlanKey resource to be deleted. + // + // KeyId is a required field + KeyId *string `location:"uri" locationName:"keyId" type:"string" required:"true"` + + // The Id of the UsagePlan resource representing the usage plan containing the + // to-be-deleted UsagePlanKey resource representing a plan customer. + // + // UsagePlanId is a required field + UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteUsagePlanKeyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteUsagePlanKeyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteUsagePlanKeyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteUsagePlanKeyInput"} + if s.KeyId == nil { + invalidParams.Add(request.NewErrParamRequired("KeyId")) + } + if s.UsagePlanId == nil { + invalidParams.Add(request.NewErrParamRequired("UsagePlanId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DeleteUsagePlanKeyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteUsagePlanKeyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteUsagePlanKeyOutput) GoString() string { + return s.String() +} + +type DeleteUsagePlanOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteUsagePlanOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteUsagePlanOutput) GoString() string { + return s.String() +} + // An immutable representation of a RestApi resource that can be called by users // using Stages. A deployment must be associated with a Stage for it to be callable // over the Internet. +// +// To create a deployment, call POST on the Deployments resource of a RestApi. +// To view, update, or delete a deployment, call GET, PATCH, or DELETE on the +// specified deployment resource (/restapis/{restapi_id}/deployments/{deployment_id}). +// RestApi, Deployments, Stage, AWS CLI (http://docs.aws.amazon.com/cli/latest/reference/apigateway/get-deployment.html), +// AWS SDKs (https://aws.amazon.com/tools/) type Deployment struct { _ struct{} `type:"structure"` - // Gets a summary of the RestApi at the date and time that the deployment resource + // A summary of the RestApi at the date and time that the deployment resource // was created. ApiSummary map[string]map[string]*MethodSnapshot `locationName:"apiSummary" type:"map"` @@ -3634,6 +8772,8 @@ func (s Deployment) GoString() string { // Represents a domain name that is contained in a simpler, more intuitive URL // that can be called. +// +// Use Client-Side Certificate (http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html) type DomainName struct { _ struct{} `type:"structure"` @@ -3668,9 +8808,13 @@ type FlushStageAuthorizersCacheInput struct { _ struct{} `type:"structure"` // The API identifier of the stage to flush. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` // The name of the stage to flush. + // + // StageName is a required field StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"` } @@ -3719,9 +8863,13 @@ type FlushStageCacheInput struct { _ struct{} `type:"structure"` // The API identifier of the stage to flush its cache. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` // The name of the stage to flush its cache. + // + // StageName is a required field StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"` } @@ -3804,7 +8952,13 @@ type GetApiKeyInput struct { _ struct{} `type:"structure"` // The identifier of the ApiKey resource. + // + // ApiKey is a required field ApiKey *string `location:"uri" locationName:"api_Key" type:"string" required:"true"` + + // A boolean flag to specify whether (true) or not (false) the result contains + // the key value. + IncludeValue *bool `location:"querystring" locationName:"includeValue" type:"boolean"` } // String returns the string representation @@ -3834,9 +8988,16 @@ func (s *GetApiKeyInput) Validate() error { type GetApiKeysInput struct { _ struct{} `type:"structure"` + // A boolean flag to specify whether (true) or not (false) the result contains + // key values. + IncludeValues *bool `location:"querystring" locationName:"includeValues" type:"boolean"` + // The maximum number of ApiKeys to get information about. Limit *int64 `location:"querystring" locationName:"limit" type:"integer"` + // The name of queried API keys. + NameQuery *string `location:"querystring" locationName:"name" type:"string"` + // The position of the current ApiKeys resource to get information about. Position *string `location:"querystring" locationName:"position" type:"string"` } @@ -3851,7 +9012,9 @@ func (s GetApiKeysInput) GoString() string { return s.String() } -// Represents a collection of ApiKey resources. +// Represents a collection of API keys as represented by an ApiKeys resource. +// +// Use API Keys (http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-api-keys.html) type GetApiKeysOutput struct { _ struct{} `type:"structure"` @@ -3859,6 +9022,10 @@ type GetApiKeysOutput struct { Items []*ApiKey `locationName:"item" type:"list"` Position *string `locationName:"position" type:"string"` + + // A list of warning messages logged during the import of API keys when the + // failOnWarnings option is set to true. + Warnings []*string `locationName:"warnings" type:"list"` } // String returns the string representation @@ -3876,9 +9043,13 @@ type GetAuthorizerInput struct { _ struct{} `type:"structure"` // The identifier of the Authorizer resource. + // + // AuthorizerId is a required field AuthorizerId *string `location:"uri" locationName:"authorizer_id" type:"string" required:"true"` // The RestApi identifier for the Authorizer resource. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -3916,10 +9087,12 @@ type GetAuthorizersInput struct { Limit *int64 `location:"querystring" locationName:"limit" type:"integer"` // If not all Authorizer resources in the response were present, the position - // will specificy where to start the next page of results. + // will specify where to start the next page of results. Position *string `location:"querystring" locationName:"position" type:"string"` // The RestApi identifier for the Authorizers resource. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -3947,6 +9120,8 @@ func (s *GetAuthorizersInput) Validate() error { } // Represents a collection of Authorizer resources. +// +// Enable custom authorization (http://docs.aws.amazon.com/apigateway/latest/developerguide/use-custom-authorizer.html) type GetAuthorizersOutput struct { _ struct{} `type:"structure"` @@ -3974,9 +9149,13 @@ type GetBasePathMappingInput struct { // after the domain name. This value must be unique for all of the mappings // across a single API. Leave this blank if you do not want callers to specify // any base path name after the domain name. + // + // BasePath is a required field BasePath *string `location:"uri" locationName:"base_path" type:"string" required:"true"` // The domain name of the BasePathMapping resource to be described. + // + // DomainName is a required field DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"` } @@ -4011,6 +9190,8 @@ type GetBasePathMappingsInput struct { _ struct{} `type:"structure"` // The domain name of a BasePathMapping resource. + // + // DomainName is a required field DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"` // The maximum number of BasePathMapping resources in the collection to get @@ -4047,6 +9228,8 @@ func (s *GetBasePathMappingsInput) Validate() error { } // Represents a collection of BasePathMapping resources. +// +// Use Custom Domain Names (http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html) type GetBasePathMappingsOutput struct { _ struct{} `type:"structure"` @@ -4072,6 +9255,8 @@ type GetClientCertificateInput struct { _ struct{} `type:"structure"` // The identifier of the ClientCertificate resource to be described. + // + // ClientCertificateId is a required field ClientCertificateId *string `location:"uri" locationName:"clientcertificate_id" type:"string" required:"true"` } @@ -4123,6 +9308,8 @@ func (s GetClientCertificatesInput) GoString() string { } // Represents a collection of ClientCertificate resources. +// +// Use Client-Side Certificate (http://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-client-side-ssl-authentication.html) type GetClientCertificatesOutput struct { _ struct{} `type:"structure"` @@ -4148,10 +9335,14 @@ type GetDeploymentInput struct { _ struct{} `type:"structure"` // The identifier of the Deployment resource to get information about. + // + // DeploymentId is a required field DeploymentId *string `location:"uri" locationName:"deployment_id" type:"string" required:"true"` // The identifier of the RestApi resource for the Deployment resource to get // information about. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -4195,6 +9386,8 @@ type GetDeploymentsInput struct { // The identifier of the RestApi resource for the collection of Deployment resources // to get information about. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -4222,9 +9415,16 @@ func (s *GetDeploymentsInput) Validate() error { } // Represents a collection resource that contains zero or more references to -// your existing deployments, and links that guide you on ways to interact with +// your existing deployments, and links that guide you on how to interact with // your collection. The collection offers a paginated view of the contained // deployments. +// +// To create a new deployment of a RestApi, make a POST request against this +// resource. To view, update, or delete an existing deployment, make a GET, +// PATCH, or DELETE request, respectively, on a specified Deployment resource. +// Deploying an API (http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-deploy-api.html), +// AWS CLI (http://docs.aws.amazon.com/cli/latest/reference/apigateway/get-deployment.html), +// AWS SDKs (https://aws.amazon.com/tools/) type GetDeploymentsOutput struct { _ struct{} `type:"structure"` @@ -4250,6 +9450,8 @@ type GetDomainNameInput struct { _ struct{} `type:"structure"` // The name of the DomainName resource. + // + // DomainName is a required field DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"` } @@ -4299,6 +9501,8 @@ func (s GetDomainNamesInput) GoString() string { } // Represents a collection of DomainName resources. +// +// Use Client-Side Certificate (http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html) type GetDomainNamesOutput struct { _ struct{} `type:"structure"` @@ -4323,26 +9527,33 @@ func (s GetDomainNamesOutput) GoString() string { type GetExportInput struct { _ struct{} `type:"structure"` - // The content-type of the export, for example 'application/json'. Currently - // 'application/json' and 'application/yaml' are supported for exportType 'swagger'. - // Should be specifed in the 'Accept' header for direct API requests. + // The content-type of the export, for example application/json. Currently application/json + // and application/yaml are supported for exportType of swagger. This should + // be specified in the Accept header for direct API requests. Accepts *string `location:"header" locationName:"Accept" type:"string"` // The type of export. Currently only 'swagger' is supported. + // + // ExportType is a required field ExportType *string `location:"uri" locationName:"export_type" type:"string" required:"true"` // A key-value map of query string parameters that specify properties of the - // export, depending on the requested exportType. For exportType 'swagger', - // any combination of the following parameters are supported: 'integrations' - // will export x-amazon-apigateway-integration extensions 'authorizers' will - // export x-amazon-apigateway-authorizer extensions 'postman' will export with - // Postman extensions, allowing for import to the Postman tool + // export, depending on the requested exportType. For exportType swagger, any + // combination of the following parameters are supported: integrations will + // export the API with x-amazon-apigateway-integration extensions. authorizers + // will export the API with x-amazon-apigateway-authorizer extensions. postman + // will export the API with Postman extensions, allowing for import to the Postman + // tool Parameters map[string]*string `location:"querystring" locationName:"parameters" type:"map"` // The identifier of the RestApi to be exported. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` // The name of the Stage that will be exported. + // + // StageName is a required field StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"` } @@ -4382,7 +9593,7 @@ type GetExportOutput struct { // The binary blob response to GetExport, which contains the export. Body []byte `locationName:"body" type:"blob"` - // The content-disposition header value in the HTTP reseponse. + // The content-disposition header value in the HTTP response. ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"` // The content-type header value in the HTTP response. This will correspond @@ -4405,12 +9616,18 @@ type GetIntegrationInput struct { _ struct{} `type:"structure"` // Specifies a get integration request's HTTP method. + // + // HttpMethod is a required field HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"` // Specifies a get integration request's resource identifier + // + // ResourceId is a required field ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"` // Specifies a get integration request's API identifier. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -4448,15 +9665,23 @@ type GetIntegrationResponseInput struct { _ struct{} `type:"structure"` // Specifies a get integration response request's HTTP method. + // + // HttpMethod is a required field HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"` // Specifies a get integration response request's resource identifier. + // + // ResourceId is a required field ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"` // Specifies a get integration response request's API identifier. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` // Specifies a get integration response request's status code. + // + // StatusCode is a required field StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"` } @@ -4496,13 +9721,19 @@ func (s *GetIntegrationResponseInput) Validate() error { type GetMethodInput struct { _ struct{} `type:"structure"` - // Specifies the put method request's HTTP method type. + // Specifies the method request's HTTP method type. + // + // HttpMethod is a required field HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"` // The Resource identifier for the Method resource. + // + // ResourceId is a required field ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"` // The RestApi identifier for the Method resource. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -4539,16 +9770,24 @@ func (s *GetMethodInput) Validate() error { type GetMethodResponseInput struct { _ struct{} `type:"structure"` - // The HTTP verb identifier for the parent Method resource. + // The HTTP verb of the Method resource. + // + // HttpMethod is a required field HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"` // The Resource identifier for the MethodResponse resource. + // + // ResourceId is a required field ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"` // The RestApi identifier for the MethodResponse resource. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` - // The status code identifier for the MethodResponse resource. + // The status code for the MethodResponse resource. + // + // StatusCode is a required field StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"` } @@ -4588,13 +9827,19 @@ func (s *GetMethodResponseInput) Validate() error { type GetModelInput struct { _ struct{} `type:"structure"` - // Resolves all external model references and returns a flattened model schema. + // A query parameter of a Boolean value to resolve (true) all external model + // references and returns a flattened model schema or not (false) The default + // is false. Flatten *bool `location:"querystring" locationName:"flatten" type:"boolean"` // The name of the model as an identifier. + // + // ModelName is a required field ModelName *string `location:"uri" locationName:"model_name" type:"string" required:"true"` // The RestApi identifier under which the Model exists. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -4629,9 +9874,13 @@ type GetModelTemplateInput struct { _ struct{} `type:"structure"` // The name of the model for which to generate a template. + // + // ModelName is a required field ModelName *string `location:"uri" locationName:"model_name" type:"string" required:"true"` // The ID of the RestApi under which the model exists. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -4662,6 +9911,8 @@ func (s *GetModelTemplateInput) Validate() error { } // Represents a mapping template used to transform a payload. +// +// Mapping Templates (http://docs.aws.amazon.com/apigateway/latest/developerguide/models-mappings.html#models-mappings-mappings) type GetModelTemplateOutput struct { _ struct{} `type:"structure"` @@ -4693,6 +9944,8 @@ type GetModelsInput struct { Position *string `location:"querystring" locationName:"position" type:"string"` // The RestApi identifier. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -4720,6 +9973,8 @@ func (s *GetModelsInput) Validate() error { } // Represents a collection of Model resources. +// +// Method, MethodResponse, Models and Mappings (http://docs.aws.amazon.com/apigateway/latest/developerguide/models-mappings.html) type GetModelsOutput struct { _ struct{} `type:"structure"` @@ -4744,9 +9999,13 @@ type GetResourceInput struct { _ struct{} `type:"structure"` // The identifier for the Resource resource. + // + // ResourceId is a required field ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"` // The RestApi identifier for the resource. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -4789,6 +10048,8 @@ type GetResourcesInput struct { Position *string `location:"querystring" locationName:"position" type:"string"` // The RestApi identifier for the Resource. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -4816,6 +10077,8 @@ func (s *GetResourcesInput) Validate() error { } // Represents a collection of Resource resources. +// +// Create an API (http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html) type GetResourcesOutput struct { _ struct{} `type:"structure"` @@ -4840,6 +10103,8 @@ type GetRestApiInput struct { _ struct{} `type:"structure"` // The identifier of the RestApi resource. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -4889,8 +10154,10 @@ func (s GetRestApisInput) GoString() string { return s.String() } -// Contains references to your APIs and links that guide you in ways to interact +// Contains references to your APIs and links that guide you in how to interact // with your collection. A collection offers a paginated view of your APIs. +// +// Create an API (http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html) type GetRestApisOutput struct { _ struct{} `type:"structure"` @@ -4915,19 +10182,25 @@ type GetSdkInput struct { _ struct{} `type:"structure"` // A key-value map of query string parameters that specify properties of the - // SDK, depending on the requested sdkType. For sdkType 'objectivec', a parameter - // named "classPrefix" is required. For sdkType 'android', parameters named - // "groupId", "artifactId", "artifactVersion", and "invokerPackage" are required. + // SDK, depending on the requested sdkType. For sdkType of objectivec, a parameter + // named classPrefix is required. For sdkType of android, parameters named groupId, + // artifactId, artifactVersion, and invokerPackage are required. Parameters map[string]*string `location:"querystring" locationName:"parameters" type:"map"` // The identifier of the RestApi that the SDK will use. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` // The language for the generated SDK. Currently javascript, android, and objectivec // (for iOS) are supported. + // + // SdkType is a required field SdkType *string `location:"uri" locationName:"sdk_type" type:"string" required:"true"` // The name of the Stage that the SDK will use. + // + // StageName is a required field StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"` } @@ -4960,94 +10233,419 @@ func (s *GetSdkInput) Validate() error { return nil } -// The binary blob response to GetSdk, which contains the generated SDK. -type GetSdkOutput struct { - _ struct{} `type:"structure" payload:"Body"` - - // The binary blob response to GetSdk, which contains the generated SDK. - Body []byte `locationName:"body" type:"blob"` +// The binary blob response to GetSdk, which contains the generated SDK. +type GetSdkOutput struct { + _ struct{} `type:"structure" payload:"Body"` + + // The binary blob response to GetSdk, which contains the generated SDK. + Body []byte `locationName:"body" type:"blob"` + + // The content-disposition header value in the HTTP response. + ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"` + + // The content-type header value in the HTTP response. + ContentType *string `location:"header" locationName:"Content-Type" type:"string"` +} + +// String returns the string representation +func (s GetSdkOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSdkOutput) GoString() string { + return s.String() +} + +// Requests Amazon API Gateway to get information about a Stage resource. +type GetStageInput struct { + _ struct{} `type:"structure"` + + // The identifier of the RestApi resource for the Stage resource to get information + // about. + // + // RestApiId is a required field + RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` + + // The name of the Stage resource to get information about. + // + // StageName is a required field + StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetStageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetStageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetStageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetStageInput"} + if s.RestApiId == nil { + invalidParams.Add(request.NewErrParamRequired("RestApiId")) + } + if s.StageName == nil { + invalidParams.Add(request.NewErrParamRequired("StageName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Requests Amazon API Gateway to get information about one or more Stage resources. +type GetStagesInput struct { + _ struct{} `type:"structure"` + + // The stages' deployment identifiers. + DeploymentId *string `location:"querystring" locationName:"deploymentId" type:"string"` + + // The stages' API identifiers. + // + // RestApiId is a required field + RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetStagesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetStagesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetStagesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetStagesInput"} + if s.RestApiId == nil { + invalidParams.Add(request.NewErrParamRequired("RestApiId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// A list of Stage resources that are associated with the ApiKey resource. +// +// Deploying API in Stages (http://docs.aws.amazon.com/apigateway/latest/developerguide/stages.html) +type GetStagesOutput struct { + _ struct{} `type:"structure"` + + // An individual Stage resource. + Item []*Stage `locationName:"item" type:"list"` +} + +// String returns the string representation +func (s GetStagesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetStagesOutput) GoString() string { + return s.String() +} + +// The GET request to get the usage data of a usage plan in a specified time +// interval. +type GetUsageInput struct { + _ struct{} `type:"structure"` + + // The ending date (e.g., 2016-12-31) of the usage data. + // + // EndDate is a required field + EndDate *string `location:"querystring" locationName:"endDate" type:"string" required:"true"` + + // The Id of the API key associated with the resultant usage data. + KeyId *string `location:"querystring" locationName:"keyId" type:"string"` + + // The maximum number of results to be returned. + Limit *int64 `location:"querystring" locationName:"limit" type:"integer"` + + // Position + Position *string `location:"querystring" locationName:"position" type:"string"` + + // The starting date (e.g., 2016-01-01) of the usage data. + // + // StartDate is a required field + StartDate *string `location:"querystring" locationName:"startDate" type:"string" required:"true"` + + // The Id of the usage plan associated with the usage data. + // + // UsagePlanId is a required field + UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetUsageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetUsageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetUsageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetUsageInput"} + if s.EndDate == nil { + invalidParams.Add(request.NewErrParamRequired("EndDate")) + } + if s.StartDate == nil { + invalidParams.Add(request.NewErrParamRequired("StartDate")) + } + if s.UsagePlanId == nil { + invalidParams.Add(request.NewErrParamRequired("UsagePlanId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The GET request to get a usage plan of a given plan identifier. +type GetUsagePlanInput struct { + _ struct{} `type:"structure"` + + // The identifier of the UsagePlan resource to be retrieved. + // + // UsagePlanId is a required field + UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetUsagePlanInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetUsagePlanInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetUsagePlanInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetUsagePlanInput"} + if s.UsagePlanId == nil { + invalidParams.Add(request.NewErrParamRequired("UsagePlanId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The GET request to get a usage plan key of a given key identifier. +type GetUsagePlanKeyInput struct { + _ struct{} `type:"structure"` + + // The key Id of the to-be-retrieved UsagePlanKey resource representing a plan + // customer. + // + // KeyId is a required field + KeyId *string `location:"uri" locationName:"keyId" type:"string" required:"true"` + + // The Id of the UsagePlan resource representing the usage plan containing the + // to-be-retrieved UsagePlanKey resource representing a plan customer. + // + // UsagePlanId is a required field + UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetUsagePlanKeyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetUsagePlanKeyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetUsagePlanKeyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetUsagePlanKeyInput"} + if s.KeyId == nil { + invalidParams.Add(request.NewErrParamRequired("KeyId")) + } + if s.UsagePlanId == nil { + invalidParams.Add(request.NewErrParamRequired("UsagePlanId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The GET request to get all the usage plan keys representing the API keys +// added to a specified usage plan. +type GetUsagePlanKeysInput struct { + _ struct{} `type:"structure"` + + // A query parameter specifying the maximum number usage plan keys returned + // by the GET request. + Limit *int64 `location:"querystring" locationName:"limit" type:"integer"` + + // A query parameter specifying the name of the to-be-returned usage plan keys. + NameQuery *string `location:"querystring" locationName:"name" type:"string"` + + // A query parameter specifying the zero-based index specifying the position + // of a usage plan key. + Position *string `location:"querystring" locationName:"position" type:"string"` + + // The Id of the UsagePlan resource representing the usage plan containing the + // to-be-retrieved UsagePlanKey resource representing a plan customer. + // + // UsagePlanId is a required field + UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetUsagePlanKeysInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetUsagePlanKeysInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetUsagePlanKeysInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetUsagePlanKeysInput"} + if s.UsagePlanId == nil { + invalidParams.Add(request.NewErrParamRequired("UsagePlanId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Represents the collection of usage plan keys added to usage plans for the +// associated API keys and, possibly, other types of keys. +// +// Create and Use Usage Plans (http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html) +type GetUsagePlanKeysOutput struct { + _ struct{} `type:"structure"` - // The content-disposition header value in the HTTP reseponse. - ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"` + // Gets the current item of the usage plan keys collection. + Items []*UsagePlanKey `locationName:"item" type:"list"` - // The content-type header value in the HTTP response. - ContentType *string `location:"header" locationName:"Content-Type" type:"string"` + Position *string `locationName:"position" type:"string"` } // String returns the string representation -func (s GetSdkOutput) String() string { +func (s GetUsagePlanKeysOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetSdkOutput) GoString() string { +func (s GetUsagePlanKeysOutput) GoString() string { return s.String() } -// Requests Amazon API Gateway to get information about a Stage resource. -type GetStageInput struct { +// The GET request to get all the usage plans of the caller's account. +type GetUsagePlansInput struct { _ struct{} `type:"structure"` - // The identifier of the RestApi resource for the Stage resource to get information - // about. - RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` + // The identifier of the API key associated with the usage plans. + KeyId *string `location:"querystring" locationName:"keyId" type:"string"` - // The name of the Stage resource to get information about. - StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"` + // The number of UsagePlan resources to be returned as the result. + Limit *int64 `location:"querystring" locationName:"limit" type:"integer"` + + // The zero-based array index specifying the position of the to-be-retrieved + // UsagePlan resource. + Position *string `location:"querystring" locationName:"position" type:"string"` } // String returns the string representation -func (s GetStageInput) String() string { +func (s GetUsagePlansInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetStageInput) GoString() string { +func (s GetUsagePlansInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetStageInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetStageInput"} - if s.RestApiId == nil { - invalidParams.Add(request.NewErrParamRequired("RestApiId")) - } - if s.StageName == nil { - invalidParams.Add(request.NewErrParamRequired("StageName")) - } +// Represents a collection of usage plans for an AWS account. +// +// Create and Use Usage Plans (http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html) +type GetUsagePlansOutput struct { + _ struct{} `type:"structure"` - if invalidParams.Len() > 0 { - return invalidParams - } - return nil + // Gets the current item when enumerating the collection of UsagePlan. + Items []*UsagePlan `locationName:"item" type:"list"` + + Position *string `locationName:"position" type:"string"` } -// Requests Amazon API Gateway to get information about one or more Stage resources. -type GetStagesInput struct { - _ struct{} `type:"structure"` +// String returns the string representation +func (s GetUsagePlansOutput) String() string { + return awsutil.Prettify(s) +} - // The stages' deployment identifiers. - DeploymentId *string `location:"querystring" locationName:"deploymentId" type:"string"` +// GoString returns the string representation +func (s GetUsagePlansOutput) GoString() string { + return s.String() +} - // The stages' API identifiers. - RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` +// The POST request to import API keys from an external source, such as a CSV-formatted +// file. +type ImportApiKeysInput struct { + _ struct{} `type:"structure" payload:"Body"` + + // The payload of the POST request to import API keys. For the payload format, + // see API Key File Format (http://docs.aws.amazon.com/apigateway/latest/developerguide/api-key-file-format.html). + // + // Body is a required field + Body []byte `locationName:"body" type:"blob" required:"true"` + + // A query parameter to indicate whether to rollback ApiKey importation (true) + // or not (false) when error is encountered. + FailOnWarnings *bool `location:"querystring" locationName:"failonwarnings" type:"boolean"` + + // A query parameter to specify the input format to imported API keys. Currently, + // only the csv format is supported. + // + // Format is a required field + Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"ApiKeysFormat"` } // String returns the string representation -func (s GetStagesInput) String() string { +func (s ImportApiKeysInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetStagesInput) GoString() string { +func (s ImportApiKeysInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetStagesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetStagesInput"} - if s.RestApiId == nil { - invalidParams.Add(request.NewErrParamRequired("RestApiId")) +func (s *ImportApiKeysInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImportApiKeysInput"} + if s.Body == nil { + invalidParams.Add(request.NewErrParamRequired("Body")) + } + if s.Format == nil { + invalidParams.Add(request.NewErrParamRequired("Format")) } if invalidParams.Len() > 0 { @@ -5056,21 +10654,24 @@ func (s *GetStagesInput) Validate() error { return nil } -// A list of Stage resource that are associated with the ApiKey resource. -type GetStagesOutput struct { +// The identifier of an API key used to reference an API key in a usage plan. +type ImportApiKeysOutput struct { _ struct{} `type:"structure"` - // An individual Stage resource. - Item []*Stage `locationName:"item" type:"list"` + // A list of all the ApiKey identifiers. + Ids []*string `locationName:"ids" type:"list"` + + // A list of warning messages. + Warnings []*string `locationName:"warnings" type:"list"` } // String returns the string representation -func (s GetStagesOutput) String() string { +func (s ImportApiKeysOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetStagesOutput) GoString() string { +func (s ImportApiKeysOutput) GoString() string { return s.String() } @@ -5081,6 +10682,8 @@ type ImportRestApiInput struct { // The POST request body containing external API definitions. Currently, only // Swagger definition JSON files are supported. + // + // Body is a required field Body []byte `locationName:"body" type:"blob" required:"true"` // A query parameter to indicate whether to rollback the API creation (true) @@ -5114,7 +10717,10 @@ func (s *ImportRestApiInput) Validate() error { return nil } -// Represents a HTTP, AWS, or Mock integration. +// Represents an HTTP, AWS, or Mock integration. +// +// In the API Gateway console, the built-in Lambda integration is an AWS integration. +// Creating an API (http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html) type Integration struct { _ struct{} `type:"structure"` @@ -5136,22 +10742,69 @@ type Integration struct { HttpMethod *string `locationName:"httpMethod" type:"string"` // Specifies the integration's responses. + // + // Example: Get integration responses of a method + // + // Request + // + // GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200 + // HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com + // X-Amz-Date: 20160607T191449Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160607/us-east-1/apigateway/aws4_request, + // SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash} Response + // + // The successful response returns 200 OK status and a payload as follows: + // + // { "_links": { "curies": { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html", + // "name": "integrationresponse", "templated": true }, "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200", + // "title": "200" }, "integrationresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" + // }, "integrationresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" + // } }, "responseParameters": { "method.response.header.Content-Type": "'application/xml'" + // }, "responseTemplates": { "application/json": "$util.urlDecode(\"%3CkinesisStreams%3E#foreach($stream + // in $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n" + // }, "statusCode": "200" } Creating an API (http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html) IntegrationResponses map[string]*IntegrationResponse `locationName:"integrationResponses" type:"map"` - // Represents requests parameters that are sent with the backend request. Request - // parameters are represented as a key/value map, with a destination as the - // key and a source as the value. A source must match an existing method request - // parameter, or a static value. Static values must be enclosed with single - // quotes, and be pre-encoded based on their destination in the request. The - // destination must match the pattern integration.request.{location}.{name}, - // where location is either querystring, path, or header. name must be a valid, - // unique parameter name. + // Specifies how the method request body of an unmapped content type will be + // passed through the integration request to the back end without transformation. + // A content type is unmapped if no mapping template is defined in the integration + // or the content type does not match any of the mapped content types, as specified + // in requestTemplates. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, + // and NEVER. + // + // WHEN_NO_MATCH passes the method request body through the integration request + // to the back end without transformation when the method request content type + // does not match any content type associated with the mapping templates defined + // in the integration request. WHEN_NO_TEMPLATES passes the method request + // body through the integration request to the back end without transformation + // when no mapping template is defined in the integration request. If a template + // is defined when this option is selected, the method request of an unmapped + // content-type will be rejected with an HTTP 415 Unsupported Media Type response. + // NEVER rejects the method request with an HTTP 415 Unsupported Media Type + // response when either the method request content type does not match any content + // type associated with the mapping templates defined in the integration request + // or no mapping template is defined in the integration request. + PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string"` + + // A key-value map specifying request parameters that are passed from the method + // request to the back end. The key is an integration request parameter name + // and the associated value is a method request parameter value or static value + // that must be enclosed within single quotes and pre-encoded as required by + // the back end. The method request parameter value must match the pattern of + // method.request.{location}.{name}, where location is querystring, path, or + // header and name must be a valid and unique method request parameter name. RequestParameters map[string]*string `locationName:"requestParameters" type:"map"` - // Specifies the integration's request templates. + // Represents a map of Velocity templates that are applied on the request payload + // based on the value of the Content-Type header sent by the client. The content + // type value is the key in this map, and the template (as a String) is the + // value. RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"` - // Specifies the integration's type. The valid value is HTTP, AWS, or MOCK. + // Specifies the integration's type. The valid value is HTTP for integrating + // with an HTTP back end, AWS for any AWS service endpoints, MOCK for testing + // without actually invoking the back end, HTTP_PROXY for integrating with the + // HTTP proxy integration, or AWS_PROXY for integrating with the Lambda proxy + // integration type. Type *string `locationName:"type" type:"string" enum:"IntegrationType"` // Specifies the integration's Uniform Resource Identifier (URI). For HTTP integrations, @@ -5178,17 +10831,22 @@ func (s Integration) GoString() string { // Represents an integration response. The status code must map to an existing // MethodResponse, and parameters and templates can be used to transform the -// backend response. +// back-end response. +// +// Creating an API (http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html) type IntegrationResponse struct { _ struct{} `type:"structure"` - // Represents response parameters that can be read from the backend response. - // Response parameters are represented as a key/value map, with a destination - // as the key and a source as the value. A destination must match an existing - // response parameter in the MethodResponse. The source can be a header from - // the backend response, or a static value. Static values are specified using - // enclosing single quotes, and backend response headers can be read using the - // pattern integration.response.header.{name}. + // A key-value map specifying response parameters that are passed to the method + // response from the back end. The key is a method response header parameter + // name and the mapped value is an integration response header value, a static + // value enclosed within a pair of single quotes, or a JSON expression from + // the integration response body. The mapping key must match the pattern of + // method.response.header.{name}, where name is a valid and unique header name. + // The mapped non-static value must match the pattern of integration.response.header.{name} + // or integration.response.body.{JSON-expression}, where name is a valid and + // unique response header name and JSON-expression is a valid JSON expression + // without the $ prefix. ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"` // Specifies the templates used to transform the integration response body. @@ -5197,9 +10855,13 @@ type IntegrationResponse struct { ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"` // Specifies the regular expression (regex) pattern used to choose an integration - // response based on the response from the backend. If the backend is an AWS - // Lambda function, the AWS Lambda function error header is matched. For all - // other HTTP and AWS backends, the HTTP status code is matched. + // response based on the response from the back end. For example, if the success + // response returns nothing and the error response returns some string, you + // could use the .+ regex to match error response. However, make sure that the + // error response does not contain any newline (\n) character in such cases. + // If the back end is an AWS Lambda function, the AWS Lambda function error + // header is matched. For all other HTTP and AWS back ends, the HTTP status + // code is matched. SelectionPattern *string `locationName:"selectionPattern" type:"string"` // Specifies the status code that is used to map the integration response to @@ -5217,44 +10879,175 @@ func (s IntegrationResponse) GoString() string { return s.String() } -// Represents a method. +// Represents a client-facing interface by which the client calls the API to +// access back-end resources. A Method resource is integrated with an Integration +// resource. Both consist of a request and one or more responses. The method +// request takes the client input that is passed to the back end through the +// integration request. A method response returns the output from the back end +// to the client through an integration response. A method request is embodied +// in a Method resource, whereas an integration request is embodied in an Integration +// resource. On the other hand, a method response is represented by a MethodResponse +// resource, whereas an integration response is represented by an IntegrationResponse +// resource. +// +// Example: Retrive the GET method on a specified resource +// +// Request +// +// The following example request retrieves the information about the GET method +// on an API resource (3kzxbg5sa2) of an API (fugvjdxtri). +// +// GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type: +// application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160603T210259Z +// Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160603/us-east-1/apigateway/aws4_request, +// SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash} Response +// +// The successful response returns a 200 OK status code and a payload similar +// to the following: +// +// { "_links": { "curies": [ { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html", +// "name": "integration", "templated": true }, { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html", +// "name": "integrationresponse", "templated": true }, { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-{rel}.html", +// "name": "method", "templated": true }, { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html", +// "name": "methodresponse", "templated": true } ], "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET", +// "name": "GET", "title": "GET" }, "integration:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" +// }, "method:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET" +// }, "method:integration": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" +// }, "method:responses": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200", +// "name": "200", "title": "200" }, "method:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET" +// }, "methodresponse:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/{status_code}", +// "templated": true } }, "apiKeyRequired": true, "authorizationType": "NONE", +// "httpMethod": "GET", "_embedded": { "method:integration": { "_links": { "self": +// { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" +// }, "integration:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" +// }, "integration:responses": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200", +// "name": "200", "title": "200" }, "integration:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" +// }, "integrationresponse:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/{status_code}", +// "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "3kzxbg5sa2", +// "credentials": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "httpMethod": +// "POST", "passthroughBehavior": "WHEN_NO_MATCH", "requestParameters": { "integration.request.header.Content-Type": +// "'application/x-amz-json-1.1'" }, "requestTemplates": { "application/json": +// "{\n}" }, "type": "AWS", "uri": "arn:aws:apigateway:us-east-1:kinesis:action/ListStreams", +// "_embedded": { "integration:responses": { "_links": { "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200", +// "name": "200", "title": "200" }, "integrationresponse:delete": { "href": +// "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" +// }, "integrationresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" +// } }, "responseParameters": { "method.response.header.Content-Type": "'application/xml'" +// }, "responseTemplates": { "application/json": "$util.urlDecode(\"%3CkinesisStreams%3E%23foreach(%24stream%20in%20%24input.path(%27%24.StreamNames%27))%3Cstream%3E%3Cname%3E%24stream%3C%2Fname%3E%3C%2Fstream%3E%23end%3C%2FkinesisStreams%3E\")" +// }, "statusCode": "200" } } }, "method:responses": { "_links": { "self": { +// "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200", +// "name": "200", "title": "200" }, "methodresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200" +// }, "methodresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200" +// } }, "responseModels": { "application/json": "Empty" }, "responseParameters": +// { "method.response.header.Content-Type": false }, "statusCode": "200" } } +// } In the example above, the response template for the 200 OK response maps +// the JSON output from the ListStreams action in the back end to an XML output. +// The mapping template is URL-encoded as %3CkinesisStreams%3E%23foreach(%24stream%20in%20%24input.path(%27%24.StreamNames%27))%3Cstream%3E%3Cname%3E%24stream%3C%2Fname%3E%3C%2Fstream%3E%23end%3C%2FkinesisStreams%3E +// and the output is decoded using the $util.urlDecode() (http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#util-templat-reference) +// helper function. +// +// MethodResponse, Integration, IntegrationResponse, Resource, Set up an +// API's method (http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-method-settings.html) type Method struct { _ struct{} `type:"structure"` - // Specifies whether the method requires a valid ApiKey. + // A boolean flag specifying whether a valid ApiKey is required to invoke this + // method. ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"` // The method's authorization type. AuthorizationType *string `locationName:"authorizationType" type:"string"` - // Specifies the identifier of an Authorizer to use on this Method. The authorizationType + // The identifier of an Authorizer to use on this method. The authorizationType // must be CUSTOM. AuthorizerId *string `locationName:"authorizerId" type:"string"` - // The HTTP method. + // The method's HTTP verb. HttpMethod *string `locationName:"httpMethod" type:"string"` - // The method's integration. + // Gets the method's integration responsible for passing the client-submitted + // request to the back end and performing necessary transformations to make + // the request compliant with the back end. + // + // Example: + // + // Request + // + // GET /restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration HTTP/1.1 + // Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com Content-Length: + // 117 X-Amz-Date: 20160613T213210Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request, + // SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash} Response + // + // The successful response returns a 200 OK status code and a payload similar + // to the following: + // + // { "_links": { "curies": [ { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html", + // "name": "integration", "templated": true }, { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html", + // "name": "integrationresponse", "templated": true } ], "self": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" + // }, "integration:delete": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" + // }, "integration:responses": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200", + // "name": "200", "title": "200" }, "integration:update": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" + // }, "integrationresponse:put": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/{status_code}", + // "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "0cjtch", + // "credentials": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "httpMethod": + // "POST", "passthroughBehavior": "WHEN_NO_MATCH", "requestTemplates": { "application/json": + // "{\n \"a\": \"$input.params('operand1')\",\n \"b\": \"$input.params('operand2')\", + // \n \"op\": \"$input.params('operator')\" \n}" }, "type": "AWS", "uri": "arn:aws:apigateway:us-west-2:lambda:path//2015-03-31/functions/arn:aws:lambda:us-west-2:123456789012:function:Calc/invocations", + // "_embedded": { "integration:responses": { "_links": { "self": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200", + // "name": "200", "title": "200" }, "integrationresponse:delete": { "href": + // "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200" + // }, "integrationresponse:update": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200" + // } }, "responseParameters": { "method.response.header.operator": "integration.response.body.op", + // "method.response.header.operand_2": "integration.response.body.b", "method.response.header.operand_1": + // "integration.response.body.a" }, "responseTemplates": { "application/json": + // "#set($res = $input.path('$'))\n{\n \"result\": \"$res.a, $res.b, $res.op + // => $res.c\",\n \"a\" : \"$res.a\",\n \"b\" : \"$res.b\",\n \"op\" : \"$res.op\",\n + // \"c\" : \"$res.c\"\n}" }, "selectionPattern": "", "statusCode": "200" } } + // } AWS CLI (http://docs.aws.amazon.com/cli/latest/reference/apigateway/get-integration.html) MethodIntegration *Integration `locationName:"methodIntegration" type:"structure"` - // Represents available responses that can be sent to the caller. Method responses - // are represented as a key/value map, with an HTTP status code as the key and - // a MethodResponse as the value. The status codes are available for the Integration - // responses to map to. + // Gets a method response associated with a given HTTP status code. + // + // The collection of method responses are encapsulated in a key-value map, + // where the key is a response's HTTP status code and the value is a MethodResponse + // resource that specifies the response returned to the caller from the back + // end through the integration response. + // + // Example: Get a 200 OK response of a GET method + // + // Request + // + // GET /restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200 HTTP/1.1 + // Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com Content-Length: + // 117 X-Amz-Date: 20160613T215008Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request, + // SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash} Response + // + // The successful response returns a 200 OK status code and a payload similar + // to the following: + // + // { "_links": { "curies": { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html", + // "name": "methodresponse", "templated": true }, "self": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200", + // "title": "200" }, "methodresponse:delete": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" + // }, "methodresponse:update": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" + // } }, "responseModels": { "application/json": "Empty" }, "responseParameters": + // { "method.response.header.operator": false, "method.response.header.operand_2": + // false, "method.response.header.operand_1": false }, "statusCode": "200" } + // AWS CLI (http://docs.aws.amazon.com/cli/latest/reference/apigateway/get-method-response.html) MethodResponses map[string]*MethodResponse `locationName:"methodResponses" type:"map"` - // Specifies the Model resources used for the request's content type. Request - // models are represented as a key/value map, with a content type as the key - // and a Model name as the value. + // A key-value map specifying data schemas, represented by Model resources, + // (as the mapped value) of the request payloads of given content types (as + // the mapping key). RequestModels map[string]*string `locationName:"requestModels" type:"map"` - // Represents request parameters that can be accepted by Amazon API Gateway. - // Request parameters are represented as a key/value map, with a source as the - // key and a Boolean flag as the value. The Boolean flag is used to specify - // whether the parameter is required. A source must match the pattern method.request.{location}.{name}, - // where location is either querystring, path, or header. name is a valid, unique - // parameter name. Sources specified here are available to the integration for - // mapping to integration request parameters or templates. + // A key-value map defining required or optional method request parameters that + // can be accepted by Amazon API Gateway. A key is a method request parameter + // name matching the pattern of method.request.{location}.{name}, where location + // is querystring, path, or header and name is a valid and unique parameter + // name. The value associated with the key is a Boolean flag indicating whether + // the parameter is required (true) or optional (false). The method request + // parameter names defined here are available in Integration to be mapped to + // integration request parameters or templates. RequestParameters map[string]*bool `locationName:"requestParameters" type:"map"` } @@ -5268,9 +11061,30 @@ func (s Method) GoString() string { return s.String() } -// Represents a method response. Amazon API Gateway sends back the status code -// to the caller as the HTTP status code. Parameters and models can be used -// to transform the response from the method's integration. +// Represents a method response of a given HTTP status code returned to the +// client. The method response is passed from the back end through the associated +// integration response that can be transformed using a mapping template. +// +// Example: A MethodResponse instance of an API +// +// Request +// +// The example request retrieves a MethodResponse of the 200 status code. +// +// GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200 +// HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com +// X-Amz-Date: 20160603T222952Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160603/us-east-1/apigateway/aws4_request, +// SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash} Response +// +// The successful response returns 200 OK status and a payload as follows: +// +// { "_links": { "curies": { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html", +// "name": "methodresponse", "templated": true }, "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200", +// "title": "200" }, "methodresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200" +// }, "methodresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200" +// } }, "responseModels": { "application/json": "Empty" }, "responseParameters": +// { "method.response.header.Content-Type": false }, "statusCode": "200" } +// Method, IntegrationResponse, Integration Creating an API (http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html) type MethodResponse struct { _ struct{} `type:"structure"` @@ -5279,13 +11093,18 @@ type MethodResponse struct { // and a Model name as the value. ResponseModels map[string]*string `locationName:"responseModels" type:"map"` - // Represents response parameters that can be sent back to the caller by Amazon - // API Gateway. Response parameters are represented as a key/value map, with - // a destination as the key and a boolean flag as the value, which is used to - // specify whether the parameter is required. A destination must match the pattern - // method.response.header.{name}, where name is a valid, unique header name. - // Destinations specified here are available to the integration for mapping - // from integration response parameters. + // A key-value map specifying required or optional response parameters that + // Amazon API Gateway can send back to the caller. A key defines a method response + // header and the value specifies whether the associated method response header + // is required or not. The expression of the key must match the pattern method.response.header.{name}, + // where name is a valid and unique header name. Amazon API Gateway passes certain + // integration response data to the method response headers specified here according + // to the mapping you prescribe in the API's IntegrationResponse. The integration + // response data that can be mapped include an integration response header expressed + // in integration.response.header.{name}, a static value enclosed within a pair + // of single quotes (e.g., 'application/json'), or a JSON expression from the + // back-end response payload in the form of integration.response.body.{JSON-expression}, + // where JSON-expression is a valid JSON expression without the $ prefix.) ResponseParameters map[string]*bool `locationName:"responseParameters" type:"map"` // The method response's status code. @@ -5311,8 +11130,8 @@ type MethodSetting struct { // is a Boolean. CacheDataEncrypted *bool `locationName:"cacheDataEncrypted" type:"boolean"` - // Specifies the time to live (TTL) in seconds, for cached responses. The higher - // a the TTL, the longer the response will be cached. The PATCH path for this + // Specifies the time to live (TTL), in seconds, for cached responses. The higher + // the TTL, the longer the response will be cached. The PATCH path for this // setting is /{method_setting_key}/caching/ttlInSeconds, and the value is an // integer. CacheTtlInSeconds *int64 `locationName:"cacheTtlInSeconds" type:"integer"` @@ -5323,10 +11142,9 @@ type MethodSetting struct { // the value is a Boolean. CachingEnabled *bool `locationName:"cachingEnabled" type:"boolean"` - // Specifies the whether data trace logging is enabled for this method, which - // effects the log entries pushed to Amazon CloudWatch Logs. The PATCH path - // for this setting is /{method_setting_key}/logging/dataTrace, and the value - // is a Boolean. + // Specifies whether data trace logging is enabled for this method, which effects + // the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this + // setting is /{method_setting_key}/logging/dataTrace, and the value is a Boolean. DataTraceEnabled *bool `locationName:"dataTraceEnabled" type:"boolean"` // Specifies the logging level for this method, which effects the log entries @@ -5352,8 +11170,8 @@ type MethodSetting struct { // and the value is a double. ThrottlingRateLimit *float64 `locationName:"throttlingRateLimit" type:"double"` - // Specifies the strategy on how to handle the unauthorized requests for cache - // invalidation. The PATCH path for this setting is /{method_setting_key}/caching/unauthorizedCacheControlHeaderStrategy, + // Specifies how to handle unauthorized requests for cache invalidation. The + // PATCH path for this setting is /{method_setting_key}/caching/unauthorizedCacheControlHeaderStrategy, // and the available values are FAIL_WITH_403, SUCCEED_WITH_RESPONSE_HEADER, // SUCCEED_WITHOUT_RESPONSE_HEADER. UnauthorizedCacheControlHeaderStrategy *string `locationName:"unauthorizedCacheControlHeaderStrategy" type:"string" enum:"UnauthorizedCacheControlHeaderStrategy"` @@ -5390,7 +11208,17 @@ func (s MethodSnapshot) GoString() string { return s.String() } -// Represents the structure of a request or response payload for a method. +// Represents the data structure of a method's request or response payload. +// +// A request model defines the data structure of the client-supplied request +// payload. A response model defines the data structure of the response payload +// returned by the back end. Although not required, models are useful for mapping +// payloads between the front end and back end. +// +// A model is used for generating an API's SDK, validating the input request +// body, and creating a skeletal mapping template. +// +// Method, MethodResponse, Models and Mappings (http://docs.aws.amazon.com/apigateway/latest/developerguide/models-mappings.html) type Model struct { _ struct{} `type:"structure"` @@ -5408,6 +11236,10 @@ type Model struct { // The schema for the model. For application/json models, this should be JSON-schema // draft v4 (http://json-schema.org/documentation.html" target="_blank) model. + // Do not include "\*/" characters in the description of any properties because + // such "\*/" characters may be interpreted as the closing marker for comments + // in some languages, such as Java or JavaScript, causing the installation of + // your API's SDK generated by API Gateway to fail. Schema *string `locationName:"schema" type:"string"` } @@ -5427,23 +11259,27 @@ func (s Model) GoString() string { type PatchOperation struct { _ struct{} `type:"structure"` - // The "move" and "copy" operation object MUST contain a "from" member, which - // is a string containing a JSON Pointer value that references the location - // in the target document to move the value from. + // Not supported. From *string `locationName:"from" type:"string"` - // A patch operation whose value indicates the operation to perform. Its value - // MUST be one of "add", "remove", "replace", "move", "copy", or "test"; other - // values are errors. - Op *string `locationName:"op" type:"string" enum:"op"` - - // Operation objects MUST have exactly one "path" member. That member's value - // is a string containing a `JSON-Pointer` value that references a location - // within the target document (the "target location") where the operation is - // performed. + // An update operation to be performed with this PATCH request. The valid value + // can be "add", "remove", or "replace". Not all valid operations are supported + // for a given resource. Support of the operations depends on specific operational + // contexts. Attempts to apply an unsupported operation on a resource will return + // an error message. + Op *string `locationName:"op" type:"string" enum:"Op"` + + // The op operation's target, as identified by a JSON Pointer (https://tools.ietf.org/html/draft-ietf-appsawg-json-pointer-08) + // value that references a location within the targeted resource. For example, + // if the target resource has an updateable property of {"name":"value"}, the + // path for this property is /name. If the name property value is a JSON object + // (e.g., {"name": {"child/name": "child-value"}}), the path for the child/name + // property will be /name/child~1name. Any slash ("/") character appearing in + // path names must be escaped with "~1", as shown in the example above. Each + // op operation can have only one path associated with it. Path *string `locationName:"path" type:"string"` - // The actual value content. + // The new target value of the update operation. Value *string `locationName:"value" type:"string"` } @@ -5471,34 +11307,58 @@ type PutIntegrationInput struct { Credentials *string `locationName:"credentials" type:"string"` // Specifies a put integration request's HTTP method. + // + // HttpMethod is a required field HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"` // Specifies a put integration HTTP method. When the integration type is HTTP // or AWS, this field is required. IntegrationHttpMethod *string `locationName:"httpMethod" type:"string"` - // Represents request parameters that are sent with the backend request. Request - // parameters are represented as a key/value map, with a destination as the - // key and a source as the value. A source must match an existing method request - // parameter, or a static value. Static values must be enclosed with single - // quotes, and be pre-encoded based on their destination in the request. The - // destination must match the pattern integration.request.{location}.{name}, - // where location is either querystring, path, or header. name must be a valid, - // unique parameter name. + // Specifies the pass-through behavior for incoming requests based on the Content-Type + // header in the request, and the available mapping templates specified as the + // requestTemplates property on the Integration resource. There are three valid + // values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. + // + // WHEN_NO_MATCH passes the request body for unmapped content types through + // to the integration back end without transformation. + // + // NEVER rejects unmapped content types with an HTTP 415 'Unsupported Media + // Type' response. + // + // WHEN_NO_TEMPLATES allows pass-through when the integration has NO content + // types mapped to templates. However if there is at least one content type + // defined, unmapped content types will be rejected with the same 415 response. + PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string"` + + // A key-value map specifying request parameters that are passed from the method + // request to the back end. The key is an integration request parameter name + // and the associated value is a method request parameter value or static value + // that must be enclosed within single quotes and pre-encoded as required by + // the back end. The method request parameter value must match the pattern of + // method.request.{location}.{name}, where location is querystring, path, or + // header and name must be a valid and unique method request parameter name. RequestParameters map[string]*string `locationName:"requestParameters" type:"map"` - // Specifies the templates used to transform the method request body. Request - // templates are represented as a key/value map, with a content-type as the - // key and a template as the value. + // Represents a map of Velocity templates that are applied on the request payload + // based on the value of the Content-Type header sent by the client. The content + // type value is the key in this map, and the template (as a String) is the + // value. RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"` // Specifies a put integration request's resource ID. + // + // ResourceId is a required field ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"` // Specifies a put integration request's API identifier. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` // Specifies a put integration input's type. + // + // Type is a required field Type *string `locationName:"type" type:"string" required:"true" enum:"IntegrationType"` // Specifies a put integration input's Uniform Resource Identifier (URI). When @@ -5545,24 +11405,33 @@ type PutIntegrationResponseInput struct { _ struct{} `type:"structure"` // Specifies a put integration response request's HTTP method. + // + // HttpMethod is a required field HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"` // Specifies a put integration response request's resource identifier. + // + // ResourceId is a required field ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"` - // Represents response parameters that can be read from the backend response. - // Response parameters are represented as a key/value map, with a destination - // as the key and a source as the value. A destination must match an existing - // response parameter in the Method. The source can be a header from the backend - // response, or a static value. Static values are specified using enclosing - // single quotes, and backend response headers can be read using the pattern - // integration.response.header.{name}. + // A key-value map specifying response parameters that are passed to the method + // response from the back end. The key is a method response header parameter + // name and the mapped value is an integration response header value, a static + // value enclosed within a pair of single quotes, or a JSON expression from + // the integration response body. The mapping key must match the pattern of + // method.response.header.{name}, where name is a valid and unique header name. + // The mapped non-static value must match the pattern of integration.response.header.{name} + // or integration.response.body.{JSON-expression}, where name must be a valid + // and unique response header name and JSON-expression a valid JSON expression + // without the $ prefix. ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"` // Specifies a put integration response's templates. ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"` // Specifies a put integration response request's API identifier. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` // Specifies the selection pattern of a put integration response. @@ -5570,6 +11439,8 @@ type PutIntegrationResponseInput struct { // Specifies the status code that is used to map the integration response to // an existing MethodResponse. + // + // StatusCode is a required field StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"` } @@ -5613,13 +11484,17 @@ type PutMethodInput struct { ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"` // Specifies the type of authorization used for the method. + // + // AuthorizationType is a required field AuthorizationType *string `locationName:"authorizationType" type:"string" required:"true"` // Specifies the identifier of an Authorizer to use on this Method, if the type // is CUSTOM. AuthorizerId *string `locationName:"authorizerId" type:"string"` - // Specifies the put method request's HTTP method type. + // Specifies the method request's HTTP method type. + // + // HttpMethod is a required field HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"` // Specifies the Model resources used for the request's content type. Request @@ -5627,20 +11502,24 @@ type PutMethodInput struct { // and a Model name as the value. RequestModels map[string]*string `locationName:"requestModels" type:"map"` - // Represents requests parameters that are sent with the backend request. Request - // parameters are represented as a key/value map, with a destination as the - // key and a source as the value. A source must match an existing method request - // parameter, or a static value. Static values must be enclosed with single - // quotes, and be pre-encoded based on their destination in the request. The - // destination must match the pattern integration.request.{location}.{name}, - // where location is either querystring, path, or header. name must be a valid, - // unique parameter name. + // A key-value map defining required or optional method request parameters that + // can be accepted by Amazon API Gateway. A key defines a method request parameter + // name matching the pattern of method.request.{location}.{name}, where location + // is querystring, path, or header and name is a valid and unique parameter + // name. The value associated with the key is a Boolean flag indicating whether + // the parameter is required (true) or optional (false). The method request + // parameter names defined here are available in Integration to be mapped to + // integration request parameters or body-mapping templates. RequestParameters map[string]*bool `locationName:"requestParameters" type:"map"` // The Resource identifier for the new Method resource. + // + // ResourceId is a required field ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"` // The RestApi identifier for the new Method resource. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -5680,10 +11559,14 @@ func (s *PutMethodInput) Validate() error { type PutMethodResponseInput struct { _ struct{} `type:"structure"` - // The HTTP verb that identifies the Method resource. + // The HTTP verb of the Method resource. + // + // HttpMethod is a required field HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"` // The Resource identifier for the Method resource. + // + // ResourceId is a required field ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"` // Specifies the Model resources used for the response's content type. Response @@ -5691,19 +11574,27 @@ type PutMethodResponseInput struct { // and a Model name as the value. ResponseModels map[string]*string `locationName:"responseModels" type:"map"` - // Represents response parameters that can be sent back to the caller by Amazon - // API Gateway. Response parameters are represented as a key/value map, with - // a destination as the key and a Boolean flag as the value. The Boolean flag - // is used to specify whether the parameter is required. A destination must - // match the pattern method.response.header.{name}, where name is a valid, unique - // header name. Destinations specified here are available to the integration - // for mapping from integration response parameters. + // A key-value map specifying required or optional response parameters that + // Amazon API Gateway can send back to the caller. A key defines a method response + // header name and the associated value is a Boolean flag indicating whether + // the method response parameter is required or not. The method response header + // names must match the pattern of method.response.header.{name}, where name + // is a valid and unique header name. The response parameter names defined here + // are available in the integration response to be mapped from an integration + // response header expressed in integration.response.header.{name}, a static + // value enclosed within a pair of single quotes (e.g., 'application/json'), + // or a JSON expression from the back-end response payload in the form of integration.response.body.{JSON-expression}, + // where JSON-expression is a valid JSON expression without the $ prefix.) ResponseParameters map[string]*bool `locationName:"responseParameters" type:"map"` // The RestApi identifier for the Method resource. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` // The method response's status code. + // + // StatusCode is a required field StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"` } @@ -5746,6 +11637,8 @@ type PutRestApiInput struct { // The PUT request body containing external API definitions. Currently, only // Swagger definition JSON files are supported. + // + // Body is a required field Body []byte `locationName:"body" type:"blob" required:"true"` // A query parameter to indicate whether to rollback the API update (true) or @@ -5760,6 +11653,8 @@ type PutRestApiInput struct { Parameters map[string]*string `location:"querystring" locationName:"parameters" type:"map"` // The identifier of the RestApi to be updated. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -5789,7 +11684,35 @@ func (s *PutRestApiInput) Validate() error { return nil } -// Represents a resource. +// Quotas configured for a usage plan. +type QuotaSettings struct { + _ struct{} `type:"structure"` + + // The maximum number of requests that can be made in a given time period. + Limit *int64 `locationName:"limit" type:"integer"` + + // The number of requests subtracted from the given limit in the initial time + // period. + Offset *int64 `locationName:"offset" type:"integer"` + + // The time period in which the limit applies. Valid values are "DAY", "WEEK" + // or "MONTH". + Period *string `locationName:"period" type:"string" enum:"QuotaPeriodType"` +} + +// String returns the string representation +func (s QuotaSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s QuotaSettings) GoString() string { + return s.String() +} + +// Represents an API resource. +// +// Create an API (http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html) type Resource struct { _ struct{} `type:"structure"` @@ -5805,8 +11728,61 @@ type Resource struct { // The last path segment for this resource. PathPart *string `locationName:"pathPart" type:"string"` - // Map of methods for this resource, which is included only if the request uses - // the embed query option. + // Gets an API resource's method of a given HTTP verb. + // + // The resource methods are a map of methods indexed by methods' HTTP verbs + // enabled on the resource. This method map is included in the 200 OK response + // of the GET /restapis/{restapi_id}/resources/{resource_id} or GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods + // request. + // + // Example: Get the GET method of an API resource + // + // Request + // + // GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type: + // application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160608T031827Z + // Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160608/us-east-1/apigateway/aws4_request, + // SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash} Response + // + // { "_links": { "curies": [ { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html", + // "name": "integration", "templated": true }, { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html", + // "name": "integrationresponse", "templated": true }, { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-{rel}.html", + // "name": "method", "templated": true }, { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html", + // "name": "methodresponse", "templated": true } ], "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET", + // "name": "GET", "title": "GET" }, "integration:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" + // }, "method:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET" + // }, "method:integration": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" + // }, "method:responses": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200", + // "name": "200", "title": "200" }, "method:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET" + // }, "methodresponse:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/{status_code}", + // "templated": true } }, "apiKeyRequired": false, "authorizationType": "NONE", + // "httpMethod": "GET", "_embedded": { "method:integration": { "_links": { "self": + // { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" + // }, "integration:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" + // }, "integration:responses": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200", + // "name": "200", "title": "200" }, "integration:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" + // }, "integrationresponse:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/{status_code}", + // "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "3kzxbg5sa2", + // "credentials": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "httpMethod": + // "POST", "passthroughBehavior": "WHEN_NO_MATCH", "requestParameters": { "integration.request.header.Content-Type": + // "'application/x-amz-json-1.1'" }, "requestTemplates": { "application/json": + // "{\n}" }, "type": "AWS", "uri": "arn:aws:apigateway:us-east-1:kinesis:action/ListStreams", + // "_embedded": { "integration:responses": { "_links": { "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200", + // "name": "200", "title": "200" }, "integrationresponse:delete": { "href": + // "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" + // }, "integrationresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" + // } }, "responseParameters": { "method.response.header.Content-Type": "'application/xml'" + // }, "responseTemplates": { "application/json": "$util.urlDecode(\"%3CkinesisStreams%3E#foreach($stream + // in $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n" + // }, "statusCode": "200" } } }, "method:responses": { "_links": { "self": { + // "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200", + // "name": "200", "title": "200" }, "methodresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200" + // }, "methodresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200" + // } }, "responseModels": { "application/json": "Empty" }, "responseParameters": + // { "method.response.header.Content-Type": false }, "statusCode": "200" } } + // } If the OPTIONS is enabled on the resource, you can follow the example here + // to get that method. Just replace the GET of the last path segment in the + // request URL with OPTIONS. ResourceMethods map[string]*Method `locationName:"resourceMethods" type:"map"` } @@ -5821,6 +11797,8 @@ func (s Resource) GoString() string { } // Represents a REST API. +// +// Create an API (http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html) type RestApi struct { _ struct{} `type:"structure"` @@ -5838,6 +11816,8 @@ type RestApi struct { // The API's name. Name *string `locationName:"name" type:"string"` + // The warning messages reported when failonwarnings is turned on during API + // import. Warnings []*string `locationName:"warnings" type:"list"` } @@ -5853,6 +11833,8 @@ func (s RestApi) GoString() string { // Represents a unique identifier for a version of a deployed RestApi that is // callable by users. +// +// Deploy an API (http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-deploy-api.html) type Stage struct { _ struct{} `type:"structure"` @@ -5865,6 +11847,7 @@ type Stage struct { // The status of the cache cluster for the stage, if enabled. CacheClusterStatus *string `locationName:"cacheClusterStatus" type:"string" enum:"CacheClusterStatus"` + // The identifier of a client certificate for an API stage. ClientCertificateId *string `locationName:"clientCertificateId" type:"string"` // The date and time that the stage was created, in ISO 8601 format (http://www.iso.org/iso/home/standards/iso8601.htm" @@ -5881,9 +11864,10 @@ type Stage struct { // 8601 format (http://www.iso.org/iso/home/standards/iso8601.htm" target="_blank). LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp" timestampFormat:"unix"` - // A map that defines the method settings for a Stage resource. Keys are defined - // as {resource_path}/{http_method} for an individual method override, or \*/\* - // for the settings applied to all methods in the stage. + // A map that defines the method settings for a Stage resource. Keys (designated + // as /{method_setting_key below) are method paths defined as {resource_path}/{http_method} + // for an individual method override, or /\*/\* for overriding all methods in + // the stage. MethodSettings map[string]*MethodSetting `locationName:"methodSettings" type:"map"` // The name of the stage is the first path segment in the Uniform Resource Identifier @@ -5891,7 +11875,8 @@ type Stage struct { StageName *string `locationName:"stageName" type:"string"` // A map that defines the stage variables for a Stage resource. Variable names - // can have alphanumeric characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+. + // can have alphanumeric and underscore characters, and the values must match + // [A-Za-z0-9-._~:/?#&=,]+. Variables map[string]*string `locationName:"variables" type:"map"` } @@ -5934,6 +11919,8 @@ type TestInvokeAuthorizerInput struct { AdditionalContext map[string]*string `locationName:"additionalContext" type:"map"` // Specifies a test invoke authorizer request's Authorizer ID. + // + // AuthorizerId is a required field AuthorizerId *string `location:"uri" locationName:"authorizer_id" type:"string" required:"true"` // [Optional] The simulated request body of an incoming invocation request. @@ -5949,6 +11936,8 @@ type TestInvokeAuthorizerInput struct { PathWithQueryString *string `locationName:"pathWithQueryString" type:"string"` // Specifies a test invoke authorizer request's RestApi identifier. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` // A key-value map of stage variables to simulate an invocation on a deployed @@ -5982,23 +11971,28 @@ func (s *TestInvokeAuthorizerInput) Validate() error { return nil } -// Represents the response of the test invoke request in for a custom Authorizer +// Represents the response of the test invoke request for a custom Authorizer type TestInvokeAuthorizerOutput struct { _ struct{} `type:"structure"` Authorization map[string][]*string `locationName:"authorization" type:"map"` + // The open identity claims (http://openid.net/specs/openid-connect-core-1_0.html#StandardClaims), + // with any supported custom attributes, returned from the Cognito Your User + // Pool configured for the API. + Claims map[string]*string `locationName:"claims" type:"map"` + // The HTTP status code that the client would have received. Value is 0 if the // authorizer succeeded. ClientStatus *int64 `locationName:"clientStatus" type:"integer"` - // The execution latency of the test authorizer request + // The execution latency of the test authorizer request. Latency *int64 `locationName:"latency" type:"long"` // The Amazon API Gateway execution log for the test authorizer request. Log *string `locationName:"log" type:"string"` - // The policy JSON document returned by the Authorizer + // The JSON policy document returned by the Authorizer Policy *string `locationName:"policy" type:"string"` // The principal identity returned by the Authorizer @@ -6023,14 +12017,16 @@ type TestInvokeMethodInput struct { Body *string `locationName:"body" type:"string"` // A ClientCertificate identifier to use in the test invocation. API Gateway - // will use use the certificate when making the HTTPS request to the defined - // backend endpoint. + // will use the certificate when making the HTTPS request to the defined back-end + // endpoint. ClientCertificateId *string `locationName:"clientCertificateId" type:"string"` // A key-value map of headers to simulate an incoming invocation request. Headers map[string]*string `locationName:"headers" type:"map"` // Specifies a test invoke method request's HTTP method. + // + // HttpMethod is a required field HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"` // The URI path, including query string, of the simulated invocation request. @@ -6038,9 +12034,13 @@ type TestInvokeMethodInput struct { PathWithQueryString *string `locationName:"pathWithQueryString" type:"string"` // Specifies a test invoke method request's resource ID. + // + // ResourceId is a required field ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"` // Specifies a test invoke method request's API identifier. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` // A key-value map of stage variables to simulate an invocation on a deployed @@ -6077,14 +12077,16 @@ func (s *TestInvokeMethodInput) Validate() error { return nil } -// Represents the response of the test invoke request in HTTP method. +// Represents the response of the test invoke request in the HTTP method. +// +// Test API using the API Gateway console (http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-test-method.html#how-to-test-method-console) type TestInvokeMethodOutput struct { _ struct{} `type:"structure"` - // The body of HTTP response. + // The body of the HTTP response. Body *string `locationName:"body" type:"string"` - // The headers of HTTP response. + // The headers of the HTTP response. Headers map[string]*string `locationName:"headers" type:"map"` // The execution latency of the test invoke request. @@ -6107,14 +12109,16 @@ func (s TestInvokeMethodOutput) GoString() string { return s.String() } -// Returns the throttle settings. +// The API request rate limits. type ThrottleSettings struct { _ struct{} `type:"structure"` - // Returns the burstLimit when ThrottleSettings is called. + // The API request burst limit, the maximum rate limit over a time ranging from + // one to a few seconds, depending upon whether the underlying token bucket + // is at its full capacity. BurstLimit *int64 `locationName:"burstLimit" type:"integer"` - // Returns the rateLimit when ThrottleSettings is called. + // The API request steady-state rate limit. RateLimit *float64 `locationName:"rateLimit" type:"double"` } @@ -6133,8 +12137,8 @@ func (s ThrottleSettings) GoString() string { type UpdateAccountInput struct { _ struct{} `type:"structure"` - // A list of operations describing the updates to apply to the specified resource. - // The patches are applied in the order specified in the list. + // A list of update operations to be applied to the specified resource and in + // the order specified in this list. PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"` } @@ -6153,10 +12157,12 @@ type UpdateApiKeyInput struct { _ struct{} `type:"structure"` // The identifier of the ApiKey resource to be updated. + // + // ApiKey is a required field ApiKey *string `location:"uri" locationName:"api_Key" type:"string" required:"true"` - // A list of operations describing the updates to apply to the specified resource. - // The patches are applied in the order specified in the list. + // A list of update operations to be applied to the specified resource and in + // the order specified in this list. PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"` } @@ -6188,13 +12194,17 @@ type UpdateAuthorizerInput struct { _ struct{} `type:"structure"` // The identifier of the Authorizer resource. + // + // AuthorizerId is a required field AuthorizerId *string `location:"uri" locationName:"authorizer_id" type:"string" required:"true"` - // A list of operations describing the updates to apply to the specified resource. - // The patches are applied in the order specified in the list. + // A list of update operations to be applied to the specified resource and in + // the order specified in this list. PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"` // The RestApi identifier for the Authorizer resource. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -6229,13 +12239,17 @@ type UpdateBasePathMappingInput struct { _ struct{} `type:"structure"` // The base path of the BasePathMapping resource to change. + // + // BasePath is a required field BasePath *string `location:"uri" locationName:"base_path" type:"string" required:"true"` // The domain name of the BasePathMapping resource to change. + // + // DomainName is a required field DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"` - // A list of operations describing the updates to apply to the specified resource. - // The patches are applied in the order specified in the list. + // A list of update operations to be applied to the specified resource and in + // the order specified in this list. PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"` } @@ -6270,10 +12284,12 @@ type UpdateClientCertificateInput struct { _ struct{} `type:"structure"` // The identifier of the ClientCertificate resource to be updated. + // + // ClientCertificateId is a required field ClientCertificateId *string `location:"uri" locationName:"clientcertificate_id" type:"string" required:"true"` - // A list of operations describing the updates to apply to the specified resource. - // The patches are applied in the order specified in the list. + // A list of update operations to be applied to the specified resource and in + // the order specified in this list. PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"` } @@ -6304,16 +12320,20 @@ func (s *UpdateClientCertificateInput) Validate() error { type UpdateDeploymentInput struct { _ struct{} `type:"structure"` - // The replacment identifier for the Deployment resource to change information + // The replacement identifier for the Deployment resource to change information // about. + // + // DeploymentId is a required field DeploymentId *string `location:"uri" locationName:"deployment_id" type:"string" required:"true"` - // A list of operations describing the updates to apply to the specified resource. - // The patches are applied in the order specified in the list. + // A list of update operations to be applied to the specified resource and in + // the order specified in this list. PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"` // The replacement identifier of the RestApi resource for the Deployment resource // to change information about. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -6348,10 +12368,12 @@ type UpdateDomainNameInput struct { _ struct{} `type:"structure"` // The name of the DomainName resource to be changed. + // + // DomainName is a required field DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"` - // A list of operations describing the updates to apply to the specified resource. - // The patches are applied in the order specified in the list. + // A list of update operations to be applied to the specified resource and in + // the order specified in this list. PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"` } @@ -6383,16 +12405,22 @@ type UpdateIntegrationInput struct { _ struct{} `type:"structure"` // Represents an update integration request's HTTP method. + // + // HttpMethod is a required field HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"` - // A list of operations describing the updates to apply to the specified resource. - // The patches are applied in the order specified in the list. + // A list of update operations to be applied to the specified resource and in + // the order specified in this list. PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"` // Represents an update integration request's resource identifier. + // + // ResourceId is a required field ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"` // Represents an update integration request's API identifier. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -6430,19 +12458,27 @@ type UpdateIntegrationResponseInput struct { _ struct{} `type:"structure"` // Specifies an update integration response request's HTTP method. + // + // HttpMethod is a required field HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"` - // A list of operations describing the updates to apply to the specified resource. - // The patches are applied in the order specified in the list. + // A list of update operations to be applied to the specified resource and in + // the order specified in this list. PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"` // Specifies an update integration response request's resource identifier. + // + // ResourceId is a required field ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"` // Specifies an update integration response request's API identifier. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` // Specifies an update integration response request's status code. + // + // StatusCode is a required field StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"` } @@ -6482,17 +12518,23 @@ func (s *UpdateIntegrationResponseInput) Validate() error { type UpdateMethodInput struct { _ struct{} `type:"structure"` - // The HTTP verb that identifies the Method resource. + // The HTTP verb of the Method resource. + // + // HttpMethod is a required field HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"` - // A list of operations describing the updates to apply to the specified resource. - // The patches are applied in the order specified in the list. + // A list of update operations to be applied to the specified resource and in + // the order specified in this list. PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"` // The Resource identifier for the Method resource. + // + // ResourceId is a required field ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"` // The RestApi identifier for the Method resource. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -6529,20 +12571,28 @@ func (s *UpdateMethodInput) Validate() error { type UpdateMethodResponseInput struct { _ struct{} `type:"structure"` - // The HTTP verb identifier for the parent Method resource. + // The HTTP verb of the Method resource. + // + // HttpMethod is a required field HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"` - // A list of operations describing the updates to apply to the specified resource. - // The patches are applied in the order specified in the list. + // A list of update operations to be applied to the specified resource and in + // the order specified in this list. PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"` // The Resource identifier for the MethodResponse resource. + // + // ResourceId is a required field ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"` // The RestApi identifier for the MethodResponse resource. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` - // The status code identifier for the MethodResponse resource. + // The status code for the MethodResponse resource. + // + // StatusCode is a required field StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"` } @@ -6583,13 +12633,17 @@ type UpdateModelInput struct { _ struct{} `type:"structure"` // The name of the model to update. + // + // ModelName is a required field ModelName *string `location:"uri" locationName:"model_name" type:"string" required:"true"` - // A list of operations describing the updates to apply to the specified resource. - // The patches are applied in the order specified in the list. + // A list of update operations to be applied to the specified resource and in + // the order specified in this list. PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"` // The RestApi identifier under which the model exists. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -6623,14 +12677,18 @@ func (s *UpdateModelInput) Validate() error { type UpdateResourceInput struct { _ struct{} `type:"structure"` - // A list of operations describing the updates to apply to the specified resource. - // The patches are applied in the order specified in the list. + // A list of update operations to be applied to the specified resource and in + // the order specified in this list. PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"` // The identifier of the Resource resource. + // + // ResourceId is a required field ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"` // The RestApi identifier for the Resource resource. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -6664,11 +12722,13 @@ func (s *UpdateResourceInput) Validate() error { type UpdateRestApiInput struct { _ struct{} `type:"structure"` - // A list of operations describing the updates to apply to the specified resource. - // The patches are applied in the order specified in the list. + // A list of update operations to be applied to the specified resource and in + // the order specified in this list. PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"` // The ID of the RestApi you want to update. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` } @@ -6699,15 +12759,19 @@ func (s *UpdateRestApiInput) Validate() error { type UpdateStageInput struct { _ struct{} `type:"structure"` - // A list of operations describing the updates to apply to the specified resource. - // The patches are applied in the order specified in the list. + // A list of update operations to be applied to the specified resource and in + // the order specified in this list. PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"` // The identifier of the RestApi resource for the Stage resource to change information // about. + // + // RestApiId is a required field RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` // The name of the Stage resource to change information about. + // + // StageName is a required field StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"` } @@ -6737,83 +12801,324 @@ func (s *UpdateStageInput) Validate() error { return nil } -// The authorizer type. Only current value is TOKEN. +// The PATCH request to grant a temporary extension to the reamining quota of +// a usage plan associated with a specified API key. +type UpdateUsageInput struct { + _ struct{} `type:"structure"` + + // The identifier of the API key associated with the usage plan in which a temporary + // extension is granted to the remaining quota. + // + // KeyId is a required field + KeyId *string `location:"uri" locationName:"keyId" type:"string" required:"true"` + + // A list of update operations to be applied to the specified resource and in + // the order specified in this list. + PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"` + + // The Id of the usage plan associated with the usage data. + // + // UsagePlanId is a required field + UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateUsageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateUsageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateUsageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateUsageInput"} + if s.KeyId == nil { + invalidParams.Add(request.NewErrParamRequired("KeyId")) + } + if s.UsagePlanId == nil { + invalidParams.Add(request.NewErrParamRequired("UsagePlanId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The PATCH request to update a usage plan of a given plan Id. +type UpdateUsagePlanInput struct { + _ struct{} `type:"structure"` + + // A list of update operations to be applied to the specified resource and in + // the order specified in this list. + PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"` + + // The Id of the to-be-updated usage plan. + // + // UsagePlanId is a required field + UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateUsagePlanInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateUsagePlanInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateUsagePlanInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateUsagePlanInput"} + if s.UsagePlanId == nil { + invalidParams.Add(request.NewErrParamRequired("UsagePlanId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Represents the usage data of a usage plan. +// +// Create and Use Usage Plans (http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html), +// Manage Usage in a Usage Plan (http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-usage-plans-with-console.html#api-gateway-usage-plan-manage-usage) +type Usage struct { + _ struct{} `type:"structure"` + + // The ending date of the usage data. + EndDate *string `locationName:"endDate" type:"string"` + + // The usage data, as daily logs of used and remaining quotas, over the specified + // time interval indexed over the API keys in a usage plan. For example, {..., + // "values" : { "{api_key}" : [ [0, 100], [10, 90], [100, 10]]}, where {api_key} + // stands for an API key value and the daily log entry is of the format [used + // quota, remaining quota]. + Items map[string][][]*int64 `locationName:"values" type:"map"` + + Position *string `locationName:"position" type:"string"` + + // The starting date of the usage data. + StartDate *string `locationName:"startDate" type:"string"` + + // The plan Id associated with this usage data. + UsagePlanId *string `locationName:"usagePlanId" type:"string"` +} + +// String returns the string representation +func (s Usage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Usage) GoString() string { + return s.String() +} + +// Represents a usage plan than can specify who can assess associated API stages +// with specified request limits and quotas. +// +// In a usage plan, you associate an API by specifying the API's Id and a +// stage name of the specified API. You add plan customers by adding API keys +// to the plan. +// +// Create and Use Usage Plans (http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html) +type UsagePlan struct { + _ struct{} `type:"structure"` + + // The associated API stages of a usage plan. + ApiStages []*ApiStage `locationName:"apiStages" type:"list"` + + // The description of a usage plan. + Description *string `locationName:"description" type:"string"` + + // The identifier of a UsagePlan resource. + Id *string `locationName:"id" type:"string"` + + // The name of a usage plan. + Name *string `locationName:"name" type:"string"` + + // The maximum number of permitted requests per a given unit time interval. + Quota *QuotaSettings `locationName:"quota" type:"structure"` + + // The request throttle limits of a usage plan. + Throttle *ThrottleSettings `locationName:"throttle" type:"structure"` +} + +// String returns the string representation +func (s UsagePlan) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UsagePlan) GoString() string { + return s.String() +} + +// Represents a usage plan key to identify a plan customer. +// +// To associate an API stage with a selected API key in a usage plan, you +// must create a UsagePlanKey resource to represent the selected ApiKey. +// +// " Create and Use Usage Plans (http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html) +type UsagePlanKey struct { + _ struct{} `type:"structure"` + + // The Id of a usage plan key. + Id *string `locationName:"id" type:"string"` + + // The name of a usage plan key. + Name *string `locationName:"name" type:"string"` + + // The type of a usage plan key. Currently, the valid key type is API_KEY. + Type *string `locationName:"type" type:"string"` + + // The value of a usage plan key. + Value *string `locationName:"value" type:"string"` +} + +// String returns the string representation +func (s UsagePlanKey) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UsagePlanKey) GoString() string { + return s.String() +} + +const ( + // ApiKeysFormatCsv is a ApiKeysFormat enum value + ApiKeysFormatCsv = "csv" +) + +// The authorizer type. the only current value is TOKEN. const ( - // @enum AuthorizerType + // AuthorizerTypeToken is a AuthorizerType enum value AuthorizerTypeToken = "TOKEN" + + // AuthorizerTypeCognitoUserPools is a AuthorizerType enum value + AuthorizerTypeCognitoUserPools = "COGNITO_USER_POOLS" ) // Returns the size of the CacheCluster. const ( - // @enum CacheClusterSize + // CacheClusterSize05 is a CacheClusterSize enum value CacheClusterSize05 = "0.5" - // @enum CacheClusterSize + + // CacheClusterSize16 is a CacheClusterSize enum value CacheClusterSize16 = "1.6" - // @enum CacheClusterSize + + // CacheClusterSize61 is a CacheClusterSize enum value CacheClusterSize61 = "6.1" - // @enum CacheClusterSize + + // CacheClusterSize135 is a CacheClusterSize enum value CacheClusterSize135 = "13.5" - // @enum CacheClusterSize + + // CacheClusterSize284 is a CacheClusterSize enum value CacheClusterSize284 = "28.4" - // @enum CacheClusterSize + + // CacheClusterSize582 is a CacheClusterSize enum value CacheClusterSize582 = "58.2" - // @enum CacheClusterSize + + // CacheClusterSize118 is a CacheClusterSize enum value CacheClusterSize118 = "118" - // @enum CacheClusterSize + + // CacheClusterSize237 is a CacheClusterSize enum value CacheClusterSize237 = "237" ) // Returns the status of the CacheCluster. const ( - // @enum CacheClusterStatus + // CacheClusterStatusCreateInProgress is a CacheClusterStatus enum value CacheClusterStatusCreateInProgress = "CREATE_IN_PROGRESS" - // @enum CacheClusterStatus + + // CacheClusterStatusAvailable is a CacheClusterStatus enum value CacheClusterStatusAvailable = "AVAILABLE" - // @enum CacheClusterStatus + + // CacheClusterStatusDeleteInProgress is a CacheClusterStatus enum value CacheClusterStatusDeleteInProgress = "DELETE_IN_PROGRESS" - // @enum CacheClusterStatus + + // CacheClusterStatusNotAvailable is a CacheClusterStatus enum value CacheClusterStatusNotAvailable = "NOT_AVAILABLE" - // @enum CacheClusterStatus + + // CacheClusterStatusFlushInProgress is a CacheClusterStatus enum value CacheClusterStatusFlushInProgress = "FLUSH_IN_PROGRESS" ) -// The integration type. The valid value is HTTP, AWS, or MOCK. +// The integration type. The valid value is HTTP for integrating with an HTTP +// back end, AWS for any AWS service endpoints, MOCK for testing without actually +// invoking the back end, HTTP_PROXY for integrating with the HTTP proxy integration, +// or AWS_PROXY for integrating with the Lambda proxy integration type. const ( - // @enum IntegrationType + // IntegrationTypeHttp is a IntegrationType enum value IntegrationTypeHttp = "HTTP" - // @enum IntegrationType + + // IntegrationTypeAws is a IntegrationType enum value IntegrationTypeAws = "AWS" - // @enum IntegrationType + + // IntegrationTypeMock is a IntegrationType enum value IntegrationTypeMock = "MOCK" -) -const ( - // @enum PutMode - PutModeMerge = "merge" - // @enum PutMode - PutModeOverwrite = "overwrite" -) + // IntegrationTypeHttpProxy is a IntegrationType enum value + IntegrationTypeHttpProxy = "HTTP_PROXY" -const ( - // @enum UnauthorizedCacheControlHeaderStrategy - UnauthorizedCacheControlHeaderStrategyFailWith403 = "FAIL_WITH_403" - // @enum UnauthorizedCacheControlHeaderStrategy - UnauthorizedCacheControlHeaderStrategySucceedWithResponseHeader = "SUCCEED_WITH_RESPONSE_HEADER" - // @enum UnauthorizedCacheControlHeaderStrategy - UnauthorizedCacheControlHeaderStrategySucceedWithoutResponseHeader = "SUCCEED_WITHOUT_RESPONSE_HEADER" + // IntegrationTypeAwsProxy is a IntegrationType enum value + IntegrationTypeAwsProxy = "AWS_PROXY" ) const ( - // @enum op + // OpAdd is a Op enum value OpAdd = "add" - // @enum op + + // OpRemove is a Op enum value OpRemove = "remove" - // @enum op + + // OpReplace is a Op enum value OpReplace = "replace" - // @enum op + + // OpMove is a Op enum value OpMove = "move" - // @enum op + + // OpCopy is a Op enum value OpCopy = "copy" - // @enum op + + // OpTest is a Op enum value OpTest = "test" ) + +const ( + // PutModeMerge is a PutMode enum value + PutModeMerge = "merge" + + // PutModeOverwrite is a PutMode enum value + PutModeOverwrite = "overwrite" +) + +const ( + // QuotaPeriodTypeDay is a QuotaPeriodType enum value + QuotaPeriodTypeDay = "DAY" + + // QuotaPeriodTypeWeek is a QuotaPeriodType enum value + QuotaPeriodTypeWeek = "WEEK" + + // QuotaPeriodTypeMonth is a QuotaPeriodType enum value + QuotaPeriodTypeMonth = "MONTH" +) + +const ( + // UnauthorizedCacheControlHeaderStrategyFailWith403 is a UnauthorizedCacheControlHeaderStrategy enum value + UnauthorizedCacheControlHeaderStrategyFailWith403 = "FAIL_WITH_403" + + // UnauthorizedCacheControlHeaderStrategySucceedWithResponseHeader is a UnauthorizedCacheControlHeaderStrategy enum value + UnauthorizedCacheControlHeaderStrategySucceedWithResponseHeader = "SUCCEED_WITH_RESPONSE_HEADER" + + // UnauthorizedCacheControlHeaderStrategySucceedWithoutResponseHeader is a UnauthorizedCacheControlHeaderStrategy enum value + UnauthorizedCacheControlHeaderStrategySucceedWithoutResponseHeader = "SUCCEED_WITHOUT_RESPONSE_HEADER" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go new file mode 100644 index 000000000000..0bcf442a9c1e --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go @@ -0,0 +1,1806 @@ +// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. + +// Package applicationautoscaling provides a client for Application Auto Scaling. +package applicationautoscaling + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" +) + +const opDeleteScalingPolicy = "DeleteScalingPolicy" + +// DeleteScalingPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteScalingPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteScalingPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteScalingPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteScalingPolicyRequest method. +// req, resp := client.DeleteScalingPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ApplicationAutoScaling) DeleteScalingPolicyRequest(input *DeleteScalingPolicyInput) (req *request.Request, output *DeleteScalingPolicyOutput) { + op := &request.Operation{ + Name: opDeleteScalingPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteScalingPolicyInput{} + } + + req = c.newRequest(op, input, output) + output = &DeleteScalingPolicyOutput{} + req.Data = output + return +} + +// DeleteScalingPolicy API operation for Application Auto Scaling. +// +// Deletes an Application Auto Scaling scaling policy that was previously created. +// If you are no longer using a scaling policy, you can delete it with this +// operation. +// +// Deleting a policy deletes the underlying alarm action, but does not delete +// the CloudWatch alarm associated with the scaling policy, even if it no longer +// has an associated action. +// +// To create a new scaling policy or update an existing one, see PutScalingPolicy. +// +// 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 Application Auto Scaling's +// API operation DeleteScalingPolicy for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// An exception was thrown for a validation issue. Review the available parameters +// for the API request. +// +// * ObjectNotFoundException +// The specified object could not be found. For any Put or Register API operation, +// which depends on the existence of a scalable target, this exception is thrown +// if the scalable target with the specified service namespace, resource ID, +// and scalable dimension does not exist. For any Delete or Deregister API operation, +// this exception is thrown if the resource that is to be deleted or deregistered +// cannot be found. +// +// * ConcurrentUpdateException +// Concurrent updates caused an exception, for example, if you request an update +// to an Application Auto Scaling resource that already has a pending update. +// +// * InternalServiceException +// The service encountered an internal error. +// +func (c *ApplicationAutoScaling) DeleteScalingPolicy(input *DeleteScalingPolicyInput) (*DeleteScalingPolicyOutput, error) { + req, out := c.DeleteScalingPolicyRequest(input) + err := req.Send() + return out, err +} + +const opDeregisterScalableTarget = "DeregisterScalableTarget" + +// DeregisterScalableTargetRequest generates a "aws/request.Request" representing the +// client's request for the DeregisterScalableTarget operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeregisterScalableTarget for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeregisterScalableTarget method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeregisterScalableTargetRequest method. +// req, resp := client.DeregisterScalableTargetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ApplicationAutoScaling) DeregisterScalableTargetRequest(input *DeregisterScalableTargetInput) (req *request.Request, output *DeregisterScalableTargetOutput) { + op := &request.Operation{ + Name: opDeregisterScalableTarget, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeregisterScalableTargetInput{} + } + + req = c.newRequest(op, input, output) + output = &DeregisterScalableTargetOutput{} + req.Data = output + return +} + +// DeregisterScalableTarget API operation for Application Auto Scaling. +// +// Deregisters a scalable target that was previously registered. If you are +// no longer using a scalable target, you can delete it with this operation. +// When you deregister a scalable target, all of the scaling policies that are +// associated with that scalable target are deleted. +// +// To create a new scalable target or update an existing one, see RegisterScalableTarget. +// +// 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 Application Auto Scaling's +// API operation DeregisterScalableTarget for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// An exception was thrown for a validation issue. Review the available parameters +// for the API request. +// +// * ObjectNotFoundException +// The specified object could not be found. For any Put or Register API operation, +// which depends on the existence of a scalable target, this exception is thrown +// if the scalable target with the specified service namespace, resource ID, +// and scalable dimension does not exist. For any Delete or Deregister API operation, +// this exception is thrown if the resource that is to be deleted or deregistered +// cannot be found. +// +// * ConcurrentUpdateException +// Concurrent updates caused an exception, for example, if you request an update +// to an Application Auto Scaling resource that already has a pending update. +// +// * InternalServiceException +// The service encountered an internal error. +// +func (c *ApplicationAutoScaling) DeregisterScalableTarget(input *DeregisterScalableTargetInput) (*DeregisterScalableTargetOutput, error) { + req, out := c.DeregisterScalableTargetRequest(input) + err := req.Send() + return out, err +} + +const opDescribeScalableTargets = "DescribeScalableTargets" + +// DescribeScalableTargetsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeScalableTargets operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeScalableTargets for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeScalableTargets method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeScalableTargetsRequest method. +// req, resp := client.DescribeScalableTargetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ApplicationAutoScaling) DescribeScalableTargetsRequest(input *DescribeScalableTargetsInput) (req *request.Request, output *DescribeScalableTargetsOutput) { + op := &request.Operation{ + Name: opDescribeScalableTargets, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeScalableTargetsInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeScalableTargetsOutput{} + req.Data = output + return +} + +// DescribeScalableTargets API operation for Application Auto Scaling. +// +// Provides descriptive information for scalable targets with a specified service +// namespace. +// +// You can filter the results in a service namespace with the ResourceIds and +// ScalableDimension parameters. +// +// To create a new scalable target or update an existing one, see RegisterScalableTarget. +// If you are no longer using a scalable target, you can deregister it with +// DeregisterScalableTarget. +// +// 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 Application Auto Scaling's +// API operation DescribeScalableTargets for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// An exception was thrown for a validation issue. Review the available parameters +// for the API request. +// +// * InvalidNextTokenException +// The next token supplied was invalid. +// +// * ConcurrentUpdateException +// Concurrent updates caused an exception, for example, if you request an update +// to an Application Auto Scaling resource that already has a pending update. +// +// * InternalServiceException +// The service encountered an internal error. +// +func (c *ApplicationAutoScaling) DescribeScalableTargets(input *DescribeScalableTargetsInput) (*DescribeScalableTargetsOutput, error) { + req, out := c.DescribeScalableTargetsRequest(input) + err := req.Send() + return out, err +} + +// DescribeScalableTargetsPages iterates over the pages of a DescribeScalableTargets operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeScalableTargets 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 DescribeScalableTargets operation. +// pageNum := 0 +// err := client.DescribeScalableTargetsPages(params, +// func(page *DescribeScalableTargetsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ApplicationAutoScaling) DescribeScalableTargetsPages(input *DescribeScalableTargetsInput, fn func(p *DescribeScalableTargetsOutput, lastPage bool) (shouldContinue bool)) error { + page, _ := c.DescribeScalableTargetsRequest(input) + page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) + return page.EachPage(func(p interface{}, lastPage bool) bool { + return fn(p.(*DescribeScalableTargetsOutput), lastPage) + }) +} + +const opDescribeScalingActivities = "DescribeScalingActivities" + +// DescribeScalingActivitiesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeScalingActivities operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeScalingActivities for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeScalingActivities method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeScalingActivitiesRequest method. +// req, resp := client.DescribeScalingActivitiesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ApplicationAutoScaling) DescribeScalingActivitiesRequest(input *DescribeScalingActivitiesInput) (req *request.Request, output *DescribeScalingActivitiesOutput) { + op := &request.Operation{ + Name: opDescribeScalingActivities, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeScalingActivitiesInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeScalingActivitiesOutput{} + req.Data = output + return +} + +// DescribeScalingActivities API operation for Application Auto Scaling. +// +// Provides descriptive information for scaling activities with a specified +// service namespace for the previous six weeks. +// +// You can filter the results in a service namespace with the ResourceId and +// ScalableDimension parameters. +// +// Scaling activities are triggered by CloudWatch alarms that are associated +// with scaling policies. To view the existing scaling policies for a service +// namespace, see DescribeScalingPolicies. To create a new scaling policy or +// update an existing one, see PutScalingPolicy. +// +// 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 Application Auto Scaling's +// API operation DescribeScalingActivities for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// An exception was thrown for a validation issue. Review the available parameters +// for the API request. +// +// * InvalidNextTokenException +// The next token supplied was invalid. +// +// * ConcurrentUpdateException +// Concurrent updates caused an exception, for example, if you request an update +// to an Application Auto Scaling resource that already has a pending update. +// +// * InternalServiceException +// The service encountered an internal error. +// +func (c *ApplicationAutoScaling) DescribeScalingActivities(input *DescribeScalingActivitiesInput) (*DescribeScalingActivitiesOutput, error) { + req, out := c.DescribeScalingActivitiesRequest(input) + err := req.Send() + return out, err +} + +// DescribeScalingActivitiesPages iterates over the pages of a DescribeScalingActivities operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeScalingActivities 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 DescribeScalingActivities operation. +// pageNum := 0 +// err := client.DescribeScalingActivitiesPages(params, +// func(page *DescribeScalingActivitiesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ApplicationAutoScaling) DescribeScalingActivitiesPages(input *DescribeScalingActivitiesInput, fn func(p *DescribeScalingActivitiesOutput, lastPage bool) (shouldContinue bool)) error { + page, _ := c.DescribeScalingActivitiesRequest(input) + page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) + return page.EachPage(func(p interface{}, lastPage bool) bool { + return fn(p.(*DescribeScalingActivitiesOutput), lastPage) + }) +} + +const opDescribeScalingPolicies = "DescribeScalingPolicies" + +// DescribeScalingPoliciesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeScalingPolicies operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeScalingPolicies for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeScalingPolicies method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeScalingPoliciesRequest method. +// req, resp := client.DescribeScalingPoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ApplicationAutoScaling) DescribeScalingPoliciesRequest(input *DescribeScalingPoliciesInput) (req *request.Request, output *DescribeScalingPoliciesOutput) { + op := &request.Operation{ + Name: opDescribeScalingPolicies, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeScalingPoliciesInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeScalingPoliciesOutput{} + req.Data = output + return +} + +// DescribeScalingPolicies API operation for Application Auto Scaling. +// +// Provides descriptive information for scaling policies with a specified service +// namespace. +// +// You can filter the results in a service namespace with the ResourceId, ScalableDimension, +// and PolicyNames parameters. +// +// To create a new scaling policy or update an existing one, see PutScalingPolicy. +// If you are no longer using a scaling policy, you can delete it with DeleteScalingPolicy. +// +// 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 Application Auto Scaling's +// API operation DescribeScalingPolicies for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// An exception was thrown for a validation issue. Review the available parameters +// for the API request. +// +// * FailedResourceAccessException +// Failed access to resources caused an exception. This exception currently +// only applies to DescribeScalingPolicies. It is thrown when Application Auto +// Scaling is unable to retrieve the alarms associated with a scaling policy +// due to a client error, for example, if the role ARN specified for a scalable +// target does not have the proper permissions to call the CloudWatch DescribeAlarms +// (http://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html) +// API operation on behalf of your account. +// +// * InvalidNextTokenException +// The next token supplied was invalid. +// +// * ConcurrentUpdateException +// Concurrent updates caused an exception, for example, if you request an update +// to an Application Auto Scaling resource that already has a pending update. +// +// * InternalServiceException +// The service encountered an internal error. +// +func (c *ApplicationAutoScaling) DescribeScalingPolicies(input *DescribeScalingPoliciesInput) (*DescribeScalingPoliciesOutput, error) { + req, out := c.DescribeScalingPoliciesRequest(input) + err := req.Send() + return out, err +} + +// DescribeScalingPoliciesPages iterates over the pages of a DescribeScalingPolicies operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeScalingPolicies 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 DescribeScalingPolicies operation. +// pageNum := 0 +// err := client.DescribeScalingPoliciesPages(params, +// func(page *DescribeScalingPoliciesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ApplicationAutoScaling) DescribeScalingPoliciesPages(input *DescribeScalingPoliciesInput, fn func(p *DescribeScalingPoliciesOutput, lastPage bool) (shouldContinue bool)) error { + page, _ := c.DescribeScalingPoliciesRequest(input) + page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) + return page.EachPage(func(p interface{}, lastPage bool) bool { + return fn(p.(*DescribeScalingPoliciesOutput), lastPage) + }) +} + +const opPutScalingPolicy = "PutScalingPolicy" + +// PutScalingPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutScalingPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutScalingPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutScalingPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutScalingPolicyRequest method. +// req, resp := client.PutScalingPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ApplicationAutoScaling) PutScalingPolicyRequest(input *PutScalingPolicyInput) (req *request.Request, output *PutScalingPolicyOutput) { + op := &request.Operation{ + Name: opPutScalingPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutScalingPolicyInput{} + } + + req = c.newRequest(op, input, output) + output = &PutScalingPolicyOutput{} + req.Data = output + return +} + +// PutScalingPolicy API operation for Application Auto Scaling. +// +// Creates or updates a policy for an existing Application Auto Scaling scalable +// target. Each scalable target is identified by service namespace, a resource +// ID, and a scalable dimension, and a scaling policy applies to a scalable +// target that is identified by those three attributes. You cannot create a +// scaling policy without first registering a scalable target with RegisterScalableTarget. +// +// To update an existing policy, use the existing policy name and set the parameters +// you want to change. Any existing parameter not changed in an update to an +// existing policy is not changed in this update request. +// +// You can view the existing scaling policies for a service namespace with +// DescribeScalingPolicies. If you are no longer using a scaling policy, you +// can delete it with DeleteScalingPolicy. +// +// 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 Application Auto Scaling's +// API operation PutScalingPolicy for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// An exception was thrown for a validation issue. Review the available parameters +// for the API request. +// +// * LimitExceededException +// Your account exceeded a limit. This exception is thrown when a per-account +// resource limit is exceeded. For more information, see Application Auto Scaling +// Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_as-app). +// +// * ObjectNotFoundException +// The specified object could not be found. For any Put or Register API operation, +// which depends on the existence of a scalable target, this exception is thrown +// if the scalable target with the specified service namespace, resource ID, +// and scalable dimension does not exist. For any Delete or Deregister API operation, +// this exception is thrown if the resource that is to be deleted or deregistered +// cannot be found. +// +// * ConcurrentUpdateException +// Concurrent updates caused an exception, for example, if you request an update +// to an Application Auto Scaling resource that already has a pending update. +// +// * InternalServiceException +// The service encountered an internal error. +// +func (c *ApplicationAutoScaling) PutScalingPolicy(input *PutScalingPolicyInput) (*PutScalingPolicyOutput, error) { + req, out := c.PutScalingPolicyRequest(input) + err := req.Send() + return out, err +} + +const opRegisterScalableTarget = "RegisterScalableTarget" + +// RegisterScalableTargetRequest generates a "aws/request.Request" representing the +// client's request for the RegisterScalableTarget operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RegisterScalableTarget for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RegisterScalableTarget method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RegisterScalableTargetRequest method. +// req, resp := client.RegisterScalableTargetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ApplicationAutoScaling) RegisterScalableTargetRequest(input *RegisterScalableTargetInput) (req *request.Request, output *RegisterScalableTargetOutput) { + op := &request.Operation{ + Name: opRegisterScalableTarget, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RegisterScalableTargetInput{} + } + + req = c.newRequest(op, input, output) + output = &RegisterScalableTargetOutput{} + req.Data = output + return +} + +// RegisterScalableTarget API operation for Application Auto Scaling. +// +// Registers or updates a scalable target. A scalable target is a resource that +// can be scaled out or in with Application Auto Scaling. After you have registered +// a scalable target, you can use this operation to update the minimum and maximum +// values for your scalable dimension. +// +// After you register a scalable target with Application Auto Scaling, you +// can create and apply scaling policies to it with PutScalingPolicy. You can +// view the existing scaling policies for a service namespace with DescribeScalableTargets. +// If you are no longer using a scalable target, you can deregister it with +// DeregisterScalableTarget. +// +// 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 Application Auto Scaling's +// API operation RegisterScalableTarget for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// An exception was thrown for a validation issue. Review the available parameters +// for the API request. +// +// * LimitExceededException +// Your account exceeded a limit. This exception is thrown when a per-account +// resource limit is exceeded. For more information, see Application Auto Scaling +// Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_as-app). +// +// * ConcurrentUpdateException +// Concurrent updates caused an exception, for example, if you request an update +// to an Application Auto Scaling resource that already has a pending update. +// +// * InternalServiceException +// The service encountered an internal error. +// +func (c *ApplicationAutoScaling) RegisterScalableTarget(input *RegisterScalableTargetInput) (*RegisterScalableTargetOutput, error) { + req, out := c.RegisterScalableTargetRequest(input) + err := req.Send() + return out, err +} + +// An object representing a CloudWatch alarm associated with a scaling policy. +type Alarm struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the alarm. + // + // AlarmARN is a required field + AlarmARN *string `type:"string" required:"true"` + + // The name of the alarm. + // + // AlarmName is a required field + AlarmName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s Alarm) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Alarm) GoString() string { + return s.String() +} + +type DeleteScalingPolicyInput struct { + _ struct{} `type:"structure"` + + // The name of the scaling policy to delete. + // + // PolicyName is a required field + PolicyName *string `min:"1" type:"string" required:"true"` + + // The resource type and unique identifier string for the resource associated + // with the scaling policy. For Amazon ECS services, the resource type is services, + // and the identifier is the cluster name and service name; for example, service/default/sample-webapp. + // For Amazon EC2 Spot fleet requests, the resource type is spot-fleet-request, + // and the identifier is the Spot fleet request ID; for example, spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. + // + // ResourceId is a required field + ResourceId *string `min:"1" type:"string" required:"true"` + + // The scalable dimension associated with the scaling policy. The scalable dimension + // contains the service namespace, resource type, and scaling property, such + // as ecs:service:DesiredCount for the desired task count of an Amazon ECS service, + // or ec2:spot-fleet-request:TargetCapacity for the target capacity of an Amazon + // EC2 Spot fleet request. + // + // ScalableDimension is a required field + ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` + + // The namespace for the AWS service that the scaling policy is associated with. + // For more information, see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) + // in the Amazon Web Services General Reference. + // + // ServiceNamespace is a required field + ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` +} + +// String returns the string representation +func (s DeleteScalingPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteScalingPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteScalingPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteScalingPolicyInput"} + if s.PolicyName == nil { + invalidParams.Add(request.NewErrParamRequired("PolicyName")) + } + if s.PolicyName != nil && len(*s.PolicyName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1)) + } + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + if s.ResourceId != nil && len(*s.ResourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) + } + if s.ScalableDimension == nil { + invalidParams.Add(request.NewErrParamRequired("ScalableDimension")) + } + if s.ServiceNamespace == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceNamespace")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DeleteScalingPolicyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteScalingPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteScalingPolicyOutput) GoString() string { + return s.String() +} + +type DeregisterScalableTargetInput struct { + _ struct{} `type:"structure"` + + // The resource type and unique identifier string for the resource associated + // with the scalable target. For Amazon ECS services, the resource type is services, + // and the identifier is the cluster name and service name; for example, service/default/sample-webapp. + // For Amazon EC2 Spot fleet requests, the resource type is spot-fleet-request, + // and the identifier is the Spot fleet request ID; for example, spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. + // + // ResourceId is a required field + ResourceId *string `min:"1" type:"string" required:"true"` + + // The scalable dimension associated with the scalable target. The scalable + // dimension contains the service namespace, resource type, and scaling property, + // such as ecs:service:DesiredCount for the desired task count of an Amazon + // ECS service, or ec2:spot-fleet-request:TargetCapacity for the target capacity + // of an Amazon EC2 Spot fleet request. + // + // ScalableDimension is a required field + ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` + + // The namespace for the AWS service that the scalable target is associated + // with. For more information, see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) + // in the Amazon Web Services General Reference. + // + // ServiceNamespace is a required field + ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` +} + +// String returns the string representation +func (s DeregisterScalableTargetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeregisterScalableTargetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeregisterScalableTargetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeregisterScalableTargetInput"} + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + if s.ResourceId != nil && len(*s.ResourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) + } + if s.ScalableDimension == nil { + invalidParams.Add(request.NewErrParamRequired("ScalableDimension")) + } + if s.ServiceNamespace == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceNamespace")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DeregisterScalableTargetOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeregisterScalableTargetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeregisterScalableTargetOutput) GoString() string { + return s.String() +} + +type DescribeScalableTargetsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of scalable target results returned by DescribeScalableTargets + // in paginated output. When this parameter is used, DescribeScalableTargets + // returns up to MaxResults results in a single page along with a NextToken + // response element. The remaining results of the initial request can be seen + // by sending another DescribeScalableTargets request with the returned NextToken + // value. This value can be between 1 and 50. If this parameter is not used, + // then DescribeScalableTargets returns up to 50 results and a NextToken value, + // if applicable. + MaxResults *int64 `type:"integer"` + + // The NextToken value returned from a previous paginated DescribeScalableTargets + // request. Pagination continues from the end of the previous results that returned + // the NextToken value. This value is null when there are no more results to + // return. + NextToken *string `type:"string"` + + // The resource type and unique identifier string for the resource associated + // with the scalable target. For Amazon ECS services, the resource type is services, + // and the identifier is the cluster name and service name; for example, service/default/sample-webapp. + // For Amazon EC2 Spot fleet requests, the resource type is spot-fleet-request, + // and the identifier is the Spot fleet request ID; for example, spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. + // If you specify a scalable dimension, you must also specify a resource ID. + ResourceIds []*string `type:"list"` + + // The scalable dimension associated with the scalable target. The scalable + // dimension contains the service namespace, resource type, and scaling property, + // such as ecs:service:DesiredCount for the desired task count of an Amazon + // ECS service, or ec2:spot-fleet-request:TargetCapacity for the target capacity + // of an Amazon EC2 Spot fleet request. If you specify a scalable dimension, + // you must also specify a resource ID. + ScalableDimension *string `type:"string" enum:"ScalableDimension"` + + // The namespace for the AWS service that the scalable target is associated + // with. For more information, see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) + // in the Amazon Web Services General Reference. + // + // ServiceNamespace is a required field + ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` +} + +// String returns the string representation +func (s DescribeScalableTargetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeScalableTargetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeScalableTargetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeScalableTargetsInput"} + if s.ServiceNamespace == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceNamespace")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DescribeScalableTargetsOutput struct { + _ struct{} `type:"structure"` + + // The NextToken value to include in a future DescribeScalableTargets request. + // When the results of a DescribeScalableTargets request exceed MaxResults, + // this value can be used to retrieve the next page of results. This value is + // null when there are no more results to return. + NextToken *string `type:"string"` + + // The list of scalable targets that matches the request parameters. + ScalableTargets []*ScalableTarget `type:"list"` +} + +// String returns the string representation +func (s DescribeScalableTargetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeScalableTargetsOutput) GoString() string { + return s.String() +} + +type DescribeScalingActivitiesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of scaling activity results returned by DescribeScalingActivities + // in paginated output. When this parameter is used, DescribeScalingActivities + // returns up to MaxResults results in a single page along with a NextToken + // response element. The remaining results of the initial request can be seen + // by sending another DescribeScalingActivities request with the returned NextToken + // value. This value can be between 1 and 50. If this parameter is not used, + // then DescribeScalingActivities returns up to 50 results and a NextToken value, + // if applicable. + MaxResults *int64 `type:"integer"` + + // The NextToken value returned from a previous paginated DescribeScalingActivities + // request. Pagination continues from the end of the previous results that returned + // the NextToken value. This value is null when there are no more results to + // return. + NextToken *string `type:"string"` + + // The resource type and unique identifier string for the resource associated + // with the scaling activity. For Amazon ECS services, the resource type is + // services, and the identifier is the cluster name and service name; for example, + // service/default/sample-webapp. For Amazon EC2 Spot fleet requests, the resource + // type is spot-fleet-request, and the identifier is the Spot fleet request + // ID; for example, spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. + // If you specify a scalable dimension, you must also specify a resource ID. + ResourceId *string `min:"1" type:"string"` + + // The scalable dimension associated with the scaling activity. The scalable + // dimension contains the service namespace, resource type, and scaling property, + // such as ecs:service:DesiredCount for the desired task count of an Amazon + // ECS service, or ec2:spot-fleet-request:TargetCapacity for the target capacity + // of an Amazon EC2 Spot fleet request. If you specify a scalable dimension, + // you must also specify a resource ID. + ScalableDimension *string `type:"string" enum:"ScalableDimension"` + + // The namespace for the AWS service that the scaling activity is associated + // with. For more information, see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) + // in the Amazon Web Services General Reference. + // + // ServiceNamespace is a required field + ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` +} + +// String returns the string representation +func (s DescribeScalingActivitiesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeScalingActivitiesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeScalingActivitiesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeScalingActivitiesInput"} + if s.ResourceId != nil && len(*s.ResourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) + } + if s.ServiceNamespace == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceNamespace")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DescribeScalingActivitiesOutput struct { + _ struct{} `type:"structure"` + + // The NextToken value to include in a future DescribeScalingActivities request. + // When the results of a DescribeScalingActivities request exceed MaxResults, + // this value can be used to retrieve the next page of results. This value is + // null when there are no more results to return. + NextToken *string `type:"string"` + + // A list of scaling activity objects. + ScalingActivities []*ScalingActivity `type:"list"` +} + +// String returns the string representation +func (s DescribeScalingActivitiesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeScalingActivitiesOutput) GoString() string { + return s.String() +} + +type DescribeScalingPoliciesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of scaling policy results returned by DescribeScalingPolicies + // in paginated output. When this parameter is used, DescribeScalingPolicies + // returns up to MaxResults results in a single page along with a NextToken + // response element. The remaining results of the initial request can be seen + // by sending another DescribeScalingPolicies request with the returned NextToken + // value. This value can be between 1 and 50. If this parameter is not used, + // then DescribeScalingPolicies returns up to 50 results and a NextToken value, + // if applicable. + MaxResults *int64 `type:"integer"` + + // The NextToken value returned from a previous paginated DescribeScalingPolicies + // request. Pagination continues from the end of the previous results that returned + // the NextToken value. This value is null when there are no more results to + // return. + NextToken *string `type:"string"` + + // The names of the scaling policies to describe. + PolicyNames []*string `type:"list"` + + // The unique resource identifier string of the scalable target that the scaling + // policy is associated with. For Amazon ECS services, the resource type is + // services, and the identifier is the cluster name and service name; for example, + // service/default/sample-webapp. For Amazon EC2 Spot fleet requests, the resource + // type is spot-fleet-request, and the identifier is the Spot fleet request + // ID; for example, spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. + // If you specify a scalable dimension, you must also specify a resource ID. + ResourceId *string `min:"1" type:"string"` + + // The scalable dimension of the scalable target that the scaling policy is + // associated with. The scalable dimension contains the service namespace, resource + // type, and scaling property, such as ecs:service:DesiredCount for the desired + // task count of an Amazon ECS service, or ec2:spot-fleet-request:TargetCapacity + // for the target capacity of an Amazon EC2 Spot fleet request. If you specify + // a scalable dimension, you must also specify a resource ID. + ScalableDimension *string `type:"string" enum:"ScalableDimension"` + + // The AWS service namespace of the scalable target that the scaling policy + // is associated with. For more information, see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) + // in the Amazon Web Services General Reference. + // + // ServiceNamespace is a required field + ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` +} + +// String returns the string representation +func (s DescribeScalingPoliciesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeScalingPoliciesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeScalingPoliciesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeScalingPoliciesInput"} + if s.ResourceId != nil && len(*s.ResourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) + } + if s.ServiceNamespace == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceNamespace")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DescribeScalingPoliciesOutput struct { + _ struct{} `type:"structure"` + + // The NextToken value to include in a future DescribeScalingPolicies request. + // When the results of a DescribeScalingPolicies request exceed MaxResults, + // this value can be used to retrieve the next page of results. This value is + // null when there are no more results to return. + NextToken *string `type:"string"` + + // A list of scaling policy objects. + ScalingPolicies []*ScalingPolicy `type:"list"` +} + +// String returns the string representation +func (s DescribeScalingPoliciesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeScalingPoliciesOutput) GoString() string { + return s.String() +} + +type PutScalingPolicyInput struct { + _ struct{} `type:"structure"` + + // The name of the scaling policy. + // + // PolicyName is a required field + PolicyName *string `min:"1" type:"string" required:"true"` + + // The policy type. If you are creating a new policy, this parameter is required. + // If you are updating an existing policy, this parameter is not required. + PolicyType *string `type:"string" enum:"PolicyType"` + + // The unique resource identifier string for the scalable target that this scaling + // policy applies to. For Amazon ECS services, the resource type is services, + // and the identifier is the cluster name and service name; for example, service/default/sample-webapp. + // For Amazon EC2 Spot fleet requests, the resource type is spot-fleet-request, + // and the identifier is the Spot fleet request ID; for example, spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. + // + // ResourceId is a required field + ResourceId *string `min:"1" type:"string" required:"true"` + + // The scalable dimension of the scalable target that this scaling policy applies + // to. The scalable dimension contains the service namespace, resource type, + // and scaling property, such as ecs:service:DesiredCount for the desired task + // count of an Amazon ECS service, or ec2:spot-fleet-request:TargetCapacity + // for the target capacity of an Amazon EC2 Spot fleet request. + // + // ScalableDimension is a required field + ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` + + // The AWS service namespace of the scalable target that this scaling policy + // applies to. For more information, see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) + // in the Amazon Web Services General Reference. + // + // ServiceNamespace is a required field + ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` + + // The configuration for the step scaling policy. If you are creating a new + // policy, this parameter is required. If you are updating an existing policy, + // this parameter is not required. For more information, see StepScalingPolicyConfiguration + // and StepAdjustment. + StepScalingPolicyConfiguration *StepScalingPolicyConfiguration `type:"structure"` +} + +// String returns the string representation +func (s PutScalingPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutScalingPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutScalingPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutScalingPolicyInput"} + if s.PolicyName == nil { + invalidParams.Add(request.NewErrParamRequired("PolicyName")) + } + if s.PolicyName != nil && len(*s.PolicyName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1)) + } + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + if s.ResourceId != nil && len(*s.ResourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) + } + if s.ScalableDimension == nil { + invalidParams.Add(request.NewErrParamRequired("ScalableDimension")) + } + if s.ServiceNamespace == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceNamespace")) + } + if s.StepScalingPolicyConfiguration != nil { + if err := s.StepScalingPolicyConfiguration.Validate(); err != nil { + invalidParams.AddNested("StepScalingPolicyConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type PutScalingPolicyOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resulting scaling policy. + // + // PolicyARN is a required field + PolicyARN *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s PutScalingPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutScalingPolicyOutput) GoString() string { + return s.String() +} + +type RegisterScalableTargetInput struct { + _ struct{} `type:"structure"` + + // The maximum value for this scalable target to scale out to in response to + // scaling activities. This parameter is required if you are registering a new + // scalable target, and it is optional if you are updating an existing one. + MaxCapacity *int64 `type:"integer"` + + // The minimum value for this scalable target to scale in to in response to + // scaling activities. This parameter is required if you are registering a new + // scalable target, and it is optional if you are updating an existing one. + MinCapacity *int64 `type:"integer"` + + // The resource type and unique identifier string for the resource to associate + // with the scalable target. For Amazon ECS services, the resource type is services, + // and the identifier is the cluster name and service name; for example, service/default/sample-webapp. + // For Amazon EC2 Spot fleet requests, the resource type is spot-fleet-request, + // and the identifier is the Spot fleet request ID; for example, spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. + // + // ResourceId is a required field + ResourceId *string `min:"1" type:"string" required:"true"` + + // The ARN of the IAM role that allows Application Auto Scaling to modify your + // scalable target on your behalf. This parameter is required if you are registering + // a new scalable target, and it is optional if you are updating an existing + // one. + RoleARN *string `min:"1" type:"string"` + + // The scalable dimension associated with the scalable target. The scalable + // dimension contains the service namespace, resource type, and scaling property, + // such as ecs:service:DesiredCount for the desired task count of an Amazon + // ECS service, or ec2:spot-fleet-request:TargetCapacity for the target capacity + // of an Amazon EC2 Spot fleet request. + // + // ScalableDimension is a required field + ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` + + // The namespace for the AWS service that the scalable target is associated + // with. For Amazon ECS services, the namespace value is ecs. For more information, + // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) + // in the Amazon Web Services General Reference. + // + // ServiceNamespace is a required field + ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` +} + +// String returns the string representation +func (s RegisterScalableTargetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RegisterScalableTargetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RegisterScalableTargetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RegisterScalableTargetInput"} + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + if s.ResourceId != nil && len(*s.ResourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) + } + if s.RoleARN != nil && len(*s.RoleARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) + } + if s.ScalableDimension == nil { + invalidParams.Add(request.NewErrParamRequired("ScalableDimension")) + } + if s.ServiceNamespace == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceNamespace")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type RegisterScalableTargetOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s RegisterScalableTargetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RegisterScalableTargetOutput) GoString() string { + return s.String() +} + +// An object representing a scalable target. +type ScalableTarget struct { + _ struct{} `type:"structure"` + + // The Unix timestamp for when the scalable target was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"` + + // The maximum value for this scalable target to scale out to in response to + // scaling activities. + // + // MaxCapacity is a required field + MaxCapacity *int64 `type:"integer" required:"true"` + + // The minimum value for this scalable target to scale in to in response to + // scaling activities. + // + // MinCapacity is a required field + MinCapacity *int64 `type:"integer" required:"true"` + + // The resource type and unique identifier string for the resource associated + // with the scalable target. For Amazon ECS services, the resource type is services, + // and the identifier is the cluster name and service name; for example, service/default/sample-webapp. + // For Amazon EC2 Spot fleet requests, the resource type is spot-fleet-request, + // and the identifier is the Spot fleet request ID; for example, spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. + // + // ResourceId is a required field + ResourceId *string `min:"1" type:"string" required:"true"` + + // The ARN of the IAM role that allows Application Auto Scaling to modify your + // scalable target on your behalf. + // + // RoleARN is a required field + RoleARN *string `min:"1" type:"string" required:"true"` + + // The scalable dimension associated with the scalable target. The scalable + // dimension contains the service namespace, resource type, and scaling property, + // such as ecs:service:DesiredCount for the desired task count of an Amazon + // ECS service, or ec2:spot-fleet-request:TargetCapacity for the target capacity + // of an Amazon EC2 Spot fleet request. + // + // ScalableDimension is a required field + ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` + + // The namespace for the AWS service that the scalable target is associated + // with. For more information, see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) + // in the Amazon Web Services General Reference. + // + // ServiceNamespace is a required field + ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` +} + +// String returns the string representation +func (s ScalableTarget) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ScalableTarget) GoString() string { + return s.String() +} + +// An object representing a scaling activity. +type ScalingActivity struct { + _ struct{} `type:"structure"` + + // The unique identifier string for the scaling activity. + // + // ActivityId is a required field + ActivityId *string `type:"string" required:"true"` + + // A simple description of what caused the scaling activity to happen. + // + // Cause is a required field + Cause *string `type:"string" required:"true"` + + // A simple description of what action the scaling activity intends to accomplish. + // + // Description is a required field + Description *string `type:"string" required:"true"` + + // The details about the scaling activity. + Details *string `type:"string"` + + // The Unix timestamp for when the scaling activity ended. + EndTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The resource type and unique identifier string for the resource associated + // with the scaling activity. For Amazon ECS services, the resource type is + // services, and the identifier is the cluster name and service name; for example, + // service/default/sample-webapp. For Amazon EC2 Spot fleet requests, the resource + // type is spot-fleet-request, and the identifier is the Spot fleet request + // ID; for example, spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. + // + // ResourceId is a required field + ResourceId *string `min:"1" type:"string" required:"true"` + + // The scalable dimension associated with the scaling activity. The scalable + // dimension contains the service namespace, resource type, and scaling property, + // such as ecs:service:DesiredCount for the desired task count of an Amazon + // ECS service, or ec2:spot-fleet-request:TargetCapacity for the target capacity + // of an Amazon EC2 Spot fleet request. + // + // ScalableDimension is a required field + ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` + + // The namespace for the AWS service that the scaling activity is associated + // with. For more information, see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) + // in the Amazon Web Services General Reference. + // + // ServiceNamespace is a required field + ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` + + // The Unix timestamp for when the scaling activity began. + // + // StartTime is a required field + StartTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"` + + // Indicates the status of the scaling activity. + // + // StatusCode is a required field + StatusCode *string `type:"string" required:"true" enum:"ScalingActivityStatusCode"` + + // A simple message about the current status of the scaling activity. + StatusMessage *string `type:"string"` +} + +// String returns the string representation +func (s ScalingActivity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ScalingActivity) GoString() string { + return s.String() +} + +// An object representing a scaling policy. +type ScalingPolicy struct { + _ struct{} `type:"structure"` + + // The CloudWatch alarms that are associated with the scaling policy. + Alarms []*Alarm `type:"list"` + + // The Unix timestamp for when the scaling policy was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"` + + // The Amazon Resource Name (ARN) of the scaling policy. + // + // PolicyARN is a required field + PolicyARN *string `min:"1" type:"string" required:"true"` + + // The name of the scaling policy. + // + // PolicyName is a required field + PolicyName *string `min:"1" type:"string" required:"true"` + + // The scaling policy type. + // + // PolicyType is a required field + PolicyType *string `type:"string" required:"true" enum:"PolicyType"` + + // The resource type and unique identifier string for the resource associated + // with the scaling policy. For Amazon ECS services, the resource type is services, + // and the identifier is the cluster name and service name; for example, service/default/sample-webapp. + // For Amazon EC2 Spot fleet requests, the resource type is spot-fleet-request, + // and the identifier is the Spot fleet request ID; for example, spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. + // + // ResourceId is a required field + ResourceId *string `min:"1" type:"string" required:"true"` + + // The scalable dimension associated with the scaling policy. The scalable dimension + // contains the service namespace, resource type, and scaling property, such + // as ecs:service:DesiredCount for the desired task count of an Amazon ECS service, + // or ec2:spot-fleet-request:TargetCapacity for the target capacity of an Amazon + // EC2 Spot fleet request. + // + // ScalableDimension is a required field + ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` + + // The namespace for the AWS service that the scaling policy is associated with. + // For more information, see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) + // in the Amazon Web Services General Reference. + // + // ServiceNamespace is a required field + ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` + + // The configuration for the step scaling policy. + StepScalingPolicyConfiguration *StepScalingPolicyConfiguration `type:"structure"` +} + +// String returns the string representation +func (s ScalingPolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ScalingPolicy) GoString() string { + return s.String() +} + +// An object representing a step adjustment for a StepScalingPolicyConfiguration. +// Describes an adjustment based on the difference between the value of the +// aggregated CloudWatch metric and the breach threshold that you've defined +// for the alarm. +// +// For the following examples, suppose that you have an alarm with a breach +// threshold of 50: +// +// If you want the adjustment to be triggered when the metric is greater +// than or equal to 50 and less than 60, specify a lower bound of 0 and an upper +// bound of 10. +// +// If you want the adjustment to be triggered when the metric is greater +// than 40 and less than or equal to 50, specify a lower bound of -10 and an +// upper bound of 0. +// +// There are a few rules for the step adjustments for your step policy: +// +// The ranges of your step adjustments can't overlap or have a gap. +// +// At most one step adjustment can have a null lower bound. If one step adjustment +// has a negative lower bound, then there must be a step adjustment with a null +// lower bound. +// +// At most one step adjustment can have a null upper bound. If one step adjustment +// has a positive upper bound, then there must be a step adjustment with a null +// upper bound. +// +// The upper and lower bound can't be null in the same step adjustment. +type StepAdjustment struct { + _ struct{} `type:"structure"` + + // The lower bound for the difference between the alarm threshold and the CloudWatch + // metric. If the metric value is above the breach threshold, the lower bound + // is inclusive (the metric must be greater than or equal to the threshold plus + // the lower bound). Otherwise, it is exclusive (the metric must be greater + // than the threshold plus the lower bound). A null value indicates negative + // infinity. + MetricIntervalLowerBound *float64 `type:"double"` + + // The upper bound for the difference between the alarm threshold and the CloudWatch + // metric. If the metric value is above the breach threshold, the upper bound + // is exclusive (the metric must be less than the threshold plus the upper bound). + // Otherwise, it is inclusive (the metric must be less than or equal to the + // threshold plus the upper bound). A null value indicates positive infinity. + // + // The upper bound must be greater than the lower bound. + MetricIntervalUpperBound *float64 `type:"double"` + + // The amount by which to scale, based on the specified adjustment type. A positive + // value adds to the current scalable dimension while a negative number removes + // from the current scalable dimension. + // + // ScalingAdjustment is a required field + ScalingAdjustment *int64 `type:"integer" required:"true"` +} + +// String returns the string representation +func (s StepAdjustment) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StepAdjustment) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StepAdjustment) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StepAdjustment"} + if s.ScalingAdjustment == nil { + invalidParams.Add(request.NewErrParamRequired("ScalingAdjustment")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// An object representing a step scaling policy configuration. +type StepScalingPolicyConfiguration struct { + _ struct{} `type:"structure"` + + // The adjustment type, which specifies how the ScalingAdjustment parameter + // in a StepAdjustment is interpreted. + AdjustmentType *string `type:"string" enum:"AdjustmentType"` + + // The amount of time, in seconds, after a scaling activity completes where + // previous trigger-related scaling activities can influence future scaling + // events. + // + // For scale out policies, while Cooldown is in effect, the capacity that has + // been added by the previous scale out event that initiated the Cooldown is + // calculated as part of the desired capacity for the next scale out. The intention + // is to continuously (but not excessively) scale out. For example, an alarm + // triggers a step scaling policy to scale out an Amazon ECS service by 2 tasks, + // the scaling activity completes successfully, and a Cooldown period of 5 minutes + // starts. During the Cooldown period, if the alarm triggers the same policy + // again but at a more aggressive step adjustment to scale out the service by + // 3 tasks, the 2 tasks that were added in the previous scale out event are + // considered part of that capacity and only 1 additional task is added to the + // desired count. + // + // For scale in policies, the Cooldown period is used to block subsequent scale + // in requests until it has expired. The intention is to scale in conservatively + // to protect your application's availability. However, if another alarm triggers + // a scale out policy during the Cooldown period after a scale-in, Application + // Auto Scaling scales out your scalable target immediately. + Cooldown *int64 `type:"integer"` + + // The aggregation type for the CloudWatch metrics. Valid values are Minimum, + // Maximum, and Average. + MetricAggregationType *string `type:"string" enum:"MetricAggregationType"` + + // The minimum number to adjust your scalable dimension as a result of a scaling + // activity. If the adjustment type is PercentChangeInCapacity, the scaling + // policy changes the scalable dimension of the scalable target by this amount. + MinAdjustmentMagnitude *int64 `type:"integer"` + + // A set of adjustments that enable you to scale based on the size of the alarm + // breach. + StepAdjustments []*StepAdjustment `type:"list"` +} + +// String returns the string representation +func (s StepScalingPolicyConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StepScalingPolicyConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StepScalingPolicyConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StepScalingPolicyConfiguration"} + if s.StepAdjustments != nil { + for i, v := range s.StepAdjustments { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StepAdjustments", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +const ( + // AdjustmentTypeChangeInCapacity is a AdjustmentType enum value + AdjustmentTypeChangeInCapacity = "ChangeInCapacity" + + // AdjustmentTypePercentChangeInCapacity is a AdjustmentType enum value + AdjustmentTypePercentChangeInCapacity = "PercentChangeInCapacity" + + // AdjustmentTypeExactCapacity is a AdjustmentType enum value + AdjustmentTypeExactCapacity = "ExactCapacity" +) + +const ( + // MetricAggregationTypeAverage is a MetricAggregationType enum value + MetricAggregationTypeAverage = "Average" + + // MetricAggregationTypeMinimum is a MetricAggregationType enum value + MetricAggregationTypeMinimum = "Minimum" + + // MetricAggregationTypeMaximum is a MetricAggregationType enum value + MetricAggregationTypeMaximum = "Maximum" +) + +const ( + // PolicyTypeStepScaling is a PolicyType enum value + PolicyTypeStepScaling = "StepScaling" +) + +const ( + // ScalableDimensionEcsServiceDesiredCount is a ScalableDimension enum value + ScalableDimensionEcsServiceDesiredCount = "ecs:service:DesiredCount" + + // ScalableDimensionEc2SpotFleetRequestTargetCapacity is a ScalableDimension enum value + ScalableDimensionEc2SpotFleetRequestTargetCapacity = "ec2:spot-fleet-request:TargetCapacity" +) + +const ( + // ScalingActivityStatusCodePending is a ScalingActivityStatusCode enum value + ScalingActivityStatusCodePending = "Pending" + + // ScalingActivityStatusCodeInProgress is a ScalingActivityStatusCode enum value + ScalingActivityStatusCodeInProgress = "InProgress" + + // ScalingActivityStatusCodeSuccessful is a ScalingActivityStatusCode enum value + ScalingActivityStatusCodeSuccessful = "Successful" + + // ScalingActivityStatusCodeOverridden is a ScalingActivityStatusCode enum value + ScalingActivityStatusCodeOverridden = "Overridden" + + // ScalingActivityStatusCodeUnfulfilled is a ScalingActivityStatusCode enum value + ScalingActivityStatusCodeUnfulfilled = "Unfulfilled" + + // ScalingActivityStatusCodeFailed is a ScalingActivityStatusCode enum value + ScalingActivityStatusCodeFailed = "Failed" +) + +const ( + // ServiceNamespaceEcs is a ServiceNamespace enum value + ServiceNamespaceEcs = "ecs" + + // ServiceNamespaceEc2 is a ServiceNamespace enum value + ServiceNamespaceEc2 = "ec2" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go b/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go index 87ee5ab6e142..2f40e8506480 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go @@ -15,7 +15,30 @@ import ( const opAttachInstances = "AttachInstances" -// AttachInstancesRequest generates a request for the AttachInstances operation. +// AttachInstancesRequest generates a "aws/request.Request" representing the +// client's request for the AttachInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AttachInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AttachInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AttachInstancesRequest method. +// req, resp := client.AttachInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) AttachInstancesRequest(input *AttachInstancesInput) (req *request.Request, output *AttachInstancesOutput) { op := &request.Operation{ Name: opAttachInstances, @@ -35,6 +58,8 @@ func (c *AutoScaling) AttachInstancesRequest(input *AttachInstancesInput) (req * return } +// AttachInstances API operation for Auto Scaling. +// // Attaches one or more EC2 instances to the specified Auto Scaling group. // // When you attach instances, Auto Scaling increases the desired capacity of @@ -42,18 +67,131 @@ func (c *AutoScaling) AttachInstancesRequest(input *AttachInstancesInput) (req * // being attached plus the desired capacity of the group exceeds the maximum // size of the group, the operation fails. // +// If there is a Classic load balancer attached to your Auto Scaling group, +// the instances are also registered with the load balancer. If there are target +// groups attached to your Auto Scaling group, the instances are also registered +// with the target groups. +// // For more information, see Attach EC2 Instances to Your Auto Scaling Group // (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/attach-instance-asg.html) -// in the Auto Scaling Developer Guide. +// in the Auto Scaling 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 +// the error. +// +// See the AWS API reference guide for Auto Scaling's +// API operation AttachInstances for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) AttachInstances(input *AttachInstancesInput) (*AttachInstancesOutput, error) { req, out := c.AttachInstancesRequest(input) err := req.Send() return out, err } +const opAttachLoadBalancerTargetGroups = "AttachLoadBalancerTargetGroups" + +// AttachLoadBalancerTargetGroupsRequest generates a "aws/request.Request" representing the +// client's request for the AttachLoadBalancerTargetGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AttachLoadBalancerTargetGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AttachLoadBalancerTargetGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AttachLoadBalancerTargetGroupsRequest method. +// req, resp := client.AttachLoadBalancerTargetGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *AutoScaling) AttachLoadBalancerTargetGroupsRequest(input *AttachLoadBalancerTargetGroupsInput) (req *request.Request, output *AttachLoadBalancerTargetGroupsOutput) { + op := &request.Operation{ + Name: opAttachLoadBalancerTargetGroups, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AttachLoadBalancerTargetGroupsInput{} + } + + req = c.newRequest(op, input, output) + output = &AttachLoadBalancerTargetGroupsOutput{} + req.Data = output + return +} + +// AttachLoadBalancerTargetGroups API operation for Auto Scaling. +// +// Attaches one or more target groups to the specified Auto Scaling group. +// +// To describe the target groups for an Auto Scaling group, use DescribeLoadBalancerTargetGroups. +// To detach the target group from the Auto Scaling group, use DetachLoadBalancerTargetGroups. +// +// For more information, see Attach a Load Balancer to Your Auto Scaling Group +// (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/attach-load-balancer-asg.html) +// in the Auto Scaling 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 +// the error. +// +// See the AWS API reference guide for Auto Scaling's +// API operation AttachLoadBalancerTargetGroups for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// +func (c *AutoScaling) AttachLoadBalancerTargetGroups(input *AttachLoadBalancerTargetGroupsInput) (*AttachLoadBalancerTargetGroupsOutput, error) { + req, out := c.AttachLoadBalancerTargetGroupsRequest(input) + err := req.Send() + return out, err +} + const opAttachLoadBalancers = "AttachLoadBalancers" -// AttachLoadBalancersRequest generates a request for the AttachLoadBalancers operation. +// AttachLoadBalancersRequest generates a "aws/request.Request" representing the +// client's request for the AttachLoadBalancers operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AttachLoadBalancers for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AttachLoadBalancers method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AttachLoadBalancersRequest method. +// req, resp := client.AttachLoadBalancersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) AttachLoadBalancersRequest(input *AttachLoadBalancersInput) (req *request.Request, output *AttachLoadBalancersOutput) { op := &request.Operation{ Name: opAttachLoadBalancers, @@ -71,14 +209,32 @@ func (c *AutoScaling) AttachLoadBalancersRequest(input *AttachLoadBalancersInput return } -// Attaches one or more load balancers to the specified Auto Scaling group. +// AttachLoadBalancers API operation for Auto Scaling. +// +// Attaches one or more Classic load balancers to the specified Auto Scaling +// group. +// +// To attach an Application load balancer instead, see AttachLoadBalancerTargetGroups. // // To describe the load balancers for an Auto Scaling group, use DescribeLoadBalancers. // To detach the load balancer from the Auto Scaling group, use DetachLoadBalancers. // // For more information, see Attach a Load Balancer to Your Auto Scaling Group // (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/attach-load-balancer-asg.html) -// in the Auto Scaling Developer Guide. +// in the Auto Scaling 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 +// the error. +// +// See the AWS API reference guide for Auto Scaling's +// API operation AttachLoadBalancers for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) AttachLoadBalancers(input *AttachLoadBalancersInput) (*AttachLoadBalancersOutput, error) { req, out := c.AttachLoadBalancersRequest(input) err := req.Send() @@ -87,7 +243,30 @@ func (c *AutoScaling) AttachLoadBalancers(input *AttachLoadBalancersInput) (*Att const opCompleteLifecycleAction = "CompleteLifecycleAction" -// CompleteLifecycleActionRequest generates a request for the CompleteLifecycleAction operation. +// CompleteLifecycleActionRequest generates a "aws/request.Request" representing the +// client's request for the CompleteLifecycleAction operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CompleteLifecycleAction for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CompleteLifecycleAction method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CompleteLifecycleActionRequest method. +// req, resp := client.CompleteLifecycleActionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) CompleteLifecycleActionRequest(input *CompleteLifecycleActionInput) (req *request.Request, output *CompleteLifecycleActionOutput) { op := &request.Operation{ Name: opCompleteLifecycleAction, @@ -105,23 +284,46 @@ func (c *AutoScaling) CompleteLifecycleActionRequest(input *CompleteLifecycleAct return } +// CompleteLifecycleAction API operation for Auto Scaling. +// // Completes the lifecycle action for the specified token or instance with the // specified result. // // This step is a part of the procedure for adding a lifecycle hook to an Auto // Scaling group: // -// (Optional) Create a Lambda function and a rule that allows CloudWatch Events -// to invoke your Lambda function when Auto Scaling launches or terminates instances. -// (Optional) Create a notification target and an IAM role. The target can be -// either an Amazon SQS queue or an Amazon SNS topic. The role allows Auto Scaling -// to publish lifecycle notifications to the target. Create the lifecycle hook. -// Specify whether the hook is used when the instances launch or terminate. -// If you need more time, record the lifecycle action heartbeat to keep the -// instance in a pending state. If you finish before the timeout period ends, -// complete the lifecycle action. For more information, see Auto Scaling Lifecycle -// (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroupLifecycle.html) -// in the Auto Scaling Developer Guide. +// (Optional) Create a Lambda function and a rule that allows CloudWatch +// Events to invoke your Lambda function when Auto Scaling launches or terminates +// instances. +// +// (Optional) Create a notification target and an IAM role. The target can +// be either an Amazon SQS queue or an Amazon SNS topic. The role allows Auto +// Scaling to publish lifecycle notifications to the target. +// +// Create the lifecycle hook. Specify whether the hook is used when the instances +// launch or terminate. +// +// If you need more time, record the lifecycle action heartbeat to keep the +// instance in a pending state. +// +// If you finish before the timeout period ends, complete the lifecycle +// action. +// +// For more information, see Auto Scaling Lifecycle (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroupLifecycle.html) +// in the Auto Scaling 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 +// the error. +// +// See the AWS API reference guide for Auto Scaling's +// API operation CompleteLifecycleAction for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) CompleteLifecycleAction(input *CompleteLifecycleActionInput) (*CompleteLifecycleActionOutput, error) { req, out := c.CompleteLifecycleActionRequest(input) err := req.Send() @@ -130,7 +332,30 @@ func (c *AutoScaling) CompleteLifecycleAction(input *CompleteLifecycleActionInpu const opCreateAutoScalingGroup = "CreateAutoScalingGroup" -// CreateAutoScalingGroupRequest generates a request for the CreateAutoScalingGroup operation. +// CreateAutoScalingGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateAutoScalingGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateAutoScalingGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateAutoScalingGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateAutoScalingGroupRequest method. +// req, resp := client.CreateAutoScalingGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) CreateAutoScalingGroupRequest(input *CreateAutoScalingGroupInput) (req *request.Request, output *CreateAutoScalingGroupOutput) { op := &request.Operation{ Name: opCreateAutoScalingGroup, @@ -150,6 +375,8 @@ func (c *AutoScaling) CreateAutoScalingGroupRequest(input *CreateAutoScalingGrou return } +// CreateAutoScalingGroup API operation for Auto Scaling. +// // Creates an Auto Scaling group with the specified name and attributes. // // If you exceed your maximum limit of Auto Scaling groups, which by default @@ -157,7 +384,29 @@ func (c *AutoScaling) CreateAutoScalingGroupRequest(input *CreateAutoScalingGrou // this limit, see DescribeAccountLimits. // // For more information, see Auto Scaling Groups (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroup.html) -// in the Auto Scaling Developer Guide. +// in the Auto Scaling 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 +// the error. +// +// See the AWS API reference guide for Auto Scaling's +// API operation CreateAutoScalingGroup for usage and error information. +// +// Returned Error Codes: +// * AlreadyExists +// You already have an Auto Scaling group or launch configuration with this +// name. +// +// * LimitExceeded +// You have already reached a limit for your Auto Scaling resources (for example, +// groups, launch configurations, or lifecycle hooks). For more information, +// see DescribeAccountLimits. +// +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) CreateAutoScalingGroup(input *CreateAutoScalingGroupInput) (*CreateAutoScalingGroupOutput, error) { req, out := c.CreateAutoScalingGroupRequest(input) err := req.Send() @@ -166,7 +415,30 @@ func (c *AutoScaling) CreateAutoScalingGroup(input *CreateAutoScalingGroupInput) const opCreateLaunchConfiguration = "CreateLaunchConfiguration" -// CreateLaunchConfigurationRequest generates a request for the CreateLaunchConfiguration operation. +// CreateLaunchConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the CreateLaunchConfiguration operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateLaunchConfiguration for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateLaunchConfiguration method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateLaunchConfigurationRequest method. +// req, resp := client.CreateLaunchConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) CreateLaunchConfigurationRequest(input *CreateLaunchConfigurationInput) (req *request.Request, output *CreateLaunchConfigurationOutput) { op := &request.Operation{ Name: opCreateLaunchConfiguration, @@ -186,6 +458,8 @@ func (c *AutoScaling) CreateLaunchConfigurationRequest(input *CreateLaunchConfig return } +// CreateLaunchConfiguration API operation for Auto Scaling. +// // Creates a launch configuration. // // If you exceed your maximum limit of launch configurations, which by default @@ -193,7 +467,29 @@ func (c *AutoScaling) CreateLaunchConfigurationRequest(input *CreateLaunchConfig // this limit, see DescribeAccountLimits. // // For more information, see Launch Configurations (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/LaunchConfiguration.html) -// in the Auto Scaling Developer Guide. +// in the Auto Scaling 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 +// the error. +// +// See the AWS API reference guide for Auto Scaling's +// API operation CreateLaunchConfiguration for usage and error information. +// +// Returned Error Codes: +// * AlreadyExists +// You already have an Auto Scaling group or launch configuration with this +// name. +// +// * LimitExceeded +// You have already reached a limit for your Auto Scaling resources (for example, +// groups, launch configurations, or lifecycle hooks). For more information, +// see DescribeAccountLimits. +// +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) CreateLaunchConfiguration(input *CreateLaunchConfigurationInput) (*CreateLaunchConfigurationOutput, error) { req, out := c.CreateLaunchConfigurationRequest(input) err := req.Send() @@ -202,7 +498,30 @@ func (c *AutoScaling) CreateLaunchConfiguration(input *CreateLaunchConfiguration const opCreateOrUpdateTags = "CreateOrUpdateTags" -// CreateOrUpdateTagsRequest generates a request for the CreateOrUpdateTags operation. +// CreateOrUpdateTagsRequest generates a "aws/request.Request" representing the +// client's request for the CreateOrUpdateTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateOrUpdateTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateOrUpdateTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateOrUpdateTagsRequest method. +// req, resp := client.CreateOrUpdateTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) CreateOrUpdateTagsRequest(input *CreateOrUpdateTagsInput) (req *request.Request, output *CreateOrUpdateTagsOutput) { op := &request.Operation{ Name: opCreateOrUpdateTags, @@ -222,13 +541,37 @@ func (c *AutoScaling) CreateOrUpdateTagsRequest(input *CreateOrUpdateTagsInput) return } +// CreateOrUpdateTags API operation for Auto Scaling. +// // Creates or updates tags for the specified Auto Scaling group. // // When you specify a tag with a key that already exists, the operation overwrites // the previous tag definition, and you do not get an error message. // // For more information, see Tagging Auto Scaling Groups and Instances (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/ASTagging.html) -// in the Auto Scaling Developer Guide. +// in the Auto Scaling 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 +// the error. +// +// See the AWS API reference guide for Auto Scaling's +// API operation CreateOrUpdateTags for usage and error information. +// +// Returned Error Codes: +// * LimitExceeded +// You have already reached a limit for your Auto Scaling resources (for example, +// groups, launch configurations, or lifecycle hooks). For more information, +// see DescribeAccountLimits. +// +// * AlreadyExists +// You already have an Auto Scaling group or launch configuration with this +// name. +// +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) CreateOrUpdateTags(input *CreateOrUpdateTagsInput) (*CreateOrUpdateTagsOutput, error) { req, out := c.CreateOrUpdateTagsRequest(input) err := req.Send() @@ -237,7 +580,30 @@ func (c *AutoScaling) CreateOrUpdateTags(input *CreateOrUpdateTagsInput) (*Creat const opDeleteAutoScalingGroup = "DeleteAutoScalingGroup" -// DeleteAutoScalingGroupRequest generates a request for the DeleteAutoScalingGroup operation. +// DeleteAutoScalingGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAutoScalingGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteAutoScalingGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteAutoScalingGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteAutoScalingGroupRequest method. +// req, resp := client.DeleteAutoScalingGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) DeleteAutoScalingGroupRequest(input *DeleteAutoScalingGroupInput) (req *request.Request, output *DeleteAutoScalingGroupOutput) { op := &request.Operation{ Name: opDeleteAutoScalingGroup, @@ -257,6 +623,8 @@ func (c *AutoScaling) DeleteAutoScalingGroupRequest(input *DeleteAutoScalingGrou return } +// DeleteAutoScalingGroup API operation for Auto Scaling. +// // Deletes the specified Auto Scaling group. // // If the group has instances or scaling activities in progress, you must specify @@ -273,6 +641,26 @@ func (c *AutoScaling) DeleteAutoScalingGroupRequest(input *DeleteAutoScalingGrou // To terminate all instances before deleting the Auto Scaling group, call // UpdateAutoScalingGroup and set the minimum size and desired capacity of the // Auto Scaling group to zero. +// +// 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 Auto Scaling's +// API operation DeleteAutoScalingGroup for usage and error information. +// +// Returned Error Codes: +// * ScalingActivityInProgress +// The operation can't be performed because there are scaling activities in +// progress. +// +// * ResourceInUse +// The operation can't be performed because the resource is in use. +// +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) DeleteAutoScalingGroup(input *DeleteAutoScalingGroupInput) (*DeleteAutoScalingGroupOutput, error) { req, out := c.DeleteAutoScalingGroupRequest(input) err := req.Send() @@ -281,7 +669,30 @@ func (c *AutoScaling) DeleteAutoScalingGroup(input *DeleteAutoScalingGroupInput) const opDeleteLaunchConfiguration = "DeleteLaunchConfiguration" -// DeleteLaunchConfigurationRequest generates a request for the DeleteLaunchConfiguration operation. +// DeleteLaunchConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteLaunchConfiguration operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteLaunchConfiguration for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteLaunchConfiguration method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteLaunchConfigurationRequest method. +// req, resp := client.DeleteLaunchConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) DeleteLaunchConfigurationRequest(input *DeleteLaunchConfigurationInput) (req *request.Request, output *DeleteLaunchConfigurationOutput) { op := &request.Operation{ Name: opDeleteLaunchConfiguration, @@ -301,11 +712,29 @@ func (c *AutoScaling) DeleteLaunchConfigurationRequest(input *DeleteLaunchConfig return } +// DeleteLaunchConfiguration API operation for Auto Scaling. +// // Deletes the specified launch configuration. // // The launch configuration must not be attached to an Auto Scaling group. // When this call completes, the launch configuration is no longer available // for use. +// +// 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 Auto Scaling's +// API operation DeleteLaunchConfiguration for usage and error information. +// +// Returned Error Codes: +// * ResourceInUse +// The operation can't be performed because the resource is in use. +// +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) DeleteLaunchConfiguration(input *DeleteLaunchConfigurationInput) (*DeleteLaunchConfigurationOutput, error) { req, out := c.DeleteLaunchConfigurationRequest(input) err := req.Send() @@ -314,7 +743,30 @@ func (c *AutoScaling) DeleteLaunchConfiguration(input *DeleteLaunchConfiguration const opDeleteLifecycleHook = "DeleteLifecycleHook" -// DeleteLifecycleHookRequest generates a request for the DeleteLifecycleHook operation. +// DeleteLifecycleHookRequest generates a "aws/request.Request" representing the +// client's request for the DeleteLifecycleHook operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteLifecycleHook for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteLifecycleHook method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteLifecycleHookRequest method. +// req, resp := client.DeleteLifecycleHookRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) DeleteLifecycleHookRequest(input *DeleteLifecycleHookInput) (req *request.Request, output *DeleteLifecycleHookOutput) { op := &request.Operation{ Name: opDeleteLifecycleHook, @@ -332,10 +784,25 @@ func (c *AutoScaling) DeleteLifecycleHookRequest(input *DeleteLifecycleHookInput return } +// DeleteLifecycleHook API operation for Auto Scaling. +// // Deletes the specified lifecycle hook. // // If there are any outstanding lifecycle actions, they are completed first // (ABANDON for launching instances, CONTINUE for terminating instances). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Auto Scaling's +// API operation DeleteLifecycleHook for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) DeleteLifecycleHook(input *DeleteLifecycleHookInput) (*DeleteLifecycleHookOutput, error) { req, out := c.DeleteLifecycleHookRequest(input) err := req.Send() @@ -344,7 +811,30 @@ func (c *AutoScaling) DeleteLifecycleHook(input *DeleteLifecycleHookInput) (*Del const opDeleteNotificationConfiguration = "DeleteNotificationConfiguration" -// DeleteNotificationConfigurationRequest generates a request for the DeleteNotificationConfiguration operation. +// DeleteNotificationConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteNotificationConfiguration operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteNotificationConfiguration for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteNotificationConfiguration method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteNotificationConfigurationRequest method. +// req, resp := client.DeleteNotificationConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) DeleteNotificationConfigurationRequest(input *DeleteNotificationConfigurationInput) (req *request.Request, output *DeleteNotificationConfigurationOutput) { op := &request.Operation{ Name: opDeleteNotificationConfiguration, @@ -364,7 +854,22 @@ func (c *AutoScaling) DeleteNotificationConfigurationRequest(input *DeleteNotifi return } +// DeleteNotificationConfiguration API operation for Auto Scaling. +// // Deletes the specified notification. +// +// 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 Auto Scaling's +// API operation DeleteNotificationConfiguration for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) DeleteNotificationConfiguration(input *DeleteNotificationConfigurationInput) (*DeleteNotificationConfigurationOutput, error) { req, out := c.DeleteNotificationConfigurationRequest(input) err := req.Send() @@ -373,7 +878,30 @@ func (c *AutoScaling) DeleteNotificationConfiguration(input *DeleteNotificationC const opDeletePolicy = "DeletePolicy" -// DeletePolicyRequest generates a request for the DeletePolicy operation. +// DeletePolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeletePolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeletePolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeletePolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeletePolicyRequest method. +// req, resp := client.DeletePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) DeletePolicyRequest(input *DeletePolicyInput) (req *request.Request, output *DeletePolicyOutput) { op := &request.Operation{ Name: opDeletePolicy, @@ -393,10 +921,25 @@ func (c *AutoScaling) DeletePolicyRequest(input *DeletePolicyInput) (req *reques return } +// DeletePolicy API operation for Auto Scaling. +// // Deletes the specified Auto Scaling policy. // // Deleting a policy deletes the underlying alarm action, but does not delete // the alarm, even if it no longer has an associated action. +// +// 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 Auto Scaling's +// API operation DeletePolicy for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) DeletePolicy(input *DeletePolicyInput) (*DeletePolicyOutput, error) { req, out := c.DeletePolicyRequest(input) err := req.Send() @@ -405,7 +948,30 @@ func (c *AutoScaling) DeletePolicy(input *DeletePolicyInput) (*DeletePolicyOutpu const opDeleteScheduledAction = "DeleteScheduledAction" -// DeleteScheduledActionRequest generates a request for the DeleteScheduledAction operation. +// DeleteScheduledActionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteScheduledAction operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteScheduledAction for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteScheduledAction method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteScheduledActionRequest method. +// req, resp := client.DeleteScheduledActionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) DeleteScheduledActionRequest(input *DeleteScheduledActionInput) (req *request.Request, output *DeleteScheduledActionOutput) { op := &request.Operation{ Name: opDeleteScheduledAction, @@ -425,7 +991,22 @@ func (c *AutoScaling) DeleteScheduledActionRequest(input *DeleteScheduledActionI return } +// DeleteScheduledAction API operation for Auto Scaling. +// // Deletes the specified scheduled action. +// +// 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 Auto Scaling's +// API operation DeleteScheduledAction for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) DeleteScheduledAction(input *DeleteScheduledActionInput) (*DeleteScheduledActionOutput, error) { req, out := c.DeleteScheduledActionRequest(input) err := req.Send() @@ -434,7 +1015,30 @@ func (c *AutoScaling) DeleteScheduledAction(input *DeleteScheduledActionInput) ( const opDeleteTags = "DeleteTags" -// DeleteTagsRequest generates a request for the DeleteTags operation. +// DeleteTagsRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteTagsRequest method. +// req, resp := client.DeleteTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) { op := &request.Operation{ Name: opDeleteTags, @@ -454,7 +1058,22 @@ func (c *AutoScaling) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Re return } +// DeleteTags API operation for Auto Scaling. +// // Deletes the specified tags. +// +// 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 Auto Scaling's +// API operation DeleteTags for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) { req, out := c.DeleteTagsRequest(input) err := req.Send() @@ -463,7 +1082,30 @@ func (c *AutoScaling) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, err const opDescribeAccountLimits = "DescribeAccountLimits" -// DescribeAccountLimitsRequest generates a request for the DescribeAccountLimits operation. +// DescribeAccountLimitsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAccountLimits operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeAccountLimits for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeAccountLimits method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeAccountLimitsRequest method. +// req, resp := client.DescribeAccountLimitsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) DescribeAccountLimitsRequest(input *DescribeAccountLimitsInput) (req *request.Request, output *DescribeAccountLimitsOutput) { op := &request.Operation{ Name: opDescribeAccountLimits, @@ -481,11 +1123,26 @@ func (c *AutoScaling) DescribeAccountLimitsRequest(input *DescribeAccountLimitsI return } +// DescribeAccountLimits API operation for Auto Scaling. +// // Describes the current Auto Scaling resource limits for your AWS account. // // For information about requesting an increase in these limits, see AWS Service // Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) // in the Amazon Web Services General Reference. +// +// 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 Auto Scaling's +// API operation DescribeAccountLimits for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) DescribeAccountLimits(input *DescribeAccountLimitsInput) (*DescribeAccountLimitsOutput, error) { req, out := c.DescribeAccountLimitsRequest(input) err := req.Send() @@ -494,7 +1151,30 @@ func (c *AutoScaling) DescribeAccountLimits(input *DescribeAccountLimitsInput) ( const opDescribeAdjustmentTypes = "DescribeAdjustmentTypes" -// DescribeAdjustmentTypesRequest generates a request for the DescribeAdjustmentTypes operation. +// DescribeAdjustmentTypesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAdjustmentTypes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeAdjustmentTypes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeAdjustmentTypes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeAdjustmentTypesRequest method. +// req, resp := client.DescribeAdjustmentTypesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) DescribeAdjustmentTypesRequest(input *DescribeAdjustmentTypesInput) (req *request.Request, output *DescribeAdjustmentTypesOutput) { op := &request.Operation{ Name: opDescribeAdjustmentTypes, @@ -512,7 +1192,22 @@ func (c *AutoScaling) DescribeAdjustmentTypesRequest(input *DescribeAdjustmentTy return } +// DescribeAdjustmentTypes API operation for Auto Scaling. +// // Describes the policy adjustment types for use with PutScalingPolicy. +// +// 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 Auto Scaling's +// API operation DescribeAdjustmentTypes for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) DescribeAdjustmentTypes(input *DescribeAdjustmentTypesInput) (*DescribeAdjustmentTypesOutput, error) { req, out := c.DescribeAdjustmentTypesRequest(input) err := req.Send() @@ -521,7 +1216,30 @@ func (c *AutoScaling) DescribeAdjustmentTypes(input *DescribeAdjustmentTypesInpu const opDescribeAutoScalingGroups = "DescribeAutoScalingGroups" -// DescribeAutoScalingGroupsRequest generates a request for the DescribeAutoScalingGroups operation. +// DescribeAutoScalingGroupsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAutoScalingGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeAutoScalingGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeAutoScalingGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeAutoScalingGroupsRequest method. +// req, resp := client.DescribeAutoScalingGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) DescribeAutoScalingGroupsRequest(input *DescribeAutoScalingGroupsInput) (req *request.Request, output *DescribeAutoScalingGroupsOutput) { op := &request.Operation{ Name: opDescribeAutoScalingGroups, @@ -545,14 +1263,48 @@ func (c *AutoScaling) DescribeAutoScalingGroupsRequest(input *DescribeAutoScalin return } -// Describes one or more Auto Scaling groups. If a list of names is not provided, -// the call describes all Auto Scaling groups. +// DescribeAutoScalingGroups API operation for Auto Scaling. +// +// Describes one or more Auto Scaling groups. +// +// 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 Auto Scaling's +// API operation DescribeAutoScalingGroups for usage and error information. +// +// Returned Error Codes: +// * InvalidNextToken +// The NextToken value is not valid. +// +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) DescribeAutoScalingGroups(input *DescribeAutoScalingGroupsInput) (*DescribeAutoScalingGroupsOutput, error) { req, out := c.DescribeAutoScalingGroupsRequest(input) err := req.Send() return out, err } +// DescribeAutoScalingGroupsPages iterates over the pages of a DescribeAutoScalingGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeAutoScalingGroups 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 DescribeAutoScalingGroups operation. +// pageNum := 0 +// err := client.DescribeAutoScalingGroupsPages(params, +// func(page *DescribeAutoScalingGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *AutoScaling) DescribeAutoScalingGroupsPages(input *DescribeAutoScalingGroupsInput, fn func(p *DescribeAutoScalingGroupsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeAutoScalingGroupsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -563,7 +1315,30 @@ func (c *AutoScaling) DescribeAutoScalingGroupsPages(input *DescribeAutoScalingG const opDescribeAutoScalingInstances = "DescribeAutoScalingInstances" -// DescribeAutoScalingInstancesRequest generates a request for the DescribeAutoScalingInstances operation. +// DescribeAutoScalingInstancesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAutoScalingInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeAutoScalingInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeAutoScalingInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeAutoScalingInstancesRequest method. +// req, resp := client.DescribeAutoScalingInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) DescribeAutoScalingInstancesRequest(input *DescribeAutoScalingInstancesInput) (req *request.Request, output *DescribeAutoScalingInstancesOutput) { op := &request.Operation{ Name: opDescribeAutoScalingInstances, @@ -587,14 +1362,48 @@ func (c *AutoScaling) DescribeAutoScalingInstancesRequest(input *DescribeAutoSca return } -// Describes one or more Auto Scaling instances. If a list is not provided, -// the call describes all instances. +// DescribeAutoScalingInstances API operation for Auto Scaling. +// +// Describes one or more Auto Scaling instances. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Auto Scaling's +// API operation DescribeAutoScalingInstances for usage and error information. +// +// Returned Error Codes: +// * InvalidNextToken +// The NextToken value is not valid. +// +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) DescribeAutoScalingInstances(input *DescribeAutoScalingInstancesInput) (*DescribeAutoScalingInstancesOutput, error) { req, out := c.DescribeAutoScalingInstancesRequest(input) err := req.Send() return out, err } +// DescribeAutoScalingInstancesPages iterates over the pages of a DescribeAutoScalingInstances operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeAutoScalingInstances 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 DescribeAutoScalingInstances operation. +// pageNum := 0 +// err := client.DescribeAutoScalingInstancesPages(params, +// func(page *DescribeAutoScalingInstancesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *AutoScaling) DescribeAutoScalingInstancesPages(input *DescribeAutoScalingInstancesInput, fn func(p *DescribeAutoScalingInstancesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeAutoScalingInstancesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -605,7 +1414,30 @@ func (c *AutoScaling) DescribeAutoScalingInstancesPages(input *DescribeAutoScali const opDescribeAutoScalingNotificationTypes = "DescribeAutoScalingNotificationTypes" -// DescribeAutoScalingNotificationTypesRequest generates a request for the DescribeAutoScalingNotificationTypes operation. +// DescribeAutoScalingNotificationTypesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAutoScalingNotificationTypes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeAutoScalingNotificationTypes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeAutoScalingNotificationTypes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeAutoScalingNotificationTypesRequest method. +// req, resp := client.DescribeAutoScalingNotificationTypesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) DescribeAutoScalingNotificationTypesRequest(input *DescribeAutoScalingNotificationTypesInput) (req *request.Request, output *DescribeAutoScalingNotificationTypesOutput) { op := &request.Operation{ Name: opDescribeAutoScalingNotificationTypes, @@ -623,8 +1455,23 @@ func (c *AutoScaling) DescribeAutoScalingNotificationTypesRequest(input *Describ return } +// DescribeAutoScalingNotificationTypes API operation for Auto Scaling. +// // Describes the notification types that are supported by Auto Scaling. -func (c *AutoScaling) DescribeAutoScalingNotificationTypes(input *DescribeAutoScalingNotificationTypesInput) (*DescribeAutoScalingNotificationTypesOutput, error) { +// +// 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 Auto Scaling's +// API operation DescribeAutoScalingNotificationTypes for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// +func (c *AutoScaling) DescribeAutoScalingNotificationTypes(input *DescribeAutoScalingNotificationTypesInput) (*DescribeAutoScalingNotificationTypesOutput, error) { req, out := c.DescribeAutoScalingNotificationTypesRequest(input) err := req.Send() return out, err @@ -632,7 +1479,30 @@ func (c *AutoScaling) DescribeAutoScalingNotificationTypes(input *DescribeAutoSc const opDescribeLaunchConfigurations = "DescribeLaunchConfigurations" -// DescribeLaunchConfigurationsRequest generates a request for the DescribeLaunchConfigurations operation. +// DescribeLaunchConfigurationsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeLaunchConfigurations operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeLaunchConfigurations for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeLaunchConfigurations method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeLaunchConfigurationsRequest method. +// req, resp := client.DescribeLaunchConfigurationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) DescribeLaunchConfigurationsRequest(input *DescribeLaunchConfigurationsInput) (req *request.Request, output *DescribeLaunchConfigurationsOutput) { op := &request.Operation{ Name: opDescribeLaunchConfigurations, @@ -656,14 +1526,48 @@ func (c *AutoScaling) DescribeLaunchConfigurationsRequest(input *DescribeLaunchC return } -// Describes one or more launch configurations. If you omit the list of names, -// then the call describes all launch configurations. +// DescribeLaunchConfigurations API operation for Auto Scaling. +// +// Describes one or more launch configurations. +// +// 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 Auto Scaling's +// API operation DescribeLaunchConfigurations for usage and error information. +// +// Returned Error Codes: +// * InvalidNextToken +// The NextToken value is not valid. +// +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) DescribeLaunchConfigurations(input *DescribeLaunchConfigurationsInput) (*DescribeLaunchConfigurationsOutput, error) { req, out := c.DescribeLaunchConfigurationsRequest(input) err := req.Send() return out, err } +// DescribeLaunchConfigurationsPages iterates over the pages of a DescribeLaunchConfigurations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeLaunchConfigurations 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 DescribeLaunchConfigurations operation. +// pageNum := 0 +// err := client.DescribeLaunchConfigurationsPages(params, +// func(page *DescribeLaunchConfigurationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *AutoScaling) DescribeLaunchConfigurationsPages(input *DescribeLaunchConfigurationsInput, fn func(p *DescribeLaunchConfigurationsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeLaunchConfigurationsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -674,7 +1578,30 @@ func (c *AutoScaling) DescribeLaunchConfigurationsPages(input *DescribeLaunchCon const opDescribeLifecycleHookTypes = "DescribeLifecycleHookTypes" -// DescribeLifecycleHookTypesRequest generates a request for the DescribeLifecycleHookTypes operation. +// DescribeLifecycleHookTypesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeLifecycleHookTypes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeLifecycleHookTypes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeLifecycleHookTypes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeLifecycleHookTypesRequest method. +// req, resp := client.DescribeLifecycleHookTypesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) DescribeLifecycleHookTypesRequest(input *DescribeLifecycleHookTypesInput) (req *request.Request, output *DescribeLifecycleHookTypesOutput) { op := &request.Operation{ Name: opDescribeLifecycleHookTypes, @@ -692,7 +1619,22 @@ func (c *AutoScaling) DescribeLifecycleHookTypesRequest(input *DescribeLifecycle return } +// DescribeLifecycleHookTypes API operation for Auto Scaling. +// // Describes the available types of lifecycle hooks. +// +// 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 Auto Scaling's +// API operation DescribeLifecycleHookTypes for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) DescribeLifecycleHookTypes(input *DescribeLifecycleHookTypesInput) (*DescribeLifecycleHookTypesOutput, error) { req, out := c.DescribeLifecycleHookTypesRequest(input) err := req.Send() @@ -701,7 +1643,30 @@ func (c *AutoScaling) DescribeLifecycleHookTypes(input *DescribeLifecycleHookTyp const opDescribeLifecycleHooks = "DescribeLifecycleHooks" -// DescribeLifecycleHooksRequest generates a request for the DescribeLifecycleHooks operation. +// DescribeLifecycleHooksRequest generates a "aws/request.Request" representing the +// client's request for the DescribeLifecycleHooks operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeLifecycleHooks for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeLifecycleHooks method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeLifecycleHooksRequest method. +// req, resp := client.DescribeLifecycleHooksRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) DescribeLifecycleHooksRequest(input *DescribeLifecycleHooksInput) (req *request.Request, output *DescribeLifecycleHooksOutput) { op := &request.Operation{ Name: opDescribeLifecycleHooks, @@ -719,16 +1684,119 @@ func (c *AutoScaling) DescribeLifecycleHooksRequest(input *DescribeLifecycleHook return } +// DescribeLifecycleHooks API operation for Auto Scaling. +// // Describes the lifecycle hooks for the specified Auto Scaling group. +// +// 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 Auto Scaling's +// API operation DescribeLifecycleHooks for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) DescribeLifecycleHooks(input *DescribeLifecycleHooksInput) (*DescribeLifecycleHooksOutput, error) { req, out := c.DescribeLifecycleHooksRequest(input) err := req.Send() return out, err } +const opDescribeLoadBalancerTargetGroups = "DescribeLoadBalancerTargetGroups" + +// DescribeLoadBalancerTargetGroupsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeLoadBalancerTargetGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeLoadBalancerTargetGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeLoadBalancerTargetGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeLoadBalancerTargetGroupsRequest method. +// req, resp := client.DescribeLoadBalancerTargetGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *AutoScaling) DescribeLoadBalancerTargetGroupsRequest(input *DescribeLoadBalancerTargetGroupsInput) (req *request.Request, output *DescribeLoadBalancerTargetGroupsOutput) { + op := &request.Operation{ + Name: opDescribeLoadBalancerTargetGroups, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeLoadBalancerTargetGroupsInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeLoadBalancerTargetGroupsOutput{} + req.Data = output + return +} + +// DescribeLoadBalancerTargetGroups API operation for Auto Scaling. +// +// Describes the target groups for the specified Auto Scaling group. +// +// 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 Auto Scaling's +// API operation DescribeLoadBalancerTargetGroups for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// +func (c *AutoScaling) DescribeLoadBalancerTargetGroups(input *DescribeLoadBalancerTargetGroupsInput) (*DescribeLoadBalancerTargetGroupsOutput, error) { + req, out := c.DescribeLoadBalancerTargetGroupsRequest(input) + err := req.Send() + return out, err +} + const opDescribeLoadBalancers = "DescribeLoadBalancers" -// DescribeLoadBalancersRequest generates a request for the DescribeLoadBalancers operation. +// DescribeLoadBalancersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeLoadBalancers operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeLoadBalancers for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeLoadBalancers method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeLoadBalancersRequest method. +// req, resp := client.DescribeLoadBalancersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) DescribeLoadBalancersRequest(input *DescribeLoadBalancersInput) (req *request.Request, output *DescribeLoadBalancersOutput) { op := &request.Operation{ Name: opDescribeLoadBalancers, @@ -746,7 +1814,25 @@ func (c *AutoScaling) DescribeLoadBalancersRequest(input *DescribeLoadBalancersI return } +// DescribeLoadBalancers API operation for Auto Scaling. +// // Describes the load balancers for the specified Auto Scaling group. +// +// Note that this operation describes only Classic load balancers. If you have +// Application load balancers, use DescribeLoadBalancerTargetGroups instead. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Auto Scaling's +// API operation DescribeLoadBalancers for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) DescribeLoadBalancers(input *DescribeLoadBalancersInput) (*DescribeLoadBalancersOutput, error) { req, out := c.DescribeLoadBalancersRequest(input) err := req.Send() @@ -755,7 +1841,30 @@ func (c *AutoScaling) DescribeLoadBalancers(input *DescribeLoadBalancersInput) ( const opDescribeMetricCollectionTypes = "DescribeMetricCollectionTypes" -// DescribeMetricCollectionTypesRequest generates a request for the DescribeMetricCollectionTypes operation. +// DescribeMetricCollectionTypesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeMetricCollectionTypes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeMetricCollectionTypes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeMetricCollectionTypes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeMetricCollectionTypesRequest method. +// req, resp := client.DescribeMetricCollectionTypesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) DescribeMetricCollectionTypesRequest(input *DescribeMetricCollectionTypesInput) (req *request.Request, output *DescribeMetricCollectionTypesOutput) { op := &request.Operation{ Name: opDescribeMetricCollectionTypes, @@ -773,10 +1882,25 @@ func (c *AutoScaling) DescribeMetricCollectionTypesRequest(input *DescribeMetric return } +// DescribeMetricCollectionTypes API operation for Auto Scaling. +// // Describes the available CloudWatch metrics for Auto Scaling. // // Note that the GroupStandbyInstances metric is not returned by default. You // must explicitly request this metric when calling EnableMetricsCollection. +// +// 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 Auto Scaling's +// API operation DescribeMetricCollectionTypes for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) DescribeMetricCollectionTypes(input *DescribeMetricCollectionTypesInput) (*DescribeMetricCollectionTypesOutput, error) { req, out := c.DescribeMetricCollectionTypesRequest(input) err := req.Send() @@ -785,7 +1909,30 @@ func (c *AutoScaling) DescribeMetricCollectionTypes(input *DescribeMetricCollect const opDescribeNotificationConfigurations = "DescribeNotificationConfigurations" -// DescribeNotificationConfigurationsRequest generates a request for the DescribeNotificationConfigurations operation. +// DescribeNotificationConfigurationsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeNotificationConfigurations operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeNotificationConfigurations for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeNotificationConfigurations method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeNotificationConfigurationsRequest method. +// req, resp := client.DescribeNotificationConfigurationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) DescribeNotificationConfigurationsRequest(input *DescribeNotificationConfigurationsInput) (req *request.Request, output *DescribeNotificationConfigurationsOutput) { op := &request.Operation{ Name: opDescribeNotificationConfigurations, @@ -809,14 +1956,49 @@ func (c *AutoScaling) DescribeNotificationConfigurationsRequest(input *DescribeN return } +// DescribeNotificationConfigurations API operation for Auto Scaling. +// // Describes the notification actions associated with the specified Auto Scaling // group. +// +// 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 Auto Scaling's +// API operation DescribeNotificationConfigurations for usage and error information. +// +// Returned Error Codes: +// * InvalidNextToken +// The NextToken value is not valid. +// +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) DescribeNotificationConfigurations(input *DescribeNotificationConfigurationsInput) (*DescribeNotificationConfigurationsOutput, error) { req, out := c.DescribeNotificationConfigurationsRequest(input) err := req.Send() return out, err } +// DescribeNotificationConfigurationsPages iterates over the pages of a DescribeNotificationConfigurations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeNotificationConfigurations 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 DescribeNotificationConfigurations operation. +// pageNum := 0 +// err := client.DescribeNotificationConfigurationsPages(params, +// func(page *DescribeNotificationConfigurationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *AutoScaling) DescribeNotificationConfigurationsPages(input *DescribeNotificationConfigurationsInput, fn func(p *DescribeNotificationConfigurationsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeNotificationConfigurationsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -827,7 +2009,30 @@ func (c *AutoScaling) DescribeNotificationConfigurationsPages(input *DescribeNot const opDescribePolicies = "DescribePolicies" -// DescribePoliciesRequest generates a request for the DescribePolicies operation. +// DescribePoliciesRequest generates a "aws/request.Request" representing the +// client's request for the DescribePolicies operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribePolicies for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribePolicies method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribePoliciesRequest method. +// req, resp := client.DescribePoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) DescribePoliciesRequest(input *DescribePoliciesInput) (req *request.Request, output *DescribePoliciesOutput) { op := &request.Operation{ Name: opDescribePolicies, @@ -851,13 +2056,48 @@ func (c *AutoScaling) DescribePoliciesRequest(input *DescribePoliciesInput) (req return } +// DescribePolicies API operation for Auto Scaling. +// // Describes the policies for the specified Auto Scaling group. +// +// 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 Auto Scaling's +// API operation DescribePolicies for usage and error information. +// +// Returned Error Codes: +// * InvalidNextToken +// The NextToken value is not valid. +// +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) DescribePolicies(input *DescribePoliciesInput) (*DescribePoliciesOutput, error) { req, out := c.DescribePoliciesRequest(input) err := req.Send() return out, err } +// DescribePoliciesPages iterates over the pages of a DescribePolicies operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribePolicies 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 DescribePolicies operation. +// pageNum := 0 +// err := client.DescribePoliciesPages(params, +// func(page *DescribePoliciesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *AutoScaling) DescribePoliciesPages(input *DescribePoliciesInput, fn func(p *DescribePoliciesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribePoliciesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -868,7 +2108,30 @@ func (c *AutoScaling) DescribePoliciesPages(input *DescribePoliciesInput, fn fun const opDescribeScalingActivities = "DescribeScalingActivities" -// DescribeScalingActivitiesRequest generates a request for the DescribeScalingActivities operation. +// DescribeScalingActivitiesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeScalingActivities operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeScalingActivities for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeScalingActivities method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeScalingActivitiesRequest method. +// req, resp := client.DescribeScalingActivitiesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) DescribeScalingActivitiesRequest(input *DescribeScalingActivitiesInput) (req *request.Request, output *DescribeScalingActivitiesOutput) { op := &request.Operation{ Name: opDescribeScalingActivities, @@ -892,16 +2155,48 @@ func (c *AutoScaling) DescribeScalingActivitiesRequest(input *DescribeScalingAct return } +// DescribeScalingActivities API operation for Auto Scaling. +// // Describes one or more scaling activities for the specified Auto Scaling group. -// If you omit the ActivityIds, the call returns all activities from the past -// six weeks. Activities are sorted by the start time. Activities still in progress -// appear first on the list. +// +// 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 Auto Scaling's +// API operation DescribeScalingActivities for usage and error information. +// +// Returned Error Codes: +// * InvalidNextToken +// The NextToken value is not valid. +// +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) DescribeScalingActivities(input *DescribeScalingActivitiesInput) (*DescribeScalingActivitiesOutput, error) { req, out := c.DescribeScalingActivitiesRequest(input) err := req.Send() return out, err } +// DescribeScalingActivitiesPages iterates over the pages of a DescribeScalingActivities operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeScalingActivities 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 DescribeScalingActivities operation. +// pageNum := 0 +// err := client.DescribeScalingActivitiesPages(params, +// func(page *DescribeScalingActivitiesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *AutoScaling) DescribeScalingActivitiesPages(input *DescribeScalingActivitiesInput, fn func(p *DescribeScalingActivitiesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeScalingActivitiesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -912,7 +2207,30 @@ func (c *AutoScaling) DescribeScalingActivitiesPages(input *DescribeScalingActiv const opDescribeScalingProcessTypes = "DescribeScalingProcessTypes" -// DescribeScalingProcessTypesRequest generates a request for the DescribeScalingProcessTypes operation. +// DescribeScalingProcessTypesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeScalingProcessTypes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeScalingProcessTypes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeScalingProcessTypes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeScalingProcessTypesRequest method. +// req, resp := client.DescribeScalingProcessTypesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) DescribeScalingProcessTypesRequest(input *DescribeScalingProcessTypesInput) (req *request.Request, output *DescribeScalingProcessTypesOutput) { op := &request.Operation{ Name: opDescribeScalingProcessTypes, @@ -930,7 +2248,22 @@ func (c *AutoScaling) DescribeScalingProcessTypesRequest(input *DescribeScalingP return } +// DescribeScalingProcessTypes API operation for Auto Scaling. +// // Describes the scaling process types for use with ResumeProcesses and SuspendProcesses. +// +// 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 Auto Scaling's +// API operation DescribeScalingProcessTypes for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) DescribeScalingProcessTypes(input *DescribeScalingProcessTypesInput) (*DescribeScalingProcessTypesOutput, error) { req, out := c.DescribeScalingProcessTypesRequest(input) err := req.Send() @@ -939,7 +2272,30 @@ func (c *AutoScaling) DescribeScalingProcessTypes(input *DescribeScalingProcessT const opDescribeScheduledActions = "DescribeScheduledActions" -// DescribeScheduledActionsRequest generates a request for the DescribeScheduledActions operation. +// DescribeScheduledActionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeScheduledActions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeScheduledActions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeScheduledActions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeScheduledActionsRequest method. +// req, resp := client.DescribeScheduledActionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) DescribeScheduledActionsRequest(input *DescribeScheduledActionsInput) (req *request.Request, output *DescribeScheduledActionsOutput) { op := &request.Operation{ Name: opDescribeScheduledActions, @@ -963,14 +2319,49 @@ func (c *AutoScaling) DescribeScheduledActionsRequest(input *DescribeScheduledAc return } +// DescribeScheduledActions API operation for Auto Scaling. +// // Describes the actions scheduled for your Auto Scaling group that haven't // run. To describe the actions that have already run, use DescribeScalingActivities. +// +// 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 Auto Scaling's +// API operation DescribeScheduledActions for usage and error information. +// +// Returned Error Codes: +// * InvalidNextToken +// The NextToken value is not valid. +// +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) DescribeScheduledActions(input *DescribeScheduledActionsInput) (*DescribeScheduledActionsOutput, error) { req, out := c.DescribeScheduledActionsRequest(input) err := req.Send() return out, err } +// DescribeScheduledActionsPages iterates over the pages of a DescribeScheduledActions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeScheduledActions 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 DescribeScheduledActions operation. +// pageNum := 0 +// err := client.DescribeScheduledActionsPages(params, +// func(page *DescribeScheduledActionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *AutoScaling) DescribeScheduledActionsPages(input *DescribeScheduledActionsInput, fn func(p *DescribeScheduledActionsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeScheduledActionsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -981,7 +2372,30 @@ func (c *AutoScaling) DescribeScheduledActionsPages(input *DescribeScheduledActi const opDescribeTags = "DescribeTags" -// DescribeTagsRequest generates a request for the DescribeTags operation. +// DescribeTagsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeTagsRequest method. +// req, resp := client.DescribeTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) { op := &request.Operation{ Name: opDescribeTags, @@ -1005,6 +2419,8 @@ func (c *AutoScaling) DescribeTagsRequest(input *DescribeTagsInput) (req *reques return } +// DescribeTags API operation for Auto Scaling. +// // Describes the specified tags. // // You can use filters to limit the results. For example, you can query for @@ -1015,12 +2431,45 @@ func (c *AutoScaling) DescribeTagsRequest(input *DescribeTagsInput) (req *reques // You can also specify multiple filters. The result includes information for // a particular tag only if it matches all the filters. If there's no match, // no special message is returned. +// +// 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 Auto Scaling's +// API operation DescribeTags for usage and error information. +// +// Returned Error Codes: +// * InvalidNextToken +// The NextToken value is not valid. +// +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) { req, out := c.DescribeTagsRequest(input) err := req.Send() return out, err } +// DescribeTagsPages iterates over the pages of a DescribeTags operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeTags 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 DescribeTags operation. +// pageNum := 0 +// err := client.DescribeTagsPages(params, +// func(page *DescribeTagsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *AutoScaling) DescribeTagsPages(input *DescribeTagsInput, fn func(p *DescribeTagsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeTagsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1031,7 +2480,30 @@ func (c *AutoScaling) DescribeTagsPages(input *DescribeTagsInput, fn func(p *Des const opDescribeTerminationPolicyTypes = "DescribeTerminationPolicyTypes" -// DescribeTerminationPolicyTypesRequest generates a request for the DescribeTerminationPolicyTypes operation. +// DescribeTerminationPolicyTypesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTerminationPolicyTypes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeTerminationPolicyTypes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeTerminationPolicyTypes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeTerminationPolicyTypesRequest method. +// req, resp := client.DescribeTerminationPolicyTypesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) DescribeTerminationPolicyTypesRequest(input *DescribeTerminationPolicyTypesInput) (req *request.Request, output *DescribeTerminationPolicyTypesOutput) { op := &request.Operation{ Name: opDescribeTerminationPolicyTypes, @@ -1049,7 +2521,22 @@ func (c *AutoScaling) DescribeTerminationPolicyTypesRequest(input *DescribeTermi return } +// DescribeTerminationPolicyTypes API operation for Auto Scaling. +// // Describes the termination policies supported by Auto Scaling. +// +// 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 Auto Scaling's +// API operation DescribeTerminationPolicyTypes for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) DescribeTerminationPolicyTypes(input *DescribeTerminationPolicyTypesInput) (*DescribeTerminationPolicyTypesOutput, error) { req, out := c.DescribeTerminationPolicyTypesRequest(input) err := req.Send() @@ -1058,7 +2545,30 @@ func (c *AutoScaling) DescribeTerminationPolicyTypes(input *DescribeTerminationP const opDetachInstances = "DetachInstances" -// DetachInstancesRequest generates a request for the DetachInstances operation. +// DetachInstancesRequest generates a "aws/request.Request" representing the +// client's request for the DetachInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DetachInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DetachInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DetachInstancesRequest method. +// req, resp := client.DetachInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) DetachInstancesRequest(input *DetachInstancesInput) (req *request.Request, output *DetachInstancesOutput) { op := &request.Operation{ Name: opDetachInstances, @@ -1076,6 +2586,8 @@ func (c *AutoScaling) DetachInstancesRequest(input *DetachInstancesInput) (req * return } +// DetachInstances API operation for Auto Scaling. +// // Removes one or more instances from the specified Auto Scaling group. // // After the instances are detached, you can manage them independently from @@ -1084,18 +2596,124 @@ func (c *AutoScaling) DetachInstancesRequest(input *DetachInstancesInput) (req * // If you do not specify the option to decrement the desired capacity, Auto // Scaling launches instances to replace the ones that are detached. // +// If there is a Classic load balancer attached to the Auto Scaling group, +// the instances are deregistered from the load balancer. If there are target +// groups attached to the Auto Scaling group, the instances are deregistered +// from the target groups. +// // For more information, see Detach EC2 Instances from Your Auto Scaling Group // (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/detach-instance-asg.html) -// in the Auto Scaling Developer Guide. +// in the Auto Scaling 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 +// the error. +// +// See the AWS API reference guide for Auto Scaling's +// API operation DetachInstances for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) DetachInstances(input *DetachInstancesInput) (*DetachInstancesOutput, error) { req, out := c.DetachInstancesRequest(input) err := req.Send() return out, err } +const opDetachLoadBalancerTargetGroups = "DetachLoadBalancerTargetGroups" + +// DetachLoadBalancerTargetGroupsRequest generates a "aws/request.Request" representing the +// client's request for the DetachLoadBalancerTargetGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DetachLoadBalancerTargetGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DetachLoadBalancerTargetGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DetachLoadBalancerTargetGroupsRequest method. +// req, resp := client.DetachLoadBalancerTargetGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *AutoScaling) DetachLoadBalancerTargetGroupsRequest(input *DetachLoadBalancerTargetGroupsInput) (req *request.Request, output *DetachLoadBalancerTargetGroupsOutput) { + op := &request.Operation{ + Name: opDetachLoadBalancerTargetGroups, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DetachLoadBalancerTargetGroupsInput{} + } + + req = c.newRequest(op, input, output) + output = &DetachLoadBalancerTargetGroupsOutput{} + req.Data = output + return +} + +// DetachLoadBalancerTargetGroups API operation for Auto Scaling. +// +// Detaches one or more target groups from the specified Auto Scaling group. +// +// 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 Auto Scaling's +// API operation DetachLoadBalancerTargetGroups for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// +func (c *AutoScaling) DetachLoadBalancerTargetGroups(input *DetachLoadBalancerTargetGroupsInput) (*DetachLoadBalancerTargetGroupsOutput, error) { + req, out := c.DetachLoadBalancerTargetGroupsRequest(input) + err := req.Send() + return out, err +} + const opDetachLoadBalancers = "DetachLoadBalancers" -// DetachLoadBalancersRequest generates a request for the DetachLoadBalancers operation. +// DetachLoadBalancersRequest generates a "aws/request.Request" representing the +// client's request for the DetachLoadBalancers operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DetachLoadBalancers for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DetachLoadBalancers method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DetachLoadBalancersRequest method. +// req, resp := client.DetachLoadBalancersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) DetachLoadBalancersRequest(input *DetachLoadBalancersInput) (req *request.Request, output *DetachLoadBalancersOutput) { op := &request.Operation{ Name: opDetachLoadBalancers, @@ -1113,12 +2731,31 @@ func (c *AutoScaling) DetachLoadBalancersRequest(input *DetachLoadBalancersInput return } -// Removes one or more load balancers from the specified Auto Scaling group. +// DetachLoadBalancers API operation for Auto Scaling. +// +// Detaches one or more Classic load balancers from the specified Auto Scaling +// group. +// +// Note that this operation detaches only Classic load balancers. If you have +// Application load balancers, use DetachLoadBalancerTargetGroups instead. // // When you detach a load balancer, it enters the Removing state while deregistering // the instances in the group. When all instances are deregistered, then you // can no longer describe the load balancer using DescribeLoadBalancers. Note // that the instances remain running. +// +// 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 Auto Scaling's +// API operation DetachLoadBalancers for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) DetachLoadBalancers(input *DetachLoadBalancersInput) (*DetachLoadBalancersOutput, error) { req, out := c.DetachLoadBalancersRequest(input) err := req.Send() @@ -1127,7 +2764,30 @@ func (c *AutoScaling) DetachLoadBalancers(input *DetachLoadBalancersInput) (*Det const opDisableMetricsCollection = "DisableMetricsCollection" -// DisableMetricsCollectionRequest generates a request for the DisableMetricsCollection operation. +// DisableMetricsCollectionRequest generates a "aws/request.Request" representing the +// client's request for the DisableMetricsCollection operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DisableMetricsCollection for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DisableMetricsCollection method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DisableMetricsCollectionRequest method. +// req, resp := client.DisableMetricsCollectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) DisableMetricsCollectionRequest(input *DisableMetricsCollectionInput) (req *request.Request, output *DisableMetricsCollectionOutput) { op := &request.Operation{ Name: opDisableMetricsCollection, @@ -1147,8 +2807,22 @@ func (c *AutoScaling) DisableMetricsCollectionRequest(input *DisableMetricsColle return } -// Disables monitoring of the specified metrics for the specified Auto Scaling -// group. +// DisableMetricsCollection API operation for Auto Scaling. +// +// Disables group metrics for the specified Auto Scaling group. +// +// 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 Auto Scaling's +// API operation DisableMetricsCollection for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) DisableMetricsCollection(input *DisableMetricsCollectionInput) (*DisableMetricsCollectionOutput, error) { req, out := c.DisableMetricsCollectionRequest(input) err := req.Send() @@ -1157,7 +2831,30 @@ func (c *AutoScaling) DisableMetricsCollection(input *DisableMetricsCollectionIn const opEnableMetricsCollection = "EnableMetricsCollection" -// EnableMetricsCollectionRequest generates a request for the EnableMetricsCollection operation. +// EnableMetricsCollectionRequest generates a "aws/request.Request" representing the +// client's request for the EnableMetricsCollection operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See EnableMetricsCollection for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the EnableMetricsCollection method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the EnableMetricsCollectionRequest method. +// req, resp := client.EnableMetricsCollectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) EnableMetricsCollectionRequest(input *EnableMetricsCollectionInput) (req *request.Request, output *EnableMetricsCollectionOutput) { op := &request.Operation{ Name: opEnableMetricsCollection, @@ -1177,11 +2874,24 @@ func (c *AutoScaling) EnableMetricsCollectionRequest(input *EnableMetricsCollect return } -// Enables monitoring of the specified metrics for the specified Auto Scaling -// group. +// EnableMetricsCollection API operation for Auto Scaling. +// +// Enables group metrics for the specified Auto Scaling group. For more information, +// see Monitoring Your Auto Scaling Groups and Instances (http://docs.aws.amazon.com/AutoScaling/latest/userguide/as-instance-monitoring.html) +// in the Auto Scaling 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 +// the error. +// +// See the AWS API reference guide for Auto Scaling's +// API operation EnableMetricsCollection for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). // -// You can only enable metrics collection if InstanceMonitoring in the launch -// configuration for the group is set to True. func (c *AutoScaling) EnableMetricsCollection(input *EnableMetricsCollectionInput) (*EnableMetricsCollectionOutput, error) { req, out := c.EnableMetricsCollectionRequest(input) err := req.Send() @@ -1190,7 +2900,30 @@ func (c *AutoScaling) EnableMetricsCollection(input *EnableMetricsCollectionInpu const opEnterStandby = "EnterStandby" -// EnterStandbyRequest generates a request for the EnterStandby operation. +// EnterStandbyRequest generates a "aws/request.Request" representing the +// client's request for the EnterStandby operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See EnterStandby for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the EnterStandby method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the EnterStandbyRequest method. +// req, resp := client.EnterStandbyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) EnterStandbyRequest(input *EnterStandbyInput) (req *request.Request, output *EnterStandbyOutput) { op := &request.Operation{ Name: opEnterStandby, @@ -1208,10 +2941,25 @@ func (c *AutoScaling) EnterStandbyRequest(input *EnterStandbyInput) (req *reques return } +// EnterStandby API operation for Auto Scaling. +// // Moves the specified instances into Standby mode. // // For more information, see Auto Scaling Lifecycle (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroupLifecycle.html) -// in the Auto Scaling Developer Guide. +// in the Auto Scaling 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 +// the error. +// +// See the AWS API reference guide for Auto Scaling's +// API operation EnterStandby for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) EnterStandby(input *EnterStandbyInput) (*EnterStandbyOutput, error) { req, out := c.EnterStandbyRequest(input) err := req.Send() @@ -1220,7 +2968,30 @@ func (c *AutoScaling) EnterStandby(input *EnterStandbyInput) (*EnterStandbyOutpu const opExecutePolicy = "ExecutePolicy" -// ExecutePolicyRequest generates a request for the ExecutePolicy operation. +// ExecutePolicyRequest generates a "aws/request.Request" representing the +// client's request for the ExecutePolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ExecutePolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ExecutePolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ExecutePolicyRequest method. +// req, resp := client.ExecutePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) ExecutePolicyRequest(input *ExecutePolicyInput) (req *request.Request, output *ExecutePolicyOutput) { op := &request.Operation{ Name: opExecutePolicy, @@ -1240,7 +3011,26 @@ func (c *AutoScaling) ExecutePolicyRequest(input *ExecutePolicyInput) (req *requ return } +// ExecutePolicy API operation for Auto Scaling. +// // Executes the specified policy. +// +// 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 Auto Scaling's +// API operation ExecutePolicy for usage and error information. +// +// Returned Error Codes: +// * ScalingActivityInProgress +// The operation can't be performed because there are scaling activities in +// progress. +// +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) ExecutePolicy(input *ExecutePolicyInput) (*ExecutePolicyOutput, error) { req, out := c.ExecutePolicyRequest(input) err := req.Send() @@ -1249,7 +3039,30 @@ func (c *AutoScaling) ExecutePolicy(input *ExecutePolicyInput) (*ExecutePolicyOu const opExitStandby = "ExitStandby" -// ExitStandbyRequest generates a request for the ExitStandby operation. +// ExitStandbyRequest generates a "aws/request.Request" representing the +// client's request for the ExitStandby operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ExitStandby for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ExitStandby method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ExitStandbyRequest method. +// req, resp := client.ExitStandbyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) ExitStandbyRequest(input *ExitStandbyInput) (req *request.Request, output *ExitStandbyOutput) { op := &request.Operation{ Name: opExitStandby, @@ -1267,10 +3080,25 @@ func (c *AutoScaling) ExitStandbyRequest(input *ExitStandbyInput) (req *request. return } +// ExitStandby API operation for Auto Scaling. +// // Moves the specified instances out of Standby mode. // // For more information, see Auto Scaling Lifecycle (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroupLifecycle.html) -// in the Auto Scaling Developer Guide. +// in the Auto Scaling 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 +// the error. +// +// See the AWS API reference guide for Auto Scaling's +// API operation ExitStandby for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) ExitStandby(input *ExitStandbyInput) (*ExitStandbyOutput, error) { req, out := c.ExitStandbyRequest(input) err := req.Send() @@ -1279,7 +3107,30 @@ func (c *AutoScaling) ExitStandby(input *ExitStandbyInput) (*ExitStandbyOutput, const opPutLifecycleHook = "PutLifecycleHook" -// PutLifecycleHookRequest generates a request for the PutLifecycleHook operation. +// PutLifecycleHookRequest generates a "aws/request.Request" representing the +// client's request for the PutLifecycleHook operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutLifecycleHook for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutLifecycleHook method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutLifecycleHookRequest method. +// req, resp := client.PutLifecycleHookRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) PutLifecycleHookRequest(input *PutLifecycleHookInput) (req *request.Request, output *PutLifecycleHookOutput) { op := &request.Operation{ Name: opPutLifecycleHook, @@ -1297,6 +3148,8 @@ func (c *AutoScaling) PutLifecycleHookRequest(input *PutLifecycleHookInput) (req return } +// PutLifecycleHook API operation for Auto Scaling. +// // Creates or updates a lifecycle hook for the specified Auto Scaling Group. // // A lifecycle hook tells Auto Scaling that you want to perform an action on @@ -1306,22 +3159,47 @@ func (c *AutoScaling) PutLifecycleHookRequest(input *PutLifecycleHookInput) (req // This step is a part of the procedure for adding a lifecycle hook to an Auto // Scaling group: // -// (Optional) Create a Lambda function and a rule that allows CloudWatch Events -// to invoke your Lambda function when Auto Scaling launches or terminates instances. -// (Optional) Create a notification target and an IAM role. The target can be -// either an Amazon SQS queue or an Amazon SNS topic. The role allows Auto Scaling -// to publish lifecycle notifications to the target. Create the lifecycle hook. -// Specify whether the hook is used when the instances launch or terminate. -// If you need more time, record the lifecycle action heartbeat to keep the -// instance in a pending state. If you finish before the timeout period ends, -// complete the lifecycle action. For more information, see Auto Scaling Lifecycle -// (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroupLifecycle.html) -// in the Auto Scaling Developer Guide. +// (Optional) Create a Lambda function and a rule that allows CloudWatch +// Events to invoke your Lambda function when Auto Scaling launches or terminates +// instances. +// +// (Optional) Create a notification target and an IAM role. The target can +// be either an Amazon SQS queue or an Amazon SNS topic. The role allows Auto +// Scaling to publish lifecycle notifications to the target. +// +// Create the lifecycle hook. Specify whether the hook is used when the +// instances launch or terminate. +// +// If you need more time, record the lifecycle action heartbeat to keep the +// instance in a pending state. +// +// If you finish before the timeout period ends, complete the lifecycle action. +// +// For more information, see Auto Scaling Lifecycle (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroupLifecycle.html) +// in the Auto Scaling User Guide. // // If you exceed your maximum limit of lifecycle hooks, which by default is -// 50 per region, the call fails. For information about updating this limit, -// see AWS Service Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) +// 50 per Auto Scaling group, the call fails. For information about updating +// this limit, see AWS Service Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) // in the Amazon Web Services General Reference. +// +// 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 Auto Scaling's +// API operation PutLifecycleHook for usage and error information. +// +// Returned Error Codes: +// * LimitExceeded +// You have already reached a limit for your Auto Scaling resources (for example, +// groups, launch configurations, or lifecycle hooks). For more information, +// see DescribeAccountLimits. +// +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) PutLifecycleHook(input *PutLifecycleHookInput) (*PutLifecycleHookOutput, error) { req, out := c.PutLifecycleHookRequest(input) err := req.Send() @@ -1330,7 +3208,30 @@ func (c *AutoScaling) PutLifecycleHook(input *PutLifecycleHookInput) (*PutLifecy const opPutNotificationConfiguration = "PutNotificationConfiguration" -// PutNotificationConfigurationRequest generates a request for the PutNotificationConfiguration operation. +// PutNotificationConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the PutNotificationConfiguration operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutNotificationConfiguration for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutNotificationConfiguration method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutNotificationConfigurationRequest method. +// req, resp := client.PutNotificationConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) PutNotificationConfigurationRequest(input *PutNotificationConfigurationInput) (req *request.Request, output *PutNotificationConfigurationOutput) { op := &request.Operation{ Name: opPutNotificationConfiguration, @@ -1350,15 +3251,35 @@ func (c *AutoScaling) PutNotificationConfigurationRequest(input *PutNotification return } +// PutNotificationConfiguration API operation for Auto Scaling. +// // Configures an Auto Scaling group to send notifications when specified events -// take place. Subscribers to this topic can have messages for events delivered -// to an endpoint such as a web server or email address. +// take place. Subscribers to the specified topic can have messages delivered +// to an endpoint such as a web server or an email address. +// +// This configuration overwrites any existing configuration. // -// For more information see Getting Notifications When Your Auto Scaling Group -// Changes (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/ASGettingNotifications.html) -// in the Auto Scaling Developer Guide. +// For more information see Getting SNS Notifications When Your Auto Scaling +// Group Scales (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/ASGettingNotifications.html) +// in the Auto Scaling 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 +// the error. +// +// See the AWS API reference guide for Auto Scaling's +// API operation PutNotificationConfiguration for usage and error information. +// +// Returned Error Codes: +// * LimitExceeded +// You have already reached a limit for your Auto Scaling resources (for example, +// groups, launch configurations, or lifecycle hooks). For more information, +// see DescribeAccountLimits. +// +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). // -// This configuration overwrites an existing configuration. func (c *AutoScaling) PutNotificationConfiguration(input *PutNotificationConfigurationInput) (*PutNotificationConfigurationOutput, error) { req, out := c.PutNotificationConfigurationRequest(input) err := req.Send() @@ -1367,7 +3288,30 @@ func (c *AutoScaling) PutNotificationConfiguration(input *PutNotificationConfigu const opPutScalingPolicy = "PutScalingPolicy" -// PutScalingPolicyRequest generates a request for the PutScalingPolicy operation. +// PutScalingPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutScalingPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutScalingPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutScalingPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutScalingPolicyRequest method. +// req, resp := client.PutScalingPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) PutScalingPolicyRequest(input *PutScalingPolicyInput) (req *request.Request, output *PutScalingPolicyOutput) { op := &request.Operation{ Name: opPutScalingPolicy, @@ -1385,6 +3329,8 @@ func (c *AutoScaling) PutScalingPolicyRequest(input *PutScalingPolicyInput) (req return } +// PutScalingPolicy API operation for Auto Scaling. +// // Creates or updates a policy for an Auto Scaling group. To update an existing // policy, use the existing policy name and set the parameters you want to change. // Any existing parameter not changed in an update to an existing policy is @@ -1394,6 +3340,24 @@ func (c *AutoScaling) PutScalingPolicyRequest(input *PutScalingPolicyInput) (req // 20 per region, the call fails. For information about updating this limit, // see AWS Service Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) // in the Amazon Web Services General Reference. +// +// 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 Auto Scaling's +// API operation PutScalingPolicy for usage and error information. +// +// Returned Error Codes: +// * LimitExceeded +// You have already reached a limit for your Auto Scaling resources (for example, +// groups, launch configurations, or lifecycle hooks). For more information, +// see DescribeAccountLimits. +// +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) PutScalingPolicy(input *PutScalingPolicyInput) (*PutScalingPolicyOutput, error) { req, out := c.PutScalingPolicyRequest(input) err := req.Send() @@ -1402,7 +3366,30 @@ func (c *AutoScaling) PutScalingPolicy(input *PutScalingPolicyInput) (*PutScalin const opPutScheduledUpdateGroupAction = "PutScheduledUpdateGroupAction" -// PutScheduledUpdateGroupActionRequest generates a request for the PutScheduledUpdateGroupAction operation. +// PutScheduledUpdateGroupActionRequest generates a "aws/request.Request" representing the +// client's request for the PutScheduledUpdateGroupAction operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutScheduledUpdateGroupAction for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutScheduledUpdateGroupAction method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutScheduledUpdateGroupActionRequest method. +// req, resp := client.PutScheduledUpdateGroupActionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) PutScheduledUpdateGroupActionRequest(input *PutScheduledUpdateGroupActionInput) (req *request.Request, output *PutScheduledUpdateGroupActionOutput) { op := &request.Operation{ Name: opPutScheduledUpdateGroupAction, @@ -1422,12 +3409,36 @@ func (c *AutoScaling) PutScheduledUpdateGroupActionRequest(input *PutScheduledUp return } +// PutScheduledUpdateGroupAction API operation for Auto Scaling. +// // Creates or updates a scheduled scaling action for an Auto Scaling group. // When updating a scheduled scaling action, if you leave a parameter unspecified, // the corresponding value remains unchanged in the affected Auto Scaling group. // // For more information, see Scheduled Scaling (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/schedule_time.html) -// in the Auto Scaling Developer Guide. +// in the Auto Scaling 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 +// the error. +// +// See the AWS API reference guide for Auto Scaling's +// API operation PutScheduledUpdateGroupAction for usage and error information. +// +// Returned Error Codes: +// * AlreadyExists +// You already have an Auto Scaling group or launch configuration with this +// name. +// +// * LimitExceeded +// You have already reached a limit for your Auto Scaling resources (for example, +// groups, launch configurations, or lifecycle hooks). For more information, +// see DescribeAccountLimits. +// +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) PutScheduledUpdateGroupAction(input *PutScheduledUpdateGroupActionInput) (*PutScheduledUpdateGroupActionOutput, error) { req, out := c.PutScheduledUpdateGroupActionRequest(input) err := req.Send() @@ -1436,7 +3447,30 @@ func (c *AutoScaling) PutScheduledUpdateGroupAction(input *PutScheduledUpdateGro const opRecordLifecycleActionHeartbeat = "RecordLifecycleActionHeartbeat" -// RecordLifecycleActionHeartbeatRequest generates a request for the RecordLifecycleActionHeartbeat operation. +// RecordLifecycleActionHeartbeatRequest generates a "aws/request.Request" representing the +// client's request for the RecordLifecycleActionHeartbeat operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RecordLifecycleActionHeartbeat for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RecordLifecycleActionHeartbeat method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RecordLifecycleActionHeartbeatRequest method. +// req, resp := client.RecordLifecycleActionHeartbeatRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) RecordLifecycleActionHeartbeatRequest(input *RecordLifecycleActionHeartbeatInput) (req *request.Request, output *RecordLifecycleActionHeartbeatOutput) { op := &request.Operation{ Name: opRecordLifecycleActionHeartbeat, @@ -1454,6 +3488,8 @@ func (c *AutoScaling) RecordLifecycleActionHeartbeatRequest(input *RecordLifecyc return } +// RecordLifecycleActionHeartbeat API operation for Auto Scaling. +// // Records a heartbeat for the lifecycle action associated with the specified // token or instance. This extends the timeout by the length of time defined // using PutLifecycleHook. @@ -1461,17 +3497,37 @@ func (c *AutoScaling) RecordLifecycleActionHeartbeatRequest(input *RecordLifecyc // This step is a part of the procedure for adding a lifecycle hook to an Auto // Scaling group: // -// (Optional) Create a Lambda function and a rule that allows CloudWatch Events -// to invoke your Lambda function when Auto Scaling launches or terminates instances. -// (Optional) Create a notification target and an IAM role. The target can be -// either an Amazon SQS queue or an Amazon SNS topic. The role allows Auto Scaling -// to publish lifecycle notifications to the target. Create the lifecycle hook. -// Specify whether the hook is used when the instances launch or terminate. -// If you need more time, record the lifecycle action heartbeat to keep the -// instance in a pending state. If you finish before the timeout period ends, -// complete the lifecycle action. For more information, see Auto Scaling Lifecycle -// (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroupLifecycle.html) -// in the Auto Scaling Developer Guide. +// (Optional) Create a Lambda function and a rule that allows CloudWatch +// Events to invoke your Lambda function when Auto Scaling launches or terminates +// instances. +// +// (Optional) Create a notification target and an IAM role. The target can +// be either an Amazon SQS queue or an Amazon SNS topic. The role allows Auto +// Scaling to publish lifecycle notifications to the target. +// +// Create the lifecycle hook. Specify whether the hook is used when the instances +// launch or terminate. +// +// If you need more time, record the lifecycle action heartbeat to keep +// the instance in a pending state. +// +// If you finish before the timeout period ends, complete the lifecycle action. +// +// For more information, see Auto Scaling Lifecycle (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroupLifecycle.html) +// in the Auto Scaling 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 +// the error. +// +// See the AWS API reference guide for Auto Scaling's +// API operation RecordLifecycleActionHeartbeat for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) RecordLifecycleActionHeartbeat(input *RecordLifecycleActionHeartbeatInput) (*RecordLifecycleActionHeartbeatOutput, error) { req, out := c.RecordLifecycleActionHeartbeatRequest(input) err := req.Send() @@ -1480,7 +3536,30 @@ func (c *AutoScaling) RecordLifecycleActionHeartbeat(input *RecordLifecycleActio const opResumeProcesses = "ResumeProcesses" -// ResumeProcessesRequest generates a request for the ResumeProcesses operation. +// ResumeProcessesRequest generates a "aws/request.Request" representing the +// client's request for the ResumeProcesses operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ResumeProcesses for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ResumeProcesses method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ResumeProcessesRequest method. +// req, resp := client.ResumeProcessesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) ResumeProcessesRequest(input *ScalingProcessQuery) (req *request.Request, output *ResumeProcessesOutput) { op := &request.Operation{ Name: opResumeProcesses, @@ -1500,12 +3579,30 @@ func (c *AutoScaling) ResumeProcessesRequest(input *ScalingProcessQuery) (req *r return } +// ResumeProcesses API operation for Auto Scaling. +// // Resumes the specified suspended Auto Scaling processes, or all suspended // process, for the specified Auto Scaling group. // // For more information, see Suspending and Resuming Auto Scaling Processes // (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/US_SuspendResume.html) -// in the Auto Scaling Developer Guide. +// in the Auto Scaling 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 +// the error. +// +// See the AWS API reference guide for Auto Scaling's +// API operation ResumeProcesses for usage and error information. +// +// Returned Error Codes: +// * ResourceInUse +// The operation can't be performed because the resource is in use. +// +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) ResumeProcesses(input *ScalingProcessQuery) (*ResumeProcessesOutput, error) { req, out := c.ResumeProcessesRequest(input) err := req.Send() @@ -1514,7 +3611,30 @@ func (c *AutoScaling) ResumeProcesses(input *ScalingProcessQuery) (*ResumeProces const opSetDesiredCapacity = "SetDesiredCapacity" -// SetDesiredCapacityRequest generates a request for the SetDesiredCapacity operation. +// SetDesiredCapacityRequest generates a "aws/request.Request" representing the +// client's request for the SetDesiredCapacity operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetDesiredCapacity for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetDesiredCapacity method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetDesiredCapacityRequest method. +// req, resp := client.SetDesiredCapacityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) SetDesiredCapacityRequest(input *SetDesiredCapacityInput) (req *request.Request, output *SetDesiredCapacityOutput) { op := &request.Operation{ Name: opSetDesiredCapacity, @@ -1534,10 +3654,29 @@ func (c *AutoScaling) SetDesiredCapacityRequest(input *SetDesiredCapacityInput) return } +// SetDesiredCapacity API operation for Auto Scaling. +// // Sets the size of the specified Auto Scaling group. // // For more information about desired capacity, see What Is Auto Scaling? (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/WhatIsAutoScaling.html) -// in the Auto Scaling Developer Guide. +// in the Auto Scaling 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 +// the error. +// +// See the AWS API reference guide for Auto Scaling's +// API operation SetDesiredCapacity for usage and error information. +// +// Returned Error Codes: +// * ScalingActivityInProgress +// The operation can't be performed because there are scaling activities in +// progress. +// +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) SetDesiredCapacity(input *SetDesiredCapacityInput) (*SetDesiredCapacityOutput, error) { req, out := c.SetDesiredCapacityRequest(input) err := req.Send() @@ -1546,7 +3685,30 @@ func (c *AutoScaling) SetDesiredCapacity(input *SetDesiredCapacityInput) (*SetDe const opSetInstanceHealth = "SetInstanceHealth" -// SetInstanceHealthRequest generates a request for the SetInstanceHealth operation. +// SetInstanceHealthRequest generates a "aws/request.Request" representing the +// client's request for the SetInstanceHealth operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetInstanceHealth for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetInstanceHealth method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetInstanceHealthRequest method. +// req, resp := client.SetInstanceHealthRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) SetInstanceHealthRequest(input *SetInstanceHealthInput) (req *request.Request, output *SetInstanceHealthOutput) { op := &request.Operation{ Name: opSetInstanceHealth, @@ -1566,10 +3728,25 @@ func (c *AutoScaling) SetInstanceHealthRequest(input *SetInstanceHealthInput) (r return } +// SetInstanceHealth API operation for Auto Scaling. +// // Sets the health status of the specified instance. // // For more information, see Health Checks (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/healthcheck.html) -// in the Auto Scaling Developer Guide. +// in the Auto Scaling 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 +// the error. +// +// See the AWS API reference guide for Auto Scaling's +// API operation SetInstanceHealth for usage and error information. +// +// Returned Error Codes: +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) SetInstanceHealth(input *SetInstanceHealthInput) (*SetInstanceHealthOutput, error) { req, out := c.SetInstanceHealthRequest(input) err := req.Send() @@ -1578,7 +3755,30 @@ func (c *AutoScaling) SetInstanceHealth(input *SetInstanceHealthInput) (*SetInst const opSetInstanceProtection = "SetInstanceProtection" -// SetInstanceProtectionRequest generates a request for the SetInstanceProtection operation. +// SetInstanceProtectionRequest generates a "aws/request.Request" representing the +// client's request for the SetInstanceProtection operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetInstanceProtection for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetInstanceProtection method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetInstanceProtectionRequest method. +// req, resp := client.SetInstanceProtectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) SetInstanceProtectionRequest(input *SetInstanceProtectionInput) (req *request.Request, output *SetInstanceProtectionOutput) { op := &request.Operation{ Name: opSetInstanceProtection, @@ -1596,10 +3796,30 @@ func (c *AutoScaling) SetInstanceProtectionRequest(input *SetInstanceProtectionI return } +// SetInstanceProtection API operation for Auto Scaling. +// // Updates the instance protection settings of the specified instances. // // For more information, see Instance Protection (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingBehavior.InstanceTermination.html#instance-protection) -// in the Auto Scaling Developer Guide. +// in the Auto Scaling 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 +// the error. +// +// See the AWS API reference guide for Auto Scaling's +// API operation SetInstanceProtection for usage and error information. +// +// Returned Error Codes: +// * LimitExceeded +// You have already reached a limit for your Auto Scaling resources (for example, +// groups, launch configurations, or lifecycle hooks). For more information, +// see DescribeAccountLimits. +// +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) SetInstanceProtection(input *SetInstanceProtectionInput) (*SetInstanceProtectionOutput, error) { req, out := c.SetInstanceProtectionRequest(input) err := req.Send() @@ -1608,7 +3828,30 @@ func (c *AutoScaling) SetInstanceProtection(input *SetInstanceProtectionInput) ( const opSuspendProcesses = "SuspendProcesses" -// SuspendProcessesRequest generates a request for the SuspendProcesses operation. +// SuspendProcessesRequest generates a "aws/request.Request" representing the +// client's request for the SuspendProcesses operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SuspendProcesses for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SuspendProcesses method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SuspendProcessesRequest method. +// req, resp := client.SuspendProcessesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) SuspendProcessesRequest(input *ScalingProcessQuery) (req *request.Request, output *SuspendProcessesOutput) { op := &request.Operation{ Name: opSuspendProcesses, @@ -1628,6 +3871,8 @@ func (c *AutoScaling) SuspendProcessesRequest(input *ScalingProcessQuery) (req * return } +// SuspendProcesses API operation for Auto Scaling. +// // Suspends the specified Auto Scaling processes, or all processes, for the // specified Auto Scaling group. // @@ -1638,7 +3883,23 @@ func (c *AutoScaling) SuspendProcessesRequest(input *ScalingProcessQuery) (req * // // For more information, see Suspending and Resuming Auto Scaling Processes // (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/US_SuspendResume.html) -// in the Auto Scaling Developer Guide. +// in the Auto Scaling 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 +// the error. +// +// See the AWS API reference guide for Auto Scaling's +// API operation SuspendProcesses for usage and error information. +// +// Returned Error Codes: +// * ResourceInUse +// The operation can't be performed because the resource is in use. +// +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) SuspendProcesses(input *ScalingProcessQuery) (*SuspendProcessesOutput, error) { req, out := c.SuspendProcessesRequest(input) err := req.Send() @@ -1647,7 +3908,30 @@ func (c *AutoScaling) SuspendProcesses(input *ScalingProcessQuery) (*SuspendProc const opTerminateInstanceInAutoScalingGroup = "TerminateInstanceInAutoScalingGroup" -// TerminateInstanceInAutoScalingGroupRequest generates a request for the TerminateInstanceInAutoScalingGroup operation. +// TerminateInstanceInAutoScalingGroupRequest generates a "aws/request.Request" representing the +// client's request for the TerminateInstanceInAutoScalingGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See TerminateInstanceInAutoScalingGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the TerminateInstanceInAutoScalingGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the TerminateInstanceInAutoScalingGroupRequest method. +// req, resp := client.TerminateInstanceInAutoScalingGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) TerminateInstanceInAutoScalingGroupRequest(input *TerminateInstanceInAutoScalingGroupInput) (req *request.Request, output *TerminateInstanceInAutoScalingGroupOutput) { op := &request.Operation{ Name: opTerminateInstanceInAutoScalingGroup, @@ -1665,11 +3949,30 @@ func (c *AutoScaling) TerminateInstanceInAutoScalingGroupRequest(input *Terminat return } +// TerminateInstanceInAutoScalingGroup API operation for Auto Scaling. +// // Terminates the specified instance and optionally adjusts the desired group // size. // // This call simply makes a termination request. The instance is not terminated // immediately. +// +// 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 Auto Scaling's +// API operation TerminateInstanceInAutoScalingGroup for usage and error information. +// +// Returned Error Codes: +// * ScalingActivityInProgress +// The operation can't be performed because there are scaling activities in +// progress. +// +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) TerminateInstanceInAutoScalingGroup(input *TerminateInstanceInAutoScalingGroupInput) (*TerminateInstanceInAutoScalingGroupOutput, error) { req, out := c.TerminateInstanceInAutoScalingGroupRequest(input) err := req.Send() @@ -1678,7 +3981,30 @@ func (c *AutoScaling) TerminateInstanceInAutoScalingGroup(input *TerminateInstan const opUpdateAutoScalingGroup = "UpdateAutoScalingGroup" -// UpdateAutoScalingGroupRequest generates a request for the UpdateAutoScalingGroup operation. +// UpdateAutoScalingGroupRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAutoScalingGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateAutoScalingGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateAutoScalingGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateAutoScalingGroupRequest method. +// req, resp := client.UpdateAutoScalingGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *AutoScaling) UpdateAutoScalingGroupRequest(input *UpdateAutoScalingGroupInput) (req *request.Request, output *UpdateAutoScalingGroupOutput) { op := &request.Operation{ Name: opUpdateAutoScalingGroup, @@ -1698,6 +4024,8 @@ func (c *AutoScaling) UpdateAutoScalingGroupRequest(input *UpdateAutoScalingGrou return } +// UpdateAutoScalingGroup API operation for Auto Scaling. +// // Updates the configuration for the specified Auto Scaling group. // // To update an Auto Scaling group with a launch configuration with InstanceMonitoring @@ -1722,6 +4050,23 @@ func (c *AutoScaling) UpdateAutoScalingGroupRequest(input *UpdateAutoScalingGrou // to the new value of MaxSize. // // All other optional parameters are left unchanged if not specified. +// +// 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 Auto Scaling's +// API operation UpdateAutoScalingGroup for usage and error information. +// +// Returned Error Codes: +// * ScalingActivityInProgress +// The operation can't be performed because there are scaling activities in +// progress. +// +// * ResourceContention +// You already have a pending update to an Auto Scaling resource (for example, +// a group, instance, or load balancer). +// func (c *AutoScaling) UpdateAutoScalingGroup(input *UpdateAutoScalingGroupInput) (*UpdateAutoScalingGroupOutput, error) { req, out := c.UpdateAutoScalingGroupRequest(input) err := req.Send() @@ -1735,12 +4080,18 @@ type Activity struct { _ struct{} `type:"structure"` // The ID of the activity. + // + // ActivityId is a required field ActivityId *string `type:"string" required:"true"` // The name of the Auto Scaling group. + // + // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // The reason the activity began. + // + // Cause is a required field Cause *string `min:"1" type:"string" required:"true"` // A friendly, more verbose description of the activity. @@ -1756,9 +4107,13 @@ type Activity struct { Progress *int64 `type:"integer"` // The start time of the activity. + // + // StartTime is a required field StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // The current status of the activity. + // + // StatusCode is a required field StatusCode *string `type:"string" required:"true" enum:"ScalingActivityStatusCode"` // A friendly, more verbose description of the activity status. @@ -1778,7 +4133,7 @@ func (s Activity) GoString() string { // Describes a policy adjustment type. // // For more information, see Dynamic Scaling (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-scale-based-on-demand.html) -// in the Auto Scaling Developer Guide. +// in the Auto Scaling User Guide. type AdjustmentType struct { _ struct{} `type:"structure"` @@ -1818,10 +4173,13 @@ func (s Alarm) GoString() string { return s.String() } +// Contains the parameters for AttachInstances. type AttachInstancesInput struct { _ struct{} `type:"structure"` // The name of the group. + // + // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // One or more instance IDs. @@ -1868,14 +4226,77 @@ func (s AttachInstancesOutput) GoString() string { return s.String() } +// Contains the parameters for AttachLoadBalancerTargetGroups. +type AttachLoadBalancerTargetGroupsInput struct { + _ struct{} `type:"structure"` + + // The name of the Auto Scaling group. + // + // AutoScalingGroupName is a required field + AutoScalingGroupName *string `min:"1" type:"string" required:"true"` + + // The Amazon Resource Names (ARN) of the target groups. + // + // TargetGroupARNs is a required field + TargetGroupARNs []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s AttachLoadBalancerTargetGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttachLoadBalancerTargetGroupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AttachLoadBalancerTargetGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AttachLoadBalancerTargetGroupsInput"} + if s.AutoScalingGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) + } + if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) + } + if s.TargetGroupARNs == nil { + invalidParams.Add(request.NewErrParamRequired("TargetGroupARNs")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type AttachLoadBalancerTargetGroupsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AttachLoadBalancerTargetGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttachLoadBalancerTargetGroupsOutput) GoString() string { + return s.String() +} + +// Contains the parameters for AttachLoadBalancers. type AttachLoadBalancersInput struct { _ struct{} `type:"structure"` // The name of the group. - AutoScalingGroupName *string `min:"1" type:"string"` + // + // AutoScalingGroupName is a required field + AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // One or more load balancer names. - LoadBalancerNames []*string `type:"list"` + // + // LoadBalancerNames is a required field + LoadBalancerNames []*string `type:"list" required:"true"` } // String returns the string representation @@ -1891,9 +4312,15 @@ func (s AttachLoadBalancersInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *AttachLoadBalancersInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "AttachLoadBalancersInput"} + if s.AutoScalingGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) + } if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) } + if s.LoadBalancerNames == nil { + invalidParams.Add(request.NewErrParamRequired("LoadBalancerNames")) + } if invalidParams.Len() > 0 { return invalidParams @@ -1901,6 +4328,7 @@ func (s *AttachLoadBalancersInput) Validate() error { return nil } +// Contains the output of AttachLoadBalancers. type AttachLoadBalancersOutput struct { _ struct{} `type:"structure"` } @@ -1920,6 +4348,8 @@ type BlockDeviceMapping struct { _ struct{} `type:"structure"` // The device name exposed to the EC2 instance (for example, /dev/sdh or xvdh). + // + // DeviceName is a required field DeviceName *string `min:"1" type:"string" required:"true"` // The information about the Amazon EBS volume. @@ -1970,10 +4400,13 @@ func (s *BlockDeviceMapping) Validate() error { return nil } +// Contains the parameters for CompleteLifecycleAction. type CompleteLifecycleActionInput struct { _ struct{} `type:"structure"` // The name of the group for the lifecycle hook. + // + // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // The ID of the instance. @@ -1981,6 +4414,8 @@ type CompleteLifecycleActionInput struct { // The action for the group to take. This parameter can be either CONTINUE or // ABANDON. + // + // LifecycleActionResult is a required field LifecycleActionResult *string `type:"string" required:"true"` // A universally unique identifier (UUID) that identifies a specific lifecycle @@ -1989,6 +4424,8 @@ type CompleteLifecycleActionInput struct { LifecycleActionToken *string `min:"36" type:"string"` // The name of the lifecycle hook. + // + // LifecycleHookName is a required field LifecycleHookName *string `min:"1" type:"string" required:"true"` } @@ -2033,6 +4470,7 @@ func (s *CompleteLifecycleActionInput) Validate() error { return nil } +// Contains the output of CompleteLifecycleAction. type CompleteLifecycleActionOutput struct { _ struct{} `type:"structure"` } @@ -2047,11 +4485,14 @@ func (s CompleteLifecycleActionOutput) GoString() string { return s.String() } +// Contains the parameters for CreateAutoScalingGroup. type CreateAutoScalingGroupInput struct { _ struct{} `type:"structure"` // The name of the group. This name must be unique within the scope of your // AWS account. + // + // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // One or more Availability Zones for the group. This parameter is optional @@ -2062,7 +4503,7 @@ type CreateAutoScalingGroupInput struct { // another scaling activity can start. The default is 300. // // For more information, see Auto Scaling Cooldowns (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/Cooldown.html) - // in the Auto Scaling Developer Guide. + // in the Auto Scaling User Guide. DefaultCooldown *int64 `type:"integer"` // The number of EC2 instances that should be running in the group. This number @@ -2073,19 +4514,19 @@ type CreateAutoScalingGroupInput struct { // The amount of time, in seconds, that Auto Scaling waits before checking the // health status of an EC2 instance that has come into service. During this // time, any health check failures for the instance are ignored. The default - // is 300. + // is 0. // // This parameter is required if you are adding an ELB health check. // // For more information, see Health Checks (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/healthcheck.html) - // in the Auto Scaling Developer Guide. + // in the Auto Scaling User Guide. HealthCheckGracePeriod *int64 `type:"integer"` // The service to use for the health checks. The valid values are EC2 and ELB. // // By default, health checks use Amazon EC2 instance status checks to determine // the health of an instance. For more information, see Health Checks (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/healthcheck.html) - // in the Auto Scaling Developer Guide. + // in the Auto Scaling User Guide. HealthCheckType *string `min:"1" type:"string"` // The ID of the instance used to create a launch configuration for the group. @@ -2098,24 +4539,29 @@ type CreateAutoScalingGroupInput struct { // // For more information, see Create an Auto Scaling Group Using an EC2 Instance // (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/create-asg-from-instance.html) - // in the Auto Scaling Developer Guide. + // in the Auto Scaling User Guide. InstanceId *string `min:"1" type:"string"` // The name of the launch configuration. Alternatively, specify an EC2 instance // instead of a launch configuration. LaunchConfigurationName *string `min:"1" type:"string"` - // One or more load balancers. + // One or more Classic load balancers. To specify an Application load balancer, + // use TargetGroupARNs instead. // // For more information, see Using a Load Balancer With an Auto Scaling Group // (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/US_SetUpASLBApp.html) - // in the Auto Scaling Developer Guide. + // in the Auto Scaling User Guide. LoadBalancerNames []*string `type:"list"` // The maximum size of the group. + // + // MaxSize is a required field MaxSize *int64 `type:"integer" required:"true"` // The minimum size of the group. + // + // MinSize is a required field MinSize *int64 `type:"integer" required:"true"` // Indicates whether newly launched instances are protected from termination @@ -2130,15 +4576,18 @@ type CreateAutoScalingGroupInput struct { // One or more tags. // // For more information, see Tagging Auto Scaling Groups and Instances (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/ASTagging.html) - // in the Auto Scaling Developer Guide. + // in the Auto Scaling User Guide. Tags []*Tag `type:"list"` + // The Amazon Resource Names (ARN) of the target groups. + TargetGroupARNs []*string `type:"list"` + // One or more termination policies used to select the instance to terminate. // These policies are executed in the order that they are listed. // // For more information, see Controlling Which Instances Auto Scaling Terminates // During Scale In (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingBehavior.InstanceTermination.html) - // in the Auto Scaling Developer Guide. + // in the Auto Scaling User Guide. TerminationPolicies []*string `type:"list"` // A comma-separated list of subnet identifiers for your virtual private cloud @@ -2148,7 +4597,7 @@ type CreateAutoScalingGroupInput struct { // the subnets' Availability Zones match the Availability Zones specified. // // For more information, see Launching Auto Scaling Instances in a VPC (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/asg-in-vpc.html) - // in the Auto Scaling Developer Guide. + // in the Auto Scaling User Guide. VPCZoneIdentifier *string `min:"1" type:"string"` } @@ -2226,13 +4675,14 @@ func (s CreateAutoScalingGroupOutput) GoString() string { return s.String() } +// Contains the parameters for CreateLaunchConfiguration. type CreateLaunchConfigurationInput struct { _ struct{} `type:"structure"` // Used for groups that launch instances into a virtual private cloud (VPC). // Specifies whether to assign a public IP address to each instance. For more // information, see Launching Auto Scaling Instances in a VPC (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/asg-in-vpc.html) - // in the Auto Scaling Developer Guide. + // in the Auto Scaling User Guide. // // If you specify this parameter, be sure to specify at least one subnet when // you create your group. @@ -2277,7 +4727,7 @@ type CreateLaunchConfigurationInput struct { // enable applications running on your EC2 instances to securely access other // AWS resources. For more information, see Launch Auto Scaling Instances with // an IAM Role (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/us-iam-role.html) - // in the Auto Scaling Developer Guide. + // in the Auto Scaling User Guide. IamInstanceProfile *string `min:"1" type:"string"` // The ID of the Amazon Machine Image (AMI) to use to launch your EC2 instances. @@ -2295,18 +4745,11 @@ type CreateLaunchConfigurationInput struct { // // For more information, see Create a Launch Configuration Using an EC2 Instance // (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/create-lc-with-instanceID.html) - // in the Auto Scaling Developer Guide. + // in the Auto Scaling User Guide. InstanceId *string `min:"1" type:"string"` - // Enables detailed monitoring if it is disabled. Detailed monitoring is enabled - // by default. - // - // When detailed monitoring is enabled, Amazon CloudWatch generates metrics - // every minute and your account is charged a fee. When you disable detailed - // monitoring, by specifying False, CloudWatch generates metrics every 5 minutes. - // For more information, see Monitoring Your Auto Scaling Instances and Groups - // (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-instance-monitoring.html) - // in the Auto Scaling Developer Guide. + // Enables detailed monitoring (true) or basic monitoring (false) for the Auto + // Scaling instances. InstanceMonitoring *InstanceMonitoring `type:"structure"` // The instance type of the EC2 instance. For information about available instance @@ -2324,6 +4767,8 @@ type CreateLaunchConfigurationInput struct { // The name of the launch configuration. This name must be unique within the // scope of your AWS account. + // + // LaunchConfigurationName is a required field LaunchConfigurationName *string `min:"1" type:"string" required:"true"` // The tenancy of the instance. An instance with a tenancy of dedicated runs @@ -2337,7 +4782,7 @@ type CreateLaunchConfigurationInput struct { // you create your group. // // For more information, see Launching Auto Scaling Instances in a VPC (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/asg-in-vpc.html) - // in the Auto Scaling Developer Guide. + // in the Auto Scaling User Guide. // // Valid values: default | dedicated PlacementTenancy *string `min:"1" type:"string"` @@ -2361,7 +4806,7 @@ type CreateLaunchConfigurationInput struct { // the request. Spot Instances are launched when the price you specify exceeds // the current Spot market price. For more information, see Launching Spot Instances // in Your Auto Scaling Group (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/US-SpotInstances.html) - // in the Auto Scaling Developer Guide. + // in the Auto Scaling User Guide. SpotPrice *string `min:"1" type:"string"` // The user data to make available to the launched EC2 instances. For more information, @@ -2450,10 +4895,13 @@ func (s CreateLaunchConfigurationOutput) GoString() string { return s.String() } +// Contains the parameters for CreateOrUpdateTags. type CreateOrUpdateTagsInput struct { _ struct{} `type:"structure"` // One or more tags. + // + // Tags is a required field Tags []*Tag `type:"list" required:"true"` } @@ -2504,10 +4952,13 @@ func (s CreateOrUpdateTagsOutput) GoString() string { return s.String() } +// Contains the parameters for DeleteAutoScalingGroup. type DeleteAutoScalingGroupInput struct { _ struct{} `type:"structure"` // The name of the group to delete. + // + // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // Specifies that the group will be deleted along with all instances associated @@ -2556,10 +5007,13 @@ func (s DeleteAutoScalingGroupOutput) GoString() string { return s.String() } +// Contains the parameters for DeleteLaunchConfiguration. type DeleteLaunchConfigurationInput struct { _ struct{} `type:"structure"` // The name of the launch configuration. + // + // LaunchConfigurationName is a required field LaunchConfigurationName *string `min:"1" type:"string" required:"true"` } @@ -2603,13 +5057,18 @@ func (s DeleteLaunchConfigurationOutput) GoString() string { return s.String() } +// Contains the parameters for DeleteLifecycleHook. type DeleteLifecycleHookInput struct { _ struct{} `type:"structure"` // The name of the Auto Scaling group for the lifecycle hook. + // + // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // The name of the lifecycle hook. + // + // LifecycleHookName is a required field LifecycleHookName *string `min:"1" type:"string" required:"true"` } @@ -2645,6 +5104,7 @@ func (s *DeleteLifecycleHookInput) Validate() error { return nil } +// Contains the output of DeleteLifecycleHook. type DeleteLifecycleHookOutput struct { _ struct{} `type:"structure"` } @@ -2659,14 +5119,19 @@ func (s DeleteLifecycleHookOutput) GoString() string { return s.String() } +// Contains the parameters for DeleteNotificationConfiguration. type DeleteNotificationConfigurationInput struct { _ struct{} `type:"structure"` // The name of the Auto Scaling group. + // + // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service // (SNS) topic. + // + // TopicARN is a required field TopicARN *string `min:"1" type:"string" required:"true"` } @@ -2716,6 +5181,7 @@ func (s DeleteNotificationConfigurationOutput) GoString() string { return s.String() } +// Contains the parameters for DeletePolicy. type DeletePolicyInput struct { _ struct{} `type:"structure"` @@ -2723,6 +5189,8 @@ type DeletePolicyInput struct { AutoScalingGroupName *string `min:"1" type:"string"` // The name or Amazon Resource Name (ARN) of the policy. + // + // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` } @@ -2769,13 +5237,18 @@ func (s DeletePolicyOutput) GoString() string { return s.String() } +// Contains the parameters for DeleteScheduledAction. type DeleteScheduledActionInput struct { _ struct{} `type:"structure"` // The name of the Auto Scaling group. - AutoScalingGroupName *string `min:"1" type:"string"` + // + // AutoScalingGroupName is a required field + AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // The name of the action to delete. + // + // ScheduledActionName is a required field ScheduledActionName *string `min:"1" type:"string" required:"true"` } @@ -2792,6 +5265,9 @@ func (s DeleteScheduledActionInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteScheduledActionInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteScheduledActionInput"} + if s.AutoScalingGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) + } if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) } @@ -2822,10 +5298,13 @@ func (s DeleteScheduledActionOutput) GoString() string { return s.String() } +// Contains the parameters for DeleteTags. type DeleteTagsInput struct { _ struct{} `type:"structure"` // One or more tags. + // + // Tags is a required field Tags []*Tag `type:"list" required:"true"` } @@ -2890,6 +5369,7 @@ func (s DescribeAccountLimitsInput) GoString() string { return s.String() } +// Contains the parameters for DescribeAccountLimits. type DescribeAccountLimitsOutput struct { _ struct{} `type:"structure"` @@ -2932,6 +5412,7 @@ func (s DescribeAdjustmentTypesInput) GoString() string { return s.String() } +// Contains the parameters for DescribeAdjustmentTypes. type DescribeAdjustmentTypesOutput struct { _ struct{} `type:"structure"` @@ -2949,10 +5430,12 @@ func (s DescribeAdjustmentTypesOutput) GoString() string { return s.String() } +// Contains the parameters for DescribeAutoScalingGroups. type DescribeAutoScalingGroupsInput struct { _ struct{} `type:"structure"` - // The group names. + // The group names. If you omit this parameter, all Auto Scaling groups are + // described. AutoScalingGroupNames []*string `type:"list"` // The maximum number of items to return with this call. @@ -2973,10 +5456,13 @@ func (s DescribeAutoScalingGroupsInput) GoString() string { return s.String() } +// Contains the output for DescribeAutoScalingGroups. type DescribeAutoScalingGroupsOutput struct { _ struct{} `type:"structure"` // The groups. + // + // AutoScalingGroups is a required field AutoScalingGroups []*Group `type:"list" required:"true"` // The token to use when requesting the next set of items. If there are no additional @@ -2994,6 +5480,7 @@ func (s DescribeAutoScalingGroupsOutput) GoString() string { return s.String() } +// Contains the parameters for DescribeAutoScalingInstances. type DescribeAutoScalingInstancesInput struct { _ struct{} `type:"structure"` @@ -3020,6 +5507,7 @@ func (s DescribeAutoScalingInstancesInput) GoString() string { return s.String() } +// Contains the output of DescribeAutoScalingInstances. type DescribeAutoScalingInstancesOutput struct { _ struct{} `type:"structure"` @@ -3055,20 +5543,11 @@ func (s DescribeAutoScalingNotificationTypesInput) GoString() string { return s.String() } +// Contains the output of DescribeAutoScalingNotificationTypes. type DescribeAutoScalingNotificationTypesOutput struct { _ struct{} `type:"structure"` - // One or more of the following notification types: - // - // autoscaling:EC2_INSTANCE_LAUNCH - // - // autoscaling:EC2_INSTANCE_LAUNCH_ERROR - // - // autoscaling:EC2_INSTANCE_TERMINATE - // - // autoscaling:EC2_INSTANCE_TERMINATE_ERROR - // - // autoscaling:TEST_NOTIFICATION + // The notification types. AutoScalingNotificationTypes []*string `type:"list"` } @@ -3082,10 +5561,12 @@ func (s DescribeAutoScalingNotificationTypesOutput) GoString() string { return s.String() } +// Contains the parameters for DescribeLaunchConfigurations. type DescribeLaunchConfigurationsInput struct { _ struct{} `type:"structure"` - // The launch configuration names. + // The launch configuration names. If you omit this parameter, all launch configurations + // are described. LaunchConfigurationNames []*string `type:"list"` // The maximum number of items to return with this call. The default is 100. @@ -3106,10 +5587,13 @@ func (s DescribeLaunchConfigurationsInput) GoString() string { return s.String() } +// Contains the output of DescribeLaunchConfigurations. type DescribeLaunchConfigurationsOutput struct { _ struct{} `type:"structure"` // The launch configurations. + // + // LaunchConfigurations is a required field LaunchConfigurations []*LaunchConfiguration `type:"list" required:"true"` // The token to use when requesting the next set of items. If there are no additional @@ -3141,14 +5625,11 @@ func (s DescribeLifecycleHookTypesInput) GoString() string { return s.String() } +// Contains the output of DescribeLifecycleHookTypes. type DescribeLifecycleHookTypesOutput struct { _ struct{} `type:"structure"` - // One or more of the following notification types: - // - // autoscaling:EC2_INSTANCE_LAUNCHING - // - // autoscaling:EC2_INSTANCE_TERMINATING + // The lifecycle hook types. LifecycleHookTypes []*string `type:"list"` } @@ -3162,13 +5643,17 @@ func (s DescribeLifecycleHookTypesOutput) GoString() string { return s.String() } +// Contains the parameters for DescribeLifecycleHooks. type DescribeLifecycleHooksInput struct { _ struct{} `type:"structure"` // The name of the group. + // + // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` - // The names of one or more lifecycle hooks. + // The names of one or more lifecycle hooks. If you omit this parameter, all + // lifecycle hooks are described. LifecycleHookNames []*string `type:"list"` } @@ -3198,6 +5683,7 @@ func (s *DescribeLifecycleHooksInput) Validate() error { return nil } +// Contains the output of DescribeLifecycleHooks. type DescribeLifecycleHooksOutput struct { _ struct{} `type:"structure"` @@ -3215,10 +5701,78 @@ func (s DescribeLifecycleHooksOutput) GoString() string { return s.String() } +// Contains the parameters for DescribeLoadBalancerTargetGroups. +type DescribeLoadBalancerTargetGroupsInput struct { + _ struct{} `type:"structure"` + + // The name of the Auto Scaling group. + // + // AutoScalingGroupName is a required field + AutoScalingGroupName *string `min:"1" type:"string" required:"true"` + + // The maximum number of items to return with this call. + MaxRecords *int64 `type:"integer"` + + // The token for the next set of items to return. (You received this token from + // a previous call.) + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeLoadBalancerTargetGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeLoadBalancerTargetGroupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeLoadBalancerTargetGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeLoadBalancerTargetGroupsInput"} + if s.AutoScalingGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) + } + if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of DescribeLoadBalancerTargetGroups. +type DescribeLoadBalancerTargetGroupsOutput struct { + _ struct{} `type:"structure"` + + // Information about the target groups. + LoadBalancerTargetGroups []*LoadBalancerTargetGroupState `type:"list"` + + // The token to use when requesting the next set of items. If there are no additional + // items to return, the string is empty. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeLoadBalancerTargetGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeLoadBalancerTargetGroupsOutput) GoString() string { + return s.String() +} + +// Contains the parameters for DescribeLoadBalancers. type DescribeLoadBalancersInput struct { _ struct{} `type:"structure"` // The name of the group. + // + // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // The maximum number of items to return with this call. @@ -3255,6 +5809,7 @@ func (s *DescribeLoadBalancersInput) Validate() error { return nil } +// Contains the output of DescribeLoadBalancers. type DescribeLoadBalancersOutput struct { _ struct{} `type:"structure"` @@ -3290,6 +5845,7 @@ func (s DescribeMetricCollectionTypesInput) GoString() string { return s.String() } +// Contains the output of DescribeMetricsCollectionTypes. type DescribeMetricCollectionTypesOutput struct { _ struct{} `type:"structure"` @@ -3310,6 +5866,7 @@ func (s DescribeMetricCollectionTypesOutput) GoString() string { return s.String() } +// Contains the parameters for DescribeNotificationConfigurations. type DescribeNotificationConfigurationsInput struct { _ struct{} `type:"structure"` @@ -3334,6 +5891,7 @@ func (s DescribeNotificationConfigurationsInput) GoString() string { return s.String() } +// Contains the output from DescribeNotificationConfigurations. type DescribeNotificationConfigurationsOutput struct { _ struct{} `type:"structure"` @@ -3342,6 +5900,8 @@ type DescribeNotificationConfigurationsOutput struct { NextToken *string `type:"string"` // The notification configurations. + // + // NotificationConfigurations is a required field NotificationConfigurations []*NotificationConfiguration `type:"list" required:"true"` } @@ -3355,6 +5915,7 @@ func (s DescribeNotificationConfigurationsOutput) GoString() string { return s.String() } +// Contains the parameters for DescribePolicies. type DescribePoliciesInput struct { _ struct{} `type:"structure"` @@ -3369,9 +5930,9 @@ type DescribePoliciesInput struct { NextToken *string `type:"string"` // One or more policy names or policy ARNs to be described. If you omit this - // list, all policy names are described. If an group name is provided, the results - // are limited to that group. This list is limited to 50 items. If you specify - // an unknown policy name, it is ignored with no error. + // parameter, all policy names are described. If an group name is provided, + // the results are limited to that group. This list is limited to 50 items. + // If you specify an unknown policy name, it is ignored with no error. PolicyNames []*string `type:"list"` // One or more policy types. Valid values are SimpleScaling and StepScaling. @@ -3401,6 +5962,7 @@ func (s *DescribePoliciesInput) Validate() error { return nil } +// Contains the output of DescribePolicies. type DescribePoliciesOutput struct { _ struct{} `type:"structure"` @@ -3422,14 +5984,15 @@ func (s DescribePoliciesOutput) GoString() string { return s.String() } +// Contains the parameters for DescribeScalingActivities. type DescribeScalingActivitiesInput struct { _ struct{} `type:"structure"` - // The activity IDs of the desired scaling activities. If this list is omitted, - // all activities are described. If you specify an Auto Scaling group, the results - // are limited to that group. The list of requested activities cannot contain - // more than 50 items. If unknown activities are requested, they are ignored - // with no error. + // The activity IDs of the desired scaling activities. If you omit this parameter, + // all activities for the past six weeks are described. If you specify an Auto + // Scaling group, the results are limited to that group. The list of requested + // activities cannot contain more than 50 items. If unknown activities are requested, + // they are ignored with no error. ActivityIds []*string `type:"list"` // The name of the group. @@ -3466,10 +6029,14 @@ func (s *DescribeScalingActivitiesInput) Validate() error { return nil } +// Contains the output of DescribeScalingActivities. type DescribeScalingActivitiesOutput struct { _ struct{} `type:"structure"` - // The scaling activities. + // The scaling activities. Activities are sorted by start time. Activities still + // in progress are described first. + // + // Activities is a required field Activities []*Activity `type:"list" required:"true"` // The token to use when requesting the next set of items. If there are no additional @@ -3501,6 +6068,7 @@ func (s DescribeScalingProcessTypesInput) GoString() string { return s.String() } +// Contains the output of DescribeScalingProcessTypes. type DescribeScalingProcessTypesOutput struct { _ struct{} `type:"structure"` @@ -3518,6 +6086,7 @@ func (s DescribeScalingProcessTypesOutput) GoString() string { return s.String() } +// Contains the parameters for DescribeScheduledActions. type DescribeScheduledActionsInput struct { _ struct{} `type:"structure"` @@ -3535,8 +6104,8 @@ type DescribeScheduledActionsInput struct { // a previous call.) NextToken *string `type:"string"` - // Describes one or more scheduled actions. If you omit this list, the call - // describes all scheduled actions. If you specify an unknown scheduled action + // Describes one or more scheduled actions. If you omit this parameter, all + // scheduled actions are described. If you specify an unknown scheduled action, // it is ignored with no error. // // You can describe up to a maximum of 50 instances with a single call. If @@ -3572,6 +6141,7 @@ func (s *DescribeScheduledActionsInput) Validate() error { return nil } +// Contains the output of DescribeScheduledActions. type DescribeScheduledActionsOutput struct { _ struct{} `type:"structure"` @@ -3593,6 +6163,7 @@ func (s DescribeScheduledActionsOutput) GoString() string { return s.String() } +// Contains the parameters for DescribeTags. type DescribeTagsInput struct { _ struct{} `type:"structure"` @@ -3617,6 +6188,7 @@ func (s DescribeTagsInput) GoString() string { return s.String() } +// Contains the output of DescribeTags. type DescribeTagsOutput struct { _ struct{} `type:"structure"` @@ -3652,6 +6224,7 @@ func (s DescribeTerminationPolicyTypesInput) GoString() string { return s.String() } +// Contains the output of DescribeTerminationPolicyTypes. type DescribeTerminationPolicyTypesOutput struct { _ struct{} `type:"structure"` @@ -3670,10 +6243,13 @@ func (s DescribeTerminationPolicyTypesOutput) GoString() string { return s.String() } +// Contains the parameters for DetachInstances. type DetachInstancesInput struct { _ struct{} `type:"structure"` // The name of the group. + // + // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // One or more instance IDs. @@ -3681,6 +6257,8 @@ type DetachInstancesInput struct { // If True, the Auto Scaling group decrements the desired capacity value by // the number of instances detached. + // + // ShouldDecrementDesiredCapacity is a required field ShouldDecrementDesiredCapacity *bool `type:"boolean" required:"true"` } @@ -3713,6 +6291,7 @@ func (s *DetachInstancesInput) Validate() error { return nil } +// Contains the output of DetachInstances. type DetachInstancesOutput struct { _ struct{} `type:"structure"` @@ -3730,14 +6309,76 @@ func (s DetachInstancesOutput) GoString() string { return s.String() } +type DetachLoadBalancerTargetGroupsInput struct { + _ struct{} `type:"structure"` + + // The name of the Auto Scaling group. + // + // AutoScalingGroupName is a required field + AutoScalingGroupName *string `min:"1" type:"string" required:"true"` + + // The Amazon Resource Names (ARN) of the target groups. + // + // TargetGroupARNs is a required field + TargetGroupARNs []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s DetachLoadBalancerTargetGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DetachLoadBalancerTargetGroupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DetachLoadBalancerTargetGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DetachLoadBalancerTargetGroupsInput"} + if s.AutoScalingGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) + } + if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) + } + if s.TargetGroupARNs == nil { + invalidParams.Add(request.NewErrParamRequired("TargetGroupARNs")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DetachLoadBalancerTargetGroupsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DetachLoadBalancerTargetGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DetachLoadBalancerTargetGroupsOutput) GoString() string { + return s.String() +} + +// Contains the parameters for DetachLoadBalancers. type DetachLoadBalancersInput struct { _ struct{} `type:"structure"` - // The name of the group. - AutoScalingGroupName *string `min:"1" type:"string"` + // The name of the Auto Scaling group. + // + // AutoScalingGroupName is a required field + AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // One or more load balancer names. - LoadBalancerNames []*string `type:"list"` + // + // LoadBalancerNames is a required field + LoadBalancerNames []*string `type:"list" required:"true"` } // String returns the string representation @@ -3753,9 +6394,15 @@ func (s DetachLoadBalancersInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DetachLoadBalancersInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DetachLoadBalancersInput"} + if s.AutoScalingGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) + } if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) } + if s.LoadBalancerNames == nil { + invalidParams.Add(request.NewErrParamRequired("LoadBalancerNames")) + } if invalidParams.Len() > 0 { return invalidParams @@ -3763,6 +6410,7 @@ func (s *DetachLoadBalancersInput) Validate() error { return nil } +// Contains the output for DetachLoadBalancers. type DetachLoadBalancersOutput struct { _ struct{} `type:"structure"` } @@ -3777,30 +6425,33 @@ func (s DetachLoadBalancersOutput) GoString() string { return s.String() } +// Contains the parameters for DisableMetricsCollection. type DisableMetricsCollectionInput struct { _ struct{} `type:"structure"` // The name or Amazon Resource Name (ARN) of the group. + // + // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // One or more of the following metrics. If you omit this parameter, all metrics // are disabled. // - // GroupMinSize + // GroupMinSize // - // GroupMaxSize + // GroupMaxSize // - // GroupDesiredCapacity + // GroupDesiredCapacity // - // GroupInServiceInstances + // GroupInServiceInstances // - // GroupPendingInstances + // GroupPendingInstances // - // GroupStandbyInstances + // GroupStandbyInstances // - // GroupTerminatingInstances + // GroupTerminatingInstances // - // GroupTotalInstances + // GroupTotalInstances Metrics []*string `type:"list"` } @@ -3920,37 +6571,39 @@ func (s *Ebs) Validate() error { return nil } +// Contains the parameters for EnableMetricsCollection. type EnableMetricsCollectionInput struct { _ struct{} `type:"structure"` // The name or ARN of the Auto Scaling group. + // + // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // The granularity to associate with the metrics to collect. The only valid // value is 1Minute. + // + // Granularity is a required field Granularity *string `min:"1" type:"string" required:"true"` // One or more of the following metrics. If you omit this parameter, all metrics // are enabled. // - // GroupMinSize + // GroupMinSize // - // GroupMaxSize + // GroupMaxSize // - // GroupDesiredCapacity + // GroupDesiredCapacity // - // GroupInServiceInstances + // GroupInServiceInstances // - // GroupPendingInstances + // GroupPendingInstances // - // GroupStandbyInstances + // GroupStandbyInstances // - // GroupTerminatingInstances + // GroupTerminatingInstances // - // GroupTotalInstances - // - // Note that the GroupStandbyInstances metric is not enabled by default. You - // must explicitly request this metric. + // GroupTotalInstances Metrics []*string `type:"list"` } @@ -4009,21 +6662,21 @@ type EnabledMetric struct { // One of the following metrics: // - // GroupMinSize + // GroupMinSize // - // GroupMaxSize + // GroupMaxSize // - // GroupDesiredCapacity + // GroupDesiredCapacity // - // GroupInServiceInstances + // GroupInServiceInstances // - // GroupPendingInstances + // GroupPendingInstances // - // GroupStandbyInstances + // GroupStandbyInstances // - // GroupTerminatingInstances + // GroupTerminatingInstances // - // GroupTotalInstances + // GroupTotalInstances Metric *string `min:"1" type:"string"` } @@ -4037,10 +6690,13 @@ func (s EnabledMetric) GoString() string { return s.String() } +// Contains the parameters for EnteStandby. type EnterStandbyInput struct { _ struct{} `type:"structure"` // The name of the Auto Scaling group. + // + // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // One or more instances to move into Standby mode. You must specify at least @@ -4051,6 +6707,8 @@ type EnterStandbyInput struct { // Auto Scaling group's desired capacity. If set, the desired capacity for the // Auto Scaling group decrements by the number of instances moved to Standby // mode. + // + // ShouldDecrementDesiredCapacity is a required field ShouldDecrementDesiredCapacity *bool `type:"boolean" required:"true"` } @@ -4083,6 +6741,7 @@ func (s *EnterStandbyInput) Validate() error { return nil } +// Contains the output of EnterStandby. type EnterStandbyOutput struct { _ struct{} `type:"structure"` @@ -4100,6 +6759,7 @@ func (s EnterStandbyOutput) GoString() string { return s.String() } +// Contains the parameters for ExecutePolicy. type ExecutePolicyInput struct { _ struct{} `type:"structure"` @@ -4119,7 +6779,7 @@ type ExecutePolicyInput struct { // This parameter is not supported if the policy type is StepScaling. // // For more information, see Auto Scaling Cooldowns (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/Cooldown.html) - // in the Auto Scaling Developer Guide. + // in the Auto Scaling User Guide. HonorCooldown *bool `type:"boolean"` // The metric value to compare to BreachThreshold. This enables you to execute @@ -4136,6 +6796,8 @@ type ExecutePolicyInput struct { MetricValue *float64 `type:"double"` // The name or ARN of the policy. + // + // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` } @@ -4182,10 +6844,13 @@ func (s ExecutePolicyOutput) GoString() string { return s.String() } +// Contains the parameters for ExitStandby. type ExitStandbyInput struct { _ struct{} `type:"structure"` // The name of the Auto Scaling group. + // + // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // One or more instance IDs. You must specify at least one instance ID. @@ -4218,6 +6883,7 @@ func (s *ExitStandbyInput) Validate() error { return nil } +// Contains the parameters for ExitStandby. type ExitStandbyOutput struct { _ struct{} `type:"structure"` @@ -4265,19 +6931,29 @@ type Group struct { AutoScalingGroupARN *string `min:"1" type:"string"` // The name of the group. + // + // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // One or more Availability Zones for the group. + // + // AvailabilityZones is a required field AvailabilityZones []*string `min:"1" type:"list" required:"true"` // The date and time the group was created. + // + // CreatedTime is a required field CreatedTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // The amount of time, in seconds, after a scaling activity completes before // another scaling activity can start. + // + // DefaultCooldown is a required field DefaultCooldown *int64 `type:"integer" required:"true"` // The desired size of the group. + // + // DesiredCapacity is a required field DesiredCapacity *int64 `type:"integer" required:"true"` // The metrics enabled for the group. @@ -4288,6 +6964,8 @@ type Group struct { HealthCheckGracePeriod *int64 `type:"integer"` // The service to use for the health checks. The valid values are EC2 and ELB. + // + // HealthCheckType is a required field HealthCheckType *string `min:"1" type:"string" required:"true"` // The EC2 instances associated with the group. @@ -4300,9 +6978,13 @@ type Group struct { LoadBalancerNames []*string `type:"list"` // The maximum size of the group. + // + // MaxSize is a required field MaxSize *int64 `type:"integer" required:"true"` // The minimum size of the group. + // + // MinSize is a required field MinSize *int64 `type:"integer" required:"true"` // Indicates whether newly launched instances are protected from termination @@ -4323,6 +7005,9 @@ type Group struct { // The tags for the group. Tags []*TagDescription `type:"list"` + // The Amazon Resource Names (ARN) of the target groups for your load balancer. + TargetGroupARNs []*string `type:"list"` + // The termination policies for the group. TerminationPolicies []*string `type:"list"` @@ -4348,25 +7033,37 @@ type Instance struct { _ struct{} `type:"structure"` // The Availability Zone in which the instance is running. + // + // AvailabilityZone is a required field AvailabilityZone *string `min:"1" type:"string" required:"true"` - // The health status of the instance. "Healthy" means that the instance is healthy - // and should remain in service. "Unhealthy" means that the instance is unhealthy - // and Auto Scaling should terminate and replace it. + // The last reported health status of the instance. "Healthy" means that the + // instance is healthy and should remain in service. "Unhealthy" means that + // the instance is unhealthy and Auto Scaling should terminate and replace it. + // + // HealthStatus is a required field HealthStatus *string `min:"1" type:"string" required:"true"` // The ID of the instance. + // + // InstanceId is a required field InstanceId *string `min:"1" type:"string" required:"true"` // The launch configuration associated with the instance. + // + // LaunchConfigurationName is a required field LaunchConfigurationName *string `min:"1" type:"string" required:"true"` // A description of the current lifecycle state. Note that the Quarantined state // is not used. + // + // LifecycleState is a required field LifecycleState *string `type:"string" required:"true" enum:"LifecycleState"` // Indicates whether the instance is protected from termination by Auto Scaling // when scaling in. + // + // ProtectedFromScaleIn is a required field ProtectedFromScaleIn *bool `type:"boolean" required:"true"` } @@ -4385,29 +7082,43 @@ type InstanceDetails struct { _ struct{} `type:"structure"` // The name of the Auto Scaling group associated with the instance. + // + // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // The Availability Zone for the instance. + // + // AvailabilityZone is a required field AvailabilityZone *string `min:"1" type:"string" required:"true"` - // The health status of this instance. "Healthy" means that the instance is - // healthy and should remain in service. "Unhealthy" means that the instance - // is unhealthy and Auto Scaling should terminate and replace it. + // The last reported health status of this instance. "Healthy" means that the + // instance is healthy and should remain in service. "Unhealthy" means that + // the instance is unhealthy and Auto Scaling should terminate and replace it. + // + // HealthStatus is a required field HealthStatus *string `min:"1" type:"string" required:"true"` // The ID of the instance. + // + // InstanceId is a required field InstanceId *string `min:"1" type:"string" required:"true"` // The launch configuration associated with the instance. + // + // LaunchConfigurationName is a required field LaunchConfigurationName *string `min:"1" type:"string" required:"true"` // The lifecycle state for the instance. For more information, see Auto Scaling // Lifecycle (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroupLifecycle.html) - // in the Auto Scaling Developer Guide. + // in the Auto Scaling User Guide. + // + // LifecycleState is a required field LifecycleState *string `min:"1" type:"string" required:"true"` // Indicates whether the instance is protected from termination by Auto Scaling // when scaling in. + // + // ProtectedFromScaleIn is a required field ProtectedFromScaleIn *bool `type:"boolean" required:"true"` } @@ -4462,6 +7173,8 @@ type LaunchConfiguration struct { ClassicLinkVPCSecurityGroups []*string `type:"list"` // The creation date and time for the launch configuration. + // + // CreatedTime is a required field CreatedTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // Controls whether the instance is optimized for EBS I/O (true) or not (false). @@ -4472,12 +7185,17 @@ type LaunchConfiguration struct { IamInstanceProfile *string `min:"1" type:"string"` // The ID of the Amazon Machine Image (AMI). + // + // ImageId is a required field ImageId *string `min:"1" type:"string" required:"true"` - // Controls whether instances in this group are launched with detailed monitoring. + // Controls whether instances in this group are launched with detailed (true) + // or basic (false) monitoring. InstanceMonitoring *InstanceMonitoring `type:"structure"` // The instance type for the instances. + // + // InstanceType is a required field InstanceType *string `min:"1" type:"string" required:"true"` // The ID of the kernel associated with the AMI. @@ -4490,6 +7208,8 @@ type LaunchConfiguration struct { LaunchConfigurationARN *string `min:"1" type:"string"` // The name of the launch configuration. + // + // LaunchConfigurationName is a required field LaunchConfigurationName *string `min:"1" type:"string" required:"true"` // The tenancy of the instance, either default or dedicated. An instance with @@ -4524,10 +7244,12 @@ func (s LaunchConfiguration) GoString() string { // an action when an instance launches or terminates. When you have a lifecycle // hook in place, the Auto Scaling group will either: // -// Pause the instance after it launches, but before it is put into service -// Pause the instance as it terminates, but before it is fully terminated For -// more information, see Auto Scaling Lifecycle (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroupLifecycle.html) -// in the Auto Scaling Developer Guide. +// Pause the instance after it launches, but before it is put into service +// +// Pause the instance as it terminates, but before it is fully terminated +// +// For more information, see Auto Scaling Lifecycle (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroupLifecycle.html) +// in the Auto Scaling User Guide. type LifecycleHook struct { _ struct{} `type:"structure"` @@ -4565,8 +7287,19 @@ type LifecycleHook struct { // can be either an SQS queue or an SNS topic. The notification message sent // to the target includes the following: // - // Lifecycle action token User account ID Name of the Auto Scaling group Lifecycle - // hook name EC2 instance ID Lifecycle transition Notification metadata + // Lifecycle action token + // + // User account ID + // + // Name of the Auto Scaling group + // + // Lifecycle hook name + // + // EC2 instance ID + // + // Lifecycle transition + // + // Notification metadata NotificationTargetARN *string `min:"1" type:"string"` // The ARN of the IAM role that allows the Auto Scaling group to publish to @@ -4584,7 +7317,17 @@ func (s LifecycleHook) GoString() string { return s.String() } -// Describes the state of a load balancer. +// Describes the state of a Classic load balancer. +// +// If you specify a load balancer when creating the Auto Scaling group, the +// state of the load balancer is InService. +// +// If you attach a load balancer to an existing Auto Scaling group, the initial +// state is Adding. The state transitions to Added after all instances in the +// group are registered with the load balancer. If ELB health checks are enabled +// for the load balancer, the state transitions to InService after at least +// one instance in the group passes the health check. If EC2 health checks are +// enabled instead, the load balancer remains in the Added state. type LoadBalancerState struct { _ struct{} `type:"structure"` @@ -4593,16 +7336,18 @@ type LoadBalancerState struct { // One of the following load balancer states: // - // Adding - The instances in the group are being registered with the load + // Adding - The instances in the group are being registered with the load // balancer. // - // Added - All instances in the group are registered with the load balancer. + // Added - All instances in the group are registered with the load balancer. + // + // InService - At least one instance in the group passed an ELB health check. // - // InService - At least one instance in the group passed an ELB health check. + // Removing - The instances in the group are being deregistered from the + // load balancer. If connection draining is enabled, Elastic Load Balancing + // waits for in-flight requests to complete before deregistering the instances. // - // Removing - The instances are being deregistered from the load balancer. - // If connection draining is enabled, Elastic Load Balancing waits for in-flight - // requests to complete before deregistering the instances. + // Removed - All instances in the group are deregistered from the load balancer. State *string `min:"1" type:"string"` } @@ -4616,27 +7361,69 @@ func (s LoadBalancerState) GoString() string { return s.String() } +// Describes the state of a target group. +// +// If you attach a target group to an existing Auto Scaling group, the initial +// state is Adding. The state transitions to Added after all Auto Scaling instances +// are registered with the target group. If ELB health checks are enabled, the +// state transitions to InService after at least one Auto Scaling instance passes +// the health check. If EC2 health checks are enabled instead, the target group +// remains in the Added state. +type LoadBalancerTargetGroupState struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the target group. + LoadBalancerTargetGroupARN *string `min:"1" type:"string"` + + // The state of the target group. + // + // Adding - The Auto Scaling instances are being registered with the target + // group. + // + // Added - All Auto Scaling instances are registered with the target group. + // + // InService - At least one Auto Scaling instance passed an ELB health check. + // + // Removing - The Auto Scaling instances are being deregistered from the + // target group. If connection draining is enabled, Elastic Load Balancing waits + // for in-flight requests to complete before deregistering the instances. + // + // Removed - All Auto Scaling instances are deregistered from the target + // group. + State *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s LoadBalancerTargetGroupState) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LoadBalancerTargetGroupState) GoString() string { + return s.String() +} + // Describes a metric. type MetricCollectionType struct { _ struct{} `type:"structure"` // One of the following metrics: // - // GroupMinSize + // GroupMinSize // - // GroupMaxSize + // GroupMaxSize // - // GroupDesiredCapacity + // GroupDesiredCapacity // - // GroupInServiceInstances + // GroupInServiceInstances // - // GroupPendingInstances + // GroupPendingInstances // - // GroupStandbyInstances + // GroupStandbyInstances // - // GroupTerminatingInstances + // GroupTerminatingInstances // - // GroupTotalInstances + // GroupTotalInstances Metric *string `min:"1" type:"string"` } @@ -4677,15 +7464,15 @@ type NotificationConfiguration struct { // One of the following event notification types: // - // autoscaling:EC2_INSTANCE_LAUNCH + // autoscaling:EC2_INSTANCE_LAUNCH // - // autoscaling:EC2_INSTANCE_LAUNCH_ERROR + // autoscaling:EC2_INSTANCE_LAUNCH_ERROR // - // autoscaling:EC2_INSTANCE_TERMINATE + // autoscaling:EC2_INSTANCE_TERMINATE // - // autoscaling:EC2_INSTANCE_TERMINATE_ERROR + // autoscaling:EC2_INSTANCE_TERMINATE_ERROR // - // autoscaling:TEST_NOTIFICATION + // autoscaling:TEST_NOTIFICATION NotificationType *string `min:"1" type:"string"` // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service @@ -4706,27 +7493,29 @@ func (s NotificationConfiguration) GoString() string { // Describes a process type. // // For more information, see Auto Scaling Processes (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/US_SuspendResume.html#process-types) -// in the Auto Scaling Developer Guide. +// in the Auto Scaling User Guide. type ProcessType struct { _ struct{} `type:"structure"` // One of the following processes: // - // Launch + // Launch // - // Terminate + // Terminate // - // AddToLoadBalancer + // AddToLoadBalancer // - // AlarmNotification + // AlarmNotification // - // AZRebalance + // AZRebalance // - // HealthCheck + // HealthCheck // - // ReplaceUnhealthy + // ReplaceUnhealthy // - // ScheduledActions + // ScheduledActions + // + // ProcessName is a required field ProcessName *string `min:"1" type:"string" required:"true"` } @@ -4740,11 +7529,14 @@ func (s ProcessType) GoString() string { return s.String() } +// Contains the parameters for PutLifecycleHook. type PutLifecycleHookInput struct { _ struct{} `type:"structure"` // The name of the Auto Scaling group to which you want to assign the lifecycle // hook. + // + // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // Defines the action the Auto Scaling group should take when the lifecycle @@ -4759,6 +7551,8 @@ type PutLifecycleHookInput struct { HeartbeatTimeout *int64 `type:"integer"` // The name of the lifecycle hook. + // + // LifecycleHookName is a required field LifecycleHookName *string `min:"1" type:"string" required:"true"` // The instance state to which you want to attach the lifecycle hook. For a @@ -4779,11 +7573,21 @@ type PutLifecycleHookInput struct { // // The notification messages sent to the target include the following information: // - // AutoScalingGroupName. The name of the Auto Scaling group. AccountId. The - // AWS account ID. LifecycleTransition. The lifecycle hook type. LifecycleActionToken. - // The lifecycle action token. EC2InstanceId. The EC2 instance ID. LifecycleHookName. - // The name of the lifecycle hook. NotificationMetadata. User-defined information. - // This operation uses the JSON format when sending notifications to an Amazon + // AutoScalingGroupName. The name of the Auto Scaling group. + // + // AccountId. The AWS account ID. + // + // LifecycleTransition. The lifecycle hook type. + // + // LifecycleActionToken. The lifecycle action token. + // + // EC2InstanceId. The EC2 instance ID. + // + // LifecycleHookName. The name of the lifecycle hook. + // + // NotificationMetadata. User-defined information. + // + // This operation uses the JSON format when sending notifications to an Amazon // SQS queue, and an email key/value pair format when sending notifications // to an Amazon SNS topic. // @@ -4838,6 +7642,7 @@ func (s *PutLifecycleHookInput) Validate() error { return nil } +// Contains the output of PutLifecycleHook. type PutLifecycleHookOutput struct { _ struct{} `type:"structure"` } @@ -4852,18 +7657,25 @@ func (s PutLifecycleHookOutput) GoString() string { return s.String() } +// Contains the parameters for PutNotificationConfiguration. type PutNotificationConfigurationInput struct { _ struct{} `type:"structure"` // The name of the Auto Scaling group. + // + // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // The type of event that will cause the notification to be sent. For details // about notification types supported by Auto Scaling, see DescribeAutoScalingNotificationTypes. + // + // NotificationTypes is a required field NotificationTypes []*string `type:"list" required:"true"` // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service // (SNS) topic. + // + // TopicARN is a required field TopicARN *string `min:"1" type:"string" required:"true"` } @@ -4916,6 +7728,7 @@ func (s PutNotificationConfigurationOutput) GoString() string { return s.String() } +// Contains the parameters for PutScalingPolicy. type PutScalingPolicyInput struct { _ struct{} `type:"structure"` @@ -4923,10 +7736,14 @@ type PutScalingPolicyInput struct { // PercentChangeInCapacity. // // For more information, see Dynamic Scaling (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-scale-based-on-demand.html) - // in the Auto Scaling Developer Guide. + // in the Auto Scaling User Guide. + // + // AdjustmentType is a required field AdjustmentType *string `min:"1" type:"string" required:"true"` // The name or ARN of the group. + // + // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // The amount of time, in seconds, after a scaling activity completes and before @@ -4936,7 +7753,7 @@ type PutScalingPolicyInput struct { // This parameter is not supported unless the policy type is SimpleScaling. // // For more information, see Auto Scaling Cooldowns (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/Cooldown.html) - // in the Auto Scaling Developer Guide. + // in the Auto Scaling User Guide. Cooldown *int64 `type:"integer"` // The estimated time, in seconds, until a newly launched instance can contribute @@ -4963,6 +7780,8 @@ type PutScalingPolicyInput struct { MinAdjustmentStep *int64 `deprecated:"true" type:"integer"` // The name of the policy. + // + // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` // The policy type. Valid values are SimpleScaling and StepScaling. If the policy @@ -5039,6 +7858,7 @@ func (s *PutScalingPolicyInput) Validate() error { return nil } +// Contains the output of PutScalingPolicy. type PutScalingPolicyOutput struct { _ struct{} `type:"structure"` @@ -5056,10 +7876,13 @@ func (s PutScalingPolicyOutput) GoString() string { return s.String() } +// Contains the parameters for PutScheduledUpdateGroupAction. type PutScheduledUpdateGroupActionInput struct { _ struct{} `type:"structure"` // The name or Amazon Resource Name (ARN) of the Auto Scaling group. + // + // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // The number of EC2 instances that should be running in the group. @@ -5083,6 +7906,8 @@ type PutScheduledUpdateGroupActionInput struct { Recurrence *string `min:"1" type:"string"` // The name of this scaling action. + // + // ScheduledActionName is a required field ScheduledActionName *string `min:"1" type:"string" required:"true"` // The time for this action to start, in "YYYY-MM-DDThh:mm:ssZ" format in UTC/GMT @@ -5148,10 +7973,13 @@ func (s PutScheduledUpdateGroupActionOutput) GoString() string { return s.String() } +// Contains the parameters for RecordLifecycleActionHeartbeat. type RecordLifecycleActionHeartbeatInput struct { _ struct{} `type:"structure"` // The name of the Auto Scaling group for the hook. + // + // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // The ID of the instance. @@ -5163,6 +7991,8 @@ type RecordLifecycleActionHeartbeatInput struct { LifecycleActionToken *string `min:"36" type:"string"` // The name of the lifecycle hook. + // + // LifecycleHookName is a required field LifecycleHookName *string `min:"1" type:"string" required:"true"` } @@ -5204,6 +8034,7 @@ func (s *RecordLifecycleActionHeartbeatInput) Validate() error { return nil } +// Contains the output of RecordLifecycleActionHeartBeat. type RecordLifecycleActionHeartbeatOutput struct { _ struct{} `type:"structure"` } @@ -5296,29 +8127,33 @@ func (s ScalingPolicy) GoString() string { return s.String() } +// Contains the parameters for SuspendProcesses and ResumeProcesses. type ScalingProcessQuery struct { _ struct{} `type:"structure"` // The name or Amazon Resource Name (ARN) of the Auto Scaling group. + // + // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` - // One or more of the following processes: + // One or more of the following processes. If you omit this parameter, all processes + // are specified. // - // Launch + // Launch // - // Terminate + // Terminate // - // HealthCheck + // HealthCheck // - // ReplaceUnhealthy + // ReplaceUnhealthy // - // AZRebalance + // AZRebalance // - // AlarmNotification + // AlarmNotification // - // ScheduledActions + // ScheduledActions // - // AddToLoadBalancer + // AddToLoadBalancer ScalingProcesses []*string `type:"list"` } @@ -5398,13 +8233,18 @@ func (s ScheduledUpdateGroupAction) GoString() string { return s.String() } +// Contains the parameters for SetDesiredCapacity. type SetDesiredCapacityInput struct { _ struct{} `type:"structure"` // The name of the Auto Scaling group. + // + // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // The number of EC2 instances that should be running in the Auto Scaling group. + // + // DesiredCapacity is a required field DesiredCapacity *int64 `type:"integer" required:"true"` // By default, SetDesiredCapacity overrides any cooldown period associated with @@ -5457,15 +8297,20 @@ func (s SetDesiredCapacityOutput) GoString() string { return s.String() } +// Contains the parameters for SetInstanceHealth. type SetInstanceHealthInput struct { _ struct{} `type:"structure"` // The health status of the instance. Set to Healthy if you want the instance // to remain in service. Set to Unhealthy if you want the instance to be out // of service. Auto Scaling will terminate and replace the unhealthy instance. + // + // HealthStatus is a required field HealthStatus *string `min:"1" type:"string" required:"true"` // The ID of the instance. + // + // InstanceId is a required field InstanceId *string `min:"1" type:"string" required:"true"` // If the Auto Scaling group of the specified instance has a HealthCheckGracePeriod @@ -5524,17 +8369,24 @@ func (s SetInstanceHealthOutput) GoString() string { return s.String() } +// Contains the parameters for SetInstanceProtection. type SetInstanceProtectionInput struct { _ struct{} `type:"structure"` // The name of the group. + // + // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // One or more instance IDs. + // + // InstanceIds is a required field InstanceIds []*string `type:"list" required:"true"` // Indicates whether the instance is protected from termination by Auto Scaling // when scaling in. + // + // ProtectedFromScaleIn is a required field ProtectedFromScaleIn *bool `type:"boolean" required:"true"` } @@ -5570,6 +8422,7 @@ func (s *SetInstanceProtectionInput) Validate() error { return nil } +// Contains the output of SetInstanceProtection. type SetInstanceProtectionOutput struct { _ struct{} `type:"structure"` } @@ -5635,6 +8488,8 @@ type StepAdjustment struct { // The amount by which to scale, based on the specified adjustment type. A positive // value adds to the current capacity while a negative number removes from the // current capacity. + // + // ScalingAdjustment is a required field ScalingAdjustment *int64 `type:"integer" required:"true"` } @@ -5702,6 +8557,8 @@ type Tag struct { _ struct{} `type:"structure"` // The tag key. + // + // Key is a required field Key *string `min:"1" type:"string" required:"true"` // Determines whether the tag is added to new instances as they are launched @@ -5775,14 +8632,19 @@ func (s TagDescription) GoString() string { return s.String() } +// Contains the parameters for TerminateInstanceInAutoScalingGroup. type TerminateInstanceInAutoScalingGroupInput struct { _ struct{} `type:"structure"` // The ID of the instance. + // + // InstanceId is a required field InstanceId *string `min:"1" type:"string" required:"true"` // If true, terminating the instance also decrements the size of the Auto Scaling // group. + // + // ShouldDecrementDesiredCapacity is a required field ShouldDecrementDesiredCapacity *bool `type:"boolean" required:"true"` } @@ -5815,6 +8677,7 @@ func (s *TerminateInstanceInAutoScalingGroupInput) Validate() error { return nil } +// Contains the output of TerminateInstancesInAutoScalingGroup. type TerminateInstanceInAutoScalingGroupOutput struct { _ struct{} `type:"structure"` @@ -5832,10 +8695,13 @@ func (s TerminateInstanceInAutoScalingGroupOutput) GoString() string { return s.String() } +// Contains the parameters for UpdateAutoScalingGroup. type UpdateAutoScalingGroupInput struct { _ struct{} `type:"structure"` // The name of the Auto Scaling group. + // + // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // One or more Availability Zones for the group. @@ -5845,7 +8711,7 @@ type UpdateAutoScalingGroupInput struct { // another scaling activity can start. The default is 300. // // For more information, see Auto Scaling Cooldowns (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/Cooldown.html) - // in the Auto Scaling Developer Guide. + // in the Auto Scaling User Guide. DefaultCooldown *int64 `type:"integer"` // The number of EC2 instances that should be running in the Auto Scaling group. @@ -5855,10 +8721,10 @@ type UpdateAutoScalingGroupInput struct { // The amount of time, in seconds, that Auto Scaling waits before checking the // health status of an EC2 instance that has come into service. The default - // is 300. + // is 0. // // For more information, see Health Checks (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/healthcheck.html) - // in the Auto Scaling Developer Guide. + // in the Auto Scaling User Guide. HealthCheckGracePeriod *int64 `type:"integer"` // The service to use for the health checks. The valid values are EC2 and ELB. @@ -5888,7 +8754,7 @@ type UpdateAutoScalingGroupInput struct { // // For more information, see Controlling Which Instances Auto Scaling Terminates // During Scale In (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingBehavior.InstanceTermination.html) - // in the Auto Scaling Developer Guide. + // in the Auto Scaling User Guide. TerminationPolicies []*string `type:"list"` // The ID of the subnet, if you are launching into a VPC. You can specify several @@ -5898,7 +8764,7 @@ type UpdateAutoScalingGroupInput struct { // subnets' Availability Zones match the values you specify for AvailabilityZones. // // For more information, see Launching Auto Scaling Instances in a VPC (http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/asg-in-vpc.html) - // in the Auto Scaling Developer Guide. + // in the Auto Scaling User Guide. VPCZoneIdentifier *string `min:"1" type:"string"` } @@ -5958,57 +8824,80 @@ func (s UpdateAutoScalingGroupOutput) GoString() string { } const ( - // @enum LifecycleState + // LifecycleStatePending is a LifecycleState enum value LifecycleStatePending = "Pending" - // @enum LifecycleState + + // LifecycleStatePendingWait is a LifecycleState enum value LifecycleStatePendingWait = "Pending:Wait" - // @enum LifecycleState + + // LifecycleStatePendingProceed is a LifecycleState enum value LifecycleStatePendingProceed = "Pending:Proceed" - // @enum LifecycleState + + // LifecycleStateQuarantined is a LifecycleState enum value LifecycleStateQuarantined = "Quarantined" - // @enum LifecycleState + + // LifecycleStateInService is a LifecycleState enum value LifecycleStateInService = "InService" - // @enum LifecycleState + + // LifecycleStateTerminating is a LifecycleState enum value LifecycleStateTerminating = "Terminating" - // @enum LifecycleState + + // LifecycleStateTerminatingWait is a LifecycleState enum value LifecycleStateTerminatingWait = "Terminating:Wait" - // @enum LifecycleState + + // LifecycleStateTerminatingProceed is a LifecycleState enum value LifecycleStateTerminatingProceed = "Terminating:Proceed" - // @enum LifecycleState + + // LifecycleStateTerminated is a LifecycleState enum value LifecycleStateTerminated = "Terminated" - // @enum LifecycleState + + // LifecycleStateDetaching is a LifecycleState enum value LifecycleStateDetaching = "Detaching" - // @enum LifecycleState + + // LifecycleStateDetached is a LifecycleState enum value LifecycleStateDetached = "Detached" - // @enum LifecycleState + + // LifecycleStateEnteringStandby is a LifecycleState enum value LifecycleStateEnteringStandby = "EnteringStandby" - // @enum LifecycleState + + // LifecycleStateStandby is a LifecycleState enum value LifecycleStateStandby = "Standby" ) const ( - // @enum ScalingActivityStatusCode + // ScalingActivityStatusCodePendingSpotBidPlacement is a ScalingActivityStatusCode enum value ScalingActivityStatusCodePendingSpotBidPlacement = "PendingSpotBidPlacement" - // @enum ScalingActivityStatusCode + + // ScalingActivityStatusCodeWaitingForSpotInstanceRequestId is a ScalingActivityStatusCode enum value ScalingActivityStatusCodeWaitingForSpotInstanceRequestId = "WaitingForSpotInstanceRequestId" - // @enum ScalingActivityStatusCode + + // ScalingActivityStatusCodeWaitingForSpotInstanceId is a ScalingActivityStatusCode enum value ScalingActivityStatusCodeWaitingForSpotInstanceId = "WaitingForSpotInstanceId" - // @enum ScalingActivityStatusCode + + // ScalingActivityStatusCodeWaitingForInstanceId is a ScalingActivityStatusCode enum value ScalingActivityStatusCodeWaitingForInstanceId = "WaitingForInstanceId" - // @enum ScalingActivityStatusCode + + // ScalingActivityStatusCodePreInService is a ScalingActivityStatusCode enum value ScalingActivityStatusCodePreInService = "PreInService" - // @enum ScalingActivityStatusCode + + // ScalingActivityStatusCodeInProgress is a ScalingActivityStatusCode enum value ScalingActivityStatusCodeInProgress = "InProgress" - // @enum ScalingActivityStatusCode + + // ScalingActivityStatusCodeWaitingForElbconnectionDraining is a ScalingActivityStatusCode enum value ScalingActivityStatusCodeWaitingForElbconnectionDraining = "WaitingForELBConnectionDraining" - // @enum ScalingActivityStatusCode + + // ScalingActivityStatusCodeMidLifecycleAction is a ScalingActivityStatusCode enum value ScalingActivityStatusCodeMidLifecycleAction = "MidLifecycleAction" - // @enum ScalingActivityStatusCode + + // ScalingActivityStatusCodeWaitingForInstanceWarmup is a ScalingActivityStatusCode enum value ScalingActivityStatusCodeWaitingForInstanceWarmup = "WaitingForInstanceWarmup" - // @enum ScalingActivityStatusCode + + // ScalingActivityStatusCodeSuccessful is a ScalingActivityStatusCode enum value ScalingActivityStatusCodeSuccessful = "Successful" - // @enum ScalingActivityStatusCode + + // ScalingActivityStatusCodeFailed is a ScalingActivityStatusCode enum value ScalingActivityStatusCodeFailed = "Failed" - // @enum ScalingActivityStatusCode + + // ScalingActivityStatusCodeCancelled is a ScalingActivityStatusCode enum value ScalingActivityStatusCodeCancelled = "Cancelled" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/autoscaling/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/autoscaling/waiters.go index 42595d2178b0..15a9fd86efbe 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/autoscaling/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/autoscaling/waiters.go @@ -6,6 +6,10 @@ import ( "github.com/aws/aws-sdk-go/private/waiter" ) +// WaitUntilGroupExists uses the Auto Scaling API operation +// DescribeAutoScalingGroups to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *AutoScaling) WaitUntilGroupExists(input *DescribeAutoScalingGroupsInput) error { waiterCfg := waiter.Config{ Operation: "DescribeAutoScalingGroups", @@ -35,6 +39,10 @@ func (c *AutoScaling) WaitUntilGroupExists(input *DescribeAutoScalingGroupsInput return w.Wait() } +// WaitUntilGroupInService uses the Auto Scaling API operation +// DescribeAutoScalingGroups to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *AutoScaling) WaitUntilGroupInService(input *DescribeAutoScalingGroupsInput) error { waiterCfg := waiter.Config{ Operation: "DescribeAutoScalingGroups", @@ -64,6 +72,10 @@ func (c *AutoScaling) WaitUntilGroupInService(input *DescribeAutoScalingGroupsIn return w.Wait() } +// WaitUntilGroupNotExists uses the Auto Scaling API operation +// DescribeAutoScalingGroups to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *AutoScaling) WaitUntilGroupNotExists(input *DescribeAutoScalingGroupsInput) error { waiterCfg := waiter.Config{ Operation: "DescribeAutoScalingGroups", diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudformation/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudformation/api.go index a40c1f2639ce..711d6d62f15f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudformation/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudformation/api.go @@ -14,7 +14,30 @@ import ( const opCancelUpdateStack = "CancelUpdateStack" -// CancelUpdateStackRequest generates a request for the CancelUpdateStack operation. +// CancelUpdateStackRequest generates a "aws/request.Request" representing the +// client's request for the CancelUpdateStack operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CancelUpdateStack for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CancelUpdateStack method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CancelUpdateStackRequest method. +// req, resp := client.CancelUpdateStackRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFormation) CancelUpdateStackRequest(input *CancelUpdateStackInput) (req *request.Request, output *CancelUpdateStackOutput) { op := &request.Operation{ Name: opCancelUpdateStack, @@ -34,10 +57,19 @@ func (c *CloudFormation) CancelUpdateStackRequest(input *CancelUpdateStackInput) return } +// CancelUpdateStack API operation for AWS CloudFormation. +// // Cancels an update on the specified stack. If the call completes successfully, // the stack rolls back the update and reverts to the previous stack configuration. // -// You can cancel only stacks that are in the UPDATE_IN_PROGRESS state. +// You can cancel only stacks that are in the UPDATE_IN_PROGRESS state. +// +// 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 CloudFormation's +// API operation CancelUpdateStack for usage and error information. func (c *CloudFormation) CancelUpdateStack(input *CancelUpdateStackInput) (*CancelUpdateStackOutput, error) { req, out := c.CancelUpdateStackRequest(input) err := req.Send() @@ -46,7 +78,30 @@ func (c *CloudFormation) CancelUpdateStack(input *CancelUpdateStackInput) (*Canc const opContinueUpdateRollback = "ContinueUpdateRollback" -// ContinueUpdateRollbackRequest generates a request for the ContinueUpdateRollback operation. +// ContinueUpdateRollbackRequest generates a "aws/request.Request" representing the +// client's request for the ContinueUpdateRollback operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ContinueUpdateRollback for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ContinueUpdateRollback method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ContinueUpdateRollbackRequest method. +// req, resp := client.ContinueUpdateRollbackRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFormation) ContinueUpdateRollbackRequest(input *ContinueUpdateRollbackInput) (req *request.Request, output *ContinueUpdateRollbackOutput) { op := &request.Operation{ Name: opContinueUpdateRollback, @@ -64,6 +119,8 @@ func (c *CloudFormation) ContinueUpdateRollbackRequest(input *ContinueUpdateRoll return } +// ContinueUpdateRollback API operation for AWS CloudFormation. +// // For a specified stack that is in the UPDATE_ROLLBACK_FAILED state, continues // rolling it back to the UPDATE_ROLLBACK_COMPLETE state. Depending on the cause // of the failure, you can manually fix the error (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-update-rollback-failed) @@ -77,6 +134,13 @@ func (c *CloudFormation) ContinueUpdateRollbackRequest(input *ContinueUpdateRoll // was deleted outside of AWS CloudFormation. Because AWS CloudFormation doesn't // know the database was deleted, it assumes that the database instance still // exists and attempts to roll back to it, causing the update rollback to fail. +// +// 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 CloudFormation's +// API operation ContinueUpdateRollback for usage and error information. func (c *CloudFormation) ContinueUpdateRollback(input *ContinueUpdateRollbackInput) (*ContinueUpdateRollbackOutput, error) { req, out := c.ContinueUpdateRollbackRequest(input) err := req.Send() @@ -85,7 +149,30 @@ func (c *CloudFormation) ContinueUpdateRollback(input *ContinueUpdateRollbackInp const opCreateChangeSet = "CreateChangeSet" -// CreateChangeSetRequest generates a request for the CreateChangeSet operation. +// CreateChangeSetRequest generates a "aws/request.Request" representing the +// client's request for the CreateChangeSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateChangeSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateChangeSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateChangeSetRequest method. +// req, resp := client.CreateChangeSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFormation) CreateChangeSetRequest(input *CreateChangeSetInput) (req *request.Request, output *CreateChangeSetOutput) { op := &request.Operation{ Name: opCreateChangeSet, @@ -103,6 +190,8 @@ func (c *CloudFormation) CreateChangeSetRequest(input *CreateChangeSetInput) (re return } +// CreateChangeSet API operation for AWS CloudFormation. +// // Creates a list of changes for a stack. AWS CloudFormation generates the change // set by comparing the stack's information with the information that you submit. // A change set can help you understand which resources AWS CloudFormation will @@ -117,6 +206,25 @@ func (c *CloudFormation) CreateChangeSetRequest(input *CreateChangeSetInput) (re // After the call successfully completes, AWS CloudFormation starts creating // the change set. To check the status of the change set, use the DescribeChangeSet // action. +// +// 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 CloudFormation's +// API operation CreateChangeSet for usage and error information. +// +// Returned Error Codes: +// * AlreadyExistsException +// Resource with the name requested already exists. +// +// * InsufficientCapabilitiesException +// The template contains resources with capabilities that were not specified +// in the Capabilities parameter. +// +// * LimitExceededException +// Quota for the resource has already been reached. +// func (c *CloudFormation) CreateChangeSet(input *CreateChangeSetInput) (*CreateChangeSetOutput, error) { req, out := c.CreateChangeSetRequest(input) err := req.Send() @@ -125,7 +233,30 @@ func (c *CloudFormation) CreateChangeSet(input *CreateChangeSetInput) (*CreateCh const opCreateStack = "CreateStack" -// CreateStackRequest generates a request for the CreateStack operation. +// CreateStackRequest generates a "aws/request.Request" representing the +// client's request for the CreateStack operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateStack for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateStack method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateStackRequest method. +// req, resp := client.CreateStackRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFormation) CreateStackRequest(input *CreateStackInput) (req *request.Request, output *CreateStackOutput) { op := &request.Operation{ Name: opCreateStack, @@ -143,9 +274,30 @@ func (c *CloudFormation) CreateStackRequest(input *CreateStackInput) (req *reque return } +// CreateStack API operation for AWS CloudFormation. +// // Creates a stack as specified in the template. After the call completes successfully, // the stack creation starts. You can check the status of the stack via the // DescribeStacks API. +// +// 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 CloudFormation's +// API operation CreateStack for usage and error information. +// +// Returned Error Codes: +// * LimitExceededException +// Quota for the resource has already been reached. +// +// * AlreadyExistsException +// Resource with the name requested already exists. +// +// * InsufficientCapabilitiesException +// The template contains resources with capabilities that were not specified +// in the Capabilities parameter. +// func (c *CloudFormation) CreateStack(input *CreateStackInput) (*CreateStackOutput, error) { req, out := c.CreateStackRequest(input) err := req.Send() @@ -154,7 +306,30 @@ func (c *CloudFormation) CreateStack(input *CreateStackInput) (*CreateStackOutpu const opDeleteChangeSet = "DeleteChangeSet" -// DeleteChangeSetRequest generates a request for the DeleteChangeSet operation. +// DeleteChangeSetRequest generates a "aws/request.Request" representing the +// client's request for the DeleteChangeSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteChangeSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteChangeSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteChangeSetRequest method. +// req, resp := client.DeleteChangeSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFormation) DeleteChangeSetRequest(input *DeleteChangeSetInput) (req *request.Request, output *DeleteChangeSetOutput) { op := &request.Operation{ Name: opDeleteChangeSet, @@ -172,11 +347,27 @@ func (c *CloudFormation) DeleteChangeSetRequest(input *DeleteChangeSetInput) (re return } +// DeleteChangeSet API operation for AWS CloudFormation. +// // Deletes the specified change set. Deleting change sets ensures that no one // executes the wrong change set. // // If the call successfully completes, AWS CloudFormation successfully deleted // the change set. +// +// 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 CloudFormation's +// API operation DeleteChangeSet for usage and error information. +// +// Returned Error Codes: +// * InvalidChangeSetStatus +// The specified change set cannot be used to update the stack. For example, +// the change set status might be CREATE_IN_PROGRESS or the stack status might +// be UPDATE_IN_PROGRESS. +// func (c *CloudFormation) DeleteChangeSet(input *DeleteChangeSetInput) (*DeleteChangeSetOutput, error) { req, out := c.DeleteChangeSetRequest(input) err := req.Send() @@ -185,7 +376,30 @@ func (c *CloudFormation) DeleteChangeSet(input *DeleteChangeSetInput) (*DeleteCh const opDeleteStack = "DeleteStack" -// DeleteStackRequest generates a request for the DeleteStack operation. +// DeleteStackRequest generates a "aws/request.Request" representing the +// client's request for the DeleteStack operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteStack for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteStack method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteStackRequest method. +// req, resp := client.DeleteStackRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFormation) DeleteStackRequest(input *DeleteStackInput) (req *request.Request, output *DeleteStackOutput) { op := &request.Operation{ Name: opDeleteStack, @@ -205,9 +419,18 @@ func (c *CloudFormation) DeleteStackRequest(input *DeleteStackInput) (req *reque return } +// DeleteStack API operation for AWS CloudFormation. +// // Deletes a specified stack. Once the call completes successfully, stack deletion // starts. Deleted stacks do not show up in the DescribeStacks API if the deletion // has been completed successfully. +// +// 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 CloudFormation's +// API operation DeleteStack for usage and error information. func (c *CloudFormation) DeleteStack(input *DeleteStackInput) (*DeleteStackOutput, error) { req, out := c.DeleteStackRequest(input) err := req.Send() @@ -216,7 +439,30 @@ func (c *CloudFormation) DeleteStack(input *DeleteStackInput) (*DeleteStackOutpu const opDescribeAccountLimits = "DescribeAccountLimits" -// DescribeAccountLimitsRequest generates a request for the DescribeAccountLimits operation. +// DescribeAccountLimitsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAccountLimits operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeAccountLimits for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeAccountLimits method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeAccountLimitsRequest method. +// req, resp := client.DescribeAccountLimitsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFormation) DescribeAccountLimitsRequest(input *DescribeAccountLimitsInput) (req *request.Request, output *DescribeAccountLimitsOutput) { op := &request.Operation{ Name: opDescribeAccountLimits, @@ -234,8 +480,17 @@ func (c *CloudFormation) DescribeAccountLimitsRequest(input *DescribeAccountLimi return } +// DescribeAccountLimits API operation for AWS CloudFormation. +// // Retrieves your account's AWS CloudFormation limits, such as the maximum number // of stacks that you can create in 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 +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation DescribeAccountLimits for usage and error information. func (c *CloudFormation) DescribeAccountLimits(input *DescribeAccountLimitsInput) (*DescribeAccountLimitsOutput, error) { req, out := c.DescribeAccountLimitsRequest(input) err := req.Send() @@ -244,7 +499,30 @@ func (c *CloudFormation) DescribeAccountLimits(input *DescribeAccountLimitsInput const opDescribeChangeSet = "DescribeChangeSet" -// DescribeChangeSetRequest generates a request for the DescribeChangeSet operation. +// DescribeChangeSetRequest generates a "aws/request.Request" representing the +// client's request for the DescribeChangeSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeChangeSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeChangeSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeChangeSetRequest method. +// req, resp := client.DescribeChangeSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFormation) DescribeChangeSetRequest(input *DescribeChangeSetInput) (req *request.Request, output *DescribeChangeSetOutput) { op := &request.Operation{ Name: opDescribeChangeSet, @@ -262,10 +540,25 @@ func (c *CloudFormation) DescribeChangeSetRequest(input *DescribeChangeSetInput) return } +// DescribeChangeSet API operation for AWS CloudFormation. +// // Returns the inputs for the change set and a list of changes that AWS CloudFormation // will make if you execute the change set. For more information, see Updating // Stacks Using Change Sets (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-changesets.html) // in the AWS CloudFormation 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 +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation DescribeChangeSet for usage and error information. +// +// Returned Error Codes: +// * ChangeSetNotFound +// The specified change set name or ID doesn't exit. To view valid change sets +// for a stack, use the ListChangeSets action. +// func (c *CloudFormation) DescribeChangeSet(input *DescribeChangeSetInput) (*DescribeChangeSetOutput, error) { req, out := c.DescribeChangeSetRequest(input) err := req.Send() @@ -274,7 +567,30 @@ func (c *CloudFormation) DescribeChangeSet(input *DescribeChangeSetInput) (*Desc const opDescribeStackEvents = "DescribeStackEvents" -// DescribeStackEventsRequest generates a request for the DescribeStackEvents operation. +// DescribeStackEventsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeStackEvents operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeStackEvents for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeStackEvents method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeStackEventsRequest method. +// req, resp := client.DescribeStackEventsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFormation) DescribeStackEventsRequest(input *DescribeStackEventsInput) (req *request.Request, output *DescribeStackEventsOutput) { op := &request.Operation{ Name: opDescribeStackEvents, @@ -298,18 +614,44 @@ func (c *CloudFormation) DescribeStackEventsRequest(input *DescribeStackEventsIn return } -// Returns all stack related events for a specified stack. For more information -// about a stack's event history, go to Stacks (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/concept-stack.html) +// DescribeStackEvents API operation for AWS CloudFormation. +// +// Returns all stack related events for a specified stack in reverse chronological +// order. For more information about a stack's event history, go to Stacks (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/concept-stack.html) // in the AWS CloudFormation User Guide. // -// You can list events for stacks that have failed to create or have been deleted -// by specifying the unique stack identifier (stack ID). +// You can list events for stacks that have failed to create or have been +// deleted by specifying the unique stack identifier (stack 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 AWS CloudFormation's +// API operation DescribeStackEvents for usage and error information. func (c *CloudFormation) DescribeStackEvents(input *DescribeStackEventsInput) (*DescribeStackEventsOutput, error) { req, out := c.DescribeStackEventsRequest(input) err := req.Send() return out, err } +// DescribeStackEventsPages iterates over the pages of a DescribeStackEvents operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeStackEvents 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 DescribeStackEvents operation. +// pageNum := 0 +// err := client.DescribeStackEventsPages(params, +// func(page *DescribeStackEventsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *CloudFormation) DescribeStackEventsPages(input *DescribeStackEventsInput, fn func(p *DescribeStackEventsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeStackEventsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -320,7 +662,30 @@ func (c *CloudFormation) DescribeStackEventsPages(input *DescribeStackEventsInpu const opDescribeStackResource = "DescribeStackResource" -// DescribeStackResourceRequest generates a request for the DescribeStackResource operation. +// DescribeStackResourceRequest generates a "aws/request.Request" representing the +// client's request for the DescribeStackResource operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeStackResource for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeStackResource method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeStackResourceRequest method. +// req, resp := client.DescribeStackResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFormation) DescribeStackResourceRequest(input *DescribeStackResourceInput) (req *request.Request, output *DescribeStackResourceOutput) { op := &request.Operation{ Name: opDescribeStackResource, @@ -338,10 +703,19 @@ func (c *CloudFormation) DescribeStackResourceRequest(input *DescribeStackResour return } +// DescribeStackResource API operation for AWS CloudFormation. +// // Returns a description of the specified resource in the specified stack. // // For deleted stacks, DescribeStackResource returns resource information for // up to 90 days after the stack has been deleted. +// +// 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 CloudFormation's +// API operation DescribeStackResource for usage and error information. func (c *CloudFormation) DescribeStackResource(input *DescribeStackResourceInput) (*DescribeStackResourceOutput, error) { req, out := c.DescribeStackResourceRequest(input) err := req.Send() @@ -350,7 +724,30 @@ func (c *CloudFormation) DescribeStackResource(input *DescribeStackResourceInput const opDescribeStackResources = "DescribeStackResources" -// DescribeStackResourcesRequest generates a request for the DescribeStackResources operation. +// DescribeStackResourcesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeStackResources operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeStackResources for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeStackResources method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeStackResourcesRequest method. +// req, resp := client.DescribeStackResourcesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFormation) DescribeStackResourcesRequest(input *DescribeStackResourcesInput) (req *request.Request, output *DescribeStackResourcesOutput) { op := &request.Operation{ Name: opDescribeStackResources, @@ -368,23 +765,33 @@ func (c *CloudFormation) DescribeStackResourcesRequest(input *DescribeStackResou return } +// DescribeStackResources API operation for AWS CloudFormation. +// // Returns AWS resource descriptions for running and deleted stacks. If StackName // is specified, all the associated resources that are part of the stack are // returned. If PhysicalResourceId is specified, the associated resources of // the stack that the resource belongs to are returned. // -// Only the first 100 resources will be returned. If your stack has more resources -// than this, you should use ListStackResources instead. For deleted stacks, -// DescribeStackResources returns resource information for up to 90 days after -// the stack has been deleted. +// Only the first 100 resources will be returned. If your stack has more resources +// than this, you should use ListStackResources instead. +// +// For deleted stacks, DescribeStackResources returns resource information +// for up to 90 days after the stack has been deleted. // // You must specify either StackName or PhysicalResourceId, but not both. In // addition, you can specify LogicalResourceId to filter the returned result. // For more information about resources, the LogicalResourceId and PhysicalResourceId, // go to the AWS CloudFormation User Guide (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/). // -// A ValidationError is returned if you specify both StackName and PhysicalResourceId +// A ValidationError is returned if you specify both StackName and PhysicalResourceId // in the same request. +// +// 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 CloudFormation's +// API operation DescribeStackResources for usage and error information. func (c *CloudFormation) DescribeStackResources(input *DescribeStackResourcesInput) (*DescribeStackResourcesOutput, error) { req, out := c.DescribeStackResourcesRequest(input) err := req.Send() @@ -393,7 +800,30 @@ func (c *CloudFormation) DescribeStackResources(input *DescribeStackResourcesInp const opDescribeStacks = "DescribeStacks" -// DescribeStacksRequest generates a request for the DescribeStacks operation. +// DescribeStacksRequest generates a "aws/request.Request" representing the +// client's request for the DescribeStacks operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeStacks for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeStacks method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeStacksRequest method. +// req, resp := client.DescribeStacksRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFormation) DescribeStacksRequest(input *DescribeStacksInput) (req *request.Request, output *DescribeStacksOutput) { op := &request.Operation{ Name: opDescribeStacks, @@ -417,14 +847,42 @@ func (c *CloudFormation) DescribeStacksRequest(input *DescribeStacksInput) (req return } +// DescribeStacks API operation for AWS CloudFormation. +// // Returns the description for the specified stack; if no stack name was specified, // then it returns the description for all the stacks created. +// +// If the stack does not exist, an AmazonCloudFormationException is returned. +// +// 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 CloudFormation's +// API operation DescribeStacks for usage and error information. func (c *CloudFormation) DescribeStacks(input *DescribeStacksInput) (*DescribeStacksOutput, error) { req, out := c.DescribeStacksRequest(input) err := req.Send() return out, err } +// DescribeStacksPages iterates over the pages of a DescribeStacks operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeStacks 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 DescribeStacks operation. +// pageNum := 0 +// err := client.DescribeStacksPages(params, +// func(page *DescribeStacksOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *CloudFormation) DescribeStacksPages(input *DescribeStacksInput, fn func(p *DescribeStacksOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeStacksRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -435,7 +893,30 @@ func (c *CloudFormation) DescribeStacksPages(input *DescribeStacksInput, fn func const opEstimateTemplateCost = "EstimateTemplateCost" -// EstimateTemplateCostRequest generates a request for the EstimateTemplateCost operation. +// EstimateTemplateCostRequest generates a "aws/request.Request" representing the +// client's request for the EstimateTemplateCost operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See EstimateTemplateCost for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the EstimateTemplateCost method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the EstimateTemplateCostRequest method. +// req, resp := client.EstimateTemplateCostRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFormation) EstimateTemplateCostRequest(input *EstimateTemplateCostInput) (req *request.Request, output *EstimateTemplateCostOutput) { op := &request.Operation{ Name: opEstimateTemplateCost, @@ -453,9 +934,18 @@ func (c *CloudFormation) EstimateTemplateCostRequest(input *EstimateTemplateCost return } +// EstimateTemplateCost API operation for AWS CloudFormation. +// // Returns the estimated monthly cost of a template. The return value is an // AWS Simple Monthly Calculator URL with a query string that describes the // resources required to run the template. +// +// 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 CloudFormation's +// API operation EstimateTemplateCost for usage and error information. func (c *CloudFormation) EstimateTemplateCost(input *EstimateTemplateCostInput) (*EstimateTemplateCostOutput, error) { req, out := c.EstimateTemplateCostRequest(input) err := req.Send() @@ -464,7 +954,30 @@ func (c *CloudFormation) EstimateTemplateCost(input *EstimateTemplateCostInput) const opExecuteChangeSet = "ExecuteChangeSet" -// ExecuteChangeSetRequest generates a request for the ExecuteChangeSet operation. +// ExecuteChangeSetRequest generates a "aws/request.Request" representing the +// client's request for the ExecuteChangeSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ExecuteChangeSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ExecuteChangeSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ExecuteChangeSetRequest method. +// req, resp := client.ExecuteChangeSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFormation) ExecuteChangeSetRequest(input *ExecuteChangeSetInput) (req *request.Request, output *ExecuteChangeSetOutput) { op := &request.Operation{ Name: opExecuteChangeSet, @@ -482,6 +995,8 @@ func (c *CloudFormation) ExecuteChangeSetRequest(input *ExecuteChangeSetInput) ( return } +// ExecuteChangeSet API operation for AWS CloudFormation. +// // Updates a stack using the input information that was provided when the specified // change set was created. After the call successfully completes, AWS CloudFormation // starts updating the stack. Use the DescribeStacks action to view the status @@ -494,6 +1009,24 @@ func (c *CloudFormation) ExecuteChangeSetRequest(input *ExecuteChangeSetInput) ( // If a stack policy is associated with the stack, AWS CloudFormation enforces // the policy during the update. You can't specify a temporary stack policy // that overrides the current policy. +// +// 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 CloudFormation's +// API operation ExecuteChangeSet for usage and error information. +// +// Returned Error Codes: +// * InvalidChangeSetStatus +// The specified change set cannot be used to update the stack. For example, +// the change set status might be CREATE_IN_PROGRESS or the stack status might +// be UPDATE_IN_PROGRESS. +// +// * ChangeSetNotFound +// The specified change set name or ID doesn't exit. To view valid change sets +// for a stack, use the ListChangeSets action. +// func (c *CloudFormation) ExecuteChangeSet(input *ExecuteChangeSetInput) (*ExecuteChangeSetOutput, error) { req, out := c.ExecuteChangeSetRequest(input) err := req.Send() @@ -502,7 +1035,30 @@ func (c *CloudFormation) ExecuteChangeSet(input *ExecuteChangeSetInput) (*Execut const opGetStackPolicy = "GetStackPolicy" -// GetStackPolicyRequest generates a request for the GetStackPolicy operation. +// GetStackPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetStackPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetStackPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetStackPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetStackPolicyRequest method. +// req, resp := client.GetStackPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFormation) GetStackPolicyRequest(input *GetStackPolicyInput) (req *request.Request, output *GetStackPolicyOutput) { op := &request.Operation{ Name: opGetStackPolicy, @@ -520,8 +1076,17 @@ func (c *CloudFormation) GetStackPolicyRequest(input *GetStackPolicyInput) (req return } +// GetStackPolicy API operation for AWS CloudFormation. +// // Returns the stack policy for a specified stack. If a stack doesn't have a // policy, a null value is returned. +// +// 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 CloudFormation's +// API operation GetStackPolicy for usage and error information. func (c *CloudFormation) GetStackPolicy(input *GetStackPolicyInput) (*GetStackPolicyOutput, error) { req, out := c.GetStackPolicyRequest(input) err := req.Send() @@ -530,7 +1095,30 @@ func (c *CloudFormation) GetStackPolicy(input *GetStackPolicyInput) (*GetStackPo const opGetTemplate = "GetTemplate" -// GetTemplateRequest generates a request for the GetTemplate operation. +// GetTemplateRequest generates a "aws/request.Request" representing the +// client's request for the GetTemplate operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetTemplate for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetTemplate method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetTemplateRequest method. +// req, resp := client.GetTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFormation) GetTemplateRequest(input *GetTemplateInput) (req *request.Request, output *GetTemplateOutput) { op := &request.Operation{ Name: opGetTemplate, @@ -548,13 +1136,22 @@ func (c *CloudFormation) GetTemplateRequest(input *GetTemplateInput) (req *reque return } +// GetTemplate API operation for AWS CloudFormation. +// // Returns the template body for a specified stack. You can get the template // for running or deleted stacks. // // For deleted stacks, GetTemplate returns the template for up to 90 days after // the stack has been deleted. // -// If the template does not exist, a ValidationError is returned. +// If the template does not exist, a ValidationError is returned. +// +// 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 CloudFormation's +// API operation GetTemplate for usage and error information. func (c *CloudFormation) GetTemplate(input *GetTemplateInput) (*GetTemplateOutput, error) { req, out := c.GetTemplateRequest(input) err := req.Send() @@ -563,7 +1160,30 @@ func (c *CloudFormation) GetTemplate(input *GetTemplateInput) (*GetTemplateOutpu const opGetTemplateSummary = "GetTemplateSummary" -// GetTemplateSummaryRequest generates a request for the GetTemplateSummary operation. +// GetTemplateSummaryRequest generates a "aws/request.Request" representing the +// client's request for the GetTemplateSummary operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetTemplateSummary for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetTemplateSummary method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetTemplateSummaryRequest method. +// req, resp := client.GetTemplateSummaryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFormation) GetTemplateSummaryRequest(input *GetTemplateSummaryInput) (req *request.Request, output *GetTemplateSummaryOutput) { op := &request.Operation{ Name: opGetTemplateSummary, @@ -581,6 +1201,8 @@ func (c *CloudFormation) GetTemplateSummaryRequest(input *GetTemplateSummaryInpu return } +// GetTemplateSummary API operation for AWS CloudFormation. +// // Returns information about a new or existing template. The GetTemplateSummary // action is useful for viewing parameter information, such as default parameter // values and parameter types, before you create or update a stack. @@ -591,6 +1213,13 @@ func (c *CloudFormation) GetTemplateSummaryRequest(input *GetTemplateSummaryInpu // For deleted stacks, GetTemplateSummary returns the template information // for up to 90 days after the stack has been deleted. If the template does // not exist, a ValidationError is returned. +// +// 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 CloudFormation's +// API operation GetTemplateSummary for usage and error information. func (c *CloudFormation) GetTemplateSummary(input *GetTemplateSummaryInput) (*GetTemplateSummaryOutput, error) { req, out := c.GetTemplateSummaryRequest(input) err := req.Send() @@ -599,7 +1228,30 @@ func (c *CloudFormation) GetTemplateSummary(input *GetTemplateSummaryInput) (*Ge const opListChangeSets = "ListChangeSets" -// ListChangeSetsRequest generates a request for the ListChangeSets operation. +// ListChangeSetsRequest generates a "aws/request.Request" representing the +// client's request for the ListChangeSets operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListChangeSets for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListChangeSets method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListChangeSetsRequest method. +// req, resp := client.ListChangeSetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFormation) ListChangeSetsRequest(input *ListChangeSetsInput) (req *request.Request, output *ListChangeSetsOutput) { op := &request.Operation{ Name: opListChangeSets, @@ -617,9 +1269,18 @@ func (c *CloudFormation) ListChangeSetsRequest(input *ListChangeSetsInput) (req return } +// ListChangeSets API operation for AWS CloudFormation. +// // Returns the ID and status of each active change set for a stack. For example, // AWS CloudFormation lists change sets that are in the CREATE_IN_PROGRESS or // CREATE_PENDING state. +// +// 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 CloudFormation's +// API operation ListChangeSets for usage and error information. func (c *CloudFormation) ListChangeSets(input *ListChangeSetsInput) (*ListChangeSetsOutput, error) { req, out := c.ListChangeSetsRequest(input) err := req.Send() @@ -628,7 +1289,30 @@ func (c *CloudFormation) ListChangeSets(input *ListChangeSetsInput) (*ListChange const opListStackResources = "ListStackResources" -// ListStackResourcesRequest generates a request for the ListStackResources operation. +// ListStackResourcesRequest generates a "aws/request.Request" representing the +// client's request for the ListStackResources operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListStackResources for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListStackResources method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListStackResourcesRequest method. +// req, resp := client.ListStackResourcesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFormation) ListStackResourcesRequest(input *ListStackResourcesInput) (req *request.Request, output *ListStackResourcesOutput) { op := &request.Operation{ Name: opListStackResources, @@ -652,16 +1336,42 @@ func (c *CloudFormation) ListStackResourcesRequest(input *ListStackResourcesInpu return } +// ListStackResources API operation for AWS CloudFormation. +// // Returns descriptions of all resources of the specified stack. // // For deleted stacks, ListStackResources returns resource information for // up to 90 days after the stack has been deleted. +// +// 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 CloudFormation's +// API operation ListStackResources for usage and error information. func (c *CloudFormation) ListStackResources(input *ListStackResourcesInput) (*ListStackResourcesOutput, error) { req, out := c.ListStackResourcesRequest(input) err := req.Send() return out, err } +// ListStackResourcesPages iterates over the pages of a ListStackResources operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListStackResources 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 ListStackResources operation. +// pageNum := 0 +// err := client.ListStackResourcesPages(params, +// func(page *ListStackResourcesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *CloudFormation) ListStackResourcesPages(input *ListStackResourcesInput, fn func(p *ListStackResourcesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListStackResourcesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -672,7 +1382,30 @@ func (c *CloudFormation) ListStackResourcesPages(input *ListStackResourcesInput, const opListStacks = "ListStacks" -// ListStacksRequest generates a request for the ListStacks operation. +// ListStacksRequest generates a "aws/request.Request" representing the +// client's request for the ListStacks operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListStacks for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListStacks method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListStacksRequest method. +// req, resp := client.ListStacksRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFormation) ListStacksRequest(input *ListStacksInput) (req *request.Request, output *ListStacksOutput) { op := &request.Operation{ Name: opListStacks, @@ -696,17 +1429,43 @@ func (c *CloudFormation) ListStacksRequest(input *ListStacksInput) (req *request return } +// ListStacks API operation for AWS CloudFormation. +// // Returns the summary information for stacks whose status matches the specified // StackStatusFilter. Summary information for stacks that have been deleted // is kept for 90 days after the stack is deleted. If no StackStatusFilter is // specified, summary information for all stacks is returned (including existing // stacks and stacks that have been deleted). +// +// 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 CloudFormation's +// API operation ListStacks for usage and error information. func (c *CloudFormation) ListStacks(input *ListStacksInput) (*ListStacksOutput, error) { req, out := c.ListStacksRequest(input) err := req.Send() return out, err } +// ListStacksPages iterates over the pages of a ListStacks operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListStacks 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 ListStacks operation. +// pageNum := 0 +// err := client.ListStacksPages(params, +// func(page *ListStacksOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *CloudFormation) ListStacksPages(input *ListStacksInput, fn func(p *ListStacksOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListStacksRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -717,7 +1476,30 @@ func (c *CloudFormation) ListStacksPages(input *ListStacksInput, fn func(p *List const opSetStackPolicy = "SetStackPolicy" -// SetStackPolicyRequest generates a request for the SetStackPolicy operation. +// SetStackPolicyRequest generates a "aws/request.Request" representing the +// client's request for the SetStackPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetStackPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetStackPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetStackPolicyRequest method. +// req, resp := client.SetStackPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFormation) SetStackPolicyRequest(input *SetStackPolicyInput) (req *request.Request, output *SetStackPolicyOutput) { op := &request.Operation{ Name: opSetStackPolicy, @@ -737,7 +1519,16 @@ func (c *CloudFormation) SetStackPolicyRequest(input *SetStackPolicyInput) (req return } +// SetStackPolicy API operation for AWS CloudFormation. +// // Sets a stack policy for a specified stack. +// +// 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 CloudFormation's +// API operation SetStackPolicy for usage and error information. func (c *CloudFormation) SetStackPolicy(input *SetStackPolicyInput) (*SetStackPolicyOutput, error) { req, out := c.SetStackPolicyRequest(input) err := req.Send() @@ -746,7 +1537,30 @@ func (c *CloudFormation) SetStackPolicy(input *SetStackPolicyInput) (*SetStackPo const opSignalResource = "SignalResource" -// SignalResourceRequest generates a request for the SignalResource operation. +// SignalResourceRequest generates a "aws/request.Request" representing the +// client's request for the SignalResource operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SignalResource for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SignalResource method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SignalResourceRequest method. +// req, resp := client.SignalResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFormation) SignalResourceRequest(input *SignalResourceInput) (req *request.Request, output *SignalResourceOutput) { op := &request.Operation{ Name: opSignalResource, @@ -766,12 +1580,21 @@ func (c *CloudFormation) SignalResourceRequest(input *SignalResourceInput) (req return } +// SignalResource API operation for AWS CloudFormation. +// // Sends a signal to the specified resource with a success or failure status. // You can use the SignalResource API in conjunction with a creation policy // or update policy. AWS CloudFormation doesn't proceed with a stack creation // or update until resources receive the required number of signals or the timeout // period is exceeded. The SignalResource API is useful in cases where you want // to send signals from anywhere other than an Amazon EC2 instance. +// +// 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 CloudFormation's +// API operation SignalResource for usage and error information. func (c *CloudFormation) SignalResource(input *SignalResourceInput) (*SignalResourceOutput, error) { req, out := c.SignalResourceRequest(input) err := req.Send() @@ -780,7 +1603,30 @@ func (c *CloudFormation) SignalResource(input *SignalResourceInput) (*SignalReso const opUpdateStack = "UpdateStack" -// UpdateStackRequest generates a request for the UpdateStack operation. +// UpdateStackRequest generates a "aws/request.Request" representing the +// client's request for the UpdateStack operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateStack for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateStack method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateStackRequest method. +// req, resp := client.UpdateStackRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFormation) UpdateStackRequest(input *UpdateStackInput) (req *request.Request, output *UpdateStackOutput) { op := &request.Operation{ Name: opUpdateStack, @@ -798,6 +1644,8 @@ func (c *CloudFormation) UpdateStackRequest(input *UpdateStackInput) (req *reque return } +// UpdateStack API operation for AWS CloudFormation. +// // Updates a stack as specified in the template. After the call completes successfully, // the stack update starts. You can check the status of the stack via the DescribeStacks // action. @@ -807,6 +1655,19 @@ func (c *CloudFormation) UpdateStackRequest(input *UpdateStackInput) (req *reque // // For more information about creating an update template, updating a stack, // and monitoring the progress of the update, see Updating a Stack (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.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. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation UpdateStack for usage and error information. +// +// Returned Error Codes: +// * InsufficientCapabilitiesException +// The template contains resources with capabilities that were not specified +// in the Capabilities parameter. +// func (c *CloudFormation) UpdateStack(input *UpdateStackInput) (*UpdateStackOutput, error) { req, out := c.UpdateStackRequest(input) err := req.Send() @@ -815,7 +1676,30 @@ func (c *CloudFormation) UpdateStack(input *UpdateStackInput) (*UpdateStackOutpu const opValidateTemplate = "ValidateTemplate" -// ValidateTemplateRequest generates a request for the ValidateTemplate operation. +// ValidateTemplateRequest generates a "aws/request.Request" representing the +// client's request for the ValidateTemplate operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ValidateTemplate for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ValidateTemplate method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ValidateTemplateRequest method. +// req, resp := client.ValidateTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFormation) ValidateTemplateRequest(input *ValidateTemplateInput) (req *request.Request, output *ValidateTemplateOutput) { op := &request.Operation{ Name: opValidateTemplate, @@ -833,7 +1717,19 @@ func (c *CloudFormation) ValidateTemplateRequest(input *ValidateTemplateInput) ( return } -// Validates a specified template. +// ValidateTemplate API operation for AWS CloudFormation. +// +// Validates a specified template. AWS CloudFormation first checks if the template +// is valid JSON. If it isn't, AWS CloudFormation checks if the template is +// valid YAML. If both these checks fail, AWS CloudFormation returns a template +// validation error. +// +// 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 CloudFormation's +// API operation ValidateTemplate for usage and error information. func (c *CloudFormation) ValidateTemplate(input *ValidateTemplateInput) (*ValidateTemplateOutput, error) { req, out := c.ValidateTemplateRequest(input) err := req.Send() @@ -866,6 +1762,8 @@ type CancelUpdateStackInput struct { _ struct{} `type:"structure"` // The name or the unique stack ID that is associated with the stack. + // + // StackName is a required field StackName *string `type:"string" required:"true"` } @@ -947,6 +1845,13 @@ type ChangeSetSummary struct { // Descriptive information about the change set. Description *string `min:"1" type:"string"` + // If the change set execution status is AVAILABLE, you can execute the change + // set. If you can’t execute the change set, the status indicates why. For example, + // a change set might be in an UNAVAILABLE state because AWS CloudFormation + // is still creating it or in an OBSOLETE state because the stack was already + // updated. + ExecutionStatus *string `type:"string" enum:"ExecutionStatus"` + // The ID of the stack with which the change set is associated. StackId *string `type:"string"` @@ -976,8 +1881,23 @@ func (s ChangeSetSummary) GoString() string { type ContinueUpdateRollbackInput struct { _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) + // role that AWS CloudFormation assumes to roll back the stack. AWS CloudFormation + // uses the role's credentials to make calls on your behalf. AWS CloudFormation + // always uses this role for all future operations on the stack. As long as + // users have permission to operate on the stack, AWS CloudFormation uses this + // role even if the users don't have permission to pass it. Ensure that the + // role grants least privilege. + // + // If you don't specify a value, AWS CloudFormation uses the role that was + // previously associated with the stack. If no role is available, AWS CloudFormation + // uses a temporary session that is generated from your user credentials. + RoleARN *string `min:"20" type:"string"` + // The name or the unique ID of the stack that you want to continue rolling // back. + // + // StackName is a required field StackName *string `min:"1" type:"string" required:"true"` } @@ -994,6 +1914,9 @@ func (s ContinueUpdateRollbackInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ContinueUpdateRollbackInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ContinueUpdateRollbackInput"} + if s.RoleARN != nil && len(*s.RoleARN) < 20 { + invalidParams.Add(request.NewErrParamMinLen("RoleARN", 20)) + } if s.StackName == nil { invalidParams.Add(request.NewErrParamRequired("StackName")) } @@ -1026,14 +1949,14 @@ func (s ContinueUpdateRollbackOutput) GoString() string { type CreateChangeSetInput struct { _ struct{} `type:"structure"` - // A list of capabilities that you must specify before AWS CloudFormation can - // update certain stacks. Some stack templates might include resources that - // can affect permissions in your AWS account, for example, by creating new - // AWS Identity and Access Management (IAM) users. For those stacks, you must - // explicitly acknowledge their capabilities by specifying this parameter. + // A list of values that you must specify before AWS CloudFormation can update + // certain stacks. Some stack templates might include resources that can affect + // permissions in your AWS account, for example, by creating new AWS Identity + // and Access Management (IAM) users. For those stacks, you must explicitly + // acknowledge their capabilities by specifying this parameter. // - // Currently, the only valid value is CAPABILITY_IAM, which is required for - // the following resources: AWS::IAM::AccessKey (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html), + // The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following + // resources require you to specify this parameter: AWS::IAM::AccessKey (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html), // AWS::IAM::Group (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html), // AWS::IAM::InstanceProfile (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html), // AWS::IAM::Policy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html), @@ -1042,8 +1965,14 @@ type CreateChangeSetInput struct { // and AWS::IAM::UserToGroupAddition (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html). // If your stack template contains these resources, we recommend that you review // all permissions associated with them and edit their permissions if necessary. - // If your template contains any of the listed resources and you don't specify - // this parameter, this action returns an InsufficientCapabilities error. + // + // If you have IAM resources, you can specify either capability. If you have + // IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If + // you don't specify this parameter, this action returns an InsufficientCapabilities + // error. + // + // For more information, see Acknowledging IAM Resources in AWS CloudFormation + // Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities). Capabilities []*string `type:"list"` // The name of the change set. The name must be unique among all change sets @@ -1052,6 +1981,8 @@ type CreateChangeSetInput struct { // A change set name can contain only alphanumeric, case sensitive characters // and hyphens. It must start with an alphabetic character and cannot exceed // 128 characters. + // + // ChangeSetName is a required field ChangeSetName *string `min:"1" type:"string" required:"true"` // A unique identifier for this CreateChangeSet request. Specify this token @@ -1086,10 +2017,25 @@ type CreateChangeSetInput struct { // in the AWS CloudFormation User Guide. ResourceTypes []*string `type:"list"` + // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) + // role that AWS CloudFormation assumes when executing the change set. AWS CloudFormation + // uses the role's credentials to make calls on your behalf. AWS CloudFormation + // always uses this role for all future operations on the stack. As long as + // users have permission to operate on the stack, AWS CloudFormation uses this + // role even if the users don't have permission to pass it. Ensure that the + // role grants least privilege. + // + // If you don't specify a value, AWS CloudFormation uses the role that was + // previously associated with the stack. If no role is available, AWS CloudFormation + // uses a temporary session that is generated from your user credentials. + RoleARN *string `min:"20" type:"string"` + // The name or the unique ID of the stack for which you are creating a change // set. AWS CloudFormation generates the change set by comparing this stack's // information with the information that you submit, such as a modified template // or different parameter input values. + // + // StackName is a required field StackName *string `min:"1" type:"string" required:"true"` // Key-value pairs to associate with this stack. AWS CloudFormation also propagates @@ -1142,6 +2088,9 @@ func (s *CreateChangeSetInput) Validate() error { if s.Description != nil && len(*s.Description) < 1 { invalidParams.Add(request.NewErrParamMinLen("Description", 1)) } + if s.RoleARN != nil && len(*s.RoleARN) < 20 { + invalidParams.Add(request.NewErrParamMinLen("RoleARN", 20)) + } if s.StackName == nil { invalidParams.Add(request.NewErrParamRequired("StackName")) } @@ -1183,14 +2132,14 @@ func (s CreateChangeSetOutput) GoString() string { type CreateStackInput struct { _ struct{} `type:"structure"` - // A list of capabilities that you must specify before AWS CloudFormation can - // create certain stacks. Some stack templates might include resources that - // can affect permissions in your AWS account, for example, by creating new - // AWS Identity and Access Management (IAM) users. For those stacks, you must - // explicitly acknowledge their capabilities by specifying this parameter. + // A list of values that you must specify before AWS CloudFormation can create + // certain stacks. Some stack templates might include resources that can affect + // permissions in your AWS account, for example, by creating new AWS Identity + // and Access Management (IAM) users. For those stacks, you must explicitly + // acknowledge their capabilities by specifying this parameter. // - // Currently, the only valid value is CAPABILITY_IAM, which is required for - // the following resources: AWS::IAM::AccessKey (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html), + // The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following + // resources require you to specify this parameter: AWS::IAM::AccessKey (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html), // AWS::IAM::Group (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html), // AWS::IAM::InstanceProfile (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html), // AWS::IAM::Policy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html), @@ -1199,8 +2148,14 @@ type CreateStackInput struct { // and AWS::IAM::UserToGroupAddition (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html). // If your stack template contains these resources, we recommend that you review // all permissions associated with them and edit their permissions if necessary. - // If your template contains any of the listed resources and you don't specify - // this parameter, this action returns an InsufficientCapabilities error. + // + // If you have IAM resources, you can specify either capability. If you have + // IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If + // you don't specify this parameter, this action returns an InsufficientCapabilities + // error. + // + // For more information, see Acknowledging IAM Resources in AWS CloudFormation + // Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities). Capabilities []*string `type:"list"` // Set to true to disable rollback of the stack if stack creation failed. You @@ -1210,7 +2165,7 @@ type CreateStackInput struct { DisableRollback *bool `type:"boolean"` // The Simple Notification Service (SNS) topic ARNs to publish stack related - // events. You can find your SNS topic ARNs using the SNS console (http://console.aws.amazon.com/sns) + // events. You can find your SNS topic ARNs using the SNS console (https://console.aws.amazon.com/sns) // or your Command Line Interface (CLI). NotificationARNs []*string `type:"list"` @@ -1230,9 +2185,9 @@ type CreateStackInput struct { // create stack action, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance. // Use the following syntax to describe template resource types: AWS::* (for // all AWS resource), Custom::* (for all custom resources), Custom::logical_ID - // (for a specific custom resource), AWS::service_name::* (for all resources + // (for a specific custom resource), AWS::service_name::* (for all resources // of a particular AWS service), and AWS::service_name::resource_logical_ID - // (for a specific AWS resource). + // (for a specific AWS resource). // // If the list of resource types doesn't include a resource that you're creating, // the stack creation fails. By default, AWS CloudFormation grants permissions @@ -1242,12 +2197,27 @@ type CreateStackInput struct { // Management (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html). ResourceTypes []*string `type:"list"` + // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) + // role that AWS CloudFormation assumes to create the stack. AWS CloudFormation + // uses the role's credentials to make calls on your behalf. AWS CloudFormation + // always uses this role for all future operations on the stack. As long as + // users have permission to operate on the stack, AWS CloudFormation uses this + // role even if the users don't have permission to pass it. Ensure that the + // role grants least privilege. + // + // If you don't specify a value, AWS CloudFormation uses the role that was + // previously associated with the stack. If no role is available, AWS CloudFormation + // uses a temporary session that is generated from your user credentials. + RoleARN *string `min:"20" type:"string"` + // The name that is associated with the stack. The name must be unique in the // region in which you are creating the stack. // - // A stack name can contain only alphanumeric characters (case sensitive) and - // hyphens. It must start with an alphabetic character and cannot be longer + // A stack name can contain only alphanumeric characters (case sensitive) + // and hyphens. It must start with an alphabetic character and cannot be longer // than 128 characters. + // + // StackName is a required field StackName *string `type:"string" required:"true"` // Structure containing the stack policy body. For more information, go to @@ -1257,7 +2227,7 @@ type CreateStackInput struct { StackPolicyBody *string `min:"1" type:"string"` // Location of a file containing the stack policy. The URL must point to a policy - // (max size: 16KB) located in an S3 bucket in the same region as the stack. + // (maximum size: 16 KB) located in an S3 bucket in the same region as the stack. // You can specify either the StackPolicyBody or the StackPolicyURL parameter, // but not both. StackPolicyURL *string `min:"1" type:"string"` @@ -1304,6 +2274,9 @@ func (s CreateStackInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateStackInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateStackInput"} + if s.RoleARN != nil && len(*s.RoleARN) < 20 { + invalidParams.Add(request.NewErrParamMinLen("RoleARN", 20)) + } if s.StackName == nil { invalidParams.Add(request.NewErrParamRequired("StackName")) } @@ -1353,6 +2326,8 @@ type DeleteChangeSetInput struct { // The name or Amazon Resource Name (ARN) of the change set that you want to // delete. + // + // ChangeSetName is a required field ChangeSetName *string `min:"1" type:"string" required:"true"` // If you specified the name of a change set to delete, specify the stack name @@ -1416,7 +2391,18 @@ type DeleteStackInput struct { // a non-empty S3 bucket, but you want to delete the stack. RetainResources []*string `type:"list"` + // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) + // role that AWS CloudFormation assumes to delete the stack. AWS CloudFormation + // uses the role's credentials to make calls on your behalf. + // + // If you don't specify a value, AWS CloudFormation uses the role that was + // previously associated with the stack. If no role is available, AWS CloudFormation + // uses a temporary session that is generated from your user credentials. + RoleARN *string `min:"20" type:"string"` + // The name or the unique stack ID that is associated with the stack. + // + // StackName is a required field StackName *string `type:"string" required:"true"` } @@ -1433,6 +2419,9 @@ func (s DeleteStackInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteStackInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteStackInput"} + if s.RoleARN != nil && len(*s.RoleARN) < 20 { + invalidParams.Add(request.NewErrParamMinLen("RoleARN", 20)) + } if s.StackName == nil { invalidParams.Add(request.NewErrParamRequired("StackName")) } @@ -1517,6 +2506,8 @@ type DescribeChangeSetInput struct { // The name or Amazon Resource Name (ARN) of the change set that you want to // describe. + // + // ChangeSetName is a required field ChangeSetName *string `min:"1" type:"string" required:"true"` // A string (provided by the DescribeChangeSet response output) that identifies @@ -1584,6 +2575,13 @@ type DescribeChangeSetOutput struct { // Information about the change set. Description *string `min:"1" type:"string"` + // If the change set execution status is AVAILABLE, you can execute the change + // set. If you can’t execute the change set, the status indicates why. For example, + // a change set might be in an UNAVAILABLE state because AWS CloudFormation + // is still creating it or in an OBSOLETE state because the stack was already + // updated. + ExecutionStatus *string `type:"string" enum:"ExecutionStatus"` + // If the output exceeds 1 MB, a string that identifies the next page of changes. // If there is no additional page, this value is null. NextToken *string `min:"1" type:"string"` @@ -1637,9 +2635,12 @@ type DescribeStackEventsInput struct { // The name or the unique stack ID that is associated with the stack, which // are not always interchangeable: // - // Running stacks: You can specify either the stack's name or its unique stack - // ID. Deleted stacks: You must specify the unique stack ID. Default: There - // is no default value. + // Running stacks: You can specify either the stack's name or its unique + // stack ID. + // + // Deleted stacks: You must specify the unique stack ID. + // + // Default: There is no default value. StackName *string `type:"string"` } @@ -1695,14 +2696,21 @@ type DescribeStackResourceInput struct { // The logical name of the resource as specified in the template. // // Default: There is no default value. + // + // LogicalResourceId is a required field LogicalResourceId *string `type:"string" required:"true"` // The name or the unique stack ID that is associated with the stack, which // are not always interchangeable: // - // Running stacks: You can specify either the stack's name or its unique stack - // ID. Deleted stacks: You must specify the unique stack ID. Default: There - // is no default value. + // Running stacks: You can specify either the stack's name or its unique + // stack ID. + // + // Deleted stacks: You must specify the unique stack ID. + // + // Default: There is no default value. + // + // StackName is a required field StackName *string `type:"string" required:"true"` } @@ -1777,9 +2785,12 @@ type DescribeStackResourcesInput struct { // The name or the unique stack ID that is associated with the stack, which // are not always interchangeable: // - // Running stacks: You can specify either the stack's name or its unique stack - // ID. Deleted stacks: You must specify the unique stack ID. Default: There - // is no default value. + // Running stacks: You can specify either the stack's name or its unique + // stack ID. + // + // Deleted stacks: You must specify the unique stack ID. + // + // Default: There is no default value. // // Required: Conditional. If you do not specify StackName, you must specify // PhysicalResourceId. @@ -1824,9 +2835,12 @@ type DescribeStacksInput struct { // The name or the unique stack ID that is associated with the stack, which // are not always interchangeable: // - // Running stacks: You can specify either the stack's name or its unique stack - // ID. Deleted stacks: You must specify the unique stack ID. Default: There - // is no default value. + // Running stacks: You can specify either the stack's name or its unique + // stack ID. + // + // Deleted stacks: You must specify the unique stack ID. + // + // Default: There is no default value. StackName *string `type:"string"` } @@ -1875,6 +2889,7 @@ func (s DescribeStacksOutput) GoString() string { return s.String() } +// The input for an EstimateTemplateCost action. type EstimateTemplateCostInput struct { _ struct{} `type:"structure"` @@ -1951,6 +2966,8 @@ type ExecuteChangeSetInput struct { // The name or ARN of the change set that you want use to update the specified // stack. + // + // ChangeSetName is a required field ChangeSetName *string `min:"1" type:"string" required:"true"` // If you specified the name of a change set, specify the stack name or ID (ARN) @@ -2008,6 +3025,8 @@ type GetStackPolicyInput struct { // The name or unique stack ID that is associated with the stack whose policy // you want to get. + // + // StackName is a required field StackName *string `type:"string" required:"true"` } @@ -2061,9 +3080,14 @@ type GetTemplateInput struct { // The name or the unique stack ID that is associated with the stack, which // are not always interchangeable: // - // Running stacks: You can specify either the stack's name or its unique stack - // ID. Deleted stacks: You must specify the unique stack ID. Default: There - // is no default value. + // Running stacks: You can specify either the stack's name or its unique + // stack ID. + // + // Deleted stacks: You must specify the unique stack ID. + // + // Default: There is no default value. + // + // StackName is a required field StackName *string `type:"string" required:"true"` } @@ -2097,6 +3121,9 @@ type GetTemplateOutput struct { // Structure containing the template body. (For more information, go to Template // Anatomy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) // in the AWS CloudFormation User Guide.) + // + // AWS CloudFormation returns the same template that was used when the stack + // was created. TemplateBody *string `min:"1" type:"string"` } @@ -2175,11 +3202,14 @@ func (s *GetTemplateSummaryInput) Validate() error { type GetTemplateSummaryOutput struct { _ struct{} `type:"structure"` - // The capabilities found within the template. Currently, AWS CloudFormation - // supports only the CAPABILITY_IAM capability. If your template contains IAM - // resources, you must specify the CAPABILITY_IAM value for this parameter when - // you use the CreateStack or UpdateStack actions with your template; otherwise, - // those actions return an InsufficientCapabilities error. + // The capabilities found within the template. If your template contains IAM + // resources, you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value + // for this parameter when you use the CreateStack or UpdateStack actions with + // your template; otherwise, those actions return an InsufficientCapabilities + // error. + // + // For more information, see Acknowledging IAM Resources in AWS CloudFormation + // Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities). Capabilities []*string `type:"list"` // The list of resources that generated the values in the Capabilities response @@ -2225,6 +3255,8 @@ type ListChangeSetsInput struct { // The name or the Amazon Resource Name (ARN) of the stack for which you want // to list change sets. + // + // StackName is a required field StackName *string `min:"1" type:"string" required:"true"` } @@ -2291,9 +3323,14 @@ type ListStackResourcesInput struct { // The name or the unique stack ID that is associated with the stack, which // are not always interchangeable: // - // Running stacks: You can specify either the stack's name or its unique stack - // ID. Deleted stacks: You must specify the unique stack ID. Default: There - // is no default value. + // Running stacks: You can specify either the stack's name or its unique + // stack ID. + // + // Deleted stacks: You must specify the unique stack ID. + // + // Default: There is no default value. + // + // StackName is a required field StackName *string `type:"string" required:"true"` } @@ -2578,17 +3615,23 @@ type ResourceChangeDetail struct { // The group to which the CausingEntity value belongs. There are five entity // groups: // - // ResourceReference entities are Ref intrinsic functions that refer to resources - // in the template, such as { "Ref" : "MyEC2InstanceResource" }. ParameterReference - // entities are Ref intrinsic functions that get template parameter values, - // such as { "Ref" : "MyPasswordParameter" }. ResourceAttribute entities are - // Fn::GetAtt intrinsic functions that get resource attribute values, such as - // { "Fn::GetAtt" : [ "MyEC2InstanceResource", "PublicDnsName" ] }. DirectModification - // entities are changes that are made directly to the template. Automatic entities - // are AWS::CloudFormation::Stack resource types, which are also known as nested - // stacks. If you made no changes to the AWS::CloudFormation::Stack resource, - // AWS CloudFormation sets the ChangeSource to Automatic because the nested - // stack's template might have changed. Changes to a nested stack's template + // ResourceReference entities are Ref intrinsic functions that refer to + // resources in the template, such as { "Ref" : "MyEC2InstanceResource" }. + // + // ParameterReference entities are Ref intrinsic functions that get template + // parameter values, such as { "Ref" : "MyPasswordParameter" }. + // + // ResourceAttribute entities are Fn::GetAtt intrinsic functions that get + // resource attribute values, such as { "Fn::GetAtt" : [ "MyEC2InstanceResource", + // "PublicDnsName" ] }. + // + // DirectModification entities are changes that are made directly to the + // template. + // + // Automatic entities are AWS::CloudFormation::Stack resource types, which + // are also known as nested stacks. If you made no changes to the AWS::CloudFormation::Stack + // resource, AWS CloudFormation sets the ChangeSource to Automatic because the + // nested stack's template might have changed. Changes to a nested stack's template // aren't visible to AWS CloudFormation until you run an update on the parent // stack. ChangeSource *string `type:"string" enum:"ChangeSource"` @@ -2661,6 +3704,8 @@ type SetStackPolicyInput struct { _ struct{} `type:"structure"` // The name or unique stack ID that you want to associate a policy with. + // + // StackName is a required field StackName *string `type:"string" required:"true"` // Structure containing the stack policy body. For more information, go to @@ -2725,20 +3770,28 @@ type SignalResourceInput struct { // The logical ID of the resource that you want to signal. The logical ID is // the name of the resource that given in the template. + // + // LogicalResourceId is a required field LogicalResourceId *string `type:"string" required:"true"` // The stack name or unique stack ID that includes the resource that you want // to signal. + // + // StackName is a required field StackName *string `min:"1" type:"string" required:"true"` // The status of the signal, which is either success or failure. A failure signal // causes AWS CloudFormation to immediately fail the stack creation or update. + // + // Status is a required field Status *string `type:"string" required:"true" enum:"ResourceSignalStatus"` // A unique ID of the signal. When you signal Amazon EC2 instances or Auto Scaling // groups, specify the instance ID that you are signaling as the unique ID. // If you send multiple signals to a single resource (such as signaling a wait // condition), each signal requires a different unique ID. + // + // UniqueId is a required field UniqueId *string `min:"1" type:"string" required:"true"` } @@ -2802,6 +3855,8 @@ type Stack struct { Capabilities []*string `type:"list"` // The time at which the stack was created. + // + // CreationTime is a required field CreationTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // A user-defined description associated with the stack. @@ -2809,7 +3864,9 @@ type Stack struct { // Boolean to enable or disable rollback on stack creation failures: // - // true: disable rollback false: enable rollback + // true: disable rollback + // + // false: enable rollback DisableRollback *bool `type:"boolean"` // The time the stack was last updated. This field will only be returned if @@ -2825,13 +3882,22 @@ type Stack struct { // A list of Parameter structures. Parameters []*Parameter `type:"list"` + // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) + // role that is associated with the stack. During a stack operation, AWS CloudFormation + // uses this role's credentials to make calls on your behalf. + RoleARN *string `min:"20" type:"string"` + // Unique identifier of the stack. StackId *string `type:"string"` // The name associated with the stack. + // + // StackName is a required field StackName *string `type:"string" required:"true"` // Current status of the stack. + // + // StackStatus is a required field StackStatus *string `type:"string" required:"true" enum:"StackStatus"` // Success/failure message associated with the stack status. @@ -2859,6 +3925,8 @@ type StackEvent struct { _ struct{} `type:"structure"` // The unique ID of this event. + // + // EventId is a required field EventId *string `type:"string" required:"true"` // The logical name of the resource specified in the template. @@ -2883,12 +3951,18 @@ type StackEvent struct { ResourceType *string `min:"1" type:"string"` // The unique ID name of the instance of the stack. + // + // StackId is a required field StackId *string `type:"string" required:"true"` // The name associated with a stack. + // + // StackName is a required field StackName *string `type:"string" required:"true"` // Time the status was updated. + // + // Timestamp is a required field Timestamp *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` } @@ -2910,6 +3984,8 @@ type StackResource struct { Description *string `min:"1" type:"string"` // The logical name of the resource specified in the template. + // + // LogicalResourceId is a required field LogicalResourceId *string `type:"string" required:"true"` // The name or unique identifier that corresponds to a physical instance ID @@ -2917,6 +3993,8 @@ type StackResource struct { PhysicalResourceId *string `type:"string"` // Current status of the resource. + // + // ResourceStatus is a required field ResourceStatus *string `type:"string" required:"true" enum:"ResourceStatus"` // Success/failure message associated with the resource. @@ -2925,6 +4003,8 @@ type StackResource struct { // Type of resource. (For more information, go to AWS Resource Types Reference // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) // in the AWS CloudFormation User Guide.) + // + // ResourceType is a required field ResourceType *string `min:"1" type:"string" required:"true"` // Unique identifier of the stack. @@ -2934,6 +4014,8 @@ type StackResource struct { StackName *string `type:"string"` // Time the status was updated. + // + // Timestamp is a required field Timestamp *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` } @@ -2955,13 +4037,17 @@ type StackResourceDetail struct { Description *string `min:"1" type:"string"` // Time the status was updated. + // + // LastUpdatedTimestamp is a required field LastUpdatedTimestamp *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // The logical name of the resource specified in the template. + // + // LogicalResourceId is a required field LogicalResourceId *string `type:"string" required:"true"` - // The JSON format content of the Metadata attribute declared for the resource. - // For more information, see Metadata Attribute (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html) + // The content of the Metadata attribute declared for the resource. For more + // information, see Metadata Attribute (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html) // in the AWS CloudFormation User Guide. Metadata *string `type:"string"` @@ -2970,6 +4056,8 @@ type StackResourceDetail struct { PhysicalResourceId *string `type:"string"` // Current status of the resource. + // + // ResourceStatus is a required field ResourceStatus *string `type:"string" required:"true" enum:"ResourceStatus"` // Success/failure message associated with the resource. @@ -2978,6 +4066,8 @@ type StackResourceDetail struct { // Type of resource. ((For more information, go to AWS Resource Types Reference // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) // in the AWS CloudFormation User Guide.) + // + // ResourceType is a required field ResourceType *string `min:"1" type:"string" required:"true"` // Unique identifier of the stack. @@ -3002,9 +4092,13 @@ type StackResourceSummary struct { _ struct{} `type:"structure"` // Time the status was updated. + // + // LastUpdatedTimestamp is a required field LastUpdatedTimestamp *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // The logical name of the resource specified in the template. + // + // LogicalResourceId is a required field LogicalResourceId *string `type:"string" required:"true"` // The name or unique identifier that corresponds to a physical instance ID @@ -3012,6 +4106,8 @@ type StackResourceSummary struct { PhysicalResourceId *string `type:"string"` // Current status of the resource. + // + // ResourceStatus is a required field ResourceStatus *string `type:"string" required:"true" enum:"ResourceStatus"` // Success/failure message associated with the resource. @@ -3020,6 +4116,8 @@ type StackResourceSummary struct { // Type of resource. (For more information, go to AWS Resource Types Reference // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) // in the AWS CloudFormation User Guide.) + // + // ResourceType is a required field ResourceType *string `min:"1" type:"string" required:"true"` } @@ -3038,6 +4136,8 @@ type StackSummary struct { _ struct{} `type:"structure"` // The time the stack was created. + // + // CreationTime is a required field CreationTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // The time the stack was deleted. @@ -3051,9 +4151,13 @@ type StackSummary struct { StackId *string `type:"string"` // The name associated with the stack. + // + // StackName is a required field StackName *string `type:"string" required:"true"` // The current status of the stack. + // + // StackStatus is a required field StackStatus *string `type:"string" required:"true" enum:"StackStatus"` // Success/Failure message associated with the stack status. @@ -3126,18 +4230,18 @@ func (s TemplateParameter) GoString() string { return s.String() } -// The input for UpdateStack action. +// The input for an UpdateStack action. type UpdateStackInput struct { _ struct{} `type:"structure"` - // A list of capabilities that you must specify before AWS CloudFormation can - // update certain stacks. Some stack templates might include resources that - // can affect permissions in your AWS account, for example, by creating new - // AWS Identity and Access Management (IAM) users. For those stacks, you must - // explicitly acknowledge their capabilities by specifying this parameter. + // A list of values that you must specify before AWS CloudFormation can update + // certain stacks. Some stack templates might include resources that can affect + // permissions in your AWS account, for example, by creating new AWS Identity + // and Access Management (IAM) users. For those stacks, you must explicitly + // acknowledge their capabilities by specifying this parameter. // - // Currently, the only valid value is CAPABILITY_IAM, which is required for - // the following resources: AWS::IAM::AccessKey (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html), + // The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following + // resources require you to specify this parameter: AWS::IAM::AccessKey (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html), // AWS::IAM::Group (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html), // AWS::IAM::InstanceProfile (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html), // AWS::IAM::Policy (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html), @@ -3146,8 +4250,14 @@ type UpdateStackInput struct { // and AWS::IAM::UserToGroupAddition (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html). // If your stack template contains these resources, we recommend that you review // all permissions associated with them and edit their permissions if necessary. - // If your template contains any of the listed resources and you don't specify - // this parameter, this action returns an InsufficientCapabilities error. + // + // If you have IAM resources, you can specify either capability. If you have + // IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If + // you don't specify this parameter, this action returns an InsufficientCapabilities + // error. + // + // For more information, see Acknowledging IAM Resources in AWS CloudFormation + // Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities). Capabilities []*string `type:"list"` // Amazon Simple Notification Service topic Amazon Resource Names (ARNs) that @@ -3171,7 +4281,22 @@ type UpdateStackInput struct { // Management (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html). ResourceTypes []*string `type:"list"` + // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) + // role that AWS CloudFormation assumes to update the stack. AWS CloudFormation + // uses the role's credentials to make calls on your behalf. AWS CloudFormation + // always uses this role for all future operations on the stack. As long as + // users have permission to operate on the stack, AWS CloudFormation uses this + // role even if the users don't have permission to pass it. Ensure that the + // role grants least privilege. + // + // If you don't specify a value, AWS CloudFormation uses the role that was + // previously associated with the stack. If no role is available, AWS CloudFormation + // uses a temporary session that is generated from your user credentials. + RoleARN *string `min:"20" type:"string"` + // The name or unique stack ID of the stack to update. + // + // StackName is a required field StackName *string `type:"string" required:"true"` // Structure containing a new stack policy body. You can specify either the @@ -3256,6 +4381,9 @@ func (s UpdateStackInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateStackInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateStackInput"} + if s.RoleARN != nil && len(*s.RoleARN) < 20 { + invalidParams.Add(request.NewErrParamMinLen("RoleARN", 20)) + } if s.StackName == nil { invalidParams.Add(request.NewErrParamRequired("StackName")) } @@ -3284,7 +4412,7 @@ func (s *UpdateStackInput) Validate() error { return nil } -// The output for a UpdateStack action. +// The output for an UpdateStack action. type UpdateStackOutput struct { _ struct{} `type:"structure"` @@ -3355,11 +4483,14 @@ func (s *ValidateTemplateInput) Validate() error { type ValidateTemplateOutput struct { _ struct{} `type:"structure"` - // The capabilities found within the template. Currently, AWS CloudFormation - // supports only the CAPABILITY_IAM capability. If your template contains IAM - // resources, you must specify the CAPABILITY_IAM value for this parameter when - // you use the CreateStack or UpdateStack actions with your template; otherwise, - // those actions return an InsufficientCapabilities error. + // The capabilities found within the template. If your template contains IAM + // resources, you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value + // for this parameter when you use the CreateStack or UpdateStack actions with + // your template; otherwise, those actions return an InsufficientCapabilities + // error. + // + // For more information, see Acknowledging IAM Resources in AWS CloudFormation + // Templates (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities). Capabilities []*string `type:"list"` // The list of resources that generated the values in the Capabilities response @@ -3384,160 +4515,230 @@ func (s ValidateTemplateOutput) GoString() string { } const ( - // @enum Capability + // CapabilityCapabilityIam is a Capability enum value CapabilityCapabilityIam = "CAPABILITY_IAM" + + // CapabilityCapabilityNamedIam is a Capability enum value + CapabilityCapabilityNamedIam = "CAPABILITY_NAMED_IAM" ) const ( - // @enum ChangeAction + // ChangeActionAdd is a ChangeAction enum value ChangeActionAdd = "Add" - // @enum ChangeAction + + // ChangeActionModify is a ChangeAction enum value ChangeActionModify = "Modify" - // @enum ChangeAction + + // ChangeActionRemove is a ChangeAction enum value ChangeActionRemove = "Remove" ) const ( - // @enum ChangeSetStatus + // ChangeSetStatusCreatePending is a ChangeSetStatus enum value ChangeSetStatusCreatePending = "CREATE_PENDING" - // @enum ChangeSetStatus + + // ChangeSetStatusCreateInProgress is a ChangeSetStatus enum value ChangeSetStatusCreateInProgress = "CREATE_IN_PROGRESS" - // @enum ChangeSetStatus + + // ChangeSetStatusCreateComplete is a ChangeSetStatus enum value ChangeSetStatusCreateComplete = "CREATE_COMPLETE" - // @enum ChangeSetStatus + + // ChangeSetStatusDeleteComplete is a ChangeSetStatus enum value ChangeSetStatusDeleteComplete = "DELETE_COMPLETE" - // @enum ChangeSetStatus + + // ChangeSetStatusFailed is a ChangeSetStatus enum value ChangeSetStatusFailed = "FAILED" ) const ( - // @enum ChangeSource + // ChangeSourceResourceReference is a ChangeSource enum value ChangeSourceResourceReference = "ResourceReference" - // @enum ChangeSource + + // ChangeSourceParameterReference is a ChangeSource enum value ChangeSourceParameterReference = "ParameterReference" - // @enum ChangeSource + + // ChangeSourceResourceAttribute is a ChangeSource enum value ChangeSourceResourceAttribute = "ResourceAttribute" - // @enum ChangeSource + + // ChangeSourceDirectModification is a ChangeSource enum value ChangeSourceDirectModification = "DirectModification" - // @enum ChangeSource + + // ChangeSourceAutomatic is a ChangeSource enum value ChangeSourceAutomatic = "Automatic" ) const ( - // @enum ChangeType + // ChangeTypeResource is a ChangeType enum value ChangeTypeResource = "Resource" ) const ( - // @enum EvaluationType + // EvaluationTypeStatic is a EvaluationType enum value EvaluationTypeStatic = "Static" - // @enum EvaluationType + + // EvaluationTypeDynamic is a EvaluationType enum value EvaluationTypeDynamic = "Dynamic" ) const ( - // @enum OnFailure + // ExecutionStatusUnavailable is a ExecutionStatus enum value + ExecutionStatusUnavailable = "UNAVAILABLE" + + // ExecutionStatusAvailable is a ExecutionStatus enum value + ExecutionStatusAvailable = "AVAILABLE" + + // ExecutionStatusExecuteInProgress is a ExecutionStatus enum value + ExecutionStatusExecuteInProgress = "EXECUTE_IN_PROGRESS" + + // ExecutionStatusExecuteComplete is a ExecutionStatus enum value + ExecutionStatusExecuteComplete = "EXECUTE_COMPLETE" + + // ExecutionStatusExecuteFailed is a ExecutionStatus enum value + ExecutionStatusExecuteFailed = "EXECUTE_FAILED" + + // ExecutionStatusObsolete is a ExecutionStatus enum value + ExecutionStatusObsolete = "OBSOLETE" +) + +const ( + // OnFailureDoNothing is a OnFailure enum value OnFailureDoNothing = "DO_NOTHING" - // @enum OnFailure + + // OnFailureRollback is a OnFailure enum value OnFailureRollback = "ROLLBACK" - // @enum OnFailure + + // OnFailureDelete is a OnFailure enum value OnFailureDelete = "DELETE" ) const ( - // @enum Replacement + // ReplacementTrue is a Replacement enum value ReplacementTrue = "True" - // @enum Replacement + + // ReplacementFalse is a Replacement enum value ReplacementFalse = "False" - // @enum Replacement + + // ReplacementConditional is a Replacement enum value ReplacementConditional = "Conditional" ) const ( - // @enum RequiresRecreation + // RequiresRecreationNever is a RequiresRecreation enum value RequiresRecreationNever = "Never" - // @enum RequiresRecreation + + // RequiresRecreationConditionally is a RequiresRecreation enum value RequiresRecreationConditionally = "Conditionally" - // @enum RequiresRecreation + + // RequiresRecreationAlways is a RequiresRecreation enum value RequiresRecreationAlways = "Always" ) const ( - // @enum ResourceAttribute + // ResourceAttributeProperties is a ResourceAttribute enum value ResourceAttributeProperties = "Properties" - // @enum ResourceAttribute + + // ResourceAttributeMetadata is a ResourceAttribute enum value ResourceAttributeMetadata = "Metadata" - // @enum ResourceAttribute + + // ResourceAttributeCreationPolicy is a ResourceAttribute enum value ResourceAttributeCreationPolicy = "CreationPolicy" - // @enum ResourceAttribute + + // ResourceAttributeUpdatePolicy is a ResourceAttribute enum value ResourceAttributeUpdatePolicy = "UpdatePolicy" - // @enum ResourceAttribute + + // ResourceAttributeDeletionPolicy is a ResourceAttribute enum value ResourceAttributeDeletionPolicy = "DeletionPolicy" - // @enum ResourceAttribute + + // ResourceAttributeTags is a ResourceAttribute enum value ResourceAttributeTags = "Tags" ) const ( - // @enum ResourceSignalStatus + // ResourceSignalStatusSuccess is a ResourceSignalStatus enum value ResourceSignalStatusSuccess = "SUCCESS" - // @enum ResourceSignalStatus + + // ResourceSignalStatusFailure is a ResourceSignalStatus enum value ResourceSignalStatusFailure = "FAILURE" ) const ( - // @enum ResourceStatus + // ResourceStatusCreateInProgress is a ResourceStatus enum value ResourceStatusCreateInProgress = "CREATE_IN_PROGRESS" - // @enum ResourceStatus + + // ResourceStatusCreateFailed is a ResourceStatus enum value ResourceStatusCreateFailed = "CREATE_FAILED" - // @enum ResourceStatus + + // ResourceStatusCreateComplete is a ResourceStatus enum value ResourceStatusCreateComplete = "CREATE_COMPLETE" - // @enum ResourceStatus + + // ResourceStatusDeleteInProgress is a ResourceStatus enum value ResourceStatusDeleteInProgress = "DELETE_IN_PROGRESS" - // @enum ResourceStatus + + // ResourceStatusDeleteFailed is a ResourceStatus enum value ResourceStatusDeleteFailed = "DELETE_FAILED" - // @enum ResourceStatus + + // ResourceStatusDeleteComplete is a ResourceStatus enum value ResourceStatusDeleteComplete = "DELETE_COMPLETE" - // @enum ResourceStatus + + // ResourceStatusDeleteSkipped is a ResourceStatus enum value ResourceStatusDeleteSkipped = "DELETE_SKIPPED" - // @enum ResourceStatus + + // ResourceStatusUpdateInProgress is a ResourceStatus enum value ResourceStatusUpdateInProgress = "UPDATE_IN_PROGRESS" - // @enum ResourceStatus + + // ResourceStatusUpdateFailed is a ResourceStatus enum value ResourceStatusUpdateFailed = "UPDATE_FAILED" - // @enum ResourceStatus + + // ResourceStatusUpdateComplete is a ResourceStatus enum value ResourceStatusUpdateComplete = "UPDATE_COMPLETE" ) const ( - // @enum StackStatus + // StackStatusCreateInProgress is a StackStatus enum value StackStatusCreateInProgress = "CREATE_IN_PROGRESS" - // @enum StackStatus + + // StackStatusCreateFailed is a StackStatus enum value StackStatusCreateFailed = "CREATE_FAILED" - // @enum StackStatus + + // StackStatusCreateComplete is a StackStatus enum value StackStatusCreateComplete = "CREATE_COMPLETE" - // @enum StackStatus + + // StackStatusRollbackInProgress is a StackStatus enum value StackStatusRollbackInProgress = "ROLLBACK_IN_PROGRESS" - // @enum StackStatus + + // StackStatusRollbackFailed is a StackStatus enum value StackStatusRollbackFailed = "ROLLBACK_FAILED" - // @enum StackStatus + + // StackStatusRollbackComplete is a StackStatus enum value StackStatusRollbackComplete = "ROLLBACK_COMPLETE" - // @enum StackStatus + + // StackStatusDeleteInProgress is a StackStatus enum value StackStatusDeleteInProgress = "DELETE_IN_PROGRESS" - // @enum StackStatus + + // StackStatusDeleteFailed is a StackStatus enum value StackStatusDeleteFailed = "DELETE_FAILED" - // @enum StackStatus + + // StackStatusDeleteComplete is a StackStatus enum value StackStatusDeleteComplete = "DELETE_COMPLETE" - // @enum StackStatus + + // StackStatusUpdateInProgress is a StackStatus enum value StackStatusUpdateInProgress = "UPDATE_IN_PROGRESS" - // @enum StackStatus + + // StackStatusUpdateCompleteCleanupInProgress is a StackStatus enum value StackStatusUpdateCompleteCleanupInProgress = "UPDATE_COMPLETE_CLEANUP_IN_PROGRESS" - // @enum StackStatus + + // StackStatusUpdateComplete is a StackStatus enum value StackStatusUpdateComplete = "UPDATE_COMPLETE" - // @enum StackStatus + + // StackStatusUpdateRollbackInProgress is a StackStatus enum value StackStatusUpdateRollbackInProgress = "UPDATE_ROLLBACK_IN_PROGRESS" - // @enum StackStatus + + // StackStatusUpdateRollbackFailed is a StackStatus enum value StackStatusUpdateRollbackFailed = "UPDATE_ROLLBACK_FAILED" - // @enum StackStatus + + // StackStatusUpdateRollbackCompleteCleanupInProgress is a StackStatus enum value StackStatusUpdateRollbackCompleteCleanupInProgress = "UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS" - // @enum StackStatus + + // StackStatusUpdateRollbackComplete is a StackStatus enum value StackStatusUpdateRollbackComplete = "UPDATE_ROLLBACK_COMPLETE" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudformation/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/cloudformation/waiters.go index f8ca675144dd..62744e3d3f2c 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudformation/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudformation/waiters.go @@ -6,6 +6,10 @@ import ( "github.com/aws/aws-sdk-go/private/waiter" ) +// WaitUntilStackCreateComplete uses the AWS CloudFormation API operation +// DescribeStacks to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *CloudFormation) WaitUntilStackCreateComplete(input *DescribeStacksInput) error { waiterCfg := waiter.Config{ Operation: "DescribeStacks", @@ -77,6 +81,10 @@ func (c *CloudFormation) WaitUntilStackCreateComplete(input *DescribeStacksInput return w.Wait() } +// WaitUntilStackDeleteComplete uses the AWS CloudFormation API operation +// DescribeStacks to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *CloudFormation) WaitUntilStackDeleteComplete(input *DescribeStacksInput) error { waiterCfg := waiter.Config{ Operation: "DescribeStacks", @@ -190,6 +198,10 @@ func (c *CloudFormation) WaitUntilStackDeleteComplete(input *DescribeStacksInput return w.Wait() } +// WaitUntilStackExists uses the AWS CloudFormation API operation +// DescribeStacks to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *CloudFormation) WaitUntilStackExists(input *DescribeStacksInput) error { waiterCfg := waiter.Config{ Operation: "DescribeStacks", @@ -219,6 +231,10 @@ func (c *CloudFormation) WaitUntilStackExists(input *DescribeStacksInput) error return w.Wait() } +// WaitUntilStackUpdateComplete uses the AWS CloudFormation API operation +// DescribeStacks to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *CloudFormation) WaitUntilStackUpdateComplete(input *DescribeStacksInput) error { waiterCfg := waiter.Config{ Operation: "DescribeStacks", diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/api.go index 2469091435b5..9554127d1ab2 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/api.go @@ -13,14 +13,37 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/restxml" ) -const opCreateCloudFrontOriginAccessIdentity = "CreateCloudFrontOriginAccessIdentity2016_01_28" - -// CreateCloudFrontOriginAccessIdentityRequest generates a request for the CreateCloudFrontOriginAccessIdentity operation. +const opCreateCloudFrontOriginAccessIdentity = "CreateCloudFrontOriginAccessIdentity2016_09_07" + +// CreateCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the +// client's request for the CreateCloudFrontOriginAccessIdentity operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateCloudFrontOriginAccessIdentity for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateCloudFrontOriginAccessIdentity method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateCloudFrontOriginAccessIdentityRequest method. +// req, resp := client.CreateCloudFrontOriginAccessIdentityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFront) CreateCloudFrontOriginAccessIdentityRequest(input *CreateCloudFrontOriginAccessIdentityInput) (req *request.Request, output *CreateCloudFrontOriginAccessIdentityOutput) { op := &request.Operation{ Name: opCreateCloudFrontOriginAccessIdentity, HTTPMethod: "POST", - HTTPPath: "/2016-01-28/origin-access-identity/cloudfront", + HTTPPath: "/2016-09-07/origin-access-identity/cloudfront", } if input == nil { @@ -33,21 +56,75 @@ func (c *CloudFront) CreateCloudFrontOriginAccessIdentityRequest(input *CreateCl return } +// CreateCloudFrontOriginAccessIdentity API operation for Amazon CloudFront. +// // Create a new origin access identity. +// +// 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 CloudFront's +// API operation CreateCloudFrontOriginAccessIdentity for usage and error information. +// +// Returned Error Codes: +// * OriginAccessIdentityAlreadyExists +// If the CallerReference is a value you already sent in a previous request +// to create an identity but the content of the CloudFrontOriginAccessIdentityConfig +// is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists +// error. +// +// * MissingBody +// This operation requires a body. Ensure that the body is present and the Content-Type +// header is set. +// +// * TooManyCloudFrontOriginAccessIdentities +// Processing your request would cause you to exceed the maximum number of origin +// access identities allowed. +// +// * InvalidArgument +// The argument is invalid. +// +// * InconsistentQuantities +// The value of Quantity and the size of Items do not match. +// func (c *CloudFront) CreateCloudFrontOriginAccessIdentity(input *CreateCloudFrontOriginAccessIdentityInput) (*CreateCloudFrontOriginAccessIdentityOutput, error) { req, out := c.CreateCloudFrontOriginAccessIdentityRequest(input) err := req.Send() return out, err } -const opCreateDistribution = "CreateDistribution2016_01_28" - -// CreateDistributionRequest generates a request for the CreateDistribution operation. +const opCreateDistribution = "CreateDistribution2016_09_07" + +// CreateDistributionRequest generates a "aws/request.Request" representing the +// client's request for the CreateDistribution operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateDistribution for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateDistribution method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateDistributionRequest method. +// req, resp := client.CreateDistributionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFront) CreateDistributionRequest(input *CreateDistributionInput) (req *request.Request, output *CreateDistributionOutput) { op := &request.Operation{ Name: opCreateDistribution, HTTPMethod: "POST", - HTTPPath: "/2016-01-28/distribution", + HTTPPath: "/2016-09-07/distribution", } if input == nil { @@ -60,21 +137,354 @@ func (c *CloudFront) CreateDistributionRequest(input *CreateDistributionInput) ( return } +// CreateDistribution API operation for Amazon CloudFront. +// // Create a new distribution. +// +// 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 CloudFront's +// API operation CreateDistribution for usage and error information. +// +// Returned Error Codes: +// * CNAMEAlreadyExists + +// +// * DistributionAlreadyExists +// The caller reference you attempted to create the distribution with is associated +// with another distribution. +// +// * InvalidOrigin +// The Amazon S3 origin server specified does not refer to a valid Amazon S3 +// bucket. +// +// * InvalidOriginAccessIdentity +// The origin access identity is not valid or doesn't exist. +// +// * AccessDenied +// Access denied. +// +// * TooManyTrustedSigners +// Your request contains more trusted signers than are allowed per distribution. +// +// * TrustedSignerDoesNotExist +// One or more of your trusted signers do not exist. +// +// * InvalidViewerCertificate + +// +// * InvalidMinimumProtocolVersion + +// +// * MissingBody +// This operation requires a body. Ensure that the body is present and the Content-Type +// header is set. +// +// * TooManyDistributionCNAMEs +// Your request contains more CNAMEs than are allowed per distribution. +// +// * TooManyDistributions +// Processing your request would cause you to exceed the maximum number of distributions +// allowed. +// +// * InvalidDefaultRootObject +// The default root object file name is too big or contains an invalid character. +// +// * InvalidRelativePath +// The relative path is too big, is not URL-encoded, or does not begin with +// a slash (/). +// +// * InvalidErrorCode + +// +// * InvalidResponseCode + +// +// * InvalidArgument +// The argument is invalid. +// +// * InvalidRequiredProtocol +// This operation requires the HTTPS protocol. Ensure that you specify the HTTPS +// protocol in your request, or omit the RequiredProtocols element from your +// distribution configuration. +// +// * NoSuchOrigin +// No origin exists with the specified Origin Id. +// +// * TooManyOrigins +// You cannot create anymore origins for the distribution. +// +// * TooManyCacheBehaviors +// You cannot create anymore cache behaviors for the distribution. +// +// * TooManyCookieNamesInWhiteList +// Your request contains more cookie names in the whitelist than are allowed +// per cache behavior. +// +// * InvalidForwardCookies +// Your request contains forward cookies option which doesn't match with the +// expectation for the whitelisted list of cookie names. Either list of cookie +// names has been specified when not allowed or list of cookie names is missing +// when expected. +// +// * TooManyHeadersInForwardedValues + +// +// * InvalidHeadersForS3Origin + +// +// * InconsistentQuantities +// The value of Quantity and the size of Items do not match. +// +// * TooManyCertificates +// You cannot create anymore custom ssl certificates. +// +// * InvalidLocationCode + +// +// * InvalidGeoRestrictionParameter + +// +// * InvalidProtocolSettings +// You cannot specify SSLv3 as the minimum protocol version if you only want +// to support only clients that Support Server Name Indication (SNI). +// +// * InvalidTTLOrder + +// +// * InvalidWebACLId + +// +// * TooManyOriginCustomHeaders + +// +// * TooManyQueryStringParameters + +// +// * InvalidQueryStringParameters + +// func (c *CloudFront) CreateDistribution(input *CreateDistributionInput) (*CreateDistributionOutput, error) { req, out := c.CreateDistributionRequest(input) err := req.Send() return out, err } -const opCreateInvalidation = "CreateInvalidation2016_01_28" +const opCreateDistributionWithTags = "CreateDistributionWithTags2016_09_07" + +// CreateDistributionWithTagsRequest generates a "aws/request.Request" representing the +// client's request for the CreateDistributionWithTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateDistributionWithTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateDistributionWithTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateDistributionWithTagsRequest method. +// req, resp := client.CreateDistributionWithTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *CloudFront) CreateDistributionWithTagsRequest(input *CreateDistributionWithTagsInput) (req *request.Request, output *CreateDistributionWithTagsOutput) { + op := &request.Operation{ + Name: opCreateDistributionWithTags, + HTTPMethod: "POST", + HTTPPath: "/2016-09-07/distribution?WithTags", + } + + if input == nil { + input = &CreateDistributionWithTagsInput{} + } + + req = c.newRequest(op, input, output) + output = &CreateDistributionWithTagsOutput{} + req.Data = output + return +} -// CreateInvalidationRequest generates a request for the CreateInvalidation operation. +// CreateDistributionWithTags API operation for Amazon CloudFront. +// +// Create a new distribution with tags. +// +// 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 CloudFront's +// API operation CreateDistributionWithTags for usage and error information. +// +// Returned Error Codes: +// * CNAMEAlreadyExists + +// +// * DistributionAlreadyExists +// The caller reference you attempted to create the distribution with is associated +// with another distribution. +// +// * InvalidOrigin +// The Amazon S3 origin server specified does not refer to a valid Amazon S3 +// bucket. +// +// * InvalidOriginAccessIdentity +// The origin access identity is not valid or doesn't exist. +// +// * AccessDenied +// Access denied. +// +// * TooManyTrustedSigners +// Your request contains more trusted signers than are allowed per distribution. +// +// * TrustedSignerDoesNotExist +// One or more of your trusted signers do not exist. +// +// * InvalidViewerCertificate + +// +// * InvalidMinimumProtocolVersion + +// +// * MissingBody +// This operation requires a body. Ensure that the body is present and the Content-Type +// header is set. +// +// * TooManyDistributionCNAMEs +// Your request contains more CNAMEs than are allowed per distribution. +// +// * TooManyDistributions +// Processing your request would cause you to exceed the maximum number of distributions +// allowed. +// +// * InvalidDefaultRootObject +// The default root object file name is too big or contains an invalid character. +// +// * InvalidRelativePath +// The relative path is too big, is not URL-encoded, or does not begin with +// a slash (/). +// +// * InvalidErrorCode + +// +// * InvalidResponseCode + +// +// * InvalidArgument +// The argument is invalid. +// +// * InvalidRequiredProtocol +// This operation requires the HTTPS protocol. Ensure that you specify the HTTPS +// protocol in your request, or omit the RequiredProtocols element from your +// distribution configuration. +// +// * NoSuchOrigin +// No origin exists with the specified Origin Id. +// +// * TooManyOrigins +// You cannot create anymore origins for the distribution. +// +// * TooManyCacheBehaviors +// You cannot create anymore cache behaviors for the distribution. +// +// * TooManyCookieNamesInWhiteList +// Your request contains more cookie names in the whitelist than are allowed +// per cache behavior. +// +// * InvalidForwardCookies +// Your request contains forward cookies option which doesn't match with the +// expectation for the whitelisted list of cookie names. Either list of cookie +// names has been specified when not allowed or list of cookie names is missing +// when expected. +// +// * TooManyHeadersInForwardedValues + +// +// * InvalidHeadersForS3Origin + +// +// * InconsistentQuantities +// The value of Quantity and the size of Items do not match. +// +// * TooManyCertificates +// You cannot create anymore custom ssl certificates. +// +// * InvalidLocationCode + +// +// * InvalidGeoRestrictionParameter + +// +// * InvalidProtocolSettings +// You cannot specify SSLv3 as the minimum protocol version if you only want +// to support only clients that Support Server Name Indication (SNI). +// +// * InvalidTTLOrder + +// +// * InvalidWebACLId + +// +// * TooManyOriginCustomHeaders + +// +// * InvalidTagging +// The specified tagging for a CloudFront resource is invalid. For more information, +// see the error text. +// +// * TooManyQueryStringParameters + +// +// * InvalidQueryStringParameters + +// +func (c *CloudFront) CreateDistributionWithTags(input *CreateDistributionWithTagsInput) (*CreateDistributionWithTagsOutput, error) { + req, out := c.CreateDistributionWithTagsRequest(input) + err := req.Send() + return out, err +} + +const opCreateInvalidation = "CreateInvalidation2016_09_07" + +// CreateInvalidationRequest generates a "aws/request.Request" representing the +// client's request for the CreateInvalidation operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateInvalidation for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateInvalidation method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateInvalidationRequest method. +// req, resp := client.CreateInvalidationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFront) CreateInvalidationRequest(input *CreateInvalidationInput) (req *request.Request, output *CreateInvalidationOutput) { op := &request.Operation{ Name: opCreateInvalidation, HTTPMethod: "POST", - HTTPPath: "/2016-01-28/distribution/{DistributionId}/invalidation", + HTTPPath: "/2016-09-07/distribution/{DistributionId}/invalidation", } if input == nil { @@ -87,21 +497,78 @@ func (c *CloudFront) CreateInvalidationRequest(input *CreateInvalidationInput) ( return } +// CreateInvalidation API operation for Amazon CloudFront. +// // Create a new invalidation. +// +// 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 CloudFront's +// API operation CreateInvalidation for usage and error information. +// +// Returned Error Codes: +// * AccessDenied +// Access denied. +// +// * MissingBody +// This operation requires a body. Ensure that the body is present and the Content-Type +// header is set. +// +// * InvalidArgument +// The argument is invalid. +// +// * NoSuchDistribution +// The specified distribution does not exist. +// +// * BatchTooLarge + +// +// * TooManyInvalidationsInProgress +// You have exceeded the maximum number of allowable InProgress invalidation +// batch requests, or invalidation objects. +// +// * InconsistentQuantities +// The value of Quantity and the size of Items do not match. +// func (c *CloudFront) CreateInvalidation(input *CreateInvalidationInput) (*CreateInvalidationOutput, error) { req, out := c.CreateInvalidationRequest(input) err := req.Send() return out, err } -const opCreateStreamingDistribution = "CreateStreamingDistribution2016_01_28" - -// CreateStreamingDistributionRequest generates a request for the CreateStreamingDistribution operation. +const opCreateStreamingDistribution = "CreateStreamingDistribution2016_09_07" + +// CreateStreamingDistributionRequest generates a "aws/request.Request" representing the +// client's request for the CreateStreamingDistribution operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateStreamingDistribution for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateStreamingDistribution method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateStreamingDistributionRequest method. +// req, resp := client.CreateStreamingDistributionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFront) CreateStreamingDistributionRequest(input *CreateStreamingDistributionInput) (req *request.Request, output *CreateStreamingDistributionOutput) { op := &request.Operation{ Name: opCreateStreamingDistribution, HTTPMethod: "POST", - HTTPPath: "/2016-01-28/streaming-distribution", + HTTPPath: "/2016-09-07/streaming-distribution", } if input == nil { @@ -114,21 +581,198 @@ func (c *CloudFront) CreateStreamingDistributionRequest(input *CreateStreamingDi return } +// CreateStreamingDistribution API operation for Amazon CloudFront. +// // Create a new streaming distribution. +// +// 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 CloudFront's +// API operation CreateStreamingDistribution for usage and error information. +// +// Returned Error Codes: +// * CNAMEAlreadyExists + +// +// * StreamingDistributionAlreadyExists + +// +// * InvalidOrigin +// The Amazon S3 origin server specified does not refer to a valid Amazon S3 +// bucket. +// +// * InvalidOriginAccessIdentity +// The origin access identity is not valid or doesn't exist. +// +// * AccessDenied +// Access denied. +// +// * TooManyTrustedSigners +// Your request contains more trusted signers than are allowed per distribution. +// +// * TrustedSignerDoesNotExist +// One or more of your trusted signers do not exist. +// +// * MissingBody +// This operation requires a body. Ensure that the body is present and the Content-Type +// header is set. +// +// * TooManyStreamingDistributionCNAMEs + +// +// * TooManyStreamingDistributions +// Processing your request would cause you to exceed the maximum number of streaming +// distributions allowed. +// +// * InvalidArgument +// The argument is invalid. +// +// * InconsistentQuantities +// The value of Quantity and the size of Items do not match. +// func (c *CloudFront) CreateStreamingDistribution(input *CreateStreamingDistributionInput) (*CreateStreamingDistributionOutput, error) { req, out := c.CreateStreamingDistributionRequest(input) err := req.Send() return out, err } -const opDeleteCloudFrontOriginAccessIdentity = "DeleteCloudFrontOriginAccessIdentity2016_01_28" +const opCreateStreamingDistributionWithTags = "CreateStreamingDistributionWithTags2016_09_07" + +// CreateStreamingDistributionWithTagsRequest generates a "aws/request.Request" representing the +// client's request for the CreateStreamingDistributionWithTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateStreamingDistributionWithTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateStreamingDistributionWithTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateStreamingDistributionWithTagsRequest method. +// req, resp := client.CreateStreamingDistributionWithTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *CloudFront) CreateStreamingDistributionWithTagsRequest(input *CreateStreamingDistributionWithTagsInput) (req *request.Request, output *CreateStreamingDistributionWithTagsOutput) { + op := &request.Operation{ + Name: opCreateStreamingDistributionWithTags, + HTTPMethod: "POST", + HTTPPath: "/2016-09-07/streaming-distribution?WithTags", + } + + if input == nil { + input = &CreateStreamingDistributionWithTagsInput{} + } -// DeleteCloudFrontOriginAccessIdentityRequest generates a request for the DeleteCloudFrontOriginAccessIdentity operation. + req = c.newRequest(op, input, output) + output = &CreateStreamingDistributionWithTagsOutput{} + req.Data = output + return +} + +// CreateStreamingDistributionWithTags API operation for Amazon CloudFront. +// +// Create a new streaming distribution with tags. +// +// 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 CloudFront's +// API operation CreateStreamingDistributionWithTags for usage and error information. +// +// Returned Error Codes: +// * CNAMEAlreadyExists + +// +// * StreamingDistributionAlreadyExists + +// +// * InvalidOrigin +// The Amazon S3 origin server specified does not refer to a valid Amazon S3 +// bucket. +// +// * InvalidOriginAccessIdentity +// The origin access identity is not valid or doesn't exist. +// +// * AccessDenied +// Access denied. +// +// * TooManyTrustedSigners +// Your request contains more trusted signers than are allowed per distribution. +// +// * TrustedSignerDoesNotExist +// One or more of your trusted signers do not exist. +// +// * MissingBody +// This operation requires a body. Ensure that the body is present and the Content-Type +// header is set. +// +// * TooManyStreamingDistributionCNAMEs + +// +// * TooManyStreamingDistributions +// Processing your request would cause you to exceed the maximum number of streaming +// distributions allowed. +// +// * InvalidArgument +// The argument is invalid. +// +// * InconsistentQuantities +// The value of Quantity and the size of Items do not match. +// +// * InvalidTagging +// The specified tagging for a CloudFront resource is invalid. For more information, +// see the error text. +// +func (c *CloudFront) CreateStreamingDistributionWithTags(input *CreateStreamingDistributionWithTagsInput) (*CreateStreamingDistributionWithTagsOutput, error) { + req, out := c.CreateStreamingDistributionWithTagsRequest(input) + err := req.Send() + return out, err +} + +const opDeleteCloudFrontOriginAccessIdentity = "DeleteCloudFrontOriginAccessIdentity2016_09_07" + +// DeleteCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCloudFrontOriginAccessIdentity operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteCloudFrontOriginAccessIdentity for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteCloudFrontOriginAccessIdentity method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteCloudFrontOriginAccessIdentityRequest method. +// req, resp := client.DeleteCloudFrontOriginAccessIdentityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFront) DeleteCloudFrontOriginAccessIdentityRequest(input *DeleteCloudFrontOriginAccessIdentityInput) (req *request.Request, output *DeleteCloudFrontOriginAccessIdentityOutput) { op := &request.Operation{ Name: opDeleteCloudFrontOriginAccessIdentity, HTTPMethod: "DELETE", - HTTPPath: "/2016-01-28/origin-access-identity/cloudfront/{Id}", + HTTPPath: "/2016-09-07/origin-access-identity/cloudfront/{Id}", } if input == nil { @@ -143,21 +787,71 @@ func (c *CloudFront) DeleteCloudFrontOriginAccessIdentityRequest(input *DeleteCl return } +// DeleteCloudFrontOriginAccessIdentity API operation for Amazon CloudFront. +// // Delete an origin access identity. +// +// 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 CloudFront's +// API operation DeleteCloudFrontOriginAccessIdentity for usage and error information. +// +// Returned Error Codes: +// * AccessDenied +// Access denied. +// +// * InvalidIfMatchVersion +// The If-Match version is missing or not valid for the distribution. +// +// * NoSuchCloudFrontOriginAccessIdentity +// The specified origin access identity does not exist. +// +// * PreconditionFailed +// The precondition given in one or more of the request-header fields evaluated +// to false. +// +// * OriginAccessIdentityInUse + +// func (c *CloudFront) DeleteCloudFrontOriginAccessIdentity(input *DeleteCloudFrontOriginAccessIdentityInput) (*DeleteCloudFrontOriginAccessIdentityOutput, error) { req, out := c.DeleteCloudFrontOriginAccessIdentityRequest(input) err := req.Send() return out, err } -const opDeleteDistribution = "DeleteDistribution2016_01_28" - -// DeleteDistributionRequest generates a request for the DeleteDistribution operation. +const opDeleteDistribution = "DeleteDistribution2016_09_07" + +// DeleteDistributionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDistribution operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteDistribution for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteDistribution method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteDistributionRequest method. +// req, resp := client.DeleteDistributionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFront) DeleteDistributionRequest(input *DeleteDistributionInput) (req *request.Request, output *DeleteDistributionOutput) { op := &request.Operation{ Name: opDeleteDistribution, HTTPMethod: "DELETE", - HTTPPath: "/2016-01-28/distribution/{Id}", + HTTPPath: "/2016-09-07/distribution/{Id}", } if input == nil { @@ -172,21 +866,71 @@ func (c *CloudFront) DeleteDistributionRequest(input *DeleteDistributionInput) ( return } +// DeleteDistribution API operation for Amazon CloudFront. +// // Delete a distribution. +// +// 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 CloudFront's +// API operation DeleteDistribution for usage and error information. +// +// Returned Error Codes: +// * AccessDenied +// Access denied. +// +// * DistributionNotDisabled + +// +// * InvalidIfMatchVersion +// The If-Match version is missing or not valid for the distribution. +// +// * NoSuchDistribution +// The specified distribution does not exist. +// +// * PreconditionFailed +// The precondition given in one or more of the request-header fields evaluated +// to false. +// func (c *CloudFront) DeleteDistribution(input *DeleteDistributionInput) (*DeleteDistributionOutput, error) { req, out := c.DeleteDistributionRequest(input) err := req.Send() return out, err } -const opDeleteStreamingDistribution = "DeleteStreamingDistribution2016_01_28" - -// DeleteStreamingDistributionRequest generates a request for the DeleteStreamingDistribution operation. +const opDeleteStreamingDistribution = "DeleteStreamingDistribution2016_09_07" + +// DeleteStreamingDistributionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteStreamingDistribution operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteStreamingDistribution for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteStreamingDistribution method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteStreamingDistributionRequest method. +// req, resp := client.DeleteStreamingDistributionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFront) DeleteStreamingDistributionRequest(input *DeleteStreamingDistributionInput) (req *request.Request, output *DeleteStreamingDistributionOutput) { op := &request.Operation{ Name: opDeleteStreamingDistribution, HTTPMethod: "DELETE", - HTTPPath: "/2016-01-28/streaming-distribution/{Id}", + HTTPPath: "/2016-09-07/streaming-distribution/{Id}", } if input == nil { @@ -201,21 +945,71 @@ func (c *CloudFront) DeleteStreamingDistributionRequest(input *DeleteStreamingDi return } +// DeleteStreamingDistribution API operation for Amazon CloudFront. +// // Delete a streaming distribution. +// +// 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 CloudFront's +// API operation DeleteStreamingDistribution for usage and error information. +// +// Returned Error Codes: +// * AccessDenied +// Access denied. +// +// * StreamingDistributionNotDisabled + +// +// * InvalidIfMatchVersion +// The If-Match version is missing or not valid for the distribution. +// +// * NoSuchStreamingDistribution +// The specified streaming distribution does not exist. +// +// * PreconditionFailed +// The precondition given in one or more of the request-header fields evaluated +// to false. +// func (c *CloudFront) DeleteStreamingDistribution(input *DeleteStreamingDistributionInput) (*DeleteStreamingDistributionOutput, error) { req, out := c.DeleteStreamingDistributionRequest(input) err := req.Send() return out, err } -const opGetCloudFrontOriginAccessIdentity = "GetCloudFrontOriginAccessIdentity2016_01_28" - -// GetCloudFrontOriginAccessIdentityRequest generates a request for the GetCloudFrontOriginAccessIdentity operation. +const opGetCloudFrontOriginAccessIdentity = "GetCloudFrontOriginAccessIdentity2016_09_07" + +// GetCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the +// client's request for the GetCloudFrontOriginAccessIdentity operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetCloudFrontOriginAccessIdentity for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetCloudFrontOriginAccessIdentity method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetCloudFrontOriginAccessIdentityRequest method. +// req, resp := client.GetCloudFrontOriginAccessIdentityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFront) GetCloudFrontOriginAccessIdentityRequest(input *GetCloudFrontOriginAccessIdentityInput) (req *request.Request, output *GetCloudFrontOriginAccessIdentityOutput) { op := &request.Operation{ Name: opGetCloudFrontOriginAccessIdentity, HTTPMethod: "GET", - HTTPPath: "/2016-01-28/origin-access-identity/cloudfront/{Id}", + HTTPPath: "/2016-09-07/origin-access-identity/cloudfront/{Id}", } if input == nil { @@ -228,21 +1022,61 @@ func (c *CloudFront) GetCloudFrontOriginAccessIdentityRequest(input *GetCloudFro return } +// GetCloudFrontOriginAccessIdentity API operation for Amazon CloudFront. +// // Get the information about an origin access identity. +// +// 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 CloudFront's +// API operation GetCloudFrontOriginAccessIdentity for usage and error information. +// +// Returned Error Codes: +// * NoSuchCloudFrontOriginAccessIdentity +// The specified origin access identity does not exist. +// +// * AccessDenied +// Access denied. +// func (c *CloudFront) GetCloudFrontOriginAccessIdentity(input *GetCloudFrontOriginAccessIdentityInput) (*GetCloudFrontOriginAccessIdentityOutput, error) { req, out := c.GetCloudFrontOriginAccessIdentityRequest(input) err := req.Send() return out, err } -const opGetCloudFrontOriginAccessIdentityConfig = "GetCloudFrontOriginAccessIdentityConfig2016_01_28" - -// GetCloudFrontOriginAccessIdentityConfigRequest generates a request for the GetCloudFrontOriginAccessIdentityConfig operation. +const opGetCloudFrontOriginAccessIdentityConfig = "GetCloudFrontOriginAccessIdentityConfig2016_09_07" + +// GetCloudFrontOriginAccessIdentityConfigRequest generates a "aws/request.Request" representing the +// client's request for the GetCloudFrontOriginAccessIdentityConfig operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetCloudFrontOriginAccessIdentityConfig for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetCloudFrontOriginAccessIdentityConfig method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetCloudFrontOriginAccessIdentityConfigRequest method. +// req, resp := client.GetCloudFrontOriginAccessIdentityConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFront) GetCloudFrontOriginAccessIdentityConfigRequest(input *GetCloudFrontOriginAccessIdentityConfigInput) (req *request.Request, output *GetCloudFrontOriginAccessIdentityConfigOutput) { op := &request.Operation{ Name: opGetCloudFrontOriginAccessIdentityConfig, HTTPMethod: "GET", - HTTPPath: "/2016-01-28/origin-access-identity/cloudfront/{Id}/config", + HTTPPath: "/2016-09-07/origin-access-identity/cloudfront/{Id}/config", } if input == nil { @@ -255,21 +1089,61 @@ func (c *CloudFront) GetCloudFrontOriginAccessIdentityConfigRequest(input *GetCl return } +// GetCloudFrontOriginAccessIdentityConfig API operation for Amazon CloudFront. +// // Get the configuration information about an origin access identity. +// +// 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 CloudFront's +// API operation GetCloudFrontOriginAccessIdentityConfig for usage and error information. +// +// Returned Error Codes: +// * NoSuchCloudFrontOriginAccessIdentity +// The specified origin access identity does not exist. +// +// * AccessDenied +// Access denied. +// func (c *CloudFront) GetCloudFrontOriginAccessIdentityConfig(input *GetCloudFrontOriginAccessIdentityConfigInput) (*GetCloudFrontOriginAccessIdentityConfigOutput, error) { req, out := c.GetCloudFrontOriginAccessIdentityConfigRequest(input) err := req.Send() return out, err } -const opGetDistribution = "GetDistribution2016_01_28" - -// GetDistributionRequest generates a request for the GetDistribution operation. +const opGetDistribution = "GetDistribution2016_09_07" + +// GetDistributionRequest generates a "aws/request.Request" representing the +// client's request for the GetDistribution operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetDistribution for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetDistribution method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetDistributionRequest method. +// req, resp := client.GetDistributionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFront) GetDistributionRequest(input *GetDistributionInput) (req *request.Request, output *GetDistributionOutput) { op := &request.Operation{ Name: opGetDistribution, HTTPMethod: "GET", - HTTPPath: "/2016-01-28/distribution/{Id}", + HTTPPath: "/2016-09-07/distribution/{Id}", } if input == nil { @@ -282,21 +1156,61 @@ func (c *CloudFront) GetDistributionRequest(input *GetDistributionInput) (req *r return } +// GetDistribution API operation for Amazon CloudFront. +// // Get the information about a distribution. +// +// 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 CloudFront's +// API operation GetDistribution for usage and error information. +// +// Returned Error Codes: +// * NoSuchDistribution +// The specified distribution does not exist. +// +// * AccessDenied +// Access denied. +// func (c *CloudFront) GetDistribution(input *GetDistributionInput) (*GetDistributionOutput, error) { req, out := c.GetDistributionRequest(input) err := req.Send() return out, err } -const opGetDistributionConfig = "GetDistributionConfig2016_01_28" - -// GetDistributionConfigRequest generates a request for the GetDistributionConfig operation. +const opGetDistributionConfig = "GetDistributionConfig2016_09_07" + +// GetDistributionConfigRequest generates a "aws/request.Request" representing the +// client's request for the GetDistributionConfig operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetDistributionConfig for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetDistributionConfig method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetDistributionConfigRequest method. +// req, resp := client.GetDistributionConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFront) GetDistributionConfigRequest(input *GetDistributionConfigInput) (req *request.Request, output *GetDistributionConfigOutput) { op := &request.Operation{ Name: opGetDistributionConfig, HTTPMethod: "GET", - HTTPPath: "/2016-01-28/distribution/{Id}/config", + HTTPPath: "/2016-09-07/distribution/{Id}/config", } if input == nil { @@ -309,21 +1223,61 @@ func (c *CloudFront) GetDistributionConfigRequest(input *GetDistributionConfigIn return } +// GetDistributionConfig API operation for Amazon CloudFront. +// // Get the configuration information about a distribution. +// +// 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 CloudFront's +// API operation GetDistributionConfig for usage and error information. +// +// Returned Error Codes: +// * NoSuchDistribution +// The specified distribution does not exist. +// +// * AccessDenied +// Access denied. +// func (c *CloudFront) GetDistributionConfig(input *GetDistributionConfigInput) (*GetDistributionConfigOutput, error) { req, out := c.GetDistributionConfigRequest(input) err := req.Send() return out, err } -const opGetInvalidation = "GetInvalidation2016_01_28" - -// GetInvalidationRequest generates a request for the GetInvalidation operation. +const opGetInvalidation = "GetInvalidation2016_09_07" + +// GetInvalidationRequest generates a "aws/request.Request" representing the +// client's request for the GetInvalidation operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetInvalidation for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetInvalidation method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetInvalidationRequest method. +// req, resp := client.GetInvalidationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFront) GetInvalidationRequest(input *GetInvalidationInput) (req *request.Request, output *GetInvalidationOutput) { op := &request.Operation{ Name: opGetInvalidation, HTTPMethod: "GET", - HTTPPath: "/2016-01-28/distribution/{DistributionId}/invalidation/{Id}", + HTTPPath: "/2016-09-07/distribution/{DistributionId}/invalidation/{Id}", } if input == nil { @@ -336,21 +1290,64 @@ func (c *CloudFront) GetInvalidationRequest(input *GetInvalidationInput) (req *r return } +// GetInvalidation API operation for Amazon CloudFront. +// // Get the information about an invalidation. +// +// 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 CloudFront's +// API operation GetInvalidation for usage and error information. +// +// Returned Error Codes: +// * NoSuchInvalidation +// The specified invalidation does not exist. +// +// * NoSuchDistribution +// The specified distribution does not exist. +// +// * AccessDenied +// Access denied. +// func (c *CloudFront) GetInvalidation(input *GetInvalidationInput) (*GetInvalidationOutput, error) { req, out := c.GetInvalidationRequest(input) err := req.Send() return out, err } -const opGetStreamingDistribution = "GetStreamingDistribution2016_01_28" - -// GetStreamingDistributionRequest generates a request for the GetStreamingDistribution operation. +const opGetStreamingDistribution = "GetStreamingDistribution2016_09_07" + +// GetStreamingDistributionRequest generates a "aws/request.Request" representing the +// client's request for the GetStreamingDistribution operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetStreamingDistribution for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetStreamingDistribution method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetStreamingDistributionRequest method. +// req, resp := client.GetStreamingDistributionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFront) GetStreamingDistributionRequest(input *GetStreamingDistributionInput) (req *request.Request, output *GetStreamingDistributionOutput) { op := &request.Operation{ Name: opGetStreamingDistribution, HTTPMethod: "GET", - HTTPPath: "/2016-01-28/streaming-distribution/{Id}", + HTTPPath: "/2016-09-07/streaming-distribution/{Id}", } if input == nil { @@ -363,21 +1360,61 @@ func (c *CloudFront) GetStreamingDistributionRequest(input *GetStreamingDistribu return } +// GetStreamingDistribution API operation for Amazon CloudFront. +// // Get the information about a streaming distribution. +// +// 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 CloudFront's +// API operation GetStreamingDistribution for usage and error information. +// +// Returned Error Codes: +// * NoSuchStreamingDistribution +// The specified streaming distribution does not exist. +// +// * AccessDenied +// Access denied. +// func (c *CloudFront) GetStreamingDistribution(input *GetStreamingDistributionInput) (*GetStreamingDistributionOutput, error) { req, out := c.GetStreamingDistributionRequest(input) err := req.Send() return out, err } -const opGetStreamingDistributionConfig = "GetStreamingDistributionConfig2016_01_28" - -// GetStreamingDistributionConfigRequest generates a request for the GetStreamingDistributionConfig operation. +const opGetStreamingDistributionConfig = "GetStreamingDistributionConfig2016_09_07" + +// GetStreamingDistributionConfigRequest generates a "aws/request.Request" representing the +// client's request for the GetStreamingDistributionConfig operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetStreamingDistributionConfig for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetStreamingDistributionConfig method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetStreamingDistributionConfigRequest method. +// req, resp := client.GetStreamingDistributionConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFront) GetStreamingDistributionConfigRequest(input *GetStreamingDistributionConfigInput) (req *request.Request, output *GetStreamingDistributionConfigOutput) { op := &request.Operation{ Name: opGetStreamingDistributionConfig, HTTPMethod: "GET", - HTTPPath: "/2016-01-28/streaming-distribution/{Id}/config", + HTTPPath: "/2016-09-07/streaming-distribution/{Id}/config", } if input == nil { @@ -390,21 +1427,61 @@ func (c *CloudFront) GetStreamingDistributionConfigRequest(input *GetStreamingDi return } +// GetStreamingDistributionConfig API operation for Amazon CloudFront. +// // Get the configuration information about a streaming distribution. +// +// 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 CloudFront's +// API operation GetStreamingDistributionConfig for usage and error information. +// +// Returned Error Codes: +// * NoSuchStreamingDistribution +// The specified streaming distribution does not exist. +// +// * AccessDenied +// Access denied. +// func (c *CloudFront) GetStreamingDistributionConfig(input *GetStreamingDistributionConfigInput) (*GetStreamingDistributionConfigOutput, error) { req, out := c.GetStreamingDistributionConfigRequest(input) err := req.Send() return out, err } -const opListCloudFrontOriginAccessIdentities = "ListCloudFrontOriginAccessIdentities2016_01_28" - -// ListCloudFrontOriginAccessIdentitiesRequest generates a request for the ListCloudFrontOriginAccessIdentities operation. +const opListCloudFrontOriginAccessIdentities = "ListCloudFrontOriginAccessIdentities2016_09_07" + +// ListCloudFrontOriginAccessIdentitiesRequest generates a "aws/request.Request" representing the +// client's request for the ListCloudFrontOriginAccessIdentities operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListCloudFrontOriginAccessIdentities for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListCloudFrontOriginAccessIdentities method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListCloudFrontOriginAccessIdentitiesRequest method. +// req, resp := client.ListCloudFrontOriginAccessIdentitiesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFront) ListCloudFrontOriginAccessIdentitiesRequest(input *ListCloudFrontOriginAccessIdentitiesInput) (req *request.Request, output *ListCloudFrontOriginAccessIdentitiesOutput) { op := &request.Operation{ Name: opListCloudFrontOriginAccessIdentities, HTTPMethod: "GET", - HTTPPath: "/2016-01-28/origin-access-identity/cloudfront", + HTTPPath: "/2016-09-07/origin-access-identity/cloudfront", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"CloudFrontOriginAccessIdentityList.NextMarker"}, @@ -423,13 +1500,44 @@ func (c *CloudFront) ListCloudFrontOriginAccessIdentitiesRequest(input *ListClou return } +// ListCloudFrontOriginAccessIdentities API operation for Amazon CloudFront. +// // List origin access identities. +// +// 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 CloudFront's +// API operation ListCloudFrontOriginAccessIdentities for usage and error information. +// +// Returned Error Codes: +// * InvalidArgument +// The argument is invalid. +// func (c *CloudFront) ListCloudFrontOriginAccessIdentities(input *ListCloudFrontOriginAccessIdentitiesInput) (*ListCloudFrontOriginAccessIdentitiesOutput, error) { req, out := c.ListCloudFrontOriginAccessIdentitiesRequest(input) err := req.Send() return out, err } +// ListCloudFrontOriginAccessIdentitiesPages iterates over the pages of a ListCloudFrontOriginAccessIdentities operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListCloudFrontOriginAccessIdentities 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 ListCloudFrontOriginAccessIdentities operation. +// pageNum := 0 +// err := client.ListCloudFrontOriginAccessIdentitiesPages(params, +// func(page *ListCloudFrontOriginAccessIdentitiesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *CloudFront) ListCloudFrontOriginAccessIdentitiesPages(input *ListCloudFrontOriginAccessIdentitiesInput, fn func(p *ListCloudFrontOriginAccessIdentitiesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListCloudFrontOriginAccessIdentitiesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -438,14 +1546,37 @@ func (c *CloudFront) ListCloudFrontOriginAccessIdentitiesPages(input *ListCloudF }) } -const opListDistributions = "ListDistributions2016_01_28" - -// ListDistributionsRequest generates a request for the ListDistributions operation. +const opListDistributions = "ListDistributions2016_09_07" + +// ListDistributionsRequest generates a "aws/request.Request" representing the +// client's request for the ListDistributions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListDistributions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListDistributions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListDistributionsRequest method. +// req, resp := client.ListDistributionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFront) ListDistributionsRequest(input *ListDistributionsInput) (req *request.Request, output *ListDistributionsOutput) { op := &request.Operation{ Name: opListDistributions, HTTPMethod: "GET", - HTTPPath: "/2016-01-28/distribution", + HTTPPath: "/2016-09-07/distribution", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"DistributionList.NextMarker"}, @@ -464,13 +1595,44 @@ func (c *CloudFront) ListDistributionsRequest(input *ListDistributionsInput) (re return } +// ListDistributions API operation for Amazon CloudFront. +// // List distributions. +// +// 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 CloudFront's +// API operation ListDistributions for usage and error information. +// +// Returned Error Codes: +// * InvalidArgument +// The argument is invalid. +// func (c *CloudFront) ListDistributions(input *ListDistributionsInput) (*ListDistributionsOutput, error) { req, out := c.ListDistributionsRequest(input) err := req.Send() return out, err } +// ListDistributionsPages iterates over the pages of a ListDistributions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDistributions 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 ListDistributions operation. +// pageNum := 0 +// err := client.ListDistributionsPages(params, +// func(page *ListDistributionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *CloudFront) ListDistributionsPages(input *ListDistributionsInput, fn func(p *ListDistributionsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListDistributionsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -479,14 +1641,37 @@ func (c *CloudFront) ListDistributionsPages(input *ListDistributionsInput, fn fu }) } -const opListDistributionsByWebACLId = "ListDistributionsByWebACLId2016_01_28" - -// ListDistributionsByWebACLIdRequest generates a request for the ListDistributionsByWebACLId operation. +const opListDistributionsByWebACLId = "ListDistributionsByWebACLId2016_09_07" + +// ListDistributionsByWebACLIdRequest generates a "aws/request.Request" representing the +// client's request for the ListDistributionsByWebACLId operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListDistributionsByWebACLId for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListDistributionsByWebACLId method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListDistributionsByWebACLIdRequest method. +// req, resp := client.ListDistributionsByWebACLIdRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFront) ListDistributionsByWebACLIdRequest(input *ListDistributionsByWebACLIdInput) (req *request.Request, output *ListDistributionsByWebACLIdOutput) { op := &request.Operation{ Name: opListDistributionsByWebACLId, HTTPMethod: "GET", - HTTPPath: "/2016-01-28/distributionsByWebACLId/{WebACLId}", + HTTPPath: "/2016-09-07/distributionsByWebACLId/{WebACLId}", } if input == nil { @@ -499,21 +1684,61 @@ func (c *CloudFront) ListDistributionsByWebACLIdRequest(input *ListDistributions return } +// ListDistributionsByWebACLId API operation for Amazon CloudFront. +// // List the distributions that are associated with a specified AWS WAF web ACL. +// +// 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 CloudFront's +// API operation ListDistributionsByWebACLId for usage and error information. +// +// Returned Error Codes: +// * InvalidArgument +// The argument is invalid. +// +// * InvalidWebACLId + +// func (c *CloudFront) ListDistributionsByWebACLId(input *ListDistributionsByWebACLIdInput) (*ListDistributionsByWebACLIdOutput, error) { req, out := c.ListDistributionsByWebACLIdRequest(input) err := req.Send() return out, err } -const opListInvalidations = "ListInvalidations2016_01_28" - -// ListInvalidationsRequest generates a request for the ListInvalidations operation. +const opListInvalidations = "ListInvalidations2016_09_07" + +// ListInvalidationsRequest generates a "aws/request.Request" representing the +// client's request for the ListInvalidations operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListInvalidations for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListInvalidations method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListInvalidationsRequest method. +// req, resp := client.ListInvalidationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFront) ListInvalidationsRequest(input *ListInvalidationsInput) (req *request.Request, output *ListInvalidationsOutput) { op := &request.Operation{ Name: opListInvalidations, HTTPMethod: "GET", - HTTPPath: "/2016-01-28/distribution/{DistributionId}/invalidation", + HTTPPath: "/2016-09-07/distribution/{DistributionId}/invalidation", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"InvalidationList.NextMarker"}, @@ -532,13 +1757,50 @@ func (c *CloudFront) ListInvalidationsRequest(input *ListInvalidationsInput) (re return } +// ListInvalidations API operation for Amazon CloudFront. +// // List invalidation batches. +// +// 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 CloudFront's +// API operation ListInvalidations for usage and error information. +// +// Returned Error Codes: +// * InvalidArgument +// The argument is invalid. +// +// * NoSuchDistribution +// The specified distribution does not exist. +// +// * AccessDenied +// Access denied. +// func (c *CloudFront) ListInvalidations(input *ListInvalidationsInput) (*ListInvalidationsOutput, error) { req, out := c.ListInvalidationsRequest(input) err := req.Send() return out, err } +// ListInvalidationsPages iterates over the pages of a ListInvalidations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListInvalidations 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 ListInvalidations operation. +// pageNum := 0 +// err := client.ListInvalidationsPages(params, +// func(page *ListInvalidationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *CloudFront) ListInvalidationsPages(input *ListInvalidationsInput, fn func(p *ListInvalidationsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListInvalidationsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -547,14 +1809,37 @@ func (c *CloudFront) ListInvalidationsPages(input *ListInvalidationsInput, fn fu }) } -const opListStreamingDistributions = "ListStreamingDistributions2016_01_28" - -// ListStreamingDistributionsRequest generates a request for the ListStreamingDistributions operation. +const opListStreamingDistributions = "ListStreamingDistributions2016_09_07" + +// ListStreamingDistributionsRequest generates a "aws/request.Request" representing the +// client's request for the ListStreamingDistributions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListStreamingDistributions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListStreamingDistributions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListStreamingDistributionsRequest method. +// req, resp := client.ListStreamingDistributionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFront) ListStreamingDistributionsRequest(input *ListStreamingDistributionsInput) (req *request.Request, output *ListStreamingDistributionsOutput) { op := &request.Operation{ Name: opListStreamingDistributions, HTTPMethod: "GET", - HTTPPath: "/2016-01-28/streaming-distribution", + HTTPPath: "/2016-09-07/streaming-distribution", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"StreamingDistributionList.NextMarker"}, @@ -573,13 +1858,44 @@ func (c *CloudFront) ListStreamingDistributionsRequest(input *ListStreamingDistr return } +// ListStreamingDistributions API operation for Amazon CloudFront. +// // List streaming distributions. +// +// 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 CloudFront's +// API operation ListStreamingDistributions for usage and error information. +// +// Returned Error Codes: +// * InvalidArgument +// The argument is invalid. +// func (c *CloudFront) ListStreamingDistributions(input *ListStreamingDistributionsInput) (*ListStreamingDistributionsOutput, error) { req, out := c.ListStreamingDistributionsRequest(input) err := req.Send() return out, err } +// ListStreamingDistributionsPages iterates over the pages of a ListStreamingDistributions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListStreamingDistributions 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 ListStreamingDistributions operation. +// pageNum := 0 +// err := client.ListStreamingDistributionsPages(params, +// func(page *ListStreamingDistributionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *CloudFront) ListStreamingDistributionsPages(input *ListStreamingDistributionsInput, fn func(p *ListStreamingDistributionsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListStreamingDistributionsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -588,14 +1904,263 @@ func (c *CloudFront) ListStreamingDistributionsPages(input *ListStreamingDistrib }) } -const opUpdateCloudFrontOriginAccessIdentity = "UpdateCloudFrontOriginAccessIdentity2016_01_28" +const opListTagsForResource = "ListTagsForResource2016_09_07" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListTagsForResource for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListTagsForResource method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // 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) +// } +// +func (c *CloudFront) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/2016-09-07/tagging", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } -// UpdateCloudFrontOriginAccessIdentityRequest generates a request for the UpdateCloudFrontOriginAccessIdentity operation. + req = c.newRequest(op, input, output) + output = &ListTagsForResourceOutput{} + req.Data = output + return +} + +// ListTagsForResource API operation for Amazon CloudFront. +// +// List tags for a CloudFront resource. +// +// 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 CloudFront's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Codes: +// * AccessDenied +// Access denied. +// +// * InvalidArgument +// The argument is invalid. +// +// * InvalidTagging +// The specified tagging for a CloudFront resource is invalid. For more information, +// see the error text. +// +// * NoSuchResource +// The specified CloudFront resource does not exist. +// +func (c *CloudFront) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + err := req.Send() + return out, err +} + +const opTagResource = "TagResource2016_09_07" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See TagResource for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the TagResource method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // 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) +// } +// +func (c *CloudFront) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/2016-09-07/tagging?Operation=Tag", + } + + if input == nil { + input = &TagResourceInput{} + } + + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + output = &TagResourceOutput{} + req.Data = output + return +} + +// TagResource API operation for Amazon CloudFront. +// +// Add tags to a CloudFront resource. +// +// 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 CloudFront's +// API operation TagResource for usage and error information. +// +// Returned Error Codes: +// * AccessDenied +// Access denied. +// +// * InvalidArgument +// The argument is invalid. +// +// * InvalidTagging +// The specified tagging for a CloudFront resource is invalid. For more information, +// see the error text. +// +// * NoSuchResource +// The specified CloudFront resource does not exist. +// +func (c *CloudFront) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + err := req.Send() + return out, err +} + +const opUntagResource = "UntagResource2016_09_07" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UntagResource for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UntagResource method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // 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) +// } +// +func (c *CloudFront) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/2016-09-07/tagging?Operation=Untag", + } + + if input == nil { + input = &UntagResourceInput{} + } + + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + output = &UntagResourceOutput{} + req.Data = output + return +} + +// UntagResource API operation for Amazon CloudFront. +// +// Remove tags from a CloudFront resource. +// +// 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 CloudFront's +// API operation UntagResource for usage and error information. +// +// Returned Error Codes: +// * AccessDenied +// Access denied. +// +// * InvalidArgument +// The argument is invalid. +// +// * InvalidTagging +// The specified tagging for a CloudFront resource is invalid. For more information, +// see the error text. +// +// * NoSuchResource +// The specified CloudFront resource does not exist. +// +func (c *CloudFront) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + err := req.Send() + return out, err +} + +const opUpdateCloudFrontOriginAccessIdentity = "UpdateCloudFrontOriginAccessIdentity2016_09_07" + +// UpdateCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCloudFrontOriginAccessIdentity operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateCloudFrontOriginAccessIdentity for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateCloudFrontOriginAccessIdentity method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateCloudFrontOriginAccessIdentityRequest method. +// req, resp := client.UpdateCloudFrontOriginAccessIdentityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFront) UpdateCloudFrontOriginAccessIdentityRequest(input *UpdateCloudFrontOriginAccessIdentityInput) (req *request.Request, output *UpdateCloudFrontOriginAccessIdentityOutput) { op := &request.Operation{ Name: opUpdateCloudFrontOriginAccessIdentity, HTTPMethod: "PUT", - HTTPPath: "/2016-01-28/origin-access-identity/cloudfront/{Id}/config", + HTTPPath: "/2016-09-07/origin-access-identity/cloudfront/{Id}/config", } if input == nil { @@ -608,21 +2173,81 @@ func (c *CloudFront) UpdateCloudFrontOriginAccessIdentityRequest(input *UpdateCl return } +// UpdateCloudFrontOriginAccessIdentity API operation for Amazon CloudFront. +// // Update an origin access identity. +// +// 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 CloudFront's +// API operation UpdateCloudFrontOriginAccessIdentity for usage and error information. +// +// Returned Error Codes: +// * AccessDenied +// Access denied. +// +// * IllegalUpdate +// Origin and CallerReference cannot be updated. +// +// * InvalidIfMatchVersion +// The If-Match version is missing or not valid for the distribution. +// +// * MissingBody +// This operation requires a body. Ensure that the body is present and the Content-Type +// header is set. +// +// * NoSuchCloudFrontOriginAccessIdentity +// The specified origin access identity does not exist. +// +// * PreconditionFailed +// The precondition given in one or more of the request-header fields evaluated +// to false. +// +// * InvalidArgument +// The argument is invalid. +// +// * InconsistentQuantities +// The value of Quantity and the size of Items do not match. +// func (c *CloudFront) UpdateCloudFrontOriginAccessIdentity(input *UpdateCloudFrontOriginAccessIdentityInput) (*UpdateCloudFrontOriginAccessIdentityOutput, error) { req, out := c.UpdateCloudFrontOriginAccessIdentityRequest(input) err := req.Send() return out, err } -const opUpdateDistribution = "UpdateDistribution2016_01_28" - -// UpdateDistributionRequest generates a request for the UpdateDistribution operation. +const opUpdateDistribution = "UpdateDistribution2016_09_07" + +// UpdateDistributionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDistribution operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateDistribution for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateDistribution method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateDistributionRequest method. +// req, resp := client.UpdateDistributionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFront) UpdateDistributionRequest(input *UpdateDistributionInput) (req *request.Request, output *UpdateDistributionOutput) { op := &request.Operation{ Name: opUpdateDistribution, HTTPMethod: "PUT", - HTTPPath: "/2016-01-28/distribution/{Id}/config", + HTTPPath: "/2016-09-07/distribution/{Id}/config", } if input == nil { @@ -635,21 +2260,169 @@ func (c *CloudFront) UpdateDistributionRequest(input *UpdateDistributionInput) ( return } +// UpdateDistribution API operation for Amazon CloudFront. +// // Update a distribution. +// +// 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 CloudFront's +// API operation UpdateDistribution for usage and error information. +// +// Returned Error Codes: +// * AccessDenied +// Access denied. +// +// * CNAMEAlreadyExists + +// +// * IllegalUpdate +// Origin and CallerReference cannot be updated. +// +// * InvalidIfMatchVersion +// The If-Match version is missing or not valid for the distribution. +// +// * MissingBody +// This operation requires a body. Ensure that the body is present and the Content-Type +// header is set. +// +// * NoSuchDistribution +// The specified distribution does not exist. +// +// * PreconditionFailed +// The precondition given in one or more of the request-header fields evaluated +// to false. +// +// * TooManyDistributionCNAMEs +// Your request contains more CNAMEs than are allowed per distribution. +// +// * InvalidDefaultRootObject +// The default root object file name is too big or contains an invalid character. +// +// * InvalidRelativePath +// The relative path is too big, is not URL-encoded, or does not begin with +// a slash (/). +// +// * InvalidErrorCode + +// +// * InvalidResponseCode + +// +// * InvalidArgument +// The argument is invalid. +// +// * InvalidOriginAccessIdentity +// The origin access identity is not valid or doesn't exist. +// +// * TooManyTrustedSigners +// Your request contains more trusted signers than are allowed per distribution. +// +// * TrustedSignerDoesNotExist +// One or more of your trusted signers do not exist. +// +// * InvalidViewerCertificate + +// +// * InvalidMinimumProtocolVersion + +// +// * InvalidRequiredProtocol +// This operation requires the HTTPS protocol. Ensure that you specify the HTTPS +// protocol in your request, or omit the RequiredProtocols element from your +// distribution configuration. +// +// * NoSuchOrigin +// No origin exists with the specified Origin Id. +// +// * TooManyOrigins +// You cannot create anymore origins for the distribution. +// +// * TooManyCacheBehaviors +// You cannot create anymore cache behaviors for the distribution. +// +// * TooManyCookieNamesInWhiteList +// Your request contains more cookie names in the whitelist than are allowed +// per cache behavior. +// +// * InvalidForwardCookies +// Your request contains forward cookies option which doesn't match with the +// expectation for the whitelisted list of cookie names. Either list of cookie +// names has been specified when not allowed or list of cookie names is missing +// when expected. +// +// * TooManyHeadersInForwardedValues + +// +// * InvalidHeadersForS3Origin + +// +// * InconsistentQuantities +// The value of Quantity and the size of Items do not match. +// +// * TooManyCertificates +// You cannot create anymore custom ssl certificates. +// +// * InvalidLocationCode + +// +// * InvalidGeoRestrictionParameter + +// +// * InvalidTTLOrder + +// +// * InvalidWebACLId + +// +// * TooManyOriginCustomHeaders + +// +// * TooManyQueryStringParameters + +// +// * InvalidQueryStringParameters + +// func (c *CloudFront) UpdateDistribution(input *UpdateDistributionInput) (*UpdateDistributionOutput, error) { req, out := c.UpdateDistributionRequest(input) err := req.Send() return out, err } -const opUpdateStreamingDistribution = "UpdateStreamingDistribution2016_01_28" - -// UpdateStreamingDistributionRequest generates a request for the UpdateStreamingDistribution operation. +const opUpdateStreamingDistribution = "UpdateStreamingDistribution2016_09_07" + +// UpdateStreamingDistributionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateStreamingDistribution operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateStreamingDistribution for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateStreamingDistribution method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateStreamingDistributionRequest method. +// req, resp := client.UpdateStreamingDistributionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudFront) UpdateStreamingDistributionRequest(input *UpdateStreamingDistributionInput) (req *request.Request, output *UpdateStreamingDistributionOutput) { op := &request.Operation{ Name: opUpdateStreamingDistribution, HTTPMethod: "PUT", - HTTPPath: "/2016-01-28/streaming-distribution/{Id}/config", + HTTPPath: "/2016-09-07/streaming-distribution/{Id}/config", } if input == nil { @@ -662,7 +2435,59 @@ func (c *CloudFront) UpdateStreamingDistributionRequest(input *UpdateStreamingDi return } +// UpdateStreamingDistribution API operation for Amazon CloudFront. +// // Update a streaming distribution. +// +// 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 CloudFront's +// API operation UpdateStreamingDistribution for usage and error information. +// +// Returned Error Codes: +// * AccessDenied +// Access denied. +// +// * CNAMEAlreadyExists + +// +// * IllegalUpdate +// Origin and CallerReference cannot be updated. +// +// * InvalidIfMatchVersion +// The If-Match version is missing or not valid for the distribution. +// +// * MissingBody +// This operation requires a body. Ensure that the body is present and the Content-Type +// header is set. +// +// * NoSuchStreamingDistribution +// The specified streaming distribution does not exist. +// +// * PreconditionFailed +// The precondition given in one or more of the request-header fields evaluated +// to false. +// +// * TooManyStreamingDistributionCNAMEs + +// +// * InvalidArgument +// The argument is invalid. +// +// * InvalidOriginAccessIdentity +// The origin access identity is not valid or doesn't exist. +// +// * TooManyTrustedSigners +// Your request contains more trusted signers than are allowed per distribution. +// +// * TrustedSignerDoesNotExist +// One or more of your trusted signers do not exist. +// +// * InconsistentQuantities +// The value of Quantity and the size of Items do not match. +// func (c *CloudFront) UpdateStreamingDistribution(input *UpdateStreamingDistributionInput) (*UpdateStreamingDistributionOutput, error) { req, out := c.UpdateStreamingDistributionRequest(input) err := req.Send() @@ -677,6 +2502,8 @@ type ActiveTrustedSigners struct { _ struct{} `type:"structure"` // Each active trusted signer. + // + // Enabled is a required field Enabled *bool `type:"boolean" required:"true"` // A complex type that contains one Signer complex type for each unique trusted @@ -687,6 +2514,8 @@ type ActiveTrustedSigners struct { // The number of unique trusted signers included in all cache behaviors. For // example, if three cache behaviors all list the same three AWS accounts, the // value of Quantity for ActiveTrustedSigners will be 3. + // + // Quantity is a required field Quantity *int64 `type:"integer" required:"true"` } @@ -710,6 +2539,8 @@ type Aliases struct { Items []*string `locationNameList:"CNAME" type:"list"` // The number of CNAMEs, if any, for this distribution. + // + // Quantity is a required field Quantity *int64 `type:"integer" required:"true"` } @@ -757,11 +2588,15 @@ type AllowedMethods struct { // A complex type that contains the HTTP methods that you want CloudFront to // process and forward to your origin. + // + // Items is a required field Items []*string `locationNameList:"Method" type:"list" required:"true"` // The number of HTTP methods that you want CloudFront to forward to your origin. // Valid values are 2 (for GET and HEAD requests), 3 (for GET, HEAD and OPTIONS // requests) and 7 (for GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE requests). + // + // Quantity is a required field Quantity *int64 `type:"integer" required:"true"` } @@ -852,6 +2687,8 @@ type CacheBehavior struct { // A complex type that specifies how CloudFront handles query strings, cookies // and headers. + // + // ForwardedValues is a required field ForwardedValues *ForwardedValues `type:"structure" required:"true"` // The maximum amount of time (in seconds) that an object is in a CloudFront @@ -865,6 +2702,8 @@ type CacheBehavior struct { // The minimum amount of time that you want objects to stay in CloudFront caches // before CloudFront queries your origin to see whether the object has been // updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years). + // + // MinTTL is a required field MinTTL *int64 `type:"long" required:"true"` // The pattern (for example, images/*.jpg) that specifies which requests you @@ -874,6 +2713,8 @@ type CacheBehavior struct { // the default cache behavior is * and cannot be changed. If the request for // an object does not match the path pattern for any cache behaviors, CloudFront // applies the behavior in the default cache behavior. + // + // PathPattern is a required field PathPattern *string `type:"string" required:"true"` // Indicates whether you want to distribute media files in Microsoft Smooth @@ -884,6 +2725,8 @@ type CacheBehavior struct { // The value of ID for the origin that you want CloudFront to route requests // to when a request matches the path pattern either for a cache behavior or // for the default cache behavior. + // + // TargetOriginId is a required field TargetOriginId *string `type:"string" required:"true"` // A complex type that specifies the AWS accounts, if any, that you want to @@ -897,6 +2740,8 @@ type CacheBehavior struct { // add, change, or remove one or more trusted signers, change Enabled to true // (if it's currently false), change Quantity as applicable, and specify all // of the trusted signers that you want to include in the updated distribution. + // + // TrustedSigners is a required field TrustedSigners *TrustedSigners `type:"structure" required:"true"` // Use this element to specify the protocol that users can use to access the @@ -907,6 +2752,8 @@ type CacheBehavior struct { // request with an HTTP status code of 301 (Moved Permanently) and the HTTPS // URL, specify redirect-to-https. The viewer then resubmits the request using // the HTTPS URL. + // + // ViewerProtocolPolicy is a required field ViewerProtocolPolicy *string `type:"string" required:"true" enum:"ViewerProtocolPolicy"` } @@ -972,6 +2819,8 @@ type CacheBehaviors struct { Items []*CacheBehavior `locationNameList:"CacheBehavior" type:"list"` // The number of cache behaviors for this distribution. + // + // Quantity is a required field Quantity *int64 `type:"integer" required:"true"` } @@ -1019,11 +2868,15 @@ type CachedMethods struct { // A complex type that contains the HTTP methods that you want CloudFront to // cache responses to. + // + // Items is a required field Items []*string `locationNameList:"Method" type:"list" required:"true"` // The number of HTTP methods for which you want CloudFront to cache responses. // Valid values are 2 (for caching responses to GET and HEAD requests) and 3 // (for caching responses to GET, HEAD, and OPTIONS requests). + // + // Quantity is a required field Quantity *int64 `type:"integer" required:"true"` } @@ -1063,6 +2916,8 @@ type CookieNames struct { Items []*string `locationNameList:"Name" type:"list"` // The number of whitelisted cookies for this cache behavior. + // + // Quantity is a required field Quantity *int64 `type:"integer" required:"true"` } @@ -1098,6 +2953,8 @@ type CookiePreference struct { // to the origin that is associated with this cache behavior. You can specify // all, none or whitelist. If you choose All, CloudFront forwards all cookies // regardless of how many your application uses. + // + // Forward is a required field Forward *string `type:"string" required:"true" enum:"ItemSelection"` // A complex type that specifies the whitelisted cookies, if any, that you want @@ -1138,6 +2995,8 @@ type CreateCloudFrontOriginAccessIdentityInput struct { _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentityConfig"` // The origin access identity's configuration information. + // + // CloudFrontOriginAccessIdentityConfig is a required field CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `locationName:"CloudFrontOriginAccessIdentityConfig" type:"structure" required:"true"` } @@ -1199,6 +3058,8 @@ type CreateDistributionInput struct { _ struct{} `type:"structure" payload:"DistributionConfig"` // The distribution's configuration information. + // + // DistributionConfig is a required field DistributionConfig *DistributionConfig `locationName:"DistributionConfig" type:"structure" required:"true"` } @@ -1255,14 +3116,81 @@ func (s CreateDistributionOutput) GoString() string { return s.String() } +// The request to create a new distribution with tags +type CreateDistributionWithTagsInput struct { + _ struct{} `type:"structure" payload:"DistributionConfigWithTags"` + + // The distribution's configuration information. + // + // DistributionConfigWithTags is a required field + DistributionConfigWithTags *DistributionConfigWithTags `locationName:"DistributionConfigWithTags" type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateDistributionWithTagsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDistributionWithTagsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDistributionWithTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDistributionWithTagsInput"} + if s.DistributionConfigWithTags == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionConfigWithTags")) + } + if s.DistributionConfigWithTags != nil { + if err := s.DistributionConfigWithTags.Validate(); err != nil { + invalidParams.AddNested("DistributionConfigWithTags", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The returned result of the corresponding request. +type CreateDistributionWithTagsOutput struct { + _ struct{} `type:"structure" payload:"Distribution"` + + // The distribution's information. + Distribution *Distribution `type:"structure"` + + // The current version of the distribution created. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // The fully qualified URI of the new distribution resource just created. For + // example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5. + Location *string `location:"header" locationName:"Location" type:"string"` +} + +// String returns the string representation +func (s CreateDistributionWithTagsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDistributionWithTagsOutput) GoString() string { + return s.String() +} + // The request to create an invalidation. type CreateInvalidationInput struct { _ struct{} `type:"structure" payload:"InvalidationBatch"` // The distribution's id. + // + // DistributionId is a required field DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"` // The batch information for the invalidation. + // + // InvalidationBatch is a required field InvalidationBatch *InvalidationBatch `locationName:"InvalidationBatch" type:"structure" required:"true"` } @@ -1324,6 +3252,8 @@ type CreateStreamingDistributionInput struct { _ struct{} `type:"structure" payload:"StreamingDistributionConfig"` // The streaming distribution's configuration information. + // + // StreamingDistributionConfig is a required field StreamingDistributionConfig *StreamingDistributionConfig `locationName:"StreamingDistributionConfig" type:"structure" required:"true"` } @@ -1380,6 +3310,69 @@ func (s CreateStreamingDistributionOutput) GoString() string { return s.String() } +// The request to create a new streaming distribution with tags. +type CreateStreamingDistributionWithTagsInput struct { + _ struct{} `type:"structure" payload:"StreamingDistributionConfigWithTags"` + + // The streaming distribution's configuration information. + // + // StreamingDistributionConfigWithTags is a required field + StreamingDistributionConfigWithTags *StreamingDistributionConfigWithTags `locationName:"StreamingDistributionConfigWithTags" type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateStreamingDistributionWithTagsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateStreamingDistributionWithTagsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateStreamingDistributionWithTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateStreamingDistributionWithTagsInput"} + if s.StreamingDistributionConfigWithTags == nil { + invalidParams.Add(request.NewErrParamRequired("StreamingDistributionConfigWithTags")) + } + if s.StreamingDistributionConfigWithTags != nil { + if err := s.StreamingDistributionConfigWithTags.Validate(); err != nil { + invalidParams.AddNested("StreamingDistributionConfigWithTags", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The returned result of the corresponding request. +type CreateStreamingDistributionWithTagsOutput struct { + _ struct{} `type:"structure" payload:"StreamingDistribution"` + + // The current version of the streaming distribution created. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // The fully qualified URI of the new streaming distribution resource just created. + // For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8. + Location *string `location:"header" locationName:"Location" type:"string"` + + // The streaming distribution's information. + StreamingDistribution *StreamingDistribution `type:"structure"` +} + +// String returns the string representation +func (s CreateStreamingDistributionWithTagsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateStreamingDistributionWithTagsOutput) GoString() string { + return s.String() +} + // A complex type that describes how you'd prefer CloudFront to respond to requests // that result in either a 4xx or 5xx response. You can control whether a custom // error page should be displayed, what the desired response code should be @@ -1401,6 +3394,8 @@ type CustomErrorResponse struct { // The 4xx or 5xx HTTP status code that you want to customize. For a list of // HTTP status codes that you can customize, see CloudFront documentation. + // + // ErrorCode is a required field ErrorCode *int64 `type:"integer" required:"true"` // The HTTP status code that you want CloudFront to return with the custom error @@ -1449,6 +3444,8 @@ type CustomErrorResponses struct { Items []*CustomErrorResponse `locationNameList:"CustomErrorResponse" type:"list"` // The number of custom error responses for this distribution. + // + // Quantity is a required field Quantity *int64 `type:"integer" required:"true"` } @@ -1493,6 +3490,8 @@ type CustomHeaders struct { Items []*OriginCustomHeader `locationNameList:"OriginCustomHeader" type:"list"` // The number of custom headers for this origin. + // + // Quantity is a required field Quantity *int64 `type:"integer" required:"true"` } @@ -1534,12 +3533,18 @@ type CustomOriginConfig struct { _ struct{} `type:"structure"` // The HTTP port the custom origin listens on. + // + // HTTPPort is a required field HTTPPort *int64 `type:"integer" required:"true"` // The HTTPS port the custom origin listens on. + // + // HTTPSPort is a required field HTTPSPort *int64 `type:"integer" required:"true"` // The origin protocol policy to apply to your origin. + // + // OriginProtocolPolicy is a required field OriginProtocolPolicy *string `type:"string" required:"true" enum:"OriginProtocolPolicy"` // The SSL/TLS protocols that you want CloudFront to use when communicating @@ -1626,6 +3631,8 @@ type DefaultCacheBehavior struct { // A complex type that specifies how CloudFront handles query strings, cookies // and headers. + // + // ForwardedValues is a required field ForwardedValues *ForwardedValues `type:"structure" required:"true"` // The maximum amount of time (in seconds) that an object is in a CloudFront @@ -1639,6 +3646,8 @@ type DefaultCacheBehavior struct { // The minimum amount of time that you want objects to stay in CloudFront caches // before CloudFront queries your origin to see whether the object has been // updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years). + // + // MinTTL is a required field MinTTL *int64 `type:"long" required:"true"` // Indicates whether you want to distribute media files in Microsoft Smooth @@ -1649,6 +3658,8 @@ type DefaultCacheBehavior struct { // The value of ID for the origin that you want CloudFront to route requests // to when a request matches the path pattern either for a cache behavior or // for the default cache behavior. + // + // TargetOriginId is a required field TargetOriginId *string `type:"string" required:"true"` // A complex type that specifies the AWS accounts, if any, that you want to @@ -1662,6 +3673,8 @@ type DefaultCacheBehavior struct { // add, change, or remove one or more trusted signers, change Enabled to true // (if it's currently false), change Quantity as applicable, and specify all // of the trusted signers that you want to include in the updated distribution. + // + // TrustedSigners is a required field TrustedSigners *TrustedSigners `type:"structure" required:"true"` // Use this element to specify the protocol that users can use to access the @@ -1672,6 +3685,8 @@ type DefaultCacheBehavior struct { // request with an HTTP status code of 301 (Moved Permanently) and the HTTPS // URL, specify redirect-to-https. The viewer then resubmits the request using // the HTTPS URL. + // + // ViewerProtocolPolicy is a required field ViewerProtocolPolicy *string `type:"string" required:"true" enum:"ViewerProtocolPolicy"` } @@ -1730,6 +3745,8 @@ type DeleteCloudFrontOriginAccessIdentityInput struct { _ struct{} `type:"structure"` // The origin access identity's id. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` // The value of the ETag header you received from a previous GET or PUT request. @@ -1779,6 +3796,8 @@ type DeleteDistributionInput struct { _ struct{} `type:"structure"` // The distribution id. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` // The value of the ETag header you received when you disabled the distribution. @@ -1828,6 +3847,8 @@ type DeleteStreamingDistributionInput struct { _ struct{} `type:"structure"` // The distribution id. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` // The value of the ETag header you received when you disabled the streaming @@ -1876,6 +3897,12 @@ func (s DeleteStreamingDistributionOutput) GoString() string { type Distribution struct { _ struct{} `type:"structure"` + // The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, + // where 123456789012 is your AWS account Id. + // + // ARN is a required field + ARN *string `type:"string" required:"true"` + // CloudFront automatically adds this element to the response only if you've // set up the distribution to serve private content with signed URLs. The element // lists the key pair IDs that CloudFront is aware of for each trusted signer. @@ -1884,26 +3911,40 @@ type Distribution struct { // includes the IDs of any active key pairs associated with the trusted signer's // AWS account. If no KeyPairId element appears for a Signer, that signer can't // create working signed URLs. + // + // ActiveTrustedSigners is a required field ActiveTrustedSigners *ActiveTrustedSigners `type:"structure" required:"true"` // The current configuration information for the distribution. + // + // DistributionConfig is a required field DistributionConfig *DistributionConfig `type:"structure" required:"true"` // The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net. + // + // DomainName is a required field DomainName *string `type:"string" required:"true"` // The identifier for the distribution. For example: EDFDVBD632BHDS5. + // + // Id is a required field Id *string `type:"string" required:"true"` // The number of invalidation batches currently in progress. + // + // InProgressInvalidationBatches is a required field InProgressInvalidationBatches *int64 `type:"integer" required:"true"` // The date and time the distribution was last modified. + // + // LastModifiedTime is a required field LastModifiedTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // This response element indicates the current status of the distribution. When // the status is Deployed, the distribution's information is fully propagated // throughout the Amazon CloudFront system. + // + // Status is a required field Status *string `type:"string" required:"true"` } @@ -1937,9 +3978,13 @@ type DistributionConfig struct { // is a value you already sent in a previous request to create a distribution // but the content of the DistributionConfig is different from the original // request, CloudFront returns a DistributionAlreadyExists error. + // + // CallerReference is a required field CallerReference *string `type:"string" required:"true"` // Any comments you want to include about the distribution. + // + // Comment is a required field Comment *string `type:"string" required:"true"` // A complex type that contains zero or more CustomErrorResponse elements. @@ -1948,6 +3993,8 @@ type DistributionConfig struct { // A complex type that describes the default cache behavior if you do not specify // a CacheBehavior element or if files don't match any of the values of PathPattern // in CacheBehavior elements.You must create exactly one default cache behavior. + // + // DefaultCacheBehavior is a required field DefaultCacheBehavior *DefaultCacheBehavior `type:"structure" required:"true"` // The object that you want CloudFront to return (for example, index.html) when @@ -1962,12 +4009,22 @@ type DistributionConfig struct { DefaultRootObject *string `type:"string"` // Whether the distribution is enabled to accept end user requests for content. + // + // Enabled is a required field Enabled *bool `type:"boolean" required:"true"` + // (Optional) Specify the maximum HTTP version that you want viewers to use + // to communicate with CloudFront. The default value for new web distributions + // is http2. Viewers that don't support HTTP/2 will automatically use an earlier + // version. + HttpVersion *string `type:"string" enum:"HttpVersion"` + // A complex type that controls whether access logs are written for the distribution. Logging *LoggingConfig `type:"structure"` // A complex type that contains information about origins for this distribution. + // + // Origins is a required field Origins *Origins `type:"structure" required:"true"` // A complex type that contains information about price class for this distribution. @@ -2056,6 +4113,58 @@ func (s *DistributionConfig) Validate() error { return nil } +// A distribution Configuration and a list of tags to be associated with the +// distribution. +type DistributionConfigWithTags struct { + _ struct{} `type:"structure"` + + // A distribution Configuration. + // + // DistributionConfig is a required field + DistributionConfig *DistributionConfig `type:"structure" required:"true"` + + // A complex type that contains zero or more Tag elements. + // + // Tags is a required field + Tags *Tags `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DistributionConfigWithTags) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DistributionConfigWithTags) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DistributionConfigWithTags) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DistributionConfigWithTags"} + if s.DistributionConfig == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionConfig")) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.DistributionConfig != nil { + if err := s.DistributionConfig.Validate(); err != nil { + invalidParams.AddNested("DistributionConfig", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + if err := s.Tags.Validate(); err != nil { + invalidParams.AddNested("Tags", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // A distribution list. type DistributionList struct { _ struct{} `type:"structure"` @@ -2064,6 +4173,8 @@ type DistributionList struct { // your results were truncated, you can make a follow-up pagination request // using the Marker request parameter to retrieve more distributions in the // list. + // + // IsTruncated is a required field IsTruncated *bool `type:"boolean" required:"true"` // A complex type that contains one DistributionSummary element for each distribution @@ -2071,9 +4182,13 @@ type DistributionList struct { Items []*DistributionSummary `locationNameList:"DistributionSummary" type:"list"` // The value you provided for the Marker request parameter. + // + // Marker is a required field Marker *string `type:"string" required:"true"` // The value you provided for the MaxItems request parameter. + // + // MaxItems is a required field MaxItems *int64 `type:"integer" required:"true"` // If IsTruncated is true, this element is present and contains the value you @@ -2082,6 +4197,8 @@ type DistributionList struct { NextMarker *string `type:"string"` // The number of distributions that were created by the current AWS account. + // + // Quantity is a required field Quantity *int64 `type:"integer" required:"true"` } @@ -2099,55 +4216,97 @@ func (s DistributionList) GoString() string { type DistributionSummary struct { _ struct{} `type:"structure"` + // The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, + // where 123456789012 is your AWS account Id. + // + // ARN is a required field + ARN *string `type:"string" required:"true"` + // A complex type that contains information about CNAMEs (alternate domain names), // if any, for this distribution. + // + // Aliases is a required field Aliases *Aliases `type:"structure" required:"true"` // A complex type that contains zero or more CacheBehavior elements. + // + // CacheBehaviors is a required field CacheBehaviors *CacheBehaviors `type:"structure" required:"true"` // The comment originally specified when this distribution was created. + // + // Comment is a required field Comment *string `type:"string" required:"true"` // A complex type that contains zero or more CustomErrorResponses elements. + // + // CustomErrorResponses is a required field CustomErrorResponses *CustomErrorResponses `type:"structure" required:"true"` // A complex type that describes the default cache behavior if you do not specify // a CacheBehavior element or if files don't match any of the values of PathPattern // in CacheBehavior elements.You must create exactly one default cache behavior. + // + // DefaultCacheBehavior is a required field DefaultCacheBehavior *DefaultCacheBehavior `type:"structure" required:"true"` // The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net. + // + // DomainName is a required field DomainName *string `type:"string" required:"true"` // Whether the distribution is enabled to accept end user requests for content. + // + // Enabled is a required field Enabled *bool `type:"boolean" required:"true"` + // Specify the maximum HTTP version that you want viewers to use to communicate + // with CloudFront. The default value for new web distributions is http2. Viewers + // that don't support HTTP/2 will automatically use an earlier version. + // + // HttpVersion is a required field + HttpVersion *string `type:"string" required:"true" enum:"HttpVersion"` + // The identifier for the distribution. For example: EDFDVBD632BHDS5. + // + // Id is a required field Id *string `type:"string" required:"true"` // The date and time the distribution was last modified. + // + // LastModifiedTime is a required field LastModifiedTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // A complex type that contains information about origins for this distribution. + // + // Origins is a required field Origins *Origins `type:"structure" required:"true"` + // PriceClass is a required field PriceClass *string `type:"string" required:"true" enum:"PriceClass"` // A complex type that identifies ways in which you want to restrict distribution // of your content. + // + // Restrictions is a required field Restrictions *Restrictions `type:"structure" required:"true"` // This response element indicates the current status of the distribution. When // the status is Deployed, the distribution's information is fully propagated // throughout the Amazon CloudFront system. + // + // Status is a required field Status *string `type:"string" required:"true"` // A complex type that contains information about viewer certificates for this // distribution. + // + // ViewerCertificate is a required field ViewerCertificate *ViewerCertificate `type:"structure" required:"true"` // The Web ACL Id (if any) associated with the distribution. + // + // WebACLId is a required field WebACLId *string `type:"string" required:"true"` } @@ -2167,6 +4326,8 @@ type ForwardedValues struct { _ struct{} `type:"structure"` // A complex type that specifies how CloudFront handles cookies. + // + // Cookies is a required field Cookies *CookiePreference `type:"structure" required:"true"` // A complex type that specifies the Headers, if any, that you want CloudFront @@ -2174,9 +4335,28 @@ type ForwardedValues struct { Headers *Headers `type:"structure"` // Indicates whether you want CloudFront to forward query strings to the origin - // that is associated with this cache behavior. If so, specify true; if not, - // specify false. + // that is associated with this cache behavior and cache based on the query + // string parameters. CloudFront behavior depends on the value of QueryString + // and on the values that you specify for QueryStringCacheKeys, if any: + // + // If you specify true for QueryString and you don't specify any values for + // QueryStringCacheKeys, CloudFront forwards all query string parameters to + // the origin and caches based on all query string parameters. Depending on + // how many query string parameters and values you have, this can adversely + // affect performance because CloudFront must forward more requests to the origin. + // If you specify true for QueryString and you specify one or more values for + // QueryStringCacheKeys, CloudFront forwards all query string parameters to + // the origin, but it only caches based on the query string parameters that + // you specify. If you specify false for QueryString, CloudFront doesn't forward + // any query string parameters to the origin, and doesn't cache based on query + // string parameters. + // + // QueryString is a required field QueryString *bool `type:"boolean" required:"true"` + + // A complex type that contains information about the query string parameters + // that you want CloudFront to use for caching for this cache behavior. + QueryStringCacheKeys *QueryStringCacheKeys `type:"structure"` } // String returns the string representation @@ -2208,6 +4388,11 @@ func (s *ForwardedValues) Validate() error { invalidParams.AddNested("Headers", err.(request.ErrInvalidParams)) } } + if s.QueryStringCacheKeys != nil { + if err := s.QueryStringCacheKeys.Validate(); err != nil { + invalidParams.AddNested("QueryStringCacheKeys", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -2238,6 +4423,8 @@ type GeoRestriction struct { // When geo restriction is enabled, this is the number of countries in your // whitelist or blacklist. Otherwise, when it is not enabled, Quantity is 0, // and you can omit Items. + // + // Quantity is a required field Quantity *int64 `type:"integer" required:"true"` // The method that you want to use to restrict distribution of your content @@ -2246,6 +4433,8 @@ type GeoRestriction struct { // specify the countries in which you do not want CloudFront to distribute your // content. - whitelist: The Location elements specify the countries in which // you want CloudFront to distribute your content. + // + // RestrictionType is a required field RestrictionType *string `type:"string" required:"true" enum:"GeoRestrictionType"` } @@ -2280,6 +4469,8 @@ type GetCloudFrontOriginAccessIdentityConfigInput struct { _ struct{} `type:"structure"` // The identity's id. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } @@ -2332,6 +4523,8 @@ type GetCloudFrontOriginAccessIdentityInput struct { _ struct{} `type:"structure"` // The identity's id. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } @@ -2385,6 +4578,8 @@ type GetDistributionConfigInput struct { _ struct{} `type:"structure"` // The distribution's id. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } @@ -2437,6 +4632,8 @@ type GetDistributionInput struct { _ struct{} `type:"structure"` // The distribution's id. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } @@ -2489,9 +4686,13 @@ type GetInvalidationInput struct { _ struct{} `type:"structure"` // The distribution's id. + // + // DistributionId is a required field DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"` // The invalidation's id. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } @@ -2544,6 +4745,8 @@ type GetStreamingDistributionConfigInput struct { _ struct{} `type:"structure"` // The streaming distribution's id. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } @@ -2596,6 +4799,8 @@ type GetStreamingDistributionInput struct { _ struct{} `type:"structure"` // The streaming distribution's id. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } @@ -2667,6 +4872,8 @@ type Headers struct { // * for Name. If you don't want CloudFront to forward any additional headers // to the origin or to vary on any headers, specify 0 for Quantity and omit // Items. + // + // Quantity is a required field Quantity *int64 `type:"integer" required:"true"` } @@ -2698,16 +4905,24 @@ type Invalidation struct { _ struct{} `type:"structure"` // The date and time the invalidation request was first made. + // + // CreateTime is a required field CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // The identifier for the invalidation request. For example: IDFDVBD632BHDS5. + // + // Id is a required field Id *string `type:"string" required:"true"` // The current invalidation information for the batch request. + // + // InvalidationBatch is a required field InvalidationBatch *InvalidationBatch `type:"structure" required:"true"` // The status of the invalidation request. When the invalidation batch is finished, // the status is Completed. + // + // Status is a required field Status *string `type:"string" required:"true"` } @@ -2734,6 +4949,8 @@ type InvalidationBatch struct { // sent in a previous request to create a distribution but the content of any // Path is different from the original request, CloudFront returns an InvalidationBatchAlreadyExists // error. + // + // CallerReference is a required field CallerReference *string `type:"string" required:"true"` // The path of the object to invalidate. The path is relative to the distribution @@ -2742,6 +4959,8 @@ type InvalidationBatch struct { // unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), // URL encode those characters. Do not URL encode any other characters in the // path, or CloudFront will not invalidate the old version of the updated object. + // + // Paths is a required field Paths *Paths `type:"structure" required:"true"` } @@ -2784,6 +5003,8 @@ type InvalidationList struct { // be listed. If your results were truncated, you can make a follow-up pagination // request using the Marker request parameter to retrieve more invalidation // batches in the list. + // + // IsTruncated is a required field IsTruncated *bool `type:"boolean" required:"true"` // A complex type that contains one InvalidationSummary element for each invalidation @@ -2791,9 +5012,13 @@ type InvalidationList struct { Items []*InvalidationSummary `locationNameList:"InvalidationSummary" type:"list"` // The value you provided for the Marker request parameter. + // + // Marker is a required field Marker *string `type:"string" required:"true"` // The value you provided for the MaxItems request parameter. + // + // MaxItems is a required field MaxItems *int64 `type:"integer" required:"true"` // If IsTruncated is true, this element is present and contains the value you @@ -2802,6 +5027,8 @@ type InvalidationList struct { NextMarker *string `type:"string"` // The number of invalidation batches that were created by the current AWS account. + // + // Quantity is a required field Quantity *int64 `type:"integer" required:"true"` } @@ -2819,12 +5046,17 @@ func (s InvalidationList) GoString() string { type InvalidationSummary struct { _ struct{} `type:"structure"` + // CreateTime is a required field CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // The unique ID for an invalidation request. + // + // Id is a required field Id *string `type:"string" required:"true"` // The status of an invalidation request. + // + // Status is a required field Status *string `type:"string" required:"true"` } @@ -2848,6 +5080,8 @@ type KeyPairIds struct { Items []*string `locationNameList:"KeyPairId" type:"list"` // The number of active CloudFront key pairs for AwsAccountNumber. + // + // Quantity is a required field Quantity *int64 `type:"integer" required:"true"` } @@ -2923,6 +5157,8 @@ type ListDistributionsByWebACLIdInput struct { // The Id of the AWS WAF web ACL for which you want to list the associated distributions. // If you specify "null" for the Id, the request returns a list of the distributions // that aren't associated with a web ACL. + // + // WebACLId is a required field WebACLId *string `location:"uri" locationName:"WebACLId" type:"string" required:"true"` } @@ -3017,6 +5253,8 @@ type ListInvalidationsInput struct { _ struct{} `type:"structure"` // The distribution's id. + // + // DistributionId is a required field DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"` // Use this parameter when paginating results to indicate where to begin in @@ -3116,11 +5354,66 @@ func (s ListStreamingDistributionsOutput) GoString() string { return s.String() } +// The request to list tags for a CloudFront resource. +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // An ARN of a CloudFront resource. + // + // Resource is a required field + Resource *string `location:"querystring" locationName:"Resource" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.Resource == nil { + invalidParams.Add(request.NewErrParamRequired("Resource")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The returned result of the corresponding request. +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure" payload:"Tags"` + + // A complex type that contains zero or more Tag elements. + // + // Tags is a required field + Tags *Tags `type:"structure" required:"true"` +} + +// String returns the string representation +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + // A complex type that controls whether access logs are written for the distribution. type LoggingConfig struct { _ struct{} `type:"structure"` // The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com. + // + // Bucket is a required field Bucket *string `type:"string" required:"true"` // Specifies whether you want CloudFront to save access logs to an Amazon S3 @@ -3129,6 +5422,8 @@ type LoggingConfig struct { // for Enabled, and specify empty Bucket and Prefix elements. If you specify // false for Enabled but you specify values for Bucket, prefix and IncludeCookies, // the values are automatically deleted. + // + // Enabled is a required field Enabled *bool `type:"boolean" required:"true"` // Specifies whether you want CloudFront to include cookies in access logs, @@ -3137,12 +5432,16 @@ type LoggingConfig struct { // for this distribution. If you do not want to include cookies when you create // a distribution or if you want to disable include cookies for an existing // distribution, specify false for IncludeCookies. + // + // IncludeCookies is a required field IncludeCookies *bool `type:"boolean" required:"true"` // An optional string that you want CloudFront to prefix to the access log filenames // for this distribution, for example, myprefix/. If you want to enable logging, // but you do not want to specify a prefix, you still must include an empty // Prefix element in the Logging element. + // + // Prefix is a required field Prefix *string `type:"string" required:"true"` } @@ -3196,12 +5495,16 @@ type Origin struct { // CloudFront to get objects for this origin, for example, myawsbucket.s3.amazonaws.com. // Custom origins: The DNS domain name for the HTTP server from which you want // CloudFront to get objects for this origin, for example, www.example.com. + // + // DomainName is a required field DomainName *string `type:"string" required:"true"` // A unique identifier for the origin. The value of Id must be unique within // the distribution. You use the value of Id when you create a cache behavior. // The Id identifies the origin that CloudFront routes a request to when the // request matches the path pattern for that cache behavior. + // + // Id is a required field Id *string `type:"string" required:"true"` // An optional element that causes CloudFront to request your content from a @@ -3264,11 +5567,15 @@ type OriginAccessIdentity struct { CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `type:"structure"` // The ID for the origin access identity. For example: E74FTE3AJFJ256A. + // + // Id is a required field Id *string `type:"string" required:"true"` // The Amazon S3 canonical user ID for the origin access identity, which you // use when giving the origin access identity read permission to an object in // Amazon S3. + // + // S3CanonicalUserId is a required field S3CanonicalUserId *string `type:"string" required:"true"` } @@ -3297,9 +5604,13 @@ type OriginAccessIdentityConfig struct { // the content of the CloudFrontOriginAccessIdentityConfig is different from // the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists // error. + // + // CallerReference is a required field CallerReference *string `type:"string" required:"true"` // Any comments you want to include about the origin access identity. + // + // Comment is a required field Comment *string `type:"string" required:"true"` } @@ -3337,6 +5648,8 @@ type OriginAccessIdentityList struct { // listed. If your results were truncated, you can make a follow-up pagination // request using the Marker request parameter to retrieve more items in the // list. + // + // IsTruncated is a required field IsTruncated *bool `type:"boolean" required:"true"` // A complex type that contains one CloudFrontOriginAccessIdentitySummary element @@ -3344,9 +5657,13 @@ type OriginAccessIdentityList struct { Items []*OriginAccessIdentitySummary `locationNameList:"CloudFrontOriginAccessIdentitySummary" type:"list"` // The value you provided for the Marker request parameter. + // + // Marker is a required field Marker *string `type:"string" required:"true"` // The value you provided for the MaxItems request parameter. + // + // MaxItems is a required field MaxItems *int64 `type:"integer" required:"true"` // If IsTruncated is true, this element is present and contains the value you @@ -3356,6 +5673,8 @@ type OriginAccessIdentityList struct { // The number of CloudFront origin access identities that were created by the // current AWS account. + // + // Quantity is a required field Quantity *int64 `type:"integer" required:"true"` } @@ -3375,14 +5694,20 @@ type OriginAccessIdentitySummary struct { // The comment for this origin access identity, as originally specified when // created. + // + // Comment is a required field Comment *string `type:"string" required:"true"` // The ID for the origin access identity. For example: E74FTE3AJFJ256A. + // + // Id is a required field Id *string `type:"string" required:"true"` // The Amazon S3 canonical user ID for the origin access identity, which you // use when giving the origin access identity read permission to an object in // Amazon S3. + // + // S3CanonicalUserId is a required field S3CanonicalUserId *string `type:"string" required:"true"` } @@ -3401,9 +5726,13 @@ type OriginCustomHeader struct { _ struct{} `type:"structure"` // The header's name. + // + // HeaderName is a required field HeaderName *string `type:"string" required:"true"` // The header's value. + // + // HeaderValue is a required field HeaderValue *string `type:"string" required:"true"` } @@ -3441,10 +5770,14 @@ type OriginSslProtocols struct { // A complex type that contains one SslProtocol element for each SSL/TLS protocol // that you want to allow CloudFront to use when establishing an HTTPS connection // with this origin. + // + // Items is a required field Items []*string `locationNameList:"SslProtocol" type:"list" required:"true"` // The number of SSL/TLS protocols that you want to allow CloudFront to use // when establishing an HTTPS connection with this origin. + // + // Quantity is a required field Quantity *int64 `type:"integer" required:"true"` } @@ -3482,6 +5815,8 @@ type Origins struct { Items []*Origin `locationNameList:"Origin" min:"1" type:"list"` // The number of origins for this distribution. + // + // Quantity is a required field Quantity *int64 `type:"integer" required:"true"` } @@ -3530,6 +5865,8 @@ type Paths struct { Items []*string `locationNameList:"Path" type:"list"` // The number of objects that you want to invalidate. + // + // Quantity is a required field Quantity *int64 `type:"integer" required:"true"` } @@ -3556,6 +5893,43 @@ func (s *Paths) Validate() error { return nil } +type QueryStringCacheKeys struct { + _ struct{} `type:"structure"` + + // Optional: A list that contains the query string parameters that you want + // CloudFront to use as a basis for caching for this cache behavior. If Quantity + // is 0, you can omit Items. + Items []*string `locationNameList:"Name" type:"list"` + + // The number of whitelisted query string parameters for this cache behavior. + // + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` +} + +// String returns the string representation +func (s QueryStringCacheKeys) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s QueryStringCacheKeys) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *QueryStringCacheKeys) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "QueryStringCacheKeys"} + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // A complex type that identifies ways in which you want to restrict distribution // of your content. type Restrictions struct { @@ -3567,6 +5941,8 @@ type Restrictions struct { // of your users using MaxMind GeoIP databases. For information about the accuracy // of these databases, see How accurate are your GeoIP databases? on the MaxMind // website. + // + // GeoRestriction is a required field GeoRestriction *GeoRestriction `type:"structure" required:"true"` } @@ -3604,9 +5980,13 @@ type S3Origin struct { _ struct{} `type:"structure"` // The DNS name of the S3 origin. + // + // DomainName is a required field DomainName *string `type:"string" required:"true"` // Your S3 origin's origin access identity. + // + // OriginAccessIdentity is a required field OriginAccessIdentity *string `type:"string" required:"true"` } @@ -3652,6 +6032,8 @@ type S3OriginConfig struct { // the new origin access identity. Use the format origin-access-identity/cloudfront/Id // where Id is the value that CloudFront returned in the Id element when you // created the origin access identity. + // + // OriginAccessIdentity is a required field OriginAccessIdentity *string `type:"string" required:"true"` } @@ -3708,6 +6090,13 @@ func (s Signer) GoString() string { type StreamingDistribution struct { _ struct{} `type:"structure"` + // The ARN (Amazon Resource Name) for the streaming distribution. For example: + // arn:aws:cloudfront::123456789012:streaming-distribution/EDFDVBD632BHDS5, + // where 123456789012 is your AWS account Id. + // + // ARN is a required field + ARN *string `type:"string" required:"true"` + // CloudFront automatically adds this element to the response only if you've // set up the distribution to serve private content with signed URLs. The element // lists the key pair IDs that CloudFront is aware of for each trusted signer. @@ -3716,13 +6105,19 @@ type StreamingDistribution struct { // includes the IDs of any active key pairs associated with the trusted signer's // AWS account. If no KeyPairId element appears for a Signer, that signer can't // create working signed URLs. + // + // ActiveTrustedSigners is a required field ActiveTrustedSigners *ActiveTrustedSigners `type:"structure" required:"true"` // The domain name corresponding to the streaming distribution. For example: // s5c39gqb8ow64r.cloudfront.net. + // + // DomainName is a required field DomainName *string `type:"string" required:"true"` // The identifier for the streaming distribution. For example: EGTXBD79H29TRA8. + // + // Id is a required field Id *string `type:"string" required:"true"` // The date and time the distribution was last modified. @@ -3731,9 +6126,13 @@ type StreamingDistribution struct { // The current status of the streaming distribution. When the status is Deployed, // the distribution's information is fully propagated throughout the Amazon // CloudFront system. + // + // Status is a required field Status *string `type:"string" required:"true"` // The current configuration information for the streaming distribution. + // + // StreamingDistributionConfig is a required field StreamingDistributionConfig *StreamingDistributionConfig `type:"structure" required:"true"` } @@ -3765,13 +6164,19 @@ type StreamingDistributionConfig struct { // sent in a previous request to create a streaming distribution but the content // of the StreamingDistributionConfig is different from the original request, // CloudFront returns a DistributionAlreadyExists error. + // + // CallerReference is a required field CallerReference *string `type:"string" required:"true"` // Any comments you want to include about the streaming distribution. + // + // Comment is a required field Comment *string `type:"string" required:"true"` // Whether the streaming distribution is enabled to accept end user requests // for content. + // + // Enabled is a required field Enabled *bool `type:"boolean" required:"true"` // A complex type that controls whether access logs are written for the streaming @@ -3784,6 +6189,8 @@ type StreamingDistributionConfig struct { // A complex type that contains information about the Amazon S3 bucket from // which you want CloudFront to get your media files for distribution. + // + // S3Origin is a required field S3Origin *S3Origin `type:"structure" required:"true"` // A complex type that specifies the AWS accounts, if any, that you want to @@ -3797,6 +6204,8 @@ type StreamingDistributionConfig struct { // add, change, or remove one or more trusted signers, change Enabled to true // (if it's currently false), change Quantity as applicable, and specify all // of the trusted signers that you want to include in the updated distribution. + // + // TrustedSigners is a required field TrustedSigners *TrustedSigners `type:"structure" required:"true"` } @@ -3855,6 +6264,58 @@ func (s *StreamingDistributionConfig) Validate() error { return nil } +// A streaming distribution Configuration and a list of tags to be associated +// with the streaming distribution. +type StreamingDistributionConfigWithTags struct { + _ struct{} `type:"structure"` + + // A streaming distribution Configuration. + // + // StreamingDistributionConfig is a required field + StreamingDistributionConfig *StreamingDistributionConfig `type:"structure" required:"true"` + + // A complex type that contains zero or more Tag elements. + // + // Tags is a required field + Tags *Tags `type:"structure" required:"true"` +} + +// String returns the string representation +func (s StreamingDistributionConfigWithTags) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StreamingDistributionConfigWithTags) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StreamingDistributionConfigWithTags) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StreamingDistributionConfigWithTags"} + if s.StreamingDistributionConfig == nil { + invalidParams.Add(request.NewErrParamRequired("StreamingDistributionConfig")) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.StreamingDistributionConfig != nil { + if err := s.StreamingDistributionConfig.Validate(); err != nil { + invalidParams.AddNested("StreamingDistributionConfig", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + if err := s.Tags.Validate(); err != nil { + invalidParams.AddNested("Tags", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // A streaming distribution list. type StreamingDistributionList struct { _ struct{} `type:"structure"` @@ -3863,6 +6324,8 @@ type StreamingDistributionList struct { // If your results were truncated, you can make a follow-up pagination request // using the Marker request parameter to retrieve more distributions in the // list. + // + // IsTruncated is a required field IsTruncated *bool `type:"boolean" required:"true"` // A complex type that contains one StreamingDistributionSummary element for @@ -3870,9 +6333,13 @@ type StreamingDistributionList struct { Items []*StreamingDistributionSummary `locationNameList:"StreamingDistributionSummary" type:"list"` // The value you provided for the Marker request parameter. + // + // Marker is a required field Marker *string `type:"string" required:"true"` // The value you provided for the MaxItems request parameter. + // + // MaxItems is a required field MaxItems *int64 `type:"integer" required:"true"` // If IsTruncated is true, this element is present and contains the value you @@ -3882,6 +6349,8 @@ type StreamingDistributionList struct { // The number of streaming distributions that were created by the current AWS // account. + // + // Quantity is a required field Quantity *int64 `type:"integer" required:"true"` } @@ -3899,34 +6368,58 @@ func (s StreamingDistributionList) GoString() string { type StreamingDistributionSummary struct { _ struct{} `type:"structure"` + // The ARN (Amazon Resource Name) for the streaming distribution. For example: + // arn:aws:cloudfront::123456789012:streaming-distribution/EDFDVBD632BHDS5, + // where 123456789012 is your AWS account Id. + // + // ARN is a required field + ARN *string `type:"string" required:"true"` + // A complex type that contains information about CNAMEs (alternate domain names), // if any, for this streaming distribution. + // + // Aliases is a required field Aliases *Aliases `type:"structure" required:"true"` // The comment originally specified when this distribution was created. + // + // Comment is a required field Comment *string `type:"string" required:"true"` // The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net. + // + // DomainName is a required field DomainName *string `type:"string" required:"true"` // Whether the distribution is enabled to accept end user requests for content. + // + // Enabled is a required field Enabled *bool `type:"boolean" required:"true"` // The identifier for the distribution. For example: EDFDVBD632BHDS5. + // + // Id is a required field Id *string `type:"string" required:"true"` // The date and time the distribution was last modified. + // + // LastModifiedTime is a required field LastModifiedTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` + // PriceClass is a required field PriceClass *string `type:"string" required:"true" enum:"PriceClass"` // A complex type that contains information about the Amazon S3 bucket from // which you want CloudFront to get your media files for distribution. + // + // S3Origin is a required field S3Origin *S3Origin `type:"structure" required:"true"` // Indicates the current status of the distribution. When the status is Deployed, // the distribution's information is fully propagated throughout the Amazon // CloudFront system. + // + // Status is a required field Status *string `type:"string" required:"true"` // A complex type that specifies the AWS accounts, if any, that you want to @@ -3940,6 +6433,8 @@ type StreamingDistributionSummary struct { // add, change, or remove one or more trusted signers, change Enabled to true // (if it's currently false), change Quantity as applicable, and specify all // of the trusted signers that you want to include in the updated distribution. + // + // TrustedSigners is a required field TrustedSigners *TrustedSigners `type:"structure" required:"true"` } @@ -3959,6 +6454,8 @@ type StreamingLoggingConfig struct { _ struct{} `type:"structure"` // The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com. + // + // Bucket is a required field Bucket *string `type:"string" required:"true"` // Specifies whether you want CloudFront to save access logs to an Amazon S3 @@ -3967,12 +6464,16 @@ type StreamingLoggingConfig struct { // distribution, specify false for Enabled, and specify empty Bucket and Prefix // elements. If you specify false for Enabled but you specify values for Bucket // and Prefix, the values are automatically deleted. + // + // Enabled is a required field Enabled *bool `type:"boolean" required:"true"` // An optional string that you want CloudFront to prefix to the access log filenames // for this streaming distribution, for example, myprefix/. If you want to enable // logging, but you do not want to specify a prefix, you still must include // an empty Prefix element in the Logging element. + // + // Prefix is a required field Prefix *string `type:"string" required:"true"` } @@ -4005,6 +6506,165 @@ func (s *StreamingLoggingConfig) Validate() error { return nil } +// A complex type that contains Tag key and Tag value. +type Tag struct { + _ struct{} `type:"structure"` + + // A string that contains Tag key. The string length should be between 1 and + // 128 characters. Valid characters include a-z, A-Z, 0-9, space, and the special + // characters _ - . : / = + @. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // A string that contains an optional Tag value. The string length should be + // between 0 and 256 characters. Valid characters include a-z, A-Z, 0-9, space, + // and the special characters _ - . : / = + @. + Value *string `type:"string"` +} + +// String returns the string representation +func (s Tag) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Tag) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tag"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// A complex type that contains zero or more Tag elements. +type TagKeys struct { + _ struct{} `type:"structure"` + + // A complex type that contains Tag key elements + Items []*string `locationNameList:"Key" type:"list"` +} + +// String returns the string representation +func (s TagKeys) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagKeys) GoString() string { + return s.String() +} + +// The request to add tags to a CloudFront resource. +type TagResourceInput struct { + _ struct{} `type:"structure" payload:"Tags"` + + // An ARN of a CloudFront resource. + // + // Resource is a required field + Resource *string `location:"querystring" locationName:"Resource" type:"string" required:"true"` + + // A complex type that contains zero or more Tag elements. + // + // Tags is a required field + Tags *Tags `locationName:"Tags" type:"structure" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.Resource == nil { + invalidParams.Add(request.NewErrParamRequired("Resource")) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil { + if err := s.Tags.Validate(); err != nil { + invalidParams.AddNested("Tags", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +// A complex type that contains zero or more Tag elements. +type Tags struct { + _ struct{} `type:"structure"` + + // A complex type that contains Tag elements + Items []*Tag `locationNameList:"Tag" type:"list"` +} + +// String returns the string representation +func (s Tags) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Tags) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Tags) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tags"} + if s.Items != nil { + for i, v := range s.Items { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // A complex type that specifies the AWS accounts, if any, that you want to // allow to create signed URLs for private content. If you want to require signed // URLs in requests for objects in the target origin that match the PathPattern @@ -4021,6 +6681,8 @@ type TrustedSigners struct { // Specifies whether you want to require end users to use signed URLs to access // the files specified by PathPattern and TargetOriginId. + // + // Enabled is a required field Enabled *bool `type:"boolean" required:"true"` // Optional: A complex type that contains trusted signers for this cache behavior. @@ -4028,6 +6690,8 @@ type TrustedSigners struct { Items []*string `locationNameList:"AwsAccountNumber" type:"list"` // The number of trusted signers for this cache behavior. + // + // Quantity is a required field Quantity *int64 `type:"integer" required:"true"` } @@ -4057,14 +6721,73 @@ func (s *TrustedSigners) Validate() error { return nil } +// The request to remove tags from a CloudFront resource. +type UntagResourceInput struct { + _ struct{} `type:"structure" payload:"TagKeys"` + + // An ARN of a CloudFront resource. + // + // Resource is a required field + Resource *string `location:"querystring" locationName:"Resource" type:"string" required:"true"` + + // A complex type that contains zero or more Tag key elements. + // + // TagKeys is a required field + TagKeys *TagKeys `locationName:"TagKeys" type:"structure" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.Resource == nil { + invalidParams.Add(request.NewErrParamRequired("Resource")) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + // The request to update an origin access identity. type UpdateCloudFrontOriginAccessIdentityInput struct { _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentityConfig"` // The identity's configuration information. + // + // CloudFrontOriginAccessIdentityConfig is a required field CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `locationName:"CloudFrontOriginAccessIdentityConfig" type:"structure" required:"true"` // The identity's id. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` // The value of the ETag header you received when retrieving the identity's @@ -4129,9 +6852,13 @@ type UpdateDistributionInput struct { _ struct{} `type:"structure" payload:"DistributionConfig"` // The distribution's configuration information. + // + // DistributionConfig is a required field DistributionConfig *DistributionConfig `locationName:"DistributionConfig" type:"structure" required:"true"` // The distribution's id. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` // The value of the ETag header you received when retrieving the distribution's @@ -4196,6 +6923,8 @@ type UpdateStreamingDistributionInput struct { _ struct{} `type:"structure" payload:"StreamingDistributionConfig"` // The streaming distribution's id. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` // The value of the ETag header you received when retrieving the streaming distribution's @@ -4203,6 +6932,8 @@ type UpdateStreamingDistributionInput struct { IfMatch *string `location:"header" locationName:"If-Match" type:"string"` // The streaming distribution's configuration information. + // + // StreamingDistributionConfig is a required field StreamingDistributionConfig *StreamingDistributionConfig `locationName:"StreamingDistributionConfig" type:"structure" required:"true"` } @@ -4325,97 +7056,128 @@ func (s ViewerCertificate) GoString() string { } const ( - // @enum CertificateSource + // CertificateSourceCloudfront is a CertificateSource enum value CertificateSourceCloudfront = "cloudfront" - // @enum CertificateSource + + // CertificateSourceIam is a CertificateSource enum value CertificateSourceIam = "iam" - // @enum CertificateSource + + // CertificateSourceAcm is a CertificateSource enum value CertificateSourceAcm = "acm" ) const ( - // @enum GeoRestrictionType + // GeoRestrictionTypeBlacklist is a GeoRestrictionType enum value GeoRestrictionTypeBlacklist = "blacklist" - // @enum GeoRestrictionType + + // GeoRestrictionTypeWhitelist is a GeoRestrictionType enum value GeoRestrictionTypeWhitelist = "whitelist" - // @enum GeoRestrictionType + + // GeoRestrictionTypeNone is a GeoRestrictionType enum value GeoRestrictionTypeNone = "none" ) const ( - // @enum ItemSelection + // HttpVersionHttp11 is a HttpVersion enum value + HttpVersionHttp11 = "http1.1" + + // HttpVersionHttp2 is a HttpVersion enum value + HttpVersionHttp2 = "http2" +) + +const ( + // ItemSelectionNone is a ItemSelection enum value ItemSelectionNone = "none" - // @enum ItemSelection + + // ItemSelectionWhitelist is a ItemSelection enum value ItemSelectionWhitelist = "whitelist" - // @enum ItemSelection + + // ItemSelectionAll is a ItemSelection enum value ItemSelectionAll = "all" ) const ( - // @enum Method + // MethodGet is a Method enum value MethodGet = "GET" - // @enum Method + + // MethodHead is a Method enum value MethodHead = "HEAD" - // @enum Method + + // MethodPost is a Method enum value MethodPost = "POST" - // @enum Method + + // MethodPut is a Method enum value MethodPut = "PUT" - // @enum Method + + // MethodPatch is a Method enum value MethodPatch = "PATCH" - // @enum Method + + // MethodOptions is a Method enum value MethodOptions = "OPTIONS" - // @enum Method + + // MethodDelete is a Method enum value MethodDelete = "DELETE" ) const ( - // @enum MinimumProtocolVersion + // MinimumProtocolVersionSslv3 is a MinimumProtocolVersion enum value MinimumProtocolVersionSslv3 = "SSLv3" - // @enum MinimumProtocolVersion + + // MinimumProtocolVersionTlsv1 is a MinimumProtocolVersion enum value MinimumProtocolVersionTlsv1 = "TLSv1" ) const ( - // @enum OriginProtocolPolicy + // OriginProtocolPolicyHttpOnly is a OriginProtocolPolicy enum value OriginProtocolPolicyHttpOnly = "http-only" - // @enum OriginProtocolPolicy + + // OriginProtocolPolicyMatchViewer is a OriginProtocolPolicy enum value OriginProtocolPolicyMatchViewer = "match-viewer" - // @enum OriginProtocolPolicy + + // OriginProtocolPolicyHttpsOnly is a OriginProtocolPolicy enum value OriginProtocolPolicyHttpsOnly = "https-only" ) const ( - // @enum PriceClass + // PriceClassPriceClass100 is a PriceClass enum value PriceClassPriceClass100 = "PriceClass_100" - // @enum PriceClass + + // PriceClassPriceClass200 is a PriceClass enum value PriceClassPriceClass200 = "PriceClass_200" - // @enum PriceClass + + // PriceClassPriceClassAll is a PriceClass enum value PriceClassPriceClassAll = "PriceClass_All" ) const ( - // @enum SSLSupportMethod + // SSLSupportMethodSniOnly is a SSLSupportMethod enum value SSLSupportMethodSniOnly = "sni-only" - // @enum SSLSupportMethod + + // SSLSupportMethodVip is a SSLSupportMethod enum value SSLSupportMethodVip = "vip" ) const ( - // @enum SslProtocol + // SslProtocolSslv3 is a SslProtocol enum value SslProtocolSslv3 = "SSLv3" - // @enum SslProtocol + + // SslProtocolTlsv1 is a SslProtocol enum value SslProtocolTlsv1 = "TLSv1" - // @enum SslProtocol + + // SslProtocolTlsv11 is a SslProtocol enum value SslProtocolTlsv11 = "TLSv1.1" - // @enum SslProtocol + + // SslProtocolTlsv12 is a SslProtocol enum value SslProtocolTlsv12 = "TLSv1.2" ) const ( - // @enum ViewerProtocolPolicy + // ViewerProtocolPolicyAllowAll is a ViewerProtocolPolicy enum value ViewerProtocolPolicyAllowAll = "allow-all" - // @enum ViewerProtocolPolicy + + // ViewerProtocolPolicyHttpsOnly is a ViewerProtocolPolicy enum value ViewerProtocolPolicyHttpsOnly = "https-only" - // @enum ViewerProtocolPolicy + + // ViewerProtocolPolicyRedirectToHttps is a ViewerProtocolPolicy enum value ViewerProtocolPolicyRedirectToHttps = "redirect-to-https" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/waiters.go index 7a0525d1770b..c14e9d101f75 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/waiters.go @@ -6,6 +6,10 @@ import ( "github.com/aws/aws-sdk-go/private/waiter" ) +// WaitUntilDistributionDeployed uses the CloudFront API operation +// GetDistribution to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *CloudFront) WaitUntilDistributionDeployed(input *GetDistributionInput) error { waiterCfg := waiter.Config{ Operation: "GetDistribution", @@ -29,6 +33,10 @@ func (c *CloudFront) WaitUntilDistributionDeployed(input *GetDistributionInput) return w.Wait() } +// WaitUntilInvalidationCompleted uses the CloudFront API operation +// GetInvalidation to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *CloudFront) WaitUntilInvalidationCompleted(input *GetInvalidationInput) error { waiterCfg := waiter.Config{ Operation: "GetInvalidation", @@ -52,6 +60,10 @@ func (c *CloudFront) WaitUntilInvalidationCompleted(input *GetInvalidationInput) return w.Wait() } +// WaitUntilStreamingDistributionDeployed uses the CloudFront API operation +// GetStreamingDistribution to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *CloudFront) WaitUntilStreamingDistributionDeployed(input *GetStreamingDistributionInput) error { waiterCfg := waiter.Config{ Operation: "GetStreamingDistribution", 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 7fc320b74bcc..ebccedbd6ee0 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 @@ -13,7 +13,30 @@ import ( const opAddTags = "AddTags" -// AddTagsRequest generates a request for the AddTags operation. +// AddTagsRequest generates a "aws/request.Request" representing the +// client's request for the AddTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AddTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AddTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AddTagsRequest method. +// req, resp := client.AddTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudTrail) AddTagsRequest(input *AddTagsInput) (req *request.Request, output *AddTagsOutput) { op := &request.Operation{ Name: opAddTags, @@ -31,12 +54,66 @@ func (c *CloudTrail) AddTagsRequest(input *AddTagsInput) (req *request.Request, return } +// AddTags API operation for AWS CloudTrail. +// // Adds one or more tags to a trail, up to a limit of 10. 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). +// +// 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 AddTags for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// This exception is thrown when the specified resource is not found. +// +// * ARNInvalidException +// This exception is thrown when an operation is called with an invalid trail +// ARN. The format of a trail ARN is: +// +// arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail +// +// * ResourceTypeNotSupportedException +// This exception is thrown when the specified resource type is not supported +// by CloudTrail. +// +// * TagsLimitExceededException +// The number of tags per trail has exceeded the permitted amount. Currently, +// the limit is 10. +// +// * 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) +// +// * 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}_.:/=+\\-@]*)$. +// +// * UnsupportedOperationException +// This exception is thrown when the requested operation is not supported. +// +// * OperationNotPermittedException +// This exception is thrown when the requested operation is not permitted. +// func (c *CloudTrail) AddTags(input *AddTagsInput) (*AddTagsOutput, error) { req, out := c.AddTagsRequest(input) err := req.Send() @@ -45,7 +122,30 @@ func (c *CloudTrail) AddTags(input *AddTagsInput) (*AddTagsOutput, error) { const opCreateTrail = "CreateTrail" -// CreateTrailRequest generates a request for the CreateTrail operation. +// CreateTrailRequest generates a "aws/request.Request" representing the +// client's request for the CreateTrail operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateTrail for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateTrail method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateTrailRequest method. +// req, resp := client.CreateTrailRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudTrail) CreateTrailRequest(input *CreateTrailInput) (req *request.Request, output *CreateTrailOutput) { op := &request.Operation{ Name: opCreateTrail, @@ -63,9 +163,100 @@ func (c *CloudTrail) CreateTrailRequest(input *CreateTrailInput) (req *request.R return } +// 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. +// +// 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 CreateTrail for usage and error information. +// +// Returned Error Codes: +// * MaximumNumberOfTrailsExceededException +// This exception is thrown when the maximum number of trails is reached. +// +// * TrailAlreadyExistsException +// This exception is thrown when the specified trail already exists. +// +// * S3BucketDoesNotExistException +// This exception is thrown when the specified S3 bucket does not exist. +// +// * InsufficientS3BucketPolicyException +// This exception is thrown when the policy on the S3 bucket is not sufficient. +// +// * InsufficientSnsTopicPolicyException +// This exception is thrown when the policy on the SNS topic is not sufficient. +// +// * InsufficientEncryptionPolicyException +// This exception is thrown when the policy on the S3 bucket or KMS key is not +// sufficient. +// +// * InvalidS3BucketNameException +// This exception is thrown when the provided S3 bucket name is not valid. +// +// * InvalidS3PrefixException +// This exception is thrown when the provided S3 prefix is not valid. +// +// * InvalidSnsTopicNameException +// This exception is thrown when the provided SNS topic name is not valid. +// +// * InvalidKmsKeyIdException +// This exception is thrown when the KMS key ARN is invalid. +// +// * 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) +// +// * TrailNotProvidedException +// This exception is deprecated. +// +// * InvalidParameterCombinationException +// This exception is thrown when the combination of parameters provided is not +// valid. +// +// * KmsKeyNotFoundException +// This exception is thrown when the KMS key does not exist, or when the S3 +// bucket and the KMS key are not in the same region. +// +// * KmsKeyDisabledException +// This exception is deprecated. +// +// * KmsException +// This exception is thrown when there is an issue with the specified KMS key +// and the trail can’t be updated. +// +// * InvalidCloudWatchLogsLogGroupArnException +// This exception is thrown when the provided CloudWatch log group is not valid. +// +// * InvalidCloudWatchLogsRoleArnException +// This exception is thrown when the provided role is not valid. +// +// * CloudWatchLogsDeliveryUnavailableException +// Cannot set a CloudWatch Logs delivery for this region. +// +// * UnsupportedOperationException +// This exception is thrown when the requested operation is not supported. +// +// * OperationNotPermittedException +// This exception is thrown when the requested operation is not permitted. +// func (c *CloudTrail) CreateTrail(input *CreateTrailInput) (*CreateTrailOutput, error) { req, out := c.CreateTrailRequest(input) err := req.Send() @@ -74,7 +265,30 @@ func (c *CloudTrail) CreateTrail(input *CreateTrailInput) (*CreateTrailOutput, e const opDeleteTrail = "DeleteTrail" -// DeleteTrailRequest generates a request for the DeleteTrail operation. +// DeleteTrailRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTrail operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteTrail for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteTrail method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteTrailRequest method. +// req, resp := client.DeleteTrailRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudTrail) DeleteTrailRequest(input *DeleteTrailInput) (req *request.Request, output *DeleteTrailOutput) { op := &request.Operation{ Name: opDeleteTrail, @@ -92,9 +306,43 @@ func (c *CloudTrail) DeleteTrailRequest(input *DeleteTrailInput) (req *request.R return } +// DeleteTrail API operation for AWS CloudTrail. +// // Deletes a trail. This operation must be called from the region in which the // trail was created. DeleteTrail cannot be called on the shadow trails (replicated // trails in other regions) of a trail that is enabled in all regions. +// +// 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 DeleteTrail for usage and error information. +// +// Returned Error Codes: +// * TrailNotFoundException +// This exception is thrown when the trail with the given name is not found. +// +// * 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) +// +// * InvalidHomeRegionException +// This exception is thrown when an operation is called on a trail from a region +// other than the region in which the trail was created. +// func (c *CloudTrail) DeleteTrail(input *DeleteTrailInput) (*DeleteTrailOutput, error) { req, out := c.DeleteTrailRequest(input) err := req.Send() @@ -103,7 +351,30 @@ func (c *CloudTrail) DeleteTrail(input *DeleteTrailInput) (*DeleteTrailOutput, e const opDescribeTrails = "DescribeTrails" -// DescribeTrailsRequest generates a request for the DescribeTrails operation. +// DescribeTrailsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTrails operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeTrails for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeTrails method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeTrailsRequest method. +// req, resp := client.DescribeTrailsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudTrail) DescribeTrailsRequest(input *DescribeTrailsInput) (req *request.Request, output *DescribeTrailsOutput) { op := &request.Operation{ Name: opDescribeTrails, @@ -121,8 +392,25 @@ func (c *CloudTrail) DescribeTrailsRequest(input *DescribeTrailsInput) (req *req return } +// DescribeTrails API operation for AWS CloudTrail. +// // Retrieves settings for the trail 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 +// the error. +// +// See the AWS API reference guide for AWS CloudTrail's +// API operation DescribeTrails for usage and error information. +// +// Returned Error Codes: +// * UnsupportedOperationException +// This exception is thrown when the requested operation is not supported. +// +// * OperationNotPermittedException +// This exception is thrown when the requested operation is not permitted. +// func (c *CloudTrail) DescribeTrails(input *DescribeTrailsInput) (*DescribeTrailsOutput, error) { req, out := c.DescribeTrailsRequest(input) err := req.Send() @@ -131,7 +419,30 @@ func (c *CloudTrail) DescribeTrails(input *DescribeTrailsInput) (*DescribeTrails const opGetTrailStatus = "GetTrailStatus" -// GetTrailStatusRequest generates a request for the GetTrailStatus operation. +// GetTrailStatusRequest generates a "aws/request.Request" representing the +// client's request for the GetTrailStatus operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetTrailStatus for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetTrailStatus method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetTrailStatusRequest method. +// req, resp := client.GetTrailStatusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudTrail) GetTrailStatusRequest(input *GetTrailStatusInput) (req *request.Request, output *GetTrailStatusOutput) { op := &request.Operation{ Name: opGetTrailStatus, @@ -149,11 +460,41 @@ func (c *CloudTrail) GetTrailStatusRequest(input *GetTrailStatusInput) (req *req return } +// GetTrailStatus API operation for AWS CloudTrail. +// // Returns a JSON-formatted list of information about the specified trail. Fields // include information on delivery errors, Amazon SNS and Amazon S3 errors, // and start and stop logging times for each trail. This operation returns trail // status from a single region. To return trail status from all regions, you // must call the operation on each 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 +// the error. +// +// See the AWS API reference guide for AWS CloudTrail's +// API operation GetTrailStatus for usage and error information. +// +// Returned Error Codes: +// * TrailNotFoundException +// This exception is thrown when the trail with the given name is not found. +// +// * 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) +// func (c *CloudTrail) GetTrailStatus(input *GetTrailStatusInput) (*GetTrailStatusOutput, error) { req, out := c.GetTrailStatusRequest(input) err := req.Send() @@ -162,7 +503,30 @@ func (c *CloudTrail) GetTrailStatus(input *GetTrailStatusInput) (*GetTrailStatus const opListPublicKeys = "ListPublicKeys" -// ListPublicKeysRequest generates a request for the ListPublicKeys operation. +// ListPublicKeysRequest generates a "aws/request.Request" representing the +// client's request for the ListPublicKeys operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListPublicKeys for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListPublicKeys method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListPublicKeysRequest method. +// req, resp := client.ListPublicKeysRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudTrail) ListPublicKeysRequest(input *ListPublicKeysInput) (req *request.Request, output *ListPublicKeysOutput) { op := &request.Operation{ Name: opListPublicKeys, @@ -180,14 +544,38 @@ func (c *CloudTrail) ListPublicKeysRequest(input *ListPublicKeysInput) (req *req return } +// ListPublicKeys API operation for AWS CloudTrail. +// // Returns all public keys whose private keys were used to sign the digest files // within the specified time range. The public key is needed to validate digest // files that were signed with its corresponding private key. // -// CloudTrail uses different private/public key pairs per region. Each digest +// CloudTrail uses different private/public key pairs per region. Each digest // file is signed with a private key unique to its region. Therefore, when you // validate a digest file from a particular region, you must look in the same // region for its corresponding public key. +// +// 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 ListPublicKeys for usage and error information. +// +// Returned Error Codes: +// * InvalidTimeRangeException +// Occurs if the timestamp values are invalid. Either the start time occurs +// after the end time or the time range is outside the range of possible values. +// +// * UnsupportedOperationException +// This exception is thrown when the requested operation is not supported. +// +// * OperationNotPermittedException +// This exception is thrown when the requested operation is not permitted. +// +// * InvalidTokenException +// Reserved for future use. +// func (c *CloudTrail) ListPublicKeys(input *ListPublicKeysInput) (*ListPublicKeysOutput, error) { req, out := c.ListPublicKeysRequest(input) err := req.Send() @@ -196,7 +584,30 @@ func (c *CloudTrail) ListPublicKeys(input *ListPublicKeysInput) (*ListPublicKeys const opListTags = "ListTags" -// ListTagsRequest generates a request for the ListTags operation. +// ListTagsRequest generates a "aws/request.Request" representing the +// client's request for the ListTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListTagsRequest method. +// req, resp := client.ListTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudTrail) ListTagsRequest(input *ListTagsInput) (req *request.Request, output *ListTagsOutput) { op := &request.Operation{ Name: opListTags, @@ -214,9 +625,56 @@ func (c *CloudTrail) ListTagsRequest(input *ListTagsInput) (req *request.Request return } -// Lists the tags for the specified trail or trails in the current region. +// ListTags API operation for AWS CloudTrail. // // Lists the tags for the trail in the current 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 +// the error. +// +// See the AWS API reference guide for AWS CloudTrail's +// API operation ListTags for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// This exception is thrown when the specified resource is not found. +// +// * ARNInvalidException +// This exception is thrown when an operation is called with an invalid trail +// ARN. The format of a trail ARN is: +// +// arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail +// +// * ResourceTypeNotSupportedException +// This exception is thrown when the specified resource type is not supported +// by CloudTrail. +// +// * 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) +// +// * UnsupportedOperationException +// This exception is thrown when the requested operation is not supported. +// +// * OperationNotPermittedException +// This exception is thrown when the requested operation is not permitted. +// +// * InvalidTokenException +// Reserved for future use. +// func (c *CloudTrail) ListTags(input *ListTagsInput) (*ListTagsOutput, error) { req, out := c.ListTagsRequest(input) err := req.Send() @@ -225,7 +683,30 @@ func (c *CloudTrail) ListTags(input *ListTagsInput) (*ListTagsOutput, error) { const opLookupEvents = "LookupEvents" -// LookupEventsRequest generates a request for the LookupEvents operation. +// LookupEventsRequest generates a "aws/request.Request" representing the +// client's request for the LookupEvents operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See LookupEvents for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the LookupEvents method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the LookupEventsRequest method. +// req, resp := client.LookupEventsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudTrail) LookupEventsRequest(input *LookupEventsInput) (req *request.Request, output *LookupEventsOutput) { op := &request.Operation{ Name: opLookupEvents, @@ -243,6 +724,8 @@ func (c *CloudTrail) LookupEventsRequest(input *LookupEventsInput) (req *request return } +// LookupEvents API operation for AWS CloudTrail. +// // Looks up API activity events captured by CloudTrail that create, update, // or delete resources in your account. Events for a region can be looked up // for the times in which you had CloudTrail turned on in that region during @@ -254,10 +737,34 @@ func (c *CloudTrail) LookupEventsRequest(input *LookupEventsInput) (req *request // 50 possible. The response includes a token that you can use to get the next // page of results. // -// The rate of lookup requests is limited to one per second per account. If -// this limit is exceeded, a throttling error occurs. Events that occurred -// during the selected time range will not be available for lookup if CloudTrail -// logging was not enabled when the events occurred. +// The rate of lookup requests is limited to one per second per account. If +// this limit is exceeded, a throttling error occurs. +// +// Events that occurred during the selected time range will not be available +// for lookup if CloudTrail logging was not enabled when the events occurred. +// +// 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 LookupEvents for usage and error information. +// +// Returned Error Codes: +// * InvalidLookupAttributesException +// Occurs when an invalid lookup attribute is specified. +// +// * InvalidTimeRangeException +// Occurs if the timestamp values are invalid. Either the start time occurs +// after the end time or the time range is outside the range of possible values. +// +// * InvalidMaxResultsException +// This exception is thrown if the limit specified is invalid. +// +// * InvalidNextTokenException +// Invalid token or token that was previously used in a request with different +// parameters. This exception is thrown if the token is invalid. +// func (c *CloudTrail) LookupEvents(input *LookupEventsInput) (*LookupEventsOutput, error) { req, out := c.LookupEventsRequest(input) err := req.Send() @@ -266,7 +773,30 @@ func (c *CloudTrail) LookupEvents(input *LookupEventsInput) (*LookupEventsOutput const opRemoveTags = "RemoveTags" -// RemoveTagsRequest generates a request for the RemoveTags operation. +// RemoveTagsRequest generates a "aws/request.Request" representing the +// client's request for the RemoveTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RemoveTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RemoveTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RemoveTagsRequest method. +// req, resp := client.RemoveTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudTrail) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, output *RemoveTagsOutput) { op := &request.Operation{ Name: opRemoveTags, @@ -284,7 +814,57 @@ func (c *CloudTrail) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Req return } +// RemoveTags API operation for AWS CloudTrail. +// // Removes the specified tags from a 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 RemoveTags for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// This exception is thrown when the specified resource is not found. +// +// * ARNInvalidException +// This exception is thrown when an operation is called with an invalid trail +// ARN. The format of a trail ARN is: +// +// arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail +// +// * ResourceTypeNotSupportedException +// This exception is thrown when the specified resource type is not supported +// by CloudTrail. +// +// * 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) +// +// * 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}_.:/=+\\-@]*)$. +// +// * UnsupportedOperationException +// This exception is thrown when the requested operation is not supported. +// +// * OperationNotPermittedException +// This exception is thrown when the requested operation is not permitted. +// func (c *CloudTrail) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, error) { req, out := c.RemoveTagsRequest(input) err := req.Send() @@ -293,7 +873,30 @@ func (c *CloudTrail) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, erro const opStartLogging = "StartLogging" -// StartLoggingRequest generates a request for the StartLogging operation. +// StartLoggingRequest generates a "aws/request.Request" representing the +// client's request for the StartLogging operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See StartLogging for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the StartLogging method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the StartLoggingRequest method. +// req, resp := client.StartLoggingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudTrail) StartLoggingRequest(input *StartLoggingInput) (req *request.Request, output *StartLoggingOutput) { op := &request.Operation{ Name: opStartLogging, @@ -311,11 +914,45 @@ func (c *CloudTrail) StartLoggingRequest(input *StartLoggingInput) (req *request return } +// StartLogging API operation for AWS CloudTrail. +// // Starts the recording of AWS API calls and log file delivery for a trail. // For a trail that is enabled in all regions, this operation must be called // from the region in which the trail was created. This operation cannot be // called on the shadow trails (replicated trails in other regions) of a trail // that is enabled in all regions. +// +// 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 StartLogging for usage and error information. +// +// Returned Error Codes: +// * TrailNotFoundException +// This exception is thrown when the trail with the given name is not found. +// +// * 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) +// +// * InvalidHomeRegionException +// This exception is thrown when an operation is called on a trail from a region +// other than the region in which the trail was created. +// func (c *CloudTrail) StartLogging(input *StartLoggingInput) (*StartLoggingOutput, error) { req, out := c.StartLoggingRequest(input) err := req.Send() @@ -324,7 +961,30 @@ func (c *CloudTrail) StartLogging(input *StartLoggingInput) (*StartLoggingOutput const opStopLogging = "StopLogging" -// StopLoggingRequest generates a request for the StopLogging operation. +// StopLoggingRequest generates a "aws/request.Request" representing the +// client's request for the StopLogging operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See StopLogging for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the StopLogging method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the StopLoggingRequest method. +// req, resp := client.StopLoggingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudTrail) StopLoggingRequest(input *StopLoggingInput) (req *request.Request, output *StopLoggingOutput) { op := &request.Operation{ Name: opStopLogging, @@ -342,6 +1002,8 @@ func (c *CloudTrail) StopLoggingRequest(input *StopLoggingInput) (req *request.R return } +// StopLogging API operation for AWS CloudTrail. +// // Suspends the recording of AWS API calls and log file delivery for the specified // trail. Under most circumstances, there is no need to use this action. You // can update a trail without stopping it first. This action is the only way @@ -349,6 +1011,38 @@ func (c *CloudTrail) StopLoggingRequest(input *StopLoggingInput) (req *request.R // be called from the region in which the trail was created, or an InvalidHomeRegionException // will occur. This operation cannot be called on the shadow trails (replicated // trails in other regions) of a trail enabled in all regions. +// +// 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 StopLogging for usage and error information. +// +// Returned Error Codes: +// * TrailNotFoundException +// This exception is thrown when the trail with the given name is not found. +// +// * 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) +// +// * InvalidHomeRegionException +// This exception is thrown when an operation is called on a trail from a region +// other than the region in which the trail was created. +// func (c *CloudTrail) StopLogging(input *StopLoggingInput) (*StopLoggingOutput, error) { req, out := c.StopLoggingRequest(input) err := req.Send() @@ -357,7 +1051,30 @@ func (c *CloudTrail) StopLogging(input *StopLoggingInput) (*StopLoggingOutput, e const opUpdateTrail = "UpdateTrail" -// UpdateTrailRequest generates a request for the UpdateTrail operation. +// UpdateTrailRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTrail operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateTrail for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateTrail method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateTrailRequest method. +// req, resp := client.UpdateTrailRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudTrail) UpdateTrailRequest(input *UpdateTrailInput) (req *request.Request, output *UpdateTrailOutput) { op := &request.Operation{ Name: opUpdateTrail, @@ -375,12 +1092,104 @@ func (c *CloudTrail) UpdateTrailRequest(input *UpdateTrailInput) (req *request.R return } +// UpdateTrail API operation for AWS CloudTrail. +// // Updates the settings that specify delivery of log files. Changes to a trail // do not require stopping the CloudTrail service. Use this action to designate // an existing bucket for log delivery. If the existing bucket has previously // been a target for CloudTrail log files, an IAM policy exists for the bucket. // UpdateTrail must be called from the region in which the trail was created; // otherwise, an InvalidHomeRegionException is thrown. +// +// 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 UpdateTrail for usage and error information. +// +// Returned Error Codes: +// * S3BucketDoesNotExistException +// This exception is thrown when the specified S3 bucket does not exist. +// +// * InsufficientS3BucketPolicyException +// This exception is thrown when the policy on the S3 bucket is not sufficient. +// +// * InsufficientSnsTopicPolicyException +// This exception is thrown when the policy on the SNS topic is not sufficient. +// +// * InsufficientEncryptionPolicyException +// This exception is thrown when the policy on the S3 bucket or KMS key is not +// sufficient. +// +// * TrailNotFoundException +// This exception is thrown when the trail with the given name is not found. +// +// * InvalidS3BucketNameException +// This exception is thrown when the provided S3 bucket name is not valid. +// +// * InvalidS3PrefixException +// This exception is thrown when the provided S3 prefix is not valid. +// +// * InvalidSnsTopicNameException +// This exception is thrown when the provided SNS topic name is not valid. +// +// * InvalidKmsKeyIdException +// This exception is thrown when the KMS key ARN is invalid. +// +// * 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) +// +// * TrailNotProvidedException +// This exception is deprecated. +// +// * InvalidParameterCombinationException +// This exception is thrown when the combination of parameters provided is not +// valid. +// +// * InvalidHomeRegionException +// This exception is thrown when an operation is called on a trail from a region +// other than the region in which the trail was created. +// +// * KmsKeyNotFoundException +// This exception is thrown when the KMS key does not exist, or when the S3 +// bucket and the KMS key are not in the same region. +// +// * KmsKeyDisabledException +// This exception is deprecated. +// +// * KmsException +// This exception is thrown when there is an issue with the specified KMS key +// and the trail can’t be updated. +// +// * InvalidCloudWatchLogsLogGroupArnException +// This exception is thrown when the provided CloudWatch log group is not valid. +// +// * InvalidCloudWatchLogsRoleArnException +// This exception is thrown when the provided role is not valid. +// +// * CloudWatchLogsDeliveryUnavailableException +// Cannot set a CloudWatch Logs delivery for this region. +// +// * UnsupportedOperationException +// This exception is thrown when the requested operation is not supported. +// +// * OperationNotPermittedException +// This exception is thrown when the requested operation is not permitted. +// func (c *CloudTrail) UpdateTrail(input *UpdateTrailInput) (*UpdateTrailOutput, error) { req, out := c.UpdateTrailRequest(input) err := req.Send() @@ -392,7 +1201,11 @@ type AddTagsInput struct { _ struct{} `type:"structure"` // Specifies the ARN of the trail to which one or more tags will be added. The - // format of a trail ARN is arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail. + // format of a trail ARN is: + // + // arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail + // + // ResourceId is a required field ResourceId *string `type:"string" required:"true"` // Contains a list of CloudTrail tags, up to a limit of 10. @@ -464,7 +1277,7 @@ type CreateTrailInput struct { // Specifies whether log file integrity validation is enabled. The default is // false. // - // When you disable log file integrity validation, the chain of digest files + // When you disable log file integrity validation, the chain of digest files // is broken after one hour. CloudTrail will not create digest files for log // files that were delivered during a period in which log file integrity validation // was disabled. For example, if you enable log file integrity validation at @@ -488,22 +1301,36 @@ type CreateTrailInput struct { // // Examples: // - // alias/MyAliasName arn:aws:kms:us-east-1:123456789012:alias/MyAliasName - // arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 - // 12345678-1234-1234-1234-123456789012 + // alias/MyAliasName + // + // arn:aws:kms:us-east-1:123456789012:alias/MyAliasName + // + // arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 + // + // 12345678-1234-1234-1234-123456789012 KmsKeyId *string `type:"string"` // Specifies the name of the trail. The name 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) + // 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) + // + // Name is a required field 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). + // + // 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 @@ -566,7 +1393,7 @@ type CreateTrailOutput struct { // Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. // The value is a fully specified ARN to a KMS key in the format: // - // arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 + // arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 KmsKeyId *string `type:"string"` // Specifies whether log file integrity validation is enabled. @@ -584,11 +1411,19 @@ type CreateTrailOutput struct { // Your CloudTrail Log Files (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html). S3KeyPrefix *string `type:"string"` - // Specifies the name of the Amazon SNS topic defined for notification of log - // file delivery. - SnsTopicName *string `type:"string"` + // Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications + // when log files are delivered. The format of a topic ARN is: + // + // arn:aws:sns:us-east-1:123456789012:MyTopic + SnsTopicARN *string `type:"string"` - // Specifies the ARN of the trail that was created. + // This field is deprecated. Use SnsTopicARN. + SnsTopicName *string `deprecated:"true" type:"string"` + + // Specifies the ARN of the trail that was created. The format of a trail ARN + // is: + // + // arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail TrailARN *string `type:"string"` } @@ -607,7 +1442,11 @@ type DeleteTrailInput struct { _ struct{} `type:"structure"` // Specifies the name or the CloudTrail ARN of the trail to be deleted. The - // format of a trail ARN is arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail. + // format of a trail ARN is: + // + // arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail + // + // Name is a required field Name *string `type:"string" required:"true"` } @@ -660,18 +1499,24 @@ type DescribeTrailsInput struct { IncludeShadowTrails *bool `locationName:"includeShadowTrails" type:"boolean"` // Specifies a list of trail names, trail ARNs, or both, of the trails to describe. - // The format of a trail ARN is arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail. - // If an empty list is specified, information for the trail in the current region - // is returned. + // The format of a trail ARN is: + // + // arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail + // + // If an empty list is specified, information for the trail in the current + // region is returned. // - // If an empty list is specified and IncludeShadowTrails is false, then information - // for all trails in the current region is returned. If an empty list is specified - // and IncludeShadowTrails is null or true, then information for all trails - // in the current region and any associated shadow trails in other regions is - // returned. If one or more trail names are specified, information is returned - // only if the names match the names of trails belonging only to the current - // region. To return information about a trail in another region, you must specify - // its trail ARN. + // If an empty list is specified and IncludeShadowTrails is false, then information + // for all trails in the current region is returned. + // + // If an empty list is specified and IncludeShadowTrails is null or true, + // then information for all trails in the current region and any associated + // shadow trails in other regions is returned. + // + // If one or more trail names are specified, information is returned only + // if the names match the names of trails belonging only to the current region. + // To return information about a trail in another region, you must specify its + // trail ARN. TrailNameList []*string `locationName:"trailNameList" type:"list"` } @@ -745,7 +1590,11 @@ type GetTrailStatusInput struct { // Specifies the name or the CloudTrail ARN of the trail for which you are requesting // status. To get the status of a shadow trail (a replication of the trail in - // another region), you must specify its ARN. The format of a trail ARN is arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail. + // another region), you must specify its ARN. The format of a trail ARN is: + // + // arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail + // + // Name is a required field Name *string `type:"string" required:"true"` } @@ -799,10 +1648,10 @@ type GetTrailStatusOutput struct { // topic Error Responses (http://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 - // and will not occur for timeouts. To resolve the issue, create a new bucket - // and call UpdateTrail to specify the new bucket, or fix the existing objects - // so that CloudTrail can again write to the bucket. + // This error occurs only when there is a problem with the destination S3 + // bucket and will not occur for timeouts. To resolve the issue, create a new + // bucket and call UpdateTrail to specify the new bucket, or fix the existing + // objects so that CloudTrail can again write to the bucket. LatestDeliveryError *string `type:"string"` // Specifies the date and time that CloudTrail last delivered log files to an @@ -814,10 +1663,10 @@ type GetTrailStatusOutput struct { // the topic Error Responses (http://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 - // and will not occur for timeouts. To resolve the issue, create a new bucket - // and call UpdateTrail to specify the new bucket, or fix the existing objects - // so that CloudTrail can again write to the bucket. + // This error occurs only when there is a problem with the destination S3 + // bucket and will not occur for timeouts. To resolve the issue, create a new + // bucket and call UpdateTrail to specify the new bucket, or fix the existing + // objects so that CloudTrail can again write to the bucket. LatestDigestDeliveryError *string `type:"string"` // Specifies the date and time that CloudTrail last delivered a digest file @@ -901,7 +1750,7 @@ type ListPublicKeysOutput struct { // Contains an array of PublicKey objects. // - // The returned public keys may have validity time ranges that overlap. + // The returned public keys may have validity time ranges that overlap. PublicKeyList []*PublicKey `type:"list"` } @@ -923,7 +1772,11 @@ type ListTagsInput struct { NextToken *string `type:"string"` // Specifies a list of trail ARNs whose tags will be listed. The list has a - // limit of 20 ARNs. The format of a trail ARN is arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail. + // limit of 20 ARNs. The format of a trail ARN is: + // + // arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail + // + // ResourceIdList is a required field ResourceIdList []*string `type:"list" required:"true"` } @@ -977,9 +1830,13 @@ type LookupAttribute struct { _ struct{} `type:"structure"` // Specifies an attribute on which to filter the events returned. + // + // AttributeKey is a required field AttributeKey *string `type:"string" required:"true" enum:"LookupAttributeKey"` // Specifies a value for the specified AttributeKey. + // + // AttributeValue is a required field AttributeValue *string `type:"string" required:"true"` } @@ -1133,7 +1990,11 @@ type RemoveTagsInput struct { _ struct{} `type:"structure"` // Specifies the ARN of the trail from which tags should be removed. The format - // of a trail ARN is arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail. + // of a trail ARN is: + // + // arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail + // + // ResourceId is a required field ResourceId *string `type:"string" required:"true"` // Specifies a list of tags to be removed. @@ -1243,7 +2104,11 @@ type StartLoggingInput struct { _ struct{} `type:"structure"` // Specifies the name or the CloudTrail ARN of the trail for which CloudTrail - // logs AWS API calls. The format of a trail ARN is arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail. + // logs AWS API calls. The format of a trail ARN is: + // + // arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail + // + // Name is a required field Name *string `type:"string" required:"true"` } @@ -1292,7 +2157,11 @@ type StopLoggingInput struct { _ struct{} `type:"structure"` // Specifies the name or the CloudTrail ARN of the trail for which CloudTrail - // will stop logging AWS API calls. The format of a trail ARN is arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail. + // will stop logging AWS API calls. The format of a trail ARN is: + // + // arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail + // + // Name is a required field Name *string `type:"string" required:"true"` } @@ -1341,6 +2210,8 @@ type Tag struct { // The key in a key-value pair. The key must be must be no longer than 128 Unicode // characters. The key must be unique for the resource to which it applies. + // + // Key is a required field Key *string `type:"string" required:"true"` // The value in a key-value pair of a tag. The value must be no longer than @@ -1396,7 +2267,7 @@ type Trail struct { // Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. // The value is a fully specified ARN to a KMS key in the format: // - // arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 + // arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 KmsKeyId *string `type:"string"` // Specifies whether log file validation is enabled. @@ -1415,12 +2286,18 @@ type Trail struct { // maximum length is 200 characters. S3KeyPrefix *string `type:"string"` - // Name of the existing Amazon SNS topic that CloudTrail uses to notify the - // account owner when new CloudTrail log files have been delivered. The maximum - // length is 256 characters. - SnsTopicName *string `type:"string"` + // Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications + // when log files are delivered. The format of a topic ARN is: + // + // arn:aws:sns:us-east-1:123456789012:MyTopic + SnsTopicARN *string `type:"string"` - // The Amazon Resource Name of the trail. The TrailARN format is arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail. + // This field is deprecated. Use SnsTopicARN. + SnsTopicName *string `deprecated:"true" type:"string"` + + // Specifies the ARN of the trail. The format of a trail ARN is: + // + // arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail TrailARN *string `type:"string"` } @@ -1449,7 +2326,7 @@ type UpdateTrailInput struct { // Specifies whether log file validation is enabled. The default is false. // - // When you disable log file integrity validation, the chain of digest files + // When you disable log file integrity validation, the chain of digest files // is broken after one hour. CloudTrail will not create digest files for log // files that were delivered during a period in which log file integrity validation // was disabled. For example, if you enable log file integrity validation at @@ -1477,20 +2354,35 @@ type UpdateTrailInput struct { // // Examples: // - // alias/MyAliasName arn:aws:kms:us-east-1:123456789012:alias/MyAliasName - // arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 - // 12345678-1234-1234-1234-123456789012 + // alias/MyAliasName + // + // arn:aws:kms:us-east-1:123456789012:alias/MyAliasName + // + // arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 + // + // 12345678-1234-1234-1234-123456789012 KmsKeyId *string `type:"string"` // Specifies the name of the trail or trail ARN. If Name is a trail name, the // string 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) If Name is a trail ARN, - // it must be in the format arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail. + // 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) + // + // If Name is a trail ARN, it must be in the format: + // + // arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail + // + // Name is a required field Name *string `type:"string" required:"true"` // Specifies the name of the Amazon S3 bucket designated for publishing log @@ -1554,7 +2446,7 @@ type UpdateTrailOutput struct { // Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. // The value is a fully specified ARN to a KMS key in the format: // - // arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 + // arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 KmsKeyId *string `type:"string"` // Specifies whether log file integrity validation is enabled. @@ -1572,11 +2464,19 @@ type UpdateTrailOutput struct { // Your CloudTrail Log Files (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html). S3KeyPrefix *string `type:"string"` - // Specifies the name of the Amazon SNS topic defined for notification of log - // file delivery. - SnsTopicName *string `type:"string"` + // Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications + // when log files are delivered. The format of a topic ARN is: + // + // arn:aws:sns:us-east-1:123456789012:MyTopic + SnsTopicARN *string `type:"string"` - // Specifies the ARN of the trail that was updated. + // This field is deprecated. Use SnsTopicARN. + SnsTopicName *string `deprecated:"true" type:"string"` + + // Specifies the ARN of the trail that was updated. The format of a trail ARN + // is: + // + // arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail TrailARN *string `type:"string"` } @@ -1591,14 +2491,18 @@ func (s UpdateTrailOutput) GoString() string { } const ( - // @enum LookupAttributeKey + // LookupAttributeKeyEventId is a LookupAttributeKey enum value LookupAttributeKeyEventId = "EventId" - // @enum LookupAttributeKey + + // LookupAttributeKeyEventName is a LookupAttributeKey enum value LookupAttributeKeyEventName = "EventName" - // @enum LookupAttributeKey + + // LookupAttributeKeyUsername is a LookupAttributeKey enum value LookupAttributeKeyUsername = "Username" - // @enum LookupAttributeKey + + // LookupAttributeKeyResourceType is a LookupAttributeKey enum value LookupAttributeKeyResourceType = "ResourceType" - // @enum LookupAttributeKey + + // LookupAttributeKeyResourceName is a LookupAttributeKey enum value LookupAttributeKeyResourceName = "ResourceName" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go index e36887cc14d5..b198b4a842bd 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go @@ -15,7 +15,30 @@ import ( const opDeleteAlarms = "DeleteAlarms" -// DeleteAlarmsRequest generates a request for the DeleteAlarms operation. +// DeleteAlarmsRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAlarms operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteAlarms for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteAlarms method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteAlarmsRequest method. +// req, resp := client.DeleteAlarmsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatch) DeleteAlarmsRequest(input *DeleteAlarmsInput) (req *request.Request, output *DeleteAlarmsOutput) { op := &request.Operation{ Name: opDeleteAlarms, @@ -35,7 +58,21 @@ func (c *CloudWatch) DeleteAlarmsRequest(input *DeleteAlarmsInput) (req *request return } +// DeleteAlarms API operation for Amazon CloudWatch. +// // Deletes all specified alarms. In the event of an error, no alarms are deleted. +// +// 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 CloudWatch's +// API operation DeleteAlarms for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFound +// The named resource does not exist. +// func (c *CloudWatch) DeleteAlarms(input *DeleteAlarmsInput) (*DeleteAlarmsOutput, error) { req, out := c.DeleteAlarmsRequest(input) err := req.Send() @@ -44,7 +81,30 @@ func (c *CloudWatch) DeleteAlarms(input *DeleteAlarmsInput) (*DeleteAlarmsOutput const opDescribeAlarmHistory = "DescribeAlarmHistory" -// DescribeAlarmHistoryRequest generates a request for the DescribeAlarmHistory operation. +// DescribeAlarmHistoryRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAlarmHistory operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeAlarmHistory for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeAlarmHistory method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeAlarmHistoryRequest method. +// req, resp := client.DescribeAlarmHistoryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatch) DescribeAlarmHistoryRequest(input *DescribeAlarmHistoryInput) (req *request.Request, output *DescribeAlarmHistoryOutput) { op := &request.Operation{ Name: opDescribeAlarmHistory, @@ -68,18 +128,49 @@ func (c *CloudWatch) DescribeAlarmHistoryRequest(input *DescribeAlarmHistoryInpu return } +// DescribeAlarmHistory API operation for Amazon CloudWatch. +// // Retrieves history for the specified alarm. Filter alarms by date range or // item type. If an alarm name is not specified, Amazon CloudWatch returns histories // for all of the owner's alarms. // // Amazon CloudWatch retains the history of an alarm for two weeks, whether // or not you delete the alarm. +// +// 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 CloudWatch's +// API operation DescribeAlarmHistory for usage and error information. +// +// Returned Error Codes: +// * InvalidNextToken +// The next token specified is invalid. +// func (c *CloudWatch) DescribeAlarmHistory(input *DescribeAlarmHistoryInput) (*DescribeAlarmHistoryOutput, error) { req, out := c.DescribeAlarmHistoryRequest(input) err := req.Send() return out, err } +// DescribeAlarmHistoryPages iterates over the pages of a DescribeAlarmHistory operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeAlarmHistory 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 DescribeAlarmHistory operation. +// pageNum := 0 +// err := client.DescribeAlarmHistoryPages(params, +// func(page *DescribeAlarmHistoryOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *CloudWatch) DescribeAlarmHistoryPages(input *DescribeAlarmHistoryInput, fn func(p *DescribeAlarmHistoryOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeAlarmHistoryRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -90,7 +181,30 @@ func (c *CloudWatch) DescribeAlarmHistoryPages(input *DescribeAlarmHistoryInput, const opDescribeAlarms = "DescribeAlarms" -// DescribeAlarmsRequest generates a request for the DescribeAlarms operation. +// DescribeAlarmsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAlarms operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeAlarms for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeAlarms method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeAlarmsRequest method. +// req, resp := client.DescribeAlarmsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatch) DescribeAlarmsRequest(input *DescribeAlarmsInput) (req *request.Request, output *DescribeAlarmsOutput) { op := &request.Operation{ Name: opDescribeAlarms, @@ -114,15 +228,46 @@ func (c *CloudWatch) DescribeAlarmsRequest(input *DescribeAlarmsInput) (req *req return } +// DescribeAlarms API operation for Amazon CloudWatch. +// // Retrieves alarms with the specified names. If no name is specified, all alarms // for the user are returned. Alarms can be retrieved by using only a prefix // for the alarm name, the alarm state, or a prefix for any action. +// +// 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 CloudWatch's +// API operation DescribeAlarms for usage and error information. +// +// Returned Error Codes: +// * InvalidNextToken +// The next token specified is invalid. +// func (c *CloudWatch) DescribeAlarms(input *DescribeAlarmsInput) (*DescribeAlarmsOutput, error) { req, out := c.DescribeAlarmsRequest(input) err := req.Send() return out, err } +// DescribeAlarmsPages iterates over the pages of a DescribeAlarms operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeAlarms 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 DescribeAlarms operation. +// pageNum := 0 +// err := client.DescribeAlarmsPages(params, +// func(page *DescribeAlarmsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *CloudWatch) DescribeAlarmsPages(input *DescribeAlarmsInput, fn func(p *DescribeAlarmsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeAlarmsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -133,7 +278,30 @@ func (c *CloudWatch) DescribeAlarmsPages(input *DescribeAlarmsInput, fn func(p * const opDescribeAlarmsForMetric = "DescribeAlarmsForMetric" -// DescribeAlarmsForMetricRequest generates a request for the DescribeAlarmsForMetric operation. +// DescribeAlarmsForMetricRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAlarmsForMetric operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeAlarmsForMetric for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeAlarmsForMetric method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeAlarmsForMetricRequest method. +// req, resp := client.DescribeAlarmsForMetricRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatch) DescribeAlarmsForMetricRequest(input *DescribeAlarmsForMetricInput) (req *request.Request, output *DescribeAlarmsForMetricOutput) { op := &request.Operation{ Name: opDescribeAlarmsForMetric, @@ -151,8 +319,17 @@ func (c *CloudWatch) DescribeAlarmsForMetricRequest(input *DescribeAlarmsForMetr return } +// DescribeAlarmsForMetric API operation for Amazon CloudWatch. +// // Retrieves all alarms for a single metric. Specify a statistic, period, or // unit to filter the set of alarms further. +// +// 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 CloudWatch's +// API operation DescribeAlarmsForMetric for usage and error information. func (c *CloudWatch) DescribeAlarmsForMetric(input *DescribeAlarmsForMetricInput) (*DescribeAlarmsForMetricOutput, error) { req, out := c.DescribeAlarmsForMetricRequest(input) err := req.Send() @@ -161,7 +338,30 @@ func (c *CloudWatch) DescribeAlarmsForMetric(input *DescribeAlarmsForMetricInput const opDisableAlarmActions = "DisableAlarmActions" -// DisableAlarmActionsRequest generates a request for the DisableAlarmActions operation. +// DisableAlarmActionsRequest generates a "aws/request.Request" representing the +// client's request for the DisableAlarmActions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DisableAlarmActions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DisableAlarmActions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DisableAlarmActionsRequest method. +// req, resp := client.DisableAlarmActionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatch) DisableAlarmActionsRequest(input *DisableAlarmActionsInput) (req *request.Request, output *DisableAlarmActionsOutput) { op := &request.Operation{ Name: opDisableAlarmActions, @@ -181,8 +381,17 @@ func (c *CloudWatch) DisableAlarmActionsRequest(input *DisableAlarmActionsInput) return } +// DisableAlarmActions API operation for Amazon CloudWatch. +// // Disables actions for the specified alarms. When an alarm's actions are disabled // the alarm's state may change, but none of the alarm's actions will execute. +// +// 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 CloudWatch's +// API operation DisableAlarmActions for usage and error information. func (c *CloudWatch) DisableAlarmActions(input *DisableAlarmActionsInput) (*DisableAlarmActionsOutput, error) { req, out := c.DisableAlarmActionsRequest(input) err := req.Send() @@ -191,7 +400,30 @@ func (c *CloudWatch) DisableAlarmActions(input *DisableAlarmActionsInput) (*Disa const opEnableAlarmActions = "EnableAlarmActions" -// EnableAlarmActionsRequest generates a request for the EnableAlarmActions operation. +// EnableAlarmActionsRequest generates a "aws/request.Request" representing the +// client's request for the EnableAlarmActions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See EnableAlarmActions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the EnableAlarmActions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the EnableAlarmActionsRequest method. +// req, resp := client.EnableAlarmActionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatch) EnableAlarmActionsRequest(input *EnableAlarmActionsInput) (req *request.Request, output *EnableAlarmActionsOutput) { op := &request.Operation{ Name: opEnableAlarmActions, @@ -211,7 +443,16 @@ func (c *CloudWatch) EnableAlarmActionsRequest(input *EnableAlarmActionsInput) ( return } +// EnableAlarmActions API operation for Amazon CloudWatch. +// // Enables actions for the specified alarms. +// +// 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 CloudWatch's +// API operation EnableAlarmActions for usage and error information. func (c *CloudWatch) EnableAlarmActions(input *EnableAlarmActionsInput) (*EnableAlarmActionsOutput, error) { req, out := c.EnableAlarmActionsRequest(input) err := req.Send() @@ -220,7 +461,30 @@ func (c *CloudWatch) EnableAlarmActions(input *EnableAlarmActionsInput) (*Enable const opGetMetricStatistics = "GetMetricStatistics" -// GetMetricStatisticsRequest generates a request for the GetMetricStatistics operation. +// GetMetricStatisticsRequest generates a "aws/request.Request" representing the +// client's request for the GetMetricStatistics operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetMetricStatistics for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetMetricStatistics method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetMetricStatisticsRequest method. +// req, resp := client.GetMetricStatisticsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatch) GetMetricStatisticsRequest(input *GetMetricStatisticsInput) (req *request.Request, output *GetMetricStatisticsOutput) { op := &request.Operation{ Name: opGetMetricStatistics, @@ -238,6 +502,8 @@ func (c *CloudWatch) GetMetricStatisticsRequest(input *GetMetricStatisticsInput) return } +// GetMetricStatistics API operation for Amazon CloudWatch. +// // Gets statistics for the specified metric. // // The maximum number of data points that can be queried is 50,850, whereas @@ -245,8 +511,10 @@ func (c *CloudWatch) GetMetricStatisticsRequest(input *GetMetricStatisticsInput) // request is 1,440. If you make a request that generates more than 1,440 data // points, Amazon CloudWatch returns an error. In such a case, you can alter // the request by narrowing the specified time range or increasing the specified -// period. Alternatively, you can make multiple requests across adjacent time -// ranges. GetMetricStatistics does not return the data in chronological order. +// period. A period can be as short as one minute (60 seconds) or as long as +// one day (86,400 seconds). Alternatively, you can make multiple requests across +// adjacent time ranges. GetMetricStatistics does not return the data in chronological +// order. // // Amazon CloudWatch aggregates data points based on the length of the period // that you specify. For example, if you request statistics with a one-minute @@ -258,13 +526,38 @@ func (c *CloudWatch) GetMetricStatisticsRequest(input *GetMetricStatisticsInput) // query maximum of 50,850 when you call GetMetricStatistics on Amazon EC2 instances // with detailed (one-minute) monitoring enabled: // -// Statistics for up to 400 instances for a span of one hour Statistics for -// up to 35 instances over a span of 24 hours Statistics for up to 2 instances -// over a span of 2 weeks For information about the namespace, metric names, -// and dimensions that other Amazon Web Services products use to send metrics -// to CloudWatch, go to Amazon CloudWatch Metrics, Namespaces, and Dimensions -// Reference (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html) +// Statistics for up to 400 instances for a span of one hour +// +// Statistics for up to 35 instances over a span of 24 hours +// +// Statistics for up to 2 instances over a span of 2 weeks +// +// For information about the namespace, metric names, and dimensions that +// other Amazon Web Services products use to send metrics to CloudWatch, go +// to Amazon CloudWatch Metrics, Namespaces, and Dimensions Reference (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html) // in the Amazon CloudWatch Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch's +// API operation GetMetricStatistics for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterValue +// Bad or out-of-range value was supplied for the input parameter. +// +// * MissingParameter +// An input parameter that is mandatory for processing the request is not supplied. +// +// * InvalidParameterCombination +// Parameters that must not be used together were used together. +// +// * InternalServiceError +// Indicates that the request processing has failed due to some unknown error, +// exception, or failure. +// func (c *CloudWatch) GetMetricStatistics(input *GetMetricStatisticsInput) (*GetMetricStatisticsOutput, error) { req, out := c.GetMetricStatisticsRequest(input) err := req.Send() @@ -273,7 +566,30 @@ func (c *CloudWatch) GetMetricStatistics(input *GetMetricStatisticsInput) (*GetM const opListMetrics = "ListMetrics" -// ListMetricsRequest generates a request for the ListMetrics operation. +// ListMetricsRequest generates a "aws/request.Request" representing the +// client's request for the ListMetrics operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListMetrics for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListMetrics method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListMetricsRequest method. +// req, resp := client.ListMetricsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatch) ListMetricsRequest(input *ListMetricsInput) (req *request.Request, output *ListMetricsOutput) { op := &request.Operation{ Name: opListMetrics, @@ -297,21 +613,57 @@ func (c *CloudWatch) ListMetricsRequest(input *ListMetricsInput) (req *request.R return } +// ListMetrics API operation for Amazon CloudWatch. +// // Returns a list of valid metrics stored for the AWS account owner. Returned // metrics can be used with GetMetricStatistics to obtain statistical data for // a given metric. // -// Up to 500 results are returned for any one call. To retrieve further results, -// use returned NextToken values with subsequent ListMetrics operations. If -// you create a metric with the PutMetricData action, allow up to fifteen minutes -// for the metric to appear in calls to the ListMetrics action. Statistics about -// the metric, however, are available sooner using GetMetricStatistics. +// Up to 500 results are returned for any one call. To retrieve further results, +// use returned NextToken values with subsequent ListMetrics operations. +// +// If you create a metric with PutMetricData, allow up to fifteen minutes +// for the metric to appear in calls to ListMetrics. Statistics about the metric, +// however, are available sooner using GetMetricStatistics. +// +// 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 CloudWatch's +// API operation ListMetrics for usage and error information. +// +// Returned Error Codes: +// * InternalServiceError +// Indicates that the request processing has failed due to some unknown error, +// exception, or failure. +// +// * InvalidParameterValue +// Bad or out-of-range value was supplied for the input parameter. +// func (c *CloudWatch) ListMetrics(input *ListMetricsInput) (*ListMetricsOutput, error) { req, out := c.ListMetricsRequest(input) err := req.Send() return out, err } +// ListMetricsPages iterates over the pages of a ListMetrics operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListMetrics 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 ListMetrics operation. +// pageNum := 0 +// err := client.ListMetricsPages(params, +// func(page *ListMetricsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *CloudWatch) ListMetricsPages(input *ListMetricsInput, fn func(p *ListMetricsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListMetricsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -322,7 +674,30 @@ func (c *CloudWatch) ListMetricsPages(input *ListMetricsInput, fn func(p *ListMe const opPutMetricAlarm = "PutMetricAlarm" -// PutMetricAlarmRequest generates a request for the PutMetricAlarm operation. +// PutMetricAlarmRequest generates a "aws/request.Request" representing the +// client's request for the PutMetricAlarm operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutMetricAlarm for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutMetricAlarm method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutMetricAlarmRequest method. +// req, resp := client.PutMetricAlarmRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatch) PutMetricAlarmRequest(input *PutMetricAlarmInput) (req *request.Request, output *PutMetricAlarmOutput) { op := &request.Operation{ Name: opPutMetricAlarm, @@ -342,27 +717,38 @@ func (c *CloudWatch) PutMetricAlarmRequest(input *PutMetricAlarmInput) (req *req return } +// PutMetricAlarm API operation for Amazon CloudWatch. +// // Creates or updates an alarm and associates it with the specified Amazon CloudWatch -// metric. Optionally, this operation can associate one or more Amazon Simple -// Notification Service resources with the alarm. +// metric. Optionally, this operation can associate one or more Amazon SNS resources +// with the alarm. // // When this operation creates an alarm, the alarm state is immediately set // to INSUFFICIENT_DATA. The alarm is evaluated and its StateValue is set appropriately. -// Any actions associated with the StateValue is then executed. -// -// When updating an existing alarm, its StateValue is left unchanged. If -// you are using an AWS Identity and Access Management (IAM) account to create -// or modify an alarm, you must have the following Amazon EC2 permissions: -// ec2:DescribeInstanceStatus and ec2:DescribeInstances for all alarms on Amazon -// EC2 instance status metrics. ec2:StopInstances for alarms with stop actions. -// ec2:TerminateInstances for alarms with terminate actions. ec2:DescribeInstanceRecoveryAttribute, -// and ec2:RecoverInstances for alarms with recover actions. If you have read/write -// permissions for Amazon CloudWatch but not for Amazon EC2, you can still create -// an alarm but the stop or terminate actions won't be performed on the Amazon -// EC2 instance. However, if you are later granted permission to use the associated -// Amazon EC2 APIs, the alarm actions you created earlier will be performed. -// For more information about IAM permissions, see Permissions and Policies -// (http://docs.aws.amazon.com//IAM/latest/UserGuide/PermissionsAndPolicies.html) +// Any actions associated with the StateValue are then executed. +// +// When updating an existing alarm, its StateValue is left unchanged, but +// it completely overwrites the alarm's previous configuration. +// +// If you are using an AWS Identity and Access Management (IAM) account to +// create or modify an alarm, you must have the following Amazon EC2 permissions: +// +// ec2:DescribeInstanceStatus and ec2:DescribeInstances for all alarms on +// Amazon EC2 instance status metrics. +// +// ec2:StopInstances for alarms with stop actions. +// +// ec2:TerminateInstances for alarms with terminate actions. +// +// ec2:DescribeInstanceRecoveryAttribute, and ec2:RecoverInstances for alarms +// with recover actions. +// +// If you have read/write permissions for Amazon CloudWatch but not for Amazon +// EC2, you can still create an alarm but the stop or terminate actions won't +// be performed on the Amazon EC2 instance. However, if you are later granted +// permission to use the associated Amazon EC2 APIs, the alarm actions you created +// earlier will be performed. For more information about IAM permissions, see +// Permissions and Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/PermissionsAndPolicies.html) // in Using IAM. // // If you are using an IAM role (e.g., an Amazon EC2 instance profile), you @@ -373,6 +759,18 @@ func (c *CloudWatch) PutMetricAlarmRequest(input *PutMetricAlarmInput) (req *req // If you are using temporary security credentials granted using the AWS Security // Token Service (AWS STS), you cannot stop or terminate an Amazon EC2 instance // using alarm actions. +// +// 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 CloudWatch's +// API operation PutMetricAlarm for usage and error information. +// +// Returned Error Codes: +// * LimitExceeded +// The quota for alarms for this customer has already been reached. +// func (c *CloudWatch) PutMetricAlarm(input *PutMetricAlarmInput) (*PutMetricAlarmOutput, error) { req, out := c.PutMetricAlarmRequest(input) err := req.Send() @@ -381,7 +779,30 @@ func (c *CloudWatch) PutMetricAlarm(input *PutMetricAlarmInput) (*PutMetricAlarm const opPutMetricData = "PutMetricData" -// PutMetricDataRequest generates a request for the PutMetricData operation. +// PutMetricDataRequest generates a "aws/request.Request" representing the +// client's request for the PutMetricData operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutMetricData for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutMetricData method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutMetricDataRequest method. +// req, resp := client.PutMetricDataRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatch) PutMetricDataRequest(input *PutMetricDataInput) (req *request.Request, output *PutMetricDataOutput) { op := &request.Operation{ Name: opPutMetricData, @@ -401,22 +822,47 @@ func (c *CloudWatch) PutMetricDataRequest(input *PutMetricDataInput) (req *reque return } +// PutMetricData API operation for Amazon CloudWatch. +// // Publishes metric data points to Amazon CloudWatch. Amazon CloudWatch associates // the data points with the specified metric. If the specified metric does not // exist, Amazon CloudWatch creates the metric. When Amazon CloudWatch creates // a metric, it can take up to fifteen minutes for the metric to appear in calls -// to the ListMetrics action. +// to ListMetrics. // // Each PutMetricData request is limited to 8 KB in size for HTTP GET requests // and is limited to 40 KB in size for HTTP POST requests. // -// Although the Value parameter accepts numbers of type Double, Amazon CloudWatch +// Although the Value parameter accepts numbers of type Double, Amazon CloudWatch // rejects values that are either too small or too large. Values must be in // the range of 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 // (Base 2). In addition, special values (e.g., NaN, +Infinity, -Infinity) are -// not supported. Data that is timestamped 24 hours or more in the past may -// take in excess of 48 hours to become available from submission time using -// GetMetricStatistics. +// not supported. +// +// Data that is timestamped 24 hours or more in the past may take in excess +// of 48 hours to become available from submission time using GetMetricStatistics. +// +// 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 CloudWatch's +// API operation PutMetricData for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterValue +// Bad or out-of-range value was supplied for the input parameter. +// +// * MissingParameter +// An input parameter that is mandatory for processing the request is not supplied. +// +// * InvalidParameterCombination +// Parameters that must not be used together were used together. +// +// * InternalServiceError +// Indicates that the request processing has failed due to some unknown error, +// exception, or failure. +// func (c *CloudWatch) PutMetricData(input *PutMetricDataInput) (*PutMetricDataOutput, error) { req, out := c.PutMetricDataRequest(input) err := req.Send() @@ -425,7 +871,30 @@ func (c *CloudWatch) PutMetricData(input *PutMetricDataInput) (*PutMetricDataOut const opSetAlarmState = "SetAlarmState" -// SetAlarmStateRequest generates a request for the SetAlarmState operation. +// SetAlarmStateRequest generates a "aws/request.Request" representing the +// client's request for the SetAlarmState operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetAlarmState for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetAlarmState method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetAlarmStateRequest method. +// req, resp := client.SetAlarmStateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatch) SetAlarmStateRequest(input *SetAlarmStateInput) (req *request.Request, output *SetAlarmStateOutput) { op := &request.Operation{ Name: opSetAlarmState, @@ -445,15 +914,31 @@ func (c *CloudWatch) SetAlarmStateRequest(input *SetAlarmStateInput) (req *reque return } -// Temporarily sets the state of an alarm. When the updated StateValue differs -// from the previous value, the action configured for the appropriate state -// is invoked. For example, if your alarm is configured to send an Amazon SNS -// message when an alarm is triggered, temporarily changing the alarm's state -// to ALARM will send an Amazon SNS message. This is not a permanent change. -// The next periodic alarm check (in about a minute) will set the alarm to its -// actual state. Because the alarm state change happens very quickly, it is -// typically only visibile in the alarm's History tab in the Amazon CloudWatch -// console or through DescribeAlarmHistory. +// SetAlarmState API operation for Amazon CloudWatch. +// +// Temporarily sets the state of an alarm for testing purposes. When the updated +// StateValue differs from the previous value, the action configured for the +// appropriate state is invoked. For example, if your alarm is configured to +// send an Amazon SNS message when an alarm is triggered, temporarily changing +// the alarm's state to ALARM sends an Amazon SNS message. The alarm returns +// to its actual state (often within seconds). Because the alarm state change +// happens very quickly, it is typically only visible in the alarm's History +// tab in the Amazon CloudWatch console or through DescribeAlarmHistory. +// +// 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 CloudWatch's +// API operation SetAlarmState for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFound +// The named resource does not exist. +// +// * InvalidFormat +// Data was not syntactically valid JSON. +// func (c *CloudWatch) SetAlarmState(input *SetAlarmStateInput) (*SetAlarmStateOutput, error) { req, out := c.SetAlarmStateRequest(input) err := req.Send() @@ -530,10 +1015,13 @@ func (s Datapoint) GoString() string { return s.String() } +// Describes the inputs for DeleteAlarms. type DeleteAlarmsInput struct { _ struct{} `type:"structure"` // A list of alarms to be deleted. + // + // AlarmNames is a required field AlarmNames []*string `type:"list" required:"true"` } @@ -574,6 +1062,7 @@ func (s DeleteAlarmsOutput) GoString() string { return s.String() } +// Describes the inputs for DescribeAlarmHistory. type DescribeAlarmHistoryInput struct { _ struct{} `type:"structure"` @@ -623,7 +1112,7 @@ func (s *DescribeAlarmHistoryInput) Validate() error { return nil } -// The output for the DescribeAlarmHistory action. +// The output for DescribeAlarmHistory. type DescribeAlarmHistoryOutput struct { _ struct{} `type:"structure"` @@ -644,6 +1133,7 @@ func (s DescribeAlarmHistoryOutput) GoString() string { return s.String() } +// Describes the inputs for DescribeAlarmsForMetric. type DescribeAlarmsForMetricInput struct { _ struct{} `type:"structure"` @@ -653,9 +1143,13 @@ type DescribeAlarmsForMetricInput struct { Dimensions []*Dimension `type:"list"` // The name of the metric. + // + // MetricName is a required field MetricName *string `min:"1" type:"string" required:"true"` // The namespace of the metric. + // + // Namespace is a required field Namespace *string `min:"1" type:"string" required:"true"` // The period in seconds over which the statistic is applied. @@ -713,7 +1207,7 @@ func (s *DescribeAlarmsForMetricInput) Validate() error { return nil } -// The output for the DescribeAlarmsForMetric action. +// The output for DescribeAlarmsForMetric. type DescribeAlarmsForMetricOutput struct { _ struct{} `type:"structure"` @@ -731,6 +1225,7 @@ func (s DescribeAlarmsForMetricOutput) GoString() string { return s.String() } +// Describes the inputs for DescribeAlarms. type DescribeAlarmsInput struct { _ struct{} `type:"structure"` @@ -784,7 +1279,7 @@ func (s *DescribeAlarmsInput) Validate() error { return nil } -// The output for the DescribeAlarms action. +// The output for DescribeAlarms. type DescribeAlarmsOutput struct { _ struct{} `type:"structure"` @@ -813,9 +1308,13 @@ type Dimension struct { _ struct{} `type:"structure"` // The name of the dimension. + // + // Name is a required field Name *string `min:"1" type:"string" required:"true"` // The value representing the dimension measurement + // + // Value is a required field Value *string `min:"1" type:"string" required:"true"` } @@ -856,6 +1355,8 @@ type DimensionFilter struct { _ struct{} `type:"structure"` // The dimension name to be matched. + // + // Name is a required field Name *string `min:"1" type:"string" required:"true"` // The value of the dimension to be matched. @@ -898,6 +1399,8 @@ type DisableAlarmActionsInput struct { _ struct{} `type:"structure"` // The names of the alarms to disable actions for. + // + // AlarmNames is a required field AlarmNames []*string `type:"list" required:"true"` } @@ -938,10 +1441,13 @@ func (s DisableAlarmActionsOutput) GoString() string { return s.String() } +// Describes the inputs for EnableAlarmActions. type EnableAlarmActionsInput struct { _ struct{} `type:"structure"` // The names of the alarms to enable actions for. + // + // AlarmNames is a required field AlarmNames []*string `type:"list" required:"true"` } @@ -982,6 +1488,7 @@ func (s EnableAlarmActionsOutput) GoString() string { return s.String() } +// Describes the inputs for GetMetricStatistics. type GetMetricStatisticsInput struct { _ struct{} `type:"structure"` @@ -991,16 +1498,25 @@ type GetMetricStatisticsInput struct { // The time stamp to use for determining the last datapoint to return. The value // specified is exclusive; results will include datapoints up to the time stamp // specified. The time stamp must be in ISO 8601 UTC format (e.g., 2014-09-03T23:00:00Z). + // + // EndTime is a required field EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // The name of the metric, with or without spaces. + // + // MetricName is a required field MetricName *string `min:"1" type:"string" required:"true"` // The namespace of the metric, with or without spaces. + // + // Namespace is a required field Namespace *string `min:"1" type:"string" required:"true"` - // The granularity, in seconds, of the returned datapoints. Period must be at - // least 60 seconds and must be a multiple of 60. The default value is 60. + // The granularity, in seconds, of the returned datapoints. A Period can be + // as short as one minute (60 seconds) or as long as one day (86,400 seconds), + // and must be a multiple of 60. The default value is 60. + // + // Period is a required field Period *int64 `min:"60" type:"integer" required:"true"` // The time stamp to use for determining the first datapoint to return. The @@ -1010,17 +1526,24 @@ type GetMetricStatisticsInput struct { // The specified start time is rounded down to the nearest value. Datapoints // are returned for start times up to two weeks in the past. Specified start // times that are more than two weeks in the past will not return datapoints - // for metrics that are older than two weeks. Data that is timestamped 24 hours - // or more in the past may take in excess of 48 hours to become available from - // submission time using GetMetricStatistics. + // for metrics that are older than two weeks. + // + // Data that is timestamped 24 hours or more in the past may take in excess + // of 48 hours to become available from submission time using GetMetricStatistics. + // + // StartTime is a required field StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // The metric statistics to return. For information about specific statistics // returned by GetMetricStatistics, see Statistics (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Statistic) // in the Amazon CloudWatch Developer Guide. + // + // Statistics is a required field Statistics []*string `min:"1" type:"list" required:"true"` - // The unit for the metric. + // The specific unit for a given metric. Metrics may be reported in multiple + // units. Not supplying a unit results in all units being returned. If the metric + // only ever reports one unit, specifying a unit will have no effect. Unit *string `type:"string" enum:"StandardUnit"` } @@ -1084,7 +1607,7 @@ func (s *GetMetricStatisticsInput) Validate() error { return nil } -// The output for the GetMetricStatistics action. +// The output for GetMetricStatistics. type GetMetricStatisticsOutput struct { _ struct{} `type:"structure"` @@ -1105,6 +1628,7 @@ func (s GetMetricStatisticsOutput) GoString() string { return s.String() } +// Describes the inputs for ListMetrics. type ListMetricsInput struct { _ struct{} `type:"structure"` @@ -1158,7 +1682,7 @@ func (s *ListMetricsInput) Validate() error { return nil } -// The output for the ListMetrics action. +// The output for ListMetrics. type ListMetricsOutput struct { _ struct{} `type:"structure"` @@ -1183,7 +1707,7 @@ func (s ListMetricsOutput) GoString() string { // call ListMetrics, Amazon CloudWatch returns information contained by this // data type. // -// The example in the Examples section publishes two metrics named buffers +// The example in the Examples section publishes two metrics named buffers // and latency. Both metrics are in the examples namespace. Both metrics have // two dimensions, InstanceID and InstanceType. type Metric struct { @@ -1249,7 +1773,7 @@ type MetricAlarm struct { // state from any other state. Each action is specified as an Amazon Resource // Name (ARN). // - // The current WSDL lists this attribute as UnknownActions. + // The current WSDL lists this attribute as UnknownActions. InsufficientDataActions []*string `type:"list"` // The name of the alarm's metric. @@ -1309,6 +1833,8 @@ type MetricDatum struct { Dimensions []*Dimension `type:"list"` // The name of the metric. + // + // MetricName is a required field MetricName *string `min:"1" type:"string" required:"true"` // A set of statistical values describing the metric. @@ -1324,7 +1850,7 @@ type MetricDatum struct { // The value for the metric. // - // Although the Value parameter accepts numbers of type Double, Amazon CloudWatch + // Although the Value parameter accepts numbers of type Double, Amazon CloudWatch // rejects values that are either too small or too large. Values must be in // the range of 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 // (Base 2). In addition, special values (e.g., NaN, +Infinity, -Infinity) are @@ -1373,6 +1899,7 @@ func (s *MetricDatum) Validate() error { return nil } +// Describes the inputs for PutMetricAlarm. type PutMetricAlarmInput struct { _ struct{} `type:"structure"` @@ -1391,7 +1918,7 @@ type PutMetricAlarmInput struct { // | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Terminate/1.0 // | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Reboot/1.0 // - // Note: You must create at least one stop, terminate, or reboot alarm using + // Note: You must create at least one stop, terminate, or reboot alarm using // the Amazon EC2 or CloudWatch console to create the EC2ActionsAccess IAM role // for the first time. After this IAM role is created, you can create stop, // terminate, or reboot alarms using the CLI. @@ -1402,16 +1929,22 @@ type PutMetricAlarmInput struct { // The descriptive name for the alarm. This name must be unique within the user's // AWS account + // + // AlarmName is a required field AlarmName *string `min:"1" type:"string" required:"true"` // The arithmetic operation to use when comparing the specified Statistic and // Threshold. The specified Statistic value is used as the first operand. + // + // ComparisonOperator is a required field ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperator"` // The dimensions for the alarm's associated metric. Dimensions []*Dimension `type:"list"` // The number of periods over which data is compared to the specified threshold. + // + // EvaluationPeriods is a required field EvaluationPeriods *int64 `min:"1" type:"integer" required:"true"` // The list of actions to execute when this alarm transitions into an INSUFFICIENT_DATA @@ -1425,16 +1958,20 @@ type PutMetricAlarmInput struct { // | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Terminate/1.0 // | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Reboot/1.0 // - // Note: You must create at least one stop, terminate, or reboot alarm using + // Note: You must create at least one stop, terminate, or reboot alarm using // the Amazon EC2 or CloudWatch console to create the EC2ActionsAccess IAM role // for the first time. After this IAM role is created, you can create stop, // terminate, or reboot alarms using the CLI. InsufficientDataActions []*string `type:"list"` // The name for the alarm's associated metric. + // + // MetricName is a required field MetricName *string `min:"1" type:"string" required:"true"` // The namespace for the alarm's associated metric. + // + // Namespace is a required field Namespace *string `min:"1" type:"string" required:"true"` // The list of actions to execute when this alarm transitions into an OK state @@ -1448,19 +1985,25 @@ type PutMetricAlarmInput struct { // | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Terminate/1.0 // | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Reboot/1.0 // - // Note: You must create at least one stop, terminate, or reboot alarm using + // Note: You must create at least one stop, terminate, or reboot alarm using // the Amazon EC2 or CloudWatch console to create the EC2ActionsAccess IAM role // for the first time. After this IAM role is created, you can create stop, // terminate, or reboot alarms using the CLI. OKActions []*string `type:"list"` // The period in seconds over which the specified statistic is applied. + // + // Period is a required field Period *int64 `min:"60" type:"integer" required:"true"` // The statistic to apply to the alarm's associated metric. + // + // Statistic is a required field Statistic *string `type:"string" required:"true" enum:"Statistic"` // The value against which the specified statistic is compared. + // + // Threshold is a required field Threshold *float64 `type:"double" required:"true"` // The statistic's unit of measure. For example, the units for the Amazon EC2 @@ -1559,10 +2102,13 @@ func (s PutMetricAlarmOutput) GoString() string { return s.String() } +// Describes the inputs for PutMetricData. type PutMetricDataInput struct { _ struct{} `type:"structure"` // A list of data describing the metric. + // + // MetricData is a required field MetricData []*MetricDatum `type:"list" required:"true"` // The namespace for the metric data. @@ -1570,6 +2116,8 @@ type PutMetricDataInput struct { // You cannot specify a namespace that begins with "AWS/". Namespaces that // begin with "AWS/" are reserved for other Amazon Web Services products that // send metrics to Amazon CloudWatch. + // + // Namespace is a required field Namespace *string `min:"1" type:"string" required:"true"` } @@ -1626,15 +2174,20 @@ func (s PutMetricDataOutput) GoString() string { return s.String() } +// Describes the inputs for SetAlarmState. type SetAlarmStateInput struct { _ struct{} `type:"structure"` // The descriptive name for the alarm. This name must be unique within the user's // AWS account. The maximum length is 255 characters. + // + // AlarmName is a required field AlarmName *string `min:"1" type:"string" required:"true"` // The reason that this alarm is set to this specific state (in human-readable // text format) + // + // StateReason is a required field StateReason *string `type:"string" required:"true"` // The reason that this alarm is set to this specific state (in machine-readable @@ -1642,6 +2195,8 @@ type SetAlarmStateInput struct { StateReasonData *string `type:"string"` // The value of the state. + // + // StateValue is a required field StateValue *string `type:"string" required:"true" enum:"StateValue"` } @@ -1697,15 +2252,23 @@ type StatisticSet struct { _ struct{} `type:"structure"` // The maximum value of the sample set. + // + // Maximum is a required field Maximum *float64 `type:"double" required:"true"` // The minimum value of the sample set. + // + // Minimum is a required field Minimum *float64 `type:"double" required:"true"` // The number of samples used for the statistic set. + // + // SampleCount is a required field SampleCount *float64 `type:"double" required:"true"` // The sum of values for the sample set. + // + // Sum is a required field Sum *float64 `type:"double" required:"true"` } @@ -1742,100 +2305,137 @@ func (s *StatisticSet) Validate() error { } const ( - // @enum ComparisonOperator + // ComparisonOperatorGreaterThanOrEqualToThreshold is a ComparisonOperator enum value ComparisonOperatorGreaterThanOrEqualToThreshold = "GreaterThanOrEqualToThreshold" - // @enum ComparisonOperator + + // ComparisonOperatorGreaterThanThreshold is a ComparisonOperator enum value ComparisonOperatorGreaterThanThreshold = "GreaterThanThreshold" - // @enum ComparisonOperator + + // ComparisonOperatorLessThanThreshold is a ComparisonOperator enum value ComparisonOperatorLessThanThreshold = "LessThanThreshold" - // @enum ComparisonOperator + + // ComparisonOperatorLessThanOrEqualToThreshold is a ComparisonOperator enum value ComparisonOperatorLessThanOrEqualToThreshold = "LessThanOrEqualToThreshold" ) const ( - // @enum HistoryItemType + // HistoryItemTypeConfigurationUpdate is a HistoryItemType enum value HistoryItemTypeConfigurationUpdate = "ConfigurationUpdate" - // @enum HistoryItemType + + // HistoryItemTypeStateUpdate is a HistoryItemType enum value HistoryItemTypeStateUpdate = "StateUpdate" - // @enum HistoryItemType + + // HistoryItemTypeAction is a HistoryItemType enum value HistoryItemTypeAction = "Action" ) const ( - // @enum StandardUnit + // StandardUnitSeconds is a StandardUnit enum value StandardUnitSeconds = "Seconds" - // @enum StandardUnit + + // StandardUnitMicroseconds is a StandardUnit enum value StandardUnitMicroseconds = "Microseconds" - // @enum StandardUnit + + // StandardUnitMilliseconds is a StandardUnit enum value StandardUnitMilliseconds = "Milliseconds" - // @enum StandardUnit + + // StandardUnitBytes is a StandardUnit enum value StandardUnitBytes = "Bytes" - // @enum StandardUnit + + // StandardUnitKilobytes is a StandardUnit enum value StandardUnitKilobytes = "Kilobytes" - // @enum StandardUnit + + // StandardUnitMegabytes is a StandardUnit enum value StandardUnitMegabytes = "Megabytes" - // @enum StandardUnit + + // StandardUnitGigabytes is a StandardUnit enum value StandardUnitGigabytes = "Gigabytes" - // @enum StandardUnit + + // StandardUnitTerabytes is a StandardUnit enum value StandardUnitTerabytes = "Terabytes" - // @enum StandardUnit + + // StandardUnitBits is a StandardUnit enum value StandardUnitBits = "Bits" - // @enum StandardUnit + + // StandardUnitKilobits is a StandardUnit enum value StandardUnitKilobits = "Kilobits" - // @enum StandardUnit + + // StandardUnitMegabits is a StandardUnit enum value StandardUnitMegabits = "Megabits" - // @enum StandardUnit + + // StandardUnitGigabits is a StandardUnit enum value StandardUnitGigabits = "Gigabits" - // @enum StandardUnit + + // StandardUnitTerabits is a StandardUnit enum value StandardUnitTerabits = "Terabits" - // @enum StandardUnit + + // StandardUnitPercent is a StandardUnit enum value StandardUnitPercent = "Percent" - // @enum StandardUnit + + // StandardUnitCount is a StandardUnit enum value StandardUnitCount = "Count" - // @enum StandardUnit + + // StandardUnitBytesSecond is a StandardUnit enum value StandardUnitBytesSecond = "Bytes/Second" - // @enum StandardUnit + + // StandardUnitKilobytesSecond is a StandardUnit enum value StandardUnitKilobytesSecond = "Kilobytes/Second" - // @enum StandardUnit + + // StandardUnitMegabytesSecond is a StandardUnit enum value StandardUnitMegabytesSecond = "Megabytes/Second" - // @enum StandardUnit + + // StandardUnitGigabytesSecond is a StandardUnit enum value StandardUnitGigabytesSecond = "Gigabytes/Second" - // @enum StandardUnit + + // StandardUnitTerabytesSecond is a StandardUnit enum value StandardUnitTerabytesSecond = "Terabytes/Second" - // @enum StandardUnit + + // StandardUnitBitsSecond is a StandardUnit enum value StandardUnitBitsSecond = "Bits/Second" - // @enum StandardUnit + + // StandardUnitKilobitsSecond is a StandardUnit enum value StandardUnitKilobitsSecond = "Kilobits/Second" - // @enum StandardUnit + + // StandardUnitMegabitsSecond is a StandardUnit enum value StandardUnitMegabitsSecond = "Megabits/Second" - // @enum StandardUnit + + // StandardUnitGigabitsSecond is a StandardUnit enum value StandardUnitGigabitsSecond = "Gigabits/Second" - // @enum StandardUnit + + // StandardUnitTerabitsSecond is a StandardUnit enum value StandardUnitTerabitsSecond = "Terabits/Second" - // @enum StandardUnit + + // StandardUnitCountSecond is a StandardUnit enum value StandardUnitCountSecond = "Count/Second" - // @enum StandardUnit + + // StandardUnitNone is a StandardUnit enum value StandardUnitNone = "None" ) const ( - // @enum StateValue + // StateValueOk is a StateValue enum value StateValueOk = "OK" - // @enum StateValue + + // StateValueAlarm is a StateValue enum value StateValueAlarm = "ALARM" - // @enum StateValue + + // StateValueInsufficientData is a StateValue enum value StateValueInsufficientData = "INSUFFICIENT_DATA" ) const ( - // @enum Statistic + // StatisticSampleCount is a Statistic enum value StatisticSampleCount = "SampleCount" - // @enum Statistic + + // StatisticAverage is a Statistic enum value StatisticAverage = "Average" - // @enum Statistic + + // StatisticSum is a Statistic enum value StatisticSum = "Sum" - // @enum Statistic + + // StatisticMinimum is a Statistic enum value StatisticMinimum = "Minimum" - // @enum Statistic + + // StatisticMaximum is a Statistic enum value StatisticMaximum = "Maximum" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/waiters.go new file mode 100644 index 000000000000..1184650e2849 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/waiters.go @@ -0,0 +1,34 @@ +// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. + +package cloudwatch + +import ( + "github.com/aws/aws-sdk-go/private/waiter" +) + +// WaitUntilAlarmExists uses the CloudWatch API operation +// DescribeAlarms to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. +func (c *CloudWatch) WaitUntilAlarmExists(input *DescribeAlarmsInput) error { + waiterCfg := waiter.Config{ + Operation: "DescribeAlarms", + Delay: 5, + MaxAttempts: 40, + Acceptors: []waiter.WaitAcceptor{ + { + State: "success", + Matcher: "path", + Argument: "length(MetricAlarms[]) > `0`", + Expected: true, + }, + }, + } + + w := waiter.Waiter{ + Client: c, + Input: input, + Config: waiterCfg, + } + return w.Wait() +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/api.go index bd35b89e838d..3ec1c868ae3f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/api.go @@ -15,7 +15,30 @@ import ( const opDeleteRule = "DeleteRule" -// DeleteRuleRequest generates a request for the DeleteRule operation. +// DeleteRuleRequest generates a "aws/request.Request" representing the +// client's request for the DeleteRule operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteRule for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteRule method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteRuleRequest method. +// req, resp := client.DeleteRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchEvents) DeleteRuleRequest(input *DeleteRuleInput) (req *request.Request, output *DeleteRuleOutput) { op := &request.Operation{ Name: opDeleteRule, @@ -35,12 +58,29 @@ func (c *CloudWatchEvents) DeleteRuleRequest(input *DeleteRuleInput) (req *reque return } +// DeleteRule API operation for Amazon CloudWatch Events. +// // Deletes a rule. You must remove all targets from a rule using RemoveTargets // before you can delete the rule. // // Note: When you delete a rule, incoming events might still continue to match // to the deleted rule. Please allow a short period of time for changes to take // effect. +// +// 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 CloudWatch Events's +// API operation DeleteRule for usage and error information. +// +// Returned Error Codes: +// * ConcurrentModificationException +// This exception occurs if there is concurrent modification on rule or target. +// +// * InternalException +// This exception occurs due to unexpected causes. +// func (c *CloudWatchEvents) DeleteRule(input *DeleteRuleInput) (*DeleteRuleOutput, error) { req, out := c.DeleteRuleRequest(input) err := req.Send() @@ -49,7 +89,30 @@ func (c *CloudWatchEvents) DeleteRule(input *DeleteRuleInput) (*DeleteRuleOutput const opDescribeRule = "DescribeRule" -// DescribeRuleRequest generates a request for the DescribeRule operation. +// DescribeRuleRequest generates a "aws/request.Request" representing the +// client's request for the DescribeRule operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeRule for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeRule method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeRuleRequest method. +// req, resp := client.DescribeRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchEvents) DescribeRuleRequest(input *DescribeRuleInput) (req *request.Request, output *DescribeRuleOutput) { op := &request.Operation{ Name: opDescribeRule, @@ -67,7 +130,24 @@ func (c *CloudWatchEvents) DescribeRuleRequest(input *DescribeRuleInput) (req *r return } +// DescribeRule API operation for Amazon CloudWatch Events. +// // Describes the details of the specified rule. +// +// 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 CloudWatch Events's +// API operation DescribeRule for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// The rule does not exist. +// +// * InternalException +// This exception occurs due to unexpected causes. +// func (c *CloudWatchEvents) DescribeRule(input *DescribeRuleInput) (*DescribeRuleOutput, error) { req, out := c.DescribeRuleRequest(input) err := req.Send() @@ -76,7 +156,30 @@ func (c *CloudWatchEvents) DescribeRule(input *DescribeRuleInput) (*DescribeRule const opDisableRule = "DisableRule" -// DisableRuleRequest generates a request for the DisableRule operation. +// DisableRuleRequest generates a "aws/request.Request" representing the +// client's request for the DisableRule operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DisableRule for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DisableRule method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DisableRuleRequest method. +// req, resp := client.DisableRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchEvents) DisableRuleRequest(input *DisableRuleInput) (req *request.Request, output *DisableRuleOutput) { op := &request.Operation{ Name: opDisableRule, @@ -96,12 +199,32 @@ func (c *CloudWatchEvents) DisableRuleRequest(input *DisableRuleInput) (req *req return } +// DisableRule API operation for Amazon CloudWatch Events. +// // Disables a rule. A disabled rule won't match any events, and won't self-trigger // if it has a schedule expression. // // Note: When you disable a rule, incoming events might still continue to // match to the disabled rule. Please allow a short period of time for changes // to take effect. +// +// 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 CloudWatch Events's +// API operation DisableRule for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// The rule does not exist. +// +// * ConcurrentModificationException +// This exception occurs if there is concurrent modification on rule or target. +// +// * InternalException +// This exception occurs due to unexpected causes. +// func (c *CloudWatchEvents) DisableRule(input *DisableRuleInput) (*DisableRuleOutput, error) { req, out := c.DisableRuleRequest(input) err := req.Send() @@ -110,7 +233,30 @@ func (c *CloudWatchEvents) DisableRule(input *DisableRuleInput) (*DisableRuleOut const opEnableRule = "EnableRule" -// EnableRuleRequest generates a request for the EnableRule operation. +// EnableRuleRequest generates a "aws/request.Request" representing the +// client's request for the EnableRule operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See EnableRule for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the EnableRule method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the EnableRuleRequest method. +// req, resp := client.EnableRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchEvents) EnableRuleRequest(input *EnableRuleInput) (req *request.Request, output *EnableRuleOutput) { op := &request.Operation{ Name: opEnableRule, @@ -130,11 +276,31 @@ func (c *CloudWatchEvents) EnableRuleRequest(input *EnableRuleInput) (req *reque return } +// EnableRule API operation for Amazon CloudWatch Events. +// // Enables a rule. If the rule does not exist, the operation fails. // // Note: When you enable a rule, incoming events might not immediately start // matching to a newly enabled rule. Please allow a short period of time for // changes to take effect. +// +// 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 CloudWatch Events's +// API operation EnableRule for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// The rule does not exist. +// +// * ConcurrentModificationException +// This exception occurs if there is concurrent modification on rule or target. +// +// * InternalException +// This exception occurs due to unexpected causes. +// func (c *CloudWatchEvents) EnableRule(input *EnableRuleInput) (*EnableRuleOutput, error) { req, out := c.EnableRuleRequest(input) err := req.Send() @@ -143,7 +309,30 @@ func (c *CloudWatchEvents) EnableRule(input *EnableRuleInput) (*EnableRuleOutput const opListRuleNamesByTarget = "ListRuleNamesByTarget" -// ListRuleNamesByTargetRequest generates a request for the ListRuleNamesByTarget operation. +// ListRuleNamesByTargetRequest generates a "aws/request.Request" representing the +// client's request for the ListRuleNamesByTarget operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListRuleNamesByTarget for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListRuleNamesByTarget method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListRuleNamesByTargetRequest method. +// req, resp := client.ListRuleNamesByTargetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchEvents) ListRuleNamesByTargetRequest(input *ListRuleNamesByTargetInput) (req *request.Request, output *ListRuleNamesByTargetOutput) { op := &request.Operation{ Name: opListRuleNamesByTarget, @@ -161,12 +350,26 @@ func (c *CloudWatchEvents) ListRuleNamesByTargetRequest(input *ListRuleNamesByTa return } +// ListRuleNamesByTarget API operation for Amazon CloudWatch Events. +// // Lists the names of the rules that the given target is put to. You can see // which of the rules in Amazon CloudWatch Events can invoke a specific target // in your account. If you have more rules in your account than the given limit, // the results will be paginated. In that case, use the next token returned // in the response and repeat ListRulesByTarget until the NextToken in the response // is returned as null. +// +// 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 CloudWatch Events's +// API operation ListRuleNamesByTarget for usage and error information. +// +// Returned Error Codes: +// * InternalException +// This exception occurs due to unexpected causes. +// func (c *CloudWatchEvents) ListRuleNamesByTarget(input *ListRuleNamesByTargetInput) (*ListRuleNamesByTargetOutput, error) { req, out := c.ListRuleNamesByTargetRequest(input) err := req.Send() @@ -175,7 +378,30 @@ func (c *CloudWatchEvents) ListRuleNamesByTarget(input *ListRuleNamesByTargetInp const opListRules = "ListRules" -// ListRulesRequest generates a request for the ListRules operation. +// ListRulesRequest generates a "aws/request.Request" representing the +// client's request for the ListRules operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListRules for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListRules method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListRulesRequest method. +// req, resp := client.ListRulesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchEvents) ListRulesRequest(input *ListRulesInput) (req *request.Request, output *ListRulesOutput) { op := &request.Operation{ Name: opListRules, @@ -193,11 +419,25 @@ func (c *CloudWatchEvents) ListRulesRequest(input *ListRulesInput) (req *request return } +// ListRules API operation for Amazon CloudWatch Events. +// // Lists the Amazon CloudWatch Events rules in your account. You can either // list all the rules or you can provide a prefix to match to the rule names. // If you have more rules in your account than the given limit, the results // will be paginated. In that case, use the next token returned in the response // and repeat ListRules until the NextToken in the response is returned as null. +// +// 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 CloudWatch Events's +// API operation ListRules for usage and error information. +// +// Returned Error Codes: +// * InternalException +// This exception occurs due to unexpected causes. +// func (c *CloudWatchEvents) ListRules(input *ListRulesInput) (*ListRulesOutput, error) { req, out := c.ListRulesRequest(input) err := req.Send() @@ -206,7 +446,30 @@ func (c *CloudWatchEvents) ListRules(input *ListRulesInput) (*ListRulesOutput, e const opListTargetsByRule = "ListTargetsByRule" -// ListTargetsByRuleRequest generates a request for the ListTargetsByRule operation. +// ListTargetsByRuleRequest generates a "aws/request.Request" representing the +// client's request for the ListTargetsByRule operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListTargetsByRule for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListTargetsByRule method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListTargetsByRuleRequest method. +// req, resp := client.ListTargetsByRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchEvents) ListTargetsByRuleRequest(input *ListTargetsByRuleInput) (req *request.Request, output *ListTargetsByRuleOutput) { op := &request.Operation{ Name: opListTargetsByRule, @@ -224,7 +487,24 @@ func (c *CloudWatchEvents) ListTargetsByRuleRequest(input *ListTargetsByRuleInpu return } +// ListTargetsByRule API operation for Amazon CloudWatch Events. +// // Lists of targets assigned to the rule. +// +// 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 CloudWatch Events's +// API operation ListTargetsByRule for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// The rule does not exist. +// +// * InternalException +// This exception occurs due to unexpected causes. +// func (c *CloudWatchEvents) ListTargetsByRule(input *ListTargetsByRuleInput) (*ListTargetsByRuleOutput, error) { req, out := c.ListTargetsByRuleRequest(input) err := req.Send() @@ -233,7 +513,30 @@ func (c *CloudWatchEvents) ListTargetsByRule(input *ListTargetsByRuleInput) (*Li const opPutEvents = "PutEvents" -// PutEventsRequest generates a request for the PutEvents operation. +// PutEventsRequest generates a "aws/request.Request" representing the +// client's request for the PutEvents operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutEvents for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutEvents method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // 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) +// } +// func (c *CloudWatchEvents) PutEventsRequest(input *PutEventsInput) (req *request.Request, output *PutEventsOutput) { op := &request.Operation{ Name: opPutEvents, @@ -251,8 +554,22 @@ func (c *CloudWatchEvents) PutEventsRequest(input *PutEventsInput) (req *request return } +// PutEvents API operation for Amazon CloudWatch Events. +// // Sends custom events to Amazon CloudWatch Events so that they can be matched // to rules. +// +// 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 CloudWatch Events's +// API operation PutEvents for usage and error information. +// +// Returned Error Codes: +// * InternalException +// This exception occurs due to unexpected causes. +// func (c *CloudWatchEvents) PutEvents(input *PutEventsInput) (*PutEventsOutput, error) { req, out := c.PutEventsRequest(input) err := req.Send() @@ -261,7 +578,30 @@ func (c *CloudWatchEvents) PutEvents(input *PutEventsInput) (*PutEventsOutput, e const opPutRule = "PutRule" -// PutRuleRequest generates a request for the PutRule operation. +// PutRuleRequest generates a "aws/request.Request" representing the +// client's request for the PutRule operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutRule for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutRule method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutRuleRequest method. +// req, resp := client.PutRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchEvents) PutRuleRequest(input *PutRuleInput) (req *request.Request, output *PutRuleOutput) { op := &request.Operation{ Name: opPutRule, @@ -279,6 +619,8 @@ func (c *CloudWatchEvents) PutRuleRequest(input *PutRuleInput) (req *request.Req return } +// PutRule API operation for Amazon CloudWatch Events. +// // Creates or updates a rule. Rules are enabled by default, or based on value // of the State parameter. You can disable a rule using DisableRule. // @@ -297,6 +639,28 @@ func (c *CloudWatchEvents) PutRuleRequest(input *PutRuleInput) (req *request.Req // event patterns and rules. Be sure to use the correct ARN characters when // creating event patterns so that they match the ARN syntax in the event you // want to match. +// +// 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 CloudWatch Events's +// API operation PutRule for usage and error information. +// +// Returned Error Codes: +// * InvalidEventPatternException +// The event pattern is invalid. +// +// * LimitExceededException +// This exception occurs if you try to create more rules or add more targets +// to a rule than allowed by default. +// +// * ConcurrentModificationException +// This exception occurs if there is concurrent modification on rule or target. +// +// * InternalException +// This exception occurs due to unexpected causes. +// func (c *CloudWatchEvents) PutRule(input *PutRuleInput) (*PutRuleOutput, error) { req, out := c.PutRuleRequest(input) err := req.Send() @@ -305,7 +669,30 @@ func (c *CloudWatchEvents) PutRule(input *PutRuleInput) (*PutRuleOutput, error) const opPutTargets = "PutTargets" -// PutTargetsRequest generates a request for the PutTargets operation. +// PutTargetsRequest generates a "aws/request.Request" representing the +// client's request for the PutTargets operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutTargets for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutTargets method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutTargetsRequest method. +// req, resp := client.PutTargetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchEvents) PutTargetsRequest(input *PutTargetsInput) (req *request.Request, output *PutTargetsOutput) { op := &request.Operation{ Name: opPutTargets, @@ -323,6 +710,8 @@ func (c *CloudWatchEvents) PutTargetsRequest(input *PutTargetsInput) (req *reque return } +// PutTargets API operation for Amazon CloudWatch Events. +// // Adds target(s) to a rule. Targets are the resources that can be invoked when // a rule is triggered. For example, AWS Lambda functions, Amazon Kinesis streams, // and built-in targets. Updates the target(s) if they are already associated @@ -347,6 +736,28 @@ func (c *CloudWatchEvents) PutTargetsRequest(input *PutTargetsInput) (req *reque // is overridden with this constant. Note: When you add targets to a rule, // when the associated rule triggers, new or updated targets might not be immediately // invoked. Please allow a short period of time for changes to take effect. +// +// 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 CloudWatch Events's +// API operation PutTargets for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// The rule does not exist. +// +// * ConcurrentModificationException +// This exception occurs if there is concurrent modification on rule or target. +// +// * LimitExceededException +// This exception occurs if you try to create more rules or add more targets +// to a rule than allowed by default. +// +// * InternalException +// This exception occurs due to unexpected causes. +// func (c *CloudWatchEvents) PutTargets(input *PutTargetsInput) (*PutTargetsOutput, error) { req, out := c.PutTargetsRequest(input) err := req.Send() @@ -355,7 +766,30 @@ func (c *CloudWatchEvents) PutTargets(input *PutTargetsInput) (*PutTargetsOutput const opRemoveTargets = "RemoveTargets" -// RemoveTargetsRequest generates a request for the RemoveTargets operation. +// RemoveTargetsRequest generates a "aws/request.Request" representing the +// client's request for the RemoveTargets operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RemoveTargets for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RemoveTargets method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RemoveTargetsRequest method. +// req, resp := client.RemoveTargetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchEvents) RemoveTargetsRequest(input *RemoveTargetsInput) (req *request.Request, output *RemoveTargetsOutput) { op := &request.Operation{ Name: opRemoveTargets, @@ -373,12 +807,32 @@ func (c *CloudWatchEvents) RemoveTargetsRequest(input *RemoveTargetsInput) (req return } +// RemoveTargets API operation for Amazon CloudWatch Events. +// // Removes target(s) from a rule so that when the rule is triggered, those targets // will no longer be invoked. // // Note: When you remove a target, when the associated rule triggers, removed // targets might still continue to be invoked. Please allow a short period of // time for changes to take effect. +// +// 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 CloudWatch Events's +// API operation RemoveTargets for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// The rule does not exist. +// +// * ConcurrentModificationException +// This exception occurs if there is concurrent modification on rule or target. +// +// * InternalException +// This exception occurs due to unexpected causes. +// func (c *CloudWatchEvents) RemoveTargets(input *RemoveTargetsInput) (*RemoveTargetsOutput, error) { req, out := c.RemoveTargetsRequest(input) err := req.Send() @@ -387,7 +841,30 @@ func (c *CloudWatchEvents) RemoveTargets(input *RemoveTargetsInput) (*RemoveTarg const opTestEventPattern = "TestEventPattern" -// TestEventPatternRequest generates a request for the TestEventPattern operation. +// TestEventPatternRequest generates a "aws/request.Request" representing the +// client's request for the TestEventPattern operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See TestEventPattern for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the TestEventPattern method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the TestEventPatternRequest method. +// req, resp := client.TestEventPatternRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchEvents) TestEventPatternRequest(input *TestEventPatternInput) (req *request.Request, output *TestEventPatternOutput) { op := &request.Operation{ Name: opTestEventPattern, @@ -405,6 +882,8 @@ func (c *CloudWatchEvents) TestEventPatternRequest(input *TestEventPatternInput) return } +// TestEventPattern API operation for Amazon CloudWatch Events. +// // Tests whether an event pattern matches the provided event. // // Note: Most services in AWS treat : or / as the same character in Amazon @@ -412,6 +891,21 @@ func (c *CloudWatchEvents) TestEventPatternRequest(input *TestEventPatternInput) // event patterns and rules. Be sure to use the correct ARN characters when // creating event patterns so that they match the ARN syntax in the event you // want to match. +// +// 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 CloudWatch Events's +// API operation TestEventPattern for usage and error information. +// +// Returned Error Codes: +// * InvalidEventPatternException +// The event pattern is invalid. +// +// * InternalException +// This exception occurs due to unexpected causes. +// func (c *CloudWatchEvents) TestEventPattern(input *TestEventPatternInput) (*TestEventPatternOutput, error) { req, out := c.TestEventPatternRequest(input) err := req.Send() @@ -423,6 +917,8 @@ type DeleteRuleInput struct { _ struct{} `type:"structure"` // The name of the rule to be deleted. + // + // Name is a required field Name *string `min:"1" type:"string" required:"true"` } @@ -471,6 +967,8 @@ type DescribeRuleInput struct { _ struct{} `type:"structure"` // The name of the rule you want to describe details for. + // + // Name is a required field Name *string `min:"1" type:"string" required:"true"` } @@ -541,6 +1039,8 @@ type DisableRuleInput struct { _ struct{} `type:"structure"` // The name of the rule you want to disable. + // + // Name is a required field Name *string `min:"1" type:"string" required:"true"` } @@ -589,6 +1089,8 @@ type EnableRuleInput struct { _ struct{} `type:"structure"` // The name of the rule that you want to enable. + // + // Name is a required field Name *string `min:"1" type:"string" required:"true"` } @@ -645,6 +1147,8 @@ type ListRuleNamesByTargetInput struct { // The Amazon Resource Name (ARN) of the target resource that you want to list // the rules for. + // + // TargetArn is a required field TargetArn *string `min:"1" type:"string" required:"true"` } @@ -778,6 +1282,8 @@ type ListTargetsByRuleInput struct { NextToken *string `min:"1" type:"string"` // The name of the rule whose targets you want to list. + // + // Rule is a required field Rule *string `min:"1" type:"string" required:"true"` } @@ -841,6 +1347,8 @@ type PutEventsInput struct { // The entry that defines an event in your system. You can specify several parameters // for the entry such as the source and type of the event, resources associated // with the event, and so on. + // + // Entries is a required field Entries []*PutEventsRequestEntry `min:"1" type:"list" required:"true"` } @@ -963,6 +1471,8 @@ type PutRuleInput struct { EventPattern *string `type:"string"` // The name of the rule that you are creating or updating. + // + // Name is a required field Name *string `min:"1" type:"string" required:"true"` // The Amazon Resource Name (ARN) of the IAM role associated with the rule. @@ -1027,9 +1537,13 @@ type PutTargetsInput struct { _ struct{} `type:"structure"` // The name of the rule you want to add targets to. + // + // Rule is a required field Rule *string `min:"1" type:"string" required:"true"` // List of targets you want to update or add to the rule. + // + // Targets is a required field Targets []*Target `type:"list" required:"true"` } @@ -1122,9 +1636,13 @@ type RemoveTargetsInput struct { _ struct{} `type:"structure"` // The list of target IDs to remove from the rule. + // + // Ids is a required field Ids []*string `min:"1" type:"list" required:"true"` // The name of the rule you want to remove targets from. + // + // Rule is a required field Rule *string `min:"1" type:"string" required:"true"` } @@ -1260,9 +1778,13 @@ type Target struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) associated of the target. + // + // Arn is a required field Arn *string `min:"1" type:"string" required:"true"` // The unique target assignment ID. + // + // Id is a required field Id *string `min:"1" type:"string" required:"true"` // Valid JSON text passed to the target. For more information about JSON text, @@ -1312,9 +1834,13 @@ type TestEventPatternInput struct { _ struct{} `type:"structure"` // The event in the JSON format to test against the event pattern. + // + // Event is a required field Event *string `type:"string" required:"true"` // The event pattern you want to test. + // + // EventPattern is a required field EventPattern *string `type:"string" required:"true"` } @@ -1363,8 +1889,9 @@ func (s TestEventPatternOutput) GoString() string { } const ( - // @enum RuleState + // RuleStateEnabled is a RuleState enum value RuleStateEnabled = "ENABLED" - // @enum RuleState + + // RuleStateDisabled is a RuleState enum value RuleStateDisabled = "DISABLED" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/api.go index d5be83323f65..c69ad6f0812b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/api.go @@ -14,7 +14,30 @@ import ( const opCancelExportTask = "CancelExportTask" -// CancelExportTaskRequest generates a request for the CancelExportTask operation. +// CancelExportTaskRequest generates a "aws/request.Request" representing the +// client's request for the CancelExportTask operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CancelExportTask for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CancelExportTask method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CancelExportTaskRequest method. +// req, resp := client.CancelExportTaskRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchLogs) CancelExportTaskRequest(input *CancelExportTaskInput) (req *request.Request, output *CancelExportTaskOutput) { op := &request.Operation{ Name: opCancelExportTask, @@ -34,7 +57,30 @@ func (c *CloudWatchLogs) CancelExportTaskRequest(input *CancelExportTaskInput) ( return } +// CancelExportTask API operation for Amazon CloudWatch Logs. +// // Cancels an export task if it is in PENDING or RUNNING state. +// +// 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 CloudWatch Logs's +// API operation CancelExportTask for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterException +// Returned if a parameter of the request is incorrectly specified. +// +// * ResourceNotFoundException +// Returned if the specified resource does not exist. +// +// * InvalidOperationException +// Returned if the operation is not valid on the specified resource +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *CloudWatchLogs) CancelExportTask(input *CancelExportTaskInput) (*CancelExportTaskOutput, error) { req, out := c.CancelExportTaskRequest(input) err := req.Send() @@ -43,7 +89,30 @@ func (c *CloudWatchLogs) CancelExportTask(input *CancelExportTaskInput) (*Cancel const opCreateExportTask = "CreateExportTask" -// CreateExportTaskRequest generates a request for the CreateExportTask operation. +// CreateExportTaskRequest generates a "aws/request.Request" representing the +// client's request for the CreateExportTask operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateExportTask for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateExportTask method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateExportTaskRequest method. +// req, resp := client.CreateExportTaskRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchLogs) CreateExportTaskRequest(input *CreateExportTaskInput) (req *request.Request, output *CreateExportTaskOutput) { op := &request.Operation{ Name: opCreateExportTask, @@ -61,19 +130,49 @@ func (c *CloudWatchLogs) CreateExportTaskRequest(input *CreateExportTaskInput) ( return } +// CreateExportTask API operation for Amazon CloudWatch Logs. +// // Creates an ExportTask which allows you to efficiently export data from a // Log Group to your Amazon S3 bucket. // -// This is an asynchronous call. If all the required information is provided, +// This is an asynchronous call. If all the required information is provided, // this API will initiate an export task and respond with the task Id. Once // started, DescribeExportTasks can be used to get the status of an export task. // You can only have one active (RUNNING or PENDING) export task at a time, // per account. // -// You can export logs from multiple log groups or multiple time ranges to +// You can export logs from multiple log groups or multiple time ranges to // the same Amazon S3 bucket. To separate out log data for each export task, // you can specify a prefix that will be used as the Amazon S3 key prefix for // all exported objects. +// +// 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 CloudWatch Logs's +// API operation CreateExportTask for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterException +// Returned if a parameter of the request is incorrectly specified. +// +// * LimitExceededException +// Returned if you have reached the maximum number of resources that can be +// created. +// +// * OperationAbortedException +// Returned if multiple requests to update the same resource were in conflict. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// +// * ResourceNotFoundException +// Returned if the specified resource does not exist. +// +// * ResourceAlreadyExistsException +// Returned if the specified resource already exists. +// func (c *CloudWatchLogs) CreateExportTask(input *CreateExportTaskInput) (*CreateExportTaskOutput, error) { req, out := c.CreateExportTaskRequest(input) err := req.Send() @@ -82,7 +181,30 @@ func (c *CloudWatchLogs) CreateExportTask(input *CreateExportTaskInput) (*Create const opCreateLogGroup = "CreateLogGroup" -// CreateLogGroupRequest generates a request for the CreateLogGroup operation. +// CreateLogGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateLogGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateLogGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateLogGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateLogGroupRequest method. +// req, resp := client.CreateLogGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchLogs) CreateLogGroupRequest(input *CreateLogGroupInput) (req *request.Request, output *CreateLogGroupOutput) { op := &request.Operation{ Name: opCreateLogGroup, @@ -102,13 +224,43 @@ func (c *CloudWatchLogs) CreateLogGroupRequest(input *CreateLogGroupInput) (req return } +// CreateLogGroup API operation for Amazon CloudWatch Logs. +// // Creates a new log group with the specified name. The name of the log group // must be unique within a region for an AWS account. You can create up to 500 // log groups per account. // -// You must use the following guidelines when naming a log group: Log group -// names can be between 1 and 512 characters long. Allowed characters are a-z, -// A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period). +// You must use the following guidelines when naming a log group: +// +// Log group names can be between 1 and 512 characters long. +// +// Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), +// '/' (forward slash), and '.' (period). +// +// 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 CloudWatch Logs's +// API operation CreateLogGroup for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterException +// Returned if a parameter of the request is incorrectly specified. +// +// * ResourceAlreadyExistsException +// Returned if the specified resource already exists. +// +// * LimitExceededException +// Returned if you have reached the maximum number of resources that can be +// created. +// +// * OperationAbortedException +// Returned if multiple requests to update the same resource were in conflict. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *CloudWatchLogs) CreateLogGroup(input *CreateLogGroupInput) (*CreateLogGroupOutput, error) { req, out := c.CreateLogGroupRequest(input) err := req.Send() @@ -117,7 +269,30 @@ func (c *CloudWatchLogs) CreateLogGroup(input *CreateLogGroupInput) (*CreateLogG const opCreateLogStream = "CreateLogStream" -// CreateLogStreamRequest generates a request for the CreateLogStream operation. +// CreateLogStreamRequest generates a "aws/request.Request" representing the +// client's request for the CreateLogStream operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateLogStream for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateLogStream method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateLogStreamRequest method. +// req, resp := client.CreateLogStreamRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchLogs) CreateLogStreamRequest(input *CreateLogStreamInput) (req *request.Request, output *CreateLogStreamOutput) { op := &request.Operation{ Name: opCreateLogStream, @@ -137,13 +312,38 @@ func (c *CloudWatchLogs) CreateLogStreamRequest(input *CreateLogStreamInput) (re return } +// CreateLogStream API operation for Amazon CloudWatch Logs. +// // Creates a new log stream in the specified log group. The name of the log // stream must be unique within the log group. There is no limit on the number // of log streams that can exist in a log group. // -// You must use the following guidelines when naming a log stream: Log stream -// names can be between 1 and 512 characters long. The ':' colon character is -// not allowed. +// You must use the following guidelines when naming a log stream: +// +// Log stream names can be between 1 and 512 characters long. +// +// The ':' colon character is not allowed. +// +// 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 CloudWatch Logs's +// API operation CreateLogStream for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterException +// Returned if a parameter of the request is incorrectly specified. +// +// * ResourceAlreadyExistsException +// Returned if the specified resource already exists. +// +// * ResourceNotFoundException +// Returned if the specified resource does not exist. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *CloudWatchLogs) CreateLogStream(input *CreateLogStreamInput) (*CreateLogStreamOutput, error) { req, out := c.CreateLogStreamRequest(input) err := req.Send() @@ -152,7 +352,30 @@ func (c *CloudWatchLogs) CreateLogStream(input *CreateLogStreamInput) (*CreateLo const opDeleteDestination = "DeleteDestination" -// DeleteDestinationRequest generates a request for the DeleteDestination operation. +// DeleteDestinationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDestination operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteDestination for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteDestination method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteDestinationRequest method. +// req, resp := client.DeleteDestinationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchLogs) DeleteDestinationRequest(input *DeleteDestinationInput) (req *request.Request, output *DeleteDestinationOutput) { op := &request.Operation{ Name: opDeleteDestination, @@ -172,9 +395,32 @@ func (c *CloudWatchLogs) DeleteDestinationRequest(input *DeleteDestinationInput) return } +// DeleteDestination API operation for Amazon CloudWatch Logs. +// // Deletes the destination with the specified name and eventually disables all // the subscription filters that publish to it. This will not delete the physical // resource encapsulated by the destination. +// +// 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 CloudWatch Logs's +// API operation DeleteDestination for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterException +// Returned if a parameter of the request is incorrectly specified. +// +// * ResourceNotFoundException +// Returned if the specified resource does not exist. +// +// * OperationAbortedException +// Returned if multiple requests to update the same resource were in conflict. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *CloudWatchLogs) DeleteDestination(input *DeleteDestinationInput) (*DeleteDestinationOutput, error) { req, out := c.DeleteDestinationRequest(input) err := req.Send() @@ -183,7 +429,30 @@ func (c *CloudWatchLogs) DeleteDestination(input *DeleteDestinationInput) (*Dele const opDeleteLogGroup = "DeleteLogGroup" -// DeleteLogGroupRequest generates a request for the DeleteLogGroup operation. +// DeleteLogGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteLogGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteLogGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteLogGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteLogGroupRequest method. +// req, resp := client.DeleteLogGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchLogs) DeleteLogGroupRequest(input *DeleteLogGroupInput) (req *request.Request, output *DeleteLogGroupOutput) { op := &request.Operation{ Name: opDeleteLogGroup, @@ -203,8 +472,31 @@ func (c *CloudWatchLogs) DeleteLogGroupRequest(input *DeleteLogGroupInput) (req return } +// DeleteLogGroup API operation for Amazon CloudWatch Logs. +// // Deletes the log group with the specified name and permanently deletes all // the archived log events associated with it. +// +// 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 CloudWatch Logs's +// API operation DeleteLogGroup for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterException +// Returned if a parameter of the request is incorrectly specified. +// +// * ResourceNotFoundException +// Returned if the specified resource does not exist. +// +// * OperationAbortedException +// Returned if multiple requests to update the same resource were in conflict. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *CloudWatchLogs) DeleteLogGroup(input *DeleteLogGroupInput) (*DeleteLogGroupOutput, error) { req, out := c.DeleteLogGroupRequest(input) err := req.Send() @@ -213,7 +505,30 @@ func (c *CloudWatchLogs) DeleteLogGroup(input *DeleteLogGroupInput) (*DeleteLogG const opDeleteLogStream = "DeleteLogStream" -// DeleteLogStreamRequest generates a request for the DeleteLogStream operation. +// DeleteLogStreamRequest generates a "aws/request.Request" representing the +// client's request for the DeleteLogStream operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteLogStream for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteLogStream method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteLogStreamRequest method. +// req, resp := client.DeleteLogStreamRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchLogs) DeleteLogStreamRequest(input *DeleteLogStreamInput) (req *request.Request, output *DeleteLogStreamOutput) { op := &request.Operation{ Name: opDeleteLogStream, @@ -233,8 +548,31 @@ func (c *CloudWatchLogs) DeleteLogStreamRequest(input *DeleteLogStreamInput) (re return } +// DeleteLogStream API operation for Amazon CloudWatch Logs. +// // Deletes a log stream and permanently deletes all the archived log events // associated with it. +// +// 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 CloudWatch Logs's +// API operation DeleteLogStream for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterException +// Returned if a parameter of the request is incorrectly specified. +// +// * ResourceNotFoundException +// Returned if the specified resource does not exist. +// +// * OperationAbortedException +// Returned if multiple requests to update the same resource were in conflict. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *CloudWatchLogs) DeleteLogStream(input *DeleteLogStreamInput) (*DeleteLogStreamOutput, error) { req, out := c.DeleteLogStreamRequest(input) err := req.Send() @@ -243,7 +581,30 @@ func (c *CloudWatchLogs) DeleteLogStream(input *DeleteLogStreamInput) (*DeleteLo const opDeleteMetricFilter = "DeleteMetricFilter" -// DeleteMetricFilterRequest generates a request for the DeleteMetricFilter operation. +// DeleteMetricFilterRequest generates a "aws/request.Request" representing the +// client's request for the DeleteMetricFilter operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteMetricFilter for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteMetricFilter method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteMetricFilterRequest method. +// req, resp := client.DeleteMetricFilterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchLogs) DeleteMetricFilterRequest(input *DeleteMetricFilterInput) (req *request.Request, output *DeleteMetricFilterOutput) { op := &request.Operation{ Name: opDeleteMetricFilter, @@ -263,7 +624,30 @@ func (c *CloudWatchLogs) DeleteMetricFilterRequest(input *DeleteMetricFilterInpu return } +// DeleteMetricFilter API operation for Amazon CloudWatch Logs. +// // Deletes a metric filter associated with the specified log group. +// +// 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 CloudWatch Logs's +// API operation DeleteMetricFilter for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterException +// Returned if a parameter of the request is incorrectly specified. +// +// * ResourceNotFoundException +// Returned if the specified resource does not exist. +// +// * OperationAbortedException +// Returned if multiple requests to update the same resource were in conflict. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *CloudWatchLogs) DeleteMetricFilter(input *DeleteMetricFilterInput) (*DeleteMetricFilterOutput, error) { req, out := c.DeleteMetricFilterRequest(input) err := req.Send() @@ -272,7 +656,30 @@ func (c *CloudWatchLogs) DeleteMetricFilter(input *DeleteMetricFilterInput) (*De const opDeleteRetentionPolicy = "DeleteRetentionPolicy" -// DeleteRetentionPolicyRequest generates a request for the DeleteRetentionPolicy operation. +// DeleteRetentionPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteRetentionPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteRetentionPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteRetentionPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteRetentionPolicyRequest method. +// req, resp := client.DeleteRetentionPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchLogs) DeleteRetentionPolicyRequest(input *DeleteRetentionPolicyInput) (req *request.Request, output *DeleteRetentionPolicyOutput) { op := &request.Operation{ Name: opDeleteRetentionPolicy, @@ -292,8 +699,31 @@ func (c *CloudWatchLogs) DeleteRetentionPolicyRequest(input *DeleteRetentionPoli return } +// DeleteRetentionPolicy API operation for Amazon CloudWatch Logs. +// // Deletes the retention policy of the specified log group. Log events would // not expire if they belong to log groups without a retention policy. +// +// 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 CloudWatch Logs's +// API operation DeleteRetentionPolicy for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterException +// Returned if a parameter of the request is incorrectly specified. +// +// * ResourceNotFoundException +// Returned if the specified resource does not exist. +// +// * OperationAbortedException +// Returned if multiple requests to update the same resource were in conflict. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *CloudWatchLogs) DeleteRetentionPolicy(input *DeleteRetentionPolicyInput) (*DeleteRetentionPolicyOutput, error) { req, out := c.DeleteRetentionPolicyRequest(input) err := req.Send() @@ -302,7 +732,30 @@ func (c *CloudWatchLogs) DeleteRetentionPolicy(input *DeleteRetentionPolicyInput const opDeleteSubscriptionFilter = "DeleteSubscriptionFilter" -// DeleteSubscriptionFilterRequest generates a request for the DeleteSubscriptionFilter operation. +// DeleteSubscriptionFilterRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSubscriptionFilter operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteSubscriptionFilter for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteSubscriptionFilter method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteSubscriptionFilterRequest method. +// req, resp := client.DeleteSubscriptionFilterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchLogs) DeleteSubscriptionFilterRequest(input *DeleteSubscriptionFilterInput) (req *request.Request, output *DeleteSubscriptionFilterOutput) { op := &request.Operation{ Name: opDeleteSubscriptionFilter, @@ -322,7 +775,30 @@ func (c *CloudWatchLogs) DeleteSubscriptionFilterRequest(input *DeleteSubscripti return } +// DeleteSubscriptionFilter API operation for Amazon CloudWatch Logs. +// // Deletes a subscription filter associated with the specified log group. +// +// 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 CloudWatch Logs's +// API operation DeleteSubscriptionFilter for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterException +// Returned if a parameter of the request is incorrectly specified. +// +// * ResourceNotFoundException +// Returned if the specified resource does not exist. +// +// * OperationAbortedException +// Returned if multiple requests to update the same resource were in conflict. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *CloudWatchLogs) DeleteSubscriptionFilter(input *DeleteSubscriptionFilterInput) (*DeleteSubscriptionFilterOutput, error) { req, out := c.DeleteSubscriptionFilterRequest(input) err := req.Send() @@ -331,7 +807,30 @@ func (c *CloudWatchLogs) DeleteSubscriptionFilter(input *DeleteSubscriptionFilte const opDescribeDestinations = "DescribeDestinations" -// DescribeDestinationsRequest generates a request for the DescribeDestinations operation. +// DescribeDestinationsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDestinations operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeDestinations for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeDestinations method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeDestinationsRequest method. +// req, resp := client.DescribeDestinationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchLogs) DescribeDestinationsRequest(input *DescribeDestinationsInput) (req *request.Request, output *DescribeDestinationsOutput) { op := &request.Operation{ Name: opDescribeDestinations, @@ -355,20 +854,54 @@ func (c *CloudWatchLogs) DescribeDestinationsRequest(input *DescribeDestinations return } +// DescribeDestinations API operation for Amazon CloudWatch Logs. +// // Returns all the destinations that are associated with the AWS account making // the request. The list returned in the response is ASCII-sorted by destination // name. // -// By default, this operation returns up to 50 destinations. If there are -// more destinations to list, the response would contain a nextToken value in -// the response body. You can also limit the number of destinations returned -// in the response by specifying the limit parameter in the request. +// By default, this operation returns up to 50 destinations. If there are more +// destinations to list, the response would contain a nextToken value in the +// response body. You can also limit the number of destinations returned in +// the response by specifying the limit parameter in the request. +// +// 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 CloudWatch Logs's +// API operation DescribeDestinations for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterException +// Returned if a parameter of the request is incorrectly specified. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *CloudWatchLogs) DescribeDestinations(input *DescribeDestinationsInput) (*DescribeDestinationsOutput, error) { req, out := c.DescribeDestinationsRequest(input) err := req.Send() return out, err } +// DescribeDestinationsPages iterates over the pages of a DescribeDestinations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeDestinations 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 DescribeDestinations operation. +// pageNum := 0 +// err := client.DescribeDestinationsPages(params, +// func(page *DescribeDestinationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *CloudWatchLogs) DescribeDestinationsPages(input *DescribeDestinationsInput, fn func(p *DescribeDestinationsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeDestinationsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -379,7 +912,30 @@ func (c *CloudWatchLogs) DescribeDestinationsPages(input *DescribeDestinationsIn const opDescribeExportTasks = "DescribeExportTasks" -// DescribeExportTasksRequest generates a request for the DescribeExportTasks operation. +// DescribeExportTasksRequest generates a "aws/request.Request" representing the +// client's request for the DescribeExportTasks operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeExportTasks for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeExportTasks method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeExportTasksRequest method. +// req, resp := client.DescribeExportTasksRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchLogs) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req *request.Request, output *DescribeExportTasksOutput) { op := &request.Operation{ Name: opDescribeExportTasks, @@ -397,14 +953,31 @@ func (c *CloudWatchLogs) DescribeExportTasksRequest(input *DescribeExportTasksIn return } +// DescribeExportTasks API operation for Amazon CloudWatch Logs. +// // Returns all the export tasks that are associated with the AWS account making // the request. The export tasks can be filtered based on TaskId or TaskStatus. // -// By default, this operation returns up to 50 export tasks that satisfy the +// By default, this operation returns up to 50 export tasks that satisfy the // specified filters. If there are more export tasks to list, the response would // contain a nextToken value in the response body. You can also limit the number // of export tasks returned in the response by specifying the limit parameter // in the request. +// +// 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 CloudWatch Logs's +// API operation DescribeExportTasks for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterException +// Returned if a parameter of the request is incorrectly specified. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *CloudWatchLogs) DescribeExportTasks(input *DescribeExportTasksInput) (*DescribeExportTasksOutput, error) { req, out := c.DescribeExportTasksRequest(input) err := req.Send() @@ -413,7 +986,30 @@ func (c *CloudWatchLogs) DescribeExportTasks(input *DescribeExportTasksInput) (* const opDescribeLogGroups = "DescribeLogGroups" -// DescribeLogGroupsRequest generates a request for the DescribeLogGroups operation. +// DescribeLogGroupsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeLogGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeLogGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeLogGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeLogGroupsRequest method. +// req, resp := client.DescribeLogGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchLogs) DescribeLogGroupsRequest(input *DescribeLogGroupsInput) (req *request.Request, output *DescribeLogGroupsOutput) { op := &request.Operation{ Name: opDescribeLogGroups, @@ -437,20 +1033,54 @@ func (c *CloudWatchLogs) DescribeLogGroupsRequest(input *DescribeLogGroupsInput) return } +// DescribeLogGroups API operation for Amazon CloudWatch Logs. +// // Returns all the log groups that are associated with the AWS account making // the request. The list returned in the response is ASCII-sorted by log group // name. // -// By default, this operation returns up to 50 log groups. If there are more +// By default, this operation returns up to 50 log groups. If there are more // log groups to list, the response would contain a nextToken value in the response // body. You can also limit the number of log groups returned in the response // by specifying the limit parameter in the request. +// +// 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 CloudWatch Logs's +// API operation DescribeLogGroups for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterException +// Returned if a parameter of the request is incorrectly specified. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *CloudWatchLogs) DescribeLogGroups(input *DescribeLogGroupsInput) (*DescribeLogGroupsOutput, error) { req, out := c.DescribeLogGroupsRequest(input) err := req.Send() return out, err } +// DescribeLogGroupsPages iterates over the pages of a DescribeLogGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeLogGroups 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 DescribeLogGroups operation. +// pageNum := 0 +// err := client.DescribeLogGroupsPages(params, +// func(page *DescribeLogGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *CloudWatchLogs) DescribeLogGroupsPages(input *DescribeLogGroupsInput, fn func(p *DescribeLogGroupsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeLogGroupsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -461,7 +1091,30 @@ func (c *CloudWatchLogs) DescribeLogGroupsPages(input *DescribeLogGroupsInput, f const opDescribeLogStreams = "DescribeLogStreams" -// DescribeLogStreamsRequest generates a request for the DescribeLogStreams operation. +// DescribeLogStreamsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeLogStreams operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeLogStreams for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeLogStreams method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeLogStreamsRequest method. +// req, resp := client.DescribeLogStreamsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchLogs) DescribeLogStreamsRequest(input *DescribeLogStreamsInput) (req *request.Request, output *DescribeLogStreamsOutput) { op := &request.Operation{ Name: opDescribeLogStreams, @@ -485,21 +1138,58 @@ func (c *CloudWatchLogs) DescribeLogStreamsRequest(input *DescribeLogStreamsInpu return } +// DescribeLogStreams API operation for Amazon CloudWatch Logs. +// // Returns all the log streams that are associated with the specified log group. // The list returned in the response is ASCII-sorted by log stream name. // -// By default, this operation returns up to 50 log streams. If there are more +// By default, this operation returns up to 50 log streams. If there are more // log streams to list, the response would contain a nextToken value in the // response body. You can also limit the number of log streams returned in the // response by specifying the limit parameter in the request. This operation // has a limit of five transactions per second, after which transactions are // throttled. +// +// 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 CloudWatch Logs's +// API operation DescribeLogStreams for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterException +// Returned if a parameter of the request is incorrectly specified. +// +// * ResourceNotFoundException +// Returned if the specified resource does not exist. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *CloudWatchLogs) DescribeLogStreams(input *DescribeLogStreamsInput) (*DescribeLogStreamsOutput, error) { req, out := c.DescribeLogStreamsRequest(input) err := req.Send() return out, err } +// DescribeLogStreamsPages iterates over the pages of a DescribeLogStreams operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeLogStreams 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 DescribeLogStreams operation. +// pageNum := 0 +// err := client.DescribeLogStreamsPages(params, +// func(page *DescribeLogStreamsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *CloudWatchLogs) DescribeLogStreamsPages(input *DescribeLogStreamsInput, fn func(p *DescribeLogStreamsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeLogStreamsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -510,7 +1200,30 @@ func (c *CloudWatchLogs) DescribeLogStreamsPages(input *DescribeLogStreamsInput, const opDescribeMetricFilters = "DescribeMetricFilters" -// DescribeMetricFiltersRequest generates a request for the DescribeMetricFilters operation. +// DescribeMetricFiltersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeMetricFilters operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeMetricFilters for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeMetricFilters method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeMetricFiltersRequest method. +// req, resp := client.DescribeMetricFiltersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchLogs) DescribeMetricFiltersRequest(input *DescribeMetricFiltersInput) (req *request.Request, output *DescribeMetricFiltersOutput) { op := &request.Operation{ Name: opDescribeMetricFilters, @@ -534,19 +1247,56 @@ func (c *CloudWatchLogs) DescribeMetricFiltersRequest(input *DescribeMetricFilte return } +// DescribeMetricFilters API operation for Amazon CloudWatch Logs. +// // Returns all the metrics filters associated with the specified log group. // The list returned in the response is ASCII-sorted by filter name. // -// By default, this operation returns up to 50 metric filters. If there are +// By default, this operation returns up to 50 metric filters. If there are // more metric filters to list, the response would contain a nextToken value // in the response body. You can also limit the number of metric filters returned // in the response by specifying the limit parameter in the request. +// +// 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 CloudWatch Logs's +// API operation DescribeMetricFilters for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterException +// Returned if a parameter of the request is incorrectly specified. +// +// * ResourceNotFoundException +// Returned if the specified resource does not exist. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *CloudWatchLogs) DescribeMetricFilters(input *DescribeMetricFiltersInput) (*DescribeMetricFiltersOutput, error) { req, out := c.DescribeMetricFiltersRequest(input) err := req.Send() return out, err } +// DescribeMetricFiltersPages iterates over the pages of a DescribeMetricFilters operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeMetricFilters 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 DescribeMetricFilters operation. +// pageNum := 0 +// err := client.DescribeMetricFiltersPages(params, +// func(page *DescribeMetricFiltersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *CloudWatchLogs) DescribeMetricFiltersPages(input *DescribeMetricFiltersInput, fn func(p *DescribeMetricFiltersOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeMetricFiltersRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -557,7 +1307,30 @@ func (c *CloudWatchLogs) DescribeMetricFiltersPages(input *DescribeMetricFilters const opDescribeSubscriptionFilters = "DescribeSubscriptionFilters" -// DescribeSubscriptionFiltersRequest generates a request for the DescribeSubscriptionFilters operation. +// DescribeSubscriptionFiltersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSubscriptionFilters operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeSubscriptionFilters for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeSubscriptionFilters method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeSubscriptionFiltersRequest method. +// req, resp := client.DescribeSubscriptionFiltersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchLogs) DescribeSubscriptionFiltersRequest(input *DescribeSubscriptionFiltersInput) (req *request.Request, output *DescribeSubscriptionFiltersOutput) { op := &request.Operation{ Name: opDescribeSubscriptionFilters, @@ -581,20 +1354,57 @@ func (c *CloudWatchLogs) DescribeSubscriptionFiltersRequest(input *DescribeSubsc return } +// DescribeSubscriptionFilters API operation for Amazon CloudWatch Logs. +// // Returns all the subscription filters associated with the specified log group. // The list returned in the response is ASCII-sorted by filter name. // -// By default, this operation returns up to 50 subscription filters. If there +// By default, this operation returns up to 50 subscription filters. If there // are more subscription filters to list, the response would contain a nextToken // value in the response body. You can also limit the number of subscription // filters returned in the response by specifying the limit parameter in the // request. +// +// 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 CloudWatch Logs's +// API operation DescribeSubscriptionFilters for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterException +// Returned if a parameter of the request is incorrectly specified. +// +// * ResourceNotFoundException +// Returned if the specified resource does not exist. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *CloudWatchLogs) DescribeSubscriptionFilters(input *DescribeSubscriptionFiltersInput) (*DescribeSubscriptionFiltersOutput, error) { req, out := c.DescribeSubscriptionFiltersRequest(input) err := req.Send() return out, err } +// DescribeSubscriptionFiltersPages iterates over the pages of a DescribeSubscriptionFilters operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeSubscriptionFilters 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 DescribeSubscriptionFilters operation. +// pageNum := 0 +// err := client.DescribeSubscriptionFiltersPages(params, +// func(page *DescribeSubscriptionFiltersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *CloudWatchLogs) DescribeSubscriptionFiltersPages(input *DescribeSubscriptionFiltersInput, fn func(p *DescribeSubscriptionFiltersOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeSubscriptionFiltersRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -605,7 +1415,30 @@ func (c *CloudWatchLogs) DescribeSubscriptionFiltersPages(input *DescribeSubscri const opFilterLogEvents = "FilterLogEvents" -// FilterLogEventsRequest generates a request for the FilterLogEvents operation. +// FilterLogEventsRequest generates a "aws/request.Request" representing the +// client's request for the FilterLogEvents operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See FilterLogEvents for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the FilterLogEvents method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the FilterLogEventsRequest method. +// req, resp := client.FilterLogEventsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchLogs) FilterLogEventsRequest(input *FilterLogEventsInput) (req *request.Request, output *FilterLogEventsOutput) { op := &request.Operation{ Name: opFilterLogEvents, @@ -629,26 +1462,63 @@ func (c *CloudWatchLogs) FilterLogEventsRequest(input *FilterLogEventsInput) (re return } +// FilterLogEvents API operation for Amazon CloudWatch Logs. +// // Retrieves log events, optionally filtered by a filter pattern from the specified // log group. You can provide an optional time range to filter the results on // the event timestamp. You can limit the streams searched to an explicit list // of logStreamNames. // -// By default, this operation returns as much matching log events as can fit +// By default, this operation returns as much matching log events as can fit // in a response size of 1MB, up to 10,000 log events, or all the events found // within a time-bounded scan window. If the response includes a nextToken, // then there is more data to search, and the search can be resumed with a new // request providing the nextToken. The response will contain a list of searchedLogStreams // that contains information about which streams were searched in the request // and whether they have been searched completely or require further pagination. -// The limit parameter in the request. can be used to specify the maximum number +// The limit parameter in the request can be used to specify the maximum number // of events to return in a page. +// +// 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 CloudWatch Logs's +// API operation FilterLogEvents for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterException +// Returned if a parameter of the request is incorrectly specified. +// +// * ResourceNotFoundException +// Returned if the specified resource does not exist. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *CloudWatchLogs) FilterLogEvents(input *FilterLogEventsInput) (*FilterLogEventsOutput, error) { req, out := c.FilterLogEventsRequest(input) err := req.Send() return out, err } +// FilterLogEventsPages iterates over the pages of a FilterLogEvents operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See FilterLogEvents 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 FilterLogEvents operation. +// pageNum := 0 +// err := client.FilterLogEventsPages(params, +// func(page *FilterLogEventsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *CloudWatchLogs) FilterLogEventsPages(input *FilterLogEventsInput, fn func(p *FilterLogEventsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.FilterLogEventsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -659,7 +1529,30 @@ func (c *CloudWatchLogs) FilterLogEventsPages(input *FilterLogEventsInput, fn fu const opGetLogEvents = "GetLogEvents" -// GetLogEventsRequest generates a request for the GetLogEvents operation. +// GetLogEventsRequest generates a "aws/request.Request" representing the +// client's request for the GetLogEvents operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetLogEvents for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetLogEvents method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetLogEventsRequest method. +// req, resp := client.GetLogEventsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchLogs) GetLogEventsRequest(input *GetLogEventsInput) (req *request.Request, output *GetLogEventsOutput) { op := &request.Operation{ Name: opGetLogEvents, @@ -683,22 +1576,59 @@ func (c *CloudWatchLogs) GetLogEventsRequest(input *GetLogEventsInput) (req *req return } +// GetLogEvents API operation for Amazon CloudWatch Logs. +// // Retrieves log events from the specified log stream. You can provide an optional // time range to filter the results on the event timestamp. // -// By default, this operation returns as much log events as can fit in a response +// By default, this operation returns as much log events as can fit in a response // size of 1MB, up to 10,000 log events. The response will always include a // nextForwardToken and a nextBackwardToken in the response body. You can use // any of these tokens in subsequent GetLogEvents requests to paginate through // events in either forward or backward direction. You can also limit the number // of log events returned in the response by specifying the limit parameter // in the request. +// +// 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 CloudWatch Logs's +// API operation GetLogEvents for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterException +// Returned if a parameter of the request is incorrectly specified. +// +// * ResourceNotFoundException +// Returned if the specified resource does not exist. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *CloudWatchLogs) GetLogEvents(input *GetLogEventsInput) (*GetLogEventsOutput, error) { req, out := c.GetLogEventsRequest(input) err := req.Send() return out, err } +// GetLogEventsPages iterates over the pages of a GetLogEvents operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetLogEvents 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 GetLogEvents operation. +// pageNum := 0 +// err := client.GetLogEventsPages(params, +// func(page *GetLogEventsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *CloudWatchLogs) GetLogEventsPages(input *GetLogEventsInput, fn func(p *GetLogEventsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.GetLogEventsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -709,7 +1639,30 @@ func (c *CloudWatchLogs) GetLogEventsPages(input *GetLogEventsInput, fn func(p * const opPutDestination = "PutDestination" -// PutDestinationRequest generates a request for the PutDestination operation. +// PutDestinationRequest generates a "aws/request.Request" representing the +// client's request for the PutDestination operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutDestination for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutDestination method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutDestinationRequest method. +// req, resp := client.PutDestinationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchLogs) PutDestinationRequest(input *PutDestinationInput) (req *request.Request, output *PutDestinationOutput) { op := &request.Operation{ Name: opPutDestination, @@ -727,17 +1680,37 @@ func (c *CloudWatchLogs) PutDestinationRequest(input *PutDestinationInput) (req return } +// PutDestination API operation for Amazon CloudWatch Logs. +// // Creates or updates a Destination. A destination encapsulates a physical resource // (such as a Kinesis stream) and allows you to subscribe to a real-time stream // of log events of a different account, ingested through PutLogEvents requests. // Currently, the only supported physical resource is a Amazon Kinesis stream // belonging to the same account as the destination. // -// A destination controls what is written to its Amazon Kinesis stream through +// A destination controls what is written to its Amazon Kinesis stream through // an access policy. By default, PutDestination does not set any access policy // with the destination, which means a cross-account user will not be able to // call PutSubscriptionFilter against this destination. To enable that, the // destination owner must call PutDestinationPolicy after PutDestination. +// +// 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 CloudWatch Logs's +// API operation PutDestination for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterException +// Returned if a parameter of the request is incorrectly specified. +// +// * OperationAbortedException +// Returned if multiple requests to update the same resource were in conflict. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *CloudWatchLogs) PutDestination(input *PutDestinationInput) (*PutDestinationOutput, error) { req, out := c.PutDestinationRequest(input) err := req.Send() @@ -746,7 +1719,30 @@ func (c *CloudWatchLogs) PutDestination(input *PutDestinationInput) (*PutDestina const opPutDestinationPolicy = "PutDestinationPolicy" -// PutDestinationPolicyRequest generates a request for the PutDestinationPolicy operation. +// PutDestinationPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutDestinationPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutDestinationPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutDestinationPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutDestinationPolicyRequest method. +// req, resp := client.PutDestinationPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchLogs) PutDestinationPolicyRequest(input *PutDestinationPolicyInput) (req *request.Request, output *PutDestinationPolicyOutput) { op := &request.Operation{ Name: opPutDestinationPolicy, @@ -766,10 +1762,30 @@ func (c *CloudWatchLogs) PutDestinationPolicyRequest(input *PutDestinationPolicy return } +// PutDestinationPolicy API operation for Amazon CloudWatch Logs. +// // Creates or updates an access policy associated with an existing Destination. // An access policy is an IAM policy document (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies_overview.html) // that is used to authorize claims to register a subscription filter against // a given destination. +// +// 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 CloudWatch Logs's +// API operation PutDestinationPolicy for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterException +// Returned if a parameter of the request is incorrectly specified. +// +// * OperationAbortedException +// Returned if multiple requests to update the same resource were in conflict. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *CloudWatchLogs) PutDestinationPolicy(input *PutDestinationPolicyInput) (*PutDestinationPolicyOutput, error) { req, out := c.PutDestinationPolicyRequest(input) err := req.Send() @@ -778,7 +1794,30 @@ func (c *CloudWatchLogs) PutDestinationPolicy(input *PutDestinationPolicyInput) const opPutLogEvents = "PutLogEvents" -// PutLogEventsRequest generates a request for the PutLogEvents operation. +// PutLogEventsRequest generates a "aws/request.Request" representing the +// client's request for the PutLogEvents operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutLogEvents for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutLogEvents method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutLogEventsRequest method. +// req, resp := client.PutLogEventsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchLogs) PutLogEventsRequest(input *PutLogEventsInput) (req *request.Request, output *PutLogEventsOutput) { op := &request.Operation{ Name: opPutLogEvents, @@ -796,21 +1835,56 @@ func (c *CloudWatchLogs) PutLogEventsRequest(input *PutLogEventsInput) (req *req return } +// PutLogEvents API operation for Amazon CloudWatch Logs. +// // Uploads a batch of log events to the specified log stream. // -// Every PutLogEvents request must include the sequenceToken obtained from +// Every PutLogEvents request must include the sequenceToken obtained from // the response of the previous request. An upload in a newly created log stream -// does not require a sequenceToken. -// -// The batch of events must satisfy the following constraints: The maximum -// batch size is 1,048,576 bytes, and this size is calculated as the sum of -// all event messages in UTF-8, plus 26 bytes for each log event. None of the -// log events in the batch can be more than 2 hours in the future. None of the -// log events in the batch can be older than 14 days or the retention period -// of the log group. The log events in the batch must be in chronological ordered -// by their timestamp. The maximum number of log events in a batch is 10,000. -// A batch of log events in a single PutLogEvents request cannot span more than -// 24 hours. Otherwise, the PutLogEvents operation will fail. +// does not require a sequenceToken. You can also get the sequenceToken using +// DescribeLogStreams. +// +// The batch of events must satisfy the following constraints: +// +// The maximum batch size is 1,048,576 bytes, and this size is calculated +// as the sum of all event messages in UTF-8, plus 26 bytes for each log event. +// +// None of the log events in the batch can be more than 2 hours in the future. +// +// None of the log events in the batch can be older than 14 days or the retention +// period of the log group. +// +// The log events in the batch must be in chronological ordered by their +// timestamp. +// +// The maximum number of log events in a batch is 10,000. +// +// A batch of log events in a single PutLogEvents request cannot span more +// than 24 hours. Otherwise, the PutLogEvents operation will fail. +// +// 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 CloudWatch Logs's +// API operation PutLogEvents for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterException +// Returned if a parameter of the request is incorrectly specified. +// +// * InvalidSequenceTokenException + +// +// * DataAlreadyAcceptedException + +// +// * ResourceNotFoundException +// Returned if the specified resource does not exist. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *CloudWatchLogs) PutLogEvents(input *PutLogEventsInput) (*PutLogEventsOutput, error) { req, out := c.PutLogEventsRequest(input) err := req.Send() @@ -819,7 +1893,30 @@ func (c *CloudWatchLogs) PutLogEvents(input *PutLogEventsInput) (*PutLogEventsOu const opPutMetricFilter = "PutMetricFilter" -// PutMetricFilterRequest generates a request for the PutMetricFilter operation. +// PutMetricFilterRequest generates a "aws/request.Request" representing the +// client's request for the PutMetricFilter operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutMetricFilter for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutMetricFilter method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutMetricFilterRequest method. +// req, resp := client.PutMetricFilterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchLogs) PutMetricFilterRequest(input *PutMetricFilterInput) (req *request.Request, output *PutMetricFilterOutput) { op := &request.Operation{ Name: opPutMetricFilter, @@ -839,12 +1936,39 @@ func (c *CloudWatchLogs) PutMetricFilterRequest(input *PutMetricFilterInput) (re return } +// PutMetricFilter API operation for Amazon CloudWatch Logs. +// // Creates or updates a metric filter and associates it with the specified log // group. Metric filters allow you to configure rules to extract metric data // from log events ingested through PutLogEvents requests. // -// The maximum number of metric filters that can be associated with a log -// group is 100. +// The maximum number of metric filters that can be associated with a log group +// is 100. +// +// 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 CloudWatch Logs's +// API operation PutMetricFilter for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterException +// Returned if a parameter of the request is incorrectly specified. +// +// * ResourceNotFoundException +// Returned if the specified resource does not exist. +// +// * OperationAbortedException +// Returned if multiple requests to update the same resource were in conflict. +// +// * LimitExceededException +// Returned if you have reached the maximum number of resources that can be +// created. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *CloudWatchLogs) PutMetricFilter(input *PutMetricFilterInput) (*PutMetricFilterOutput, error) { req, out := c.PutMetricFilterRequest(input) err := req.Send() @@ -853,7 +1977,30 @@ func (c *CloudWatchLogs) PutMetricFilter(input *PutMetricFilterInput) (*PutMetri const opPutRetentionPolicy = "PutRetentionPolicy" -// PutRetentionPolicyRequest generates a request for the PutRetentionPolicy operation. +// PutRetentionPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutRetentionPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutRetentionPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutRetentionPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutRetentionPolicyRequest method. +// req, resp := client.PutRetentionPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchLogs) PutRetentionPolicyRequest(input *PutRetentionPolicyInput) (req *request.Request, output *PutRetentionPolicyOutput) { op := &request.Operation{ Name: opPutRetentionPolicy, @@ -873,9 +2020,32 @@ func (c *CloudWatchLogs) PutRetentionPolicyRequest(input *PutRetentionPolicyInpu return } +// PutRetentionPolicy API operation for Amazon CloudWatch Logs. +// // Sets the retention of the specified log group. A retention policy allows // you to configure the number of days you want to retain log events in the // specified log group. +// +// 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 CloudWatch Logs's +// API operation PutRetentionPolicy for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterException +// Returned if a parameter of the request is incorrectly specified. +// +// * ResourceNotFoundException +// Returned if the specified resource does not exist. +// +// * OperationAbortedException +// Returned if multiple requests to update the same resource were in conflict. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *CloudWatchLogs) PutRetentionPolicy(input *PutRetentionPolicyInput) (*PutRetentionPolicyOutput, error) { req, out := c.PutRetentionPolicyRequest(input) err := req.Send() @@ -884,7 +2054,30 @@ func (c *CloudWatchLogs) PutRetentionPolicy(input *PutRetentionPolicyInput) (*Pu const opPutSubscriptionFilter = "PutSubscriptionFilter" -// PutSubscriptionFilterRequest generates a request for the PutSubscriptionFilter operation. +// PutSubscriptionFilterRequest generates a "aws/request.Request" representing the +// client's request for the PutSubscriptionFilter operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutSubscriptionFilter for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutSubscriptionFilter method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutSubscriptionFilterRequest method. +// req, resp := client.PutSubscriptionFilterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchLogs) PutSubscriptionFilterRequest(input *PutSubscriptionFilterInput) (req *request.Request, output *PutSubscriptionFilterOutput) { op := &request.Operation{ Name: opPutSubscriptionFilter, @@ -904,20 +2097,52 @@ func (c *CloudWatchLogs) PutSubscriptionFilterRequest(input *PutSubscriptionFilt return } +// PutSubscriptionFilter API operation for Amazon CloudWatch Logs. +// // Creates or updates a subscription filter and associates it with the specified // log group. Subscription filters allow you to subscribe to a real-time stream // of log events ingested through PutLogEvents requests and have them delivered -// to a specific destination. Currently, the supported destinations are: An -// Amazon Kinesis stream belonging to the same account as the subscription filter, -// for same-account delivery. A logical destination (used via an ARN of Destination) -// belonging to a different account, for cross-account delivery. An Amazon -// Kinesis Firehose stream belonging to the same account as the subscription -// filter, for same-account delivery. An AWS Lambda function belonging to -// the same account as the subscription filter, for same-account delivery. +// to a specific destination. Currently, the supported destinations are: +// +// An Amazon Kinesis stream belonging to the same account as the subscription +// filter, for same-account delivery. +// +// A logical destination (used via an ARN of Destination) belonging to a +// different account, for cross-account delivery. +// +// An Amazon Kinesis Firehose stream belonging to the same account as the +// subscription filter, for same-account delivery. +// +// An AWS Lambda function belonging to the same account as the subscription +// filter, for same-account delivery. +// +// Currently there can only be one subscription filter associated with a +// log group. +// +// 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 CloudWatch Logs's +// API operation PutSubscriptionFilter for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterException +// Returned if a parameter of the request is incorrectly specified. +// +// * ResourceNotFoundException +// Returned if the specified resource does not exist. +// +// * OperationAbortedException +// Returned if multiple requests to update the same resource were in conflict. +// +// * LimitExceededException +// Returned if you have reached the maximum number of resources that can be +// created. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. // -// Currently there can only be one subscription filter associated with a log -// group. func (c *CloudWatchLogs) PutSubscriptionFilter(input *PutSubscriptionFilterInput) (*PutSubscriptionFilterOutput, error) { req, out := c.PutSubscriptionFilterRequest(input) err := req.Send() @@ -926,7 +2151,30 @@ func (c *CloudWatchLogs) PutSubscriptionFilter(input *PutSubscriptionFilterInput const opTestMetricFilter = "TestMetricFilter" -// TestMetricFilterRequest generates a request for the TestMetricFilter operation. +// TestMetricFilterRequest generates a "aws/request.Request" representing the +// client's request for the TestMetricFilter operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See TestMetricFilter for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the TestMetricFilter method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the TestMetricFilterRequest method. +// req, resp := client.TestMetricFilterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CloudWatchLogs) TestMetricFilterRequest(input *TestMetricFilterInput) (req *request.Request, output *TestMetricFilterOutput) { op := &request.Operation{ Name: opTestMetricFilter, @@ -944,9 +2192,26 @@ func (c *CloudWatchLogs) TestMetricFilterRequest(input *TestMetricFilterInput) ( return } +// TestMetricFilter API operation for Amazon CloudWatch Logs. +// // Tests the filter pattern of a metric filter against a sample of log event // messages. You can use this operation to validate the correctness of a metric // filter pattern. +// +// 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 CloudWatch Logs's +// API operation TestMetricFilter for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterException +// Returned if a parameter of the request is incorrectly specified. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *CloudWatchLogs) TestMetricFilter(input *TestMetricFilterInput) (*TestMetricFilterOutput, error) { req, out := c.TestMetricFilterRequest(input) err := req.Send() @@ -957,6 +2222,8 @@ type CancelExportTaskInput struct { _ struct{} `type:"structure"` // Id of the export task to cancel. + // + // TaskId is a required field TaskId *string `locationName:"taskId" min:"1" type:"string" required:"true"` } @@ -1005,7 +2272,9 @@ type CreateExportTaskInput struct { // Name of Amazon S3 bucket to which the log data will be exported. // - // Note: Only buckets in the same AWS region are supported. + // Note: Only buckets in the same AWS region are supported. + // + // Destination is a required field Destination *string `locationName:"destination" min:"1" type:"string" required:"true"` // Prefix that will be used as the start of Amazon S3 key for every object exported. @@ -1015,9 +2284,13 @@ type CreateExportTaskInput struct { // A point in time expressed as the number of milliseconds since Jan 1, 1970 // 00:00:00 UTC. It indicates the start time of the range for the request. Events // with a timestamp prior to this time will not be exported. + // + // From is a required field From *int64 `locationName:"from" type:"long" required:"true"` // The name of the log group to export. + // + // LogGroupName is a required field LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"` // Will only export log streams that match the provided logStreamNamePrefix. @@ -1030,6 +2303,8 @@ type CreateExportTaskInput struct { // A point in time expressed as the number of milliseconds since Jan 1, 1970 // 00:00:00 UTC. It indicates the end time of the range for the request. Events // with a timestamp later than this time will not be exported. + // + // To is a required field To *int64 `locationName:"to" type:"long" required:"true"` } @@ -1098,6 +2373,8 @@ type CreateLogGroupInput struct { _ struct{} `type:"structure"` // The name of the log group to create. + // + // LogGroupName is a required field LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"` } @@ -1145,9 +2422,13 @@ type CreateLogStreamInput struct { _ struct{} `type:"structure"` // The name of the log group under which the log stream is to be created. + // + // LogGroupName is a required field LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"` // The name of the log stream to create. + // + // LogStreamName is a required field LogStreamName *string `locationName:"logStreamName" min:"1" type:"string" required:"true"` } @@ -1201,6 +2482,8 @@ type DeleteDestinationInput struct { _ struct{} `type:"structure"` // The name of destination to delete. + // + // DestinationName is a required field DestinationName *string `locationName:"destinationName" min:"1" type:"string" required:"true"` } @@ -1248,6 +2531,8 @@ type DeleteLogGroupInput struct { _ struct{} `type:"structure"` // The name of the log group to delete. + // + // LogGroupName is a required field LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"` } @@ -1295,9 +2580,13 @@ type DeleteLogStreamInput struct { _ struct{} `type:"structure"` // The name of the log group under which the log stream to delete belongs. + // + // LogGroupName is a required field LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"` // The name of the log stream to delete. + // + // LogStreamName is a required field LogStreamName *string `locationName:"logStreamName" min:"1" type:"string" required:"true"` } @@ -1351,9 +2640,13 @@ type DeleteMetricFilterInput struct { _ struct{} `type:"structure"` // The name of the metric filter to delete. + // + // FilterName is a required field FilterName *string `locationName:"filterName" min:"1" type:"string" required:"true"` // The name of the log group that is associated with the metric filter to delete. + // + // LogGroupName is a required field LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"` } @@ -1408,6 +2701,8 @@ type DeleteRetentionPolicyInput struct { // The name of the log group that is associated with the retention policy to // delete. + // + // LogGroupName is a required field LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"` } @@ -1455,10 +2750,14 @@ type DeleteSubscriptionFilterInput struct { _ struct{} `type:"structure"` // The name of the subscription filter to delete. + // + // FilterName is a required field FilterName *string `locationName:"filterName" min:"1" type:"string" required:"true"` // The name of the log group that is associated with the subscription filter // to delete. + // + // LogGroupName is a required field LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"` } @@ -1726,6 +3025,8 @@ type DescribeLogStreamsInput struct { Limit *int64 `locationName:"limit" min:"1" type:"integer"` // The log group name for which log streams are to be listed. + // + // LogGroupName is a required field LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"` // Will only return log streams that match the provided logStreamNamePrefix. @@ -1813,6 +3114,8 @@ type DescribeMetricFiltersInput struct { Limit *int64 `locationName:"limit" min:"1" type:"integer"` // The log group name for which metric filters are to be listed. + // + // LogGroupName is a required field LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"` // A string token used for pagination that points to the next page of results. @@ -1888,6 +3191,8 @@ type DescribeSubscriptionFiltersInput struct { Limit *int64 `locationName:"limit" min:"1" type:"integer"` // The log group name for which subscription filters are to be listed. + // + // LogGroupName is a required field LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"` // A string token used for pagination that points to the next page of results. @@ -2097,6 +3402,8 @@ type FilterLogEventsInput struct { Limit *int64 `locationName:"limit" min:"1" type:"integer"` // The name of the log group to query. + // + // LogGroupName is a required field LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"` // Optional list of log stream names within the specified log group to search. @@ -2222,9 +3529,13 @@ type GetLogEventsInput struct { Limit *int64 `locationName:"limit" min:"1" type:"integer"` // The name of the log group to query. + // + // LogGroupName is a required field LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"` // The name of the log stream to query. + // + // LogStreamName is a required field LogStreamName *string `locationName:"logStreamName" min:"1" type:"string" required:"true"` // A string token used for pagination that points to the next page of results. @@ -2312,10 +3623,13 @@ func (s GetLogEventsOutput) GoString() string { type InputLogEvent struct { _ struct{} `type:"structure"` + // Message is a required field Message *string `locationName:"message" min:"1" type:"string" required:"true"` // A point in time expressed as the number of milliseconds since Jan 1, 1970 // 00:00:00 UTC. + // + // Timestamp is a required field Timestamp *int64 `locationName:"timestamp" type:"long" required:"true"` } @@ -2477,17 +3791,24 @@ func (s MetricFilterMatchRecord) GoString() string { type MetricTransformation struct { _ struct{} `type:"structure"` - // The name of the CloudWatch metric to which the monitored log information - // should be published. For example, you may publish to a metric called ErrorCount. + // (Optional) A default value to emit when a filter pattern does not match a + // log event. Can be null. + DefaultValue *float64 `locationName:"defaultValue" type:"double"` + + // Name of the metric. + // + // MetricName is a required field MetricName *string `locationName:"metricName" type:"string" required:"true"` - // The destination namespace of the new CloudWatch metric. + // Namespace to which the metric belongs. + // + // MetricNamespace is a required field MetricNamespace *string `locationName:"metricNamespace" type:"string" required:"true"` - // What to publish to the metric. For example, if you're counting the occurrences - // of a particular term like "Error", the value will be "1" for each occurrence. - // If you're counting the bytes transferred the published value will be the - // value in the log event. + // A string representing a value to publish to this metric when a filter pattern + // matches a log event. + // + // MetricValue is a required field MetricValue *string `locationName:"metricValue" type:"string" required:"true"` } @@ -2548,13 +3869,19 @@ type PutDestinationInput struct { _ struct{} `type:"structure"` // A name for the destination. + // + // DestinationName is a required field DestinationName *string `locationName:"destinationName" min:"1" type:"string" required:"true"` // The ARN of an IAM role that grants CloudWatch Logs permissions to do Amazon - // Kinesis PutRecord requests on the desitnation stream. + // Kinesis PutRecord requests on the destination stream. + // + // RoleArn is a required field RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"` // The ARN of an Amazon Kinesis stream to deliver matching log events to. + // + // TargetArn is a required field TargetArn *string `locationName:"targetArn" min:"1" type:"string" required:"true"` } @@ -2618,9 +3945,13 @@ type PutDestinationPolicyInput struct { // An IAM policy document that authorizes cross-account users to deliver their // log events to associated destination. + // + // AccessPolicy is a required field AccessPolicy *string `locationName:"accessPolicy" min:"1" type:"string" required:"true"` // A name for an existing destination. + // + // DestinationName is a required field DestinationName *string `locationName:"destinationName" min:"1" type:"string" required:"true"` } @@ -2674,12 +4005,18 @@ type PutLogEventsInput struct { _ struct{} `type:"structure"` // A list of log events belonging to a log stream. + // + // LogEvents is a required field LogEvents []*InputLogEvent `locationName:"logEvents" min:"1" type:"list" required:"true"` // The name of the log group to put log events to. + // + // LogGroupName is a required field LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"` // The name of the log stream to put log events to. + // + // LogStreamName is a required field LogStreamName *string `locationName:"logStreamName" min:"1" type:"string" required:"true"` // A string token that must be obtained from the response of the previous PutLogEvents @@ -2763,16 +4100,24 @@ type PutMetricFilterInput struct { _ struct{} `type:"structure"` // A name for the metric filter. + // + // FilterName is a required field FilterName *string `locationName:"filterName" min:"1" type:"string" required:"true"` // A valid CloudWatch Logs filter pattern for extracting metric data out of // ingested log events. + // + // FilterPattern is a required field FilterPattern *string `locationName:"filterPattern" type:"string" required:"true"` // The name of the log group to associate the metric filter with. + // + // LogGroupName is a required field LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"` // A collection of information needed to define how metric data gets emitted. + // + // MetricTransformations is a required field MetricTransformations []*MetricTransformation `locationName:"metricTransformations" min:"1" type:"list" required:"true"` } @@ -2845,11 +4190,15 @@ type PutRetentionPolicyInput struct { _ struct{} `type:"structure"` // The name of the log group to associate the retention policy with. + // + // LogGroupName is a required field LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"` // Specifies the number of days you want to retain log events in the specified // log group. Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, // 365, 400, 545, 731, 1827, 3653. + // + // RetentionInDays is a required field RetentionInDays *int64 `locationName:"retentionInDays" type:"integer" required:"true"` } @@ -2900,23 +4249,37 @@ type PutSubscriptionFilterInput struct { _ struct{} `type:"structure"` // The ARN of the destination to deliver matching log events to. Currently, - // the supported destinations are: An Amazon Kinesis stream belonging to the - // same account as the subscription filter, for same-account delivery. A logical - // destination (used via an ARN of Destination) belonging to a different account, - // for cross-account delivery. An Amazon Kinesis Firehose stream belonging - // to the same account as the subscription filter, for same-account delivery. + // the supported destinations are: + // + // An Amazon Kinesis stream belonging to the same account as the subscription + // filter, for same-account delivery. + // + // A logical destination (used via an ARN of Destination) belonging to a + // different account, for cross-account delivery. + // + // An Amazon Kinesis Firehose stream belonging to the same account as the + // subscription filter, for same-account delivery. + // // An AWS Lambda function belonging to the same account as the subscription // filter, for same-account delivery. + // + // DestinationArn is a required field DestinationArn *string `locationName:"destinationArn" min:"1" type:"string" required:"true"` // A name for the subscription filter. + // + // FilterName is a required field FilterName *string `locationName:"filterName" min:"1" type:"string" required:"true"` // A valid CloudWatch Logs filter pattern for subscribing to a filtered stream // of log events. + // + // FilterPattern is a required field FilterPattern *string `locationName:"filterPattern" type:"string" required:"true"` // The name of the log group to associate the subscription filter with. + // + // LogGroupName is a required field LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"` // The ARN of an IAM role that grants CloudWatch Logs permissions to deliver @@ -3067,9 +4430,13 @@ type TestMetricFilterInput struct { // each log event. For example, a log event may contain timestamps, IP addresses, // strings, and so on. You use the filter pattern to specify what to look for // in the log event message. + // + // FilterPattern is a required field FilterPattern *string `locationName:"filterPattern" type:"string" required:"true"` // A list of log event messages to test. + // + // LogEventMessages is a required field LogEventMessages []*string `locationName:"logEventMessages" min:"1" type:"list" required:"true"` } @@ -3119,23 +4486,29 @@ func (s TestMetricFilterOutput) GoString() string { } const ( - // @enum ExportTaskStatusCode + // ExportTaskStatusCodeCancelled is a ExportTaskStatusCode enum value ExportTaskStatusCodeCancelled = "CANCELLED" - // @enum ExportTaskStatusCode + + // ExportTaskStatusCodeCompleted is a ExportTaskStatusCode enum value ExportTaskStatusCodeCompleted = "COMPLETED" - // @enum ExportTaskStatusCode + + // ExportTaskStatusCodeFailed is a ExportTaskStatusCode enum value ExportTaskStatusCodeFailed = "FAILED" - // @enum ExportTaskStatusCode + + // ExportTaskStatusCodePending is a ExportTaskStatusCode enum value ExportTaskStatusCodePending = "PENDING" - // @enum ExportTaskStatusCode + + // ExportTaskStatusCodePendingCancel is a ExportTaskStatusCode enum value ExportTaskStatusCodePendingCancel = "PENDING_CANCEL" - // @enum ExportTaskStatusCode + + // ExportTaskStatusCodeRunning is a ExportTaskStatusCode enum value ExportTaskStatusCodeRunning = "RUNNING" ) const ( - // @enum OrderBy + // OrderByLogStreamName is a OrderBy enum value OrderByLogStreamName = "LogStreamName" - // @enum OrderBy + + // OrderByLastEventTime is a OrderBy enum value OrderByLastEventTime = "LastEventTime" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/codecommit/api.go b/vendor/github.com/aws/aws-sdk-go/service/codecommit/api.go index 88d3a006c6bf..504b5addbb86 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codecommit/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codecommit/api.go @@ -14,7 +14,30 @@ import ( const opBatchGetRepositories = "BatchGetRepositories" -// BatchGetRepositoriesRequest generates a request for the BatchGetRepositories operation. +// BatchGetRepositoriesRequest generates a "aws/request.Request" representing the +// client's request for the BatchGetRepositories operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See BatchGetRepositories for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the BatchGetRepositories method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the BatchGetRepositoriesRequest method. +// req, resp := client.BatchGetRepositoriesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeCommit) BatchGetRepositoriesRequest(input *BatchGetRepositoriesInput) (req *request.Request, output *BatchGetRepositoriesOutput) { op := &request.Operation{ Name: opBatchGetRepositories, @@ -32,6 +55,8 @@ func (c *CodeCommit) BatchGetRepositoriesRequest(input *BatchGetRepositoriesInpu return } +// BatchGetRepositories API operation for AWS CodeCommit. +// // Returns information about one or more repositories. // // The description field for a repository accepts all HTML characters and all @@ -39,6 +64,44 @@ func (c *CodeCommit) BatchGetRepositoriesRequest(input *BatchGetRepositoriesInpu // and display it in a web page could expose users to potentially malicious // code. Make sure that you HTML-encode the description field in any application // that uses this API to display the repository description on a web page. +// +// 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 CodeCommit's +// API operation BatchGetRepositories for usage and error information. +// +// Returned Error Codes: +// * RepositoryNamesRequiredException +// A repository names object is required but was not specified. +// +// * MaximumRepositoryNamesExceededException +// The maximum number of allowed repository names was exceeded. Currently, this +// number is 25. +// +// * InvalidRepositoryNameException +// At least one specified repository name is not valid. +// +// This exception only occurs when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// * EncryptionIntegrityChecksFailedException +// An encryption integrity check failed. +// +// * EncryptionKeyAccessDeniedException +// An encryption key could not be accessed. +// +// * EncryptionKeyDisabledException +// The encryption key is disabled. +// +// * EncryptionKeyNotFoundException +// No encryption key was found. +// +// * EncryptionKeyUnavailableException +// The encryption key is not available. +// func (c *CodeCommit) BatchGetRepositories(input *BatchGetRepositoriesInput) (*BatchGetRepositoriesOutput, error) { req, out := c.BatchGetRepositoriesRequest(input) err := req.Send() @@ -47,7 +110,30 @@ func (c *CodeCommit) BatchGetRepositories(input *BatchGetRepositoriesInput) (*Ba const opCreateBranch = "CreateBranch" -// CreateBranchRequest generates a request for the CreateBranch operation. +// CreateBranchRequest generates a "aws/request.Request" representing the +// client's request for the CreateBranch operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateBranch for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateBranch method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateBranchRequest method. +// req, resp := client.CreateBranchRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeCommit) CreateBranchRequest(input *CreateBranchInput) (req *request.Request, output *CreateBranchOutput) { op := &request.Operation{ Name: opCreateBranch, @@ -67,10 +153,68 @@ func (c *CodeCommit) CreateBranchRequest(input *CreateBranchInput) (req *request return } +// CreateBranch API operation for AWS CodeCommit. +// // Creates a new branch in a repository and points the branch to a commit. // // Calling the create branch operation does not set a repository's default // branch. To do this, call the update default branch operation. +// +// 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 CodeCommit's +// API operation CreateBranch for usage and error information. +// +// Returned Error Codes: +// * RepositoryNameRequiredException +// A repository name is required but was not specified. +// +// * InvalidRepositoryNameException +// At least one specified repository name is not valid. +// +// This exception only occurs when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// * RepositoryDoesNotExistException +// The specified repository does not exist. +// +// * BranchNameRequiredException +// A branch name is required but was not specified. +// +// * BranchNameExistsException +// The specified branch name already exists. +// +// * InvalidBranchNameException +// The specified branch name is not valid. +// +// * CommitIdRequiredException +// A commit ID was not specified. +// +// * CommitDoesNotExistException +// The specified commit does not exist or no commit was specified, and the specified +// repository has no default branch. +// +// * InvalidCommitIdException +// The specified commit ID is not valid. +// +// * EncryptionIntegrityChecksFailedException +// An encryption integrity check failed. +// +// * EncryptionKeyAccessDeniedException +// An encryption key could not be accessed. +// +// * EncryptionKeyDisabledException +// The encryption key is disabled. +// +// * EncryptionKeyNotFoundException +// No encryption key was found. +// +// * EncryptionKeyUnavailableException +// The encryption key is not available. +// func (c *CodeCommit) CreateBranch(input *CreateBranchInput) (*CreateBranchOutput, error) { req, out := c.CreateBranchRequest(input) err := req.Send() @@ -79,7 +223,30 @@ func (c *CodeCommit) CreateBranch(input *CreateBranchInput) (*CreateBranchOutput const opCreateRepository = "CreateRepository" -// CreateRepositoryRequest generates a request for the CreateRepository operation. +// CreateRepositoryRequest generates a "aws/request.Request" representing the +// client's request for the CreateRepository operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateRepository for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateRepository method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateRepositoryRequest method. +// req, resp := client.CreateRepositoryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeCommit) CreateRepositoryRequest(input *CreateRepositoryInput) (req *request.Request, output *CreateRepositoryOutput) { op := &request.Operation{ Name: opCreateRepository, @@ -97,7 +264,52 @@ func (c *CodeCommit) CreateRepositoryRequest(input *CreateRepositoryInput) (req return } +// CreateRepository API operation for AWS CodeCommit. +// // Creates a new, empty repository. +// +// 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 CodeCommit's +// API operation CreateRepository for usage and error information. +// +// Returned Error Codes: +// * RepositoryNameExistsException +// The specified repository name already exists. +// +// * RepositoryNameRequiredException +// A repository name is required but was not specified. +// +// * InvalidRepositoryNameException +// At least one specified repository name is not valid. +// +// This exception only occurs when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// * InvalidRepositoryDescriptionException +// The specified repository description is not valid. +// +// * RepositoryLimitExceededException +// A repository resource limit was exceeded. +// +// * EncryptionIntegrityChecksFailedException +// An encryption integrity check failed. +// +// * EncryptionKeyAccessDeniedException +// An encryption key could not be accessed. +// +// * EncryptionKeyDisabledException +// The encryption key is disabled. +// +// * EncryptionKeyNotFoundException +// No encryption key was found. +// +// * EncryptionKeyUnavailableException +// The encryption key is not available. +// func (c *CodeCommit) CreateRepository(input *CreateRepositoryInput) (*CreateRepositoryOutput, error) { req, out := c.CreateRepositoryRequest(input) err := req.Send() @@ -106,7 +318,30 @@ func (c *CodeCommit) CreateRepository(input *CreateRepositoryInput) (*CreateRepo const opDeleteRepository = "DeleteRepository" -// DeleteRepositoryRequest generates a request for the DeleteRepository operation. +// DeleteRepositoryRequest generates a "aws/request.Request" representing the +// client's request for the DeleteRepository operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteRepository for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteRepository method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteRepositoryRequest method. +// req, resp := client.DeleteRepositoryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeCommit) DeleteRepositoryRequest(input *DeleteRepositoryInput) (req *request.Request, output *DeleteRepositoryOutput) { op := &request.Operation{ Name: opDeleteRepository, @@ -124,12 +359,48 @@ func (c *CodeCommit) DeleteRepositoryRequest(input *DeleteRepositoryInput) (req return } +// DeleteRepository API operation for AWS CodeCommit. +// // Deletes a repository. If a specified repository was already deleted, a null // repository ID will be returned. // // Deleting a repository also deletes all associated objects and metadata. // After a repository is deleted, all future push calls to the deleted repository // will fail. +// +// 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 CodeCommit's +// API operation DeleteRepository for usage and error information. +// +// Returned Error Codes: +// * RepositoryNameRequiredException +// A repository name is required but was not specified. +// +// * InvalidRepositoryNameException +// At least one specified repository name is not valid. +// +// This exception only occurs when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// * EncryptionIntegrityChecksFailedException +// An encryption integrity check failed. +// +// * EncryptionKeyAccessDeniedException +// An encryption key could not be accessed. +// +// * EncryptionKeyDisabledException +// The encryption key is disabled. +// +// * EncryptionKeyNotFoundException +// No encryption key was found. +// +// * EncryptionKeyUnavailableException +// The encryption key is not available. +// func (c *CodeCommit) DeleteRepository(input *DeleteRepositoryInput) (*DeleteRepositoryOutput, error) { req, out := c.DeleteRepositoryRequest(input) err := req.Send() @@ -138,7 +409,30 @@ func (c *CodeCommit) DeleteRepository(input *DeleteRepositoryInput) (*DeleteRepo const opGetBranch = "GetBranch" -// GetBranchRequest generates a request for the GetBranch operation. +// GetBranchRequest generates a "aws/request.Request" representing the +// client's request for the GetBranch operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetBranch for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetBranch method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetBranchRequest method. +// req, resp := client.GetBranchRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeCommit) GetBranchRequest(input *GetBranchInput) (req *request.Request, output *GetBranchOutput) { op := &request.Operation{ Name: opGetBranch, @@ -156,8 +450,56 @@ func (c *CodeCommit) GetBranchRequest(input *GetBranchInput) (req *request.Reque return } +// GetBranch API operation for AWS CodeCommit. +// // Returns information about a repository branch, including its name and the // last commit 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 AWS CodeCommit's +// API operation GetBranch for usage and error information. +// +// Returned Error Codes: +// * RepositoryNameRequiredException +// A repository name is required but was not specified. +// +// * RepositoryDoesNotExistException +// The specified repository does not exist. +// +// * InvalidRepositoryNameException +// At least one specified repository name is not valid. +// +// This exception only occurs when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// * BranchNameRequiredException +// A branch name is required but was not specified. +// +// * InvalidBranchNameException +// The specified branch name is not valid. +// +// * BranchDoesNotExistException +// The specified branch does not exist. +// +// * EncryptionIntegrityChecksFailedException +// An encryption integrity check failed. +// +// * EncryptionKeyAccessDeniedException +// An encryption key could not be accessed. +// +// * EncryptionKeyDisabledException +// The encryption key is disabled. +// +// * EncryptionKeyNotFoundException +// No encryption key was found. +// +// * EncryptionKeyUnavailableException +// The encryption key is not available. +// func (c *CodeCommit) GetBranch(input *GetBranchInput) (*GetBranchOutput, error) { req, out := c.GetBranchRequest(input) err := req.Send() @@ -166,7 +508,30 @@ func (c *CodeCommit) GetBranch(input *GetBranchInput) (*GetBranchOutput, error) const opGetCommit = "GetCommit" -// GetCommitRequest generates a request for the GetCommit operation. +// GetCommitRequest generates a "aws/request.Request" representing the +// client's request for the GetCommit operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetCommit for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetCommit method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetCommitRequest method. +// req, resp := client.GetCommitRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeCommit) GetCommitRequest(input *GetCommitInput) (req *request.Request, output *GetCommitOutput) { op := &request.Operation{ Name: opGetCommit, @@ -184,8 +549,56 @@ func (c *CodeCommit) GetCommitRequest(input *GetCommitInput) (req *request.Reque return } +// GetCommit API operation for AWS CodeCommit. +// // Returns information about a commit, including commit message and committer // information. +// +// 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 CodeCommit's +// API operation GetCommit for usage and error information. +// +// Returned Error Codes: +// * RepositoryNameRequiredException +// A repository name is required but was not specified. +// +// * InvalidRepositoryNameException +// At least one specified repository name is not valid. +// +// This exception only occurs when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// * RepositoryDoesNotExistException +// The specified repository does not exist. +// +// * CommitIdRequiredException +// A commit ID was not specified. +// +// * InvalidCommitIdException +// The specified commit ID is not valid. +// +// * CommitIdDoesNotExistException +// The specified commit ID does not exist. +// +// * EncryptionIntegrityChecksFailedException +// An encryption integrity check failed. +// +// * EncryptionKeyAccessDeniedException +// An encryption key could not be accessed. +// +// * EncryptionKeyDisabledException +// The encryption key is disabled. +// +// * EncryptionKeyNotFoundException +// No encryption key was found. +// +// * EncryptionKeyUnavailableException +// The encryption key is not available. +// func (c *CodeCommit) GetCommit(input *GetCommitInput) (*GetCommitOutput, error) { req, out := c.GetCommitRequest(input) err := req.Send() @@ -194,7 +607,30 @@ func (c *CodeCommit) GetCommit(input *GetCommitInput) (*GetCommitOutput, error) const opGetRepository = "GetRepository" -// GetRepositoryRequest generates a request for the GetRepository operation. +// GetRepositoryRequest generates a "aws/request.Request" representing the +// client's request for the GetRepository operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetRepository for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetRepository method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetRepositoryRequest method. +// req, resp := client.GetRepositoryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeCommit) GetRepositoryRequest(input *GetRepositoryInput) (req *request.Request, output *GetRepositoryOutput) { op := &request.Operation{ Name: opGetRepository, @@ -212,6 +648,8 @@ func (c *CodeCommit) GetRepositoryRequest(input *GetRepositoryInput) (req *reque return } +// GetRepository API operation for AWS CodeCommit. +// // Returns information about a repository. // // The description field for a repository accepts all HTML characters and all @@ -219,6 +657,43 @@ func (c *CodeCommit) GetRepositoryRequest(input *GetRepositoryInput) (req *reque // and display it in a web page could expose users to potentially malicious // code. Make sure that you HTML-encode the description field in any application // that uses this API to display the repository description on a web page. +// +// 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 CodeCommit's +// API operation GetRepository for usage and error information. +// +// Returned Error Codes: +// * RepositoryNameRequiredException +// A repository name is required but was not specified. +// +// * RepositoryDoesNotExistException +// The specified repository does not exist. +// +// * InvalidRepositoryNameException +// At least one specified repository name is not valid. +// +// This exception only occurs when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// * EncryptionIntegrityChecksFailedException +// An encryption integrity check failed. +// +// * EncryptionKeyAccessDeniedException +// An encryption key could not be accessed. +// +// * EncryptionKeyDisabledException +// The encryption key is disabled. +// +// * EncryptionKeyNotFoundException +// No encryption key was found. +// +// * EncryptionKeyUnavailableException +// The encryption key is not available. +// func (c *CodeCommit) GetRepository(input *GetRepositoryInput) (*GetRepositoryOutput, error) { req, out := c.GetRepositoryRequest(input) err := req.Send() @@ -227,7 +702,30 @@ func (c *CodeCommit) GetRepository(input *GetRepositoryInput) (*GetRepositoryOut const opGetRepositoryTriggers = "GetRepositoryTriggers" -// GetRepositoryTriggersRequest generates a request for the GetRepositoryTriggers operation. +// GetRepositoryTriggersRequest generates a "aws/request.Request" representing the +// client's request for the GetRepositoryTriggers operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetRepositoryTriggers for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetRepositoryTriggers method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetRepositoryTriggersRequest method. +// req, resp := client.GetRepositoryTriggersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeCommit) GetRepositoryTriggersRequest(input *GetRepositoryTriggersInput) (req *request.Request, output *GetRepositoryTriggersOutput) { op := &request.Operation{ Name: opGetRepositoryTriggers, @@ -245,7 +743,46 @@ func (c *CodeCommit) GetRepositoryTriggersRequest(input *GetRepositoryTriggersIn return } +// GetRepositoryTriggers API operation for AWS CodeCommit. +// // Gets information about triggers configured for a repository. +// +// 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 CodeCommit's +// API operation GetRepositoryTriggers for usage and error information. +// +// Returned Error Codes: +// * RepositoryNameRequiredException +// A repository name is required but was not specified. +// +// * InvalidRepositoryNameException +// At least one specified repository name is not valid. +// +// This exception only occurs when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// * RepositoryDoesNotExistException +// The specified repository does not exist. +// +// * EncryptionIntegrityChecksFailedException +// An encryption integrity check failed. +// +// * EncryptionKeyAccessDeniedException +// An encryption key could not be accessed. +// +// * EncryptionKeyDisabledException +// The encryption key is disabled. +// +// * EncryptionKeyNotFoundException +// No encryption key was found. +// +// * EncryptionKeyUnavailableException +// The encryption key is not available. +// func (c *CodeCommit) GetRepositoryTriggers(input *GetRepositoryTriggersInput) (*GetRepositoryTriggersOutput, error) { req, out := c.GetRepositoryTriggersRequest(input) err := req.Send() @@ -254,7 +791,30 @@ func (c *CodeCommit) GetRepositoryTriggers(input *GetRepositoryTriggersInput) (* const opListBranches = "ListBranches" -// ListBranchesRequest generates a request for the ListBranches operation. +// ListBranchesRequest generates a "aws/request.Request" representing the +// client's request for the ListBranches operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListBranches for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListBranches method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListBranchesRequest method. +// req, resp := client.ListBranchesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeCommit) ListBranchesRequest(input *ListBranchesInput) (req *request.Request, output *ListBranchesOutput) { op := &request.Operation{ Name: opListBranches, @@ -278,13 +838,72 @@ func (c *CodeCommit) ListBranchesRequest(input *ListBranchesInput) (req *request return } +// ListBranches API operation for AWS CodeCommit. +// // Gets information about one or more branches in a repository. +// +// 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 CodeCommit's +// API operation ListBranches for usage and error information. +// +// Returned Error Codes: +// * RepositoryNameRequiredException +// A repository name is required but was not specified. +// +// * RepositoryDoesNotExistException +// The specified repository does not exist. +// +// * InvalidRepositoryNameException +// At least one specified repository name is not valid. +// +// This exception only occurs when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// * EncryptionIntegrityChecksFailedException +// An encryption integrity check failed. +// +// * EncryptionKeyAccessDeniedException +// An encryption key could not be accessed. +// +// * EncryptionKeyDisabledException +// The encryption key is disabled. +// +// * EncryptionKeyNotFoundException +// No encryption key was found. +// +// * EncryptionKeyUnavailableException +// The encryption key is not available. +// +// * InvalidContinuationTokenException +// The specified continuation token is not valid. +// func (c *CodeCommit) ListBranches(input *ListBranchesInput) (*ListBranchesOutput, error) { req, out := c.ListBranchesRequest(input) err := req.Send() return out, err } +// ListBranchesPages iterates over the pages of a ListBranches operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListBranches 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 ListBranches operation. +// pageNum := 0 +// err := client.ListBranchesPages(params, +// func(page *ListBranchesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *CodeCommit) ListBranchesPages(input *ListBranchesInput, fn func(p *ListBranchesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListBranchesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -295,7 +914,30 @@ func (c *CodeCommit) ListBranchesPages(input *ListBranchesInput, fn func(p *List const opListRepositories = "ListRepositories" -// ListRepositoriesRequest generates a request for the ListRepositories operation. +// ListRepositoriesRequest generates a "aws/request.Request" representing the +// client's request for the ListRepositories operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListRepositories for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListRepositories method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListRepositoriesRequest method. +// req, resp := client.ListRepositoriesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeCommit) ListRepositoriesRequest(input *ListRepositoriesInput) (req *request.Request, output *ListRepositoriesOutput) { op := &request.Operation{ Name: opListRepositories, @@ -319,13 +961,50 @@ func (c *CodeCommit) ListRepositoriesRequest(input *ListRepositoriesInput) (req return } +// ListRepositories API operation for AWS CodeCommit. +// // Gets information about one or more repositories. +// +// 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 CodeCommit's +// API operation ListRepositories for usage and error information. +// +// Returned Error Codes: +// * InvalidSortByException +// The specified sort by value is not valid. +// +// * InvalidOrderException +// The specified sort order is not valid. +// +// * InvalidContinuationTokenException +// The specified continuation token is not valid. +// func (c *CodeCommit) ListRepositories(input *ListRepositoriesInput) (*ListRepositoriesOutput, error) { req, out := c.ListRepositoriesRequest(input) err := req.Send() return out, err } +// ListRepositoriesPages iterates over the pages of a ListRepositories operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListRepositories 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 ListRepositories operation. +// pageNum := 0 +// err := client.ListRepositoriesPages(params, +// func(page *ListRepositoriesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *CodeCommit) ListRepositoriesPages(input *ListRepositoriesInput, fn func(p *ListRepositoriesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListRepositoriesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -336,7 +1015,30 @@ func (c *CodeCommit) ListRepositoriesPages(input *ListRepositoriesInput, fn func const opPutRepositoryTriggers = "PutRepositoryTriggers" -// PutRepositoryTriggersRequest generates a request for the PutRepositoryTriggers operation. +// PutRepositoryTriggersRequest generates a "aws/request.Request" representing the +// client's request for the PutRepositoryTriggers operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutRepositoryTriggers for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutRepositoryTriggers method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutRepositoryTriggersRequest method. +// req, resp := client.PutRepositoryTriggersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeCommit) PutRepositoryTriggersRequest(input *PutRepositoryTriggersInput) (req *request.Request, output *PutRepositoryTriggersOutput) { op := &request.Operation{ Name: opPutRepositoryTriggers, @@ -354,8 +1056,92 @@ func (c *CodeCommit) PutRepositoryTriggersRequest(input *PutRepositoryTriggersIn return } +// PutRepositoryTriggers API operation for AWS CodeCommit. +// // Replaces all triggers for a repository. This can be used to create or delete // triggers. +// +// 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 CodeCommit's +// API operation PutRepositoryTriggers for usage and error information. +// +// Returned Error Codes: +// * RepositoryDoesNotExistException +// The specified repository does not exist. +// +// * RepositoryNameRequiredException +// A repository name is required but was not specified. +// +// * InvalidRepositoryNameException +// At least one specified repository name is not valid. +// +// This exception only occurs when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// * RepositoryTriggersListRequiredException +// The list of triggers for the repository is required but was not specified. +// +// * MaximumRepositoryTriggersExceededException +// The number of triggers allowed for the repository was exceeded. +// +// * InvalidRepositoryTriggerNameException +// The name of the trigger is not valid. +// +// * InvalidRepositoryTriggerDestinationArnException +// The Amazon Resource Name (ARN) for the trigger is not valid for the specified +// destination. The most common reason for this error is that the ARN does not +// meet the requirements for the service type. +// +// * InvalidRepositoryTriggerRegionException +// The region for the trigger target does not match the region for the repository. +// Triggers must be created in the same region as the target for the trigger. +// +// * InvalidRepositoryTriggerCustomDataException +// The custom data provided for the trigger is not valid. +// +// * MaximumBranchesExceededException +// The number of branches for the trigger was exceeded. +// +// * InvalidRepositoryTriggerBranchNameException +// One or more branch names specified for the trigger is not valid. +// +// * InvalidRepositoryTriggerEventsException +// One or more events specified for the trigger is not valid. Check to make +// sure that all events specified match the requirements for allowed events. +// +// * RepositoryTriggerNameRequiredException +// A name for the trigger is required but was not specified. +// +// * RepositoryTriggerDestinationArnRequiredException +// A destination ARN for the target service for the trigger is required but +// was not specified. +// +// * RepositoryTriggerBranchNameListRequiredException +// At least one branch name is required but was not specified in the trigger +// configuration. +// +// * RepositoryTriggerEventsListRequiredException +// At least one event for the trigger is required but was not specified. +// +// * EncryptionIntegrityChecksFailedException +// An encryption integrity check failed. +// +// * EncryptionKeyAccessDeniedException +// An encryption key could not be accessed. +// +// * EncryptionKeyDisabledException +// The encryption key is disabled. +// +// * EncryptionKeyNotFoundException +// No encryption key was found. +// +// * EncryptionKeyUnavailableException +// The encryption key is not available. +// func (c *CodeCommit) PutRepositoryTriggers(input *PutRepositoryTriggersInput) (*PutRepositoryTriggersOutput, error) { req, out := c.PutRepositoryTriggersRequest(input) err := req.Send() @@ -364,7 +1150,30 @@ func (c *CodeCommit) PutRepositoryTriggers(input *PutRepositoryTriggersInput) (* const opTestRepositoryTriggers = "TestRepositoryTriggers" -// TestRepositoryTriggersRequest generates a request for the TestRepositoryTriggers operation. +// TestRepositoryTriggersRequest generates a "aws/request.Request" representing the +// client's request for the TestRepositoryTriggers operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See TestRepositoryTriggers for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the TestRepositoryTriggers method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the TestRepositoryTriggersRequest method. +// req, resp := client.TestRepositoryTriggersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeCommit) TestRepositoryTriggersRequest(input *TestRepositoryTriggersInput) (req *request.Request, output *TestRepositoryTriggersOutput) { op := &request.Operation{ Name: opTestRepositoryTriggers, @@ -382,10 +1191,94 @@ func (c *CodeCommit) TestRepositoryTriggersRequest(input *TestRepositoryTriggers return } +// TestRepositoryTriggers API operation for AWS CodeCommit. +// // Tests the functionality of repository triggers by sending information to // the trigger target. If real data is available in the repository, the test // will send data from the last commit. If no data is available, sample data // will be generated. +// +// 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 CodeCommit's +// API operation TestRepositoryTriggers for usage and error information. +// +// Returned Error Codes: +// * RepositoryDoesNotExistException +// The specified repository does not exist. +// +// * RepositoryNameRequiredException +// A repository name is required but was not specified. +// +// * InvalidRepositoryNameException +// At least one specified repository name is not valid. +// +// This exception only occurs when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// * RepositoryTriggersListRequiredException +// The list of triggers for the repository is required but was not specified. +// +// * MaximumRepositoryTriggersExceededException +// The number of triggers allowed for the repository was exceeded. +// +// * InvalidRepositoryTriggerNameException +// The name of the trigger is not valid. +// +// * InvalidRepositoryTriggerDestinationArnException +// The Amazon Resource Name (ARN) for the trigger is not valid for the specified +// destination. The most common reason for this error is that the ARN does not +// meet the requirements for the service type. +// +// * InvalidRepositoryTriggerRegionException +// The region for the trigger target does not match the region for the repository. +// Triggers must be created in the same region as the target for the trigger. +// +// * InvalidRepositoryTriggerCustomDataException +// The custom data provided for the trigger is not valid. +// +// * MaximumBranchesExceededException +// The number of branches for the trigger was exceeded. +// +// * InvalidRepositoryTriggerBranchNameException +// One or more branch names specified for the trigger is not valid. +// +// * InvalidRepositoryTriggerEventsException +// One or more events specified for the trigger is not valid. Check to make +// sure that all events specified match the requirements for allowed events. +// +// * RepositoryTriggerNameRequiredException +// A name for the trigger is required but was not specified. +// +// * RepositoryTriggerDestinationArnRequiredException +// A destination ARN for the target service for the trigger is required but +// was not specified. +// +// * RepositoryTriggerBranchNameListRequiredException +// At least one branch name is required but was not specified in the trigger +// configuration. +// +// * RepositoryTriggerEventsListRequiredException +// At least one event for the trigger is required but was not specified. +// +// * EncryptionIntegrityChecksFailedException +// An encryption integrity check failed. +// +// * EncryptionKeyAccessDeniedException +// An encryption key could not be accessed. +// +// * EncryptionKeyDisabledException +// The encryption key is disabled. +// +// * EncryptionKeyNotFoundException +// No encryption key was found. +// +// * EncryptionKeyUnavailableException +// The encryption key is not available. +// func (c *CodeCommit) TestRepositoryTriggers(input *TestRepositoryTriggersInput) (*TestRepositoryTriggersOutput, error) { req, out := c.TestRepositoryTriggersRequest(input) err := req.Send() @@ -394,7 +1287,30 @@ func (c *CodeCommit) TestRepositoryTriggers(input *TestRepositoryTriggersInput) const opUpdateDefaultBranch = "UpdateDefaultBranch" -// UpdateDefaultBranchRequest generates a request for the UpdateDefaultBranch operation. +// UpdateDefaultBranchRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDefaultBranch operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateDefaultBranch for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateDefaultBranch method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateDefaultBranchRequest method. +// req, resp := client.UpdateDefaultBranchRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeCommit) UpdateDefaultBranchRequest(input *UpdateDefaultBranchInput) (req *request.Request, output *UpdateDefaultBranchOutput) { op := &request.Operation{ Name: opUpdateDefaultBranch, @@ -414,11 +1330,59 @@ func (c *CodeCommit) UpdateDefaultBranchRequest(input *UpdateDefaultBranchInput) return } +// UpdateDefaultBranch API operation for AWS CodeCommit. +// // Sets or changes the default branch name for the specified repository. // // If you use this operation to change the default branch name to the current // default branch name, a success message is returned even though the default // branch did not change. +// +// 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 CodeCommit's +// API operation UpdateDefaultBranch for usage and error information. +// +// Returned Error Codes: +// * RepositoryNameRequiredException +// A repository name is required but was not specified. +// +// * RepositoryDoesNotExistException +// The specified repository does not exist. +// +// * InvalidRepositoryNameException +// At least one specified repository name is not valid. +// +// This exception only occurs when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// * BranchNameRequiredException +// A branch name is required but was not specified. +// +// * InvalidBranchNameException +// The specified branch name is not valid. +// +// * BranchDoesNotExistException +// The specified branch does not exist. +// +// * EncryptionIntegrityChecksFailedException +// An encryption integrity check failed. +// +// * EncryptionKeyAccessDeniedException +// An encryption key could not be accessed. +// +// * EncryptionKeyDisabledException +// The encryption key is disabled. +// +// * EncryptionKeyNotFoundException +// No encryption key was found. +// +// * EncryptionKeyUnavailableException +// The encryption key is not available. +// func (c *CodeCommit) UpdateDefaultBranch(input *UpdateDefaultBranchInput) (*UpdateDefaultBranchOutput, error) { req, out := c.UpdateDefaultBranchRequest(input) err := req.Send() @@ -427,7 +1391,30 @@ func (c *CodeCommit) UpdateDefaultBranch(input *UpdateDefaultBranchInput) (*Upda const opUpdateRepositoryDescription = "UpdateRepositoryDescription" -// UpdateRepositoryDescriptionRequest generates a request for the UpdateRepositoryDescription operation. +// UpdateRepositoryDescriptionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateRepositoryDescription operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateRepositoryDescription for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateRepositoryDescription method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateRepositoryDescriptionRequest method. +// req, resp := client.UpdateRepositoryDescriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeCommit) UpdateRepositoryDescriptionRequest(input *UpdateRepositoryDescriptionInput) (req *request.Request, output *UpdateRepositoryDescriptionOutput) { op := &request.Operation{ Name: opUpdateRepositoryDescription, @@ -447,6 +1434,8 @@ func (c *CodeCommit) UpdateRepositoryDescriptionRequest(input *UpdateRepositoryD return } +// UpdateRepositoryDescription API operation for AWS CodeCommit. +// // Sets or changes the comment or description for a repository. // // The description field for a repository accepts all HTML characters and all @@ -454,6 +1443,46 @@ func (c *CodeCommit) UpdateRepositoryDescriptionRequest(input *UpdateRepositoryD // and display it in a web page could expose users to potentially malicious // code. Make sure that you HTML-encode the description field in any application // that uses this API to display the repository description on a web page. +// +// 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 CodeCommit's +// API operation UpdateRepositoryDescription for usage and error information. +// +// Returned Error Codes: +// * RepositoryNameRequiredException +// A repository name is required but was not specified. +// +// * RepositoryDoesNotExistException +// The specified repository does not exist. +// +// * InvalidRepositoryNameException +// At least one specified repository name is not valid. +// +// This exception only occurs when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// * InvalidRepositoryDescriptionException +// The specified repository description is not valid. +// +// * EncryptionIntegrityChecksFailedException +// An encryption integrity check failed. +// +// * EncryptionKeyAccessDeniedException +// An encryption key could not be accessed. +// +// * EncryptionKeyDisabledException +// The encryption key is disabled. +// +// * EncryptionKeyNotFoundException +// No encryption key was found. +// +// * EncryptionKeyUnavailableException +// The encryption key is not available. +// func (c *CodeCommit) UpdateRepositoryDescription(input *UpdateRepositoryDescriptionInput) (*UpdateRepositoryDescriptionOutput, error) { req, out := c.UpdateRepositoryDescriptionRequest(input) err := req.Send() @@ -462,7 +1491,30 @@ func (c *CodeCommit) UpdateRepositoryDescription(input *UpdateRepositoryDescript const opUpdateRepositoryName = "UpdateRepositoryName" -// UpdateRepositoryNameRequest generates a request for the UpdateRepositoryName operation. +// UpdateRepositoryNameRequest generates a "aws/request.Request" representing the +// client's request for the UpdateRepositoryName operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateRepositoryName for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateRepositoryName method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateRepositoryNameRequest method. +// req, resp := client.UpdateRepositoryNameRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeCommit) UpdateRepositoryNameRequest(input *UpdateRepositoryNameInput) (req *request.Request, output *UpdateRepositoryNameOutput) { op := &request.Operation{ Name: opUpdateRepositoryName, @@ -482,12 +1534,39 @@ func (c *CodeCommit) UpdateRepositoryNameRequest(input *UpdateRepositoryNameInpu return } +// UpdateRepositoryName API operation for AWS CodeCommit. +// // Renames a repository. The repository name must be unique across the calling // AWS account. In addition, repository names are limited to 100 alphanumeric, // dash, and underscore characters, and cannot include certain characters. The // suffix ".git" is prohibited. For a full description of the limits on repository // names, see Limits (http://docs.aws.amazon.com/codecommit/latest/userguide/limits.html) // in the AWS CodeCommit 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 +// the error. +// +// See the AWS API reference guide for AWS CodeCommit's +// API operation UpdateRepositoryName for usage and error information. +// +// Returned Error Codes: +// * RepositoryDoesNotExistException +// The specified repository does not exist. +// +// * RepositoryNameExistsException +// The specified repository name already exists. +// +// * RepositoryNameRequiredException +// A repository name is required but was not specified. +// +// * InvalidRepositoryNameException +// At least one specified repository name is not valid. +// +// This exception only occurs when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// func (c *CodeCommit) UpdateRepositoryName(input *UpdateRepositoryNameInput) (*UpdateRepositoryNameOutput, error) { req, out := c.UpdateRepositoryNameRequest(input) err := req.Send() @@ -499,6 +1578,8 @@ type BatchGetRepositoriesInput struct { _ struct{} `type:"structure"` // The names of the repositories to get information about. + // + // RepositoryNames is a required field RepositoryNames []*string `locationName:"repositoryNames" type:"list" required:"true"` } @@ -608,12 +1689,18 @@ type CreateBranchInput struct { _ struct{} `type:"structure"` // The name of the new branch to create. + // + // BranchName is a required field BranchName *string `locationName:"branchName" min:"1" type:"string" required:"true"` // The ID of the commit to point the new branch to. + // + // CommitId is a required field CommitId *string `locationName:"commitId" type:"string" required:"true"` // The name of the repository in which you want to create the new branch. + // + // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` } @@ -686,6 +1773,8 @@ type CreateRepositoryInput struct { // and cannot include certain characters. For a full description of the limits // on repository names, see Limits (http://docs.aws.amazon.com/codecommit/latest/userguide/limits.html) // in the AWS CodeCommit User Guide. The suffix ".git" is prohibited. + // + // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` } @@ -738,6 +1827,8 @@ type DeleteRepositoryInput struct { _ struct{} `type:"structure"` // The name of the repository to delete. + // + // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` } @@ -846,9 +1937,13 @@ type GetCommitInput struct { _ struct{} `type:"structure"` // The commit ID. + // + // CommitId is a required field CommitId *string `locationName:"commitId" type:"string" required:"true"` // The name of the repository to which the commit was made. + // + // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` } @@ -886,6 +1981,8 @@ type GetCommitOutput struct { _ struct{} `type:"structure"` // Information about the specified commit. + // + // Commit is a required field Commit *Commit `locationName:"commit" type:"structure" required:"true"` } @@ -904,6 +2001,8 @@ type GetRepositoryInput struct { _ struct{} `type:"structure"` // The name of the repository to get information about. + // + // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` } @@ -1011,6 +2110,8 @@ type ListBranchesInput struct { NextToken *string `locationName:"nextToken" type:"string"` // The name of the repository that contains the branches. + // + // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` } @@ -1349,9 +2450,13 @@ type UpdateDefaultBranchInput struct { _ struct{} `type:"structure"` // The name of the branch to set as the default. + // + // DefaultBranchName is a required field DefaultBranchName *string `locationName:"defaultBranchName" min:"1" type:"string" required:"true"` // The name of the repository to set or change the default branch for. + // + // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` } @@ -1410,6 +2515,8 @@ type UpdateRepositoryDescriptionInput struct { RepositoryDescription *string `locationName:"repositoryDescription" type:"string"` // The name of the repository to set or change the comment or description for. + // + // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` } @@ -1458,9 +2565,13 @@ type UpdateRepositoryNameInput struct { _ struct{} `type:"structure"` // The new name for the repository. + // + // NewName is a required field NewName *string `locationName:"newName" min:"1" type:"string" required:"true"` // The existing name of the repository. + // + // OldName is a required field OldName *string `locationName:"oldName" min:"1" type:"string" required:"true"` } @@ -1535,26 +2646,31 @@ func (s UserInfo) GoString() string { } const ( - // @enum OrderEnum + // OrderEnumAscending is a OrderEnum enum value OrderEnumAscending = "ascending" - // @enum OrderEnum + + // OrderEnumDescending is a OrderEnum enum value OrderEnumDescending = "descending" ) const ( - // @enum RepositoryTriggerEventEnum + // RepositoryTriggerEventEnumAll is a RepositoryTriggerEventEnum enum value RepositoryTriggerEventEnumAll = "all" - // @enum RepositoryTriggerEventEnum + + // RepositoryTriggerEventEnumUpdateReference is a RepositoryTriggerEventEnum enum value RepositoryTriggerEventEnumUpdateReference = "updateReference" - // @enum RepositoryTriggerEventEnum + + // RepositoryTriggerEventEnumCreateReference is a RepositoryTriggerEventEnum enum value RepositoryTriggerEventEnumCreateReference = "createReference" - // @enum RepositoryTriggerEventEnum + + // RepositoryTriggerEventEnumDeleteReference is a RepositoryTriggerEventEnum enum value RepositoryTriggerEventEnumDeleteReference = "deleteReference" ) const ( - // @enum SortByEnum + // SortByEnumRepositoryName is a SortByEnum enum value SortByEnumRepositoryName = "repositoryName" - // @enum SortByEnum + + // SortByEnumLastModifiedDate is a SortByEnum enum value SortByEnumLastModifiedDate = "lastModifiedDate" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/codedeploy/api.go b/vendor/github.com/aws/aws-sdk-go/service/codedeploy/api.go index fb348cd7f273..41136c87472d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codedeploy/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codedeploy/api.go @@ -14,7 +14,30 @@ import ( const opAddTagsToOnPremisesInstances = "AddTagsToOnPremisesInstances" -// AddTagsToOnPremisesInstancesRequest generates a request for the AddTagsToOnPremisesInstances operation. +// AddTagsToOnPremisesInstancesRequest generates a "aws/request.Request" representing the +// client's request for the AddTagsToOnPremisesInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AddTagsToOnPremisesInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AddTagsToOnPremisesInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AddTagsToOnPremisesInstancesRequest method. +// req, resp := client.AddTagsToOnPremisesInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) AddTagsToOnPremisesInstancesRequest(input *AddTagsToOnPremisesInstancesInput) (req *request.Request, output *AddTagsToOnPremisesInstancesOutput) { op := &request.Operation{ Name: opAddTagsToOnPremisesInstances, @@ -34,7 +57,37 @@ func (c *CodeDeploy) AddTagsToOnPremisesInstancesRequest(input *AddTagsToOnPremi return } +// AddTagsToOnPremisesInstances API operation for AWS CodeDeploy. +// // Adds tags to on-premises instances. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeDeploy's +// API operation AddTagsToOnPremisesInstances for usage and error information. +// +// Returned Error Codes: +// * InstanceNameRequiredException +// An on-premises instance name was not specified. +// +// * TagRequiredException +// A tag was not specified. +// +// * InvalidTagException +// The specified tag was specified in an invalid format. +// +// * TagLimitExceededException +// The maximum allowed number of tags was exceeded. +// +// * InstanceLimitExceededException +// The maximum number of allowed on-premises instances in a single call was +// exceeded. +// +// * InstanceNotRegisteredException +// The specified on-premises instance is not registered. +// func (c *CodeDeploy) AddTagsToOnPremisesInstances(input *AddTagsToOnPremisesInstancesInput) (*AddTagsToOnPremisesInstancesOutput, error) { req, out := c.AddTagsToOnPremisesInstancesRequest(input) err := req.Send() @@ -43,7 +96,30 @@ func (c *CodeDeploy) AddTagsToOnPremisesInstances(input *AddTagsToOnPremisesInst const opBatchGetApplicationRevisions = "BatchGetApplicationRevisions" -// BatchGetApplicationRevisionsRequest generates a request for the BatchGetApplicationRevisions operation. +// BatchGetApplicationRevisionsRequest generates a "aws/request.Request" representing the +// client's request for the BatchGetApplicationRevisions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See BatchGetApplicationRevisions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the BatchGetApplicationRevisions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the BatchGetApplicationRevisionsRequest method. +// req, resp := client.BatchGetApplicationRevisionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) BatchGetApplicationRevisionsRequest(input *BatchGetApplicationRevisionsInput) (req *request.Request, output *BatchGetApplicationRevisionsOutput) { op := &request.Operation{ Name: opBatchGetApplicationRevisions, @@ -61,7 +137,36 @@ func (c *CodeDeploy) BatchGetApplicationRevisionsRequest(input *BatchGetApplicat return } +// BatchGetApplicationRevisions API operation for AWS CodeDeploy. +// // Gets information about one or more application revisions. +// +// 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 CodeDeploy's +// API operation BatchGetApplicationRevisions for usage and error information. +// +// Returned Error Codes: +// * ApplicationDoesNotExistException +// The application does not exist with the applicable IAM user or AWS account. +// +// * ApplicationNameRequiredException +// The minimum number of required application names was not specified. +// +// * InvalidApplicationNameException +// The application name was specified in an invalid format. +// +// * RevisionRequiredException +// The revision ID was not specified. +// +// * InvalidRevisionException +// The revision was specified in an invalid format. +// +// * BatchLimitExceededException +// The maximum number of names or IDs allowed for this request (100) was exceeded. +// func (c *CodeDeploy) BatchGetApplicationRevisions(input *BatchGetApplicationRevisionsInput) (*BatchGetApplicationRevisionsOutput, error) { req, out := c.BatchGetApplicationRevisionsRequest(input) err := req.Send() @@ -70,7 +175,30 @@ func (c *CodeDeploy) BatchGetApplicationRevisions(input *BatchGetApplicationRevi const opBatchGetApplications = "BatchGetApplications" -// BatchGetApplicationsRequest generates a request for the BatchGetApplications operation. +// BatchGetApplicationsRequest generates a "aws/request.Request" representing the +// client's request for the BatchGetApplications operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See BatchGetApplications for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the BatchGetApplications method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the BatchGetApplicationsRequest method. +// req, resp := client.BatchGetApplicationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) BatchGetApplicationsRequest(input *BatchGetApplicationsInput) (req *request.Request, output *BatchGetApplicationsOutput) { op := &request.Operation{ Name: opBatchGetApplications, @@ -88,7 +216,30 @@ func (c *CodeDeploy) BatchGetApplicationsRequest(input *BatchGetApplicationsInpu return } +// BatchGetApplications API operation for AWS CodeDeploy. +// // Gets information about one or more applications. +// +// 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 CodeDeploy's +// API operation BatchGetApplications for usage and error information. +// +// Returned Error Codes: +// * ApplicationNameRequiredException +// The minimum number of required application names was not specified. +// +// * InvalidApplicationNameException +// The application name was specified in an invalid format. +// +// * ApplicationDoesNotExistException +// The application does not exist with the applicable IAM user or AWS account. +// +// * BatchLimitExceededException +// The maximum number of names or IDs allowed for this request (100) was exceeded. +// func (c *CodeDeploy) BatchGetApplications(input *BatchGetApplicationsInput) (*BatchGetApplicationsOutput, error) { req, out := c.BatchGetApplicationsRequest(input) err := req.Send() @@ -97,7 +248,30 @@ func (c *CodeDeploy) BatchGetApplications(input *BatchGetApplicationsInput) (*Ba const opBatchGetDeploymentGroups = "BatchGetDeploymentGroups" -// BatchGetDeploymentGroupsRequest generates a request for the BatchGetDeploymentGroups operation. +// BatchGetDeploymentGroupsRequest generates a "aws/request.Request" representing the +// client's request for the BatchGetDeploymentGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See BatchGetDeploymentGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the BatchGetDeploymentGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the BatchGetDeploymentGroupsRequest method. +// req, resp := client.BatchGetDeploymentGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) BatchGetDeploymentGroupsRequest(input *BatchGetDeploymentGroupsInput) (req *request.Request, output *BatchGetDeploymentGroupsOutput) { op := &request.Operation{ Name: opBatchGetDeploymentGroups, @@ -115,7 +289,36 @@ func (c *CodeDeploy) BatchGetDeploymentGroupsRequest(input *BatchGetDeploymentGr return } +// BatchGetDeploymentGroups API operation for AWS CodeDeploy. +// // Get information about one or more deployment groups. +// +// 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 CodeDeploy's +// API operation BatchGetDeploymentGroups for usage and error information. +// +// Returned Error Codes: +// * ApplicationNameRequiredException +// The minimum number of required application names was not specified. +// +// * InvalidApplicationNameException +// The application name was specified in an invalid format. +// +// * ApplicationDoesNotExistException +// The application does not exist with the applicable IAM user or AWS account. +// +// * DeploymentGroupNameRequiredException +// The deployment group name was not specified. +// +// * InvalidDeploymentGroupNameException +// The deployment group name was specified in an invalid format. +// +// * BatchLimitExceededException +// The maximum number of names or IDs allowed for this request (100) was exceeded. +// func (c *CodeDeploy) BatchGetDeploymentGroups(input *BatchGetDeploymentGroupsInput) (*BatchGetDeploymentGroupsOutput, error) { req, out := c.BatchGetDeploymentGroupsRequest(input) err := req.Send() @@ -124,7 +327,30 @@ func (c *CodeDeploy) BatchGetDeploymentGroups(input *BatchGetDeploymentGroupsInp const opBatchGetDeploymentInstances = "BatchGetDeploymentInstances" -// BatchGetDeploymentInstancesRequest generates a request for the BatchGetDeploymentInstances operation. +// BatchGetDeploymentInstancesRequest generates a "aws/request.Request" representing the +// client's request for the BatchGetDeploymentInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See BatchGetDeploymentInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the BatchGetDeploymentInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the BatchGetDeploymentInstancesRequest method. +// req, resp := client.BatchGetDeploymentInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) BatchGetDeploymentInstancesRequest(input *BatchGetDeploymentInstancesInput) (req *request.Request, output *BatchGetDeploymentInstancesOutput) { op := &request.Operation{ Name: opBatchGetDeploymentInstances, @@ -142,8 +368,37 @@ func (c *CodeDeploy) BatchGetDeploymentInstancesRequest(input *BatchGetDeploymen return } +// BatchGetDeploymentInstances API operation for AWS CodeDeploy. +// // Gets information about one or more instance that are part of a deployment // group. +// +// 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 CodeDeploy's +// API operation BatchGetDeploymentInstances for usage and error information. +// +// Returned Error Codes: +// * DeploymentIdRequiredException +// At least one deployment ID must be specified. +// +// * DeploymentDoesNotExistException +// The deployment does not exist with the applicable IAM user or AWS account. +// +// * InstanceIdRequiredException +// The instance ID was not specified. +// +// * InvalidDeploymentIdException +// At least one of the deployment IDs was specified in an invalid format. +// +// * InvalidInstanceNameException +// The specified on-premises instance name was specified in an invalid format. +// +// * BatchLimitExceededException +// The maximum number of names or IDs allowed for this request (100) was exceeded. +// func (c *CodeDeploy) BatchGetDeploymentInstances(input *BatchGetDeploymentInstancesInput) (*BatchGetDeploymentInstancesOutput, error) { req, out := c.BatchGetDeploymentInstancesRequest(input) err := req.Send() @@ -152,7 +407,30 @@ func (c *CodeDeploy) BatchGetDeploymentInstances(input *BatchGetDeploymentInstan const opBatchGetDeployments = "BatchGetDeployments" -// BatchGetDeploymentsRequest generates a request for the BatchGetDeployments operation. +// BatchGetDeploymentsRequest generates a "aws/request.Request" representing the +// client's request for the BatchGetDeployments operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See BatchGetDeployments for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the BatchGetDeployments method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the BatchGetDeploymentsRequest method. +// req, resp := client.BatchGetDeploymentsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) BatchGetDeploymentsRequest(input *BatchGetDeploymentsInput) (req *request.Request, output *BatchGetDeploymentsOutput) { op := &request.Operation{ Name: opBatchGetDeployments, @@ -170,7 +448,27 @@ func (c *CodeDeploy) BatchGetDeploymentsRequest(input *BatchGetDeploymentsInput) return } +// BatchGetDeployments API operation for AWS CodeDeploy. +// // Gets information about one or more deployments. +// +// 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 CodeDeploy's +// API operation BatchGetDeployments for usage and error information. +// +// Returned Error Codes: +// * DeploymentIdRequiredException +// At least one deployment ID must be specified. +// +// * InvalidDeploymentIdException +// At least one of the deployment IDs was specified in an invalid format. +// +// * BatchLimitExceededException +// The maximum number of names or IDs allowed for this request (100) was exceeded. +// func (c *CodeDeploy) BatchGetDeployments(input *BatchGetDeploymentsInput) (*BatchGetDeploymentsOutput, error) { req, out := c.BatchGetDeploymentsRequest(input) err := req.Send() @@ -179,7 +477,30 @@ func (c *CodeDeploy) BatchGetDeployments(input *BatchGetDeploymentsInput) (*Batc const opBatchGetOnPremisesInstances = "BatchGetOnPremisesInstances" -// BatchGetOnPremisesInstancesRequest generates a request for the BatchGetOnPremisesInstances operation. +// BatchGetOnPremisesInstancesRequest generates a "aws/request.Request" representing the +// client's request for the BatchGetOnPremisesInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See BatchGetOnPremisesInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the BatchGetOnPremisesInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the BatchGetOnPremisesInstancesRequest method. +// req, resp := client.BatchGetOnPremisesInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) BatchGetOnPremisesInstancesRequest(input *BatchGetOnPremisesInstancesInput) (req *request.Request, output *BatchGetOnPremisesInstancesOutput) { op := &request.Operation{ Name: opBatchGetOnPremisesInstances, @@ -197,7 +518,27 @@ func (c *CodeDeploy) BatchGetOnPremisesInstancesRequest(input *BatchGetOnPremise return } +// BatchGetOnPremisesInstances API operation for AWS CodeDeploy. +// // Gets information about one or more on-premises instances. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeDeploy's +// API operation BatchGetOnPremisesInstances for usage and error information. +// +// Returned Error Codes: +// * InstanceNameRequiredException +// An on-premises instance name was not specified. +// +// * InvalidInstanceNameException +// The specified on-premises instance name was specified in an invalid format. +// +// * BatchLimitExceededException +// The maximum number of names or IDs allowed for this request (100) was exceeded. +// func (c *CodeDeploy) BatchGetOnPremisesInstances(input *BatchGetOnPremisesInstancesInput) (*BatchGetOnPremisesInstancesOutput, error) { req, out := c.BatchGetOnPremisesInstancesRequest(input) err := req.Send() @@ -206,7 +547,30 @@ func (c *CodeDeploy) BatchGetOnPremisesInstances(input *BatchGetOnPremisesInstan const opCreateApplication = "CreateApplication" -// CreateApplicationRequest generates a request for the CreateApplication operation. +// CreateApplicationRequest generates a "aws/request.Request" representing the +// client's request for the CreateApplication operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateApplication for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateApplication method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateApplicationRequest method. +// req, resp := client.CreateApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) CreateApplicationRequest(input *CreateApplicationInput) (req *request.Request, output *CreateApplicationOutput) { op := &request.Operation{ Name: opCreateApplication, @@ -224,7 +588,31 @@ func (c *CodeDeploy) CreateApplicationRequest(input *CreateApplicationInput) (re return } +// CreateApplication API operation for AWS CodeDeploy. +// // Creates 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 AWS CodeDeploy's +// API operation CreateApplication for usage and error information. +// +// Returned Error Codes: +// * ApplicationNameRequiredException +// The minimum number of required application names was not specified. +// +// * InvalidApplicationNameException +// The application name was specified in an invalid format. +// +// * ApplicationAlreadyExistsException +// An application with the specified name already exists with the applicable +// IAM user or AWS account. +// +// * ApplicationLimitExceededException +// More applications were attempted to be created than are allowed. +// func (c *CodeDeploy) CreateApplication(input *CreateApplicationInput) (*CreateApplicationOutput, error) { req, out := c.CreateApplicationRequest(input) err := req.Send() @@ -233,7 +621,30 @@ func (c *CodeDeploy) CreateApplication(input *CreateApplicationInput) (*CreateAp const opCreateDeployment = "CreateDeployment" -// CreateDeploymentRequest generates a request for the CreateDeployment operation. +// CreateDeploymentRequest generates a "aws/request.Request" representing the +// client's request for the CreateDeployment operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateDeployment for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateDeployment method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateDeploymentRequest method. +// req, resp := client.CreateDeploymentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) CreateDeploymentRequest(input *CreateDeploymentInput) (req *request.Request, output *CreateDeploymentOutput) { op := &request.Operation{ Name: opCreateDeployment, @@ -251,7 +662,64 @@ func (c *CodeDeploy) CreateDeploymentRequest(input *CreateDeploymentInput) (req return } +// CreateDeployment API operation for AWS CodeDeploy. +// // Deploys an application revision through the specified deployment group. +// +// 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 CodeDeploy's +// API operation CreateDeployment for usage and error information. +// +// Returned Error Codes: +// * ApplicationNameRequiredException +// The minimum number of required application names was not specified. +// +// * InvalidApplicationNameException +// The application name was specified in an invalid format. +// +// * ApplicationDoesNotExistException +// The application does not exist with the applicable IAM user or AWS account. +// +// * DeploymentGroupNameRequiredException +// The deployment group name was not specified. +// +// * InvalidDeploymentGroupNameException +// The deployment group name was specified in an invalid format. +// +// * DeploymentGroupDoesNotExistException +// The named deployment group does not exist with the applicable IAM user or +// AWS account. +// +// * RevisionRequiredException +// The revision ID was not specified. +// +// * RevisionDoesNotExistException +// The named revision does not exist with the applicable IAM user or AWS account. +// +// * InvalidRevisionException +// The revision was specified in an invalid format. +// +// * InvalidDeploymentConfigNameException +// The deployment configuration name was specified in an invalid format. +// +// * DeploymentConfigDoesNotExistException +// The deployment configuration does not exist with the applicable IAM user +// or AWS account. +// +// * DescriptionTooLongException +// The description is too long. +// +// * DeploymentLimitExceededException +// The number of allowed deployments was exceeded. +// +// * InvalidAutoRollbackConfigException +// The automatic rollback configuration was specified in an invalid format. +// For example, automatic rollback is enabled but an invalid triggering event +// type or no event types were listed. +// func (c *CodeDeploy) CreateDeployment(input *CreateDeploymentInput) (*CreateDeploymentOutput, error) { req, out := c.CreateDeploymentRequest(input) err := req.Send() @@ -260,7 +728,30 @@ func (c *CodeDeploy) CreateDeployment(input *CreateDeploymentInput) (*CreateDepl const opCreateDeploymentConfig = "CreateDeploymentConfig" -// CreateDeploymentConfigRequest generates a request for the CreateDeploymentConfig operation. +// CreateDeploymentConfigRequest generates a "aws/request.Request" representing the +// client's request for the CreateDeploymentConfig operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateDeploymentConfig for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateDeploymentConfig method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateDeploymentConfigRequest method. +// req, resp := client.CreateDeploymentConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) CreateDeploymentConfigRequest(input *CreateDeploymentConfigInput) (req *request.Request, output *CreateDeploymentConfigOutput) { op := &request.Operation{ Name: opCreateDeploymentConfig, @@ -278,7 +769,34 @@ func (c *CodeDeploy) CreateDeploymentConfigRequest(input *CreateDeploymentConfig return } +// CreateDeploymentConfig API operation for AWS CodeDeploy. +// // Creates a deployment configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeDeploy's +// API operation CreateDeploymentConfig for usage and error information. +// +// Returned Error Codes: +// * InvalidDeploymentConfigNameException +// The deployment configuration name was specified in an invalid format. +// +// * DeploymentConfigNameRequiredException +// The deployment configuration name was not specified. +// +// * DeploymentConfigAlreadyExistsException +// A deployment configuration with the specified name already exists with the +// applicable IAM user or AWS account. +// +// * InvalidMinimumHealthyHostValueException +// The minimum healthy instance value was specified in an invalid format. +// +// * DeploymentConfigLimitExceededException +// The deployment configurations limit was exceeded. +// func (c *CodeDeploy) CreateDeploymentConfig(input *CreateDeploymentConfigInput) (*CreateDeploymentConfigOutput, error) { req, out := c.CreateDeploymentConfigRequest(input) err := req.Send() @@ -287,7 +805,30 @@ func (c *CodeDeploy) CreateDeploymentConfig(input *CreateDeploymentConfigInput) const opCreateDeploymentGroup = "CreateDeploymentGroup" -// CreateDeploymentGroupRequest generates a request for the CreateDeploymentGroup operation. +// CreateDeploymentGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateDeploymentGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateDeploymentGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateDeploymentGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateDeploymentGroupRequest method. +// req, resp := client.CreateDeploymentGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) CreateDeploymentGroupRequest(input *CreateDeploymentGroupInput) (req *request.Request, output *CreateDeploymentGroupOutput) { op := &request.Operation{ Name: opCreateDeploymentGroup, @@ -305,7 +846,94 @@ func (c *CodeDeploy) CreateDeploymentGroupRequest(input *CreateDeploymentGroupIn return } +// CreateDeploymentGroup API operation for AWS CodeDeploy. +// // Creates a deployment group to which application revisions will be deployed. +// +// 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 CodeDeploy's +// API operation CreateDeploymentGroup for usage and error information. +// +// Returned Error Codes: +// * ApplicationNameRequiredException +// The minimum number of required application names was not specified. +// +// * InvalidApplicationNameException +// The application name was specified in an invalid format. +// +// * ApplicationDoesNotExistException +// The application does not exist with the applicable IAM user or AWS account. +// +// * DeploymentGroupNameRequiredException +// The deployment group name was not specified. +// +// * InvalidDeploymentGroupNameException +// The deployment group name was specified in an invalid format. +// +// * DeploymentGroupAlreadyExistsException +// A deployment group with the specified name already exists with the applicable +// IAM user or AWS account. +// +// * InvalidEC2TagException +// The tag was specified in an invalid format. +// +// * InvalidTagException +// The specified tag was specified in an invalid format. +// +// * InvalidAutoScalingGroupException +// The Auto Scaling group was specified in an invalid format or does not exist. +// +// * InvalidDeploymentConfigNameException +// The deployment configuration name was specified in an invalid format. +// +// * DeploymentConfigDoesNotExistException +// The deployment configuration does not exist with the applicable IAM user +// or AWS account. +// +// * RoleRequiredException +// The role ID was not specified. +// +// * InvalidRoleException +// The service role ARN was specified in an invalid format. Or, if an Auto Scaling +// group was specified, the specified service role does not grant the appropriate +// permissions to Auto Scaling. +// +// * DeploymentGroupLimitExceededException +// The deployment groups limit was exceeded. +// +// * LifecycleHookLimitExceededException +// The limit for lifecycle hooks was exceeded. +// +// * InvalidTriggerConfigException +// The trigger was specified in an invalid format. +// +// * TriggerTargetsLimitExceededException +// The maximum allowed number of triggers was exceeded. +// +// * InvalidAlarmConfigException +// The format of the alarm configuration is invalid. Possible causes include: +// +// The alarm list is null. +// +// The alarm object is null. +// +// The alarm name is empty or null or exceeds the 255 character limit. +// +// Two alarms with the same name have been specified. +// +// The alarm configuration is enabled but the alarm list is empty. +// +// * AlarmsLimitExceededException +// The maximum number of alarms for a deployment group (10) was exceeded. +// +// * InvalidAutoRollbackConfigException +// The automatic rollback configuration was specified in an invalid format. +// For example, automatic rollback is enabled but an invalid triggering event +// type or no event types were listed. +// func (c *CodeDeploy) CreateDeploymentGroup(input *CreateDeploymentGroupInput) (*CreateDeploymentGroupOutput, error) { req, out := c.CreateDeploymentGroupRequest(input) err := req.Send() @@ -314,7 +942,30 @@ func (c *CodeDeploy) CreateDeploymentGroup(input *CreateDeploymentGroupInput) (* const opDeleteApplication = "DeleteApplication" -// DeleteApplicationRequest generates a request for the DeleteApplication operation. +// DeleteApplicationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteApplication operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteApplication for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteApplication method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteApplicationRequest method. +// req, resp := client.DeleteApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) DeleteApplicationRequest(input *DeleteApplicationInput) (req *request.Request, output *DeleteApplicationOutput) { op := &request.Operation{ Name: opDeleteApplication, @@ -334,7 +985,24 @@ func (c *CodeDeploy) DeleteApplicationRequest(input *DeleteApplicationInput) (re return } +// DeleteApplication API operation for AWS CodeDeploy. +// // Deletes 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 AWS CodeDeploy's +// API operation DeleteApplication for usage and error information. +// +// Returned Error Codes: +// * ApplicationNameRequiredException +// The minimum number of required application names was not specified. +// +// * InvalidApplicationNameException +// The application name was specified in an invalid format. +// func (c *CodeDeploy) DeleteApplication(input *DeleteApplicationInput) (*DeleteApplicationOutput, error) { req, out := c.DeleteApplicationRequest(input) err := req.Send() @@ -343,7 +1011,30 @@ func (c *CodeDeploy) DeleteApplication(input *DeleteApplicationInput) (*DeleteAp const opDeleteDeploymentConfig = "DeleteDeploymentConfig" -// DeleteDeploymentConfigRequest generates a request for the DeleteDeploymentConfig operation. +// DeleteDeploymentConfigRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDeploymentConfig operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteDeploymentConfig for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteDeploymentConfig method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteDeploymentConfigRequest method. +// req, resp := client.DeleteDeploymentConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) DeleteDeploymentConfigRequest(input *DeleteDeploymentConfigInput) (req *request.Request, output *DeleteDeploymentConfigOutput) { op := &request.Operation{ Name: opDeleteDeploymentConfig, @@ -363,10 +1054,33 @@ func (c *CodeDeploy) DeleteDeploymentConfigRequest(input *DeleteDeploymentConfig return } +// DeleteDeploymentConfig API operation for AWS CodeDeploy. +// // Deletes a deployment configuration. // -// A deployment configuration cannot be deleted if it is currently in use. +// A deployment configuration cannot be deleted if it is currently in use. // Predefined configurations cannot be deleted. +// +// 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 CodeDeploy's +// API operation DeleteDeploymentConfig for usage and error information. +// +// Returned Error Codes: +// * InvalidDeploymentConfigNameException +// The deployment configuration name was specified in an invalid format. +// +// * DeploymentConfigNameRequiredException +// The deployment configuration name was not specified. +// +// * DeploymentConfigInUseException +// The deployment configuration is still in use. +// +// * InvalidOperationException +// An invalid operation was detected. +// func (c *CodeDeploy) DeleteDeploymentConfig(input *DeleteDeploymentConfigInput) (*DeleteDeploymentConfigOutput, error) { req, out := c.DeleteDeploymentConfigRequest(input) err := req.Send() @@ -375,7 +1089,30 @@ func (c *CodeDeploy) DeleteDeploymentConfig(input *DeleteDeploymentConfigInput) const opDeleteDeploymentGroup = "DeleteDeploymentGroup" -// DeleteDeploymentGroupRequest generates a request for the DeleteDeploymentGroup operation. +// DeleteDeploymentGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDeploymentGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteDeploymentGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteDeploymentGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteDeploymentGroupRequest method. +// req, resp := client.DeleteDeploymentGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) DeleteDeploymentGroupRequest(input *DeleteDeploymentGroupInput) (req *request.Request, output *DeleteDeploymentGroupOutput) { op := &request.Operation{ Name: opDeleteDeploymentGroup, @@ -393,7 +1130,35 @@ func (c *CodeDeploy) DeleteDeploymentGroupRequest(input *DeleteDeploymentGroupIn return } +// DeleteDeploymentGroup API operation for AWS CodeDeploy. +// // Deletes a deployment group. +// +// 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 CodeDeploy's +// API operation DeleteDeploymentGroup for usage and error information. +// +// Returned Error Codes: +// * ApplicationNameRequiredException +// The minimum number of required application names was not specified. +// +// * InvalidApplicationNameException +// The application name was specified in an invalid format. +// +// * DeploymentGroupNameRequiredException +// The deployment group name was not specified. +// +// * InvalidDeploymentGroupNameException +// The deployment group name was specified in an invalid format. +// +// * InvalidRoleException +// The service role ARN was specified in an invalid format. Or, if an Auto Scaling +// group was specified, the specified service role does not grant the appropriate +// permissions to Auto Scaling. +// func (c *CodeDeploy) DeleteDeploymentGroup(input *DeleteDeploymentGroupInput) (*DeleteDeploymentGroupOutput, error) { req, out := c.DeleteDeploymentGroupRequest(input) err := req.Send() @@ -402,7 +1167,30 @@ func (c *CodeDeploy) DeleteDeploymentGroup(input *DeleteDeploymentGroupInput) (* const opDeregisterOnPremisesInstance = "DeregisterOnPremisesInstance" -// DeregisterOnPremisesInstanceRequest generates a request for the DeregisterOnPremisesInstance operation. +// DeregisterOnPremisesInstanceRequest generates a "aws/request.Request" representing the +// client's request for the DeregisterOnPremisesInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeregisterOnPremisesInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeregisterOnPremisesInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeregisterOnPremisesInstanceRequest method. +// req, resp := client.DeregisterOnPremisesInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) DeregisterOnPremisesInstanceRequest(input *DeregisterOnPremisesInstanceInput) (req *request.Request, output *DeregisterOnPremisesInstanceOutput) { op := &request.Operation{ Name: opDeregisterOnPremisesInstance, @@ -422,7 +1210,24 @@ func (c *CodeDeploy) DeregisterOnPremisesInstanceRequest(input *DeregisterOnPrem return } +// DeregisterOnPremisesInstance API operation for AWS CodeDeploy. +// // Deregisters an on-premises instance. +// +// 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 CodeDeploy's +// API operation DeregisterOnPremisesInstance for usage and error information. +// +// Returned Error Codes: +// * InstanceNameRequiredException +// An on-premises instance name was not specified. +// +// * InvalidInstanceNameException +// The specified on-premises instance name was specified in an invalid format. +// func (c *CodeDeploy) DeregisterOnPremisesInstance(input *DeregisterOnPremisesInstanceInput) (*DeregisterOnPremisesInstanceOutput, error) { req, out := c.DeregisterOnPremisesInstanceRequest(input) err := req.Send() @@ -431,7 +1236,30 @@ func (c *CodeDeploy) DeregisterOnPremisesInstance(input *DeregisterOnPremisesIns const opGetApplication = "GetApplication" -// GetApplicationRequest generates a request for the GetApplication operation. +// GetApplicationRequest generates a "aws/request.Request" representing the +// client's request for the GetApplication operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetApplication for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetApplication method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetApplicationRequest method. +// req, resp := client.GetApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) GetApplicationRequest(input *GetApplicationInput) (req *request.Request, output *GetApplicationOutput) { op := &request.Operation{ Name: opGetApplication, @@ -449,7 +1277,27 @@ func (c *CodeDeploy) GetApplicationRequest(input *GetApplicationInput) (req *req return } +// GetApplication API operation for AWS CodeDeploy. +// // Gets information about 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 AWS CodeDeploy's +// API operation GetApplication for usage and error information. +// +// Returned Error Codes: +// * ApplicationNameRequiredException +// The minimum number of required application names was not specified. +// +// * InvalidApplicationNameException +// The application name was specified in an invalid format. +// +// * ApplicationDoesNotExistException +// The application does not exist with the applicable IAM user or AWS account. +// func (c *CodeDeploy) GetApplication(input *GetApplicationInput) (*GetApplicationOutput, error) { req, out := c.GetApplicationRequest(input) err := req.Send() @@ -458,7 +1306,30 @@ func (c *CodeDeploy) GetApplication(input *GetApplicationInput) (*GetApplication const opGetApplicationRevision = "GetApplicationRevision" -// GetApplicationRevisionRequest generates a request for the GetApplicationRevision operation. +// GetApplicationRevisionRequest generates a "aws/request.Request" representing the +// client's request for the GetApplicationRevision operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetApplicationRevision for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetApplicationRevision method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetApplicationRevisionRequest method. +// req, resp := client.GetApplicationRevisionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) GetApplicationRevisionRequest(input *GetApplicationRevisionInput) (req *request.Request, output *GetApplicationRevisionOutput) { op := &request.Operation{ Name: opGetApplicationRevision, @@ -476,7 +1347,36 @@ func (c *CodeDeploy) GetApplicationRevisionRequest(input *GetApplicationRevision return } +// GetApplicationRevision API operation for AWS CodeDeploy. +// // Gets information about an application revision. +// +// 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 CodeDeploy's +// API operation GetApplicationRevision for usage and error information. +// +// Returned Error Codes: +// * ApplicationDoesNotExistException +// The application does not exist with the applicable IAM user or AWS account. +// +// * ApplicationNameRequiredException +// The minimum number of required application names was not specified. +// +// * InvalidApplicationNameException +// The application name was specified in an invalid format. +// +// * RevisionDoesNotExistException +// The named revision does not exist with the applicable IAM user or AWS account. +// +// * RevisionRequiredException +// The revision ID was not specified. +// +// * InvalidRevisionException +// The revision was specified in an invalid format. +// func (c *CodeDeploy) GetApplicationRevision(input *GetApplicationRevisionInput) (*GetApplicationRevisionOutput, error) { req, out := c.GetApplicationRevisionRequest(input) err := req.Send() @@ -485,7 +1385,30 @@ func (c *CodeDeploy) GetApplicationRevision(input *GetApplicationRevisionInput) const opGetDeployment = "GetDeployment" -// GetDeploymentRequest generates a request for the GetDeployment operation. +// GetDeploymentRequest generates a "aws/request.Request" representing the +// client's request for the GetDeployment operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetDeployment for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetDeployment method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetDeploymentRequest method. +// req, resp := client.GetDeploymentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) GetDeploymentRequest(input *GetDeploymentInput) (req *request.Request, output *GetDeploymentOutput) { op := &request.Operation{ Name: opGetDeployment, @@ -503,7 +1426,27 @@ func (c *CodeDeploy) GetDeploymentRequest(input *GetDeploymentInput) (req *reque return } +// GetDeployment API operation for AWS CodeDeploy. +// // Gets information about a deployment. +// +// 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 CodeDeploy's +// API operation GetDeployment for usage and error information. +// +// Returned Error Codes: +// * DeploymentIdRequiredException +// At least one deployment ID must be specified. +// +// * InvalidDeploymentIdException +// At least one of the deployment IDs was specified in an invalid format. +// +// * DeploymentDoesNotExistException +// The deployment does not exist with the applicable IAM user or AWS account. +// func (c *CodeDeploy) GetDeployment(input *GetDeploymentInput) (*GetDeploymentOutput, error) { req, out := c.GetDeploymentRequest(input) err := req.Send() @@ -512,7 +1455,30 @@ func (c *CodeDeploy) GetDeployment(input *GetDeploymentInput) (*GetDeploymentOut const opGetDeploymentConfig = "GetDeploymentConfig" -// GetDeploymentConfigRequest generates a request for the GetDeploymentConfig operation. +// GetDeploymentConfigRequest generates a "aws/request.Request" representing the +// client's request for the GetDeploymentConfig operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetDeploymentConfig for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetDeploymentConfig method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetDeploymentConfigRequest method. +// req, resp := client.GetDeploymentConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) GetDeploymentConfigRequest(input *GetDeploymentConfigInput) (req *request.Request, output *GetDeploymentConfigOutput) { op := &request.Operation{ Name: opGetDeploymentConfig, @@ -530,7 +1496,28 @@ func (c *CodeDeploy) GetDeploymentConfigRequest(input *GetDeploymentConfigInput) return } +// GetDeploymentConfig API operation for AWS CodeDeploy. +// // Gets information about a deployment configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeDeploy's +// API operation GetDeploymentConfig for usage and error information. +// +// Returned Error Codes: +// * InvalidDeploymentConfigNameException +// The deployment configuration name was specified in an invalid format. +// +// * DeploymentConfigNameRequiredException +// The deployment configuration name was not specified. +// +// * DeploymentConfigDoesNotExistException +// The deployment configuration does not exist with the applicable IAM user +// or AWS account. +// func (c *CodeDeploy) GetDeploymentConfig(input *GetDeploymentConfigInput) (*GetDeploymentConfigOutput, error) { req, out := c.GetDeploymentConfigRequest(input) err := req.Send() @@ -539,7 +1526,30 @@ func (c *CodeDeploy) GetDeploymentConfig(input *GetDeploymentConfigInput) (*GetD const opGetDeploymentGroup = "GetDeploymentGroup" -// GetDeploymentGroupRequest generates a request for the GetDeploymentGroup operation. +// GetDeploymentGroupRequest generates a "aws/request.Request" representing the +// client's request for the GetDeploymentGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetDeploymentGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetDeploymentGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetDeploymentGroupRequest method. +// req, resp := client.GetDeploymentGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) GetDeploymentGroupRequest(input *GetDeploymentGroupInput) (req *request.Request, output *GetDeploymentGroupOutput) { op := &request.Operation{ Name: opGetDeploymentGroup, @@ -557,7 +1567,37 @@ func (c *CodeDeploy) GetDeploymentGroupRequest(input *GetDeploymentGroupInput) ( return } +// GetDeploymentGroup API operation for AWS CodeDeploy. +// // Gets information about a deployment group. +// +// 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 CodeDeploy's +// API operation GetDeploymentGroup for usage and error information. +// +// Returned Error Codes: +// * ApplicationNameRequiredException +// The minimum number of required application names was not specified. +// +// * InvalidApplicationNameException +// The application name was specified in an invalid format. +// +// * ApplicationDoesNotExistException +// The application does not exist with the applicable IAM user or AWS account. +// +// * DeploymentGroupNameRequiredException +// The deployment group name was not specified. +// +// * InvalidDeploymentGroupNameException +// The deployment group name was specified in an invalid format. +// +// * DeploymentGroupDoesNotExistException +// The named deployment group does not exist with the applicable IAM user or +// AWS account. +// func (c *CodeDeploy) GetDeploymentGroup(input *GetDeploymentGroupInput) (*GetDeploymentGroupOutput, error) { req, out := c.GetDeploymentGroupRequest(input) err := req.Send() @@ -566,7 +1606,30 @@ func (c *CodeDeploy) GetDeploymentGroup(input *GetDeploymentGroupInput) (*GetDep const opGetDeploymentInstance = "GetDeploymentInstance" -// GetDeploymentInstanceRequest generates a request for the GetDeploymentInstance operation. +// GetDeploymentInstanceRequest generates a "aws/request.Request" representing the +// client's request for the GetDeploymentInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetDeploymentInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetDeploymentInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetDeploymentInstanceRequest method. +// req, resp := client.GetDeploymentInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) GetDeploymentInstanceRequest(input *GetDeploymentInstanceInput) (req *request.Request, output *GetDeploymentInstanceOutput) { op := &request.Operation{ Name: opGetDeploymentInstance, @@ -584,7 +1647,36 @@ func (c *CodeDeploy) GetDeploymentInstanceRequest(input *GetDeploymentInstanceIn return } +// GetDeploymentInstance API operation for AWS CodeDeploy. +// // Gets information about an instance as part of a deployment. +// +// 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 CodeDeploy's +// API operation GetDeploymentInstance for usage and error information. +// +// Returned Error Codes: +// * DeploymentIdRequiredException +// At least one deployment ID must be specified. +// +// * DeploymentDoesNotExistException +// The deployment does not exist with the applicable IAM user or AWS account. +// +// * InstanceIdRequiredException +// The instance ID was not specified. +// +// * InvalidDeploymentIdException +// At least one of the deployment IDs was specified in an invalid format. +// +// * InstanceDoesNotExistException +// The specified instance does not exist in the deployment group. +// +// * InvalidInstanceNameException +// The specified on-premises instance name was specified in an invalid format. +// func (c *CodeDeploy) GetDeploymentInstance(input *GetDeploymentInstanceInput) (*GetDeploymentInstanceOutput, error) { req, out := c.GetDeploymentInstanceRequest(input) err := req.Send() @@ -593,7 +1685,30 @@ func (c *CodeDeploy) GetDeploymentInstance(input *GetDeploymentInstanceInput) (* const opGetOnPremisesInstance = "GetOnPremisesInstance" -// GetOnPremisesInstanceRequest generates a request for the GetOnPremisesInstance operation. +// GetOnPremisesInstanceRequest generates a "aws/request.Request" representing the +// client's request for the GetOnPremisesInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetOnPremisesInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetOnPremisesInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetOnPremisesInstanceRequest method. +// req, resp := client.GetOnPremisesInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) GetOnPremisesInstanceRequest(input *GetOnPremisesInstanceInput) (req *request.Request, output *GetOnPremisesInstanceOutput) { op := &request.Operation{ Name: opGetOnPremisesInstance, @@ -611,7 +1726,27 @@ func (c *CodeDeploy) GetOnPremisesInstanceRequest(input *GetOnPremisesInstanceIn return } +// GetOnPremisesInstance API operation for AWS CodeDeploy. +// // Gets information about an on-premises instance. +// +// 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 CodeDeploy's +// API operation GetOnPremisesInstance for usage and error information. +// +// Returned Error Codes: +// * InstanceNameRequiredException +// An on-premises instance name was not specified. +// +// * InstanceNotRegisteredException +// The specified on-premises instance is not registered. +// +// * InvalidInstanceNameException +// The specified on-premises instance name was specified in an invalid format. +// func (c *CodeDeploy) GetOnPremisesInstance(input *GetOnPremisesInstanceInput) (*GetOnPremisesInstanceOutput, error) { req, out := c.GetOnPremisesInstanceRequest(input) err := req.Send() @@ -620,7 +1755,30 @@ func (c *CodeDeploy) GetOnPremisesInstance(input *GetOnPremisesInstanceInput) (* const opListApplicationRevisions = "ListApplicationRevisions" -// ListApplicationRevisionsRequest generates a request for the ListApplicationRevisions operation. +// ListApplicationRevisionsRequest generates a "aws/request.Request" representing the +// client's request for the ListApplicationRevisions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListApplicationRevisions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListApplicationRevisions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListApplicationRevisionsRequest method. +// req, resp := client.ListApplicationRevisionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) ListApplicationRevisionsRequest(input *ListApplicationRevisionsInput) (req *request.Request, output *ListApplicationRevisionsOutput) { op := &request.Operation{ Name: opListApplicationRevisions, @@ -644,13 +1802,72 @@ func (c *CodeDeploy) ListApplicationRevisionsRequest(input *ListApplicationRevis return } +// ListApplicationRevisions API operation for AWS CodeDeploy. +// // Lists information about revisions 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 AWS CodeDeploy's +// API operation ListApplicationRevisions for usage and error information. +// +// Returned Error Codes: +// * ApplicationDoesNotExistException +// The application does not exist with the applicable IAM user or AWS account. +// +// * ApplicationNameRequiredException +// The minimum number of required application names was not specified. +// +// * InvalidApplicationNameException +// The application name was specified in an invalid format. +// +// * InvalidSortByException +// The column name to sort by is either not present or was specified in an invalid +// format. +// +// * InvalidSortOrderException +// The sort order was specified in an invalid format. +// +// * InvalidBucketNameFilterException +// The bucket name either doesn't exist or was specified in an invalid format. +// +// * InvalidKeyPrefixFilterException +// The specified key prefix filter was specified in an invalid format. +// +// * BucketNameFilterRequiredException +// A bucket name is required, but was not provided. +// +// * InvalidDeployedStateFilterException +// The deployed state filter was specified in an invalid format. +// +// * InvalidNextTokenException +// The next token was specified in an invalid format. +// func (c *CodeDeploy) ListApplicationRevisions(input *ListApplicationRevisionsInput) (*ListApplicationRevisionsOutput, error) { req, out := c.ListApplicationRevisionsRequest(input) err := req.Send() return out, err } +// ListApplicationRevisionsPages iterates over the pages of a ListApplicationRevisions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListApplicationRevisions 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 ListApplicationRevisions operation. +// pageNum := 0 +// err := client.ListApplicationRevisionsPages(params, +// func(page *ListApplicationRevisionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *CodeDeploy) ListApplicationRevisionsPages(input *ListApplicationRevisionsInput, fn func(p *ListApplicationRevisionsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListApplicationRevisionsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -661,7 +1878,30 @@ func (c *CodeDeploy) ListApplicationRevisionsPages(input *ListApplicationRevisio const opListApplications = "ListApplications" -// ListApplicationsRequest generates a request for the ListApplications operation. +// ListApplicationsRequest generates a "aws/request.Request" representing the +// client's request for the ListApplications operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListApplications for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListApplications method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListApplicationsRequest method. +// req, resp := client.ListApplicationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) ListApplicationsRequest(input *ListApplicationsInput) (req *request.Request, output *ListApplicationsOutput) { op := &request.Operation{ Name: opListApplications, @@ -685,13 +1925,44 @@ func (c *CodeDeploy) ListApplicationsRequest(input *ListApplicationsInput) (req return } +// ListApplications API operation for AWS CodeDeploy. +// // Lists the applications registered with the applicable IAM user or AWS 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 CodeDeploy's +// API operation ListApplications for usage and error information. +// +// Returned Error Codes: +// * InvalidNextTokenException +// The next token was specified in an invalid format. +// func (c *CodeDeploy) ListApplications(input *ListApplicationsInput) (*ListApplicationsOutput, error) { req, out := c.ListApplicationsRequest(input) err := req.Send() return out, err } +// ListApplicationsPages iterates over the pages of a ListApplications operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListApplications 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 ListApplications operation. +// pageNum := 0 +// err := client.ListApplicationsPages(params, +// func(page *ListApplicationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *CodeDeploy) ListApplicationsPages(input *ListApplicationsInput, fn func(p *ListApplicationsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListApplicationsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -702,7 +1973,30 @@ func (c *CodeDeploy) ListApplicationsPages(input *ListApplicationsInput, fn func const opListDeploymentConfigs = "ListDeploymentConfigs" -// ListDeploymentConfigsRequest generates a request for the ListDeploymentConfigs operation. +// ListDeploymentConfigsRequest generates a "aws/request.Request" representing the +// client's request for the ListDeploymentConfigs operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListDeploymentConfigs for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListDeploymentConfigs method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListDeploymentConfigsRequest method. +// req, resp := client.ListDeploymentConfigsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) ListDeploymentConfigsRequest(input *ListDeploymentConfigsInput) (req *request.Request, output *ListDeploymentConfigsOutput) { op := &request.Operation{ Name: opListDeploymentConfigs, @@ -726,13 +2020,44 @@ func (c *CodeDeploy) ListDeploymentConfigsRequest(input *ListDeploymentConfigsIn return } +// ListDeploymentConfigs API operation for AWS CodeDeploy. +// // Lists the deployment configurations with the applicable IAM user or AWS 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 CodeDeploy's +// API operation ListDeploymentConfigs for usage and error information. +// +// Returned Error Codes: +// * InvalidNextTokenException +// The next token was specified in an invalid format. +// func (c *CodeDeploy) ListDeploymentConfigs(input *ListDeploymentConfigsInput) (*ListDeploymentConfigsOutput, error) { req, out := c.ListDeploymentConfigsRequest(input) err := req.Send() return out, err } +// ListDeploymentConfigsPages iterates over the pages of a ListDeploymentConfigs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDeploymentConfigs 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 ListDeploymentConfigs operation. +// pageNum := 0 +// err := client.ListDeploymentConfigsPages(params, +// func(page *ListDeploymentConfigsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *CodeDeploy) ListDeploymentConfigsPages(input *ListDeploymentConfigsInput, fn func(p *ListDeploymentConfigsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListDeploymentConfigsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -743,7 +2068,30 @@ func (c *CodeDeploy) ListDeploymentConfigsPages(input *ListDeploymentConfigsInpu const opListDeploymentGroups = "ListDeploymentGroups" -// ListDeploymentGroupsRequest generates a request for the ListDeploymentGroups operation. +// ListDeploymentGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ListDeploymentGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListDeploymentGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListDeploymentGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListDeploymentGroupsRequest method. +// req, resp := client.ListDeploymentGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) ListDeploymentGroupsRequest(input *ListDeploymentGroupsInput) (req *request.Request, output *ListDeploymentGroupsOutput) { op := &request.Operation{ Name: opListDeploymentGroups, @@ -767,14 +2115,54 @@ func (c *CodeDeploy) ListDeploymentGroupsRequest(input *ListDeploymentGroupsInpu return } +// ListDeploymentGroups API operation for AWS CodeDeploy. +// // Lists the deployment groups for an application registered with the applicable // IAM user or AWS 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 CodeDeploy's +// API operation ListDeploymentGroups for usage and error information. +// +// Returned Error Codes: +// * ApplicationNameRequiredException +// The minimum number of required application names was not specified. +// +// * InvalidApplicationNameException +// The application name was specified in an invalid format. +// +// * ApplicationDoesNotExistException +// The application does not exist with the applicable IAM user or AWS account. +// +// * InvalidNextTokenException +// The next token was specified in an invalid format. +// func (c *CodeDeploy) ListDeploymentGroups(input *ListDeploymentGroupsInput) (*ListDeploymentGroupsOutput, error) { req, out := c.ListDeploymentGroupsRequest(input) err := req.Send() return out, err } +// ListDeploymentGroupsPages iterates over the pages of a ListDeploymentGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDeploymentGroups 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 ListDeploymentGroups operation. +// pageNum := 0 +// err := client.ListDeploymentGroupsPages(params, +// func(page *ListDeploymentGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *CodeDeploy) ListDeploymentGroupsPages(input *ListDeploymentGroupsInput, fn func(p *ListDeploymentGroupsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListDeploymentGroupsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -785,7 +2173,30 @@ func (c *CodeDeploy) ListDeploymentGroupsPages(input *ListDeploymentGroupsInput, const opListDeploymentInstances = "ListDeploymentInstances" -// ListDeploymentInstancesRequest generates a request for the ListDeploymentInstances operation. +// ListDeploymentInstancesRequest generates a "aws/request.Request" representing the +// client's request for the ListDeploymentInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListDeploymentInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListDeploymentInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListDeploymentInstancesRequest method. +// req, resp := client.ListDeploymentInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) ListDeploymentInstancesRequest(input *ListDeploymentInstancesInput) (req *request.Request, output *ListDeploymentInstancesOutput) { op := &request.Operation{ Name: opListDeploymentInstances, @@ -809,14 +2220,60 @@ func (c *CodeDeploy) ListDeploymentInstancesRequest(input *ListDeploymentInstanc return } +// ListDeploymentInstances API operation for AWS CodeDeploy. +// // Lists the instance for a deployment associated with the applicable IAM user // or AWS 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 CodeDeploy's +// API operation ListDeploymentInstances for usage and error information. +// +// Returned Error Codes: +// * DeploymentIdRequiredException +// At least one deployment ID must be specified. +// +// * DeploymentDoesNotExistException +// The deployment does not exist with the applicable IAM user or AWS account. +// +// * DeploymentNotStartedException +// The specified deployment has not started. +// +// * InvalidNextTokenException +// The next token was specified in an invalid format. +// +// * InvalidDeploymentIdException +// At least one of the deployment IDs was specified in an invalid format. +// +// * InvalidInstanceStatusException +// The specified instance status does not exist. +// func (c *CodeDeploy) ListDeploymentInstances(input *ListDeploymentInstancesInput) (*ListDeploymentInstancesOutput, error) { req, out := c.ListDeploymentInstancesRequest(input) err := req.Send() return out, err } +// ListDeploymentInstancesPages iterates over the pages of a ListDeploymentInstances operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDeploymentInstances 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 ListDeploymentInstances operation. +// pageNum := 0 +// err := client.ListDeploymentInstancesPages(params, +// func(page *ListDeploymentInstancesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *CodeDeploy) ListDeploymentInstancesPages(input *ListDeploymentInstancesInput, fn func(p *ListDeploymentInstancesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListDeploymentInstancesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -827,7 +2284,30 @@ func (c *CodeDeploy) ListDeploymentInstancesPages(input *ListDeploymentInstances const opListDeployments = "ListDeployments" -// ListDeploymentsRequest generates a request for the ListDeployments operation. +// ListDeploymentsRequest generates a "aws/request.Request" representing the +// client's request for the ListDeployments operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListDeployments for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListDeployments method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListDeploymentsRequest method. +// req, resp := client.ListDeploymentsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) ListDeploymentsRequest(input *ListDeploymentsInput) (req *request.Request, output *ListDeploymentsOutput) { op := &request.Operation{ Name: opListDeployments, @@ -851,14 +2331,70 @@ func (c *CodeDeploy) ListDeploymentsRequest(input *ListDeploymentsInput) (req *r return } +// ListDeployments API operation for AWS CodeDeploy. +// // Lists the deployments in a deployment group for an application registered // with the applicable IAM user or AWS 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 CodeDeploy's +// API operation ListDeployments for usage and error information. +// +// Returned Error Codes: +// * ApplicationNameRequiredException +// The minimum number of required application names was not specified. +// +// * InvalidApplicationNameException +// The application name was specified in an invalid format. +// +// * ApplicationDoesNotExistException +// The application does not exist with the applicable IAM user or AWS account. +// +// * InvalidDeploymentGroupNameException +// The deployment group name was specified in an invalid format. +// +// * DeploymentGroupDoesNotExistException +// The named deployment group does not exist with the applicable IAM user or +// AWS account. +// +// * DeploymentGroupNameRequiredException +// The deployment group name was not specified. +// +// * InvalidTimeRangeException +// The specified time range was specified in an invalid format. +// +// * InvalidDeploymentStatusException +// The specified deployment status doesn't exist or cannot be determined. +// +// * InvalidNextTokenException +// The next token was specified in an invalid format. +// func (c *CodeDeploy) ListDeployments(input *ListDeploymentsInput) (*ListDeploymentsOutput, error) { req, out := c.ListDeploymentsRequest(input) err := req.Send() return out, err } +// ListDeploymentsPages iterates over the pages of a ListDeployments operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDeployments 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 ListDeployments operation. +// pageNum := 0 +// err := client.ListDeploymentsPages(params, +// func(page *ListDeploymentsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *CodeDeploy) ListDeploymentsPages(input *ListDeploymentsInput, fn func(p *ListDeploymentsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListDeploymentsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -869,7 +2405,30 @@ func (c *CodeDeploy) ListDeploymentsPages(input *ListDeploymentsInput, fn func(p const opListOnPremisesInstances = "ListOnPremisesInstances" -// ListOnPremisesInstancesRequest generates a request for the ListOnPremisesInstances operation. +// ListOnPremisesInstancesRequest generates a "aws/request.Request" representing the +// client's request for the ListOnPremisesInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListOnPremisesInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListOnPremisesInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListOnPremisesInstancesRequest method. +// req, resp := client.ListOnPremisesInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) ListOnPremisesInstancesRequest(input *ListOnPremisesInstancesInput) (req *request.Request, output *ListOnPremisesInstancesOutput) { op := &request.Operation{ Name: opListOnPremisesInstances, @@ -887,11 +2446,31 @@ func (c *CodeDeploy) ListOnPremisesInstancesRequest(input *ListOnPremisesInstanc return } +// ListOnPremisesInstances API operation for AWS CodeDeploy. +// // Gets a list of names for one or more on-premises instances. // // Unless otherwise specified, both registered and deregistered on-premises // instance names will be listed. To list only registered or deregistered on-premises // instance names, use the registration status parameter. +// +// 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 CodeDeploy's +// API operation ListOnPremisesInstances for usage and error information. +// +// Returned Error Codes: +// * InvalidRegistrationStatusException +// The registration status was specified in an invalid format. +// +// * InvalidTagFilterException +// The specified tag filter was specified in an invalid format. +// +// * InvalidNextTokenException +// The next token was specified in an invalid format. +// func (c *CodeDeploy) ListOnPremisesInstances(input *ListOnPremisesInstancesInput) (*ListOnPremisesInstancesOutput, error) { req, out := c.ListOnPremisesInstancesRequest(input) err := req.Send() @@ -900,7 +2479,30 @@ func (c *CodeDeploy) ListOnPremisesInstances(input *ListOnPremisesInstancesInput const opRegisterApplicationRevision = "RegisterApplicationRevision" -// RegisterApplicationRevisionRequest generates a request for the RegisterApplicationRevision operation. +// RegisterApplicationRevisionRequest generates a "aws/request.Request" representing the +// client's request for the RegisterApplicationRevision operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RegisterApplicationRevision for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RegisterApplicationRevision method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RegisterApplicationRevisionRequest method. +// req, resp := client.RegisterApplicationRevisionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) RegisterApplicationRevisionRequest(input *RegisterApplicationRevisionInput) (req *request.Request, output *RegisterApplicationRevisionOutput) { op := &request.Operation{ Name: opRegisterApplicationRevision, @@ -920,7 +2522,36 @@ func (c *CodeDeploy) RegisterApplicationRevisionRequest(input *RegisterApplicati return } +// RegisterApplicationRevision API operation for AWS CodeDeploy. +// // Registers with AWS CodeDeploy a revision for the specified 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 AWS CodeDeploy's +// API operation RegisterApplicationRevision for usage and error information. +// +// Returned Error Codes: +// * ApplicationDoesNotExistException +// The application does not exist with the applicable IAM user or AWS account. +// +// * ApplicationNameRequiredException +// The minimum number of required application names was not specified. +// +// * InvalidApplicationNameException +// The application name was specified in an invalid format. +// +// * DescriptionTooLongException +// The description is too long. +// +// * RevisionRequiredException +// The revision ID was not specified. +// +// * InvalidRevisionException +// The revision was specified in an invalid format. +// func (c *CodeDeploy) RegisterApplicationRevision(input *RegisterApplicationRevisionInput) (*RegisterApplicationRevisionOutput, error) { req, out := c.RegisterApplicationRevisionRequest(input) err := req.Send() @@ -929,7 +2560,30 @@ func (c *CodeDeploy) RegisterApplicationRevision(input *RegisterApplicationRevis const opRegisterOnPremisesInstance = "RegisterOnPremisesInstance" -// RegisterOnPremisesInstanceRequest generates a request for the RegisterOnPremisesInstance operation. +// RegisterOnPremisesInstanceRequest generates a "aws/request.Request" representing the +// client's request for the RegisterOnPremisesInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RegisterOnPremisesInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RegisterOnPremisesInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RegisterOnPremisesInstanceRequest method. +// req, resp := client.RegisterOnPremisesInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) RegisterOnPremisesInstanceRequest(input *RegisterOnPremisesInstanceInput) (req *request.Request, output *RegisterOnPremisesInstanceOutput) { op := &request.Operation{ Name: opRegisterOnPremisesInstance, @@ -949,7 +2603,36 @@ func (c *CodeDeploy) RegisterOnPremisesInstanceRequest(input *RegisterOnPremises return } +// RegisterOnPremisesInstance API operation for AWS CodeDeploy. +// // Registers an on-premises instance. +// +// 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 CodeDeploy's +// API operation RegisterOnPremisesInstance for usage and error information. +// +// Returned Error Codes: +// * InstanceNameAlreadyRegisteredException +// The specified on-premises instance name is already registered. +// +// * IamUserArnAlreadyRegisteredException +// The specified IAM user ARN is already registered with an on-premises instance. +// +// * InstanceNameRequiredException +// An on-premises instance name was not specified. +// +// * IamUserArnRequiredException +// An IAM user ARN was not specified. +// +// * InvalidInstanceNameException +// The specified on-premises instance name was specified in an invalid format. +// +// * InvalidIamUserArnException +// The IAM user ARN was specified in an invalid format. +// func (c *CodeDeploy) RegisterOnPremisesInstance(input *RegisterOnPremisesInstanceInput) (*RegisterOnPremisesInstanceOutput, error) { req, out := c.RegisterOnPremisesInstanceRequest(input) err := req.Send() @@ -958,7 +2641,30 @@ func (c *CodeDeploy) RegisterOnPremisesInstance(input *RegisterOnPremisesInstanc const opRemoveTagsFromOnPremisesInstances = "RemoveTagsFromOnPremisesInstances" -// RemoveTagsFromOnPremisesInstancesRequest generates a request for the RemoveTagsFromOnPremisesInstances operation. +// RemoveTagsFromOnPremisesInstancesRequest generates a "aws/request.Request" representing the +// client's request for the RemoveTagsFromOnPremisesInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RemoveTagsFromOnPremisesInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RemoveTagsFromOnPremisesInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RemoveTagsFromOnPremisesInstancesRequest method. +// req, resp := client.RemoveTagsFromOnPremisesInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) RemoveTagsFromOnPremisesInstancesRequest(input *RemoveTagsFromOnPremisesInstancesInput) (req *request.Request, output *RemoveTagsFromOnPremisesInstancesOutput) { op := &request.Operation{ Name: opRemoveTagsFromOnPremisesInstances, @@ -978,7 +2684,37 @@ func (c *CodeDeploy) RemoveTagsFromOnPremisesInstancesRequest(input *RemoveTagsF return } +// RemoveTagsFromOnPremisesInstances API operation for AWS CodeDeploy. +// // Removes one or more tags from one or more on-premises instances. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeDeploy's +// API operation RemoveTagsFromOnPremisesInstances for usage and error information. +// +// Returned Error Codes: +// * InstanceNameRequiredException +// An on-premises instance name was not specified. +// +// * TagRequiredException +// A tag was not specified. +// +// * InvalidTagException +// The specified tag was specified in an invalid format. +// +// * TagLimitExceededException +// The maximum allowed number of tags was exceeded. +// +// * InstanceLimitExceededException +// The maximum number of allowed on-premises instances in a single call was +// exceeded. +// +// * InstanceNotRegisteredException +// The specified on-premises instance is not registered. +// func (c *CodeDeploy) RemoveTagsFromOnPremisesInstances(input *RemoveTagsFromOnPremisesInstancesInput) (*RemoveTagsFromOnPremisesInstancesOutput, error) { req, out := c.RemoveTagsFromOnPremisesInstancesRequest(input) err := req.Send() @@ -987,7 +2723,30 @@ func (c *CodeDeploy) RemoveTagsFromOnPremisesInstances(input *RemoveTagsFromOnPr const opStopDeployment = "StopDeployment" -// StopDeploymentRequest generates a request for the StopDeployment operation. +// StopDeploymentRequest generates a "aws/request.Request" representing the +// client's request for the StopDeployment operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See StopDeployment for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the StopDeployment method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the StopDeploymentRequest method. +// req, resp := client.StopDeploymentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) StopDeploymentRequest(input *StopDeploymentInput) (req *request.Request, output *StopDeploymentOutput) { op := &request.Operation{ Name: opStopDeployment, @@ -1005,7 +2764,30 @@ func (c *CodeDeploy) StopDeploymentRequest(input *StopDeploymentInput) (req *req return } +// StopDeployment API operation for AWS CodeDeploy. +// // Attempts to stop an ongoing deployment. +// +// 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 CodeDeploy's +// API operation StopDeployment for usage and error information. +// +// Returned Error Codes: +// * DeploymentIdRequiredException +// At least one deployment ID must be specified. +// +// * DeploymentDoesNotExistException +// The deployment does not exist with the applicable IAM user or AWS account. +// +// * DeploymentAlreadyCompletedException +// The deployment is already complete. +// +// * InvalidDeploymentIdException +// At least one of the deployment IDs was specified in an invalid format. +// func (c *CodeDeploy) StopDeployment(input *StopDeploymentInput) (*StopDeploymentOutput, error) { req, out := c.StopDeploymentRequest(input) err := req.Send() @@ -1014,7 +2796,30 @@ func (c *CodeDeploy) StopDeployment(input *StopDeploymentInput) (*StopDeployment const opUpdateApplication = "UpdateApplication" -// UpdateApplicationRequest generates a request for the UpdateApplication operation. +// UpdateApplicationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateApplication operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateApplication for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateApplication method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateApplicationRequest method. +// req, resp := client.UpdateApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) UpdateApplicationRequest(input *UpdateApplicationInput) (req *request.Request, output *UpdateApplicationOutput) { op := &request.Operation{ Name: opUpdateApplication, @@ -1034,7 +2839,31 @@ func (c *CodeDeploy) UpdateApplicationRequest(input *UpdateApplicationInput) (re return } +// UpdateApplication API operation for AWS CodeDeploy. +// // Changes the name of 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 AWS CodeDeploy's +// API operation UpdateApplication for usage and error information. +// +// Returned Error Codes: +// * ApplicationNameRequiredException +// The minimum number of required application names was not specified. +// +// * InvalidApplicationNameException +// The application name was specified in an invalid format. +// +// * ApplicationAlreadyExistsException +// An application with the specified name already exists with the applicable +// IAM user or AWS account. +// +// * ApplicationDoesNotExistException +// The application does not exist with the applicable IAM user or AWS account. +// func (c *CodeDeploy) UpdateApplication(input *UpdateApplicationInput) (*UpdateApplicationOutput, error) { req, out := c.UpdateApplicationRequest(input) err := req.Send() @@ -1043,7 +2872,30 @@ func (c *CodeDeploy) UpdateApplication(input *UpdateApplicationInput) (*UpdateAp const opUpdateDeploymentGroup = "UpdateDeploymentGroup" -// UpdateDeploymentGroupRequest generates a request for the UpdateDeploymentGroup operation. +// UpdateDeploymentGroupRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDeploymentGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateDeploymentGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateDeploymentGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateDeploymentGroupRequest method. +// req, resp := client.UpdateDeploymentGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *CodeDeploy) UpdateDeploymentGroupRequest(input *UpdateDeploymentGroupInput) (req *request.Request, output *UpdateDeploymentGroupOutput) { op := &request.Operation{ Name: opUpdateDeploymentGroup, @@ -1061,7 +2913,92 @@ func (c *CodeDeploy) UpdateDeploymentGroupRequest(input *UpdateDeploymentGroupIn return } +// UpdateDeploymentGroup API operation for AWS CodeDeploy. +// // Changes information about a deployment group. +// +// 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 CodeDeploy's +// API operation UpdateDeploymentGroup for usage and error information. +// +// Returned Error Codes: +// * ApplicationNameRequiredException +// The minimum number of required application names was not specified. +// +// * InvalidApplicationNameException +// The application name was specified in an invalid format. +// +// * ApplicationDoesNotExistException +// The application does not exist with the applicable IAM user or AWS account. +// +// * InvalidDeploymentGroupNameException +// The deployment group name was specified in an invalid format. +// +// * DeploymentGroupAlreadyExistsException +// A deployment group with the specified name already exists with the applicable +// IAM user or AWS account. +// +// * DeploymentGroupNameRequiredException +// The deployment group name was not specified. +// +// * DeploymentGroupDoesNotExistException +// The named deployment group does not exist with the applicable IAM user or +// AWS account. +// +// * InvalidEC2TagException +// The tag was specified in an invalid format. +// +// * InvalidTagException +// The specified tag was specified in an invalid format. +// +// * InvalidAutoScalingGroupException +// The Auto Scaling group was specified in an invalid format or does not exist. +// +// * InvalidDeploymentConfigNameException +// The deployment configuration name was specified in an invalid format. +// +// * DeploymentConfigDoesNotExistException +// The deployment configuration does not exist with the applicable IAM user +// or AWS account. +// +// * InvalidRoleException +// The service role ARN was specified in an invalid format. Or, if an Auto Scaling +// group was specified, the specified service role does not grant the appropriate +// permissions to Auto Scaling. +// +// * LifecycleHookLimitExceededException +// The limit for lifecycle hooks was exceeded. +// +// * InvalidTriggerConfigException +// The trigger was specified in an invalid format. +// +// * TriggerTargetsLimitExceededException +// The maximum allowed number of triggers was exceeded. +// +// * InvalidAlarmConfigException +// The format of the alarm configuration is invalid. Possible causes include: +// +// The alarm list is null. +// +// The alarm object is null. +// +// The alarm name is empty or null or exceeds the 255 character limit. +// +// Two alarms with the same name have been specified. +// +// The alarm configuration is enabled but the alarm list is empty. +// +// * AlarmsLimitExceededException +// The maximum number of alarms for a deployment group (10) was exceeded. +// +// * InvalidAutoRollbackConfigException +// The automatic rollback configuration was specified in an invalid format. +// For example, automatic rollback is enabled but an invalid triggering event +// type or no event types were listed. +// func (c *CodeDeploy) UpdateDeploymentGroup(input *UpdateDeploymentGroupInput) (*UpdateDeploymentGroupOutput, error) { req, out := c.UpdateDeploymentGroupRequest(input) err := req.Send() @@ -1073,12 +3010,16 @@ type AddTagsToOnPremisesInstancesInput struct { _ struct{} `type:"structure"` // The names of the on-premises instances to which to add tags. + // + // InstanceNames is a required field InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"` // The tag key-value pairs to add to the on-premises instances. // // Keys and values are both required. Keys cannot be null or empty strings. // Value-only tags are not allowed. + // + // Tags is a required field Tags []*Tag `locationName:"tags" type:"list" required:"true"` } @@ -1122,6 +3063,58 @@ func (s AddTagsToOnPremisesInstancesOutput) GoString() string { return s.String() } +// Information about an alarm. +type Alarm struct { + _ struct{} `type:"structure"` + + // The name of the alarm. Maximum length is 255 characters. Each alarm name + // can be used only once in a list of alarms. + Name *string `locationName:"name" type:"string"` +} + +// String returns the string representation +func (s Alarm) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Alarm) GoString() string { + return s.String() +} + +// Information about alarms associated with the deployment group. +type AlarmConfiguration struct { + _ struct{} `type:"structure"` + + // A list of alarms configured for the deployment group. A maximum of 10 alarms + // can be added to a deployment group. + Alarms []*Alarm `locationName:"alarms" type:"list"` + + // Indicates whether the alarm configuration is enabled. + Enabled *bool `locationName:"enabled" type:"boolean"` + + // Indicates whether a deployment should continue if information about the current + // state of alarms cannot be retrieved from Amazon CloudWatch. The default value + // is false. + // + // true: The deployment will proceed even if alarm status information can't + // be retrieved from Amazon CloudWatch. + // + // false: The deployment will stop if alarm status information can't be retrieved + // from Amazon CloudWatch. + IgnorePollAlarmFailure *bool `locationName:"ignorePollAlarmFailure" type:"boolean"` +} + +// String returns the string representation +func (s AlarmConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AlarmConfiguration) GoString() string { + return s.String() +} + // Information about an application. type ApplicationInfo struct { _ struct{} `type:"structure"` @@ -1150,6 +3143,29 @@ func (s ApplicationInfo) GoString() string { return s.String() } +// Information about a configuration for automatically rolling back to a previous +// version of an application revision when a deployment doesn't complete successfully. +type AutoRollbackConfiguration struct { + _ struct{} `type:"structure"` + + // Indicates whether a defined automatic rollback configuration is currently + // enabled. + Enabled *bool `locationName:"enabled" type:"boolean"` + + // The event type or types that trigger a rollback. + Events []*string `locationName:"events" type:"list"` +} + +// String returns the string representation +func (s AutoRollbackConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AutoRollbackConfiguration) GoString() string { + return s.String() +} + // Information about an Auto Scaling group. type AutoScalingGroup struct { _ struct{} `type:"structure"` @@ -1176,9 +3192,13 @@ type BatchGetApplicationRevisionsInput struct { _ struct{} `type:"structure"` // The name of an AWS CodeDeploy application about which to get revision information. + // + // ApplicationName is a required field ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` // Information to get about the application revisions, including type and location. + // + // Revisions is a required field Revisions []*RevisionLocation `locationName:"revisions" type:"list" required:"true"` } @@ -1277,9 +3297,13 @@ type BatchGetDeploymentGroupsInput struct { // The name of an AWS CodeDeploy application associated with the applicable // IAM user or AWS account. + // + // ApplicationName is a required field ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` // The deployment groups' names. + // + // DeploymentGroupNames is a required field DeploymentGroupNames []*string `locationName:"deploymentGroupNames" type:"list" required:"true"` } @@ -1338,9 +3362,13 @@ type BatchGetDeploymentInstancesInput struct { _ struct{} `type:"structure"` // The unique ID of a deployment. + // + // DeploymentId is a required field DeploymentId *string `locationName:"deploymentId" type:"string" required:"true"` // The unique IDs of instances in the deployment group. + // + // InstanceIds is a required field InstanceIds []*string `locationName:"instanceIds" type:"list" required:"true"` } @@ -1469,6 +3497,8 @@ type CreateApplicationInput struct { // The name of the application. This name must be unique with the applicable // IAM user or AWS account. + // + // ApplicationName is a required field ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` } @@ -1521,6 +3551,8 @@ type CreateDeploymentConfigInput struct { _ struct{} `type:"structure"` // The name of the deployment configuration to create. + // + // DeploymentConfigName is a required field DeploymentConfigName *string `locationName:"deploymentConfigName" min:"1" type:"string" required:"true"` // The minimum number of healthy instances that should be available at any time @@ -1529,13 +3561,16 @@ type CreateDeploymentConfigInput struct { // // The type parameter takes either of the following values: // - // HOST_COUNT: The value parameter represents the minimum number of healthy - // instances as an absolute value. FLEET_PERCENT: The value parameter represents - // the minimum number of healthy instances as a percentage of the total number - // of instances in the deployment. If you specify FLEET_PERCENT, at the start - // of the deployment, AWS CodeDeploy converts the percentage to the equivalent - // number of instance and rounds up fractional instances. The value parameter - // takes an integer. + // HOST_COUNT: The value parameter represents the minimum number of healthy + // instances as an absolute value. + // + // FLEET_PERCENT: The value parameter represents the minimum number of healthy + // instances as a percentage of the total number of instances in the deployment. + // If you specify FLEET_PERCENT, at the start of the deployment, AWS CodeDeploy + // converts the percentage to the equivalent number of instance and rounds up + // fractional instances. + // + // The value parameter takes an integer. // // For example, to set a minimum of 95% healthy instance, specify a type of // FLEET_PERCENT and a value of 95. @@ -1590,10 +3625,20 @@ func (s CreateDeploymentConfigOutput) GoString() string { type CreateDeploymentGroupInput struct { _ struct{} `type:"structure"` + // Information to add about Amazon CloudWatch alarms when the deployment group + // is created. + AlarmConfiguration *AlarmConfiguration `locationName:"alarmConfiguration" type:"structure"` + // The name of an AWS CodeDeploy application associated with the applicable // IAM user or AWS account. + // + // ApplicationName is a required field ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` + // Configuration information for an automatic rollback that is added when a + // deployment group is created. + AutoRollbackConfiguration *AutoRollbackConfiguration `locationName:"autoRollbackConfiguration" type:"structure"` + // A list of associated Auto Scaling groups. AutoScalingGroups []*string `locationName:"autoScalingGroups" type:"list"` @@ -1608,26 +3653,26 @@ type CreateDeploymentGroupInput struct { // // The predefined deployment configurations include the following: // - // CodeDeployDefault.AllAtOnce attempts to deploy an application revision - // to as many instance as possible at once. The status of the overall deployment + // CodeDeployDefault.AllAtOnce attempts to deploy an application revision + // to as many instances as possible at once. The status of the overall deployment // will be displayed as Succeeded if the application revision is deployed to // one or more of the instances. The status of the overall deployment will be // displayed as Failed if the application revision is not deployed to any of - // the instances. Using an example of nine instance, CodeDeployDefault.AllAtOnce - // will attempt to deploy to all nine instance at once. The overall deployment + // the instances. Using an example of nine instances, CodeDeployDefault.AllAtOnce + // will attempt to deploy to all nine instances at once. The overall deployment // will succeed if deployment to even a single instance is successful; it will - // fail only if deployments to all nine instance fail. - // - // CodeDeployDefault.HalfAtATime deploys to up to half of the instances at - // a time (with fractions rounded down). The overall deployment succeeds if - // the application revision is deployed to at least half of the instances (with - // fractions rounded up); otherwise, the deployment fails. In the example of - // nine instances, it will deploy to up to four instance at a time. The overall - // deployment succeeds if deployment to five or more instances succeed; otherwise, - // the deployment fails. The deployment may be successfully deployed to some - // instances even if the overall deployment fails. - // - // CodeDeployDefault.OneAtATime deploys the application revision to only + // fail only if deployments to all nine instances fail. + // + // CodeDeployDefault.HalfAtATime deploys to up to half of the instances + // at a time (with fractions rounded down). The overall deployment succeeds + // if the application revision is deployed to at least half of the instances + // (with fractions rounded up); otherwise, the deployment fails. In the example + // of nine instances, it will deploy to up to four instances at a time. The + // overall deployment succeeds if deployment to five or more instances succeed; + // otherwise, the deployment fails. The deployment may be successfully deployed + // to some instances even if the overall deployment fails. + // + // CodeDeployDefault.OneAtATime deploys the application revision to only // one instance at a time. // // For deployment groups that contain more than one instance: @@ -1642,16 +3687,18 @@ type CreateDeploymentGroupInput struct { // to be deployed to any but the last instance. The deployment may be successfully // deployed to some instances even if the overall deployment fails. // - // In an example using nine instance, it will deploy to one instance at a - // time. The overall deployment succeeds if deployment to the first eight instance - // is successful; the overall deployment fails if deployment to any of the first - // eight instance fails. + // In an example using nine instances, it will deploy to one instance at + // a time. The overall deployment succeeds if deployment to the first eight + // instances is successful; the overall deployment fails if deployment to any + // of the first eight instances fails. // // For deployment groups that contain only one instance, the overall deployment // is successful only if deployment to the single instance is successful DeploymentConfigName *string `locationName:"deploymentConfigName" min:"1" type:"string"` // The name of a new deployment group for the specified application. + // + // DeploymentGroupName is a required field DeploymentGroupName *string `locationName:"deploymentGroupName" min:"1" type:"string" required:"true"` // The Amazon EC2 tags on which to filter. @@ -1662,9 +3709,13 @@ type CreateDeploymentGroupInput struct { // A service role ARN that allows AWS CodeDeploy to act on the user's behalf // when interacting with AWS services. + // + // ServiceRoleArn is a required field ServiceRoleArn *string `locationName:"serviceRoleArn" type:"string" required:"true"` // Information about triggers to create when the deployment group is created. + // For examples, see Create a Trigger for an AWS CodeDeploy Event (http://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-notify-sns.html) + // in the AWS CodeDeploy User Guide. TriggerConfigurations []*TriggerConfig `locationName:"triggerConfigurations" type:"list"` } @@ -1730,8 +3781,14 @@ type CreateDeploymentInput struct { // The name of an AWS CodeDeploy application associated with the applicable // IAM user or AWS account. + // + // ApplicationName is a required field ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` + // Configuration information for an automatic rollback that is added when a + // deployment is created. + AutoRollbackConfiguration *AutoRollbackConfiguration `locationName:"autoRollbackConfiguration" type:"structure"` + // The name of a deployment configuration associated with the applicable IAM // user or AWS account. // @@ -1759,6 +3816,10 @@ type CreateDeploymentInput struct { // The type and location of the revision to deploy. Revision *RevisionLocation `locationName:"revision" type:"structure"` + + // Indicates whether to deploy to all instances or only to instances that are + // not running the latest application revision. + UpdateOutdatedInstancesOnly *bool `locationName:"updateOutdatedInstancesOnly" type:"boolean"` } // String returns the string representation @@ -1817,6 +3878,8 @@ type DeleteApplicationInput struct { // The name of an AWS CodeDeploy application associated with the applicable // IAM user or AWS account. + // + // ApplicationName is a required field ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` } @@ -1866,6 +3929,8 @@ type DeleteDeploymentConfigInput struct { // The name of a deployment configuration associated with the applicable IAM // user or AWS account. + // + // DeploymentConfigName is a required field DeploymentConfigName *string `locationName:"deploymentConfigName" min:"1" type:"string" required:"true"` } @@ -1915,9 +3980,13 @@ type DeleteDeploymentGroupInput struct { // The name of an AWS CodeDeploy application associated with the applicable // IAM user or AWS account. + // + // ApplicationName is a required field ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` // The name of an existing deployment group for the specified application. + // + // DeploymentGroupName is a required field DeploymentGroupName *string `locationName:"deploymentGroupName" min:"1" type:"string" required:"true"` } @@ -2007,9 +4076,16 @@ func (s DeploymentConfigInfo) GoString() string { type DeploymentGroupInfo struct { _ struct{} `type:"structure"` + // A list of alarms associated with the deployment group. + AlarmConfiguration *AlarmConfiguration `locationName:"alarmConfiguration" type:"structure"` + // The application name. ApplicationName *string `locationName:"applicationName" min:"1" type:"string"` + // Information about the automatic rollback configuration associated with the + // deployment group. + AutoRollbackConfiguration *AutoRollbackConfiguration `locationName:"autoRollbackConfiguration" type:"structure"` + // A list of associated Auto Scaling groups. AutoScalingGroups []*AutoScalingGroup `locationName:"autoScalingGroups" type:"list"` @@ -2035,7 +4111,7 @@ type DeploymentGroupInfo struct { // and location. TargetRevision *RevisionLocation `locationName:"targetRevision" type:"structure"` - // A list of associated triggers. + // Information about triggers associated with the deployment group. TriggerConfigurations []*TriggerConfig `locationName:"triggerConfigurations" type:"list"` } @@ -2056,6 +4132,10 @@ type DeploymentInfo struct { // The application name. ApplicationName *string `locationName:"applicationName" min:"1" type:"string"` + // Information about the automatic rollback configuration associated with the + // deployment. + AutoRollbackConfiguration *AutoRollbackConfiguration `locationName:"autoRollbackConfiguration" type:"structure"` + // A timestamp indicating when the deployment was complete. CompleteTime *time.Time `locationName:"completeTime" type:"timestamp" timestampFormat:"unix"` @@ -2064,8 +4144,11 @@ type DeploymentInfo struct { // The means by which the deployment was created: // - // user: A user created the deployment. autoscaling: Auto Scaling created - // the deployment. + // user: A user created the deployment. + // + // autoscaling: Auto Scaling created the deployment. + // + // codeDeployRollback: A rollback process created the deployment. Creator *string `locationName:"creator" type:"string" enum:"DeploymentCreator"` // The deployment configuration name. @@ -2101,6 +4184,9 @@ type DeploymentInfo struct { // from which to retrieve them. Revision *RevisionLocation `locationName:"revision" type:"structure"` + // Information about a deployment rollback. + RollbackInfo *RollbackInfo `locationName:"rollbackInfo" type:"structure"` + // A timestamp indicating when the deployment was deployed to the deployment // group. // @@ -2111,6 +4197,10 @@ type DeploymentInfo struct { // The current state of the deployment as a whole. Status *string `locationName:"status" type:"string" enum:"DeploymentStatus"` + + // Indicates whether only instances that are not running the latest application + // revision are to be deployed to. + UpdateOutdatedInstancesOnly *bool `locationName:"updateOutdatedInstancesOnly" type:"boolean"` } // String returns the string representation @@ -2159,6 +4249,8 @@ type DeregisterOnPremisesInstanceInput struct { _ struct{} `type:"structure"` // The name of the on-premises instance to deregister. + // + // InstanceName is a required field InstanceName *string `locationName:"instanceName" type:"string" required:"true"` } @@ -2205,12 +4297,19 @@ type Diagnostics struct { // The associated error code: // - // Success: The specified script ran. ScriptMissing: The specified script - // was not found in the specified location. ScriptNotExecutable: The specified - // script is not a recognized executable file type. ScriptTimedOut: The specified - // script did not finish running in the specified time period. ScriptFailed: - // The specified script failed to run as expected. UnknownError: The specified - // script did not run for an unknown reason. + // Success: The specified script ran. + // + // ScriptMissing: The specified script was not found in the specified location. + // + // ScriptNotExecutable: The specified script is not a recognized executable + // file type. + // + // ScriptTimedOut: The specified script did not finish running in the specified + // time period. + // + // ScriptFailed: The specified script failed to run as expected. + // + // UnknownError: The specified script did not run for an unknown reason. ErrorCode *string `locationName:"errorCode" type:"string" enum:"LifecycleErrorCode"` // The last portion of the diagnostic log. @@ -2245,7 +4344,11 @@ type EC2TagFilter struct { // The tag filter type: // - // KEY_ONLY: Key only. VALUE_ONLY: Value only. KEY_AND_VALUE: Key and value. + // KEY_ONLY: Key only. + // + // VALUE_ONLY: Value only. + // + // KEY_AND_VALUE: Key and value. Type *string `type:"string" enum:"EC2TagFilterType"` // The tag filter value. @@ -2268,24 +4371,41 @@ type ErrorInformation struct { // The error code: // - // APPLICATION_MISSING: The application was missing. This error code will + // APPLICATION_MISSING: The application was missing. This error code will // most likely be raised if the application is deleted after the deployment - // is created but before it is started. DEPLOYMENT_GROUP_MISSING: The deployment - // group was missing. This error code will most likely be raised if the deployment - // group is deleted after the deployment is created but before it is started. - // HEALTH_CONSTRAINTS: The deployment failed on too many instances to be successfully - // deployed within the instance health constraints specified. HEALTH_CONSTRAINTS_INVALID: - // The revision cannot be successfully deployed within the instance health constraints - // specified. IAM_ROLE_MISSING: The service role cannot be accessed. IAM_ROLE_PERMISSIONS: - // The service role does not have the correct permissions. INTERNAL_ERROR: There - // was an internal error. NO_EC2_SUBSCRIPTION: The calling account is not subscribed - // to the Amazon EC2 service. NO_INSTANCES: No instance were specified, or no - // instance can be found. OVER_MAX_INSTANCES: The maximum number of instance - // was exceeded. THROTTLED: The operation was throttled because the calling - // account exceeded the throttling limits of one or more AWS services. TIMEOUT: - // The deployment has timed out. REVISION_MISSING: The revision ID was missing. - // This error code will most likely be raised if the revision is deleted after + // is created but before it is started. + // + // DEPLOYMENT_GROUP_MISSING: The deployment group was missing. This error + // code will most likely be raised if the deployment group is deleted after // the deployment is created but before it is started. + // + // HEALTH_CONSTRAINTS: The deployment failed on too many instances to be + // successfully deployed within the instance health constraints specified. + // + // HEALTH_CONSTRAINTS_INVALID: The revision cannot be successfully deployed + // within the instance health constraints specified. + // + // IAM_ROLE_MISSING: The service role cannot be accessed. + // + // IAM_ROLE_PERMISSIONS: The service role does not have the correct permissions. + // + // INTERNAL_ERROR: There was an internal error. + // + // NO_EC2_SUBSCRIPTION: The calling account is not subscribed to the Amazon + // EC2 service. + // + // NO_INSTANCES: No instance were specified, or no instance can be found. + // + // OVER_MAX_INSTANCES: The maximum number of instance was exceeded. + // + // THROTTLED: The operation was throttled because the calling account exceeded + // the throttling limits of one or more AWS services. + // + // TIMEOUT: The deployment has timed out. + // + // REVISION_MISSING: The revision ID was missing. This error code will most + // likely be raised if the revision is deleted after the deployment is created + // but before it is started. Code *string `locationName:"code" type:"string" enum:"ErrorCode"` // An accompanying error message. @@ -2338,6 +4458,8 @@ type GetApplicationInput struct { // The name of an AWS CodeDeploy application associated with the applicable // IAM user or AWS account. + // + // ApplicationName is a required field ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` } @@ -2390,9 +4512,13 @@ type GetApplicationRevisionInput struct { _ struct{} `type:"structure"` // The name of the application that corresponds to the revision. + // + // ApplicationName is a required field ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` // Information about the application revision to get, including type and location. + // + // Revision is a required field Revision *RevisionLocation `locationName:"revision" type:"structure" required:"true"` } @@ -2455,6 +4581,8 @@ type GetDeploymentConfigInput struct { // The name of a deployment configuration associated with the applicable IAM // user or AWS account. + // + // DeploymentConfigName is a required field DeploymentConfigName *string `locationName:"deploymentConfigName" min:"1" type:"string" required:"true"` } @@ -2508,9 +4636,13 @@ type GetDeploymentGroupInput struct { // The name of an AWS CodeDeploy application associated with the applicable // IAM user or AWS account. + // + // ApplicationName is a required field ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` // The name of an existing deployment group for the specified application. + // + // DeploymentGroupName is a required field DeploymentGroupName *string `locationName:"deploymentGroupName" min:"1" type:"string" required:"true"` } @@ -2569,6 +4701,8 @@ type GetDeploymentInput struct { _ struct{} `type:"structure"` // A deployment ID associated with the applicable IAM user or AWS account. + // + // DeploymentId is a required field DeploymentId *string `locationName:"deploymentId" type:"string" required:"true"` } @@ -2600,9 +4734,13 @@ type GetDeploymentInstanceInput struct { _ struct{} `type:"structure"` // The unique ID of a deployment. + // + // DeploymentId is a required field DeploymentId *string `locationName:"deploymentId" type:"string" required:"true"` // The unique ID of an instance in the deployment group. + // + // InstanceId is a required field InstanceId *string `locationName:"instanceId" type:"string" required:"true"` } @@ -2673,6 +4811,8 @@ type GetOnPremisesInstanceInput struct { _ struct{} `type:"structure"` // The name of the on-premises instance about which to get information. + // + // InstanceName is a required field InstanceName *string `locationName:"instanceName" type:"string" required:"true"` } @@ -2794,11 +4934,17 @@ type InstanceSummary struct { // The deployment status for this instance: // - // Pending: The deployment is pending for this instance. In Progress: The - // deployment is in progress for this instance. Succeeded: The deployment has - // succeeded for this instance. Failed: The deployment has failed for this instance. - // Skipped: The deployment has been skipped for this instance. Unknown: The - // deployment status is unknown for this instance. + // Pending: The deployment is pending for this instance. + // + // In Progress: The deployment is in progress for this instance. + // + // Succeeded: The deployment has succeeded for this instance. + // + // Failed: The deployment has failed for this instance. + // + // Skipped: The deployment has been skipped for this instance. + // + // Unknown: The deployment status is unknown for this instance. Status *string `locationName:"status" type:"string" enum:"InstanceStatus"` } @@ -2831,11 +4977,17 @@ type LifecycleEvent struct { // The deployment lifecycle event status: // - // Pending: The deployment lifecycle event is pending. InProgress: The deployment - // lifecycle event is in progress. Succeeded: The deployment lifecycle event - // ran successfully. Failed: The deployment lifecycle event has failed. Skipped: - // The deployment lifecycle event has been skipped. Unknown: The deployment - // lifecycle event is unknown. + // Pending: The deployment lifecycle event is pending. + // + // InProgress: The deployment lifecycle event is in progress. + // + // Succeeded: The deployment lifecycle event ran successfully. + // + // Failed: The deployment lifecycle event has failed. + // + // Skipped: The deployment lifecycle event has been skipped. + // + // Unknown: The deployment lifecycle event is unknown. Status *string `locationName:"status" type:"string" enum:"LifecycleEventStatus"` } @@ -2855,14 +5007,19 @@ type ListApplicationRevisionsInput struct { // The name of an AWS CodeDeploy application associated with the applicable // IAM user or AWS account. + // + // ApplicationName is a required field ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` // Whether to list revisions based on whether the revision is the target revision // of an deployment group: // - // include: List revisions that are target revisions of a deployment group. - // exclude: Do not list revisions that are target revisions of a deployment - // group. ignore: List all revisions. + // include: List revisions that are target revisions of a deployment group. + // + // exclude: Do not list revisions that are target revisions of a deployment + // group. + // + // ignore: List all revisions. Deployed *string `locationName:"deployed" type:"string" enum:"ListStateFilterAction"` // An identifier returned from the previous list application revisions call. @@ -2879,17 +5036,24 @@ type ListApplicationRevisionsInput struct { // The column name to use to sort the list results: // - // registerTime: Sort by the time the revisions were registered with AWS CodeDeploy. - // firstUsedTime: Sort by the time the revisions were first used in a deployment. - // lastUsedTime: Sort by the time the revisions were last used in a deployment. - // If not specified or set to null, the results will be returned in an arbitrary + // registerTime: Sort by the time the revisions were registered with AWS + // CodeDeploy. + // + // firstUsedTime: Sort by the time the revisions were first used in a deployment. + // + // lastUsedTime: Sort by the time the revisions were last used in a deployment. + // + // If not specified or set to null, the results will be returned in an arbitrary // order. SortBy *string `locationName:"sortBy" type:"string" enum:"ApplicationRevisionSortBy"` // The order in which to sort the list results: // - // ascending: ascending order. descending: descending order. If not specified, - // the results will be sorted in ascending order. + // ascending: ascending order. + // + // descending: descending order. + // + // If not specified, the results will be sorted in ascending order. // // If set to null, the results will be sorted in an arbitrary order. SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrder"` @@ -3036,6 +5200,8 @@ type ListDeploymentGroupsInput struct { // The name of an AWS CodeDeploy application associated with the applicable // IAM user or AWS account. + // + // ApplicationName is a required field ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` // An identifier returned from the previous list deployment groups call. It @@ -3100,15 +5266,23 @@ type ListDeploymentInstancesInput struct { _ struct{} `type:"structure"` // The unique ID of a deployment. + // + // DeploymentId is a required field DeploymentId *string `locationName:"deploymentId" type:"string" required:"true"` // A subset of instances to list by status: // - // Pending: Include those instance with pending deployments. InProgress: Include - // those instance where deployments are still in progress. Succeeded: Include - // those instances with successful deployments. Failed: Include those instance - // with failed deployments. Skipped: Include those instance with skipped deployments. - // Unknown: Include those instance with deployments in an unknown state. + // Pending: Include those instance with pending deployments. + // + // InProgress: Include those instance where deployments are still in progress. + // + // Succeeded: Include those instances with successful deployments. + // + // Failed: Include those instance with failed deployments. + // + // Skipped: Include those instance with skipped deployments. + // + // Unknown: Include those instance with deployments in an unknown state. InstanceStatusFilter []*string `locationName:"instanceStatusFilter" type:"list"` // An identifier returned from the previous list deployment instances call. @@ -3178,11 +5352,17 @@ type ListDeploymentsInput struct { // A subset of deployments to list by status: // - // Created: Include created deployments in the resulting list. Queued: Include - // queued deployments in the resulting list. In Progress: Include in-progress - // deployments in the resulting list. Succeeded: Include successful deployments - // in the resulting list. Failed: Include failed deployments in the resulting - // list. Stopped: Include stopped deployments in the resulting list. + // Created: Include created deployments in the resulting list. + // + // Queued: Include queued deployments in the resulting list. + // + // In Progress: Include in-progress deployments in the resulting list. + // + // Succeeded: Include successful deployments in the resulting list. + // + // Failed: Include failed deployments in the resulting list. + // + // Stopped: Include stopped deployments in the resulting list. IncludeOnlyStatuses []*string `locationName:"includeOnlyStatuses" type:"list"` // An identifier returned from the previous list deployments call. It can be @@ -3240,8 +5420,6 @@ func (s ListDeploymentsOutput) GoString() string { } // Represents the input of a list on-premises instances operation. -// -// . type ListOnPremisesInstancesInput struct { _ struct{} `type:"structure"` @@ -3251,8 +5429,10 @@ type ListOnPremisesInstancesInput struct { // The registration status of the on-premises instances: // - // Deregistered: Include deregistered on-premises instances in the resulting - // list. Registered: Include registered on-premises instances in the resulting + // Deregistered: Include deregistered on-premises instances in the resulting + // list. + // + // Registered: Include registered on-premises instances in the resulting // list. RegistrationStatus *string `locationName:"registrationStatus" type:"string" enum:"RegistrationStatus"` @@ -3300,17 +5480,19 @@ type MinimumHealthyHosts struct { // The minimum healthy instance type: // - // HOST_COUNT: The minimum number of healthy instance as an absolute value. - // FLEET_PERCENT: The minimum number of healthy instance as a percentage of - // the total number of instance in the deployment. In an example of nine instance, - // if a HOST_COUNT of six is specified, deploy to up to three instances at a - // time. The deployment will be successful if six or more instances are deployed - // to successfully; otherwise, the deployment fails. If a FLEET_PERCENT of 40 - // is specified, deploy to up to five instance at a time. The deployment will - // be successful if four or more instance are deployed to successfully; otherwise, - // the deployment fails. - // - // In a call to the get deployment configuration operation, CodeDeployDefault.OneAtATime + // HOST_COUNT: The minimum number of healthy instance as an absolute value. + // + // FLEET_PERCENT: The minimum number of healthy instance as a percentage + // of the total number of instance in the deployment. + // + // In an example of nine instance, if a HOST_COUNT of six is specified, deploy + // to up to three instances at a time. The deployment will be successful if + // six or more instances are deployed to successfully; otherwise, the deployment + // fails. If a FLEET_PERCENT of 40 is specified, deploy to up to five instance + // at a time. The deployment will be successful if four or more instance are + // deployed to successfully; otherwise, the deployment fails. + // + // In a call to the get deployment configuration operation, CodeDeployDefault.OneAtATime // will return a minimum healthy instance type of MOST_CONCURRENCY and a value // of 1. This means a deployment to only one instance at a time. (You cannot // set the type to MOST_CONCURRENCY, only to HOST_COUNT or FLEET_PERCENT.) In @@ -3341,6 +5523,8 @@ type RegisterApplicationRevisionInput struct { // The name of an AWS CodeDeploy application associated with the applicable // IAM user or AWS account. + // + // ApplicationName is a required field ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` // A comment about the revision. @@ -3348,6 +5532,8 @@ type RegisterApplicationRevisionInput struct { // Information about the application revision to register, including type and // location. + // + // Revision is a required field Revision *RevisionLocation `locationName:"revision" type:"structure" required:"true"` } @@ -3399,9 +5585,13 @@ type RegisterOnPremisesInstanceInput struct { _ struct{} `type:"structure"` // The ARN of the IAM user to associate with the on-premises instance. + // + // IamUserArn is a required field IamUserArn *string `locationName:"iamUserArn" type:"string" required:"true"` // The name of the on-premises instance to register. + // + // InstanceName is a required field InstanceName *string `locationName:"instanceName" type:"string" required:"true"` } @@ -3450,9 +5640,13 @@ type RemoveTagsFromOnPremisesInstancesInput struct { _ struct{} `type:"structure"` // The names of the on-premises instances from which to remove tags. + // + // InstanceNames is a required field InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"` // The tag key-value pairs to remove from the on-premises instances. + // + // Tags is a required field Tags []*Tag `locationName:"tags" type:"list" required:"true"` } @@ -3526,8 +5720,9 @@ type RevisionLocation struct { // The type of application revision: // - // S3: An application revision stored in Amazon S3. GitHub: An application - // revision stored in GitHub. + // S3: An application revision stored in Amazon S3. + // + // GitHub: An application revision stored in GitHub. RevisionType *string `locationName:"revisionType" type:"string" enum:"RevisionLocationType"` // Information about the location of application artifacts stored in Amazon @@ -3545,6 +5740,32 @@ func (s RevisionLocation) GoString() string { return s.String() } +// Information about a deployment rollback. +type RollbackInfo struct { + _ struct{} `type:"structure"` + + // The ID of the deployment rollback. + RollbackDeploymentId *string `locationName:"rollbackDeploymentId" type:"string"` + + // Information describing the status of a deployment rollback; for example, + // whether the deployment can't be rolled back, is in progress, failed, or succeeded. + RollbackMessage *string `locationName:"rollbackMessage" type:"string"` + + // The deployment ID of the deployment that was underway and triggered a rollback + // deployment because it failed or was stopped. + RollbackTriggeringDeploymentId *string `locationName:"rollbackTriggeringDeploymentId" type:"string"` +} + +// String returns the string representation +func (s RollbackInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RollbackInfo) GoString() string { + return s.String() +} + // Information about the location of application artifacts stored in Amazon // S3. type S3Location struct { @@ -3555,8 +5776,11 @@ type S3Location struct { // The file type of the application revision. Must be one of the following: // - // tar: A tar archive file. tgz: A compressed tar archive file. zip: A zip - // archive file. + // tar: A tar archive file. + // + // tgz: A compressed tar archive file. + // + // zip: A zip archive file. BundleType *string `locationName:"bundleType" type:"string" enum:"BundleType"` // The ETag of the Amazon S3 object that represents the bundled artifacts for @@ -3592,7 +5816,14 @@ func (s S3Location) GoString() string { type StopDeploymentInput struct { _ struct{} `type:"structure"` + // Indicates, when a deployment is stopped, whether instances that have been + // updated should be rolled back to the previous version of the application + // revision. + AutoRollbackEnabled *bool `locationName:"autoRollbackEnabled" type:"boolean"` + // The unique ID of a deployment. + // + // DeploymentId is a required field DeploymentId *string `locationName:"deploymentId" type:"string" required:"true"` } @@ -3625,8 +5856,9 @@ type StopDeploymentOutput struct { // The status of the stop deployment operation: // - // Pending: The stop operation is pending. Succeeded: The stop operation was - // successful. + // Pending: The stop operation is pending. + // + // Succeeded: The stop operation was successful. Status *string `locationName:"status" type:"string" enum:"StopStatus"` // An accompanying status message. @@ -3673,7 +5905,11 @@ type TagFilter struct { // The on-premises instance tag filter type: // - // KEY_ONLY: Key only. VALUE_ONLY: Value only. KEY_AND_VALUE: Key and value. + // KEY_ONLY: Key only. + // + // VALUE_ONLY: Value only. + // + // KEY_AND_VALUE: Key and value. Type *string `type:"string" enum:"TagFilterType"` // The on-premises instance tag filter value. @@ -3696,12 +5932,12 @@ type TimeRange struct { // The end time of the time range. // - // Specify null to leave the end time open-ended. + // Specify null to leave the end time open-ended. End *time.Time `locationName:"end" type:"timestamp" timestampFormat:"unix"` // The start time of the time range. // - // Specify null to leave the start time open-ended. + // Specify null to leave the start time open-ended. Start *time.Time `locationName:"start" type:"timestamp" timestampFormat:"unix"` } @@ -3720,11 +5956,6 @@ type TriggerConfig struct { _ struct{} `type:"structure"` // The event type or types for which notifications are triggered. - // - // The following event type values are supported: - // - // DEPLOYMENT_START DEPLOYMENT_SUCCESS DEPLOYMENT_FAILURE DEPLOYMENT_STOP - // INSTANCE_START INSTANCE_SUCCESS INSTANCE_FAILURE TriggerEvents []*string `locationName:"triggerEvents" type:"list"` // The name of the notification trigger. @@ -3800,9 +6031,19 @@ func (s UpdateApplicationOutput) GoString() string { type UpdateDeploymentGroupInput struct { _ struct{} `type:"structure"` + // Information to add or change about Amazon CloudWatch alarms when the deployment + // group is updated. + AlarmConfiguration *AlarmConfiguration `locationName:"alarmConfiguration" type:"structure"` + // The application name corresponding to the deployment group to update. + // + // ApplicationName is a required field ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` + // Information for an automatic rollback configuration that is added or changed + // when a deployment group is updated. + AutoRollbackConfiguration *AutoRollbackConfiguration `locationName:"autoRollbackConfiguration" type:"structure"` + // The replacement list of Auto Scaling groups to be included in the deployment // group, if you want to change them. To keep the Auto Scaling groups, enter // their names. To remove Auto Scaling groups, do not enter any Auto Scaling @@ -3810,6 +6051,8 @@ type UpdateDeploymentGroupInput struct { AutoScalingGroups []*string `locationName:"autoScalingGroups" type:"list"` // The current name of the deployment group. + // + // CurrentDeploymentGroupName is a required field CurrentDeploymentGroupName *string `locationName:"currentDeploymentGroupName" min:"1" type:"string" required:"true"` // The replacement deployment configuration name to use, if you want to change @@ -3833,6 +6076,8 @@ type UpdateDeploymentGroupInput struct { ServiceRoleArn *string `locationName:"serviceRoleArn" type:"string"` // Information about triggers to change when the deployment group is updated. + // For examples, see Modify Triggers in an AWS CodeDeploy Deployment Group (http://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-notify-edit.html) + // in the AWS CodeDeploy User Guide. TriggerConfigurations []*TriggerConfig `locationName:"triggerConfigurations" type:"list"` } @@ -3897,194 +6142,280 @@ func (s UpdateDeploymentGroupOutput) GoString() string { } const ( - // @enum ApplicationRevisionSortBy + // ApplicationRevisionSortByRegisterTime is a ApplicationRevisionSortBy enum value ApplicationRevisionSortByRegisterTime = "registerTime" - // @enum ApplicationRevisionSortBy + + // ApplicationRevisionSortByFirstUsedTime is a ApplicationRevisionSortBy enum value ApplicationRevisionSortByFirstUsedTime = "firstUsedTime" - // @enum ApplicationRevisionSortBy + + // ApplicationRevisionSortByLastUsedTime is a ApplicationRevisionSortBy enum value ApplicationRevisionSortByLastUsedTime = "lastUsedTime" ) const ( - // @enum BundleType + // AutoRollbackEventDeploymentFailure is a AutoRollbackEvent enum value + AutoRollbackEventDeploymentFailure = "DEPLOYMENT_FAILURE" + + // AutoRollbackEventDeploymentStopOnAlarm is a AutoRollbackEvent enum value + AutoRollbackEventDeploymentStopOnAlarm = "DEPLOYMENT_STOP_ON_ALARM" + + // AutoRollbackEventDeploymentStopOnRequest is a AutoRollbackEvent enum value + AutoRollbackEventDeploymentStopOnRequest = "DEPLOYMENT_STOP_ON_REQUEST" +) + +const ( + // BundleTypeTar is a BundleType enum value BundleTypeTar = "tar" - // @enum BundleType + + // BundleTypeTgz is a BundleType enum value BundleTypeTgz = "tgz" - // @enum BundleType + + // BundleTypeZip is a BundleType enum value BundleTypeZip = "zip" ) const ( - // @enum DeploymentCreator + // DeploymentCreatorUser is a DeploymentCreator enum value DeploymentCreatorUser = "user" - // @enum DeploymentCreator + + // DeploymentCreatorAutoscaling is a DeploymentCreator enum value DeploymentCreatorAutoscaling = "autoscaling" + + // DeploymentCreatorCodeDeployRollback is a DeploymentCreator enum value + DeploymentCreatorCodeDeployRollback = "codeDeployRollback" ) const ( - // @enum DeploymentStatus + // DeploymentStatusCreated is a DeploymentStatus enum value DeploymentStatusCreated = "Created" - // @enum DeploymentStatus + + // DeploymentStatusQueued is a DeploymentStatus enum value DeploymentStatusQueued = "Queued" - // @enum DeploymentStatus + + // DeploymentStatusInProgress is a DeploymentStatus enum value DeploymentStatusInProgress = "InProgress" - // @enum DeploymentStatus + + // DeploymentStatusSucceeded is a DeploymentStatus enum value DeploymentStatusSucceeded = "Succeeded" - // @enum DeploymentStatus + + // DeploymentStatusFailed is a DeploymentStatus enum value DeploymentStatusFailed = "Failed" - // @enum DeploymentStatus + + // DeploymentStatusStopped is a DeploymentStatus enum value DeploymentStatusStopped = "Stopped" ) const ( - // @enum EC2TagFilterType + // EC2TagFilterTypeKeyOnly is a EC2TagFilterType enum value EC2TagFilterTypeKeyOnly = "KEY_ONLY" - // @enum EC2TagFilterType + + // EC2TagFilterTypeValueOnly is a EC2TagFilterType enum value EC2TagFilterTypeValueOnly = "VALUE_ONLY" - // @enum EC2TagFilterType + + // EC2TagFilterTypeKeyAndValue is a EC2TagFilterType enum value EC2TagFilterTypeKeyAndValue = "KEY_AND_VALUE" ) const ( - // @enum ErrorCode + // ErrorCodeDeploymentGroupMissing is a ErrorCode enum value ErrorCodeDeploymentGroupMissing = "DEPLOYMENT_GROUP_MISSING" - // @enum ErrorCode + + // ErrorCodeApplicationMissing is a ErrorCode enum value ErrorCodeApplicationMissing = "APPLICATION_MISSING" - // @enum ErrorCode + + // ErrorCodeRevisionMissing is a ErrorCode enum value ErrorCodeRevisionMissing = "REVISION_MISSING" - // @enum ErrorCode + + // ErrorCodeIamRoleMissing is a ErrorCode enum value ErrorCodeIamRoleMissing = "IAM_ROLE_MISSING" - // @enum ErrorCode + + // ErrorCodeIamRolePermissions is a ErrorCode enum value ErrorCodeIamRolePermissions = "IAM_ROLE_PERMISSIONS" - // @enum ErrorCode + + // ErrorCodeNoEc2Subscription is a ErrorCode enum value ErrorCodeNoEc2Subscription = "NO_EC2_SUBSCRIPTION" - // @enum ErrorCode + + // ErrorCodeOverMaxInstances is a ErrorCode enum value ErrorCodeOverMaxInstances = "OVER_MAX_INSTANCES" - // @enum ErrorCode + + // ErrorCodeNoInstances is a ErrorCode enum value ErrorCodeNoInstances = "NO_INSTANCES" - // @enum ErrorCode + + // ErrorCodeTimeout is a ErrorCode enum value ErrorCodeTimeout = "TIMEOUT" - // @enum ErrorCode + + // ErrorCodeHealthConstraintsInvalid is a ErrorCode enum value ErrorCodeHealthConstraintsInvalid = "HEALTH_CONSTRAINTS_INVALID" - // @enum ErrorCode + + // ErrorCodeHealthConstraints is a ErrorCode enum value ErrorCodeHealthConstraints = "HEALTH_CONSTRAINTS" - // @enum ErrorCode + + // ErrorCodeInternalError is a ErrorCode enum value ErrorCodeInternalError = "INTERNAL_ERROR" - // @enum ErrorCode + + // ErrorCodeThrottled is a ErrorCode enum value ErrorCodeThrottled = "THROTTLED" + + // ErrorCodeAlarmActive is a ErrorCode enum value + ErrorCodeAlarmActive = "ALARM_ACTIVE" + + // ErrorCodeAgentIssue is a ErrorCode enum value + ErrorCodeAgentIssue = "AGENT_ISSUE" + + // ErrorCodeAutoScalingIamRolePermissions is a ErrorCode enum value + ErrorCodeAutoScalingIamRolePermissions = "AUTO_SCALING_IAM_ROLE_PERMISSIONS" + + // ErrorCodeAutoScalingConfiguration is a ErrorCode enum value + ErrorCodeAutoScalingConfiguration = "AUTO_SCALING_CONFIGURATION" + + // ErrorCodeManualStop is a ErrorCode enum value + ErrorCodeManualStop = "MANUAL_STOP" ) const ( - // @enum InstanceStatus + // InstanceStatusPending is a InstanceStatus enum value InstanceStatusPending = "Pending" - // @enum InstanceStatus + + // InstanceStatusInProgress is a InstanceStatus enum value InstanceStatusInProgress = "InProgress" - // @enum InstanceStatus + + // InstanceStatusSucceeded is a InstanceStatus enum value InstanceStatusSucceeded = "Succeeded" - // @enum InstanceStatus + + // InstanceStatusFailed is a InstanceStatus enum value InstanceStatusFailed = "Failed" - // @enum InstanceStatus + + // InstanceStatusSkipped is a InstanceStatus enum value InstanceStatusSkipped = "Skipped" - // @enum InstanceStatus + + // InstanceStatusUnknown is a InstanceStatus enum value InstanceStatusUnknown = "Unknown" ) const ( - // @enum LifecycleErrorCode + // LifecycleErrorCodeSuccess is a LifecycleErrorCode enum value LifecycleErrorCodeSuccess = "Success" - // @enum LifecycleErrorCode + + // LifecycleErrorCodeScriptMissing is a LifecycleErrorCode enum value LifecycleErrorCodeScriptMissing = "ScriptMissing" - // @enum LifecycleErrorCode + + // LifecycleErrorCodeScriptNotExecutable is a LifecycleErrorCode enum value LifecycleErrorCodeScriptNotExecutable = "ScriptNotExecutable" - // @enum LifecycleErrorCode + + // LifecycleErrorCodeScriptTimedOut is a LifecycleErrorCode enum value LifecycleErrorCodeScriptTimedOut = "ScriptTimedOut" - // @enum LifecycleErrorCode + + // LifecycleErrorCodeScriptFailed is a LifecycleErrorCode enum value LifecycleErrorCodeScriptFailed = "ScriptFailed" - // @enum LifecycleErrorCode + + // LifecycleErrorCodeUnknownError is a LifecycleErrorCode enum value LifecycleErrorCodeUnknownError = "UnknownError" ) const ( - // @enum LifecycleEventStatus + // LifecycleEventStatusPending is a LifecycleEventStatus enum value LifecycleEventStatusPending = "Pending" - // @enum LifecycleEventStatus + + // LifecycleEventStatusInProgress is a LifecycleEventStatus enum value LifecycleEventStatusInProgress = "InProgress" - // @enum LifecycleEventStatus + + // LifecycleEventStatusSucceeded is a LifecycleEventStatus enum value LifecycleEventStatusSucceeded = "Succeeded" - // @enum LifecycleEventStatus + + // LifecycleEventStatusFailed is a LifecycleEventStatus enum value LifecycleEventStatusFailed = "Failed" - // @enum LifecycleEventStatus + + // LifecycleEventStatusSkipped is a LifecycleEventStatus enum value LifecycleEventStatusSkipped = "Skipped" - // @enum LifecycleEventStatus + + // LifecycleEventStatusUnknown is a LifecycleEventStatus enum value LifecycleEventStatusUnknown = "Unknown" ) const ( - // @enum ListStateFilterAction + // ListStateFilterActionInclude is a ListStateFilterAction enum value ListStateFilterActionInclude = "include" - // @enum ListStateFilterAction + + // ListStateFilterActionExclude is a ListStateFilterAction enum value ListStateFilterActionExclude = "exclude" - // @enum ListStateFilterAction + + // ListStateFilterActionIgnore is a ListStateFilterAction enum value ListStateFilterActionIgnore = "ignore" ) const ( - // @enum MinimumHealthyHostsType + // MinimumHealthyHostsTypeHostCount is a MinimumHealthyHostsType enum value MinimumHealthyHostsTypeHostCount = "HOST_COUNT" - // @enum MinimumHealthyHostsType + + // MinimumHealthyHostsTypeFleetPercent is a MinimumHealthyHostsType enum value MinimumHealthyHostsTypeFleetPercent = "FLEET_PERCENT" ) const ( - // @enum RegistrationStatus + // RegistrationStatusRegistered is a RegistrationStatus enum value RegistrationStatusRegistered = "Registered" - // @enum RegistrationStatus + + // RegistrationStatusDeregistered is a RegistrationStatus enum value RegistrationStatusDeregistered = "Deregistered" ) const ( - // @enum RevisionLocationType + // RevisionLocationTypeS3 is a RevisionLocationType enum value RevisionLocationTypeS3 = "S3" - // @enum RevisionLocationType + + // RevisionLocationTypeGitHub is a RevisionLocationType enum value RevisionLocationTypeGitHub = "GitHub" ) const ( - // @enum SortOrder + // SortOrderAscending is a SortOrder enum value SortOrderAscending = "ascending" - // @enum SortOrder + + // SortOrderDescending is a SortOrder enum value SortOrderDescending = "descending" ) const ( - // @enum StopStatus + // StopStatusPending is a StopStatus enum value StopStatusPending = "Pending" - // @enum StopStatus + + // StopStatusSucceeded is a StopStatus enum value StopStatusSucceeded = "Succeeded" ) const ( - // @enum TagFilterType + // TagFilterTypeKeyOnly is a TagFilterType enum value TagFilterTypeKeyOnly = "KEY_ONLY" - // @enum TagFilterType + + // TagFilterTypeValueOnly is a TagFilterType enum value TagFilterTypeValueOnly = "VALUE_ONLY" - // @enum TagFilterType + + // TagFilterTypeKeyAndValue is a TagFilterType enum value TagFilterTypeKeyAndValue = "KEY_AND_VALUE" ) const ( - // @enum TriggerEventType + // TriggerEventTypeDeploymentStart is a TriggerEventType enum value TriggerEventTypeDeploymentStart = "DeploymentStart" - // @enum TriggerEventType + + // TriggerEventTypeDeploymentSuccess is a TriggerEventType enum value TriggerEventTypeDeploymentSuccess = "DeploymentSuccess" - // @enum TriggerEventType + + // TriggerEventTypeDeploymentFailure is a TriggerEventType enum value TriggerEventTypeDeploymentFailure = "DeploymentFailure" - // @enum TriggerEventType + + // TriggerEventTypeDeploymentStop is a TriggerEventType enum value TriggerEventTypeDeploymentStop = "DeploymentStop" - // @enum TriggerEventType + + // TriggerEventTypeDeploymentRollback is a TriggerEventType enum value + TriggerEventTypeDeploymentRollback = "DeploymentRollback" + + // TriggerEventTypeInstanceStart is a TriggerEventType enum value TriggerEventTypeInstanceStart = "InstanceStart" - // @enum TriggerEventType + + // TriggerEventTypeInstanceSuccess is a TriggerEventType enum value TriggerEventTypeInstanceSuccess = "InstanceSuccess" - // @enum TriggerEventType + + // TriggerEventTypeInstanceFailure is a TriggerEventType enum value TriggerEventTypeInstanceFailure = "InstanceFailure" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/codedeploy/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/codedeploy/waiters.go new file mode 100644 index 000000000000..3d605b11bfe4 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/codedeploy/waiters.go @@ -0,0 +1,46 @@ +// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. + +package codedeploy + +import ( + "github.com/aws/aws-sdk-go/private/waiter" +) + +// WaitUntilDeploymentSuccessful uses the CodeDeploy API operation +// GetDeployment to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. +func (c *CodeDeploy) WaitUntilDeploymentSuccessful(input *GetDeploymentInput) error { + waiterCfg := waiter.Config{ + Operation: "GetDeployment", + Delay: 15, + MaxAttempts: 120, + Acceptors: []waiter.WaitAcceptor{ + { + State: "success", + Matcher: "path", + Argument: "deploymentInfo.status", + Expected: "Succeeded", + }, + { + State: "failure", + Matcher: "path", + Argument: "deploymentInfo.status", + Expected: "Failed", + }, + { + State: "failure", + Matcher: "path", + Argument: "deploymentInfo.status", + Expected: "Stopped", + }, + }, + } + + w := waiter.Waiter{ + Client: c, + Input: input, + Config: waiterCfg, + } + return w.Wait() +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/directoryservice/api.go b/vendor/github.com/aws/aws-sdk-go/service/directoryservice/api.go index 8c3b4251c221..610dbff11873 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/directoryservice/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/directoryservice/api.go @@ -11,9 +11,197 @@ import ( "github.com/aws/aws-sdk-go/aws/request" ) +const opAddIpRoutes = "AddIpRoutes" + +// AddIpRoutesRequest generates a "aws/request.Request" representing the +// client's request for the AddIpRoutes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AddIpRoutes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AddIpRoutes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AddIpRoutesRequest method. +// req, resp := client.AddIpRoutesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *DirectoryService) AddIpRoutesRequest(input *AddIpRoutesInput) (req *request.Request, output *AddIpRoutesOutput) { + op := &request.Operation{ + Name: opAddIpRoutes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AddIpRoutesInput{} + } + + req = c.newRequest(op, input, output) + output = &AddIpRoutesOutput{} + req.Data = output + return +} + +// AddIpRoutes API operation for AWS Directory Service. +// +// If the DNS server for your on-premises domain uses a publicly addressable +// IP address, you must add a CIDR address block to correctly route traffic +// to and from your Microsoft AD on Amazon Web Services. AddIpRoutes adds this +// address block. You can also use AddIpRoutes to facilitate routing traffic +// that uses public IP ranges from your Microsoft AD on AWS to a peer VPC. +// +// 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 Directory Service's +// API operation AddIpRoutes for usage and error information. +// +// Returned Error Codes: +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * EntityAlreadyExistsException +// The specified entity already exists. +// +// * InvalidParameterException +// One or more parameters are not valid. +// +// * DirectoryUnavailableException +// The specified directory is unavailable or could not be found. +// +// * IpRouteLimitExceededException +// The maximum allowed number of IP addresses was exceeded. The default limit +// is 100 IP address blocks. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// +func (c *DirectoryService) AddIpRoutes(input *AddIpRoutesInput) (*AddIpRoutesOutput, error) { + req, out := c.AddIpRoutesRequest(input) + err := req.Send() + return out, err +} + +const opAddTagsToResource = "AddTagsToResource" + +// AddTagsToResourceRequest generates a "aws/request.Request" representing the +// client's request for the AddTagsToResource operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AddTagsToResource for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AddTagsToResource method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AddTagsToResourceRequest method. +// req, resp := client.AddTagsToResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *DirectoryService) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *AddTagsToResourceOutput) { + op := &request.Operation{ + Name: opAddTagsToResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AddTagsToResourceInput{} + } + + req = c.newRequest(op, input, output) + output = &AddTagsToResourceOutput{} + req.Data = output + return +} + +// AddTagsToResource API operation for AWS Directory Service. +// +// Adds or overwrites one or more tags for the specified Amazon Directory Services +// directory. Each directory can have a maximum of 10 tags. Each tag consists +// of a key and optional value. Tag keys must be unique to each resource. +// +// 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 Directory Service's +// API operation AddTagsToResource for usage and error information. +// +// Returned Error Codes: +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * InvalidParameterException +// One or more parameters are not valid. +// +// * TagLimitExceededException +// The maximum allowed number of tags was exceeded. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// +func (c *DirectoryService) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResourceOutput, error) { + req, out := c.AddTagsToResourceRequest(input) + err := req.Send() + return out, err +} + const opConnectDirectory = "ConnectDirectory" -// ConnectDirectoryRequest generates a request for the ConnectDirectory operation. +// ConnectDirectoryRequest generates a "aws/request.Request" representing the +// client's request for the ConnectDirectory operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ConnectDirectory for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ConnectDirectory method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ConnectDirectoryRequest method. +// req, resp := client.ConnectDirectoryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) ConnectDirectoryRequest(input *ConnectDirectoryInput) (req *request.Request, output *ConnectDirectoryOutput) { op := &request.Operation{ Name: opConnectDirectory, @@ -31,7 +219,32 @@ func (c *DirectoryService) ConnectDirectoryRequest(input *ConnectDirectoryInput) return } +// ConnectDirectory API operation for AWS Directory Service. +// // Creates an AD Connector to connect to an on-premises directory. +// +// 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 Directory Service's +// API operation ConnectDirectory for usage and error information. +// +// Returned Error Codes: +// * DirectoryLimitExceededException +// The maximum number of directories in the region has been reached. You can +// use the GetDirectoryLimits operation to determine your directory limits in +// the region. +// +// * InvalidParameterException +// One or more parameters are not valid. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// func (c *DirectoryService) ConnectDirectory(input *ConnectDirectoryInput) (*ConnectDirectoryOutput, error) { req, out := c.ConnectDirectoryRequest(input) err := req.Send() @@ -40,7 +253,30 @@ func (c *DirectoryService) ConnectDirectory(input *ConnectDirectoryInput) (*Conn const opCreateAlias = "CreateAlias" -// CreateAliasRequest generates a request for the CreateAlias operation. +// CreateAliasRequest generates a "aws/request.Request" representing the +// client's request for the CreateAlias operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateAlias for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateAlias method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateAliasRequest method. +// req, resp := client.CreateAliasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) CreateAliasRequest(input *CreateAliasInput) (req *request.Request, output *CreateAliasOutput) { op := &request.Operation{ Name: opCreateAlias, @@ -58,12 +294,38 @@ func (c *DirectoryService) CreateAliasRequest(input *CreateAliasInput) (req *req return } +// CreateAlias API operation for AWS Directory Service. +// // Creates an alias for a directory and assigns the alias to the directory. // The alias is used to construct the access URL for the directory, such as -// http://alias.awsapps.com. +// http://.awsapps.com. // // After an alias has been created, it cannot be deleted or reused, so this // operation should only be used when absolutely necessary. +// +// 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 Directory Service's +// API operation CreateAlias for usage and error information. +// +// Returned Error Codes: +// * EntityAlreadyExistsException +// The specified entity already exists. +// +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * InvalidParameterException +// One or more parameters are not valid. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// func (c *DirectoryService) CreateAlias(input *CreateAliasInput) (*CreateAliasOutput, error) { req, out := c.CreateAliasRequest(input) err := req.Send() @@ -72,7 +334,30 @@ func (c *DirectoryService) CreateAlias(input *CreateAliasInput) (*CreateAliasOut const opCreateComputer = "CreateComputer" -// CreateComputerRequest generates a request for the CreateComputer operation. +// CreateComputerRequest generates a "aws/request.Request" representing the +// client's request for the CreateComputer operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateComputer for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateComputer method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateComputerRequest method. +// req, resp := client.CreateComputerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) CreateComputerRequest(input *CreateComputerInput) (req *request.Request, output *CreateComputerOutput) { op := &request.Operation{ Name: opCreateComputer, @@ -90,8 +375,43 @@ func (c *DirectoryService) CreateComputerRequest(input *CreateComputerInput) (re return } +// CreateComputer API operation for AWS Directory Service. +// // Creates a computer account in the specified directory, and joins the computer // to the directory. +// +// 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 Directory Service's +// API operation CreateComputer for usage and error information. +// +// Returned Error Codes: +// * AuthenticationFailedException +// An authentication error occurred. +// +// * DirectoryUnavailableException +// The specified directory is unavailable or could not be found. +// +// * EntityAlreadyExistsException +// The specified entity already exists. +// +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * InvalidParameterException +// One or more parameters are not valid. +// +// * UnsupportedOperationException +// The operation is not supported. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// func (c *DirectoryService) CreateComputer(input *CreateComputerInput) (*CreateComputerOutput, error) { req, out := c.CreateComputerRequest(input) err := req.Send() @@ -100,7 +420,30 @@ func (c *DirectoryService) CreateComputer(input *CreateComputerInput) (*CreateCo const opCreateConditionalForwarder = "CreateConditionalForwarder" -// CreateConditionalForwarderRequest generates a request for the CreateConditionalForwarder operation. +// CreateConditionalForwarderRequest generates a "aws/request.Request" representing the +// client's request for the CreateConditionalForwarder operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateConditionalForwarder for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateConditionalForwarder method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateConditionalForwarderRequest method. +// req, resp := client.CreateConditionalForwarderRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) CreateConditionalForwarderRequest(input *CreateConditionalForwarderInput) (req *request.Request, output *CreateConditionalForwarderOutput) { op := &request.Operation{ Name: opCreateConditionalForwarder, @@ -118,9 +461,41 @@ func (c *DirectoryService) CreateConditionalForwarderRequest(input *CreateCondit return } +// CreateConditionalForwarder API operation for AWS Directory Service. +// // Creates a conditional forwarder associated with your AWS directory. Conditional // forwarders are required in order to set up a trust relationship with another // domain. The conditional forwarder points to the trusted domain. +// +// 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 Directory Service's +// API operation CreateConditionalForwarder for usage and error information. +// +// Returned Error Codes: +// * EntityAlreadyExistsException +// The specified entity already exists. +// +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * DirectoryUnavailableException +// The specified directory is unavailable or could not be found. +// +// * InvalidParameterException +// One or more parameters are not valid. +// +// * UnsupportedOperationException +// The operation is not supported. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// func (c *DirectoryService) CreateConditionalForwarder(input *CreateConditionalForwarderInput) (*CreateConditionalForwarderOutput, error) { req, out := c.CreateConditionalForwarderRequest(input) err := req.Send() @@ -129,7 +504,30 @@ func (c *DirectoryService) CreateConditionalForwarder(input *CreateConditionalFo const opCreateDirectory = "CreateDirectory" -// CreateDirectoryRequest generates a request for the CreateDirectory operation. +// CreateDirectoryRequest generates a "aws/request.Request" representing the +// client's request for the CreateDirectory operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateDirectory for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateDirectory method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateDirectoryRequest method. +// req, resp := client.CreateDirectoryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) CreateDirectoryRequest(input *CreateDirectoryInput) (req *request.Request, output *CreateDirectoryOutput) { op := &request.Operation{ Name: opCreateDirectory, @@ -147,7 +545,32 @@ func (c *DirectoryService) CreateDirectoryRequest(input *CreateDirectoryInput) ( return } +// CreateDirectory API operation for AWS Directory Service. +// // Creates a Simple AD directory. +// +// 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 Directory Service's +// API operation CreateDirectory for usage and error information. +// +// Returned Error Codes: +// * DirectoryLimitExceededException +// The maximum number of directories in the region has been reached. You can +// use the GetDirectoryLimits operation to determine your directory limits in +// the region. +// +// * InvalidParameterException +// One or more parameters are not valid. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// func (c *DirectoryService) CreateDirectory(input *CreateDirectoryInput) (*CreateDirectoryOutput, error) { req, out := c.CreateDirectoryRequest(input) err := req.Send() @@ -156,7 +579,30 @@ func (c *DirectoryService) CreateDirectory(input *CreateDirectoryInput) (*Create const opCreateMicrosoftAD = "CreateMicrosoftAD" -// CreateMicrosoftADRequest generates a request for the CreateMicrosoftAD operation. +// CreateMicrosoftADRequest generates a "aws/request.Request" representing the +// client's request for the CreateMicrosoftAD operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateMicrosoftAD for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateMicrosoftAD method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateMicrosoftADRequest method. +// req, resp := client.CreateMicrosoftADRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) CreateMicrosoftADRequest(input *CreateMicrosoftADInput) (req *request.Request, output *CreateMicrosoftADOutput) { op := &request.Operation{ Name: opCreateMicrosoftAD, @@ -174,7 +620,35 @@ func (c *DirectoryService) CreateMicrosoftADRequest(input *CreateMicrosoftADInpu return } +// CreateMicrosoftAD API operation for AWS Directory Service. +// // Creates a Microsoft AD in the AWS cloud. +// +// 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 Directory Service's +// API operation CreateMicrosoftAD for usage and error information. +// +// Returned Error Codes: +// * DirectoryLimitExceededException +// The maximum number of directories in the region has been reached. You can +// use the GetDirectoryLimits operation to determine your directory limits in +// the region. +// +// * InvalidParameterException +// One or more parameters are not valid. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// +// * UnsupportedOperationException +// The operation is not supported. +// func (c *DirectoryService) CreateMicrosoftAD(input *CreateMicrosoftADInput) (*CreateMicrosoftADOutput, error) { req, out := c.CreateMicrosoftADRequest(input) err := req.Send() @@ -183,7 +657,30 @@ func (c *DirectoryService) CreateMicrosoftAD(input *CreateMicrosoftADInput) (*Cr const opCreateSnapshot = "CreateSnapshot" -// CreateSnapshotRequest generates a request for the CreateSnapshot operation. +// CreateSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the CreateSnapshot operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateSnapshot for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateSnapshot method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateSnapshotRequest method. +// req, resp := client.CreateSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *CreateSnapshotOutput) { op := &request.Operation{ Name: opCreateSnapshot, @@ -201,9 +698,37 @@ func (c *DirectoryService) CreateSnapshotRequest(input *CreateSnapshotInput) (re return } +// CreateSnapshot API operation for AWS Directory Service. +// // Creates a snapshot of a Simple AD or Microsoft AD directory in the AWS cloud. // // You cannot take snapshots of AD Connector directories. +// +// 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 Directory Service's +// API operation CreateSnapshot for usage and error information. +// +// Returned Error Codes: +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * InvalidParameterException +// One or more parameters are not valid. +// +// * SnapshotLimitExceededException +// The maximum number of manual snapshots for the directory has been reached. +// You can use the GetSnapshotLimits operation to determine the snapshot limits +// for a directory. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// func (c *DirectoryService) CreateSnapshot(input *CreateSnapshotInput) (*CreateSnapshotOutput, error) { req, out := c.CreateSnapshotRequest(input) err := req.Send() @@ -212,7 +737,30 @@ func (c *DirectoryService) CreateSnapshot(input *CreateSnapshotInput) (*CreateSn const opCreateTrust = "CreateTrust" -// CreateTrustRequest generates a request for the CreateTrust operation. +// CreateTrustRequest generates a "aws/request.Request" representing the +// client's request for the CreateTrust operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateTrust for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateTrust method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateTrustRequest method. +// req, resp := client.CreateTrustRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) CreateTrustRequest(input *CreateTrustInput) (req *request.Request, output *CreateTrustOutput) { op := &request.Operation{ Name: opCreateTrust, @@ -230,6 +778,8 @@ func (c *DirectoryService) CreateTrustRequest(input *CreateTrustInput) (req *req return } +// CreateTrust API operation for AWS Directory Service. +// // AWS Directory Service for Microsoft Active Directory allows you to configure // trust relationships. For example, you can establish a trust between your // Microsoft AD in the AWS cloud, and your existing on-premises Microsoft Active @@ -238,6 +788,33 @@ func (c *DirectoryService) CreateTrustRequest(input *CreateTrustInput) (req *req // // This action initiates the creation of the AWS side of a trust relationship // between a Microsoft AD in the AWS cloud and an external domain. +// +// 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 Directory Service's +// API operation CreateTrust for usage and error information. +// +// Returned Error Codes: +// * EntityAlreadyExistsException +// The specified entity already exists. +// +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * InvalidParameterException +// One or more parameters are not valid. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// +// * UnsupportedOperationException +// The operation is not supported. +// func (c *DirectoryService) CreateTrust(input *CreateTrustInput) (*CreateTrustOutput, error) { req, out := c.CreateTrustRequest(input) err := req.Send() @@ -246,7 +823,30 @@ func (c *DirectoryService) CreateTrust(input *CreateTrustInput) (*CreateTrustOut const opDeleteConditionalForwarder = "DeleteConditionalForwarder" -// DeleteConditionalForwarderRequest generates a request for the DeleteConditionalForwarder operation. +// DeleteConditionalForwarderRequest generates a "aws/request.Request" representing the +// client's request for the DeleteConditionalForwarder operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteConditionalForwarder for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteConditionalForwarder method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteConditionalForwarderRequest method. +// req, resp := client.DeleteConditionalForwarderRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) DeleteConditionalForwarderRequest(input *DeleteConditionalForwarderInput) (req *request.Request, output *DeleteConditionalForwarderOutput) { op := &request.Operation{ Name: opDeleteConditionalForwarder, @@ -264,7 +864,36 @@ func (c *DirectoryService) DeleteConditionalForwarderRequest(input *DeleteCondit return } +// DeleteConditionalForwarder API operation for AWS Directory Service. +// // Deletes a conditional forwarder that has been set up for your AWS directory. +// +// 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 Directory Service's +// API operation DeleteConditionalForwarder for usage and error information. +// +// Returned Error Codes: +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * DirectoryUnavailableException +// The specified directory is unavailable or could not be found. +// +// * InvalidParameterException +// One or more parameters are not valid. +// +// * UnsupportedOperationException +// The operation is not supported. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// func (c *DirectoryService) DeleteConditionalForwarder(input *DeleteConditionalForwarderInput) (*DeleteConditionalForwarderOutput, error) { req, out := c.DeleteConditionalForwarderRequest(input) err := req.Send() @@ -273,7 +902,30 @@ func (c *DirectoryService) DeleteConditionalForwarder(input *DeleteConditionalFo const opDeleteDirectory = "DeleteDirectory" -// DeleteDirectoryRequest generates a request for the DeleteDirectory operation. +// DeleteDirectoryRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDirectory operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteDirectory for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteDirectory method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteDirectoryRequest method. +// req, resp := client.DeleteDirectoryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) DeleteDirectoryRequest(input *DeleteDirectoryInput) (req *request.Request, output *DeleteDirectoryOutput) { op := &request.Operation{ Name: opDeleteDirectory, @@ -291,7 +943,27 @@ func (c *DirectoryService) DeleteDirectoryRequest(input *DeleteDirectoryInput) ( return } +// DeleteDirectory API operation for AWS Directory Service. +// // Deletes an AWS Directory Service directory. +// +// 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 Directory Service's +// API operation DeleteDirectory for usage and error information. +// +// Returned Error Codes: +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// func (c *DirectoryService) DeleteDirectory(input *DeleteDirectoryInput) (*DeleteDirectoryOutput, error) { req, out := c.DeleteDirectoryRequest(input) err := req.Send() @@ -300,7 +972,30 @@ func (c *DirectoryService) DeleteDirectory(input *DeleteDirectoryInput) (*Delete const opDeleteSnapshot = "DeleteSnapshot" -// DeleteSnapshotRequest generates a request for the DeleteSnapshot operation. +// DeleteSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSnapshot operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteSnapshot for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteSnapshot method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteSnapshotRequest method. +// req, resp := client.DeleteSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) { op := &request.Operation{ Name: opDeleteSnapshot, @@ -318,7 +1013,30 @@ func (c *DirectoryService) DeleteSnapshotRequest(input *DeleteSnapshotInput) (re return } +// DeleteSnapshot API operation for AWS Directory Service. +// // Deletes a directory snapshot. +// +// 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 Directory Service's +// API operation DeleteSnapshot for usage and error information. +// +// Returned Error Codes: +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * InvalidParameterException +// One or more parameters are not valid. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// func (c *DirectoryService) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) { req, out := c.DeleteSnapshotRequest(input) err := req.Send() @@ -327,7 +1045,30 @@ func (c *DirectoryService) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSn const opDeleteTrust = "DeleteTrust" -// DeleteTrustRequest generates a request for the DeleteTrust operation. +// DeleteTrustRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTrust operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteTrust for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteTrust method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteTrustRequest method. +// req, resp := client.DeleteTrustRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) DeleteTrustRequest(input *DeleteTrustInput) (req *request.Request, output *DeleteTrustOutput) { op := &request.Operation{ Name: opDeleteTrust, @@ -345,8 +1086,34 @@ func (c *DirectoryService) DeleteTrustRequest(input *DeleteTrustInput) (req *req return } +// DeleteTrust API operation for AWS Directory Service. +// // Deletes an existing trust relationship between your Microsoft AD in the AWS // cloud and an external domain. +// +// 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 Directory Service's +// API operation DeleteTrust for usage and error information. +// +// Returned Error Codes: +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * InvalidParameterException +// One or more parameters are not valid. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// +// * UnsupportedOperationException +// The operation is not supported. +// func (c *DirectoryService) DeleteTrust(input *DeleteTrustInput) (*DeleteTrustOutput, error) { req, out := c.DeleteTrustRequest(input) err := req.Send() @@ -355,7 +1122,30 @@ func (c *DirectoryService) DeleteTrust(input *DeleteTrustInput) (*DeleteTrustOut const opDeregisterEventTopic = "DeregisterEventTopic" -// DeregisterEventTopicRequest generates a request for the DeregisterEventTopic operation. +// DeregisterEventTopicRequest generates a "aws/request.Request" representing the +// client's request for the DeregisterEventTopic operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeregisterEventTopic for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeregisterEventTopic method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeregisterEventTopicRequest method. +// req, resp := client.DeregisterEventTopicRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) DeregisterEventTopicRequest(input *DeregisterEventTopicInput) (req *request.Request, output *DeregisterEventTopicOutput) { op := &request.Operation{ Name: opDeregisterEventTopic, @@ -373,7 +1163,30 @@ func (c *DirectoryService) DeregisterEventTopicRequest(input *DeregisterEventTop return } +// DeregisterEventTopic API operation for AWS Directory Service. +// // Removes the specified directory as a publisher to the specified SNS topic. +// +// 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 Directory Service's +// API operation DeregisterEventTopic for usage and error information. +// +// Returned Error Codes: +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * InvalidParameterException +// One or more parameters are not valid. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// func (c *DirectoryService) DeregisterEventTopic(input *DeregisterEventTopicInput) (*DeregisterEventTopicOutput, error) { req, out := c.DeregisterEventTopicRequest(input) err := req.Send() @@ -382,7 +1195,30 @@ func (c *DirectoryService) DeregisterEventTopic(input *DeregisterEventTopicInput const opDescribeConditionalForwarders = "DescribeConditionalForwarders" -// DescribeConditionalForwardersRequest generates a request for the DescribeConditionalForwarders operation. +// DescribeConditionalForwardersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeConditionalForwarders operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeConditionalForwarders for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeConditionalForwarders method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeConditionalForwardersRequest method. +// req, resp := client.DescribeConditionalForwardersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) DescribeConditionalForwardersRequest(input *DescribeConditionalForwardersInput) (req *request.Request, output *DescribeConditionalForwardersOutput) { op := &request.Operation{ Name: opDescribeConditionalForwarders, @@ -400,10 +1236,39 @@ func (c *DirectoryService) DescribeConditionalForwardersRequest(input *DescribeC return } +// DescribeConditionalForwarders API operation for AWS Directory Service. +// // Obtains information about the conditional forwarders for this account. // // If no input parameters are provided for RemoteDomainNames, this request // describes all conditional forwarders for the specified directory 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 AWS Directory Service's +// API operation DescribeConditionalForwarders for usage and error information. +// +// Returned Error Codes: +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * DirectoryUnavailableException +// The specified directory is unavailable or could not be found. +// +// * InvalidParameterException +// One or more parameters are not valid. +// +// * UnsupportedOperationException +// The operation is not supported. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// func (c *DirectoryService) DescribeConditionalForwarders(input *DescribeConditionalForwardersInput) (*DescribeConditionalForwardersOutput, error) { req, out := c.DescribeConditionalForwardersRequest(input) err := req.Send() @@ -412,7 +1277,30 @@ func (c *DirectoryService) DescribeConditionalForwarders(input *DescribeConditio const opDescribeDirectories = "DescribeDirectories" -// DescribeDirectoriesRequest generates a request for the DescribeDirectories operation. +// DescribeDirectoriesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDirectories operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeDirectories for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeDirectories method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeDirectoriesRequest method. +// req, resp := client.DescribeDirectoriesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) DescribeDirectoriesRequest(input *DescribeDirectoriesInput) (req *request.Request, output *DescribeDirectoriesOutput) { op := &request.Operation{ Name: opDescribeDirectories, @@ -430,6 +1318,8 @@ func (c *DirectoryService) DescribeDirectoriesRequest(input *DescribeDirectories return } +// DescribeDirectories API operation for AWS Directory Service. +// // Obtains information about the directories that belong to this account. // // You can retrieve information about specific directories by passing the directory @@ -442,6 +1332,30 @@ func (c *DirectoryService) DescribeDirectoriesRequest(input *DescribeDirectories // to retrieve the next set of items. // // You can also specify a maximum number of return results with the Limit parameter. +// +// 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 Directory Service's +// API operation DescribeDirectories for usage and error information. +// +// Returned Error Codes: +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * InvalidParameterException +// One or more parameters are not valid. +// +// * InvalidNextTokenException +// The NextToken value is not valid. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// func (c *DirectoryService) DescribeDirectories(input *DescribeDirectoriesInput) (*DescribeDirectoriesOutput, error) { req, out := c.DescribeDirectoriesRequest(input) err := req.Send() @@ -450,7 +1364,30 @@ func (c *DirectoryService) DescribeDirectories(input *DescribeDirectoriesInput) const opDescribeEventTopics = "DescribeEventTopics" -// DescribeEventTopicsRequest generates a request for the DescribeEventTopics operation. +// DescribeEventTopicsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEventTopics operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeEventTopics for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeEventTopics method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeEventTopicsRequest method. +// req, resp := client.DescribeEventTopicsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) DescribeEventTopicsRequest(input *DescribeEventTopicsInput) (req *request.Request, output *DescribeEventTopicsOutput) { op := &request.Operation{ Name: opDescribeEventTopics, @@ -468,11 +1405,34 @@ func (c *DirectoryService) DescribeEventTopicsRequest(input *DescribeEventTopics return } +// DescribeEventTopics API operation for AWS Directory Service. +// // Obtains information about which SNS topics receive status messages from the // specified directory. // // If no input parameters are provided, such as DirectoryId or TopicName, this // request describes all of the associations in the 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 Directory Service's +// API operation DescribeEventTopics for usage and error information. +// +// Returned Error Codes: +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * InvalidParameterException +// One or more parameters are not valid. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// func (c *DirectoryService) DescribeEventTopics(input *DescribeEventTopicsInput) (*DescribeEventTopicsOutput, error) { req, out := c.DescribeEventTopicsRequest(input) err := req.Send() @@ -481,7 +1441,30 @@ func (c *DirectoryService) DescribeEventTopics(input *DescribeEventTopicsInput) const opDescribeSnapshots = "DescribeSnapshots" -// DescribeSnapshotsRequest generates a request for the DescribeSnapshots operation. +// DescribeSnapshotsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSnapshots operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeSnapshots for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeSnapshots method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeSnapshotsRequest method. +// req, resp := client.DescribeSnapshotsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) { op := &request.Operation{ Name: opDescribeSnapshots, @@ -499,6 +1482,8 @@ func (c *DirectoryService) DescribeSnapshotsRequest(input *DescribeSnapshotsInpu return } +// DescribeSnapshots API operation for AWS Directory Service. +// // Obtains information about the directory snapshots that belong to this account. // // This operation supports pagination with the use of the NextToken request @@ -507,6 +1492,30 @@ func (c *DirectoryService) DescribeSnapshotsRequest(input *DescribeSnapshotsInpu // to retrieve the next set of items. // // You can also specify a maximum number of return results with the Limit parameter. +// +// 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 Directory Service's +// API operation DescribeSnapshots for usage and error information. +// +// Returned Error Codes: +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * InvalidParameterException +// One or more parameters are not valid. +// +// * InvalidNextTokenException +// The NextToken value is not valid. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// func (c *DirectoryService) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) { req, out := c.DescribeSnapshotsRequest(input) err := req.Send() @@ -515,7 +1524,30 @@ func (c *DirectoryService) DescribeSnapshots(input *DescribeSnapshotsInput) (*De const opDescribeTrusts = "DescribeTrusts" -// DescribeTrustsRequest generates a request for the DescribeTrusts operation. +// DescribeTrustsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTrusts operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeTrusts for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeTrusts method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeTrustsRequest method. +// req, resp := client.DescribeTrustsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) DescribeTrustsRequest(input *DescribeTrustsInput) (req *request.Request, output *DescribeTrustsOutput) { op := &request.Operation{ Name: opDescribeTrusts, @@ -533,10 +1565,39 @@ func (c *DirectoryService) DescribeTrustsRequest(input *DescribeTrustsInput) (re return } +// DescribeTrusts API operation for AWS Directory Service. +// // Obtains information about the trust relationships for this account. // // If no input parameters are provided, such as DirectoryId or TrustIds, this // request describes all the trust relationships belonging to the 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 Directory Service's +// API operation DescribeTrusts for usage and error information. +// +// Returned Error Codes: +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * InvalidNextTokenException +// The NextToken value is not valid. +// +// * InvalidParameterException +// One or more parameters are not valid. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// +// * UnsupportedOperationException +// The operation is not supported. +// func (c *DirectoryService) DescribeTrusts(input *DescribeTrustsInput) (*DescribeTrustsOutput, error) { req, out := c.DescribeTrustsRequest(input) err := req.Send() @@ -545,7 +1606,30 @@ func (c *DirectoryService) DescribeTrusts(input *DescribeTrustsInput) (*Describe const opDisableRadius = "DisableRadius" -// DisableRadiusRequest generates a request for the DisableRadius operation. +// DisableRadiusRequest generates a "aws/request.Request" representing the +// client's request for the DisableRadius operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DisableRadius for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DisableRadius method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DisableRadiusRequest method. +// req, resp := client.DisableRadiusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) DisableRadiusRequest(input *DisableRadiusInput) (req *request.Request, output *DisableRadiusOutput) { op := &request.Operation{ Name: opDisableRadius, @@ -563,8 +1647,28 @@ func (c *DirectoryService) DisableRadiusRequest(input *DisableRadiusInput) (req return } +// DisableRadius API operation for AWS Directory Service. +// // Disables multi-factor authentication (MFA) with the Remote Authentication // Dial In User Service (RADIUS) server for an AD Connector directory. +// +// 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 Directory Service's +// API operation DisableRadius for usage and error information. +// +// Returned Error Codes: +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// func (c *DirectoryService) DisableRadius(input *DisableRadiusInput) (*DisableRadiusOutput, error) { req, out := c.DisableRadiusRequest(input) err := req.Send() @@ -573,7 +1677,30 @@ func (c *DirectoryService) DisableRadius(input *DisableRadiusInput) (*DisableRad const opDisableSso = "DisableSso" -// DisableSsoRequest generates a request for the DisableSso operation. +// DisableSsoRequest generates a "aws/request.Request" representing the +// client's request for the DisableSso operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DisableSso for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DisableSso method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DisableSsoRequest method. +// req, resp := client.DisableSsoRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) DisableSsoRequest(input *DisableSsoInput) (req *request.Request, output *DisableSsoOutput) { op := &request.Operation{ Name: opDisableSso, @@ -591,7 +1718,33 @@ func (c *DirectoryService) DisableSsoRequest(input *DisableSsoInput) (req *reque return } +// DisableSso API operation for AWS Directory Service. +// // Disables single-sign on for a directory. +// +// 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 Directory Service's +// API operation DisableSso for usage and error information. +// +// Returned Error Codes: +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * InsufficientPermissionsException +// The account does not have sufficient permission to perform the operation. +// +// * AuthenticationFailedException +// An authentication error occurred. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// func (c *DirectoryService) DisableSso(input *DisableSsoInput) (*DisableSsoOutput, error) { req, out := c.DisableSsoRequest(input) err := req.Send() @@ -600,7 +1753,30 @@ func (c *DirectoryService) DisableSso(input *DisableSsoInput) (*DisableSsoOutput const opEnableRadius = "EnableRadius" -// EnableRadiusRequest generates a request for the EnableRadius operation. +// EnableRadiusRequest generates a "aws/request.Request" representing the +// client's request for the EnableRadius operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See EnableRadius for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the EnableRadius method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the EnableRadiusRequest method. +// req, resp := client.EnableRadiusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) EnableRadiusRequest(input *EnableRadiusInput) (req *request.Request, output *EnableRadiusOutput) { op := &request.Operation{ Name: opEnableRadius, @@ -618,8 +1794,34 @@ func (c *DirectoryService) EnableRadiusRequest(input *EnableRadiusInput) (req *r return } +// EnableRadius API operation for AWS Directory Service. +// // Enables multi-factor authentication (MFA) with the Remote Authentication // Dial In User Service (RADIUS) server for an AD Connector directory. +// +// 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 Directory Service's +// API operation EnableRadius for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterException +// One or more parameters are not valid. +// +// * EntityAlreadyExistsException +// The specified entity already exists. +// +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// func (c *DirectoryService) EnableRadius(input *EnableRadiusInput) (*EnableRadiusOutput, error) { req, out := c.EnableRadiusRequest(input) err := req.Send() @@ -628,7 +1830,30 @@ func (c *DirectoryService) EnableRadius(input *EnableRadiusInput) (*EnableRadius const opEnableSso = "EnableSso" -// EnableSsoRequest generates a request for the EnableSso operation. +// EnableSsoRequest generates a "aws/request.Request" representing the +// client's request for the EnableSso operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See EnableSso for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the EnableSso method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the EnableSsoRequest method. +// req, resp := client.EnableSsoRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) EnableSsoRequest(input *EnableSsoInput) (req *request.Request, output *EnableSsoOutput) { op := &request.Operation{ Name: opEnableSso, @@ -646,7 +1871,33 @@ func (c *DirectoryService) EnableSsoRequest(input *EnableSsoInput) (req *request return } +// EnableSso API operation for AWS Directory Service. +// // Enables single-sign on for a directory. +// +// 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 Directory Service's +// API operation EnableSso for usage and error information. +// +// Returned Error Codes: +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * InsufficientPermissionsException +// The account does not have sufficient permission to perform the operation. +// +// * AuthenticationFailedException +// An authentication error occurred. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// func (c *DirectoryService) EnableSso(input *EnableSsoInput) (*EnableSsoOutput, error) { req, out := c.EnableSsoRequest(input) err := req.Send() @@ -655,7 +1906,30 @@ func (c *DirectoryService) EnableSso(input *EnableSsoInput) (*EnableSsoOutput, e const opGetDirectoryLimits = "GetDirectoryLimits" -// GetDirectoryLimitsRequest generates a request for the GetDirectoryLimits operation. +// GetDirectoryLimitsRequest generates a "aws/request.Request" representing the +// client's request for the GetDirectoryLimits operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetDirectoryLimits for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetDirectoryLimits method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetDirectoryLimitsRequest method. +// req, resp := client.GetDirectoryLimitsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) GetDirectoryLimitsRequest(input *GetDirectoryLimitsInput) (req *request.Request, output *GetDirectoryLimitsOutput) { op := &request.Operation{ Name: opGetDirectoryLimits, @@ -673,7 +1947,27 @@ func (c *DirectoryService) GetDirectoryLimitsRequest(input *GetDirectoryLimitsIn return } +// GetDirectoryLimits API operation for AWS Directory Service. +// // Obtains directory limit information for the current 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 +// the error. +// +// See the AWS API reference guide for AWS Directory Service's +// API operation GetDirectoryLimits for usage and error information. +// +// Returned Error Codes: +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// func (c *DirectoryService) GetDirectoryLimits(input *GetDirectoryLimitsInput) (*GetDirectoryLimitsOutput, error) { req, out := c.GetDirectoryLimitsRequest(input) err := req.Send() @@ -682,7 +1976,30 @@ func (c *DirectoryService) GetDirectoryLimits(input *GetDirectoryLimitsInput) (* const opGetSnapshotLimits = "GetSnapshotLimits" -// GetSnapshotLimitsRequest generates a request for the GetSnapshotLimits operation. +// GetSnapshotLimitsRequest generates a "aws/request.Request" representing the +// client's request for the GetSnapshotLimits operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetSnapshotLimits for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetSnapshotLimits method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetSnapshotLimitsRequest method. +// req, resp := client.GetSnapshotLimitsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) GetSnapshotLimitsRequest(input *GetSnapshotLimitsInput) (req *request.Request, output *GetSnapshotLimitsOutput) { op := &request.Operation{ Name: opGetSnapshotLimits, @@ -700,16 +2017,211 @@ func (c *DirectoryService) GetSnapshotLimitsRequest(input *GetSnapshotLimitsInpu return } +// GetSnapshotLimits API operation for AWS Directory Service. +// // Obtains the manual snapshot limits for a directory. +// +// 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 Directory Service's +// API operation GetSnapshotLimits for usage and error information. +// +// Returned Error Codes: +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// func (c *DirectoryService) GetSnapshotLimits(input *GetSnapshotLimitsInput) (*GetSnapshotLimitsOutput, error) { req, out := c.GetSnapshotLimitsRequest(input) err := req.Send() return out, err } +const opListIpRoutes = "ListIpRoutes" + +// ListIpRoutesRequest generates a "aws/request.Request" representing the +// client's request for the ListIpRoutes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListIpRoutes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListIpRoutes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListIpRoutesRequest method. +// req, resp := client.ListIpRoutesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *DirectoryService) ListIpRoutesRequest(input *ListIpRoutesInput) (req *request.Request, output *ListIpRoutesOutput) { + op := &request.Operation{ + Name: opListIpRoutes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListIpRoutesInput{} + } + + req = c.newRequest(op, input, output) + output = &ListIpRoutesOutput{} + req.Data = output + return +} + +// ListIpRoutes API operation for AWS Directory Service. +// +// Lists the address blocks that you have added to a directory. +// +// 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 Directory Service's +// API operation ListIpRoutes for usage and error information. +// +// Returned Error Codes: +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * InvalidNextTokenException +// The NextToken value is not valid. +// +// * InvalidParameterException +// One or more parameters are not valid. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// +func (c *DirectoryService) ListIpRoutes(input *ListIpRoutesInput) (*ListIpRoutesOutput, error) { + req, out := c.ListIpRoutesRequest(input) + err := req.Send() + return out, err +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListTagsForResource for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListTagsForResource method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // 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) +// } +// +func (c *DirectoryService) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + req = c.newRequest(op, input, output) + output = &ListTagsForResourceOutput{} + req.Data = output + return +} + +// ListTagsForResource API operation for AWS Directory Service. +// +// Lists all tags on an Amazon Directory Services directory. +// +// 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 Directory Service's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Codes: +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * InvalidNextTokenException +// The NextToken value is not valid. +// +// * InvalidParameterException +// One or more parameters are not valid. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// +func (c *DirectoryService) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + err := req.Send() + return out, err +} + const opRegisterEventTopic = "RegisterEventTopic" -// RegisterEventTopicRequest generates a request for the RegisterEventTopic operation. +// RegisterEventTopicRequest generates a "aws/request.Request" representing the +// client's request for the RegisterEventTopic operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RegisterEventTopic for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RegisterEventTopic method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RegisterEventTopicRequest method. +// req, resp := client.RegisterEventTopicRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) RegisterEventTopicRequest(input *RegisterEventTopicInput) (req *request.Request, output *RegisterEventTopicOutput) { op := &request.Operation{ Name: opRegisterEventTopic, @@ -727,21 +2239,216 @@ func (c *DirectoryService) RegisterEventTopicRequest(input *RegisterEventTopicIn return } +// RegisterEventTopic API operation for AWS Directory Service. +// // Associates a directory with an SNS topic. This establishes the directory // as a publisher to the specified SNS topic. You can then receive email or // text (SMS) messages when the status of your directory changes. You get notified // if your directory goes from an Active status to an Impaired or Inoperable // status. You also receive a notification when the directory returns to an // Active status. +// +// 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 Directory Service's +// API operation RegisterEventTopic for usage and error information. +// +// Returned Error Codes: +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * InvalidParameterException +// One or more parameters are not valid. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// func (c *DirectoryService) RegisterEventTopic(input *RegisterEventTopicInput) (*RegisterEventTopicOutput, error) { req, out := c.RegisterEventTopicRequest(input) err := req.Send() return out, err } +const opRemoveIpRoutes = "RemoveIpRoutes" + +// RemoveIpRoutesRequest generates a "aws/request.Request" representing the +// client's request for the RemoveIpRoutes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RemoveIpRoutes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RemoveIpRoutes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RemoveIpRoutesRequest method. +// req, resp := client.RemoveIpRoutesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *DirectoryService) RemoveIpRoutesRequest(input *RemoveIpRoutesInput) (req *request.Request, output *RemoveIpRoutesOutput) { + op := &request.Operation{ + Name: opRemoveIpRoutes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RemoveIpRoutesInput{} + } + + req = c.newRequest(op, input, output) + output = &RemoveIpRoutesOutput{} + req.Data = output + return +} + +// RemoveIpRoutes API operation for AWS Directory Service. +// +// Removes IP address blocks from a directory. +// +// 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 Directory Service's +// API operation RemoveIpRoutes for usage and error information. +// +// Returned Error Codes: +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * InvalidParameterException +// One or more parameters are not valid. +// +// * DirectoryUnavailableException +// The specified directory is unavailable or could not be found. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// +func (c *DirectoryService) RemoveIpRoutes(input *RemoveIpRoutesInput) (*RemoveIpRoutesOutput, error) { + req, out := c.RemoveIpRoutesRequest(input) + err := req.Send() + return out, err +} + +const opRemoveTagsFromResource = "RemoveTagsFromResource" + +// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the +// client's request for the RemoveTagsFromResource operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RemoveTagsFromResource for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RemoveTagsFromResource method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RemoveTagsFromResourceRequest method. +// req, resp := client.RemoveTagsFromResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *DirectoryService) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) { + op := &request.Operation{ + Name: opRemoveTagsFromResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RemoveTagsFromResourceInput{} + } + + req = c.newRequest(op, input, output) + output = &RemoveTagsFromResourceOutput{} + req.Data = output + return +} + +// RemoveTagsFromResource API operation for AWS Directory Service. +// +// Removes tags from an Amazon Directory Services directory. +// +// 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 Directory Service's +// API operation RemoveTagsFromResource for usage and error information. +// +// Returned Error Codes: +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * InvalidParameterException +// One or more parameters are not valid. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// +func (c *DirectoryService) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) { + req, out := c.RemoveTagsFromResourceRequest(input) + err := req.Send() + return out, err +} + const opRestoreFromSnapshot = "RestoreFromSnapshot" -// RestoreFromSnapshotRequest generates a request for the RestoreFromSnapshot operation. +// RestoreFromSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the RestoreFromSnapshot operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RestoreFromSnapshot for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RestoreFromSnapshot method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RestoreFromSnapshotRequest method. +// req, resp := client.RestoreFromSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) RestoreFromSnapshotRequest(input *RestoreFromSnapshotInput) (req *request.Request, output *RestoreFromSnapshotOutput) { op := &request.Operation{ Name: opRestoreFromSnapshot, @@ -759,6 +2466,8 @@ func (c *DirectoryService) RestoreFromSnapshotRequest(input *RestoreFromSnapshot return } +// RestoreFromSnapshot API operation for AWS Directory Service. +// // Restores a directory using an existing directory snapshot. // // When you restore a directory from a snapshot, any changes made to the directory @@ -768,6 +2477,27 @@ func (c *DirectoryService) RestoreFromSnapshotRequest(input *RestoreFromSnapshot // monitor the progress of the restore operation by calling the DescribeDirectories // operation with the directory identifier. When the DirectoryDescription.Stage // value changes to Active, the restore operation is complete. +// +// 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 Directory Service's +// API operation RestoreFromSnapshot for usage and error information. +// +// Returned Error Codes: +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * InvalidParameterException +// One or more parameters are not valid. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// func (c *DirectoryService) RestoreFromSnapshot(input *RestoreFromSnapshotInput) (*RestoreFromSnapshotOutput, error) { req, out := c.RestoreFromSnapshotRequest(input) err := req.Send() @@ -776,7 +2506,30 @@ func (c *DirectoryService) RestoreFromSnapshot(input *RestoreFromSnapshotInput) const opUpdateConditionalForwarder = "UpdateConditionalForwarder" -// UpdateConditionalForwarderRequest generates a request for the UpdateConditionalForwarder operation. +// UpdateConditionalForwarderRequest generates a "aws/request.Request" representing the +// client's request for the UpdateConditionalForwarder operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateConditionalForwarder for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateConditionalForwarder method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateConditionalForwarderRequest method. +// req, resp := client.UpdateConditionalForwarderRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) UpdateConditionalForwarderRequest(input *UpdateConditionalForwarderInput) (req *request.Request, output *UpdateConditionalForwarderOutput) { op := &request.Operation{ Name: opUpdateConditionalForwarder, @@ -794,7 +2547,36 @@ func (c *DirectoryService) UpdateConditionalForwarderRequest(input *UpdateCondit return } +// UpdateConditionalForwarder API operation for AWS Directory Service. +// // Updates a conditional forwarder that has been set up for your AWS directory. +// +// 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 Directory Service's +// API operation UpdateConditionalForwarder for usage and error information. +// +// Returned Error Codes: +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * DirectoryUnavailableException +// The specified directory is unavailable or could not be found. +// +// * InvalidParameterException +// One or more parameters are not valid. +// +// * UnsupportedOperationException +// The operation is not supported. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// func (c *DirectoryService) UpdateConditionalForwarder(input *UpdateConditionalForwarderInput) (*UpdateConditionalForwarderOutput, error) { req, out := c.UpdateConditionalForwarderRequest(input) err := req.Send() @@ -803,7 +2585,30 @@ func (c *DirectoryService) UpdateConditionalForwarder(input *UpdateConditionalFo const opUpdateRadius = "UpdateRadius" -// UpdateRadiusRequest generates a request for the UpdateRadius operation. +// UpdateRadiusRequest generates a "aws/request.Request" representing the +// client's request for the UpdateRadius operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateRadius for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateRadius method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateRadiusRequest method. +// req, resp := client.UpdateRadiusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DirectoryService) UpdateRadiusRequest(input *UpdateRadiusInput) (req *request.Request, output *UpdateRadiusOutput) { op := &request.Operation{ Name: opUpdateRadius, @@ -811,53 +2616,292 @@ func (c *DirectoryService) UpdateRadiusRequest(input *UpdateRadiusInput) (req *r HTTPPath: "/", } - if input == nil { - input = &UpdateRadiusInput{} - } + if input == nil { + input = &UpdateRadiusInput{} + } + + req = c.newRequest(op, input, output) + output = &UpdateRadiusOutput{} + req.Data = output + return +} + +// UpdateRadius API operation for AWS Directory Service. +// +// Updates the Remote Authentication Dial In User Service (RADIUS) server information +// for an AD Connector directory. +// +// 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 Directory Service's +// API operation UpdateRadius for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterException +// One or more parameters are not valid. +// +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// +func (c *DirectoryService) UpdateRadius(input *UpdateRadiusInput) (*UpdateRadiusOutput, error) { + req, out := c.UpdateRadiusRequest(input) + err := req.Send() + return out, err +} + +const opVerifyTrust = "VerifyTrust" + +// VerifyTrustRequest generates a "aws/request.Request" representing the +// client's request for the VerifyTrust operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See VerifyTrust for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the VerifyTrust method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the VerifyTrustRequest method. +// req, resp := client.VerifyTrustRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *DirectoryService) VerifyTrustRequest(input *VerifyTrustInput) (req *request.Request, output *VerifyTrustOutput) { + op := &request.Operation{ + Name: opVerifyTrust, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &VerifyTrustInput{} + } + + req = c.newRequest(op, input, output) + output = &VerifyTrustOutput{} + req.Data = output + return +} + +// VerifyTrust API operation for AWS Directory Service. +// +// AWS Directory Service for Microsoft Active Directory allows you to configure +// and verify trust relationships. +// +// This action verifies a trust relationship between your Microsoft AD in the +// AWS cloud and an external domain. +// +// 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 Directory Service's +// API operation VerifyTrust for usage and error information. +// +// Returned Error Codes: +// * EntityDoesNotExistException +// The specified entity could not be found. +// +// * InvalidParameterException +// One or more parameters are not valid. +// +// * ClientException +// A client exception has occurred. +// +// * ServiceException +// An exception has occurred in AWS Directory Service. +// +// * UnsupportedOperationException +// The operation is not supported. +// +func (c *DirectoryService) VerifyTrust(input *VerifyTrustInput) (*VerifyTrustOutput, error) { + req, out := c.VerifyTrustRequest(input) + err := req.Send() + return out, err +} + +type AddIpRoutesInput struct { + _ struct{} `type:"structure"` + + // Identifier (ID) of the directory to which to add the address block. + // + // DirectoryId is a required field + DirectoryId *string `type:"string" required:"true"` + + // IP address blocks, using CIDR format, of the traffic to route. This is often + // the IP address block of the DNS server used for your on-premises domain. + // + // IpRoutes is a required field + IpRoutes []*IpRoute `type:"list" required:"true"` + + // If set to true, updates the inbound and outbound rules of the security group + // that has the description: "AWS created security group for directory ID directory + // controllers." Following are the new rules: + // + // Inbound: + // + // Type: Custom UDP Rule, Protocol: UDP, Range: 88, Source: 0.0.0.0/0 + // + // Type: Custom UDP Rule, Protocol: UDP, Range: 123, Source: 0.0.0.0/0 + // + // Type: Custom UDP Rule, Protocol: UDP, Range: 138, Source: 0.0.0.0/0 + // + // Type: Custom UDP Rule, Protocol: UDP, Range: 389, Source: 0.0.0.0/0 + // + // Type: Custom UDP Rule, Protocol: UDP, Range: 464, Source: 0.0.0.0/0 + // + // Type: Custom UDP Rule, Protocol: UDP, Range: 445, Source: 0.0.0.0/0 + // + // Type: Custom TCP Rule, Protocol: TCP, Range: 88, Source: 0.0.0.0/0 + // + // Type: Custom TCP Rule, Protocol: TCP, Range: 135, Source: 0.0.0.0/0 + // + // Type: Custom TCP Rule, Protocol: TCP, Range: 445, Source: 0.0.0.0/0 + // + // Type: Custom TCP Rule, Protocol: TCP, Range: 464, Source: 0.0.0.0/0 + // + // Type: Custom TCP Rule, Protocol: TCP, Range: 636, Source: 0.0.0.0/0 + // + // Type: Custom TCP Rule, Protocol: TCP, Range: 1024-65535, Source: 0.0.0.0/0 + // + // Type: Custom TCP Rule, Protocol: TCP, Range: 3268-33269, Source: 0.0.0.0/0 + // + // Type: DNS (UDP), Protocol: UDP, Range: 53, Source: 0.0.0.0/0 + // + // Type: DNS (TCP), Protocol: TCP, Range: 53, Source: 0.0.0.0/0 + // + // Type: LDAP, Protocol: TCP, Range: 389, Source: 0.0.0.0/0 + // + // Type: All ICMP, Protocol: All, Range: N/A, Source: 0.0.0.0/0 + // + // Outbound: + // + // Type: All traffic, Protocol: All, Range: All, Destination: 0.0.0.0/0 + // + // These security rules impact an internal network interface that is not + // exposed publicly. + UpdateSecurityGroupForDirectoryControllers *bool `type:"boolean"` +} + +// String returns the string representation +func (s AddIpRoutesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddIpRoutesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddIpRoutesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddIpRoutesInput"} + if s.DirectoryId == nil { + invalidParams.Add(request.NewErrParamRequired("DirectoryId")) + } + if s.IpRoutes == nil { + invalidParams.Add(request.NewErrParamRequired("IpRoutes")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type AddIpRoutesOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AddIpRoutesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddIpRoutesOutput) GoString() string { + return s.String() +} + +type AddTagsToResourceInput struct { + _ struct{} `type:"structure"` - req = c.newRequest(op, input, output) - output = &UpdateRadiusOutput{} - req.Data = output - return + // Identifier (ID) for the directory to which to add the tag. + // + // ResourceId is a required field + ResourceId *string `type:"string" required:"true"` + + // The tags to be assigned to the Amazon Directory Services directory. + // + // Tags is a required field + Tags []*Tag `type:"list" required:"true"` } -// Updates the Remote Authentication Dial In User Service (RADIUS) server information -// for an AD Connector directory. -func (c *DirectoryService) UpdateRadius(input *UpdateRadiusInput) (*UpdateRadiusOutput, error) { - req, out := c.UpdateRadiusRequest(input) - err := req.Send() - return out, err +// String returns the string representation +func (s AddTagsToResourceInput) String() string { + return awsutil.Prettify(s) } -const opVerifyTrust = "VerifyTrust" +// GoString returns the string representation +func (s AddTagsToResourceInput) GoString() string { + return s.String() +} -// VerifyTrustRequest generates a request for the VerifyTrust operation. -func (c *DirectoryService) VerifyTrustRequest(input *VerifyTrustInput) (req *request.Request, output *VerifyTrustOutput) { - op := &request.Operation{ - Name: opVerifyTrust, - HTTPMethod: "POST", - HTTPPath: "/", +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddTagsToResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"} + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } } - if input == nil { - input = &VerifyTrustInput{} + if invalidParams.Len() > 0 { + return invalidParams } + return nil +} - req = c.newRequest(op, input, output) - output = &VerifyTrustOutput{} - req.Data = output - return +type AddTagsToResourceOutput struct { + _ struct{} `type:"structure"` } -// AWS Directory Service for Microsoft Active Directory allows you to configure -// and verify trust relationships. -// -// This action verifies a trust relationship between your Microsoft AD in the -// AWS cloud and an external domain. -func (c *DirectoryService) VerifyTrust(input *VerifyTrustInput) (*VerifyTrustOutput, error) { - req, out := c.VerifyTrustRequest(input) - err := req.Send() - return out, err +// String returns the string representation +func (s AddTagsToResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddTagsToResourceOutput) GoString() string { + return s.String() } // Represents a named directory attribute. @@ -956,21 +3000,29 @@ type ConnectDirectoryInput struct { // A DirectoryConnectSettings object that contains additional information for // the operation. + // + // ConnectSettings is a required field ConnectSettings *DirectoryConnectSettings `type:"structure" required:"true"` // A textual description for the directory. Description *string `type:"string"` // The fully-qualified name of the on-premises directory, such as corp.example.com. + // + // Name is a required field Name *string `type:"string" required:"true"` // The password for the on-premises user account. + // + // Password is a required field Password *string `min:"1" type:"string" required:"true"` // The NetBIOS name of the on-premises directory, such as CORP. ShortName *string `type:"string"` // The size of the directory. + // + // Size is a required field Size *string `type:"string" required:"true" enum:"DirectorySize"` } @@ -1040,9 +3092,13 @@ type CreateAliasInput struct { // // The alias must be unique amongst all aliases in AWS. This operation throws // an EntityAlreadyExistsException error if the alias already exists. + // + // Alias is a required field Alias *string `min:"1" type:"string" required:"true"` // The identifier of the directory for which to create the alias. + // + // DirectoryId is a required field DirectoryId *string `type:"string" required:"true"` } @@ -1105,9 +3161,13 @@ type CreateComputerInput struct { ComputerAttributes []*Attribute `type:"list"` // The name of the computer account. + // + // ComputerName is a required field ComputerName *string `min:"1" type:"string" required:"true"` // The identifier of the directory in which to create the computer account. + // + // DirectoryId is a required field DirectoryId *string `type:"string" required:"true"` // The fully-qualified distinguished name of the organizational unit to place @@ -1116,6 +3176,8 @@ type CreateComputerInput struct { // A one-time password that is used to join the computer to the directory. You // should generate a random, strong password to use for this parameter. + // + // Password is a required field Password *string `min:"8" type:"string" required:"true"` } @@ -1193,13 +3255,19 @@ type CreateConditionalForwarderInput struct { // The directory ID of the AWS directory for which you are creating the conditional // forwarder. + // + // DirectoryId is a required field DirectoryId *string `type:"string" required:"true"` // The IP addresses of the remote DNS server associated with RemoteDomainName. + // + // DnsIpAddrs is a required field DnsIpAddrs []*string `type:"list" required:"true"` // The fully qualified domain name (FQDN) of the remote domain with which you // will set up a trust relationship. + // + // RemoteDomainName is a required field RemoteDomainName *string `type:"string" required:"true"` } @@ -1232,6 +3300,7 @@ func (s *CreateConditionalForwarderInput) Validate() error { return nil } +// The result of a CreateConditinalForwarder request. type CreateConditionalForwarderOutput struct { _ struct{} `type:"structure"` } @@ -1254,17 +3323,23 @@ type CreateDirectoryInput struct { Description *string `type:"string"` // The fully qualified name for the directory, such as corp.example.com. + // + // Name is a required field Name *string `type:"string" required:"true"` // The password for the directory administrator. The directory creation process // creates a directory administrator account with the username Administrator // and this password. + // + // Password is a required field Password *string `type:"string" required:"true"` // The short name of the directory, such as CORP. ShortName *string `type:"string"` // The size of the directory. + // + // Size is a required field Size *string `type:"string" required:"true" enum:"DirectorySize"` // A DirectoryVpcSettings object that contains additional information for the @@ -1335,9 +3410,13 @@ type CreateMicrosoftADInput struct { // The fully qualified domain name for the directory, such as corp.example.com. // This name will resolve inside your VPC only. It does not need to be publicly // resolvable. + // + // Name is a required field Name *string `type:"string" required:"true"` // The password for the default administrative user named Admin. + // + // Password is a required field Password *string `type:"string" required:"true"` // The NetBIOS name for your domain. A short identifier for your domain, such @@ -1346,6 +3425,8 @@ type CreateMicrosoftADInput struct { ShortName *string `type:"string"` // Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation. + // + // VpcSettings is a required field VpcSettings *DirectoryVpcSettings `type:"structure" required:"true"` } @@ -1383,6 +3464,7 @@ func (s *CreateMicrosoftADInput) Validate() error { return nil } +// Result of a CreateMicrosoftAD request. type CreateMicrosoftADOutput struct { _ struct{} `type:"structure"` @@ -1405,6 +3487,8 @@ type CreateSnapshotInput struct { _ struct{} `type:"structure"` // The identifier of the directory of which to take a snapshot. + // + // DirectoryId is a required field DirectoryId *string `type:"string" required:"true"` // The descriptive name to apply to the snapshot. @@ -1463,21 +3547,30 @@ func (s CreateSnapshotOutput) GoString() string { type CreateTrustInput struct { _ struct{} `type:"structure"` + // The IP addresses of the remote DNS server associated with RemoteDomainName. ConditionalForwarderIpAddrs []*string `type:"list"` // The Directory ID of the Microsoft AD in the AWS cloud for which to establish // the trust relationship. + // + // DirectoryId is a required field DirectoryId *string `type:"string" required:"true"` // The Fully Qualified Domain Name (FQDN) of the external domain for which to // create the trust relationship. + // + // RemoteDomainName is a required field RemoteDomainName *string `type:"string" required:"true"` // The direction of the trust relationship. + // + // TrustDirection is a required field TrustDirection *string `type:"string" required:"true" enum:"TrustDirection"` // The trust password. The must be the same password that was used when creating // the trust relationship on the external domain. + // + // TrustPassword is a required field TrustPassword *string `min:"1" type:"string" required:"true"` // The trust relationship type. @@ -1519,6 +3612,7 @@ func (s *CreateTrustInput) Validate() error { return nil } +// The result of a CreateTrust request. type CreateTrustOutput struct { _ struct{} `type:"structure"` @@ -1536,14 +3630,19 @@ func (s CreateTrustOutput) GoString() string { return s.String() } +// Deletes a conditional forwarder. type DeleteConditionalForwarderInput struct { _ struct{} `type:"structure"` // The directory ID for which you are deleting the conditional forwarder. + // + // DirectoryId is a required field DirectoryId *string `type:"string" required:"true"` // The fully qualified domain name (FQDN) of the remote domain with which you // are deleting the conditional forwarder. + // + // RemoteDomainName is a required field RemoteDomainName *string `type:"string" required:"true"` } @@ -1573,6 +3672,7 @@ func (s *DeleteConditionalForwarderInput) Validate() error { return nil } +// The result of a DeleteConditionalForwarder request. type DeleteConditionalForwarderOutput struct { _ struct{} `type:"structure"` } @@ -1592,6 +3692,8 @@ type DeleteDirectoryInput struct { _ struct{} `type:"structure"` // The identifier of the directory to delete. + // + // DirectoryId is a required field DirectoryId *string `type:"string" required:"true"` } @@ -1641,6 +3743,8 @@ type DeleteSnapshotInput struct { _ struct{} `type:"structure"` // The identifier of the directory snapshot to be deleted. + // + // SnapshotId is a required field SnapshotId *string `type:"string" required:"true"` } @@ -1690,9 +3794,12 @@ func (s DeleteSnapshotOutput) GoString() string { type DeleteTrustInput struct { _ struct{} `type:"structure"` + // Delete a conditional forwarder as part of a DeleteTrustRequest. DeleteAssociatedConditionalForwarder *bool `type:"boolean"` // The Trust ID of the trust relationship to be deleted. + // + // TrustId is a required field TrustId *string `type:"string" required:"true"` } @@ -1719,6 +3826,7 @@ func (s *DeleteTrustInput) Validate() error { return nil } +// The result of a DeleteTrust request. type DeleteTrustOutput struct { _ struct{} `type:"structure"` @@ -1742,9 +3850,13 @@ type DeregisterEventTopicInput struct { // The Directory ID to remove as a publisher. This directory will no longer // send messages to the specified SNS topic. + // + // DirectoryId is a required field DirectoryId *string `type:"string" required:"true"` // The name of the SNS topic from which to remove the directory as a publisher. + // + // TopicName is a required field TopicName *string `min:"1" type:"string" required:"true"` } @@ -1777,6 +3889,7 @@ func (s *DeregisterEventTopicInput) Validate() error { return nil } +// The result of a DeregisterEventTopic request. type DeregisterEventTopicOutput struct { _ struct{} `type:"structure"` } @@ -1791,10 +3904,13 @@ func (s DeregisterEventTopicOutput) GoString() string { return s.String() } +// Describes a conditional forwarder. type DescribeConditionalForwardersInput struct { _ struct{} `type:"structure"` // The directory ID for which to get the list of associated conditional forwarders. + // + // DirectoryId is a required field DirectoryId *string `type:"string" required:"true"` // The fully qualified domain names (FQDN) of the remote domains for which to @@ -1826,6 +3942,7 @@ func (s *DescribeConditionalForwardersInput) Validate() error { return nil } +// The result of a DescribeConditionalForwarder request. type DescribeConditionalForwardersOutput struct { _ struct{} `type:"structure"` @@ -1901,6 +4018,7 @@ func (s DescribeDirectoriesOutput) GoString() string { return s.String() } +// Describes event topics. type DescribeEventTopicsInput struct { _ struct{} `type:"structure"` @@ -1925,6 +4043,7 @@ func (s DescribeEventTopicsInput) GoString() string { return s.String() } +// The result of a DescribeEventTopic request. type DescribeEventTopicsOutput struct { _ struct{} `type:"structure"` @@ -2035,6 +4154,7 @@ func (s DescribeTrustsInput) GoString() string { return s.String() } +// The result of a DescribeTrust request. type DescribeTrustsOutput struct { _ struct{} `type:"structure"` @@ -2069,18 +4189,30 @@ type DirectoryConnectSettings struct { // A list of one or more IP addresses of DNS servers or domain controllers in // the on-premises directory. + // + // CustomerDnsIps is a required field CustomerDnsIps []*string `type:"list" required:"true"` // The username of an account in the on-premises directory that is used to connect // to the directory. This account must have the following privileges: // - // Read users and groups Create computer objects Join computers to the domain + // Read users and groups + // + // Create computer objects + // + // Join computers to the domain + // + // CustomerUserName is a required field CustomerUserName *string `min:"1" type:"string" required:"true"` // A list of subnet identifiers in the VPC in which the AD Connector is created. + // + // SubnetIds is a required field SubnetIds []*string `type:"list" required:"true"` // The identifier of the VPC in which the AD Connector is created. + // + // VpcId is a required field VpcId *string `type:"string" required:"true"` } @@ -2156,8 +4288,8 @@ func (s DirectoryConnectSettingsDescription) GoString() string { type DirectoryDescription struct { _ struct{} `type:"structure"` - // The access URL for the directory, such as http://alias.awsapps.com. If no - // alias has been created for the directory, alias is the directory identifier, + // The access URL for the directory, such as http://.awsapps.com. If + // no alias has been created for the directory, is the directory identifier, // such as d-XXXXXXXXXX. AccessUrl *string `min:"1" type:"string"` @@ -2283,9 +4415,13 @@ type DirectoryVpcSettings struct { // The identifiers of the subnets for the directory servers. The two subnets // must be in different Availability Zones. AWS Directory Service creates a // directory server and a DNS server in each of these subnets. + // + // SubnetIds is a required field SubnetIds []*string `type:"list" required:"true"` // The identifier of the VPC in which to create the directory. + // + // VpcId is a required field VpcId *string `type:"string" required:"true"` } @@ -2350,6 +4486,8 @@ type DisableRadiusInput struct { _ struct{} `type:"structure"` // The identifier of the directory for which to disable MFA. + // + // DirectoryId is a required field DirectoryId *string `type:"string" required:"true"` } @@ -2396,6 +4534,8 @@ type DisableSsoInput struct { _ struct{} `type:"structure"` // The identifier of the directory for which to disable single-sign on. + // + // DirectoryId is a required field DirectoryId *string `type:"string" required:"true"` // The password of an alternate account to use to disable single-sign on. This @@ -2464,9 +4604,13 @@ type EnableRadiusInput struct { _ struct{} `type:"structure"` // The identifier of the directory for which to enable MFA. + // + // DirectoryId is a required field DirectoryId *string `type:"string" required:"true"` // A RadiusSettings object that contains information about the RADIUS server. + // + // RadiusSettings is a required field RadiusSettings *RadiusSettings `type:"structure" required:"true"` } @@ -2521,6 +4665,8 @@ type EnableSsoInput struct { _ struct{} `type:"structure"` // The identifier of the directory for which to enable single-sign on. + // + // DirectoryId is a required field DirectoryId *string `type:"string" required:"true"` // The password of an alternate account to use to enable single-sign on. This @@ -2541,137 +4687,315 @@ type EnableSsoInput struct { } // String returns the string representation -func (s EnableSsoInput) String() string { +func (s EnableSsoInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EnableSsoInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EnableSsoInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EnableSsoInput"} + if s.DirectoryId == nil { + invalidParams.Add(request.NewErrParamRequired("DirectoryId")) + } + if s.Password != nil && len(*s.Password) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Password", 1)) + } + if s.UserName != nil && len(*s.UserName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the results of the EnableSso operation. +type EnableSsoOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s EnableSsoOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EnableSsoOutput) GoString() string { + return s.String() +} + +// Information about SNS topic and AWS Directory Service directory associations. +type EventTopic struct { + _ struct{} `type:"structure"` + + // The date and time of when you associated your directory with the SNS topic. + CreatedDateTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The Directory ID of an AWS Directory Service directory that will publish + // status messages to an SNS topic. + DirectoryId *string `type:"string"` + + // The topic registration status. + Status *string `type:"string" enum:"TopicStatus"` + + // The SNS topic ARN (Amazon Resource Name). + TopicArn *string `type:"string"` + + // The name of an AWS SNS topic the receives status messages from the directory. + TopicName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s EventTopic) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EventTopic) GoString() string { + return s.String() +} + +// Contains the inputs for the GetDirectoryLimits operation. +type GetDirectoryLimitsInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s GetDirectoryLimitsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDirectoryLimitsInput) GoString() string { + return s.String() +} + +// Contains the results of the GetDirectoryLimits operation. +type GetDirectoryLimitsOutput struct { + _ struct{} `type:"structure"` + + // A DirectoryLimits object that contains the directory limits for the current + // region. + DirectoryLimits *DirectoryLimits `type:"structure"` +} + +// String returns the string representation +func (s GetDirectoryLimitsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDirectoryLimitsOutput) GoString() string { + return s.String() +} + +// Contains the inputs for the GetSnapshotLimits operation. +type GetSnapshotLimitsInput struct { + _ struct{} `type:"structure"` + + // Contains the identifier of the directory to obtain the limits for. + // + // DirectoryId is a required field + DirectoryId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s GetSnapshotLimitsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSnapshotLimitsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetSnapshotLimitsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSnapshotLimitsInput"} + if s.DirectoryId == nil { + invalidParams.Add(request.NewErrParamRequired("DirectoryId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the results of the GetSnapshotLimits operation. +type GetSnapshotLimitsOutput struct { + _ struct{} `type:"structure"` + + // A SnapshotLimits object that contains the manual snapshot limits for the + // specified directory. + SnapshotLimits *SnapshotLimits `type:"structure"` +} + +// String returns the string representation +func (s GetSnapshotLimitsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EnableSsoInput) GoString() string { +func (s GetSnapshotLimitsOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *EnableSsoInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EnableSsoInput"} - if s.DirectoryId == nil { - invalidParams.Add(request.NewErrParamRequired("DirectoryId")) - } - if s.Password != nil && len(*s.Password) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Password", 1)) - } - if s.UserName != nil && len(*s.UserName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) - } +// IP address block. This is often the address block of the DNS server used +// for your on-premises domain. +type IpRoute struct { + _ struct{} `type:"structure"` - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} + // IP address block using CIDR format, for example 10.0.0.0/24. This is often + // the address block of the DNS server used for your on-premises domain. For + // a single IP address use a CIDR address block with /32. For example 10.0.0.0/32. + CidrIp *string `type:"string"` -// Contains the results of the EnableSso operation. -type EnableSsoOutput struct { - _ struct{} `type:"structure"` + // Description of the address block. + Description *string `type:"string"` } // String returns the string representation -func (s EnableSsoOutput) String() string { +func (s IpRoute) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EnableSsoOutput) GoString() string { +func (s IpRoute) GoString() string { return s.String() } -// Information about SNS topic and AWS Directory Service directory associations. -type EventTopic struct { +// Information about one or more IP address blocks. +type IpRouteInfo struct { _ struct{} `type:"structure"` - // The date and time of when you associated your directory with the SNS topic. - CreatedDateTime *time.Time `type:"timestamp" timestampFormat:"unix"` + // The date and time the address block was added to the directory. + AddedDateTime *time.Time `type:"timestamp" timestampFormat:"unix"` - // The Directory ID of an AWS Directory Service directory that will publish - // status messages to an SNS topic. - DirectoryId *string `type:"string"` + // IP address block in the IpRoute. + CidrIp *string `type:"string"` - // The topic registration status. - Status *string `type:"string" enum:"TopicStatus"` + // Description of the IpRouteInfo. + Description *string `type:"string"` - // The SNS topic ARN (Amazon Resource Name). - TopicArn *string `type:"string"` + // Identifier (ID) of the directory associated with the IP addresses. + DirectoryId *string `type:"string"` - // The name of an AWS SNS topic the receives status messages from the directory. - TopicName *string `min:"1" type:"string"` + // The status of the IP address block. + IpRouteStatusMsg *string `type:"string" enum:"IpRouteStatusMsg"` + + // The reason for the IpRouteStatusMsg. + IpRouteStatusReason *string `type:"string"` } // String returns the string representation -func (s EventTopic) String() string { +func (s IpRouteInfo) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EventTopic) GoString() string { +func (s IpRouteInfo) GoString() string { return s.String() } -// Contains the inputs for the GetDirectoryLimits operation. -type GetDirectoryLimitsInput struct { +type ListIpRoutesInput struct { _ struct{} `type:"structure"` + + // Identifier (ID) of the directory for which you want to retrieve the IP addresses. + // + // DirectoryId is a required field + DirectoryId *string `type:"string" required:"true"` + + // Maximum number of items to return. If this value is zero, the maximum number + // of items is specified by the limitations of the operation. + Limit *int64 `type:"integer"` + + // The ListIpRoutes.NextToken value from a previous call to ListIpRoutes. Pass + // null if this is the first call. + NextToken *string `type:"string"` } // String returns the string representation -func (s GetDirectoryLimitsInput) String() string { +func (s ListIpRoutesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDirectoryLimitsInput) GoString() string { +func (s ListIpRoutesInput) GoString() string { return s.String() } -// Contains the results of the GetDirectoryLimits operation. -type GetDirectoryLimitsOutput struct { +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListIpRoutesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListIpRoutesInput"} + if s.DirectoryId == nil { + invalidParams.Add(request.NewErrParamRequired("DirectoryId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type ListIpRoutesOutput struct { _ struct{} `type:"structure"` - // A DirectoryLimits object that contains the directory limits for the current - // region. - DirectoryLimits *DirectoryLimits `type:"structure"` + // A list of IpRoutes. + IpRoutesInfo []*IpRouteInfo `type:"list"` + + // If not null, more results are available. Pass this value for the NextToken + // parameter in a subsequent call to ListIpRoutes to retrieve the next set of + // items. + NextToken *string `type:"string"` } // String returns the string representation -func (s GetDirectoryLimitsOutput) String() string { +func (s ListIpRoutesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDirectoryLimitsOutput) GoString() string { +func (s ListIpRoutesOutput) GoString() string { return s.String() } -// Contains the inputs for the GetSnapshotLimits operation. -type GetSnapshotLimitsInput struct { +type ListTagsForResourceInput struct { _ struct{} `type:"structure"` - // Contains the identifier of the directory to obtain the limits for. - DirectoryId *string `type:"string" required:"true"` + // Reserved for future use. + Limit *int64 `type:"integer"` + + // Reserved for future use. + NextToken *string `type:"string"` + + // Identifier (ID) of the directory for which you want to retrieve tags. + // + // ResourceId is a required field + ResourceId *string `type:"string" required:"true"` } // String returns the string representation -func (s GetSnapshotLimitsInput) String() string { +func (s ListTagsForResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetSnapshotLimitsInput) GoString() string { +func (s ListTagsForResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetSnapshotLimitsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetSnapshotLimitsInput"} - if s.DirectoryId == nil { - invalidParams.Add(request.NewErrParamRequired("DirectoryId")) +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) } if invalidParams.Len() > 0 { @@ -2680,22 +5004,23 @@ func (s *GetSnapshotLimitsInput) Validate() error { return nil } -// Contains the results of the GetSnapshotLimits operation. -type GetSnapshotLimitsOutput struct { +type ListTagsForResourceOutput struct { _ struct{} `type:"structure"` - // A SnapshotLimits object that contains the manual snapshot limits for the - // specified directory. - SnapshotLimits *SnapshotLimits `type:"structure"` + // Reserved for future use. + NextToken *string `type:"string"` + + // List of tags returned by the ListTagsForResource operation. + Tags []*Tag `type:"list"` } // String returns the string representation -func (s GetSnapshotLimitsOutput) String() string { +func (s ListTagsForResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetSnapshotLimitsOutput) GoString() string { +func (s ListTagsForResourceOutput) GoString() string { return s.String() } @@ -2726,8 +5051,7 @@ type RadiusSettings struct { // The amount of time, in seconds, to wait for the RADIUS server to respond. RadiusTimeout *int64 `min:"1" type:"integer"` - // The shared secret code that was specified when your RADIUS endpoints were - // created. + // Not currently used. SharedSecret *string `min:"8" type:"string"` // Not currently used. @@ -2766,14 +5090,19 @@ func (s *RadiusSettings) Validate() error { return nil } +// Registers a new event topic. type RegisterEventTopicInput struct { _ struct{} `type:"structure"` // The Directory ID that will publish status messages to the SNS topic. + // + // DirectoryId is a required field DirectoryId *string `type:"string" required:"true"` // The SNS topic name to which the directory will publish status messages. This // SNS topic must be in the same region as the specified Directory ID. + // + // TopicName is a required field TopicName *string `min:"1" type:"string" required:"true"` } @@ -2806,6 +5135,7 @@ func (s *RegisterEventTopicInput) Validate() error { return nil } +// The result of a RegisterEventTopic request. type RegisterEventTopicOutput struct { _ struct{} `type:"structure"` } @@ -2820,11 +5150,121 @@ func (s RegisterEventTopicOutput) GoString() string { return s.String() } +type RemoveIpRoutesInput struct { + _ struct{} `type:"structure"` + + // IP address blocks that you want to remove. + // + // CidrIps is a required field + CidrIps []*string `type:"list" required:"true"` + + // Identifier (ID) of the directory from which you want to remove the IP addresses. + // + // DirectoryId is a required field + DirectoryId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s RemoveIpRoutesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RemoveIpRoutesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RemoveIpRoutesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RemoveIpRoutesInput"} + if s.CidrIps == nil { + invalidParams.Add(request.NewErrParamRequired("CidrIps")) + } + if s.DirectoryId == nil { + invalidParams.Add(request.NewErrParamRequired("DirectoryId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type RemoveIpRoutesOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s RemoveIpRoutesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RemoveIpRoutesOutput) GoString() string { + return s.String() +} + +type RemoveTagsFromResourceInput struct { + _ struct{} `type:"structure"` + + // Identifier (ID) of the directory from which to remove the tag. + // + // ResourceId is a required field + ResourceId *string `type:"string" required:"true"` + + // The tag key (name) of the tag to be removed. + // + // TagKeys is a required field + TagKeys []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s RemoveTagsFromResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RemoveTagsFromResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RemoveTagsFromResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"} + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type RemoveTagsFromResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s RemoveTagsFromResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RemoveTagsFromResourceOutput) GoString() string { + return s.String() +} + // An object representing the inputs for the RestoreFromSnapshot operation. type RestoreFromSnapshotInput struct { _ struct{} `type:"structure"` // The identifier of the snapshot to restore from. + // + // SnapshotId is a required field SnapshotId *string `type:"string" required:"true"` } @@ -2923,6 +5363,55 @@ func (s SnapshotLimits) GoString() string { return s.String() } +// Metadata assigned to an Amazon Directory Services directory consisting of +// a key-value pair. +type Tag struct { + _ struct{} `type:"structure"` + + // Required name of the tag. The string value can be Unicode characters and + // cannot be prefixed with "aws:". The string can contain only the set of Unicode + // letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$"). + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // The optional value of the tag. The string value can be Unicode characters. + // The string can contain only the set of Unicode letters, digits, white-space, + // '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$"). + // + // Value is a required field + Value *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s Tag) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Tag) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tag"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // Describes a trust relationship between an Microsoft AD in the AWS cloud and // an external domain. type Trust struct { @@ -2970,19 +5459,26 @@ func (s Trust) GoString() string { return s.String() } +// Updates a conditional forwarder. type UpdateConditionalForwarderInput struct { _ struct{} `type:"structure"` // The directory ID of the AWS directory for which to update the conditional // forwarder. + // + // DirectoryId is a required field DirectoryId *string `type:"string" required:"true"` // The updated IP addresses of the remote DNS server associated with the conditional // forwarder. + // + // DnsIpAddrs is a required field DnsIpAddrs []*string `type:"list" required:"true"` // The fully qualified domain name (FQDN) of the remote domain with which you // will set up a trust relationship. + // + // RemoteDomainName is a required field RemoteDomainName *string `type:"string" required:"true"` } @@ -3015,6 +5511,7 @@ func (s *UpdateConditionalForwarderInput) Validate() error { return nil } +// The result of an UpdateConditionalForwarder request. type UpdateConditionalForwarderOutput struct { _ struct{} `type:"structure"` } @@ -3034,9 +5531,13 @@ type UpdateRadiusInput struct { _ struct{} `type:"structure"` // The identifier of the directory for which to update the RADIUS server information. + // + // DirectoryId is a required field DirectoryId *string `type:"string" required:"true"` // A RadiusSettings object that contains information about the RADIUS server. + // + // RadiusSettings is a required field RadiusSettings *RadiusSettings `type:"structure" required:"true"` } @@ -3092,6 +5593,8 @@ type VerifyTrustInput struct { _ struct{} `type:"structure"` // The unique Trust ID of the trust relationship to verify. + // + // TrustId is a required field TrustId *string `type:"string" required:"true"` } @@ -3118,6 +5621,7 @@ func (s *VerifyTrustInput) Validate() error { return nil } +// Result of a VerifyTrust request. type VerifyTrustOutput struct { _ struct{} `type:"structure"` @@ -3136,127 +5640,180 @@ func (s VerifyTrustOutput) GoString() string { } const ( - // @enum DirectorySize + // DirectorySizeSmall is a DirectorySize enum value DirectorySizeSmall = "Small" - // @enum DirectorySize + + // DirectorySizeLarge is a DirectorySize enum value DirectorySizeLarge = "Large" ) const ( - // @enum DirectoryStage + // DirectoryStageRequested is a DirectoryStage enum value DirectoryStageRequested = "Requested" - // @enum DirectoryStage + + // DirectoryStageCreating is a DirectoryStage enum value DirectoryStageCreating = "Creating" - // @enum DirectoryStage + + // DirectoryStageCreated is a DirectoryStage enum value DirectoryStageCreated = "Created" - // @enum DirectoryStage + + // DirectoryStageActive is a DirectoryStage enum value DirectoryStageActive = "Active" - // @enum DirectoryStage + + // DirectoryStageInoperable is a DirectoryStage enum value DirectoryStageInoperable = "Inoperable" - // @enum DirectoryStage + + // DirectoryStageImpaired is a DirectoryStage enum value DirectoryStageImpaired = "Impaired" - // @enum DirectoryStage + + // DirectoryStageRestoring is a DirectoryStage enum value DirectoryStageRestoring = "Restoring" - // @enum DirectoryStage + + // DirectoryStageRestoreFailed is a DirectoryStage enum value DirectoryStageRestoreFailed = "RestoreFailed" - // @enum DirectoryStage + + // DirectoryStageDeleting is a DirectoryStage enum value DirectoryStageDeleting = "Deleting" - // @enum DirectoryStage + + // DirectoryStageDeleted is a DirectoryStage enum value DirectoryStageDeleted = "Deleted" - // @enum DirectoryStage + + // DirectoryStageFailed is a DirectoryStage enum value DirectoryStageFailed = "Failed" ) const ( - // @enum DirectoryType + // DirectoryTypeSimpleAd is a DirectoryType enum value DirectoryTypeSimpleAd = "SimpleAD" - // @enum DirectoryType + + // DirectoryTypeAdconnector is a DirectoryType enum value DirectoryTypeAdconnector = "ADConnector" - // @enum DirectoryType + + // DirectoryTypeMicrosoftAd is a DirectoryType enum value DirectoryTypeMicrosoftAd = "MicrosoftAD" ) const ( - // @enum RadiusAuthenticationProtocol + // IpRouteStatusMsgAdding is a IpRouteStatusMsg enum value + IpRouteStatusMsgAdding = "Adding" + + // IpRouteStatusMsgAdded is a IpRouteStatusMsg enum value + IpRouteStatusMsgAdded = "Added" + + // IpRouteStatusMsgRemoving is a IpRouteStatusMsg enum value + IpRouteStatusMsgRemoving = "Removing" + + // IpRouteStatusMsgRemoved is a IpRouteStatusMsg enum value + IpRouteStatusMsgRemoved = "Removed" + + // IpRouteStatusMsgAddFailed is a IpRouteStatusMsg enum value + IpRouteStatusMsgAddFailed = "AddFailed" + + // IpRouteStatusMsgRemoveFailed is a IpRouteStatusMsg enum value + IpRouteStatusMsgRemoveFailed = "RemoveFailed" +) + +const ( + // RadiusAuthenticationProtocolPap is a RadiusAuthenticationProtocol enum value RadiusAuthenticationProtocolPap = "PAP" - // @enum RadiusAuthenticationProtocol + + // RadiusAuthenticationProtocolChap is a RadiusAuthenticationProtocol enum value RadiusAuthenticationProtocolChap = "CHAP" - // @enum RadiusAuthenticationProtocol + + // RadiusAuthenticationProtocolMsChapv1 is a RadiusAuthenticationProtocol enum value RadiusAuthenticationProtocolMsChapv1 = "MS-CHAPv1" - // @enum RadiusAuthenticationProtocol + + // RadiusAuthenticationProtocolMsChapv2 is a RadiusAuthenticationProtocol enum value RadiusAuthenticationProtocolMsChapv2 = "MS-CHAPv2" ) const ( - // @enum RadiusStatus + // RadiusStatusCreating is a RadiusStatus enum value RadiusStatusCreating = "Creating" - // @enum RadiusStatus + + // RadiusStatusCompleted is a RadiusStatus enum value RadiusStatusCompleted = "Completed" - // @enum RadiusStatus + + // RadiusStatusFailed is a RadiusStatus enum value RadiusStatusFailed = "Failed" ) const ( - // @enum ReplicationScope + // ReplicationScopeDomain is a ReplicationScope enum value ReplicationScopeDomain = "Domain" ) const ( - // @enum SnapshotStatus + // SnapshotStatusCreating is a SnapshotStatus enum value SnapshotStatusCreating = "Creating" - // @enum SnapshotStatus + + // SnapshotStatusCompleted is a SnapshotStatus enum value SnapshotStatusCompleted = "Completed" - // @enum SnapshotStatus + + // SnapshotStatusFailed is a SnapshotStatus enum value SnapshotStatusFailed = "Failed" ) const ( - // @enum SnapshotType + // SnapshotTypeAuto is a SnapshotType enum value SnapshotTypeAuto = "Auto" - // @enum SnapshotType + + // SnapshotTypeManual is a SnapshotType enum value SnapshotTypeManual = "Manual" ) const ( - // @enum TopicStatus + // TopicStatusRegistered is a TopicStatus enum value TopicStatusRegistered = "Registered" - // @enum TopicStatus + + // TopicStatusTopicnotfound is a TopicStatus enum value TopicStatusTopicnotfound = "Topic not found" - // @enum TopicStatus + + // TopicStatusFailed is a TopicStatus enum value TopicStatusFailed = "Failed" - // @enum TopicStatus + + // TopicStatusDeleted is a TopicStatus enum value TopicStatusDeleted = "Deleted" ) const ( - // @enum TrustDirection + // TrustDirectionOneWayOutgoing is a TrustDirection enum value TrustDirectionOneWayOutgoing = "One-Way: Outgoing" - // @enum TrustDirection + + // TrustDirectionOneWayIncoming is a TrustDirection enum value TrustDirectionOneWayIncoming = "One-Way: Incoming" - // @enum TrustDirection + + // TrustDirectionTwoWay is a TrustDirection enum value TrustDirectionTwoWay = "Two-Way" ) const ( - // @enum TrustState + // TrustStateCreating is a TrustState enum value TrustStateCreating = "Creating" - // @enum TrustState + + // TrustStateCreated is a TrustState enum value TrustStateCreated = "Created" - // @enum TrustState + + // TrustStateVerifying is a TrustState enum value TrustStateVerifying = "Verifying" - // @enum TrustState + + // TrustStateVerifyFailed is a TrustState enum value TrustStateVerifyFailed = "VerifyFailed" - // @enum TrustState + + // TrustStateVerified is a TrustState enum value TrustStateVerified = "Verified" - // @enum TrustState + + // TrustStateDeleting is a TrustState enum value TrustStateDeleting = "Deleting" - // @enum TrustState + + // TrustStateDeleted is a TrustState enum value TrustStateDeleted = "Deleted" - // @enum TrustState + + // TrustStateFailed is a TrustState enum value TrustStateFailed = "Failed" ) const ( - // @enum TrustType + // TrustTypeForest is a TrustType enum value TrustTypeForest = "Forest" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go index b4cc4e1cc179..1412fe3dbd9a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go @@ -13,7 +13,30 @@ import ( const opBatchGetItem = "BatchGetItem" -// BatchGetItemRequest generates a request for the BatchGetItem operation. +// BatchGetItemRequest generates a "aws/request.Request" representing the +// client's request for the BatchGetItem operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See BatchGetItem for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the BatchGetItem method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the BatchGetItemRequest method. +// req, resp := client.BatchGetItemRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DynamoDB) BatchGetItemRequest(input *BatchGetItemInput) (req *request.Request, output *BatchGetItemOutput) { op := &request.Operation{ Name: opBatchGetItem, @@ -37,6 +60,8 @@ func (c *DynamoDB) BatchGetItemRequest(input *BatchGetItemInput) (req *request.R return } +// BatchGetItem API operation for Amazon DynamoDB. +// // The BatchGetItem operation returns the attributes of one or more items from // one or more tables. You identify requested items by primary key. // @@ -47,10 +72,10 @@ func (c *DynamoDB) BatchGetItemRequest(input *BatchGetItemInput) (req *request.R // operation returns a value for UnprocessedKeys. You can use this value to // retry the operation starting with the next item to get. // -// If you request more than 100 items BatchGetItem will return a ValidationException +// If you request more than 100 items BatchGetItem will return a ValidationException // with the message "Too many items requested for the BatchGetItem call". // -// For example, if you ask to retrieve 100 items, but each individual item +// For example, if you ask to retrieve 100 items, but each individual item // is 300 KB in size, the system returns 52 items (so as not to exceed the 16 // MB limit). It also returns an appropriate UnprocessedKeys value so you can // get the next page of results. If desired, your application can include its @@ -78,7 +103,7 @@ func (c *DynamoDB) BatchGetItemRequest(input *BatchGetItemInput) (req *request.R // In order to minimize response latency, BatchGetItem retrieves items in parallel. // // When designing your application, keep in mind that DynamoDB does not return -// attributes in any particular order. To help parse the response by item, include +// items in any particular order. To help parse the response by item, include // the primary key values for the items in your request in the AttributesToGet // parameter. // @@ -86,12 +111,53 @@ func (c *DynamoDB) BatchGetItemRequest(input *BatchGetItemInput) (req *request.R // for nonexistent items consume the minimum read capacity units according to // the type of read. For more information, see Capacity Units Calculations (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#CapacityUnitCalculations) // in the Amazon DynamoDB Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon DynamoDB's +// API operation BatchGetItem for usage and error information. +// +// Returned Error Codes: +// * ProvisionedThroughputExceededException +// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry +// requests that receive this exception. Your request is eventually successful, +// unless your retry queue is too large to finish. Reduce the frequency of requests +// and use exponential backoff. For more information, go to Error Retries and +// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ErrorHandling.html#APIRetries) +// in the Amazon DynamoDB Developer Guide. +// +// * ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// +// * InternalServerError +// An error occurred on the server side. +// func (c *DynamoDB) BatchGetItem(input *BatchGetItemInput) (*BatchGetItemOutput, error) { req, out := c.BatchGetItemRequest(input) err := req.Send() return out, err } +// BatchGetItemPages iterates over the pages of a BatchGetItem operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See BatchGetItem 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 BatchGetItem operation. +// pageNum := 0 +// err := client.BatchGetItemPages(params, +// func(page *BatchGetItemOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *DynamoDB) BatchGetItemPages(input *BatchGetItemInput, fn func(p *BatchGetItemOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.BatchGetItemRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -102,7 +168,30 @@ func (c *DynamoDB) BatchGetItemPages(input *BatchGetItemInput, fn func(p *BatchG const opBatchWriteItem = "BatchWriteItem" -// BatchWriteItemRequest generates a request for the BatchWriteItem operation. +// BatchWriteItemRequest generates a "aws/request.Request" representing the +// client's request for the BatchWriteItem operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See BatchWriteItem for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the BatchWriteItem method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the BatchWriteItemRequest method. +// req, resp := client.BatchWriteItemRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DynamoDB) BatchWriteItemRequest(input *BatchWriteItemInput) (req *request.Request, output *BatchWriteItemOutput) { op := &request.Operation{ Name: opBatchWriteItem, @@ -120,12 +209,14 @@ func (c *DynamoDB) BatchWriteItemRequest(input *BatchWriteItemInput) (req *reque return } +// BatchWriteItem API operation for Amazon DynamoDB. +// // The BatchWriteItem operation puts or deletes multiple items in one or more // tables. A single call to BatchWriteItem can write up to 16 MB of data, which // can comprise as many as 25 put or delete requests. Individual items to be // written can be as large as 400 KB. // -// BatchWriteItem cannot update items. To update items, use the UpdateItem +// BatchWriteItem cannot update items. To update items, use the UpdateItem // API. // // The individual PutItem and DeleteItem operations specified in BatchWriteItem @@ -186,9 +277,37 @@ func (c *DynamoDB) BatchWriteItemRequest(input *BatchWriteItemInput) (req *reque // // There are more than 25 requests in the batch. // -// Any individual item in a batch exceeds 400 KB. +// Any individual item in a batch exceeds 400 KB. +// +// The total request size exceeds 16 MB. +// +// 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 DynamoDB's +// API operation BatchWriteItem for usage and error information. +// +// Returned Error Codes: +// * ProvisionedThroughputExceededException +// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry +// requests that receive this exception. Your request is eventually successful, +// unless your retry queue is too large to finish. Reduce the frequency of requests +// and use exponential backoff. For more information, go to Error Retries and +// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ErrorHandling.html#APIRetries) +// in the Amazon DynamoDB Developer Guide. +// +// * ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// +// * ItemCollectionSizeLimitExceededException +// An item collection is too large. This exception is only returned for tables +// that have one or more local secondary indexes. +// +// * InternalServerError +// An error occurred on the server side. // -// The total request size exceeds 16 MB. func (c *DynamoDB) BatchWriteItem(input *BatchWriteItemInput) (*BatchWriteItemOutput, error) { req, out := c.BatchWriteItemRequest(input) err := req.Send() @@ -197,7 +316,30 @@ func (c *DynamoDB) BatchWriteItem(input *BatchWriteItemInput) (*BatchWriteItemOu const opCreateTable = "CreateTable" -// CreateTableRequest generates a request for the CreateTable operation. +// CreateTableRequest generates a "aws/request.Request" representing the +// client's request for the CreateTable operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateTable for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateTable method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateTableRequest method. +// req, resp := client.CreateTableRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DynamoDB) CreateTableRequest(input *CreateTableInput) (req *request.Request, output *CreateTableOutput) { op := &request.Operation{ Name: opCreateTable, @@ -215,14 +357,16 @@ func (c *DynamoDB) CreateTableRequest(input *CreateTableInput) (req *request.Req return } +// CreateTable API operation for Amazon DynamoDB. +// // The CreateTable operation adds a new table to your account. In an AWS account, // table names must be unique within each region. That is, you can have two // tables with same name if you create the tables in different regions. // -// CreateTable is an asynchronous operation. Upon receiving a CreateTable request, -// DynamoDB immediately returns a response with a TableStatus of CREATING. After -// the table is created, DynamoDB sets the TableStatus to ACTIVE. You can perform -// read and write operations only on an ACTIVE table. +// CreateTable is an asynchronous operation. Upon receiving a CreateTable +// request, DynamoDB immediately returns a response with a TableStatus of CREATING. +// After the table is created, DynamoDB sets the TableStatus to ACTIVE. You +// can perform read and write operations only on an ACTIVE table. // // You can optionally define secondary indexes on the new table, as part of // the CreateTable operation. If you want to create multiple tables with secondary @@ -230,6 +374,33 @@ func (c *DynamoDB) CreateTableRequest(input *CreateTableInput) (req *request.Req // with secondary indexes can be in the CREATING state at any given time. // // You can use the DescribeTable API to check the table status. +// +// 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 DynamoDB's +// API operation CreateTable for usage and error information. +// +// Returned Error Codes: +// * ResourceInUseException +// The operation conflicts with the resource's availability. For example, you +// attempted to recreate an existing table, or tried to delete a table currently +// in the CREATING state. +// +// * LimitExceededException +// The number of concurrent table requests (cumulative number of tables in the +// CREATING, DELETING or UPDATING state) exceeds the maximum allowed of 10. +// +// Also, for tables with secondary indexes, only one of those tables can be +// in the CREATING state at any point in time. Do not attempt to create more +// than one such table simultaneously. +// +// The total limit of tables in the ACTIVE state is 250. +// +// * InternalServerError +// An error occurred on the server side. +// func (c *DynamoDB) CreateTable(input *CreateTableInput) (*CreateTableOutput, error) { req, out := c.CreateTableRequest(input) err := req.Send() @@ -238,7 +409,30 @@ func (c *DynamoDB) CreateTable(input *CreateTableInput) (*CreateTableOutput, err const opDeleteItem = "DeleteItem" -// DeleteItemRequest generates a request for the DeleteItem operation. +// DeleteItemRequest generates a "aws/request.Request" representing the +// client's request for the DeleteItem operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteItem for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteItem method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteItemRequest method. +// req, resp := client.DeleteItemRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DynamoDB) DeleteItemRequest(input *DeleteItemInput) (req *request.Request, output *DeleteItemOutput) { op := &request.Operation{ Name: opDeleteItem, @@ -256,6 +450,8 @@ func (c *DynamoDB) DeleteItemRequest(input *DeleteItemInput) (req *request.Reque return } +// DeleteItem API operation for Amazon DynamoDB. +// // Deletes a single item in a table by primary key. You can perform a conditional // delete operation that deletes the item if it exists, or if it has an expected // attribute value. @@ -270,6 +466,37 @@ func (c *DynamoDB) DeleteItemRequest(input *DeleteItemInput) (req *request.Reque // Conditional deletes are useful for deleting items only if specific conditions // are met. If those conditions are met, DynamoDB performs the delete. Otherwise, // the item is not deleted. +// +// 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 DynamoDB's +// API operation DeleteItem for usage and error information. +// +// Returned Error Codes: +// * ConditionalCheckFailedException +// A condition specified in the operation could not be evaluated. +// +// * ProvisionedThroughputExceededException +// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry +// requests that receive this exception. Your request is eventually successful, +// unless your retry queue is too large to finish. Reduce the frequency of requests +// and use exponential backoff. For more information, go to Error Retries and +// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ErrorHandling.html#APIRetries) +// in the Amazon DynamoDB Developer Guide. +// +// * ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// +// * ItemCollectionSizeLimitExceededException +// An item collection is too large. This exception is only returned for tables +// that have one or more local secondary indexes. +// +// * InternalServerError +// An error occurred on the server side. +// func (c *DynamoDB) DeleteItem(input *DeleteItemInput) (*DeleteItemOutput, error) { req, out := c.DeleteItemRequest(input) err := req.Send() @@ -278,7 +505,30 @@ func (c *DynamoDB) DeleteItem(input *DeleteItemInput) (*DeleteItemOutput, error) const opDeleteTable = "DeleteTable" -// DeleteTableRequest generates a request for the DeleteTable operation. +// DeleteTableRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTable operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteTable for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteTable method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteTableRequest method. +// req, resp := client.DeleteTableRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DynamoDB) DeleteTableRequest(input *DeleteTableInput) (req *request.Request, output *DeleteTableOutput) { op := &request.Operation{ Name: opDeleteTable, @@ -296,6 +546,8 @@ func (c *DynamoDB) DeleteTableRequest(input *DeleteTableInput) (req *request.Req return } +// DeleteTable API operation for Amazon DynamoDB. +// // The DeleteTable operation deletes a table and all of its items. After a DeleteTable // request, the specified table is in the DELETING state until DynamoDB completes // the deletion. If the table is in the ACTIVE state, you can delete it. If @@ -314,6 +566,37 @@ func (c *DynamoDB) DeleteTableRequest(input *DeleteTableInput) (req *request.Req // deleted after 24 hours. // // Use the DescribeTable API to check the status of the table. +// +// 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 DynamoDB's +// API operation DeleteTable for usage and error information. +// +// Returned Error Codes: +// * ResourceInUseException +// The operation conflicts with the resource's availability. For example, you +// attempted to recreate an existing table, or tried to delete a table currently +// in the CREATING state. +// +// * ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// +// * LimitExceededException +// The number of concurrent table requests (cumulative number of tables in the +// CREATING, DELETING or UPDATING state) exceeds the maximum allowed of 10. +// +// Also, for tables with secondary indexes, only one of those tables can be +// in the CREATING state at any point in time. Do not attempt to create more +// than one such table simultaneously. +// +// The total limit of tables in the ACTIVE state is 250. +// +// * InternalServerError +// An error occurred on the server side. +// func (c *DynamoDB) DeleteTable(input *DeleteTableInput) (*DeleteTableOutput, error) { req, out := c.DeleteTableRequest(input) err := req.Send() @@ -322,7 +605,30 @@ func (c *DynamoDB) DeleteTable(input *DeleteTableInput) (*DeleteTableOutput, err const opDescribeLimits = "DescribeLimits" -// DescribeLimitsRequest generates a request for the DescribeLimits operation. +// DescribeLimitsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeLimits operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeLimits for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeLimits method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeLimitsRequest method. +// req, resp := client.DescribeLimitsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DynamoDB) DescribeLimitsRequest(input *DescribeLimitsInput) (req *request.Request, output *DescribeLimitsOutput) { op := &request.Operation{ Name: opDescribeLimits, @@ -340,6 +646,8 @@ func (c *DynamoDB) DescribeLimitsRequest(input *DescribeLimitsInput) (req *reque return } +// DescribeLimits API operation for Amazon DynamoDB. +// // Returns the current provisioned-capacity limits for your AWS account in a // region, both for the region as a whole and for any one DynamoDB table that // you create there. @@ -357,23 +665,33 @@ func (c *DynamoDB) DescribeLimitsRequest(input *DescribeLimitsInput) (req *reque // the capacity you are currently using to those limits imposed by your account // so that you have enough time to apply for an increase before you hit a limit. // -// For example, you could use one of the AWS SDKs to do the following: +// For example, you could use one of the AWS SDKs to do the following: // // Call DescribeLimits for a particular region to obtain your current account -// limits on provisioned capacity there. Create a variable to hold the aggregate -// read capacity units provisioned for all your tables in that region, and one -// to hold the aggregate write capacity units. Zero them both. Call ListTables -// to obtain a list of all your DynamoDB tables. For each table name listed -// by ListTables, do the following: -// -// Call DescribeTable with the table name. Use the data returned by DescribeTable -// to add the read capacity units and write capacity units provisioned for the -// table itself to your variables. If the table has one or more global secondary -// indexes (GSIs), loop over these GSIs and add their provisioned capacity values -// to your variables as well. Report the account limits for that region returned -// by DescribeLimits, along with the total current provisioned capacity levels -// you have calculated. This will let you see whether you are getting close -// to your account-level limits. +// limits on provisioned capacity there. +// +// Create a variable to hold the aggregate read capacity units provisioned +// for all your tables in that region, and one to hold the aggregate write capacity +// units. Zero them both. +// +// Call ListTables to obtain a list of all your DynamoDB tables. +// +// For each table name listed by ListTables, do the following: +// +// Call DescribeTable with the table name. +// +// Use the data returned by DescribeTable to add the read capacity units and +// write capacity units provisioned for the table itself to your variables. +// +// If the table has one or more global secondary indexes (GSIs), loop over +// these GSIs and add their provisioned capacity values to your variables as +// well. +// +// Report the account limits for that region returned by DescribeLimits, +// along with the total current provisioned capacity levels you have calculated. +// +// This will let you see whether you are getting close to your account-level +// limits. // // The per-table limits apply only when you are creating a new table. They // restrict the sum of the provisioned capacity of the new table itself and @@ -384,10 +702,22 @@ func (c *DynamoDB) DescribeLimitsRequest(input *DescribeLimitsInput) (req *reque // the aggregate provisioned capacity over all your tables and GSIs cannot exceed // either of the per-account limits. // -// DescribeLimits should only be called periodically. You can expect throttling +// DescribeLimits should only be called periodically. You can expect throttling // errors if you call it more than once in a minute. // // The DescribeLimits Request element has no content. +// +// 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 DynamoDB's +// API operation DescribeLimits for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// func (c *DynamoDB) DescribeLimits(input *DescribeLimitsInput) (*DescribeLimitsOutput, error) { req, out := c.DescribeLimitsRequest(input) err := req.Send() @@ -396,7 +726,30 @@ func (c *DynamoDB) DescribeLimits(input *DescribeLimitsInput) (*DescribeLimitsOu const opDescribeTable = "DescribeTable" -// DescribeTableRequest generates a request for the DescribeTable operation. +// DescribeTableRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTable operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeTable for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeTable method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeTableRequest method. +// req, resp := client.DescribeTableRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DynamoDB) DescribeTableRequest(input *DescribeTableInput) (req *request.Request, output *DescribeTableOutput) { op := &request.Operation{ Name: opDescribeTable, @@ -414,6 +767,8 @@ func (c *DynamoDB) DescribeTableRequest(input *DescribeTableInput) (req *request return } +// DescribeTable API operation for Amazon DynamoDB. +// // Returns information about the table, including the current status of the // table, when it was created, the primary key schema, and any indexes on the // table. @@ -423,6 +778,22 @@ func (c *DynamoDB) DescribeTableRequest(input *DescribeTableInput) (req *request // uses an eventually consistent query, and the metadata for your table might // not be available at that moment. Wait for a few seconds, and then try the // DescribeTable request again. +// +// 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 DynamoDB's +// API operation DescribeTable for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// +// * InternalServerError +// An error occurred on the server side. +// func (c *DynamoDB) DescribeTable(input *DescribeTableInput) (*DescribeTableOutput, error) { req, out := c.DescribeTableRequest(input) err := req.Send() @@ -431,7 +802,30 @@ func (c *DynamoDB) DescribeTable(input *DescribeTableInput) (*DescribeTableOutpu const opGetItem = "GetItem" -// GetItemRequest generates a request for the GetItem operation. +// GetItemRequest generates a "aws/request.Request" representing the +// client's request for the GetItem operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetItem for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetItem method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetItemRequest method. +// req, resp := client.GetItemRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DynamoDB) GetItemRequest(input *GetItemInput) (req *request.Request, output *GetItemOutput) { op := &request.Operation{ Name: opGetItem, @@ -449,13 +843,39 @@ func (c *DynamoDB) GetItemRequest(input *GetItemInput) (req *request.Request, ou return } +// GetItem API operation for Amazon DynamoDB. +// // The GetItem operation returns a set of attributes for the item with the given // primary key. If there is no matching item, GetItem does not return any data. // -// GetItem provides an eventually consistent read by default. If your application +// GetItem provides an eventually consistent read by default. If your application // requires a strongly consistent read, set ConsistentRead to true. Although // a strongly consistent read might take more time than an eventually consistent // read, it always returns the last updated value. +// +// 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 DynamoDB's +// API operation GetItem for usage and error information. +// +// Returned Error Codes: +// * ProvisionedThroughputExceededException +// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry +// requests that receive this exception. Your request is eventually successful, +// unless your retry queue is too large to finish. Reduce the frequency of requests +// and use exponential backoff. For more information, go to Error Retries and +// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ErrorHandling.html#APIRetries) +// in the Amazon DynamoDB Developer Guide. +// +// * ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// +// * InternalServerError +// An error occurred on the server side. +// func (c *DynamoDB) GetItem(input *GetItemInput) (*GetItemOutput, error) { req, out := c.GetItemRequest(input) err := req.Send() @@ -464,7 +884,30 @@ func (c *DynamoDB) GetItem(input *GetItemInput) (*GetItemOutput, error) { const opListTables = "ListTables" -// ListTablesRequest generates a request for the ListTables operation. +// ListTablesRequest generates a "aws/request.Request" representing the +// client's request for the ListTables operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListTables for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListTables method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListTablesRequest method. +// req, resp := client.ListTablesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DynamoDB) ListTablesRequest(input *ListTablesInput) (req *request.Request, output *ListTablesOutput) { op := &request.Operation{ Name: opListTables, @@ -488,15 +931,46 @@ func (c *DynamoDB) ListTablesRequest(input *ListTablesInput) (req *request.Reque return } +// ListTables API operation for Amazon DynamoDB. +// // Returns an array of table names associated with the current account and endpoint. // The output from ListTables is paginated, with each page returning a maximum // of 100 table names. +// +// 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 DynamoDB's +// API operation ListTables for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// func (c *DynamoDB) ListTables(input *ListTablesInput) (*ListTablesOutput, error) { req, out := c.ListTablesRequest(input) err := req.Send() return out, err } +// ListTablesPages iterates over the pages of a ListTables operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTables 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 ListTables operation. +// pageNum := 0 +// err := client.ListTablesPages(params, +// func(page *ListTablesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *DynamoDB) ListTablesPages(input *ListTablesInput, fn func(p *ListTablesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListTablesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -507,7 +981,30 @@ func (c *DynamoDB) ListTablesPages(input *ListTablesInput, fn func(p *ListTables const opPutItem = "PutItem" -// PutItemRequest generates a request for the PutItem operation. +// PutItemRequest generates a "aws/request.Request" representing the +// client's request for the PutItem operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutItem for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutItem method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutItemRequest method. +// req, resp := client.PutItemRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DynamoDB) PutItemRequest(input *PutItemInput) (req *request.Request, output *PutItemOutput) { op := &request.Operation{ Name: opPutItem, @@ -525,6 +1022,8 @@ func (c *DynamoDB) PutItemRequest(input *PutItemInput) (req *request.Request, ou return } +// PutItem API operation for Amazon DynamoDB. +// // Creates a new item, or replaces an old item with a new item. If an item that // has the same primary key as the new item already exists in the specified // table, the new item completely replaces the existing item. You can perform @@ -552,6 +1051,37 @@ func (c *DynamoDB) PutItemRequest(input *PutItemInput) (req *request.Request, ou // // For more information about using this API, see Working with Items (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithItems.html) // in the Amazon DynamoDB Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon DynamoDB's +// API operation PutItem for usage and error information. +// +// Returned Error Codes: +// * ConditionalCheckFailedException +// A condition specified in the operation could not be evaluated. +// +// * ProvisionedThroughputExceededException +// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry +// requests that receive this exception. Your request is eventually successful, +// unless your retry queue is too large to finish. Reduce the frequency of requests +// and use exponential backoff. For more information, go to Error Retries and +// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ErrorHandling.html#APIRetries) +// in the Amazon DynamoDB Developer Guide. +// +// * ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// +// * ItemCollectionSizeLimitExceededException +// An item collection is too large. This exception is only returned for tables +// that have one or more local secondary indexes. +// +// * InternalServerError +// An error occurred on the server side. +// func (c *DynamoDB) PutItem(input *PutItemInput) (*PutItemOutput, error) { req, out := c.PutItemRequest(input) err := req.Send() @@ -560,7 +1090,30 @@ func (c *DynamoDB) PutItem(input *PutItemInput) (*PutItemOutput, error) { const opQuery = "Query" -// QueryRequest generates a request for the Query operation. +// QueryRequest generates a "aws/request.Request" representing the +// client's request for the Query operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See Query for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the Query method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the QueryRequest method. +// req, resp := client.QueryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DynamoDB) QueryRequest(input *QueryInput) (req *request.Request, output *QueryOutput) { op := &request.Operation{ Name: opQuery, @@ -584,6 +1137,8 @@ func (c *DynamoDB) QueryRequest(input *QueryInput) (req *request.Request, output return } +// Query API operation for Amazon DynamoDB. +// // A Query operation uses the primary key of a table or a secondary index to // directly access items from that table or index. // @@ -601,20 +1156,62 @@ func (c *DynamoDB) QueryRequest(input *QueryInput) (req *request.Request, output // set size limit of 1 MB, the query stops and results are returned to the user // with the LastEvaluatedKey element to continue the query in a subsequent operation. // Unlike a Scan operation, a Query operation never returns both an empty result -// set and a LastEvaluatedKey value. LastEvaluatedKey is only provided if the -// results exceed 1 MB, or if you have used the Limit parameter. +// set and a LastEvaluatedKey value. LastEvaluatedKey is only provided if you +// have used the Limit parameter, or if the result set exceeds 1 MB (prior to +// applying a filter). // // You can query a table, a local secondary index, or a global secondary index. // For a query on a table or on a local secondary index, you can set the ConsistentRead // parameter to true and obtain a strongly consistent result. Global secondary // indexes support eventually consistent reads only, so do not specify ConsistentRead // when querying a global secondary index. +// +// 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 DynamoDB's +// API operation Query for usage and error information. +// +// Returned Error Codes: +// * ProvisionedThroughputExceededException +// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry +// requests that receive this exception. Your request is eventually successful, +// unless your retry queue is too large to finish. Reduce the frequency of requests +// and use exponential backoff. For more information, go to Error Retries and +// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ErrorHandling.html#APIRetries) +// in the Amazon DynamoDB Developer Guide. +// +// * ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// +// * InternalServerError +// An error occurred on the server side. +// func (c *DynamoDB) Query(input *QueryInput) (*QueryOutput, error) { req, out := c.QueryRequest(input) err := req.Send() return out, err } +// QueryPages iterates over the pages of a Query operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See Query 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 Query operation. +// pageNum := 0 +// err := client.QueryPages(params, +// func(page *QueryOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *DynamoDB) QueryPages(input *QueryInput, fn func(p *QueryOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.QueryRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -625,7 +1222,30 @@ func (c *DynamoDB) QueryPages(input *QueryInput, fn func(p *QueryOutput, lastPag const opScan = "Scan" -// ScanRequest generates a request for the Scan operation. +// ScanRequest generates a "aws/request.Request" representing the +// client's request for the Scan operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See Scan for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the Scan method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ScanRequest method. +// req, resp := client.ScanRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DynamoDB) ScanRequest(input *ScanInput) (req *request.Request, output *ScanOutput) { op := &request.Operation{ Name: opScan, @@ -649,6 +1269,8 @@ func (c *DynamoDB) ScanRequest(input *ScanInput) (req *request.Request, output * return } +// Scan API operation for Amazon DynamoDB. +// // The Scan operation returns one or more items and item attributes by accessing // every item in a table or a secondary index. To have DynamoDB return fewer // items, you can provide a ScanFilter operation. @@ -670,12 +1292,53 @@ func (c *DynamoDB) ScanRequest(input *ScanInput) (req *request.Request, output * // in the table immediately before the operation began. If you need a consistent // copy of the data, as of the time that the Scan begins, you can set the ConsistentRead // parameter to true. +// +// 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 DynamoDB's +// API operation Scan for usage and error information. +// +// Returned Error Codes: +// * ProvisionedThroughputExceededException +// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry +// requests that receive this exception. Your request is eventually successful, +// unless your retry queue is too large to finish. Reduce the frequency of requests +// and use exponential backoff. For more information, go to Error Retries and +// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ErrorHandling.html#APIRetries) +// in the Amazon DynamoDB Developer Guide. +// +// * ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// +// * InternalServerError +// An error occurred on the server side. +// func (c *DynamoDB) Scan(input *ScanInput) (*ScanOutput, error) { req, out := c.ScanRequest(input) err := req.Send() return out, err } +// ScanPages iterates over the pages of a Scan operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See Scan 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 Scan operation. +// pageNum := 0 +// err := client.ScanPages(params, +// func(page *ScanOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *DynamoDB) ScanPages(input *ScanInput, fn func(p *ScanOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ScanRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -686,7 +1349,30 @@ func (c *DynamoDB) ScanPages(input *ScanInput, fn func(p *ScanOutput, lastPage b const opUpdateItem = "UpdateItem" -// UpdateItemRequest generates a request for the UpdateItem operation. +// UpdateItemRequest generates a "aws/request.Request" representing the +// client's request for the UpdateItem operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateItem for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateItem method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateItemRequest method. +// req, resp := client.UpdateItemRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DynamoDB) UpdateItemRequest(input *UpdateItemInput) (req *request.Request, output *UpdateItemOutput) { op := &request.Operation{ Name: opUpdateItem, @@ -704,6 +1390,8 @@ func (c *DynamoDB) UpdateItemRequest(input *UpdateItemInput) (req *request.Reque return } +// UpdateItem API operation for Amazon DynamoDB. +// // Edits an existing item's attributes, or adds a new item to the table if it // does not already exist. You can put, delete, or add attribute values. You // can also perform a conditional update on an existing item (insert a new attribute @@ -712,6 +1400,37 @@ func (c *DynamoDB) UpdateItemRequest(input *UpdateItemInput) (req *request.Reque // // You can also return the item's attribute values in the same UpdateItem operation // using the ReturnValues parameter. +// +// 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 DynamoDB's +// API operation UpdateItem for usage and error information. +// +// Returned Error Codes: +// * ConditionalCheckFailedException +// A condition specified in the operation could not be evaluated. +// +// * ProvisionedThroughputExceededException +// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry +// requests that receive this exception. Your request is eventually successful, +// unless your retry queue is too large to finish. Reduce the frequency of requests +// and use exponential backoff. For more information, go to Error Retries and +// Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ErrorHandling.html#APIRetries) +// in the Amazon DynamoDB Developer Guide. +// +// * ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// +// * ItemCollectionSizeLimitExceededException +// An item collection is too large. This exception is only returned for tables +// that have one or more local secondary indexes. +// +// * InternalServerError +// An error occurred on the server side. +// func (c *DynamoDB) UpdateItem(input *UpdateItemInput) (*UpdateItemOutput, error) { req, out := c.UpdateItemRequest(input) err := req.Send() @@ -720,7 +1439,30 @@ func (c *DynamoDB) UpdateItem(input *UpdateItemInput) (*UpdateItemOutput, error) const opUpdateTable = "UpdateTable" -// UpdateTableRequest generates a request for the UpdateTable operation. +// UpdateTableRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTable operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateTable for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateTable method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateTableRequest method. +// req, resp := client.UpdateTableRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *DynamoDB) UpdateTableRequest(input *UpdateTableInput) (req *request.Request, output *UpdateTableOutput) { op := &request.Operation{ Name: opUpdateTable, @@ -738,24 +1480,57 @@ func (c *DynamoDB) UpdateTableRequest(input *UpdateTableInput) (req *request.Req return } +// UpdateTable API operation for Amazon DynamoDB. +// // Modifies the provisioned throughput settings, global secondary indexes, or // DynamoDB Streams settings for a given table. // // You can only perform one of the following operations at once: // -// Modify the provisioned throughput settings of the table. +// Modify the provisioned throughput settings of the table. // -// Enable or disable Streams on the table. +// Enable or disable Streams on the table. // -// Remove a global secondary index from the table. +// Remove a global secondary index from the table. // -// Create a new global secondary index on the table. Once the index begins +// Create a new global secondary index on the table. Once the index begins // backfilling, you can use UpdateTable to perform other operations. // -// UpdateTable is an asynchronous operation; while it is executing, the table -// status changes from ACTIVE to UPDATING. While it is UPDATING, you cannot +// UpdateTable is an asynchronous operation; while it is executing, the +// table status changes from ACTIVE to UPDATING. While it is UPDATING, you cannot // issue another UpdateTable request. When the table returns to the ACTIVE state, // the UpdateTable operation is complete. +// +// 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 DynamoDB's +// API operation UpdateTable for usage and error information. +// +// Returned Error Codes: +// * ResourceInUseException +// The operation conflicts with the resource's availability. For example, you +// attempted to recreate an existing table, or tried to delete a table currently +// in the CREATING state. +// +// * ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// +// * LimitExceededException +// The number of concurrent table requests (cumulative number of tables in the +// CREATING, DELETING or UPDATING state) exceeds the maximum allowed of 10. +// +// Also, for tables with secondary indexes, only one of those tables can be +// in the CREATING state at any point in time. Do not attempt to create more +// than one such table simultaneously. +// +// The total limit of tables in the ACTIVE state is 250. +// +// * InternalServerError +// An error occurred on the server side. +// func (c *DynamoDB) UpdateTable(input *UpdateTableInput) (*UpdateTableOutput, error) { req, out := c.UpdateTableRequest(input) err := req.Send() @@ -767,12 +1542,19 @@ type AttributeDefinition struct { _ struct{} `type:"structure"` // A name for the attribute. + // + // AttributeName is a required field AttributeName *string `min:"1" type:"string" required:"true"` // The data type for the attribute, where: // - // S - the attribute is of type String N - the attribute is of type Number - // B - the attribute is of type Binary + // S - the attribute is of type String + // + // N - the attribute is of type Number + // + // B - the attribute is of type Binary + // + // AttributeType is a required field AttributeType *string `type:"string" required:"true" enum:"ScalarAttributeType"` } @@ -877,10 +1659,10 @@ type AttributeValueUpdate struct { // // If an item with the specified Key is found in the table: // - // PUT - Adds the specified attribute to the item. If the attribute already + // PUT - Adds the specified attribute to the item. If the attribute already // exists, it is replaced by the new value. // - // DELETE - If no value is specified, the attribute and its value are removed + // DELETE - If no value is specified, the attribute and its value are removed // from the item. The data type of the specified value must match the existing // value's data type. // @@ -889,7 +1671,7 @@ type AttributeValueUpdate struct { // DELETE action specified [a,c], then the final attribute value would be [b]. // Specifying an empty set is an error. // - // ADD - If the attribute does not already exist, then the attribute and + // ADD - If the attribute does not already exist, then the attribute and // its values are added to the item. If the attribute does exist, then the behavior // of ADD depends on the data type of the attribute: // @@ -925,12 +1707,12 @@ type AttributeValueUpdate struct { // // If no item with the specified Key is found: // - // PUT - DynamoDB creates a new item with the specified primary key, and + // PUT - DynamoDB creates a new item with the specified primary key, and // then adds the attribute. // - // DELETE - Nothing happens; there is no attribute to delete. + // DELETE - Nothing happens; there is no attribute to delete. // - // ADD - DynamoDB creates an item with the supplied primary key and number + // ADD - DynamoDB creates an item with the supplied primary key and number // (or set of numbers) for the attribute value. The only data types allowed // are number and number set; no other data types can be specified. Action *string `type:"string" enum:"AttributeAction"` @@ -965,7 +1747,7 @@ type BatchGetItemInput struct { // // Each element in the map of items to retrieve consists of the following: // - // ConsistentRead - If true, a strongly consistent read is used; if false + // ConsistentRead - If true, a strongly consistent read is used; if false // (the default), an eventually consistent read is used. // // ExpressionAttributeNames - One or more substitution tokens for attribute @@ -983,34 +1765,34 @@ type BatchGetItemInput struct { // Use the # character in an expression to dereference an attribute name. // For example, consider the following attribute name: // - // Percentile + // Percentile // - // The name of this attribute conflicts with a reserved word, so it cannot + // The name of this attribute conflicts with a reserved word, so it cannot // be used directly in an expression. (For the complete list of reserved words, // see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) // in the Amazon DynamoDB Developer Guide). To work around this, you could specify // the following for ExpressionAttributeNames: // - // {"#P":"Percentile"} + // {"#P":"Percentile"} // - // You could then use this substitution in an expression, as in this example: + // You could then use this substitution in an expression, as in this example: // - // #P = :val + // #P = :val // - // Tokens that begin with the : character are expression attribute values, + // Tokens that begin with the : character are expression attribute values, // which are placeholders for the actual value at runtime. // - // For more information on expression attribute names, see Accessing Item Attributes - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) + // For more information on expression attribute names, see Accessing Item + // Attributes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) // in the Amazon DynamoDB Developer Guide. // - // Keys - An array of primary key attribute values that define specific items - // in the table. For each primary key, you must provide all of the key attributes. - // For example, with a simple primary key, you only need to provide the partition - // key value. For a composite key, you must provide both the partition key value - // and the sort key value. + // Keys - An array of primary key attribute values that define specific + // items in the table. For each primary key, you must provide all of the key + // attributes. For example, with a simple primary key, you only need to provide + // the partition key value. For a composite key, you must provide both the partition + // key value and the sort key value. // - // ProjectionExpression - A string that identifies one or more attributes + // ProjectionExpression - A string that identifies one or more attributes // to retrieve from the table. These attributes can include scalars, sets, or // elements of a JSON document. The attributes in the expression must be separated // by commas. @@ -1032,19 +1814,21 @@ type BatchGetItemInput struct { // This parameter allows you to retrieve attributes of type List or Map; however, // it cannot retrieve individual elements within a List or a Map. // - // The names of one or more attributes to retrieve. If no attribute names are - // provided, then all attributes will be returned. If any of the requested attributes - // are not found, they will not appear in the result. + // The names of one or more attributes to retrieve. If no attribute names + // are provided, then all attributes will be returned. If any of the requested + // attributes are not found, they will not appear in the result. // // Note that AttributesToGet has no effect on provisioned throughput consumption. // DynamoDB determines capacity units consumed based on item size, not on the // amount of data that is returned to an application. + // + // RequestItems is a required field RequestItems map[string]*KeysAndAttributes `min:"1" type:"map" required:"true"` // Determines the level of detail about provisioned throughput consumption that // is returned in the response: // - // INDEXES - The response includes the aggregate ConsumedCapacity for the + // INDEXES - The response includes the aggregate ConsumedCapacity for the // operation, together with ConsumedCapacity for each table and secondary index // that was accessed. // @@ -1052,10 +1836,10 @@ type BatchGetItemInput struct { // any indexes at all. In these cases, specifying INDEXES will only return ConsumedCapacity // information for table(s). // - // TOTAL - The response includes only the aggregate ConsumedCapacity for the - // operation. + // TOTAL - The response includes only the aggregate ConsumedCapacity for + // the operation. // - // NONE - No ConsumedCapacity details are included in the response. + // NONE - No ConsumedCapacity details are included in the response. ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` } @@ -1103,9 +1887,9 @@ type BatchGetItemOutput struct { // // Each element consists of: // - // TableName - The table that consumed the provisioned throughput. + // TableName - The table that consumed the provisioned throughput. // - // CapacityUnits - The total number of capacity units consumed. + // CapacityUnits - The total number of capacity units consumed. ConsumedCapacity []*ConsumedCapacity `type:"list"` // A map of table name to a list of items. Each object in Responses consists @@ -1120,14 +1904,14 @@ type BatchGetItemOutput struct { // // Each element consists of: // - // Keys - An array of primary key attribute values that define specific items - // in the table. + // Keys - An array of primary key attribute values that define specific + // items in the table. // - // AttributesToGet - One or more attributes to be retrieved from the table + // AttributesToGet - One or more attributes to be retrieved from the table // or index. By default, all attributes are returned. If a requested attribute // is not found, it does not appear in the result. // - // ConsistentRead - The consistency of a read operation. If set to true, + // ConsistentRead - The consistency of a read operation. If set to true, // then a strongly consistent read is used; otherwise, an eventually consistent // read is used. // @@ -1154,20 +1938,20 @@ type BatchWriteItemInput struct { // to be performed (DeleteRequest or PutRequest). Each element in the map consists // of the following: // - // DeleteRequest - Perform a DeleteItem operation on the specified item. + // DeleteRequest - Perform a DeleteItem operation on the specified item. // The item to be deleted is identified by a Key subelement: // - // Key - A map of primary key attribute values that uniquely identify the + // Key - A map of primary key attribute values that uniquely identify the // ! item. Each entry in this map consists of an attribute name and an attribute // value. For each primary key, you must provide all of the key attributes. // For example, with a simple primary key, you only need to provide a value // for the partition key. For a composite primary key, you must provide values // for both the partition key and the sort key. // - // PutRequest - Perform a PutItem operation on the specified item. The + // PutRequest - Perform a PutItem operation on the specified item. The // item to be put is identified by an Item subelement: // - // Item - A map of attributes and their values. Each entry in this map consists + // Item - A map of attributes and their values. Each entry in this map consists // of an attribute name and an attribute value. Attribute values must not be // null; string and binary type attributes must have lengths greater than zero; // and set type attributes must not be empty. Requests that contain empty values @@ -1176,12 +1960,14 @@ type BatchWriteItemInput struct { // If you specify any attributes that are part of an index key, then the data // types for those attributes must match those of the schema in the table's // attribute definition. + // + // RequestItems is a required field RequestItems map[string][]*WriteRequest `min:"1" type:"map" required:"true"` // Determines the level of detail about provisioned throughput consumption that // is returned in the response: // - // INDEXES - The response includes the aggregate ConsumedCapacity for the + // INDEXES - The response includes the aggregate ConsumedCapacity for the // operation, together with ConsumedCapacity for each table and secondary index // that was accessed. // @@ -1189,10 +1975,10 @@ type BatchWriteItemInput struct { // any indexes at all. In these cases, specifying INDEXES will only return ConsumedCapacity // information for table(s). // - // TOTAL - The response includes only the aggregate ConsumedCapacity for the - // operation. + // TOTAL - The response includes only the aggregate ConsumedCapacity for + // the operation. // - // NONE - No ConsumedCapacity details are included in the response. + // NONE - No ConsumedCapacity details are included in the response. ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` // Determines whether item collection metrics are returned. If set to SIZE, @@ -1236,9 +2022,9 @@ type BatchWriteItemOutput struct { // // Each element consists of: // - // TableName - The table that consumed the provisioned throughput. + // TableName - The table that consumed the provisioned throughput. // - // CapacityUnits - The total number of capacity units consumed. + // CapacityUnits - The total number of capacity units consumed. ConsumedCapacity []*ConsumedCapacity `type:"list"` // A list of tables that were processed by BatchWriteItem and, for each table, @@ -1247,10 +2033,10 @@ type BatchWriteItemOutput struct { // // Each entry consists of the following subelements: // - // ItemCollectionKey - The partition key value of the item collection. This + // ItemCollectionKey - The partition key value of the item collection. This // is the same as the partition key value of the item. // - // SizeEstimateRange - An estimate of item collection size, expressed in + // SizeEstimateRange - An estimate of item collection size, expressed in // GB. This is a two-element array containing a lower bound and an upper bound // for the estimate. The estimate includes the size of all the items in the // table, plus the size of all attributes projected into all of the local secondary @@ -1269,17 +2055,17 @@ type BatchWriteItemOutput struct { // Each UnprocessedItems entry consists of a table name and, for that table, // a list of operations to perform (DeleteRequest or PutRequest). // - // DeleteRequest - Perform a DeleteItem operation on the specified item. + // DeleteRequest - Perform a DeleteItem operation on the specified item. // The item to be deleted is identified by a Key subelement: // - // Key - A map of primary key attribute values that uniquely identify the + // Key - A map of primary key attribute values that uniquely identify the // item. Each entry in this map consists of an attribute name and an attribute // value. // - // PutRequest - Perform a PutItem operation on the specified item. The + // PutRequest - Perform a PutItem operation on the specified item. The // item to be put is identified by an Item subelement: // - // Item - A map of attributes and their values. Each entry in this map consists + // Item - A map of attributes and their values. Each entry in this map consists // of an attribute name and an attribute value. Attribute values must not be // null; string and binary type attributes must have lengths greater than zero; // and set type attributes must not be empty. Requests that contain empty values @@ -1331,7 +2117,7 @@ func (s Capacity) GoString() string { // // EQ | LE | LT | GE | GT | BEGINS_WITH | BETWEEN // -// Condition is also used in a QueryFilter, which evaluates the query results +// Condition is also used in a QueryFilter, which evaluates the query results // and returns only the desired values. // // For a Scan operation, Condition is used in a ScanFilter, which evaluates @@ -1358,122 +2144,122 @@ type Condition struct { // // The following comparison operators are available: // - // EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS + // EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS // | BEGINS_WITH | IN | BETWEEN // // The following are descriptions of each comparison operator. // - // EQ : Equal. EQ is supported for all datatypes, including lists and maps. + // EQ : Equal. EQ is supported for all datatypes, including lists and maps. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, Binary, String Set, Number Set, or Binary Set. If an item contains - // an AttributeValue element of a different type than the one provided in the - // request, the value does not match. For example, {"S":"6"} does not equal - // {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}. + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, Binary, String Set, Number Set, or Binary Set. If an item + // contains an AttributeValue element of a different type than the one provided + // in the request, the value does not match. For example, {"S":"6"} does not + // equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}. // - // NE : Not equal. NE is supported for all datatypes, including lists and + // NE : Not equal. NE is supported for all datatypes, including lists and // maps. // - // AttributeValueList can contain only one AttributeValue of type String, Number, - // Binary, String Set, Number Set, or Binary Set. If an item contains an AttributeValue - // of a different type than the one provided in the request, the value does - // not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} - // does not equal {"NS":["6", "2", "1"]}. + // AttributeValueList can contain only one AttributeValue of type String, + // Number, Binary, String Set, Number Set, or Binary Set. If an item contains + // an AttributeValue of a different type than the one provided in the request, + // the value does not match. For example, {"S":"6"} does not equal {"N":"6"}. + // Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}. // - // LE : Less than or equal. + // LE : Less than or equal. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If an item contains an AttributeValue + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If an item contains an AttributeValue // element of a different type than the one provided in the request, the value // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} // does not compare to {"NS":["6", "2", "1"]}. // - // LT : Less than. + // LT : Less than. // - // AttributeValueList can contain only one AttributeValue of type String, Number, - // or Binary (not a set type). If an item contains an AttributeValue element - // of a different type than the one provided in the request, the value does - // not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} + // AttributeValueList can contain only one AttributeValue of type String, + // Number, or Binary (not a set type). If an item contains an AttributeValue + // element of a different type than the one provided in the request, the value + // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} // does not compare to {"NS":["6", "2", "1"]}. // - // GE : Greater than or equal. + // GE : Greater than or equal. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If an item contains an AttributeValue + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If an item contains an AttributeValue // element of a different type than the one provided in the request, the value // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} // does not compare to {"NS":["6", "2", "1"]}. // - // GT : Greater than. + // GT : Greater than. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If an item contains an AttributeValue + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If an item contains an AttributeValue // element of a different type than the one provided in the request, the value // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} // does not compare to {"NS":["6", "2", "1"]}. // - // NOT_NULL : The attribute exists. NOT_NULL is supported for all datatypes, + // NOT_NULL : The attribute exists. NOT_NULL is supported for all datatypes, // including lists and maps. // - // This operator tests for the existence of an attribute, not its data type. + // This operator tests for the existence of an attribute, not its data type. // If the data type of attribute "a" is null, and you evaluate it using NOT_NULL, // the result is a Boolean true. This result is because the attribute "a" exists; // its data type is not relevant to the NOT_NULL comparison operator. // - // NULL : The attribute does not exist. NULL is supported for all datatypes, + // NULL : The attribute does not exist. NULL is supported for all datatypes, // including lists and maps. // - // This operator tests for the nonexistence of an attribute, not its data type. - // If the data type of attribute "a" is null, and you evaluate it using NULL, - // the result is a Boolean false. This is because the attribute "a" exists; + // This operator tests for the nonexistence of an attribute, not its data + // type. If the data type of attribute "a" is null, and you evaluate it using + // NULL, the result is a Boolean false. This is because the attribute "a" exists; // its data type is not relevant to the NULL comparison operator. // - // CONTAINS : Checks for a subsequence, or value in a set. + // CONTAINS : Checks for a subsequence, or value in a set. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If the target attribute of the comparison - // is of type String, then the operator checks for a substring match. If the - // target attribute of the comparison is of type Binary, then the operator looks - // for a subsequence of the target that matches the input. If the target attribute - // of the comparison is a set ("SS", "NS", or "BS"), then the operator evaluates - // to true if it finds an exact match with any member of the set. + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If the target attribute of the + // comparison is of type String, then the operator checks for a substring match. + // If the target attribute of the comparison is of type Binary, then the operator + // looks for a subsequence of the target that matches the input. If the target + // attribute of the comparison is a set ("SS", "NS", or "BS"), then the operator + // evaluates to true if it finds an exact match with any member of the set. // // CONTAINS is supported for lists: When evaluating "a CONTAINS b", "a" can // be a list; however, "b" cannot be a set, a map, or a list. // - // NOT_CONTAINS : Checks for absence of a subsequence, or absence of a value + // NOT_CONTAINS : Checks for absence of a subsequence, or absence of a value // in a set. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If the target attribute of the comparison - // is a String, then the operator checks for the absence of a substring match. - // If the target attribute of the comparison is Binary, then the operator checks - // for the absence of a subsequence of the target that matches the input. If - // the target attribute of the comparison is a set ("SS", "NS", or "BS"), then - // the operator evaluates to true if it does not find an exact match with any - // member of the set. + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If the target attribute of the + // comparison is a String, then the operator checks for the absence of a substring + // match. If the target attribute of the comparison is Binary, then the operator + // checks for the absence of a subsequence of the target that matches the input. + // If the target attribute of the comparison is a set ("SS", "NS", or "BS"), + // then the operator evaluates to true if it does not find an exact match with + // any member of the set. // // NOT_CONTAINS is supported for lists: When evaluating "a NOT CONTAINS b", // "a" can be a list; however, "b" cannot be a set, a map, or a list. // - // BEGINS_WITH : Checks for a prefix. + // BEGINS_WITH : Checks for a prefix. // - // AttributeValueList can contain only one AttributeValue of type String or + // AttributeValueList can contain only one AttributeValue of type String or // Binary (not a Number or a set type). The target attribute of the comparison // must be of type String or Binary (not a Number or a set type). // - // IN : Checks for matching elements within two sets. + // IN : Checks for matching elements within two sets. // - // AttributeValueList can contain one or more AttributeValue elements of type + // AttributeValueList can contain one or more AttributeValue elements of type // String, Number, or Binary (not a set type). These attributes are compared // against an existing set type attribute of an item. If any elements of the // input set are present in the item attribute, the expression evaluates to // true. // - // BETWEEN : Greater than or equal to the first value, and less than or equal - // to the second value. + // BETWEEN : Greater than or equal to the first value, and less than or + // equal to the second value. // - // AttributeValueList must contain two AttributeValue elements of the same + // AttributeValueList must contain two AttributeValue elements of the same // type, either String, Number, or Binary (not a set type). A target attribute // matches if the target value is greater than, or equal to, the first element // and less than, or equal to, the second element. If an item contains an AttributeValue @@ -1484,6 +2270,8 @@ type Condition struct { // For usage examples of AttributeValueList and ComparisonOperator, see Legacy // Conditional Parameters (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.html) // in the Amazon DynamoDB Developer Guide. + // + // ComparisonOperator is a required field ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperator"` } @@ -1550,14 +2338,20 @@ type CreateGlobalSecondaryIndexAction struct { _ struct{} `type:"structure"` // The name of the global secondary index to be created. + // + // IndexName is a required field IndexName *string `min:"3" type:"string" required:"true"` // The key schema for the global secondary index. + // + // KeySchema is a required field KeySchema []*KeySchemaElement `min:"1" type:"list" required:"true"` // Represents attributes that are copied (projected) from the table into an // index. These are in addition to the primary key attributes and index key // attributes, which are automatically projected. + // + // Projection is a required field Projection *Projection `type:"structure" required:"true"` // Represents the provisioned throughput settings for a specified table or index. @@ -1566,6 +2360,8 @@ type CreateGlobalSecondaryIndexAction struct { // For current minimum and maximum provisioned throughput values, see Limits // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) // in the Amazon DynamoDB Developer Guide. + // + // ProvisionedThroughput is a required field ProvisionedThroughput *ProvisionedThroughput `type:"structure" required:"true"` } @@ -1632,37 +2428,39 @@ type CreateTableInput struct { _ struct{} `type:"structure"` // An array of attributes that describe the key schema for the table and indexes. + // + // AttributeDefinitions is a required field AttributeDefinitions []*AttributeDefinition `type:"list" required:"true"` // One or more global secondary indexes (the maximum is five) to be created // on the table. Each global secondary index in the array includes the following: // - // IndexName - The name of the global secondary index. Must be unique only + // IndexName - The name of the global secondary index. Must be unique only // for this table. // - // KeySchema - Specifies the key schema for the global secondary index. + // KeySchema - Specifies the key schema for the global secondary index. // - // Projection - Specifies attributes that are copied (projected) from the + // Projection - Specifies attributes that are copied (projected) from the // table into the index. These are in addition to the primary key attributes // and index key attributes, which are automatically projected. Each attribute // specification is composed of: // - // ProjectionType - One of the following: + // ProjectionType - One of the following: // - // KEYS_ONLY - Only the index and primary keys are projected into the index. + // KEYS_ONLY - Only the index and primary keys are projected into the index. // - // INCLUDE - Only the specified table attributes are projected into the index. - // The list of projected attributes are in NonKeyAttributes. + // INCLUDE - Only the specified table attributes are projected into the + // index. The list of projected attributes are in NonKeyAttributes. // - // ALL - All of the table attributes are projected into the index. + // ALL - All of the table attributes are projected into the index. // - // NonKeyAttributes - A list of one or more non-key attribute names that + // NonKeyAttributes - A list of one or more non-key attribute names that // are projected into the secondary index. The total count of attributes provided // in NonKeyAttributes, summed across all of the secondary indexes, must not // exceed 20. If you project the same attribute into two different indexes, // this counts as two distinct attributes when determining the total. // - // ProvisionedThroughput - The provisioned throughput settings for the + // ProvisionedThroughput - The provisioned throughput settings for the // global secondary index, consisting of read and write capacity units. GlobalSecondaryIndexes []*GlobalSecondaryIndex `type:"list"` @@ -1673,15 +2471,15 @@ type CreateTableInput struct { // // Each KeySchemaElement in the array is composed of: // - // AttributeName - The name of this key attribute. + // AttributeName - The name of this key attribute. // - // KeyType - The role that the key attribute will assume: + // KeyType - The role that the key attribute will assume: // - // HASH - partition key + // HASH - partition key // - // RANGE - sort key + // RANGE - sort key // - // The partition key of an item is also known as its hash attribute. The + // The partition key of an item is also known as its hash attribute. The // term "hash attribute" derives from DynamoDB' usage of an internal hash function // to evenly distribute data items across partitions, based on their partition // key values. @@ -1690,8 +2488,8 @@ type CreateTableInput struct { // attribute" derives from the way DynamoDB stores items with the same partition // key physically close together, in sorted order by the sort key value. // - // For a simple primary key (partition key), you must provide exactly one element - // with a KeyType of HASH. + // For a simple primary key (partition key), you must provide exactly one + // element with a KeyType of HASH. // // For a composite primary key (partition key and sort key), you must provide // exactly two elements, in this order: The first element must have a KeyType @@ -1699,6 +2497,8 @@ type CreateTableInput struct { // // For more information, see Specifying the Primary Key (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#WorkingWithTables.primary.key) // in the Amazon DynamoDB Developer Guide. + // + // KeySchema is a required field KeySchema []*KeySchemaElement `min:"1" type:"list" required:"true"` // One or more local secondary indexes (the maximum is five) to be created on @@ -1708,27 +2508,27 @@ type CreateTableInput struct { // // Each local secondary index in the array includes the following: // - // IndexName - The name of the local secondary index. Must be unique only + // IndexName - The name of the local secondary index. Must be unique only // for this table. // - // KeySchema - Specifies the key schema for the local secondary index. The - // key schema must begin with the same partition key as the table. + // KeySchema - Specifies the key schema for the local secondary index. + // The key schema must begin with the same partition key as the table. // - // Projection - Specifies attributes that are copied (projected) from the + // Projection - Specifies attributes that are copied (projected) from the // table into the index. These are in addition to the primary key attributes // and index key attributes, which are automatically projected. Each attribute // specification is composed of: // - // ProjectionType - One of the following: + // ProjectionType - One of the following: // - // KEYS_ONLY - Only the index and primary keys are projected into the index. + // KEYS_ONLY - Only the index and primary keys are projected into the index. // - // INCLUDE - Only the specified table attributes are projected into the index. - // The list of projected attributes are in NonKeyAttributes. + // INCLUDE - Only the specified table attributes are projected into the + // index. The list of projected attributes are in NonKeyAttributes. // - // ALL - All of the table attributes are projected into the index. + // ALL - All of the table attributes are projected into the index. // - // NonKeyAttributes - A list of one or more non-key attribute names that + // NonKeyAttributes - A list of one or more non-key attribute names that // are projected into the secondary index. The total count of attributes provided // in NonKeyAttributes, summed across all of the secondary indexes, must not // exceed 20. If you project the same attribute into two different indexes, @@ -1741,31 +2541,35 @@ type CreateTableInput struct { // For current minimum and maximum provisioned throughput values, see Limits // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) // in the Amazon DynamoDB Developer Guide. + // + // ProvisionedThroughput is a required field ProvisionedThroughput *ProvisionedThroughput `type:"structure" required:"true"` // The settings for DynamoDB Streams on the table. These settings consist of: // - // StreamEnabled - Indicates whether Streams is to be enabled (true) or disabled - // (false). + // StreamEnabled - Indicates whether Streams is to be enabled (true) or + // disabled (false). // - // StreamViewType - When an item in the table is modified, StreamViewType + // StreamViewType - When an item in the table is modified, StreamViewType // determines what information is written to the table's stream. Valid values // for StreamViewType are: // - // KEYS_ONLY - Only the key attributes of the modified item are written to - // the stream. - // - // NEW_IMAGE - The entire item, as it appears after it was modified, is written + // KEYS_ONLY - Only the key attributes of the modified item are written // to the stream. // - // OLD_IMAGE - The entire item, as it appeared before it was modified, is written - // to the stream. + // NEW_IMAGE - The entire item, as it appears after it was modified, is + // written to the stream. // - // NEW_AND_OLD_IMAGES - Both the new and the old item images of the item are + // OLD_IMAGE - The entire item, as it appeared before it was modified, is // written to the stream. + // + // NEW_AND_OLD_IMAGES - Both the new and the old item images of the item + // are written to the stream. StreamSpecification *StreamSpecification `type:"structure"` // The name of the table to create. + // + // TableName is a required field TableName *string `min:"3" type:"string" required:"true"` } @@ -1875,6 +2679,8 @@ type DeleteGlobalSecondaryIndexAction struct { _ struct{} `type:"structure"` // The name of the global secondary index to be deleted. + // + // IndexName is a required field IndexName *string `min:"3" type:"string" required:"true"` } @@ -1918,7 +2724,8 @@ type DeleteItemInput struct { // // These function names are case-sensitive. // - // Comparison operators: = | | | | = | = | BETWEEN | IN + // Comparison operators: = | <> | < | > | <= | + // >= | BETWEEN | IN // // Logical operators: AND | OR | NOT // @@ -1926,7 +2733,7 @@ type DeleteItemInput struct { // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) // in the Amazon DynamoDB Developer Guide. // - // ConditionExpression replaces the legacy ConditionalOperator and Expected + // ConditionExpression replaces the legacy ConditionalOperator and Expected // parameters. ConditionExpression *string `type:"string"` @@ -1937,17 +2744,17 @@ type DeleteItemInput struct { // // A logical operator to apply to the conditions in the Expected map: // - // AND - If all of the conditions evaluate to true, then the entire map evaluates - // to true. + // AND - If all of the conditions evaluate to true, then the entire map + // evaluates to true. // - // OR - If at least one of the conditions evaluate to true, then the entire + // OR - If at least one of the conditions evaluate to true, then the entire // map evaluates to true. // - // If you omit ConditionalOperator, then AND is the default. + // If you omit ConditionalOperator, then AND is the default. // // The operation will succeed only if the entire map evaluates to true. // - // This parameter does not support attributes of type List or Map. + // This parameter does not support attributes of type List or Map. ConditionalOperator *string `type:"string" enum:"ConditionalOperator"` // This is a legacy parameter, for backward compatibility. New applications @@ -1972,9 +2779,9 @@ type DeleteItemInput struct { // If the Expected map evaluates to true, then the conditional operation succeeds; // otherwise, it fails. // - // Expected contains the following: + // Expected contains the following: // - // AttributeValueList - One or more values to evaluate against the supplied + // AttributeValueList - One or more values to evaluate against the supplied // attribute. The number of values in the list depends on the ComparisonOperator // being used. // @@ -1982,132 +2789,133 @@ type DeleteItemInput struct { // // String value comparisons for greater than, equals, or less than are based // on ASCII character code values. For example, a is greater than A, and a is - // greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters. + // greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters + // (http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters). // // For type Binary, DynamoDB treats each byte of the binary data as unsigned // when it compares binary values. // - // ComparisonOperator - A comparator for evaluating attributes in the AttributeValueList. + // ComparisonOperator - A comparator for evaluating attributes in the AttributeValueList. // When performing the comparison, DynamoDB uses strongly consistent reads. // // The following comparison operators are available: // - // EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS + // EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS // | BEGINS_WITH | IN | BETWEEN // // The following are descriptions of each comparison operator. // - // EQ : Equal. EQ is supported for all datatypes, including lists and maps. + // EQ : Equal. EQ is supported for all datatypes, including lists and maps. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, Binary, String Set, Number Set, or Binary Set. If an item contains - // an AttributeValue element of a different type than the one provided in the - // request, the value does not match. For example, {"S":"6"} does not equal - // {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}. + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, Binary, String Set, Number Set, or Binary Set. If an item + // contains an AttributeValue element of a different type than the one provided + // in the request, the value does not match. For example, {"S":"6"} does not + // equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}. // - // NE : Not equal. NE is supported for all datatypes, including lists and + // NE : Not equal. NE is supported for all datatypes, including lists and // maps. // - // AttributeValueList can contain only one AttributeValue of type String, Number, - // Binary, String Set, Number Set, or Binary Set. If an item contains an AttributeValue - // of a different type than the one provided in the request, the value does - // not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} - // does not equal {"NS":["6", "2", "1"]}. + // AttributeValueList can contain only one AttributeValue of type String, + // Number, Binary, String Set, Number Set, or Binary Set. If an item contains + // an AttributeValue of a different type than the one provided in the request, + // the value does not match. For example, {"S":"6"} does not equal {"N":"6"}. + // Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}. // - // LE : Less than or equal. + // LE : Less than or equal. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If an item contains an AttributeValue + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If an item contains an AttributeValue // element of a different type than the one provided in the request, the value // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} // does not compare to {"NS":["6", "2", "1"]}. // - // LT : Less than. + // LT : Less than. // - // AttributeValueList can contain only one AttributeValue of type String, Number, - // or Binary (not a set type). If an item contains an AttributeValue element - // of a different type than the one provided in the request, the value does - // not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} + // AttributeValueList can contain only one AttributeValue of type String, + // Number, or Binary (not a set type). If an item contains an AttributeValue + // element of a different type than the one provided in the request, the value + // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} // does not compare to {"NS":["6", "2", "1"]}. // - // GE : Greater than or equal. + // GE : Greater than or equal. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If an item contains an AttributeValue + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If an item contains an AttributeValue // element of a different type than the one provided in the request, the value // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} // does not compare to {"NS":["6", "2", "1"]}. // - // GT : Greater than. + // GT : Greater than. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If an item contains an AttributeValue + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If an item contains an AttributeValue // element of a different type than the one provided in the request, the value // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} // does not compare to {"NS":["6", "2", "1"]}. // - // NOT_NULL : The attribute exists. NOT_NULL is supported for all datatypes, + // NOT_NULL : The attribute exists. NOT_NULL is supported for all datatypes, // including lists and maps. // - // This operator tests for the existence of an attribute, not its data type. + // This operator tests for the existence of an attribute, not its data type. // If the data type of attribute "a" is null, and you evaluate it using NOT_NULL, // the result is a Boolean true. This result is because the attribute "a" exists; // its data type is not relevant to the NOT_NULL comparison operator. // - // NULL : The attribute does not exist. NULL is supported for all datatypes, + // NULL : The attribute does not exist. NULL is supported for all datatypes, // including lists and maps. // - // This operator tests for the nonexistence of an attribute, not its data type. - // If the data type of attribute "a" is null, and you evaluate it using NULL, - // the result is a Boolean false. This is because the attribute "a" exists; + // This operator tests for the nonexistence of an attribute, not its data + // type. If the data type of attribute "a" is null, and you evaluate it using + // NULL, the result is a Boolean false. This is because the attribute "a" exists; // its data type is not relevant to the NULL comparison operator. // - // CONTAINS : Checks for a subsequence, or value in a set. + // CONTAINS : Checks for a subsequence, or value in a set. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If the target attribute of the comparison - // is of type String, then the operator checks for a substring match. If the - // target attribute of the comparison is of type Binary, then the operator looks - // for a subsequence of the target that matches the input. If the target attribute - // of the comparison is a set ("SS", "NS", or "BS"), then the operator evaluates - // to true if it finds an exact match with any member of the set. + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If the target attribute of the + // comparison is of type String, then the operator checks for a substring match. + // If the target attribute of the comparison is of type Binary, then the operator + // looks for a subsequence of the target that matches the input. If the target + // attribute of the comparison is a set ("SS", "NS", or "BS"), then the operator + // evaluates to true if it finds an exact match with any member of the set. // // CONTAINS is supported for lists: When evaluating "a CONTAINS b", "a" can // be a list; however, "b" cannot be a set, a map, or a list. // - // NOT_CONTAINS : Checks for absence of a subsequence, or absence of a value + // NOT_CONTAINS : Checks for absence of a subsequence, or absence of a value // in a set. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If the target attribute of the comparison - // is a String, then the operator checks for the absence of a substring match. - // If the target attribute of the comparison is Binary, then the operator checks - // for the absence of a subsequence of the target that matches the input. If - // the target attribute of the comparison is a set ("SS", "NS", or "BS"), then - // the operator evaluates to true if it does not find an exact match with any - // member of the set. + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If the target attribute of the + // comparison is a String, then the operator checks for the absence of a substring + // match. If the target attribute of the comparison is Binary, then the operator + // checks for the absence of a subsequence of the target that matches the input. + // If the target attribute of the comparison is a set ("SS", "NS", or "BS"), + // then the operator evaluates to true if it does not find an exact match with + // any member of the set. // // NOT_CONTAINS is supported for lists: When evaluating "a NOT CONTAINS b", // "a" can be a list; however, "b" cannot be a set, a map, or a list. // - // BEGINS_WITH : Checks for a prefix. + // BEGINS_WITH : Checks for a prefix. // - // AttributeValueList can contain only one AttributeValue of type String or + // AttributeValueList can contain only one AttributeValue of type String or // Binary (not a Number or a set type). The target attribute of the comparison // must be of type String or Binary (not a Number or a set type). // - // IN : Checks for matching elements within two sets. + // IN : Checks for matching elements within two sets. // - // AttributeValueList can contain one or more AttributeValue elements of type + // AttributeValueList can contain one or more AttributeValue elements of type // String, Number, or Binary (not a set type). These attributes are compared // against an existing set type attribute of an item. If any elements of the // input set are present in the item attribute, the expression evaluates to // true. // - // BETWEEN : Greater than or equal to the first value, and less than or equal - // to the second value. + // BETWEEN : Greater than or equal to the first value, and less than or + // equal to the second value. // - // AttributeValueList must contain two AttributeValue elements of the same + // AttributeValueList must contain two AttributeValue elements of the same // type, either String, Number, or Binary (not a set type). A target attribute // matches if the target value is greater than, or equal to, the first element // and less than, or equal to, the second element. If an item contains an AttributeValue @@ -2122,27 +2930,27 @@ type DeleteItemInput struct { // For backward compatibility with previous DynamoDB releases, the following // parameters can be used instead of AttributeValueList and ComparisonOperator: // - // Value - A value for DynamoDB to compare with an attribute. + // Value - A value for DynamoDB to compare with an attribute. // - // Exists - A Boolean value that causes DynamoDB to evaluate the value before + // Exists - A Boolean value that causes DynamoDB to evaluate the value before // attempting the conditional operation: // // If Exists is true, DynamoDB will check to see if that attribute value // already exists in the table. If it is found, then the condition evaluates // to true; otherwise the condition evaluate to false. // - // If Exists is false, DynamoDB assumes that the attribute value does not + // If Exists is false, DynamoDB assumes that the attribute value does not // exist in the table. If in fact the value does not exist, then the assumption // is valid and the condition evaluates to true. If the value is found, despite // the assumption that it does not exist, the condition evaluates to false. // - // Note that the default value for Exists is true. + // Note that the default value for Exists is true. // // The Value and Exists parameters are incompatible with AttributeValueList // and ComparisonOperator. Note that if you use both sets of parameters at once, // DynamoDB will return a ValidationException exception. // - // This parameter does not support attributes of type List or Map. + // This parameter does not support attributes of type List or Map. Expected map[string]*ExpectedAttributeValue `type:"map"` // One or more substitution tokens for attribute names in an expression. The @@ -2159,25 +2967,25 @@ type DeleteItemInput struct { // Use the # character in an expression to dereference an attribute name. // For example, consider the following attribute name: // - // Percentile + // Percentile // - // The name of this attribute conflicts with a reserved word, so it cannot + // The name of this attribute conflicts with a reserved word, so it cannot // be used directly in an expression. (For the complete list of reserved words, // see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) // in the Amazon DynamoDB Developer Guide). To work around this, you could specify // the following for ExpressionAttributeNames: // - // {"#P":"Percentile"} + // {"#P":"Percentile"} // - // You could then use this substitution in an expression, as in this example: + // You could then use this substitution in an expression, as in this example: // - // #P = :val + // #P = :val // - // Tokens that begin with the : character are expression attribute values, + // Tokens that begin with the : character are expression attribute values, // which are placeholders for the actual value at runtime. // - // For more information on expression attribute names, see Accessing Item Attributes - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) + // For more information on expression attribute names, see Accessing Item + // Attributes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) // in the Amazon DynamoDB Developer Guide. ExpressionAttributeNames map[string]*string `type:"map"` @@ -2187,16 +2995,16 @@ type DeleteItemInput struct { // value. For example, suppose that you wanted to check whether the value of // the ProductStatus attribute was one of the following: // - // Available | Backordered | Discontinued + // Available | Backordered | Discontinued // // You would first need to specify ExpressionAttributeValues as follows: // - // { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} + // { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} // } // // You could then use these values in an expression, such as this: // - // ProductStatus IN (:avail, :back, :disc) + // ProductStatus IN (:avail, :back, :disc) // // For more information on expression attribute values, see Specifying Conditions // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) @@ -2210,12 +3018,14 @@ type DeleteItemInput struct { // with a simple primary key, you only need to provide a value for the partition // key. For a composite primary key, you must provide values for both the partition // key and the sort key. + // + // Key is a required field Key map[string]*AttributeValue `type:"map" required:"true"` // Determines the level of detail about provisioned throughput consumption that // is returned in the response: // - // INDEXES - The response includes the aggregate ConsumedCapacity for the + // INDEXES - The response includes the aggregate ConsumedCapacity for the // operation, together with ConsumedCapacity for each table and secondary index // that was accessed. // @@ -2223,10 +3033,10 @@ type DeleteItemInput struct { // any indexes at all. In these cases, specifying INDEXES will only return ConsumedCapacity // information for table(s). // - // TOTAL - The response includes only the aggregate ConsumedCapacity for the - // operation. + // TOTAL - The response includes only the aggregate ConsumedCapacity for + // the operation. // - // NONE - No ConsumedCapacity details are included in the response. + // NONE - No ConsumedCapacity details are included in the response. ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` // Determines whether item collection metrics are returned. If set to SIZE, @@ -2238,13 +3048,18 @@ type DeleteItemInput struct { // Use ReturnValues if you want to get the item attributes as they appeared // before they were deleted. For DeleteItem, the valid values are: // - // NONE - If ReturnValues is not specified, or if its value is NONE, then + // NONE - If ReturnValues is not specified, or if its value is NONE, then // nothing is returned. (This setting is the default for ReturnValues.) // - // ALL_OLD - The content of the old item is returned. + // ALL_OLD - The content of the old item is returned. + // + // The ReturnValues parameter is used by several DynamoDB operations; however, + // DeleteItem does not recognize any values other than NONE or ALL_OLD. ReturnValues *string `type:"string" enum:"ReturnValue"` // The name of the table from which to delete the item. + // + // TableName is a required field TableName *string `min:"3" type:"string" required:"true"` } @@ -2301,11 +3116,11 @@ type DeleteItemOutput struct { // // Each ItemCollectionMetrics element consists of: // - // ItemCollectionKey - The partition key value of the item collection. This + // ItemCollectionKey - The partition key value of the item collection. This // is the same as the partition key value of the item itself. // - // SizeEstimateRange - An estimate of item collection size, in gigabytes. This - // value is a two-element array containing a lower bound and an upper bound + // SizeEstimateRange - An estimate of item collection size, in gigabytes. + // This value is a two-element array containing a lower bound and an upper bound // for the estimate. The estimate includes the size of all the items in the // table, plus the size of all attributes projected into all of the local secondary // indexes on that table. Use this estimate to measure whether a local secondary @@ -2333,6 +3148,8 @@ type DeleteRequest struct { // A map of attribute name to attribute values, representing the primary key // of the item to delete. All of the table's primary key attributes must be // specified, and their data types must match those of the table's key schema. + // + // Key is a required field Key map[string]*AttributeValue `type:"map" required:"true"` } @@ -2351,6 +3168,8 @@ type DeleteTableInput struct { _ struct{} `type:"structure"` // The name of the table to delete. + // + // TableName is a required field TableName *string `min:"3" type:"string" required:"true"` } @@ -2451,6 +3270,8 @@ type DescribeTableInput struct { _ struct{} `type:"structure"` // The name of the table to describe. + // + // TableName is a required field TableName *string `min:"3" type:"string" required:"true"` } @@ -2515,7 +3336,7 @@ func (s DescribeTableOutput) GoString() string { // In this case, the conditional operation succeeds only if the comparison evaluates // to false. // -// Value and Exists are incompatible with AttributeValueList and ComparisonOperator. +// Value and Exists are incompatible with AttributeValueList and ComparisonOperator. // Note that if you use both sets of parameters at once, DynamoDB will return // a ValidationException exception. type ExpectedAttributeValue struct { @@ -2543,122 +3364,122 @@ type ExpectedAttributeValue struct { // // The following comparison operators are available: // - // EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS + // EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS // | BEGINS_WITH | IN | BETWEEN // // The following are descriptions of each comparison operator. // - // EQ : Equal. EQ is supported for all datatypes, including lists and maps. + // EQ : Equal. EQ is supported for all datatypes, including lists and maps. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, Binary, String Set, Number Set, or Binary Set. If an item contains - // an AttributeValue element of a different type than the one provided in the - // request, the value does not match. For example, {"S":"6"} does not equal - // {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}. + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, Binary, String Set, Number Set, or Binary Set. If an item + // contains an AttributeValue element of a different type than the one provided + // in the request, the value does not match. For example, {"S":"6"} does not + // equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}. // - // NE : Not equal. NE is supported for all datatypes, including lists and + // NE : Not equal. NE is supported for all datatypes, including lists and // maps. // - // AttributeValueList can contain only one AttributeValue of type String, Number, - // Binary, String Set, Number Set, or Binary Set. If an item contains an AttributeValue - // of a different type than the one provided in the request, the value does - // not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} - // does not equal {"NS":["6", "2", "1"]}. + // AttributeValueList can contain only one AttributeValue of type String, + // Number, Binary, String Set, Number Set, or Binary Set. If an item contains + // an AttributeValue of a different type than the one provided in the request, + // the value does not match. For example, {"S":"6"} does not equal {"N":"6"}. + // Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}. // - // LE : Less than or equal. + // LE : Less than or equal. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If an item contains an AttributeValue + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If an item contains an AttributeValue // element of a different type than the one provided in the request, the value // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} // does not compare to {"NS":["6", "2", "1"]}. // - // LT : Less than. + // LT : Less than. // - // AttributeValueList can contain only one AttributeValue of type String, Number, - // or Binary (not a set type). If an item contains an AttributeValue element - // of a different type than the one provided in the request, the value does - // not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} + // AttributeValueList can contain only one AttributeValue of type String, + // Number, or Binary (not a set type). If an item contains an AttributeValue + // element of a different type than the one provided in the request, the value + // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} // does not compare to {"NS":["6", "2", "1"]}. // - // GE : Greater than or equal. + // GE : Greater than or equal. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If an item contains an AttributeValue + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If an item contains an AttributeValue // element of a different type than the one provided in the request, the value // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} // does not compare to {"NS":["6", "2", "1"]}. // - // GT : Greater than. + // GT : Greater than. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If an item contains an AttributeValue + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If an item contains an AttributeValue // element of a different type than the one provided in the request, the value // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} // does not compare to {"NS":["6", "2", "1"]}. // - // NOT_NULL : The attribute exists. NOT_NULL is supported for all datatypes, + // NOT_NULL : The attribute exists. NOT_NULL is supported for all datatypes, // including lists and maps. // - // This operator tests for the existence of an attribute, not its data type. + // This operator tests for the existence of an attribute, not its data type. // If the data type of attribute "a" is null, and you evaluate it using NOT_NULL, // the result is a Boolean true. This result is because the attribute "a" exists; // its data type is not relevant to the NOT_NULL comparison operator. // - // NULL : The attribute does not exist. NULL is supported for all datatypes, + // NULL : The attribute does not exist. NULL is supported for all datatypes, // including lists and maps. // - // This operator tests for the nonexistence of an attribute, not its data type. - // If the data type of attribute "a" is null, and you evaluate it using NULL, - // the result is a Boolean false. This is because the attribute "a" exists; + // This operator tests for the nonexistence of an attribute, not its data + // type. If the data type of attribute "a" is null, and you evaluate it using + // NULL, the result is a Boolean false. This is because the attribute "a" exists; // its data type is not relevant to the NULL comparison operator. // - // CONTAINS : Checks for a subsequence, or value in a set. + // CONTAINS : Checks for a subsequence, or value in a set. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If the target attribute of the comparison - // is of type String, then the operator checks for a substring match. If the - // target attribute of the comparison is of type Binary, then the operator looks - // for a subsequence of the target that matches the input. If the target attribute - // of the comparison is a set ("SS", "NS", or "BS"), then the operator evaluates - // to true if it finds an exact match with any member of the set. + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If the target attribute of the + // comparison is of type String, then the operator checks for a substring match. + // If the target attribute of the comparison is of type Binary, then the operator + // looks for a subsequence of the target that matches the input. If the target + // attribute of the comparison is a set ("SS", "NS", or "BS"), then the operator + // evaluates to true if it finds an exact match with any member of the set. // // CONTAINS is supported for lists: When evaluating "a CONTAINS b", "a" can // be a list; however, "b" cannot be a set, a map, or a list. // - // NOT_CONTAINS : Checks for absence of a subsequence, or absence of a value + // NOT_CONTAINS : Checks for absence of a subsequence, or absence of a value // in a set. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If the target attribute of the comparison - // is a String, then the operator checks for the absence of a substring match. - // If the target attribute of the comparison is Binary, then the operator checks - // for the absence of a subsequence of the target that matches the input. If - // the target attribute of the comparison is a set ("SS", "NS", or "BS"), then - // the operator evaluates to true if it does not find an exact match with any - // member of the set. + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If the target attribute of the + // comparison is a String, then the operator checks for the absence of a substring + // match. If the target attribute of the comparison is Binary, then the operator + // checks for the absence of a subsequence of the target that matches the input. + // If the target attribute of the comparison is a set ("SS", "NS", or "BS"), + // then the operator evaluates to true if it does not find an exact match with + // any member of the set. // // NOT_CONTAINS is supported for lists: When evaluating "a NOT CONTAINS b", // "a" can be a list; however, "b" cannot be a set, a map, or a list. // - // BEGINS_WITH : Checks for a prefix. + // BEGINS_WITH : Checks for a prefix. // - // AttributeValueList can contain only one AttributeValue of type String or + // AttributeValueList can contain only one AttributeValue of type String or // Binary (not a Number or a set type). The target attribute of the comparison // must be of type String or Binary (not a Number or a set type). // - // IN : Checks for matching elements within two sets. + // IN : Checks for matching elements within two sets. // - // AttributeValueList can contain one or more AttributeValue elements of type + // AttributeValueList can contain one or more AttributeValue elements of type // String, Number, or Binary (not a set type). These attributes are compared // against an existing set type attribute of an item. If any elements of the // input set are present in the item attribute, the expression evaluates to // true. // - // BETWEEN : Greater than or equal to the first value, and less than or equal - // to the second value. + // BETWEEN : Greater than or equal to the first value, and less than or + // equal to the second value. // - // AttributeValueList must contain two AttributeValue elements of the same + // AttributeValueList must contain two AttributeValue elements of the same // type, either String, Number, or Binary (not a set type). A target attribute // matches if the target value is greater than, or equal to, the first element // and less than, or equal to, the second element. If an item contains an AttributeValue @@ -2684,10 +3505,10 @@ type ExpectedAttributeValue struct { // // DynamoDB returns a ValidationException if: // - // Exists is true but there is no Value to check. (You expect a value to + // Exists is true but there is no Value to check. (You expect a value to // exist, but don't specify what that value is.) // - // Exists is false but you also provide a Value. (You cannot expect an attribute + // Exists is false but you also provide a Value. (You cannot expect an attribute // to have a value, while also expecting it not to exist.) Exists *bool `type:"boolean"` @@ -2723,9 +3544,9 @@ type GetItemInput struct { // This parameter allows you to retrieve attributes of type List or Map; however, // it cannot retrieve individual elements within a List or a Map. // - // The names of one or more attributes to retrieve. If no attribute names are - // provided, then all attributes will be returned. If any of the requested attributes - // are not found, they will not appear in the result. + // The names of one or more attributes to retrieve. If no attribute names + // are provided, then all attributes will be returned. If any of the requested + // attributes are not found, they will not appear in the result. // // Note that AttributesToGet has no effect on provisioned throughput consumption. // DynamoDB determines capacity units consumed based on item size, not on the @@ -2751,25 +3572,25 @@ type GetItemInput struct { // Use the # character in an expression to dereference an attribute name. // For example, consider the following attribute name: // - // Percentile + // Percentile // - // The name of this attribute conflicts with a reserved word, so it cannot + // The name of this attribute conflicts with a reserved word, so it cannot // be used directly in an expression. (For the complete list of reserved words, // see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) // in the Amazon DynamoDB Developer Guide). To work around this, you could specify // the following for ExpressionAttributeNames: // - // {"#P":"Percentile"} + // {"#P":"Percentile"} // - // You could then use this substitution in an expression, as in this example: + // You could then use this substitution in an expression, as in this example: // - // #P = :val + // #P = :val // - // Tokens that begin with the : character are expression attribute values, + // Tokens that begin with the : character are expression attribute values, // which are placeholders for the actual value at runtime. // - // For more information on expression attribute names, see Accessing Item Attributes - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) + // For more information on expression attribute names, see Accessing Item + // Attributes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) // in the Amazon DynamoDB Developer Guide. ExpressionAttributeNames map[string]*string `type:"map"` @@ -2780,6 +3601,8 @@ type GetItemInput struct { // with a simple primary key, you only need to provide a value for the partition // key. For a composite primary key, you must provide values for both the partition // key and the sort key. + // + // Key is a required field Key map[string]*AttributeValue `type:"map" required:"true"` // A string that identifies one or more attributes to retrieve from the table. @@ -2793,13 +3616,13 @@ type GetItemInput struct { // For more information, see Accessing Item Attributes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) // in the Amazon DynamoDB Developer Guide. // - // ProjectionExpression replaces the legacy AttributesToGet parameter. + // ProjectionExpression replaces the legacy AttributesToGet parameter. ProjectionExpression *string `type:"string"` // Determines the level of detail about provisioned throughput consumption that // is returned in the response: // - // INDEXES - The response includes the aggregate ConsumedCapacity for the + // INDEXES - The response includes the aggregate ConsumedCapacity for the // operation, together with ConsumedCapacity for each table and secondary index // that was accessed. // @@ -2807,13 +3630,15 @@ type GetItemInput struct { // any indexes at all. In these cases, specifying INDEXES will only return ConsumedCapacity // information for table(s). // - // TOTAL - The response includes only the aggregate ConsumedCapacity for the - // operation. + // TOTAL - The response includes only the aggregate ConsumedCapacity for + // the operation. // - // NONE - No ConsumedCapacity details are included in the response. + // NONE - No ConsumedCapacity details are included in the response. ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` // The name of the table containing the requested item. + // + // TableName is a required field TableName *string `min:"3" type:"string" required:"true"` } @@ -2881,16 +3706,18 @@ type GlobalSecondaryIndex struct { // The name of the global secondary index. The name must be unique among all // other indexes on this table. + // + // IndexName is a required field IndexName *string `min:"3" type:"string" required:"true"` // The complete key schema for a global secondary index, which consists of one // or more pairs of attribute names and key types: // - // HASH - partition key + // HASH - partition key // - // RANGE - sort key + // RANGE - sort key // - // The partition key of an item is also known as its hash attribute. The + // The partition key of an item is also known as its hash attribute. The // term "hash attribute" derives from DynamoDB' usage of an internal hash function // to evenly distribute data items across partitions, based on their partition // key values. @@ -2898,11 +3725,15 @@ type GlobalSecondaryIndex struct { // The sort key of an item is also known as its range attribute. The term "range // attribute" derives from the way DynamoDB stores items with the same partition // key physically close together, in sorted order by the sort key value. + // + // KeySchema is a required field KeySchema []*KeySchemaElement `min:"1" type:"list" required:"true"` // Represents attributes that are copied (projected) from the table into an // index. These are in addition to the primary key attributes and index key // attributes, which are automatically projected. + // + // Projection is a required field Projection *Projection `type:"structure" required:"true"` // Represents the provisioned throughput settings for a specified table or index. @@ -2911,6 +3742,8 @@ type GlobalSecondaryIndex struct { // For current minimum and maximum provisioned throughput values, see Limits // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) // in the Amazon DynamoDB Developer Guide. + // + // ProvisionedThroughput is a required field ProvisionedThroughput *ProvisionedThroughput `type:"structure" required:"true"` } @@ -2983,7 +3816,7 @@ type GlobalSecondaryIndexDescription struct { // DynamoDB will do so. After all items have been processed, the backfilling // operation is complete and Backfilling is false. // - // For indexes that were created during a CreateTable operation, the Backfilling + // For indexes that were created during a CreateTable operation, the Backfilling // attribute does not appear in the DescribeTable output. Backfilling *bool `type:"boolean"` @@ -3000,13 +3833,13 @@ type GlobalSecondaryIndexDescription struct { // The current state of the global secondary index: // - // CREATING - The index is being created. + // CREATING - The index is being created. // - // UPDATING - The index is being updated. + // UPDATING - The index is being updated. // - // DELETING - The index is being deleted. + // DELETING - The index is being deleted. // - // ACTIVE - The index is ready for use. + // ACTIVE - The index is ready for use. IndexStatus *string `type:"string" enum:"IndexStatus"` // The number of items in the specified index. DynamoDB updates this value approximately @@ -3016,11 +3849,11 @@ type GlobalSecondaryIndexDescription struct { // The complete key schema for a global secondary index, which consists of one // or more pairs of attribute names and key types: // - // HASH - partition key + // HASH - partition key // - // RANGE - sort key + // RANGE - sort key // - // The partition key of an item is also known as its hash attribute. The + // The partition key of an item is also known as its hash attribute. The // term "hash attribute" derives from DynamoDB' usage of an internal hash function // to evenly distribute data items across partitions, based on their partition // key values. @@ -3052,26 +3885,27 @@ func (s GlobalSecondaryIndexDescription) GoString() string { // Represents one of the following: // -// A new global secondary index to be added to an existing table. +// A new global secondary index to be added to an existing table. // -// New provisioned throughput parameters for an existing global secondary index. +// New provisioned throughput parameters for an existing global secondary +// index. // -// An existing global secondary index to be removed from an existing table. +// An existing global secondary index to be removed from an existing table. type GlobalSecondaryIndexUpdate struct { _ struct{} `type:"structure"` // The parameters required for creating a global secondary index on an existing // table: // - // IndexName + // IndexName // - // KeySchema + // KeySchema // - // AttributeDefinitions + // AttributeDefinitions // - // Projection + // Projection // - // ProvisionedThroughput + // ProvisionedThroughput Create *CreateGlobalSecondaryIndexAction `type:"structure"` // The name of an existing global secondary index to be removed. @@ -3165,15 +3999,17 @@ type KeySchemaElement struct { _ struct{} `type:"structure"` // The name of a key attribute. + // + // AttributeName is a required field AttributeName *string `min:"1" type:"string" required:"true"` // The role that this key attribute will assume: // - // HASH - partition key + // HASH - partition key // - // RANGE - sort key + // RANGE - sort key // - // The partition key of an item is also known as its hash attribute. The + // The partition key of an item is also known as its hash attribute. The // term "hash attribute" derives from DynamoDB' usage of an internal hash function // to evenly distribute data items across partitions, based on their partition // key values. @@ -3181,6 +4017,8 @@ type KeySchemaElement struct { // The sort key of an item is also known as its range attribute. The term "range // attribute" derives from the way DynamoDB stores items with the same partition // key physically close together, in sorted order by the sort key value. + // + // KeyType is a required field KeyType *string `type:"string" required:"true" enum:"KeyType"` } @@ -3246,30 +4084,32 @@ type KeysAndAttributes struct { // Use the # character in an expression to dereference an attribute name. // For example, consider the following attribute name: // - // Percentile + // Percentile // - // The name of this attribute conflicts with a reserved word, so it cannot + // The name of this attribute conflicts with a reserved word, so it cannot // be used directly in an expression. (For the complete list of reserved words, // see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) // in the Amazon DynamoDB Developer Guide). To work around this, you could specify // the following for ExpressionAttributeNames: // - // {"#P":"Percentile"} + // {"#P":"Percentile"} // - // You could then use this substitution in an expression, as in this example: + // You could then use this substitution in an expression, as in this example: // - // #P = :val + // #P = :val // - // Tokens that begin with the : character are expression attribute values, + // Tokens that begin with the : character are expression attribute values, // which are placeholders for the actual value at runtime. // - // For more information on expression attribute names, see Accessing Item Attributes - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) + // For more information on expression attribute names, see Accessing Item + // Attributes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) // in the Amazon DynamoDB Developer Guide. ExpressionAttributeNames map[string]*string `type:"map"` // The primary key attribute values that define the items and the attributes // associated with the items. + // + // Keys is a required field Keys []map[string]*AttributeValue `min:"1" type:"list" required:"true"` // A string that identifies one or more attributes to retrieve from the table. @@ -3283,7 +4123,7 @@ type KeysAndAttributes struct { // For more information, see Accessing Item Attributes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) // in the Amazon DynamoDB Developer Guide. // - // ProjectionExpression replaces the legacy AttributesToGet parameter. + // ProjectionExpression replaces the legacy AttributesToGet parameter. ProjectionExpression *string `type:"string"` } @@ -3393,16 +4233,18 @@ type LocalSecondaryIndex struct { // The name of the local secondary index. The name must be unique among all // other indexes on this table. + // + // IndexName is a required field IndexName *string `min:"3" type:"string" required:"true"` // The complete key schema for the local secondary index, consisting of one // or more pairs of attribute names and key types: // - // HASH - partition key + // HASH - partition key // - // RANGE - sort key + // RANGE - sort key // - // The partition key of an item is also known as its hash attribute. The + // The partition key of an item is also known as its hash attribute. The // term "hash attribute" derives from DynamoDB' usage of an internal hash function // to evenly distribute data items across partitions, based on their partition // key values. @@ -3410,11 +4252,15 @@ type LocalSecondaryIndex struct { // The sort key of an item is also known as its range attribute. The term "range // attribute" derives from the way DynamoDB stores items with the same partition // key physically close together, in sorted order by the sort key value. + // + // KeySchema is a required field KeySchema []*KeySchemaElement `min:"1" type:"list" required:"true"` // Represents attributes that are copied (projected) from the table into an // index. These are in addition to the primary key attributes and index key // attributes, which are automatically projected. + // + // Projection is a required field Projection *Projection `type:"structure" required:"true"` } @@ -3490,11 +4336,11 @@ type LocalSecondaryIndexDescription struct { // The complete key schema for the local secondary index, consisting of one // or more pairs of attribute names and key types: // - // HASH - partition key + // HASH - partition key // - // RANGE - sort key + // RANGE - sort key // - // The partition key of an item is also known as its hash attribute. The + // The partition key of an item is also known as its hash attribute. The // term "hash attribute" derives from DynamoDB' usage of an internal hash function // to evenly distribute data items across partitions, based on their partition // key values. @@ -3536,12 +4382,12 @@ type Projection struct { // The set of attributes that are projected into the index: // - // KEYS_ONLY - Only the index and primary keys are projected into the index. + // KEYS_ONLY - Only the index and primary keys are projected into the index. // - // INCLUDE - Only the specified table attributes are projected into the index. - // The list of projected attributes are in NonKeyAttributes. + // INCLUDE - Only the specified table attributes are projected into the + // index. The list of projected attributes are in NonKeyAttributes. // - // ALL - All of the table attributes are projected into the index. + // ALL - All of the table attributes are projected into the index. ProjectionType *string `type:"string" enum:"ProjectionType"` } @@ -3581,12 +4427,16 @@ type ProvisionedThroughput struct { // DynamoDB returns a ThrottlingException. For more information, see Specifying // Read and Write Requirements (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput) // in the Amazon DynamoDB Developer Guide. + // + // ReadCapacityUnits is a required field ReadCapacityUnits *int64 `min:"1" type:"long" required:"true"` // The maximum number of writes consumed per second before DynamoDB returns // a ThrottlingException. For more information, see Specifying Read and Write // Requirements (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput) // in the Amazon DynamoDB Developer Guide. + // + // WriteCapacityUnits is a required field WriteCapacityUnits *int64 `min:"1" type:"long" required:"true"` } @@ -3674,7 +4524,8 @@ type PutItemInput struct { // // These function names are case-sensitive. // - // Comparison operators: = | | | | = | = | BETWEEN | IN + // Comparison operators: = | <> | < | > | <= | + // >= | BETWEEN | IN // // Logical operators: AND | OR | NOT // @@ -3682,7 +4533,7 @@ type PutItemInput struct { // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) // in the Amazon DynamoDB Developer Guide. // - // ConditionExpression replaces the legacy ConditionalOperator and Expected + // ConditionExpression replaces the legacy ConditionalOperator and Expected // parameters. ConditionExpression *string `type:"string"` @@ -3693,17 +4544,17 @@ type PutItemInput struct { // // A logical operator to apply to the conditions in the Expected map: // - // AND - If all of the conditions evaluate to true, then the entire map evaluates - // to true. + // AND - If all of the conditions evaluate to true, then the entire map + // evaluates to true. // - // OR - If at least one of the conditions evaluate to true, then the entire + // OR - If at least one of the conditions evaluate to true, then the entire // map evaluates to true. // - // If you omit ConditionalOperator, then AND is the default. + // If you omit ConditionalOperator, then AND is the default. // // The operation will succeed only if the entire map evaluates to true. // - // This parameter does not support attributes of type List or Map. + // This parameter does not support attributes of type List or Map. ConditionalOperator *string `type:"string" enum:"ConditionalOperator"` // This is a legacy parameter, for backward compatibility. New applications @@ -3714,9 +4565,9 @@ type PutItemInput struct { // A map of attribute/condition pairs. Expected provides a conditional block // for the PutItem operation. // - // This parameter does not support attributes of type List or Map. + // This parameter does not support attributes of type List or Map. // - // Each element of Expected consists of an attribute name, a comparison operator, + // Each element of Expected consists of an attribute name, a comparison operator, // and one or more values. DynamoDB compares the attribute with the value(s) // you supplied, using the comparison operator. For each Expected element, the // result of the evaluation is either true or false. @@ -3730,9 +4581,9 @@ type PutItemInput struct { // If the Expected map evaluates to true, then the conditional operation succeeds; // otherwise, it fails. // - // Expected contains the following: + // Expected contains the following: // - // AttributeValueList - One or more values to evaluate against the supplied + // AttributeValueList - One or more values to evaluate against the supplied // attribute. The number of values in the list depends on the ComparisonOperator // being used. // @@ -3740,132 +4591,133 @@ type PutItemInput struct { // // String value comparisons for greater than, equals, or less than are based // on ASCII character code values. For example, a is greater than A, and a is - // greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters. + // greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters + // (http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters). // // For type Binary, DynamoDB treats each byte of the binary data as unsigned // when it compares binary values. // - // ComparisonOperator - A comparator for evaluating attributes in the AttributeValueList. + // ComparisonOperator - A comparator for evaluating attributes in the AttributeValueList. // When performing the comparison, DynamoDB uses strongly consistent reads. // // The following comparison operators are available: // - // EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS + // EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS // | BEGINS_WITH | IN | BETWEEN // // The following are descriptions of each comparison operator. // - // EQ : Equal. EQ is supported for all datatypes, including lists and maps. + // EQ : Equal. EQ is supported for all datatypes, including lists and maps. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, Binary, String Set, Number Set, or Binary Set. If an item contains - // an AttributeValue element of a different type than the one provided in the - // request, the value does not match. For example, {"S":"6"} does not equal - // {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}. + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, Binary, String Set, Number Set, or Binary Set. If an item + // contains an AttributeValue element of a different type than the one provided + // in the request, the value does not match. For example, {"S":"6"} does not + // equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}. // - // NE : Not equal. NE is supported for all datatypes, including lists and + // NE : Not equal. NE is supported for all datatypes, including lists and // maps. // - // AttributeValueList can contain only one AttributeValue of type String, Number, - // Binary, String Set, Number Set, or Binary Set. If an item contains an AttributeValue - // of a different type than the one provided in the request, the value does - // not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} - // does not equal {"NS":["6", "2", "1"]}. + // AttributeValueList can contain only one AttributeValue of type String, + // Number, Binary, String Set, Number Set, or Binary Set. If an item contains + // an AttributeValue of a different type than the one provided in the request, + // the value does not match. For example, {"S":"6"} does not equal {"N":"6"}. + // Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}. // - // LE : Less than or equal. + // LE : Less than or equal. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If an item contains an AttributeValue + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If an item contains an AttributeValue // element of a different type than the one provided in the request, the value // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} // does not compare to {"NS":["6", "2", "1"]}. // - // LT : Less than. + // LT : Less than. // - // AttributeValueList can contain only one AttributeValue of type String, Number, - // or Binary (not a set type). If an item contains an AttributeValue element - // of a different type than the one provided in the request, the value does - // not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} + // AttributeValueList can contain only one AttributeValue of type String, + // Number, or Binary (not a set type). If an item contains an AttributeValue + // element of a different type than the one provided in the request, the value + // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} // does not compare to {"NS":["6", "2", "1"]}. // - // GE : Greater than or equal. + // GE : Greater than or equal. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If an item contains an AttributeValue + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If an item contains an AttributeValue // element of a different type than the one provided in the request, the value // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} // does not compare to {"NS":["6", "2", "1"]}. // - // GT : Greater than. + // GT : Greater than. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If an item contains an AttributeValue + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If an item contains an AttributeValue // element of a different type than the one provided in the request, the value // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} // does not compare to {"NS":["6", "2", "1"]}. // - // NOT_NULL : The attribute exists. NOT_NULL is supported for all datatypes, + // NOT_NULL : The attribute exists. NOT_NULL is supported for all datatypes, // including lists and maps. // - // This operator tests for the existence of an attribute, not its data type. + // This operator tests for the existence of an attribute, not its data type. // If the data type of attribute "a" is null, and you evaluate it using NOT_NULL, // the result is a Boolean true. This result is because the attribute "a" exists; // its data type is not relevant to the NOT_NULL comparison operator. // - // NULL : The attribute does not exist. NULL is supported for all datatypes, + // NULL : The attribute does not exist. NULL is supported for all datatypes, // including lists and maps. // - // This operator tests for the nonexistence of an attribute, not its data type. - // If the data type of attribute "a" is null, and you evaluate it using NULL, - // the result is a Boolean false. This is because the attribute "a" exists; + // This operator tests for the nonexistence of an attribute, not its data + // type. If the data type of attribute "a" is null, and you evaluate it using + // NULL, the result is a Boolean false. This is because the attribute "a" exists; // its data type is not relevant to the NULL comparison operator. // - // CONTAINS : Checks for a subsequence, or value in a set. + // CONTAINS : Checks for a subsequence, or value in a set. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If the target attribute of the comparison - // is of type String, then the operator checks for a substring match. If the - // target attribute of the comparison is of type Binary, then the operator looks - // for a subsequence of the target that matches the input. If the target attribute - // of the comparison is a set ("SS", "NS", or "BS"), then the operator evaluates - // to true if it finds an exact match with any member of the set. + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If the target attribute of the + // comparison is of type String, then the operator checks for a substring match. + // If the target attribute of the comparison is of type Binary, then the operator + // looks for a subsequence of the target that matches the input. If the target + // attribute of the comparison is a set ("SS", "NS", or "BS"), then the operator + // evaluates to true if it finds an exact match with any member of the set. // // CONTAINS is supported for lists: When evaluating "a CONTAINS b", "a" can // be a list; however, "b" cannot be a set, a map, or a list. // - // NOT_CONTAINS : Checks for absence of a subsequence, or absence of a value + // NOT_CONTAINS : Checks for absence of a subsequence, or absence of a value // in a set. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If the target attribute of the comparison - // is a String, then the operator checks for the absence of a substring match. - // If the target attribute of the comparison is Binary, then the operator checks - // for the absence of a subsequence of the target that matches the input. If - // the target attribute of the comparison is a set ("SS", "NS", or "BS"), then - // the operator evaluates to true if it does not find an exact match with any - // member of the set. + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If the target attribute of the + // comparison is a String, then the operator checks for the absence of a substring + // match. If the target attribute of the comparison is Binary, then the operator + // checks for the absence of a subsequence of the target that matches the input. + // If the target attribute of the comparison is a set ("SS", "NS", or "BS"), + // then the operator evaluates to true if it does not find an exact match with + // any member of the set. // // NOT_CONTAINS is supported for lists: When evaluating "a NOT CONTAINS b", // "a" can be a list; however, "b" cannot be a set, a map, or a list. // - // BEGINS_WITH : Checks for a prefix. + // BEGINS_WITH : Checks for a prefix. // - // AttributeValueList can contain only one AttributeValue of type String or + // AttributeValueList can contain only one AttributeValue of type String or // Binary (not a Number or a set type). The target attribute of the comparison // must be of type String or Binary (not a Number or a set type). // - // IN : Checks for matching elements within two sets. + // IN : Checks for matching elements within two sets. // - // AttributeValueList can contain one or more AttributeValue elements of type + // AttributeValueList can contain one or more AttributeValue elements of type // String, Number, or Binary (not a set type). These attributes are compared // against an existing set type attribute of an item. If any elements of the // input set are present in the item attribute, the expression evaluates to // true. // - // BETWEEN : Greater than or equal to the first value, and less than or equal - // to the second value. + // BETWEEN : Greater than or equal to the first value, and less than or + // equal to the second value. // - // AttributeValueList must contain two AttributeValue elements of the same + // AttributeValueList must contain two AttributeValue elements of the same // type, either String, Number, or Binary (not a set type). A target attribute // matches if the target value is greater than, or equal to, the first element // and less than, or equal to, the second element. If an item contains an AttributeValue @@ -3880,21 +4732,21 @@ type PutItemInput struct { // For backward compatibility with previous DynamoDB releases, the following // parameters can be used instead of AttributeValueList and ComparisonOperator: // - // Value - A value for DynamoDB to compare with an attribute. + // Value - A value for DynamoDB to compare with an attribute. // - // Exists - A Boolean value that causes DynamoDB to evaluate the value before + // Exists - A Boolean value that causes DynamoDB to evaluate the value before // attempting the conditional operation: // // If Exists is true, DynamoDB will check to see if that attribute value // already exists in the table. If it is found, then the condition evaluates // to true; otherwise the condition evaluate to false. // - // If Exists is false, DynamoDB assumes that the attribute value does not + // If Exists is false, DynamoDB assumes that the attribute value does not // exist in the table. If in fact the value does not exist, then the assumption // is valid and the condition evaluates to true. If the value is found, despite // the assumption that it does not exist, the condition evaluates to false. // - // Note that the default value for Exists is true. + // Note that the default value for Exists is true. // // The Value and Exists parameters are incompatible with AttributeValueList // and ComparisonOperator. Note that if you use both sets of parameters at once, @@ -3915,25 +4767,25 @@ type PutItemInput struct { // Use the # character in an expression to dereference an attribute name. // For example, consider the following attribute name: // - // Percentile + // Percentile // - // The name of this attribute conflicts with a reserved word, so it cannot + // The name of this attribute conflicts with a reserved word, so it cannot // be used directly in an expression. (For the complete list of reserved words, // see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) // in the Amazon DynamoDB Developer Guide). To work around this, you could specify // the following for ExpressionAttributeNames: // - // {"#P":"Percentile"} + // {"#P":"Percentile"} // - // You could then use this substitution in an expression, as in this example: + // You could then use this substitution in an expression, as in this example: // - // #P = :val + // #P = :val // - // Tokens that begin with the : character are expression attribute values, + // Tokens that begin with the : character are expression attribute values, // which are placeholders for the actual value at runtime. // - // For more information on expression attribute names, see Accessing Item Attributes - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) + // For more information on expression attribute names, see Accessing Item + // Attributes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) // in the Amazon DynamoDB Developer Guide. ExpressionAttributeNames map[string]*string `type:"map"` @@ -3943,16 +4795,16 @@ type PutItemInput struct { // value. For example, suppose that you wanted to check whether the value of // the ProductStatus attribute was one of the following: // - // Available | Backordered | Discontinued + // Available | Backordered | Discontinued // // You would first need to specify ExpressionAttributeValues as follows: // - // { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} + // { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} // } // // You could then use these values in an expression, such as this: // - // ProductStatus IN (:avail, :back, :disc) + // ProductStatus IN (:avail, :back, :disc) // // For more information on expression attribute values, see Specifying Conditions // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) @@ -3976,12 +4828,14 @@ type PutItemInput struct { // in the Amazon DynamoDB Developer Guide. // // Each element in the Item map is an AttributeValue object. + // + // Item is a required field Item map[string]*AttributeValue `type:"map" required:"true"` // Determines the level of detail about provisioned throughput consumption that // is returned in the response: // - // INDEXES - The response includes the aggregate ConsumedCapacity for the + // INDEXES - The response includes the aggregate ConsumedCapacity for the // operation, together with ConsumedCapacity for each table and secondary index // that was accessed. // @@ -3989,10 +4843,10 @@ type PutItemInput struct { // any indexes at all. In these cases, specifying INDEXES will only return ConsumedCapacity // information for table(s). // - // TOTAL - The response includes only the aggregate ConsumedCapacity for the - // operation. + // TOTAL - The response includes only the aggregate ConsumedCapacity for + // the operation. // - // NONE - No ConsumedCapacity details are included in the response. + // NONE - No ConsumedCapacity details are included in the response. ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` // Determines whether item collection metrics are returned. If set to SIZE, @@ -4005,14 +4859,19 @@ type PutItemInput struct { // before they were updated with the PutItem request. For PutItem, the valid // values are: // - // NONE - If ReturnValues is not specified, or if its value is NONE, then + // NONE - If ReturnValues is not specified, or if its value is NONE, then // nothing is returned. (This setting is the default for ReturnValues.) // - // ALL_OLD - If PutItem overwrote an attribute name-value pair, then the + // ALL_OLD - If PutItem overwrote an attribute name-value pair, then the // content of the old item is returned. + // + // The ReturnValues parameter is used by several DynamoDB operations; however, + // PutItem does not recognize any values other than NONE or ALL_OLD. ReturnValues *string `type:"string" enum:"ReturnValue"` // The name of the table to contain the item. + // + // TableName is a required field TableName *string `min:"3" type:"string" required:"true"` } @@ -4069,11 +4928,11 @@ type PutItemOutput struct { // // Each ItemCollectionMetrics element consists of: // - // ItemCollectionKey - The partition key value of the item collection. This + // ItemCollectionKey - The partition key value of the item collection. This // is the same as the partition key value of the item itself. // - // SizeEstimateRange - An estimate of item collection size, in gigabytes. This - // value is a two-element array containing a lower bound and an upper bound + // SizeEstimateRange - An estimate of item collection size, in gigabytes. + // This value is a two-element array containing a lower bound and an upper bound // for the estimate. The estimate includes the size of all the items in the // table, plus the size of all attributes projected into all of the local secondary // indexes on that table. Use this estimate to measure whether a local secondary @@ -4103,6 +4962,8 @@ type PutRequest struct { // must be specified, and their data types must match those of the table's key // schema. If any attributes are present in the item which are part of an index // key schema for the table, their types must match the index key schema. + // + // Item is a required field Item map[string]*AttributeValue `type:"map" required:"true"` } @@ -4128,9 +4989,9 @@ type QueryInput struct { // This parameter allows you to retrieve attributes of type List or Map; however, // it cannot retrieve individual elements within a List or a Map. // - // The names of one or more attributes to retrieve. If no attribute names are - // provided, then all attributes will be returned. If any of the requested attributes - // are not found, they will not appear in the result. + // The names of one or more attributes to retrieve. If no attribute names + // are provided, then all attributes will be returned. If any of the requested + // attributes are not found, they will not appear in the result. // // Note that AttributesToGet has no effect on provisioned throughput consumption. // DynamoDB determines capacity units consumed based on item size, not on the @@ -4159,17 +5020,17 @@ type QueryInput struct { // // A logical operator to apply to the conditions in a QueryFilter map: // - // AND - If all of the conditions evaluate to true, then the entire map evaluates - // to true. + // AND - If all of the conditions evaluate to true, then the entire map + // evaluates to true. // - // OR - If at least one of the conditions evaluate to true, then the entire + // OR - If at least one of the conditions evaluate to true, then the entire // map evaluates to true. // - // If you omit ConditionalOperator, then AND is the default. + // If you omit ConditionalOperator, then AND is the default. // // The operation will succeed only if the entire map evaluates to true. // - // This parameter does not support attributes of type List or Map. + // This parameter does not support attributes of type List or Map. ConditionalOperator *string `type:"string" enum:"ConditionalOperator"` // Determines the read consistency model: If set to true, then the operation @@ -4202,25 +5063,25 @@ type QueryInput struct { // Use the # character in an expression to dereference an attribute name. // For example, consider the following attribute name: // - // Percentile + // Percentile // - // The name of this attribute conflicts with a reserved word, so it cannot + // The name of this attribute conflicts with a reserved word, so it cannot // be used directly in an expression. (For the complete list of reserved words, // see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) // in the Amazon DynamoDB Developer Guide). To work around this, you could specify // the following for ExpressionAttributeNames: // - // {"#P":"Percentile"} + // {"#P":"Percentile"} // - // You could then use this substitution in an expression, as in this example: + // You could then use this substitution in an expression, as in this example: // - // #P = :val + // #P = :val // - // Tokens that begin with the : character are expression attribute values, + // Tokens that begin with the : character are expression attribute values, // which are placeholders for the actual value at runtime. // - // For more information on expression attribute names, see Accessing Item Attributes - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) + // For more information on expression attribute names, see Accessing Item + // Attributes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) // in the Amazon DynamoDB Developer Guide. ExpressionAttributeNames map[string]*string `type:"map"` @@ -4230,16 +5091,16 @@ type QueryInput struct { // value. For example, suppose that you wanted to check whether the value of // the ProductStatus attribute was one of the following: // - // Available | Backordered | Discontinued + // Available | Backordered | Discontinued // // You would first need to specify ExpressionAttributeValues as follows: // - // { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} + // { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} // } // // You could then use these values in an expression, such as this: // - // ProductStatus IN (:avail, :back, :disc) + // ProductStatus IN (:avail, :back, :disc) // // For more information on expression attribute values, see Specifying Conditions // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) @@ -4256,7 +5117,7 @@ type QueryInput struct { // For more information, see Filter Expressions (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults) // in the Amazon DynamoDB Developer Guide. // - // FilterExpression replaces the legacy QueryFilter and ConditionalOperator + // FilterExpression replaces the legacy QueryFilter and ConditionalOperator // parameters. FilterExpression *string `type:"string"` @@ -4287,26 +5148,26 @@ type QueryInput struct { // // Valid comparisons for the sort key condition are as follows: // - // sortKeyName = :sortkeyval - true if the sort key value is equal to :sortkeyval. + // sortKeyName = :sortkeyval - true if the sort key value is equal to :sortkeyval. // - // sortKeyName :sortkeyval - true if the sort key value is less than :sortkeyval. + // sortKeyName < :sortkeyval - true if the sort key value is less than :sortkeyval. // - // sortKeyName = :sortkeyval - true if the sort key value is less than or - // equal to :sortkeyval. + // sortKeyName <= :sortkeyval - true if the sort key value is less than + // or equal to :sortkeyval. // - // sortKeyName :sortkeyval - true if the sort key value is greater than + // sortKeyName > :sortkeyval - true if the sort key value is greater than // :sortkeyval. // - // sortKeyName = :sortkeyval - true if the sort key value is greater than + // sortKeyName >= :sortkeyval - true if the sort key value is greater than // or equal to :sortkeyval. // - // sortKeyName BETWEEN :sortkeyval1 AND :sortkeyval2 - true if the sort key - // value is greater than or equal to :sortkeyval1, and less than or equal to - // :sortkeyval2. + // sortKeyName BETWEEN :sortkeyval1 AND :sortkeyval2 - true if the sort + // key value is greater than or equal to :sortkeyval1, and less than or equal + // to :sortkeyval2. // - // begins_with (sortKeyName, :sortkeyval) - true if the sort key value begins - // with a particular operand. (You cannot use this function with a sort key - // that is of type Number.) Note that the function name begins_with is case-sensitive. + // begins_with ( sortKeyName, :sortkeyval ) - true if the sort key value + // begins with a particular operand. (You cannot use this function with a sort + // key that is of type Number.) Note that the function name begins_with is case-sensitive. // // Use the ExpressionAttributeValues parameter to replace tokens such as // :partitionval and :sortval with actual values at runtime. @@ -4317,17 +5178,21 @@ type QueryInput struct { // reserved word. For example, the following KeyConditionExpression parameter // causes an error because Size is a reserved word: // - // Size = :myval To work around this, define a placeholder (such a #S) - // to represent the attribute name Size. KeyConditionExpression then is as follows: + // Size = :myval // - // #S = :myval For a list of reserved words, see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) + // To work around this, define a placeholder (such a #S) to represent the + // attribute name Size. KeyConditionExpression then is as follows: + // + // #S = :myval + // + // For a list of reserved words, see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) // in the Amazon DynamoDB Developer Guide. // // For more information on ExpressionAttributeNames and ExpressionAttributeValues, // see Using Placeholders for Attribute Names and Values (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ExpressionPlaceholders.html) // in the Amazon DynamoDB Developer Guide. // - // KeyConditionExpression replaces the legacy KeyConditions parameter. + // KeyConditionExpression replaces the legacy KeyConditions parameter. KeyConditionExpression *string `type:"string"` // This is a legacy parameter, for backward compatibility. New applications @@ -4344,15 +5209,15 @@ type QueryInput struct { // the partition key will be retrieved. If a FilterExpression or QueryFilter // is present, it will be applied after the items are retrieved. // - // For a query on an index, you can have conditions only on the index key attributes. - // You must provide the index partition key name and value as an EQ condition. - // You can optionally provide a second condition, referring to the index sort - // key. + // For a query on an index, you can have conditions only on the index key + // attributes. You must provide the index partition key name and value as an + // EQ condition. You can optionally provide a second condition, referring to + // the index sort key. // // Each KeyConditions element consists of an attribute name to compare, along // with the following: // - // AttributeValueList - One or more values to evaluate against the supplied + // AttributeValueList - One or more values to evaluate against the supplied // attribute. The number of values in the list depends on the ComparisonOperator // being used. // @@ -4366,7 +5231,7 @@ type QueryInput struct { // For Binary, DynamoDB treats each byte of the binary data as unsigned when // it compares binary values. // - // ComparisonOperator - A comparator for evaluating attributes, for example, + // ComparisonOperator - A comparator for evaluating attributes, for example, // equals, greater than, less than, and so on. // // For KeyConditions, only the following comparison operators are supported: @@ -4375,56 +5240,56 @@ type QueryInput struct { // // The following are descriptions of these comparison operators. // - // EQ : Equal. + // EQ : Equal. // - // AttributeValueList can contain only one AttributeValue of type String, Number, - // or Binary (not a set type). If an item contains an AttributeValue element - // of a different type than the one specified in the request, the value does - // not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} + // AttributeValueList can contain only one AttributeValue of type String, + // Number, or Binary (not a set type). If an item contains an AttributeValue + // element of a different type than the one specified in the request, the value + // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} // does not equal {"NS":["6", "2", "1"]}. // - // LE : Less than or equal. + // LE : Less than or equal. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If an item contains an AttributeValue + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If an item contains an AttributeValue // element of a different type than the one provided in the request, the value // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} // does not compare to {"NS":["6", "2", "1"]}. // - // LT : Less than. + // LT : Less than. // - // AttributeValueList can contain only one AttributeValue of type String, Number, - // or Binary (not a set type). If an item contains an AttributeValue element - // of a different type than the one provided in the request, the value does - // not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} + // AttributeValueList can contain only one AttributeValue of type String, + // Number, or Binary (not a set type). If an item contains an AttributeValue + // element of a different type than the one provided in the request, the value + // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} // does not compare to {"NS":["6", "2", "1"]}. // - // GE : Greater than or equal. + // GE : Greater than or equal. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If an item contains an AttributeValue + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If an item contains an AttributeValue // element of a different type than the one provided in the request, the value // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} // does not compare to {"NS":["6", "2", "1"]}. // - // GT : Greater than. + // GT : Greater than. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If an item contains an AttributeValue + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If an item contains an AttributeValue // element of a different type than the one provided in the request, the value // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} // does not compare to {"NS":["6", "2", "1"]}. // - // BEGINS_WITH : Checks for a prefix. + // BEGINS_WITH : Checks for a prefix. // - // AttributeValueList can contain only one AttributeValue of type String or + // AttributeValueList can contain only one AttributeValue of type String or // Binary (not a Number or a set type). The target attribute of the comparison // must be of type String or Binary (not a Number or a set type). // - // BETWEEN : Greater than or equal to the first value, and less than or + // BETWEEN : Greater than or equal to the first value, and less than or // equal to the second value. // - // AttributeValueList must contain two AttributeValue elements of the same + // AttributeValueList must contain two AttributeValue elements of the same // type, either String, Number, or Binary (not a set type). A target attribute // matches if the target value is greater than, or equal to, the first element // and less than, or equal to, the second element. If an item contains an AttributeValue @@ -4445,7 +5310,8 @@ type QueryInput struct { // size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation // and returns the matching values up to the limit, and a key in LastEvaluatedKey // to apply in a subsequent operation to continue the operation. For more information, - // see Query and Scan in the Amazon DynamoDB Developer Guide. + // see Query and Scan (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html) + // in the Amazon DynamoDB Developer Guide. Limit *int64 `min:"1" type:"integer"` // A string that identifies one or more attributes to retrieve from the table. @@ -4459,7 +5325,7 @@ type QueryInput struct { // For more information, see Accessing Item Attributes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) // in the Amazon DynamoDB Developer Guide. // - // ProjectionExpression replaces the legacy AttributesToGet parameter. + // ProjectionExpression replaces the legacy AttributesToGet parameter. ProjectionExpression *string `type:"string"` // This is a legacy parameter, for backward compatibility. New applications @@ -4472,13 +5338,13 @@ type QueryInput struct { // // This parameter does not support attributes of type List or Map. // - // A QueryFilter is applied after the items have already been read; the process + // A QueryFilter is applied after the items have already been read; the process // of filtering does not consume any additional read capacity units. // - // If you provide more than one condition in the QueryFilter map, then by default - // all of the conditions must evaluate to true. In other words, the conditions - // are ANDed together. (You can use the ConditionalOperator parameter to OR - // the conditions instead. If you do this, then at least one of the conditions + // If you provide more than one condition in the QueryFilter map, then by + // default all of the conditions must evaluate to true. In other words, the + // conditions are ANDed together. (You can use the ConditionalOperator parameter + // to OR the conditions instead. If you do this, then at least one of the conditions // must evaluate to true, rather than all of them.) // // Note that QueryFilter does not allow key attributes. You cannot define a @@ -4487,7 +5353,7 @@ type QueryInput struct { // Each QueryFilter element consists of an attribute name to compare, along // with the following: // - // AttributeValueList - One or more values to evaluate against the supplied + // AttributeValueList - One or more values to evaluate against the supplied // attribute. The number of values in the list depends on the operator specified // in ComparisonOperator. // @@ -4504,12 +5370,12 @@ type QueryInput struct { // For information on specifying data types in JSON, see JSON Data Format (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataFormat.html) // in the Amazon DynamoDB Developer Guide. // - // ComparisonOperator - A comparator for evaluating attributes. For example, + // ComparisonOperator - A comparator for evaluating attributes. For example, // equals, greater than, less than, etc. // // The following comparison operators are available: // - // EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS + // EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS // | BEGINS_WITH | IN | BETWEEN // // For complete descriptions of all comparison operators, see the Condition @@ -4520,7 +5386,7 @@ type QueryInput struct { // Determines the level of detail about provisioned throughput consumption that // is returned in the response: // - // INDEXES - The response includes the aggregate ConsumedCapacity for the + // INDEXES - The response includes the aggregate ConsumedCapacity for the // operation, together with ConsumedCapacity for each table and secondary index // that was accessed. // @@ -4528,10 +5394,10 @@ type QueryInput struct { // any indexes at all. In these cases, specifying INDEXES will only return ConsumedCapacity // information for table(s). // - // TOTAL - The response includes only the aggregate ConsumedCapacity for the - // operation. + // TOTAL - The response includes only the aggregate ConsumedCapacity for + // the operation. // - // NONE - No ConsumedCapacity details are included in the response. + // NONE - No ConsumedCapacity details are included in the response. ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` // Specifies the order for index traversal: If true (default), the traversal @@ -4554,18 +5420,18 @@ type QueryInput struct { // specific item attributes, the count of matching items, or in the case of // an index, some or all of the attributes projected into the index. // - // ALL_ATTRIBUTES - Returns all of the item attributes from the specified + // ALL_ATTRIBUTES - Returns all of the item attributes from the specified // table or index. If you query a local secondary index, then for each matching // item in the index DynamoDB will fetch the entire item from the parent table. // If the index is configured to project all item attributes, then all of the // data can be obtained from the local secondary index, and no fetching is required. // - // ALL_PROJECTED_ATTRIBUTES - Allowed only when querying an index. Retrieves + // ALL_PROJECTED_ATTRIBUTES - Allowed only when querying an index. Retrieves // all attributes that have been projected into the index. If the index is configured // to project all attributes, this return value is equivalent to specifying // ALL_ATTRIBUTES. // - // COUNT - Returns the number of matching items, rather than the matching + // COUNT - Returns the number of matching items, rather than the matching // items themselves. // // SPECIFIC_ATTRIBUTES - Returns only the attributes listed in AttributesToGet. @@ -4590,12 +5456,14 @@ type QueryInput struct { // (This usage is equivalent to specifying AttributesToGet without any value // for Select.) // - // If you use the ProjectionExpression parameter, then the value for Select + // If you use the ProjectionExpression parameter, then the value for Select // can only be SPECIFIC_ATTRIBUTES. Any other value for Select will return an // error. Select *string `type:"string" enum:"Select"` // The name of the table containing the requested items. + // + // TableName is a required field TableName *string `min:"3" type:"string" required:"true"` } @@ -4724,9 +5592,9 @@ type ScanInput struct { // This parameter allows you to retrieve attributes of type List or Map; however, // it cannot retrieve individual elements within a List or a Map. // - // The names of one or more attributes to retrieve. If no attribute names are - // provided, then all attributes will be returned. If any of the requested attributes - // are not found, they will not appear in the result. + // The names of one or more attributes to retrieve. If no attribute names + // are provided, then all attributes will be returned. If any of the requested + // attributes are not found, they will not appear in the result. // // Note that AttributesToGet has no effect on provisioned throughput consumption. // DynamoDB determines capacity units consumed based on item size, not on the @@ -4740,17 +5608,17 @@ type ScanInput struct { // // A logical operator to apply to the conditions in a ScanFilter map: // - // AND - If all of the conditions evaluate to true, then the entire map evaluates - // to true. + // AND - If all of the conditions evaluate to true, then the entire map + // evaluates to true. // - // OR - If at least one of the conditions evaluate to true, then the entire + // OR - If at least one of the conditions evaluate to true, then the entire // map evaluates to true. // - // If you omit ConditionalOperator, then AND is the default. + // If you omit ConditionalOperator, then AND is the default. // // The operation will succeed only if the entire map evaluates to true. // - // This parameter does not support attributes of type List or Map. + // This parameter does not support attributes of type List or Map. ConditionalOperator *string `type:"string" enum:"ConditionalOperator"` // A Boolean value that determines the read consistency model during the scan: @@ -4794,25 +5662,25 @@ type ScanInput struct { // Use the # character in an expression to dereference an attribute name. // For example, consider the following attribute name: // - // Percentile + // Percentile // - // The name of this attribute conflicts with a reserved word, so it cannot + // The name of this attribute conflicts with a reserved word, so it cannot // be used directly in an expression. (For the complete list of reserved words, // see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) // in the Amazon DynamoDB Developer Guide). To work around this, you could specify // the following for ExpressionAttributeNames: // - // {"#P":"Percentile"} + // {"#P":"Percentile"} // - // You could then use this substitution in an expression, as in this example: + // You could then use this substitution in an expression, as in this example: // - // #P = :val + // #P = :val // - // Tokens that begin with the : character are expression attribute values, + // Tokens that begin with the : character are expression attribute values, // which are placeholders for the actual value at runtime. // - // For more information on expression attribute names, see Accessing Item Attributes - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) + // For more information on expression attribute names, see Accessing Item + // Attributes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) // in the Amazon DynamoDB Developer Guide. ExpressionAttributeNames map[string]*string `type:"map"` @@ -4822,16 +5690,16 @@ type ScanInput struct { // value. For example, suppose that you wanted to check whether the value of // the ProductStatus attribute was one of the following: // - // Available | Backordered | Discontinued + // Available | Backordered | Discontinued // // You would first need to specify ExpressionAttributeValues as follows: // - // { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} + // { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} // } // // You could then use these values in an expression, such as this: // - // ProductStatus IN (:avail, :back, :disc) + // ProductStatus IN (:avail, :back, :disc) // // For more information on expression attribute values, see Specifying Conditions // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) @@ -4845,10 +5713,10 @@ type ScanInput struct { // A FilterExpression is applied after the items have already been read; the // process of filtering does not consume any additional read capacity units. // - // For more information, see Filter Expressions (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults) + // For more information, see Filter Expressions (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults) // in the Amazon DynamoDB Developer Guide. // - // FilterExpression replaces the legacy ScanFilter and ConditionalOperator + // FilterExpression replaces the legacy ScanFilter and ConditionalOperator // parameters. FilterExpression *string `type:"string"` @@ -4865,7 +5733,8 @@ type ScanInput struct { // size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation // and returns the matching values up to the limit, and a key in LastEvaluatedKey // to apply in a subsequent operation to continue the operation. For more information, - // see Query and Scan in the Amazon DynamoDB Developer Guide. + // see Query and Scan (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html) + // in the Amazon DynamoDB Developer Guide. Limit *int64 `min:"1" type:"integer"` // A string that identifies one or more attributes to retrieve from the specified @@ -4879,13 +5748,13 @@ type ScanInput struct { // For more information, see Accessing Item Attributes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) // in the Amazon DynamoDB Developer Guide. // - // ProjectionExpression replaces the legacy AttributesToGet parameter. + // ProjectionExpression replaces the legacy AttributesToGet parameter. ProjectionExpression *string `type:"string"` // Determines the level of detail about provisioned throughput consumption that // is returned in the response: // - // INDEXES - The response includes the aggregate ConsumedCapacity for the + // INDEXES - The response includes the aggregate ConsumedCapacity for the // operation, together with ConsumedCapacity for each table and secondary index // that was accessed. // @@ -4893,10 +5762,10 @@ type ScanInput struct { // any indexes at all. In these cases, specifying INDEXES will only return ConsumedCapacity // information for table(s). // - // TOTAL - The response includes only the aggregate ConsumedCapacity for the - // operation. + // TOTAL - The response includes only the aggregate ConsumedCapacity for + // the operation. // - // NONE - No ConsumedCapacity details are included in the response. + // NONE - No ConsumedCapacity details are included in the response. ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` // This is a legacy parameter, for backward compatibility. New applications @@ -4907,9 +5776,9 @@ type ScanInput struct { // A condition that evaluates the scan results and returns only the desired // values. // - // This parameter does not support attributes of type List or Map. + // This parameter does not support attributes of type List or Map. // - // If you specify more than one condition in the ScanFilter map, then by default + // If you specify more than one condition in the ScanFilter map, then by default // all of the conditions must evaluate to true. In other words, the conditions // are ANDed together. (You can use the ConditionalOperator parameter to OR // the conditions instead. If you do this, then at least one of the conditions @@ -4918,7 +5787,7 @@ type ScanInput struct { // Each ScanFilter element consists of an attribute name to compare, along // with the following: // - // AttributeValueList - One or more values to evaluate against the supplied + // AttributeValueList - One or more values to evaluate against the supplied // attribute. The number of values in the list depends on the operator specified // in ComparisonOperator . // @@ -4935,12 +5804,12 @@ type ScanInput struct { // For information on specifying data types in JSON, see JSON Data Format (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataFormat.html) // in the Amazon DynamoDB Developer Guide. // - // ComparisonOperator - A comparator for evaluating attributes. For example, + // ComparisonOperator - A comparator for evaluating attributes. For example, // equals, greater than, less than, etc. // // The following comparison operators are available: // - // EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS + // EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS // | BEGINS_WITH | IN | BETWEEN // // For complete descriptions of all comparison operators, see Condition (http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Condition.html). @@ -4967,9 +5836,14 @@ type ScanInput struct { // The attributes to be returned in the result. You can retrieve all item attributes, // specific item attributes, or the count of matching items. // - // ALL_ATTRIBUTES - Returns all of the item attributes. + // ALL_ATTRIBUTES - Returns all of the item attributes. + // + // ALL_PROJECTED_ATTRIBUTES - Allowed only when querying an index. Retrieves + // all attributes that have been projected into the index. If the index is configured + // to project all attributes, this return value is equivalent to specifying + // ALL_ATTRIBUTES. // - // COUNT - Returns the number of matching items, rather than the matching + // COUNT - Returns the number of matching items, rather than the matching // items themselves. // // SPECIFIC_ATTRIBUTES - Returns only the attributes listed in AttributesToGet. @@ -4985,6 +5859,8 @@ type ScanInput struct { // The name of the table containing the requested items; or, if you provide // IndexName, the name of the table to which that index belongs. + // + // TableName is a required field TableName *string `min:"3" type:"string" required:"true"` // For a parallel Scan request, TotalSegments represents the total number of @@ -5116,24 +5992,24 @@ type StreamSpecification struct { // The DynamoDB Streams settings for the table. These settings consist of: // - // StreamEnabled - Indicates whether DynamoDB Streams is enabled (true) or - // disabled (false) on the table. + // StreamEnabled - Indicates whether DynamoDB Streams is enabled (true) + // or disabled (false) on the table. // - // StreamViewType - When an item in the table is modified, StreamViewType + // StreamViewType - When an item in the table is modified, StreamViewType // determines what information is written to the stream for this table. Valid // values for StreamViewType are: // - // KEYS_ONLY - Only the key attributes of the modified item are written to - // the stream. - // - // NEW_IMAGE - The entire item, as it appears after it was modified, is written + // KEYS_ONLY - Only the key attributes of the modified item are written // to the stream. // - // OLD_IMAGE - The entire item, as it appeared before it was modified, is written - // to the stream. + // NEW_IMAGE - The entire item, as it appears after it was modified, is + // written to the stream. // - // NEW_AND_OLD_IMAGES - Both the new and the old item images of the item are + // OLD_IMAGE - The entire item, as it appeared before it was modified, is // written to the stream. + // + // NEW_AND_OLD_IMAGES - Both the new and the old item images of the item + // are written to the stream. StreamViewType *string `type:"string" enum:"StreamViewType"` } @@ -5156,9 +6032,9 @@ type TableDescription struct { // // Each AttributeDefinition object in this array is composed of: // - // AttributeName - The name of the attribute. + // AttributeName - The name of the attribute. // - // AttributeType - The data type for the attribute. + // AttributeType - The data type for the attribute. AttributeDefinitions []*AttributeDefinition `type:"list"` // The date and time when the table was created, in UNIX epoch time (http://www.epochconverter.com/) @@ -5168,57 +6044,57 @@ type TableDescription struct { // The global secondary indexes, if any, on the table. Each index is scoped // to a given partition key value. Each element is composed of: // - // Backfilling - If true, then the index is currently in the backfilling + // Backfilling - If true, then the index is currently in the backfilling // phase. Backfilling occurs only when a new global secondary index is added // to the table; it is the process by which DynamoDB populates the new index // with data from the table. (This attribute does not appear for indexes that // were created during a CreateTable operation.) // - // IndexName - The name of the global secondary index. + // IndexName - The name of the global secondary index. // - // IndexSizeBytes - The total size of the global secondary index, in bytes. + // IndexSizeBytes - The total size of the global secondary index, in bytes. // DynamoDB updates this value approximately every six hours. Recent changes // might not be reflected in this value. // - // IndexStatus - The current status of the global secondary index: + // IndexStatus - The current status of the global secondary index: // - // CREATING - The index is being created. + // CREATING - The index is being created. // - // UPDATING - The index is being updated. + // UPDATING - The index is being updated. // - // DELETING - The index is being deleted. + // DELETING - The index is being deleted. // - // ACTIVE - The index is ready for use. + // ACTIVE - The index is ready for use. // - // ItemCount - The number of items in the global secondary index. DynamoDB + // ItemCount - The number of items in the global secondary index. DynamoDB // updates this value approximately every six hours. Recent changes might not // be reflected in this value. // - // KeySchema - Specifies the complete index key schema. The attribute names + // KeySchema - Specifies the complete index key schema. The attribute names // in the key schema must be between 1 and 255 characters (inclusive). The key // schema must begin with the same partition key as the table. // - // Projection - Specifies attributes that are copied (projected) from the + // Projection - Specifies attributes that are copied (projected) from the // table into the index. These are in addition to the primary key attributes // and index key attributes, which are automatically projected. Each attribute // specification is composed of: // - // ProjectionType - One of the following: + // ProjectionType - One of the following: // - // KEYS_ONLY - Only the index and primary keys are projected into the index. + // KEYS_ONLY - Only the index and primary keys are projected into the index. // - // INCLUDE - Only the specified table attributes are projected into the index. - // The list of projected attributes are in NonKeyAttributes. + // INCLUDE - Only the specified table attributes are projected into the + // index. The list of projected attributes are in NonKeyAttributes. // - // ALL - All of the table attributes are projected into the index. + // ALL - All of the table attributes are projected into the index. // - // NonKeyAttributes - A list of one or more non-key attribute names that + // NonKeyAttributes - A list of one or more non-key attribute names that // are projected into the secondary index. The total count of attributes provided // in NonKeyAttributes, summed across all of the secondary indexes, must not // exceed 20. If you project the same attribute into two different indexes, // this counts as two distinct attributes when determining the total. // - // ProvisionedThroughput - The provisioned throughput settings for the + // ProvisionedThroughput - The provisioned throughput settings for the // global secondary index, consisting of read and write capacity units, along // with data about increases and decreases. // @@ -5232,15 +6108,15 @@ type TableDescription struct { // The primary key structure for the table. Each KeySchemaElement consists of: // - // AttributeName - The name of the attribute. + // AttributeName - The name of the attribute. // - // KeyType - The role of the attribute: + // KeyType - The role of the attribute: // - // . HASH - partition key + // HASH - partition key // - // RANGE - sort key + // RANGE - sort key // - // The partition key of an item is also known as its hash attribute. The + // The partition key of an item is also known as its hash attribute. The // term "hash attribute" derives from DynamoDB' usage of an internal hash function // to evenly distribute data items across partitions, based on their partition // key values. @@ -5249,7 +6125,7 @@ type TableDescription struct { // attribute" derives from the way DynamoDB stores items with the same partition // key physically close together, in sorted order by the sort key value. // - // For more information about primary keys, see Primary Key (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html#DataModelPrimaryKey) + // For more information about primary keys, see Primary Key (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html#DataModelPrimaryKey) // in the Amazon DynamoDB Developer Guide. KeySchema []*KeySchemaElement `min:"1" type:"list"` @@ -5264,11 +6140,11 @@ type TableDescription struct { // However, the combination of the following three elements is guaranteed to // be unique: // - // the AWS customer ID. + // the AWS customer ID. // - // the table name. + // the table name. // - // the StreamLabel. + // the StreamLabel. LatestStreamLabel *string `type:"string"` // Represents one or more local secondary indexes on the table. Each index is @@ -5277,37 +6153,37 @@ type TableDescription struct { // data within a given item collection cannot exceed 10 GB. Each element is // composed of: // - // IndexName - The name of the local secondary index. + // IndexName - The name of the local secondary index. // - // KeySchema - Specifies the complete index key schema. The attribute names + // KeySchema - Specifies the complete index key schema. The attribute names // in the key schema must be between 1 and 255 characters (inclusive). The key // schema must begin with the same partition key as the table. // - // Projection - Specifies attributes that are copied (projected) from the + // Projection - Specifies attributes that are copied (projected) from the // table into the index. These are in addition to the primary key attributes // and index key attributes, which are automatically projected. Each attribute // specification is composed of: // - // ProjectionType - One of the following: + // ProjectionType - One of the following: // - // KEYS_ONLY - Only the index and primary keys are projected into the index. + // KEYS_ONLY - Only the index and primary keys are projected into the index. // - // INCLUDE - Only the specified table attributes are projected into the index. - // The list of projected attributes are in NonKeyAttributes. + // INCLUDE - Only the specified table attributes are projected into the + // index. The list of projected attributes are in NonKeyAttributes. // - // ALL - All of the table attributes are projected into the index. + // ALL - All of the table attributes are projected into the index. // - // NonKeyAttributes - A list of one or more non-key attribute names that + // NonKeyAttributes - A list of one or more non-key attribute names that // are projected into the secondary index. The total count of attributes provided // in NonKeyAttributes, summed across all of the secondary indexes, must not // exceed 20. If you project the same attribute into two different indexes, // this counts as two distinct attributes when determining the total. // - // IndexSizeBytes - Represents the total size of the index, in bytes. DynamoDB - // updates this value approximately every six hours. Recent changes might not - // be reflected in this value. + // IndexSizeBytes - Represents the total size of the index, in bytes. + // DynamoDB updates this value approximately every six hours. Recent changes + // might not be reflected in this value. // - // ItemCount - Represents the number of items in the index. DynamoDB updates + // ItemCount - Represents the number of items in the index. DynamoDB updates // this value approximately every six hours. Recent changes might not be reflected // in this value. // @@ -5335,13 +6211,13 @@ type TableDescription struct { // The current state of the table: // - // CREATING - The table is being created. + // CREATING - The table is being created. // - // UPDATING - The table is being updated. + // UPDATING - The table is being updated. // - // DELETING - The table is being deleted. + // DELETING - The table is being deleted. // - // ACTIVE - The table is ready for use. + // ACTIVE - The table is ready for use. TableStatus *string `type:"string" enum:"TableStatus"` } @@ -5361,6 +6237,8 @@ type UpdateGlobalSecondaryIndexAction struct { _ struct{} `type:"structure"` // The name of the global secondary index to be updated. + // + // IndexName is a required field IndexName *string `min:"3" type:"string" required:"true"` // Represents the provisioned throughput settings for a specified table or index. @@ -5369,6 +6247,8 @@ type UpdateGlobalSecondaryIndexAction struct { // For current minimum and maximum provisioned throughput values, see Limits // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) // in the Amazon DynamoDB Developer Guide. + // + // ProvisionedThroughput is a required field ProvisionedThroughput *ProvisionedThroughput `type:"structure" required:"true"` } @@ -5431,19 +6311,19 @@ type UpdateItemInput struct { // Each AttributeUpdates element consists of an attribute name to modify, along // with the following: // - // Value - The new value, if applicable, for this attribute. + // Value - The new value, if applicable, for this attribute. // - // Action - A value that specifies how to perform the update. This action + // Action - A value that specifies how to perform the update. This action // is only valid for an existing attribute whose data type is Number or is a // set; do not use ADD for other data types. // // If an item with the specified primary key is found in the table, the following // values perform the following actions: // - // PUT - Adds the specified attribute to the item. If the attribute already + // PUT - Adds the specified attribute to the item. If the attribute already // exists, it is replaced by the new value. // - // DELETE - Removes the attribute and its value, if no value is specified + // DELETE - Removes the attribute and its value, if no value is specified // for DELETE. The data type of the specified value must match the existing // value's data type. // @@ -5452,7 +6332,7 @@ type UpdateItemInput struct { // DELETE action specifies [a,c], then the final attribute value is [b]. Specifying // an empty set is an error. // - // ADD - Adds the specified value to the item, if the attribute does not + // ADD - Adds the specified value to the item, if the attribute does not // already exist. If the attribute does exist, then the behavior of ADD depends // on the data type of the attribute: // @@ -5484,14 +6364,14 @@ type UpdateItemInput struct { // If no item with the specified key is found in the table, the following // values perform the following actions: // - // PUT - Causes DynamoDB to create a new item with the specified primary + // PUT - Causes DynamoDB to create a new item with the specified primary // key, and then adds the attribute. // - // DELETE - Nothing happens, because attributes cannot be deleted from a + // DELETE - Nothing happens, because attributes cannot be deleted from a // nonexistent item. The operation succeeds, but DynamoDB does not create a // new item. // - // ADD - Causes DynamoDB to create an item with the supplied primary key + // ADD - Causes DynamoDB to create an item with the supplied primary key // and number (or set of numbers) for the attribute value. The only data types // allowed are Number and Number Set. // @@ -5509,7 +6389,8 @@ type UpdateItemInput struct { // // These function names are case-sensitive. // - // Comparison operators: = | | | | = | = | BETWEEN | IN + // Comparison operators: = | <> | < | > | <= | + // >= | BETWEEN | IN // // Logical operators: AND | OR | NOT // @@ -5517,7 +6398,7 @@ type UpdateItemInput struct { // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) // in the Amazon DynamoDB Developer Guide. // - // ConditionExpression replaces the legacy ConditionalOperator and Expected + // ConditionExpression replaces the legacy ConditionalOperator and Expected // parameters. ConditionExpression *string `type:"string"` @@ -5528,17 +6409,17 @@ type UpdateItemInput struct { // // A logical operator to apply to the conditions in the Expected map: // - // AND - If all of the conditions evaluate to true, then the entire map evaluates - // to true. + // AND - If all of the conditions evaluate to true, then the entire map + // evaluates to true. // - // OR - If at least one of the conditions evaluate to true, then the entire + // OR - If at least one of the conditions evaluate to true, then the entire // map evaluates to true. // - // If you omit ConditionalOperator, then AND is the default. + // If you omit ConditionalOperator, then AND is the default. // // The operation will succeed only if the entire map evaluates to true. // - // This parameter does not support attributes of type List or Map. + // This parameter does not support attributes of type List or Map. ConditionalOperator *string `type:"string" enum:"ConditionalOperator"` // This is a legacy parameter, for backward compatibility. New applications @@ -5563,9 +6444,9 @@ type UpdateItemInput struct { // If the Expected map evaluates to true, then the conditional operation succeeds; // otherwise, it fails. // - // Expected contains the following: + // Expected contains the following: // - // AttributeValueList - One or more values to evaluate against the supplied + // AttributeValueList - One or more values to evaluate against the supplied // attribute. The number of values in the list depends on the ComparisonOperator // being used. // @@ -5573,132 +6454,133 @@ type UpdateItemInput struct { // // String value comparisons for greater than, equals, or less than are based // on ASCII character code values. For example, a is greater than A, and a is - // greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters. + // greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters + // (http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters). // // For type Binary, DynamoDB treats each byte of the binary data as unsigned // when it compares binary values. // - // ComparisonOperator - A comparator for evaluating attributes in the AttributeValueList. + // ComparisonOperator - A comparator for evaluating attributes in the AttributeValueList. // When performing the comparison, DynamoDB uses strongly consistent reads. // // The following comparison operators are available: // - // EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS + // EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS // | BEGINS_WITH | IN | BETWEEN // // The following are descriptions of each comparison operator. // - // EQ : Equal. EQ is supported for all datatypes, including lists and maps. + // EQ : Equal. EQ is supported for all datatypes, including lists and maps. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, Binary, String Set, Number Set, or Binary Set. If an item contains - // an AttributeValue element of a different type than the one provided in the - // request, the value does not match. For example, {"S":"6"} does not equal - // {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}. + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, Binary, String Set, Number Set, or Binary Set. If an item + // contains an AttributeValue element of a different type than the one provided + // in the request, the value does not match. For example, {"S":"6"} does not + // equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}. // - // NE : Not equal. NE is supported for all datatypes, including lists and + // NE : Not equal. NE is supported for all datatypes, including lists and // maps. // - // AttributeValueList can contain only one AttributeValue of type String, Number, - // Binary, String Set, Number Set, or Binary Set. If an item contains an AttributeValue - // of a different type than the one provided in the request, the value does - // not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} - // does not equal {"NS":["6", "2", "1"]}. + // AttributeValueList can contain only one AttributeValue of type String, + // Number, Binary, String Set, Number Set, or Binary Set. If an item contains + // an AttributeValue of a different type than the one provided in the request, + // the value does not match. For example, {"S":"6"} does not equal {"N":"6"}. + // Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}. // - // LE : Less than or equal. + // LE : Less than or equal. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If an item contains an AttributeValue + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If an item contains an AttributeValue // element of a different type than the one provided in the request, the value // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} // does not compare to {"NS":["6", "2", "1"]}. // - // LT : Less than. + // LT : Less than. // - // AttributeValueList can contain only one AttributeValue of type String, Number, - // or Binary (not a set type). If an item contains an AttributeValue element - // of a different type than the one provided in the request, the value does - // not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} + // AttributeValueList can contain only one AttributeValue of type String, + // Number, or Binary (not a set type). If an item contains an AttributeValue + // element of a different type than the one provided in the request, the value + // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} // does not compare to {"NS":["6", "2", "1"]}. // - // GE : Greater than or equal. + // GE : Greater than or equal. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If an item contains an AttributeValue + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If an item contains an AttributeValue // element of a different type than the one provided in the request, the value // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} // does not compare to {"NS":["6", "2", "1"]}. // - // GT : Greater than. + // GT : Greater than. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If an item contains an AttributeValue + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If an item contains an AttributeValue // element of a different type than the one provided in the request, the value // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"} // does not compare to {"NS":["6", "2", "1"]}. // - // NOT_NULL : The attribute exists. NOT_NULL is supported for all datatypes, + // NOT_NULL : The attribute exists. NOT_NULL is supported for all datatypes, // including lists and maps. // - // This operator tests for the existence of an attribute, not its data type. + // This operator tests for the existence of an attribute, not its data type. // If the data type of attribute "a" is null, and you evaluate it using NOT_NULL, // the result is a Boolean true. This result is because the attribute "a" exists; // its data type is not relevant to the NOT_NULL comparison operator. // - // NULL : The attribute does not exist. NULL is supported for all datatypes, + // NULL : The attribute does not exist. NULL is supported for all datatypes, // including lists and maps. // - // This operator tests for the nonexistence of an attribute, not its data type. - // If the data type of attribute "a" is null, and you evaluate it using NULL, - // the result is a Boolean false. This is because the attribute "a" exists; + // This operator tests for the nonexistence of an attribute, not its data + // type. If the data type of attribute "a" is null, and you evaluate it using + // NULL, the result is a Boolean false. This is because the attribute "a" exists; // its data type is not relevant to the NULL comparison operator. // - // CONTAINS : Checks for a subsequence, or value in a set. + // CONTAINS : Checks for a subsequence, or value in a set. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If the target attribute of the comparison - // is of type String, then the operator checks for a substring match. If the - // target attribute of the comparison is of type Binary, then the operator looks - // for a subsequence of the target that matches the input. If the target attribute - // of the comparison is a set ("SS", "NS", or "BS"), then the operator evaluates - // to true if it finds an exact match with any member of the set. + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If the target attribute of the + // comparison is of type String, then the operator checks for a substring match. + // If the target attribute of the comparison is of type Binary, then the operator + // looks for a subsequence of the target that matches the input. If the target + // attribute of the comparison is a set ("SS", "NS", or "BS"), then the operator + // evaluates to true if it finds an exact match with any member of the set. // // CONTAINS is supported for lists: When evaluating "a CONTAINS b", "a" can // be a list; however, "b" cannot be a set, a map, or a list. // - // NOT_CONTAINS : Checks for absence of a subsequence, or absence of a value + // NOT_CONTAINS : Checks for absence of a subsequence, or absence of a value // in a set. // - // AttributeValueList can contain only one AttributeValue element of type String, - // Number, or Binary (not a set type). If the target attribute of the comparison - // is a String, then the operator checks for the absence of a substring match. - // If the target attribute of the comparison is Binary, then the operator checks - // for the absence of a subsequence of the target that matches the input. If - // the target attribute of the comparison is a set ("SS", "NS", or "BS"), then - // the operator evaluates to true if it does not find an exact match with any - // member of the set. + // AttributeValueList can contain only one AttributeValue element of type + // String, Number, or Binary (not a set type). If the target attribute of the + // comparison is a String, then the operator checks for the absence of a substring + // match. If the target attribute of the comparison is Binary, then the operator + // checks for the absence of a subsequence of the target that matches the input. + // If the target attribute of the comparison is a set ("SS", "NS", or "BS"), + // then the operator evaluates to true if it does not find an exact match with + // any member of the set. // // NOT_CONTAINS is supported for lists: When evaluating "a NOT CONTAINS b", // "a" can be a list; however, "b" cannot be a set, a map, or a list. // - // BEGINS_WITH : Checks for a prefix. + // BEGINS_WITH : Checks for a prefix. // - // AttributeValueList can contain only one AttributeValue of type String or + // AttributeValueList can contain only one AttributeValue of type String or // Binary (not a Number or a set type). The target attribute of the comparison // must be of type String or Binary (not a Number or a set type). // - // IN : Checks for matching elements within two sets. + // IN : Checks for matching elements within two sets. // - // AttributeValueList can contain one or more AttributeValue elements of type + // AttributeValueList can contain one or more AttributeValue elements of type // String, Number, or Binary (not a set type). These attributes are compared // against an existing set type attribute of an item. If any elements of the // input set are present in the item attribute, the expression evaluates to // true. // - // BETWEEN : Greater than or equal to the first value, and less than or equal - // to the second value. + // BETWEEN : Greater than or equal to the first value, and less than or + // equal to the second value. // - // AttributeValueList must contain two AttributeValue elements of the same + // AttributeValueList must contain two AttributeValue elements of the same // type, either String, Number, or Binary (not a set type). A target attribute // matches if the target value is greater than, or equal to, the first element // and less than, or equal to, the second element. If an item contains an AttributeValue @@ -5713,27 +6595,27 @@ type UpdateItemInput struct { // For backward compatibility with previous DynamoDB releases, the following // parameters can be used instead of AttributeValueList and ComparisonOperator: // - // Value - A value for DynamoDB to compare with an attribute. + // Value - A value for DynamoDB to compare with an attribute. // - // Exists - A Boolean value that causes DynamoDB to evaluate the value before + // Exists - A Boolean value that causes DynamoDB to evaluate the value before // attempting the conditional operation: // // If Exists is true, DynamoDB will check to see if that attribute value // already exists in the table. If it is found, then the condition evaluates // to true; otherwise the condition evaluate to false. // - // If Exists is false, DynamoDB assumes that the attribute value does not + // If Exists is false, DynamoDB assumes that the attribute value does not // exist in the table. If in fact the value does not exist, then the assumption // is valid and the condition evaluates to true. If the value is found, despite // the assumption that it does not exist, the condition evaluates to false. // - // Note that the default value for Exists is true. + // Note that the default value for Exists is true. // // The Value and Exists parameters are incompatible with AttributeValueList // and ComparisonOperator. Note that if you use both sets of parameters at once, // DynamoDB will return a ValidationException exception. // - // This parameter does not support attributes of type List or Map. + // This parameter does not support attributes of type List or Map. Expected map[string]*ExpectedAttributeValue `type:"map"` // One or more substitution tokens for attribute names in an expression. The @@ -5750,25 +6632,25 @@ type UpdateItemInput struct { // Use the # character in an expression to dereference an attribute name. // For example, consider the following attribute name: // - // Percentile + // Percentile // - // The name of this attribute conflicts with a reserved word, so it cannot + // The name of this attribute conflicts with a reserved word, so it cannot // be used directly in an expression. (For the complete list of reserved words, // see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) // in the Amazon DynamoDB Developer Guide). To work around this, you could specify // the following for ExpressionAttributeNames: // - // {"#P":"Percentile"} + // {"#P":"Percentile"} // - // You could then use this substitution in an expression, as in this example: + // You could then use this substitution in an expression, as in this example: // - // #P = :val + // #P = :val // - // Tokens that begin with the : character are expression attribute values, + // Tokens that begin with the : character are expression attribute values, // which are placeholders for the actual value at runtime. // - // For more information on expression attribute names, see Accessing Item Attributes - // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) + // For more information on expression attribute names, see Accessing Item + // Attributes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) // in the Amazon DynamoDB Developer Guide. ExpressionAttributeNames map[string]*string `type:"map"` @@ -5778,16 +6660,16 @@ type UpdateItemInput struct { // value. For example, suppose that you wanted to check whether the value of // the ProductStatus attribute was one of the following: // - // Available | Backordered | Discontinued + // Available | Backordered | Discontinued // // You would first need to specify ExpressionAttributeValues as follows: // - // { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} + // { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} // } // // You could then use these values in an expression, such as this: // - // ProductStatus IN (:avail, :back, :disc) + // ProductStatus IN (:avail, :back, :disc) // // For more information on expression attribute values, see Specifying Conditions // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) @@ -5801,12 +6683,14 @@ type UpdateItemInput struct { // with a simple primary key, you only need to provide a value for the partition // key. For a composite primary key, you must provide values for both the partition // key and the sort key. + // + // Key is a required field Key map[string]*AttributeValue `type:"map" required:"true"` // Determines the level of detail about provisioned throughput consumption that // is returned in the response: // - // INDEXES - The response includes the aggregate ConsumedCapacity for the + // INDEXES - The response includes the aggregate ConsumedCapacity for the // operation, together with ConsumedCapacity for each table and secondary index // that was accessed. // @@ -5814,10 +6698,10 @@ type UpdateItemInput struct { // any indexes at all. In these cases, specifying INDEXES will only return ConsumedCapacity // information for table(s). // - // TOTAL - The response includes only the aggregate ConsumedCapacity for the - // operation. + // TOTAL - The response includes only the aggregate ConsumedCapacity for + // the operation. // - // NONE - No ConsumedCapacity details are included in the response. + // NONE - No ConsumedCapacity details are included in the response. ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` // Determines whether item collection metrics are returned. If set to SIZE, @@ -5830,17 +6714,17 @@ type UpdateItemInput struct { // either before or after they were updated. For UpdateItem, the valid values // are: // - // NONE - If ReturnValues is not specified, or if its value is NONE, then + // NONE - If ReturnValues is not specified, or if its value is NONE, then // nothing is returned. (This setting is the default for ReturnValues.) // - // ALL_OLD - If UpdateItem overwrote an attribute name-value pair, then the - // content of the old item is returned. + // ALL_OLD - If UpdateItem overwrote an attribute name-value pair, then + // the content of the old item is returned. // - // UPDATED_OLD - The old versions of only the updated attributes are returned. + // UPDATED_OLD - The old versions of only the updated attributes are returned. // - // ALL_NEW - All of the attributes of the new version of the item are returned. + // ALL_NEW - All of the attributes of the new version of the item are returned. // - // UPDATED_NEW - The new versions of only the updated attributes are returned. + // UPDATED_NEW - The new versions of only the updated attributes are returned. // // There is no additional cost associated with requesting a return value // aside from the small network and processing overhead of receiving a larger @@ -5850,6 +6734,8 @@ type UpdateItemInput struct { ReturnValues *string `type:"string" enum:"ReturnValue"` // The name of the table containing the item to update. + // + // TableName is a required field TableName *string `min:"3" type:"string" required:"true"` // An expression that defines one or more attributes to be updated, the action @@ -5857,27 +6743,27 @@ type UpdateItemInput struct { // // The following action values are available for UpdateExpression. // - // SET - Adds one or more attributes and values to an item. If any of these + // SET - Adds one or more attributes and values to an item. If any of these // attribute already exist, they are replaced by the new values. You can also // use SET to add or subtract from an attribute that is of type Number. For // example: SET myNum = myNum + :val // - // SET supports the following functions: + // SET supports the following functions: // - // if_not_exists (path, operand) - if the item does not contain an attribute + // if_not_exists (path, operand) - if the item does not contain an attribute // at the specified path, then if_not_exists evaluates to operand; otherwise, // it evaluates to path. You can use this function to avoid overwriting an attribute // that may already be present in the item. // - // list_append (operand, operand) - evaluates to a list with a new element + // list_append (operand, operand) - evaluates to a list with a new element // added to it. You can append the new element to the start or the end of the // list by reversing the order of the operands. // - // These function names are case-sensitive. + // These function names are case-sensitive. // - // REMOVE - Removes one or more attributes from an item. + // REMOVE - Removes one or more attributes from an item. // - // ADD - Adds the specified value to the item, if the attribute does not + // ADD - Adds the specified value to the item, if the attribute does not // already exist. If the attribute does exist, then the behavior of ADD depends // on the data type of the attribute: // @@ -5905,17 +6791,17 @@ type UpdateItemInput struct { // Both sets must have the same primitive data type. For example, if the existing // data type is a set of strings, the Value must also be a set of strings. // - // The ADD action only supports Number and set data types. In addition, ADD - // can only be used on top-level attributes, not nested attributes. + // The ADD action only supports Number and set data types. In addition, + // ADD can only be used on top-level attributes, not nested attributes. // - // DELETE - Deletes an element from a set. + // DELETE - Deletes an element from a set. // // If a set of values is specified, then those values are subtracted from the // old set. For example, if the attribute value was the set [a,b,c] and the // DELETE action specifies [a,c], then the final attribute value is [b]. Specifying // an empty set is an error. // - // The DELETE action only supports set data types. In addition, DELETE can + // The DELETE action only supports set data types. In addition, DELETE can // only be used on top-level attributes, not nested attributes. // // You can have many actions in a single expression, such as the following: @@ -5925,7 +6811,7 @@ type UpdateItemInput struct { // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.Modifying.html) // in the Amazon DynamoDB Developer Guide. // - // UpdateExpression replaces the legacy AttributeUpdates parameter. + // UpdateExpression replaces the legacy AttributeUpdates parameter. UpdateExpression *string `type:"string"` } @@ -6004,14 +6890,14 @@ type UpdateTableInput struct { // An array of one or more global secondary indexes for the table. For each // index in the array, you can request one action: // - // Create - add a new global secondary index to the table. + // Create - add a new global secondary index to the table. // - // Update - modify the provisioned throughput settings of an existing global + // Update - modify the provisioned throughput settings of an existing global // secondary index. // - // Delete - remove a global secondary index from the table. + // Delete - remove a global secondary index from the table. // - // For more information, see Managing Global Secondary Indexes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.OnlineOps.html) + // For more information, see Managing Global Secondary Indexes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.OnlineOps.html) // in the Amazon DynamoDB Developer Guide. GlobalSecondaryIndexUpdates []*GlobalSecondaryIndexUpdate `type:"list"` @@ -6031,6 +6917,8 @@ type UpdateTableInput struct { StreamSpecification *StreamSpecification `type:"structure"` // The name of the table to be updated. + // + // TableName is a required field TableName *string `min:"3" type:"string" required:"true"` } @@ -6128,81 +7016,102 @@ func (s WriteRequest) GoString() string { } const ( - // @enum AttributeAction + // AttributeActionAdd is a AttributeAction enum value AttributeActionAdd = "ADD" - // @enum AttributeAction + + // AttributeActionPut is a AttributeAction enum value AttributeActionPut = "PUT" - // @enum AttributeAction + + // AttributeActionDelete is a AttributeAction enum value AttributeActionDelete = "DELETE" ) const ( - // @enum ComparisonOperator + // ComparisonOperatorEq is a ComparisonOperator enum value ComparisonOperatorEq = "EQ" - // @enum ComparisonOperator + + // ComparisonOperatorNe is a ComparisonOperator enum value ComparisonOperatorNe = "NE" - // @enum ComparisonOperator + + // ComparisonOperatorIn is a ComparisonOperator enum value ComparisonOperatorIn = "IN" - // @enum ComparisonOperator + + // ComparisonOperatorLe is a ComparisonOperator enum value ComparisonOperatorLe = "LE" - // @enum ComparisonOperator + + // ComparisonOperatorLt is a ComparisonOperator enum value ComparisonOperatorLt = "LT" - // @enum ComparisonOperator + + // ComparisonOperatorGe is a ComparisonOperator enum value ComparisonOperatorGe = "GE" - // @enum ComparisonOperator + + // ComparisonOperatorGt is a ComparisonOperator enum value ComparisonOperatorGt = "GT" - // @enum ComparisonOperator + + // ComparisonOperatorBetween is a ComparisonOperator enum value ComparisonOperatorBetween = "BETWEEN" - // @enum ComparisonOperator + + // ComparisonOperatorNotNull is a ComparisonOperator enum value ComparisonOperatorNotNull = "NOT_NULL" - // @enum ComparisonOperator + + // ComparisonOperatorNull is a ComparisonOperator enum value ComparisonOperatorNull = "NULL" - // @enum ComparisonOperator + + // ComparisonOperatorContains is a ComparisonOperator enum value ComparisonOperatorContains = "CONTAINS" - // @enum ComparisonOperator + + // ComparisonOperatorNotContains is a ComparisonOperator enum value ComparisonOperatorNotContains = "NOT_CONTAINS" - // @enum ComparisonOperator + + // ComparisonOperatorBeginsWith is a ComparisonOperator enum value ComparisonOperatorBeginsWith = "BEGINS_WITH" ) const ( - // @enum ConditionalOperator + // ConditionalOperatorAnd is a ConditionalOperator enum value ConditionalOperatorAnd = "AND" - // @enum ConditionalOperator + + // ConditionalOperatorOr is a ConditionalOperator enum value ConditionalOperatorOr = "OR" ) const ( - // @enum IndexStatus + // IndexStatusCreating is a IndexStatus enum value IndexStatusCreating = "CREATING" - // @enum IndexStatus + + // IndexStatusUpdating is a IndexStatus enum value IndexStatusUpdating = "UPDATING" - // @enum IndexStatus + + // IndexStatusDeleting is a IndexStatus enum value IndexStatusDeleting = "DELETING" - // @enum IndexStatus + + // IndexStatusActive is a IndexStatus enum value IndexStatusActive = "ACTIVE" ) const ( - // @enum KeyType + // KeyTypeHash is a KeyType enum value KeyTypeHash = "HASH" - // @enum KeyType + + // KeyTypeRange is a KeyType enum value KeyTypeRange = "RANGE" ) const ( - // @enum ProjectionType + // ProjectionTypeAll is a ProjectionType enum value ProjectionTypeAll = "ALL" - // @enum ProjectionType + + // ProjectionTypeKeysOnly is a ProjectionType enum value ProjectionTypeKeysOnly = "KEYS_ONLY" - // @enum ProjectionType + + // ProjectionTypeInclude is a ProjectionType enum value ProjectionTypeInclude = "INCLUDE" ) // Determines the level of detail about provisioned throughput consumption that // is returned in the response: // -// INDEXES - The response includes the aggregate ConsumedCapacity for the +// INDEXES - The response includes the aggregate ConsumedCapacity for the // operation, together with ConsumedCapacity for each table and secondary index // that was accessed. // @@ -6210,77 +7119,95 @@ const ( // any indexes at all. In these cases, specifying INDEXES will only return ConsumedCapacity // information for table(s). // -// TOTAL - The response includes only the aggregate ConsumedCapacity for the -// operation. +// TOTAL - The response includes only the aggregate ConsumedCapacity for +// the operation. // -// NONE - No ConsumedCapacity details are included in the response. +// NONE - No ConsumedCapacity details are included in the response. const ( - // @enum ReturnConsumedCapacity + // ReturnConsumedCapacityIndexes is a ReturnConsumedCapacity enum value ReturnConsumedCapacityIndexes = "INDEXES" - // @enum ReturnConsumedCapacity + + // ReturnConsumedCapacityTotal is a ReturnConsumedCapacity enum value ReturnConsumedCapacityTotal = "TOTAL" - // @enum ReturnConsumedCapacity + + // ReturnConsumedCapacityNone is a ReturnConsumedCapacity enum value ReturnConsumedCapacityNone = "NONE" ) const ( - // @enum ReturnItemCollectionMetrics + // ReturnItemCollectionMetricsSize is a ReturnItemCollectionMetrics enum value ReturnItemCollectionMetricsSize = "SIZE" - // @enum ReturnItemCollectionMetrics + + // ReturnItemCollectionMetricsNone is a ReturnItemCollectionMetrics enum value ReturnItemCollectionMetricsNone = "NONE" ) const ( - // @enum ReturnValue + // ReturnValueNone is a ReturnValue enum value ReturnValueNone = "NONE" - // @enum ReturnValue + + // ReturnValueAllOld is a ReturnValue enum value ReturnValueAllOld = "ALL_OLD" - // @enum ReturnValue + + // ReturnValueUpdatedOld is a ReturnValue enum value ReturnValueUpdatedOld = "UPDATED_OLD" - // @enum ReturnValue + + // ReturnValueAllNew is a ReturnValue enum value ReturnValueAllNew = "ALL_NEW" - // @enum ReturnValue + + // ReturnValueUpdatedNew is a ReturnValue enum value ReturnValueUpdatedNew = "UPDATED_NEW" ) const ( - // @enum ScalarAttributeType + // ScalarAttributeTypeS is a ScalarAttributeType enum value ScalarAttributeTypeS = "S" - // @enum ScalarAttributeType + + // ScalarAttributeTypeN is a ScalarAttributeType enum value ScalarAttributeTypeN = "N" - // @enum ScalarAttributeType + + // ScalarAttributeTypeB is a ScalarAttributeType enum value ScalarAttributeTypeB = "B" ) const ( - // @enum Select + // SelectAllAttributes is a Select enum value SelectAllAttributes = "ALL_ATTRIBUTES" - // @enum Select + + // SelectAllProjectedAttributes is a Select enum value SelectAllProjectedAttributes = "ALL_PROJECTED_ATTRIBUTES" - // @enum Select + + // SelectSpecificAttributes is a Select enum value SelectSpecificAttributes = "SPECIFIC_ATTRIBUTES" - // @enum Select + + // SelectCount is a Select enum value SelectCount = "COUNT" ) const ( - // @enum StreamViewType + // StreamViewTypeNewImage is a StreamViewType enum value StreamViewTypeNewImage = "NEW_IMAGE" - // @enum StreamViewType + + // StreamViewTypeOldImage is a StreamViewType enum value StreamViewTypeOldImage = "OLD_IMAGE" - // @enum StreamViewType + + // StreamViewTypeNewAndOldImages is a StreamViewType enum value StreamViewTypeNewAndOldImages = "NEW_AND_OLD_IMAGES" - // @enum StreamViewType + + // StreamViewTypeKeysOnly is a StreamViewType enum value StreamViewTypeKeysOnly = "KEYS_ONLY" ) const ( - // @enum TableStatus + // TableStatusCreating is a TableStatus enum value TableStatusCreating = "CREATING" - // @enum TableStatus + + // TableStatusUpdating is a TableStatus enum value TableStatusUpdating = "UPDATING" - // @enum TableStatus + + // TableStatusDeleting is a TableStatus enum value TableStatusDeleting = "DELETING" - // @enum TableStatus + + // TableStatusActive is a TableStatus enum value TableStatusActive = "ACTIVE" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/waiters.go index 4deeed7a5457..57e1264b7104 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/waiters.go @@ -6,6 +6,10 @@ import ( "github.com/aws/aws-sdk-go/private/waiter" ) +// WaitUntilTableExists uses the DynamoDB API operation +// DescribeTable to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *DynamoDB) WaitUntilTableExists(input *DescribeTableInput) error { waiterCfg := waiter.Config{ Operation: "DescribeTable", @@ -35,6 +39,10 @@ func (c *DynamoDB) WaitUntilTableExists(input *DescribeTableInput) error { return w.Wait() } +// WaitUntilTableNotExists uses the DynamoDB API operation +// DescribeTable to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *DynamoDB) WaitUntilTableNotExists(input *DescribeTableInput) error { waiterCfg := waiter.Config{ Operation: "DescribeTable", 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 2b968591b18b..d9aa717bda72 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 @@ -13,9 +13,92 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/ec2query" ) +const opAcceptReservedInstancesExchangeQuote = "AcceptReservedInstancesExchangeQuote" + +// AcceptReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the +// client's request for the AcceptReservedInstancesExchangeQuote operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AcceptReservedInstancesExchangeQuote for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AcceptReservedInstancesExchangeQuote method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AcceptReservedInstancesExchangeQuoteRequest method. +// req, resp := client.AcceptReservedInstancesExchangeQuoteRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *EC2) AcceptReservedInstancesExchangeQuoteRequest(input *AcceptReservedInstancesExchangeQuoteInput) (req *request.Request, output *AcceptReservedInstancesExchangeQuoteOutput) { + op := &request.Operation{ + Name: opAcceptReservedInstancesExchangeQuote, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AcceptReservedInstancesExchangeQuoteInput{} + } + + req = c.newRequest(op, input, output) + output = &AcceptReservedInstancesExchangeQuoteOutput{} + req.Data = output + return +} + +// AcceptReservedInstancesExchangeQuote API operation for Amazon Elastic Compute Cloud. +// +// Purchases Convertible Reserved Instance offerings described in the GetReservedInstancesExchangeQuote +// call. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation AcceptReservedInstancesExchangeQuote for usage and error information. +func (c *EC2) AcceptReservedInstancesExchangeQuote(input *AcceptReservedInstancesExchangeQuoteInput) (*AcceptReservedInstancesExchangeQuoteOutput, error) { + req, out := c.AcceptReservedInstancesExchangeQuoteRequest(input) + err := req.Send() + return out, err +} + const opAcceptVpcPeeringConnection = "AcceptVpcPeeringConnection" -// AcceptVpcPeeringConnectionRequest generates a request for the AcceptVpcPeeringConnection operation. +// AcceptVpcPeeringConnectionRequest generates a "aws/request.Request" representing the +// client's request for the AcceptVpcPeeringConnection operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AcceptVpcPeeringConnection for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AcceptVpcPeeringConnection method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AcceptVpcPeeringConnectionRequest method. +// req, resp := client.AcceptVpcPeeringConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) AcceptVpcPeeringConnectionRequest(input *AcceptVpcPeeringConnectionInput) (req *request.Request, output *AcceptVpcPeeringConnectionOutput) { op := &request.Operation{ Name: opAcceptVpcPeeringConnection, @@ -33,10 +116,19 @@ func (c *EC2) AcceptVpcPeeringConnectionRequest(input *AcceptVpcPeeringConnectio return } +// AcceptVpcPeeringConnection API operation for Amazon Elastic Compute Cloud. +// // Accept a VPC peering connection request. To accept a request, the VPC peering // connection must be in the pending-acceptance state, and you must be the owner // of the peer VPC. Use the DescribeVpcPeeringConnections request to view your // outstanding VPC peering connection requests. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation AcceptVpcPeeringConnection for usage and error information. func (c *EC2) AcceptVpcPeeringConnection(input *AcceptVpcPeeringConnectionInput) (*AcceptVpcPeeringConnectionOutput, error) { req, out := c.AcceptVpcPeeringConnectionRequest(input) err := req.Send() @@ -45,7 +137,30 @@ func (c *EC2) AcceptVpcPeeringConnection(input *AcceptVpcPeeringConnectionInput) const opAllocateAddress = "AllocateAddress" -// AllocateAddressRequest generates a request for the AllocateAddress operation. +// AllocateAddressRequest generates a "aws/request.Request" representing the +// client's request for the AllocateAddress operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AllocateAddress for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AllocateAddress method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AllocateAddressRequest method. +// req, resp := client.AllocateAddressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) AllocateAddressRequest(input *AllocateAddressInput) (req *request.Request, output *AllocateAddressOutput) { op := &request.Operation{ Name: opAllocateAddress, @@ -63,11 +178,20 @@ func (c *EC2) AllocateAddressRequest(input *AllocateAddressInput) (req *request. return } +// AllocateAddress API operation for Amazon Elastic Compute Cloud. +// // Acquires an Elastic IP address. // // An Elastic IP address is for use either in the EC2-Classic platform or in // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation AllocateAddress for usage and error information. func (c *EC2) AllocateAddress(input *AllocateAddressInput) (*AllocateAddressOutput, error) { req, out := c.AllocateAddressRequest(input) err := req.Send() @@ -76,7 +200,30 @@ func (c *EC2) AllocateAddress(input *AllocateAddressInput) (*AllocateAddressOutp const opAllocateHosts = "AllocateHosts" -// AllocateHostsRequest generates a request for the AllocateHosts operation. +// AllocateHostsRequest generates a "aws/request.Request" representing the +// client's request for the AllocateHosts operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AllocateHosts for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AllocateHosts method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AllocateHostsRequest method. +// req, resp := client.AllocateHostsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) AllocateHostsRequest(input *AllocateHostsInput) (req *request.Request, output *AllocateHostsOutput) { op := &request.Operation{ Name: opAllocateHosts, @@ -94,9 +241,18 @@ func (c *EC2) AllocateHostsRequest(input *AllocateHostsInput) (req *request.Requ return } -// Allocates a Dedicated host to your account. At minimum you need to specify +// AllocateHosts API operation for Amazon Elastic Compute Cloud. +// +// Allocates a Dedicated Host to your account. At minimum you need to specify // the instance size type, Availability Zone, and quantity of hosts you want // to allocate. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation AllocateHosts for usage and error information. func (c *EC2) AllocateHosts(input *AllocateHostsInput) (*AllocateHostsOutput, error) { req, out := c.AllocateHostsRequest(input) err := req.Send() @@ -105,7 +261,30 @@ func (c *EC2) AllocateHosts(input *AllocateHostsInput) (*AllocateHostsOutput, er const opAssignPrivateIpAddresses = "AssignPrivateIpAddresses" -// AssignPrivateIpAddressesRequest generates a request for the AssignPrivateIpAddresses operation. +// AssignPrivateIpAddressesRequest generates a "aws/request.Request" representing the +// client's request for the AssignPrivateIpAddresses operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AssignPrivateIpAddresses for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AssignPrivateIpAddresses method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AssignPrivateIpAddressesRequest method. +// req, resp := client.AssignPrivateIpAddressesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) AssignPrivateIpAddressesRequest(input *AssignPrivateIpAddressesInput) (req *request.Request, output *AssignPrivateIpAddressesOutput) { op := &request.Operation{ Name: opAssignPrivateIpAddresses, @@ -125,6 +304,8 @@ func (c *EC2) AssignPrivateIpAddressesRequest(input *AssignPrivateIpAddressesInp return } +// AssignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud. +// // Assigns one or more secondary private IP addresses to the specified network // interface. You can specify one or more specific secondary IP addresses, or // you can specify the number of secondary IP addresses to be automatically @@ -136,6 +317,13 @@ func (c *EC2) AssignPrivateIpAddressesRequest(input *AssignPrivateIpAddressesInp // in the Amazon Elastic Compute Cloud User Guide. // // AssignPrivateIpAddresses is available only in EC2-VPC. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation AssignPrivateIpAddresses for usage and error information. func (c *EC2) AssignPrivateIpAddresses(input *AssignPrivateIpAddressesInput) (*AssignPrivateIpAddressesOutput, error) { req, out := c.AssignPrivateIpAddressesRequest(input) err := req.Send() @@ -144,7 +332,30 @@ func (c *EC2) AssignPrivateIpAddresses(input *AssignPrivateIpAddressesInput) (*A const opAssociateAddress = "AssociateAddress" -// AssociateAddressRequest generates a request for the AssociateAddress operation. +// AssociateAddressRequest generates a "aws/request.Request" representing the +// client's request for the AssociateAddress operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AssociateAddress for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AssociateAddress method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AssociateAddressRequest method. +// req, resp := client.AssociateAddressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) AssociateAddressRequest(input *AssociateAddressInput) (req *request.Request, output *AssociateAddressOutput) { op := &request.Operation{ Name: opAssociateAddress, @@ -162,6 +373,8 @@ func (c *EC2) AssociateAddressRequest(input *AssociateAddressInput) (req *reques return } +// AssociateAddress API operation for Amazon Elastic Compute Cloud. +// // Associates an Elastic IP address with an instance or a network interface. // // An Elastic IP address is for use in either the EC2-Classic platform or in @@ -177,8 +390,17 @@ func (c *EC2) AssociateAddressRequest(input *AssociateAddressInput) (req *reques // Elastic IP address is already associated with a different instance or a network // interface, you get an error unless you allow reassociation. // -// This is an idempotent operation. If you perform the operation more than -// once, Amazon EC2 doesn't return an error. +// This is an idempotent operation. If you perform the operation more than +// once, Amazon EC2 doesn't return an error, and you may be charged for each +// time the Elastic IP address is remapped to the same instance. For more information, +// see the Elastic IP Addresses section of Amazon EC2 Pricing (http://aws.amazon.com/ec2/pricing/). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation AssociateAddress for usage and error information. func (c *EC2) AssociateAddress(input *AssociateAddressInput) (*AssociateAddressOutput, error) { req, out := c.AssociateAddressRequest(input) err := req.Send() @@ -187,7 +409,30 @@ func (c *EC2) AssociateAddress(input *AssociateAddressInput) (*AssociateAddressO const opAssociateDhcpOptions = "AssociateDhcpOptions" -// AssociateDhcpOptionsRequest generates a request for the AssociateDhcpOptions operation. +// AssociateDhcpOptionsRequest generates a "aws/request.Request" representing the +// client's request for the AssociateDhcpOptions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AssociateDhcpOptions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AssociateDhcpOptions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AssociateDhcpOptionsRequest method. +// req, resp := client.AssociateDhcpOptionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) AssociateDhcpOptionsRequest(input *AssociateDhcpOptionsInput) (req *request.Request, output *AssociateDhcpOptionsOutput) { op := &request.Operation{ Name: opAssociateDhcpOptions, @@ -207,6 +452,8 @@ func (c *EC2) AssociateDhcpOptionsRequest(input *AssociateDhcpOptionsInput) (req return } +// AssociateDhcpOptions API operation for Amazon Elastic Compute Cloud. +// // Associates a set of DHCP options (that you've previously created) with the // specified VPC, or associates no DHCP options with the VPC. // @@ -219,6 +466,13 @@ func (c *EC2) AssociateDhcpOptionsRequest(input *AssociateDhcpOptionsInput) (req // // For more information, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html) // in the Amazon Virtual Private Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation AssociateDhcpOptions for usage and error information. func (c *EC2) AssociateDhcpOptions(input *AssociateDhcpOptionsInput) (*AssociateDhcpOptionsOutput, error) { req, out := c.AssociateDhcpOptionsRequest(input) err := req.Send() @@ -227,7 +481,30 @@ func (c *EC2) AssociateDhcpOptions(input *AssociateDhcpOptionsInput) (*Associate const opAssociateRouteTable = "AssociateRouteTable" -// AssociateRouteTableRequest generates a request for the AssociateRouteTable operation. +// AssociateRouteTableRequest generates a "aws/request.Request" representing the +// client's request for the AssociateRouteTable operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AssociateRouteTable for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AssociateRouteTable method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AssociateRouteTableRequest method. +// req, resp := client.AssociateRouteTableRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) AssociateRouteTableRequest(input *AssociateRouteTableInput) (req *request.Request, output *AssociateRouteTableOutput) { op := &request.Operation{ Name: opAssociateRouteTable, @@ -245,6 +522,8 @@ func (c *EC2) AssociateRouteTableRequest(input *AssociateRouteTableInput) (req * return } +// AssociateRouteTable API operation for Amazon Elastic Compute Cloud. +// // Associates a subnet with a route table. The subnet and route table must be // in the same VPC. This association causes traffic originating from the subnet // to be routed according to the routes in the route table. The action returns @@ -253,6 +532,13 @@ func (c *EC2) AssociateRouteTableRequest(input *AssociateRouteTableInput) (req * // // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) // in the Amazon Virtual Private Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation AssociateRouteTable for usage and error information. func (c *EC2) AssociateRouteTable(input *AssociateRouteTableInput) (*AssociateRouteTableOutput, error) { req, out := c.AssociateRouteTableRequest(input) err := req.Send() @@ -261,7 +547,30 @@ func (c *EC2) AssociateRouteTable(input *AssociateRouteTableInput) (*AssociateRo const opAttachClassicLinkVpc = "AttachClassicLinkVpc" -// AttachClassicLinkVpcRequest generates a request for the AttachClassicLinkVpc operation. +// AttachClassicLinkVpcRequest generates a "aws/request.Request" representing the +// client's request for the AttachClassicLinkVpc operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AttachClassicLinkVpc for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AttachClassicLinkVpc method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AttachClassicLinkVpcRequest method. +// req, resp := client.AttachClassicLinkVpcRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) AttachClassicLinkVpcRequest(input *AttachClassicLinkVpcInput) (req *request.Request, output *AttachClassicLinkVpcOutput) { op := &request.Operation{ Name: opAttachClassicLinkVpc, @@ -279,6 +588,8 @@ func (c *EC2) AttachClassicLinkVpcRequest(input *AttachClassicLinkVpcInput) (req return } +// AttachClassicLinkVpc API operation for Amazon Elastic Compute Cloud. +// // Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or // more of the VPC's security groups. You cannot link an EC2-Classic instance // to more than one VPC at a time. You can only link an instance that's in the @@ -291,6 +602,13 @@ func (c *EC2) AttachClassicLinkVpcRequest(input *AttachClassicLinkVpcInput) (req // // Linking your instance to a VPC is sometimes referred to as attaching your // instance. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation AttachClassicLinkVpc for usage and error information. func (c *EC2) AttachClassicLinkVpc(input *AttachClassicLinkVpcInput) (*AttachClassicLinkVpcOutput, error) { req, out := c.AttachClassicLinkVpcRequest(input) err := req.Send() @@ -299,7 +617,30 @@ func (c *EC2) AttachClassicLinkVpc(input *AttachClassicLinkVpcInput) (*AttachCla const opAttachInternetGateway = "AttachInternetGateway" -// AttachInternetGatewayRequest generates a request for the AttachInternetGateway operation. +// AttachInternetGatewayRequest generates a "aws/request.Request" representing the +// client's request for the AttachInternetGateway operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AttachInternetGateway for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AttachInternetGateway method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AttachInternetGatewayRequest method. +// req, resp := client.AttachInternetGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) AttachInternetGatewayRequest(input *AttachInternetGatewayInput) (req *request.Request, output *AttachInternetGatewayOutput) { op := &request.Operation{ Name: opAttachInternetGateway, @@ -319,9 +660,18 @@ func (c *EC2) AttachInternetGatewayRequest(input *AttachInternetGatewayInput) (r return } +// AttachInternetGateway API operation for Amazon Elastic Compute Cloud. +// // Attaches an Internet gateway to a VPC, enabling connectivity between the // Internet and the VPC. For more information about your VPC and Internet gateway, // see the Amazon Virtual Private Cloud User Guide (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation AttachInternetGateway for usage and error information. func (c *EC2) AttachInternetGateway(input *AttachInternetGatewayInput) (*AttachInternetGatewayOutput, error) { req, out := c.AttachInternetGatewayRequest(input) err := req.Send() @@ -330,7 +680,30 @@ func (c *EC2) AttachInternetGateway(input *AttachInternetGatewayInput) (*AttachI const opAttachNetworkInterface = "AttachNetworkInterface" -// AttachNetworkInterfaceRequest generates a request for the AttachNetworkInterface operation. +// AttachNetworkInterfaceRequest generates a "aws/request.Request" representing the +// client's request for the AttachNetworkInterface operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AttachNetworkInterface for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AttachNetworkInterface method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AttachNetworkInterfaceRequest method. +// req, resp := client.AttachNetworkInterfaceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) AttachNetworkInterfaceRequest(input *AttachNetworkInterfaceInput) (req *request.Request, output *AttachNetworkInterfaceOutput) { op := &request.Operation{ Name: opAttachNetworkInterface, @@ -348,7 +721,16 @@ func (c *EC2) AttachNetworkInterfaceRequest(input *AttachNetworkInterfaceInput) return } +// AttachNetworkInterface API operation for Amazon Elastic Compute Cloud. +// // Attaches a network interface to an instance. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation AttachNetworkInterface for usage and error information. func (c *EC2) AttachNetworkInterface(input *AttachNetworkInterfaceInput) (*AttachNetworkInterfaceOutput, error) { req, out := c.AttachNetworkInterfaceRequest(input) err := req.Send() @@ -357,7 +739,30 @@ func (c *EC2) AttachNetworkInterface(input *AttachNetworkInterfaceInput) (*Attac const opAttachVolume = "AttachVolume" -// AttachVolumeRequest generates a request for the AttachVolume operation. +// AttachVolumeRequest generates a "aws/request.Request" representing the +// client's request for the AttachVolume operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AttachVolume for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AttachVolume method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AttachVolumeRequest method. +// req, resp := client.AttachVolumeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) AttachVolumeRequest(input *AttachVolumeInput) (req *request.Request, output *VolumeAttachment) { op := &request.Operation{ Name: opAttachVolume, @@ -375,6 +780,8 @@ func (c *EC2) AttachVolumeRequest(input *AttachVolumeInput) (req *request.Reques return } +// AttachVolume API operation for Amazon Elastic Compute Cloud. +// // Attaches an EBS volume to a running or stopped instance and exposes it to // the instance with the specified device name. // @@ -406,6 +813,13 @@ func (c *EC2) AttachVolumeRequest(input *AttachVolumeInput) (req *request.Reques // For more information about EBS volumes, see Attaching Amazon EBS Volumes // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation AttachVolume for usage and error information. func (c *EC2) AttachVolume(input *AttachVolumeInput) (*VolumeAttachment, error) { req, out := c.AttachVolumeRequest(input) err := req.Send() @@ -414,7 +828,30 @@ func (c *EC2) AttachVolume(input *AttachVolumeInput) (*VolumeAttachment, error) const opAttachVpnGateway = "AttachVpnGateway" -// AttachVpnGatewayRequest generates a request for the AttachVpnGateway operation. +// AttachVpnGatewayRequest generates a "aws/request.Request" representing the +// client's request for the AttachVpnGateway operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AttachVpnGateway for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AttachVpnGateway method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AttachVpnGatewayRequest method. +// req, resp := client.AttachVpnGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) AttachVpnGatewayRequest(input *AttachVpnGatewayInput) (req *request.Request, output *AttachVpnGatewayOutput) { op := &request.Operation{ Name: opAttachVpnGateway, @@ -432,9 +869,18 @@ func (c *EC2) AttachVpnGatewayRequest(input *AttachVpnGatewayInput) (req *reques return } +// AttachVpnGateway API operation for Amazon Elastic Compute Cloud. +// // Attaches a virtual private gateway to a VPC. For more information, see Adding // a Hardware Virtual Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) // in the Amazon Virtual Private Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation AttachVpnGateway for usage and error information. func (c *EC2) AttachVpnGateway(input *AttachVpnGatewayInput) (*AttachVpnGatewayOutput, error) { req, out := c.AttachVpnGatewayRequest(input) err := req.Send() @@ -443,7 +889,30 @@ func (c *EC2) AttachVpnGateway(input *AttachVpnGatewayInput) (*AttachVpnGatewayO const opAuthorizeSecurityGroupEgress = "AuthorizeSecurityGroupEgress" -// AuthorizeSecurityGroupEgressRequest generates a request for the AuthorizeSecurityGroupEgress operation. +// AuthorizeSecurityGroupEgressRequest generates a "aws/request.Request" representing the +// client's request for the AuthorizeSecurityGroupEgress operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AuthorizeSecurityGroupEgress for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AuthorizeSecurityGroupEgress method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AuthorizeSecurityGroupEgressRequest method. +// req, resp := client.AuthorizeSecurityGroupEgressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupEgressInput) (req *request.Request, output *AuthorizeSecurityGroupEgressOutput) { op := &request.Operation{ Name: opAuthorizeSecurityGroupEgress, @@ -463,6 +932,8 @@ func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupE return } +// AuthorizeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud. +// // [EC2-VPC only] Adds one or more egress rules to a security group for use // with a VPC. Specifically, this action permits instances to send traffic to // one or more destination CIDR IP address ranges, or to one or more destination @@ -482,6 +953,13 @@ func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupE // // Rule changes are propagated to affected instances as quickly as possible. // However, a small delay might occur. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation AuthorizeSecurityGroupEgress for usage and error information. func (c *EC2) AuthorizeSecurityGroupEgress(input *AuthorizeSecurityGroupEgressInput) (*AuthorizeSecurityGroupEgressOutput, error) { req, out := c.AuthorizeSecurityGroupEgressRequest(input) err := req.Send() @@ -490,7 +968,30 @@ func (c *EC2) AuthorizeSecurityGroupEgress(input *AuthorizeSecurityGroupEgressIn const opAuthorizeSecurityGroupIngress = "AuthorizeSecurityGroupIngress" -// AuthorizeSecurityGroupIngressRequest generates a request for the AuthorizeSecurityGroupIngress operation. +// AuthorizeSecurityGroupIngressRequest generates a "aws/request.Request" representing the +// client's request for the AuthorizeSecurityGroupIngress operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AuthorizeSecurityGroupIngress for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AuthorizeSecurityGroupIngress method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AuthorizeSecurityGroupIngressRequest method. +// req, resp := client.AuthorizeSecurityGroupIngressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroupIngressInput) (req *request.Request, output *AuthorizeSecurityGroupIngressOutput) { op := &request.Operation{ Name: opAuthorizeSecurityGroupIngress, @@ -510,6 +1011,8 @@ func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroup return } +// AuthorizeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud. +// // Adds one or more ingress rules to a security group. // // EC2-Classic: You can have up to 100 rules per group. @@ -529,6 +1032,13 @@ func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroup // to access a security group in your VPC, or gives one or more other security // groups (called the source groups) permission to access a security group for // your VPC. The security groups must all be for the same VPC. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation AuthorizeSecurityGroupIngress for usage and error information. func (c *EC2) AuthorizeSecurityGroupIngress(input *AuthorizeSecurityGroupIngressInput) (*AuthorizeSecurityGroupIngressOutput, error) { req, out := c.AuthorizeSecurityGroupIngressRequest(input) err := req.Send() @@ -537,7 +1047,30 @@ func (c *EC2) AuthorizeSecurityGroupIngress(input *AuthorizeSecurityGroupIngress const opBundleInstance = "BundleInstance" -// BundleInstanceRequest generates a request for the BundleInstance operation. +// BundleInstanceRequest generates a "aws/request.Request" representing the +// client's request for the BundleInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See BundleInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the BundleInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the BundleInstanceRequest method. +// req, resp := client.BundleInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) BundleInstanceRequest(input *BundleInstanceInput) (req *request.Request, output *BundleInstanceOutput) { op := &request.Operation{ Name: opBundleInstance, @@ -555,6 +1088,8 @@ func (c *EC2) BundleInstanceRequest(input *BundleInstanceInput) (req *request.Re return } +// BundleInstance API operation for Amazon Elastic Compute Cloud. +// // Bundles an Amazon instance store-backed Windows instance. // // During bundling, only the root device volume (C:\) is bundled. Data on other @@ -565,6 +1100,13 @@ func (c *EC2) BundleInstanceRequest(input *BundleInstanceInput) (req *request.Re // // For more information, see Creating an Instance Store-Backed Windows AMI // (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_InstanceStoreBacked_WinAMI.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. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation BundleInstance for usage and error information. func (c *EC2) BundleInstance(input *BundleInstanceInput) (*BundleInstanceOutput, error) { req, out := c.BundleInstanceRequest(input) err := req.Send() @@ -573,7 +1115,30 @@ func (c *EC2) BundleInstance(input *BundleInstanceInput) (*BundleInstanceOutput, const opCancelBundleTask = "CancelBundleTask" -// CancelBundleTaskRequest generates a request for the CancelBundleTask operation. +// CancelBundleTaskRequest generates a "aws/request.Request" representing the +// client's request for the CancelBundleTask operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CancelBundleTask for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CancelBundleTask method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CancelBundleTaskRequest method. +// req, resp := client.CancelBundleTaskRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CancelBundleTaskRequest(input *CancelBundleTaskInput) (req *request.Request, output *CancelBundleTaskOutput) { op := &request.Operation{ Name: opCancelBundleTask, @@ -591,7 +1156,16 @@ func (c *EC2) CancelBundleTaskRequest(input *CancelBundleTaskInput) (req *reques return } +// CancelBundleTask API operation for Amazon Elastic Compute Cloud. +// // Cancels a bundling operation for an instance store-backed Windows instance. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CancelBundleTask for usage and error information. func (c *EC2) CancelBundleTask(input *CancelBundleTaskInput) (*CancelBundleTaskOutput, error) { req, out := c.CancelBundleTaskRequest(input) err := req.Send() @@ -600,7 +1174,30 @@ func (c *EC2) CancelBundleTask(input *CancelBundleTaskInput) (*CancelBundleTaskO const opCancelConversionTask = "CancelConversionTask" -// CancelConversionTaskRequest generates a request for the CancelConversionTask operation. +// CancelConversionTaskRequest generates a "aws/request.Request" representing the +// client's request for the CancelConversionTask operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CancelConversionTask for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CancelConversionTask method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CancelConversionTaskRequest method. +// req, resp := client.CancelConversionTaskRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CancelConversionTaskRequest(input *CancelConversionTaskInput) (req *request.Request, output *CancelConversionTaskOutput) { op := &request.Operation{ Name: opCancelConversionTask, @@ -620,15 +1217,23 @@ func (c *EC2) CancelConversionTaskRequest(input *CancelConversionTaskInput) (req return } +// CancelConversionTask API operation for Amazon Elastic Compute Cloud. +// // Cancels an active conversion task. The task can be the import of an instance // or volume. The action removes all artifacts of the conversion, including // a partially uploaded volume or instance. If the conversion is complete or // is in the process of transferring the final disk image, the command fails // and returns an exception. // -// For more information, see Using the Command Line Tools to Import Your Virtual -// Machine to Amazon EC2 (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UploadingYourInstancesandVolumes.html) -// in the Amazon Elastic Compute Cloud User Guide. +// For more information, see Importing a Virtual Machine Using the Amazon EC2 +// CLI (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.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. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CancelConversionTask for usage and error information. func (c *EC2) CancelConversionTask(input *CancelConversionTaskInput) (*CancelConversionTaskOutput, error) { req, out := c.CancelConversionTaskRequest(input) err := req.Send() @@ -637,7 +1242,30 @@ func (c *EC2) CancelConversionTask(input *CancelConversionTaskInput) (*CancelCon const opCancelExportTask = "CancelExportTask" -// CancelExportTaskRequest generates a request for the CancelExportTask operation. +// CancelExportTaskRequest generates a "aws/request.Request" representing the +// client's request for the CancelExportTask operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CancelExportTask for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CancelExportTask method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CancelExportTaskRequest method. +// req, resp := client.CancelExportTaskRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CancelExportTaskRequest(input *CancelExportTaskInput) (req *request.Request, output *CancelExportTaskOutput) { op := &request.Operation{ Name: opCancelExportTask, @@ -657,10 +1285,19 @@ func (c *EC2) CancelExportTaskRequest(input *CancelExportTaskInput) (req *reques return } +// CancelExportTask API operation for Amazon Elastic Compute Cloud. +// // Cancels an active export task. The request removes all artifacts of the export, // including any partially-created Amazon S3 objects. If the export task is // complete or is in the process of transferring the final disk image, the command // fails and returns an error. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CancelExportTask for usage and error information. func (c *EC2) CancelExportTask(input *CancelExportTaskInput) (*CancelExportTaskOutput, error) { req, out := c.CancelExportTaskRequest(input) err := req.Send() @@ -669,7 +1306,30 @@ func (c *EC2) CancelExportTask(input *CancelExportTaskInput) (*CancelExportTaskO const opCancelImportTask = "CancelImportTask" -// CancelImportTaskRequest generates a request for the CancelImportTask operation. +// CancelImportTaskRequest generates a "aws/request.Request" representing the +// client's request for the CancelImportTask operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CancelImportTask for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CancelImportTask method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CancelImportTaskRequest method. +// req, resp := client.CancelImportTaskRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CancelImportTaskRequest(input *CancelImportTaskInput) (req *request.Request, output *CancelImportTaskOutput) { op := &request.Operation{ Name: opCancelImportTask, @@ -687,7 +1347,16 @@ func (c *EC2) CancelImportTaskRequest(input *CancelImportTaskInput) (req *reques return } +// CancelImportTask API operation for Amazon Elastic Compute Cloud. +// // Cancels an in-process import virtual machine or import snapshot task. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CancelImportTask for usage and error information. func (c *EC2) CancelImportTask(input *CancelImportTaskInput) (*CancelImportTaskOutput, error) { req, out := c.CancelImportTaskRequest(input) err := req.Send() @@ -696,7 +1365,30 @@ func (c *EC2) CancelImportTask(input *CancelImportTaskInput) (*CancelImportTaskO const opCancelReservedInstancesListing = "CancelReservedInstancesListing" -// CancelReservedInstancesListingRequest generates a request for the CancelReservedInstancesListing operation. +// CancelReservedInstancesListingRequest generates a "aws/request.Request" representing the +// client's request for the CancelReservedInstancesListing operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CancelReservedInstancesListing for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CancelReservedInstancesListing method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CancelReservedInstancesListingRequest method. +// req, resp := client.CancelReservedInstancesListingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CancelReservedInstancesListingRequest(input *CancelReservedInstancesListingInput) (req *request.Request, output *CancelReservedInstancesListingOutput) { op := &request.Operation{ Name: opCancelReservedInstancesListing, @@ -714,11 +1406,20 @@ func (c *EC2) CancelReservedInstancesListingRequest(input *CancelReservedInstanc return } +// CancelReservedInstancesListing API operation for Amazon Elastic Compute Cloud. +// // Cancels the specified Reserved Instance listing in the Reserved Instance // Marketplace. // // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CancelReservedInstancesListing for usage and error information. func (c *EC2) CancelReservedInstancesListing(input *CancelReservedInstancesListingInput) (*CancelReservedInstancesListingOutput, error) { req, out := c.CancelReservedInstancesListingRequest(input) err := req.Send() @@ -727,7 +1428,30 @@ func (c *EC2) CancelReservedInstancesListing(input *CancelReservedInstancesListi const opCancelSpotFleetRequests = "CancelSpotFleetRequests" -// CancelSpotFleetRequestsRequest generates a request for the CancelSpotFleetRequests operation. +// CancelSpotFleetRequestsRequest generates a "aws/request.Request" representing the +// client's request for the CancelSpotFleetRequests operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CancelSpotFleetRequests for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CancelSpotFleetRequests method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CancelSpotFleetRequestsRequest method. +// req, resp := client.CancelSpotFleetRequestsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CancelSpotFleetRequestsRequest(input *CancelSpotFleetRequestsInput) (req *request.Request, output *CancelSpotFleetRequestsOutput) { op := &request.Operation{ Name: opCancelSpotFleetRequests, @@ -745,6 +1469,8 @@ func (c *EC2) CancelSpotFleetRequestsRequest(input *CancelSpotFleetRequestsInput return } +// CancelSpotFleetRequests API operation for Amazon Elastic Compute Cloud. +// // Cancels the specified Spot fleet requests. // // After you cancel a Spot fleet request, the Spot fleet launches no new Spot @@ -753,6 +1479,13 @@ func (c *EC2) CancelSpotFleetRequestsRequest(input *CancelSpotFleetRequestsInput // enters the cancelled_terminating state. Otherwise, the Spot fleet request // enters the cancelled_running state and the instances continue to run until // they are interrupted or you terminate them manually. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CancelSpotFleetRequests for usage and error information. func (c *EC2) CancelSpotFleetRequests(input *CancelSpotFleetRequestsInput) (*CancelSpotFleetRequestsOutput, error) { req, out := c.CancelSpotFleetRequestsRequest(input) err := req.Send() @@ -761,7 +1494,30 @@ func (c *EC2) CancelSpotFleetRequests(input *CancelSpotFleetRequestsInput) (*Can const opCancelSpotInstanceRequests = "CancelSpotInstanceRequests" -// CancelSpotInstanceRequestsRequest generates a request for the CancelSpotInstanceRequests operation. +// CancelSpotInstanceRequestsRequest generates a "aws/request.Request" representing the +// client's request for the CancelSpotInstanceRequests operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CancelSpotInstanceRequests for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CancelSpotInstanceRequests method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CancelSpotInstanceRequestsRequest method. +// req, resp := client.CancelSpotInstanceRequestsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CancelSpotInstanceRequestsRequest(input *CancelSpotInstanceRequestsInput) (req *request.Request, output *CancelSpotInstanceRequestsOutput) { op := &request.Operation{ Name: opCancelSpotInstanceRequests, @@ -779,6 +1535,8 @@ func (c *EC2) CancelSpotInstanceRequestsRequest(input *CancelSpotInstanceRequest return } +// CancelSpotInstanceRequests API operation for Amazon Elastic Compute Cloud. +// // Cancels one or more Spot instance requests. Spot instances are instances // that Amazon EC2 starts on your behalf when the bid price that you specify // exceeds the current Spot price. Amazon EC2 periodically sets the Spot price @@ -788,6 +1546,13 @@ func (c *EC2) CancelSpotInstanceRequestsRequest(input *CancelSpotInstanceRequest // // Canceling a Spot instance request does not terminate running Spot instances // associated with the request. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CancelSpotInstanceRequests for usage and error information. func (c *EC2) CancelSpotInstanceRequests(input *CancelSpotInstanceRequestsInput) (*CancelSpotInstanceRequestsOutput, error) { req, out := c.CancelSpotInstanceRequestsRequest(input) err := req.Send() @@ -796,7 +1561,30 @@ func (c *EC2) CancelSpotInstanceRequests(input *CancelSpotInstanceRequestsInput) const opConfirmProductInstance = "ConfirmProductInstance" -// ConfirmProductInstanceRequest generates a request for the ConfirmProductInstance operation. +// ConfirmProductInstanceRequest generates a "aws/request.Request" representing the +// client's request for the ConfirmProductInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ConfirmProductInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ConfirmProductInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ConfirmProductInstanceRequest method. +// req, resp := client.ConfirmProductInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ConfirmProductInstanceRequest(input *ConfirmProductInstanceInput) (req *request.Request, output *ConfirmProductInstanceOutput) { op := &request.Operation{ Name: opConfirmProductInstance, @@ -814,10 +1602,19 @@ func (c *EC2) ConfirmProductInstanceRequest(input *ConfirmProductInstanceInput) return } +// ConfirmProductInstance API operation for Amazon Elastic Compute Cloud. +// // Determines whether a product code is associated with an instance. This action // can only be used by the owner of the product code. It is useful when a product // code owner needs to verify whether another user's instance is eligible for // support. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ConfirmProductInstance for usage and error information. func (c *EC2) ConfirmProductInstance(input *ConfirmProductInstanceInput) (*ConfirmProductInstanceOutput, error) { req, out := c.ConfirmProductInstanceRequest(input) err := req.Send() @@ -826,7 +1623,30 @@ func (c *EC2) ConfirmProductInstance(input *ConfirmProductInstanceInput) (*Confi const opCopyImage = "CopyImage" -// CopyImageRequest generates a request for the CopyImage operation. +// CopyImageRequest generates a "aws/request.Request" representing the +// client's request for the CopyImage operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CopyImage for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CopyImage method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CopyImageRequest method. +// req, resp := client.CopyImageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CopyImageRequest(input *CopyImageInput) (req *request.Request, output *CopyImageOutput) { op := &request.Operation{ Name: opCopyImage, @@ -844,12 +1664,21 @@ func (c *EC2) CopyImageRequest(input *CopyImageInput) (req *request.Request, out return } +// CopyImage API operation for Amazon Elastic Compute Cloud. +// // Initiates the copy of an AMI from the specified source region to the current // region. You specify the destination region by using its endpoint when making // the request. // // For more information, see Copying AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CopyImage for usage and error information. func (c *EC2) CopyImage(input *CopyImageInput) (*CopyImageOutput, error) { req, out := c.CopyImageRequest(input) err := req.Send() @@ -858,7 +1687,30 @@ func (c *EC2) CopyImage(input *CopyImageInput) (*CopyImageOutput, error) { const opCopySnapshot = "CopySnapshot" -// CopySnapshotRequest generates a request for the CopySnapshot operation. +// CopySnapshotRequest generates a "aws/request.Request" representing the +// client's request for the CopySnapshot operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CopySnapshot for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CopySnapshot method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CopySnapshotRequest method. +// req, resp := client.CopySnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) { op := &request.Operation{ Name: opCopySnapshot, @@ -876,6 +1728,8 @@ func (c *EC2) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Reques return } +// CopySnapshot API operation for Amazon Elastic Compute Cloud. +// // Copies a point-in-time snapshot of an EBS volume and stores it in Amazon // S3. You can copy the snapshot within the same region or from one region to // another. You can use the snapshot to create EBS volumes or Amazon Machine @@ -888,9 +1742,22 @@ func (c *EC2) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Reques // default AWS Key Management Service (AWS KMS) customer master key (CMK); however, // you can specify a non-default CMK with the KmsKeyId parameter. // -// For more information, see Copying an Amazon EBS Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html) +// To copy an encrypted snapshot that has been shared from another account, +// you must have permissions for the CMK used to encrypt the snapshot. +// +// Snapshots created by the CopySnapshot action have an arbitrary volume +// ID that should not be used for any purpose. +// +// For more information, see Copying an Amazon EBS Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html) // in the Amazon Elastic Compute Cloud User Guide. -func (c *EC2) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) { +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CopySnapshot for usage and error information. +func (c *EC2) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) { req, out := c.CopySnapshotRequest(input) err := req.Send() return out, err @@ -898,7 +1765,30 @@ func (c *EC2) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error const opCreateCustomerGateway = "CreateCustomerGateway" -// CreateCustomerGatewayRequest generates a request for the CreateCustomerGateway operation. +// CreateCustomerGatewayRequest generates a "aws/request.Request" representing the +// client's request for the CreateCustomerGateway operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateCustomerGateway for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateCustomerGateway method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateCustomerGatewayRequest method. +// req, resp := client.CreateCustomerGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CreateCustomerGatewayRequest(input *CreateCustomerGatewayInput) (req *request.Request, output *CreateCustomerGatewayOutput) { op := &request.Operation{ Name: opCreateCustomerGateway, @@ -916,6 +1806,8 @@ func (c *EC2) CreateCustomerGatewayRequest(input *CreateCustomerGatewayInput) (r return } +// CreateCustomerGateway API operation for Amazon Elastic Compute Cloud. +// // Provides information to AWS about your VPN customer gateway device. The customer // gateway is the appliance at your end of the VPN connection. (The device on // the AWS side of the VPN connection is the virtual private gateway.) You must @@ -941,6 +1833,13 @@ func (c *EC2) CreateCustomerGatewayRequest(input *CreateCustomerGatewayInput) (r // more than one time, the first request creates the customer gateway, and subsequent // requests return information about the existing customer gateway. The subsequent // requests do not create new customer gateway resources. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateCustomerGateway for usage and error information. func (c *EC2) CreateCustomerGateway(input *CreateCustomerGatewayInput) (*CreateCustomerGatewayOutput, error) { req, out := c.CreateCustomerGatewayRequest(input) err := req.Send() @@ -949,7 +1848,30 @@ func (c *EC2) CreateCustomerGateway(input *CreateCustomerGatewayInput) (*CreateC const opCreateDhcpOptions = "CreateDhcpOptions" -// CreateDhcpOptionsRequest generates a request for the CreateDhcpOptions operation. +// CreateDhcpOptionsRequest generates a "aws/request.Request" representing the +// client's request for the CreateDhcpOptions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateDhcpOptions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateDhcpOptions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateDhcpOptionsRequest method. +// req, resp := client.CreateDhcpOptionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CreateDhcpOptionsRequest(input *CreateDhcpOptionsInput) (req *request.Request, output *CreateDhcpOptionsOutput) { op := &request.Operation{ Name: opCreateDhcpOptions, @@ -967,43 +1889,55 @@ func (c *EC2) CreateDhcpOptionsRequest(input *CreateDhcpOptionsInput) (req *requ return } +// CreateDhcpOptions API operation for Amazon Elastic Compute Cloud. +// // Creates a set of DHCP options for your VPC. After creating the set, you must // associate it with the VPC, causing all existing and new instances that you // launch in the VPC to use this set of DHCP options. The following are the // individual DHCP options you can specify. For more information about the options, // see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt). // -// domain-name-servers - The IP addresses of up to four domain name servers, +// domain-name-servers - The IP addresses of up to four domain name servers, // or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS. // If specifying more than one domain name server, specify the IP addresses -// in a single parameter, separated by commas. +// in a single parameter, separated by commas. If you want your instance to +// receive a custom DNS hostname as specified in domain-name, you must set domain-name-servers +// to a custom DNS server. // -// domain-name - If you're using AmazonProvidedDNS in "us-east-1", specify +// domain-name - If you're using AmazonProvidedDNS in "us-east-1", specify // "ec2.internal". If you're using AmazonProvidedDNS in another region, specify // "region.compute.internal" (for example, "ap-northeast-1.compute.internal"). -// Otherwise, specify a domain name (for example, "MyCompany.com"). Important: -// Some Linux operating systems accept multiple domain names separated by spaces. -// However, Windows and other Linux operating systems treat the value as a single -// domain, which results in unexpected behavior. If your DHCP options set is -// associated with a VPC that has instances with multiple operating systems, -// specify only one domain name. -// -// ntp-servers - The IP addresses of up to four Network Time Protocol (NTP) +// Otherwise, specify a domain name (for example, "MyCompany.com"). This value +// is used to complete unqualified DNS hostnames. Important: Some Linux operating +// systems accept multiple domain names separated by spaces. However, Windows +// and other Linux operating systems treat the value as a single domain, which +// results in unexpected behavior. If your DHCP options set is associated with +// a VPC that has instances with multiple operating systems, specify only one +// domain name. +// +// ntp-servers - The IP addresses of up to four Network Time Protocol (NTP) // servers. // -// netbios-name-servers - The IP addresses of up to four NetBIOS name servers. +// netbios-name-servers - The IP addresses of up to four NetBIOS name servers. // -// netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend +// netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend // that you specify 2 (broadcast and multicast are not currently supported). // For more information about these node types, see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt). // -// Your VPC automatically starts out with a set of DHCP options that includes +// Your VPC automatically starts out with a set of DHCP options that includes // only a DNS server that we provide (AmazonProvidedDNS). If you create a set // of options, and if your VPC has an Internet gateway, make sure to set the // domain-name-servers option either to AmazonProvidedDNS or to a domain name // server of your choice. For more information about DHCP options, see DHCP // Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html) // in the Amazon Virtual Private Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateDhcpOptions for usage and error information. func (c *EC2) CreateDhcpOptions(input *CreateDhcpOptionsInput) (*CreateDhcpOptionsOutput, error) { req, out := c.CreateDhcpOptionsRequest(input) err := req.Send() @@ -1012,7 +1946,30 @@ func (c *EC2) CreateDhcpOptions(input *CreateDhcpOptionsInput) (*CreateDhcpOptio const opCreateFlowLogs = "CreateFlowLogs" -// CreateFlowLogsRequest generates a request for the CreateFlowLogs operation. +// CreateFlowLogsRequest generates a "aws/request.Request" representing the +// client's request for the CreateFlowLogs operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateFlowLogs for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateFlowLogs method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateFlowLogsRequest method. +// req, resp := client.CreateFlowLogsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CreateFlowLogsRequest(input *CreateFlowLogsInput) (req *request.Request, output *CreateFlowLogsOutput) { op := &request.Operation{ Name: opCreateFlowLogs, @@ -1030,6 +1987,8 @@ func (c *EC2) CreateFlowLogsRequest(input *CreateFlowLogsInput) (req *request.Re return } +// CreateFlowLogs API operation for Amazon Elastic Compute Cloud. +// // Creates one or more flow logs to capture IP traffic for a specific network // interface, subnet, or VPC. Flow logs are delivered to a specified log group // in Amazon CloudWatch Logs. If you specify a VPC or subnet in the request, @@ -1040,6 +1999,13 @@ func (c *EC2) CreateFlowLogsRequest(input *CreateFlowLogsInput) (req *request.Re // // In your request, you must also specify an IAM role that has permission to // publish logs to CloudWatch Logs. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateFlowLogs for usage and error information. func (c *EC2) CreateFlowLogs(input *CreateFlowLogsInput) (*CreateFlowLogsOutput, error) { req, out := c.CreateFlowLogsRequest(input) err := req.Send() @@ -1048,7 +2014,30 @@ func (c *EC2) CreateFlowLogs(input *CreateFlowLogsInput) (*CreateFlowLogsOutput, const opCreateImage = "CreateImage" -// CreateImageRequest generates a request for the CreateImage operation. +// CreateImageRequest generates a "aws/request.Request" representing the +// client's request for the CreateImage operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateImage for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateImage method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateImageRequest method. +// req, resp := client.CreateImageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CreateImageRequest(input *CreateImageInput) (req *request.Request, output *CreateImageOutput) { op := &request.Operation{ Name: opCreateImage, @@ -1066,6 +2055,8 @@ func (c *EC2) CreateImageRequest(input *CreateImageInput) (req *request.Request, return } +// CreateImage API operation for Amazon Elastic Compute Cloud. +// // Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that // is either running or stopped. // @@ -1076,6 +2067,13 @@ func (c *EC2) CreateImageRequest(input *CreateImageInput) (req *request.Request, // // For more information, see Creating Amazon EBS-Backed Linux AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateImage for usage and error information. func (c *EC2) CreateImage(input *CreateImageInput) (*CreateImageOutput, error) { req, out := c.CreateImageRequest(input) err := req.Send() @@ -1084,7 +2082,30 @@ func (c *EC2) CreateImage(input *CreateImageInput) (*CreateImageOutput, error) { const opCreateInstanceExportTask = "CreateInstanceExportTask" -// CreateInstanceExportTaskRequest generates a request for the CreateInstanceExportTask operation. +// CreateInstanceExportTaskRequest generates a "aws/request.Request" representing the +// client's request for the CreateInstanceExportTask operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateInstanceExportTask for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateInstanceExportTask method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateInstanceExportTaskRequest method. +// req, resp := client.CreateInstanceExportTaskRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CreateInstanceExportTaskRequest(input *CreateInstanceExportTaskInput) (req *request.Request, output *CreateInstanceExportTaskOutput) { op := &request.Operation{ Name: opCreateInstanceExportTask, @@ -1102,12 +2123,21 @@ func (c *EC2) CreateInstanceExportTaskRequest(input *CreateInstanceExportTaskInp return } +// CreateInstanceExportTask API operation for Amazon Elastic Compute Cloud. +// // Exports a running or stopped instance to an S3 bucket. // // For information about the supported operating systems, image formats, and // known limitations for the types of instances you can export, see Exporting -// EC2 Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ExportingEC2Instances.html) -// in the Amazon Elastic Compute Cloud User Guide. +// an Instance as a VM Using VM Import/Export (http://docs.aws.amazon.com/vm-import/latest/userguide/vmexport.html) +// in the VM Import/Export 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateInstanceExportTask for usage and error information. func (c *EC2) CreateInstanceExportTask(input *CreateInstanceExportTaskInput) (*CreateInstanceExportTaskOutput, error) { req, out := c.CreateInstanceExportTaskRequest(input) err := req.Send() @@ -1116,7 +2146,30 @@ func (c *EC2) CreateInstanceExportTask(input *CreateInstanceExportTaskInput) (*C const opCreateInternetGateway = "CreateInternetGateway" -// CreateInternetGatewayRequest generates a request for the CreateInternetGateway operation. +// CreateInternetGatewayRequest generates a "aws/request.Request" representing the +// client's request for the CreateInternetGateway operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateInternetGateway for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateInternetGateway method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateInternetGatewayRequest method. +// req, resp := client.CreateInternetGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CreateInternetGatewayRequest(input *CreateInternetGatewayInput) (req *request.Request, output *CreateInternetGatewayOutput) { op := &request.Operation{ Name: opCreateInternetGateway, @@ -1134,11 +2187,20 @@ func (c *EC2) CreateInternetGatewayRequest(input *CreateInternetGatewayInput) (r return } +// CreateInternetGateway API operation for Amazon Elastic Compute Cloud. +// // Creates an Internet gateway for use with a VPC. After creating the Internet // gateway, you attach it to a VPC using AttachInternetGateway. // // For more information about your VPC and Internet gateway, see the Amazon // Virtual Private Cloud User Guide (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateInternetGateway for usage and error information. func (c *EC2) CreateInternetGateway(input *CreateInternetGatewayInput) (*CreateInternetGatewayOutput, error) { req, out := c.CreateInternetGatewayRequest(input) err := req.Send() @@ -1147,7 +2209,30 @@ func (c *EC2) CreateInternetGateway(input *CreateInternetGatewayInput) (*CreateI const opCreateKeyPair = "CreateKeyPair" -// CreateKeyPairRequest generates a request for the CreateKeyPair operation. +// CreateKeyPairRequest generates a "aws/request.Request" representing the +// client's request for the CreateKeyPair operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateKeyPair for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateKeyPair method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateKeyPairRequest method. +// req, resp := client.CreateKeyPairRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Request, output *CreateKeyPairOutput) { op := &request.Operation{ Name: opCreateKeyPair, @@ -1165,6 +2250,8 @@ func (c *EC2) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Requ return } +// CreateKeyPair API operation for Amazon Elastic Compute Cloud. +// // Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores // the public key and displays the private key for you to save to a file. The // private key is returned as an unencrypted PEM encoded PKCS#8 private key. @@ -1177,6 +2264,13 @@ func (c *EC2) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Requ // // For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateKeyPair for usage and error information. func (c *EC2) CreateKeyPair(input *CreateKeyPairInput) (*CreateKeyPairOutput, error) { req, out := c.CreateKeyPairRequest(input) err := req.Send() @@ -1185,7 +2279,30 @@ func (c *EC2) CreateKeyPair(input *CreateKeyPairInput) (*CreateKeyPairOutput, er const opCreateNatGateway = "CreateNatGateway" -// CreateNatGatewayRequest generates a request for the CreateNatGateway operation. +// CreateNatGatewayRequest generates a "aws/request.Request" representing the +// client's request for the CreateNatGateway operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateNatGateway for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateNatGateway method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateNatGatewayRequest method. +// req, resp := client.CreateNatGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CreateNatGatewayRequest(input *CreateNatGatewayInput) (req *request.Request, output *CreateNatGatewayOutput) { op := &request.Operation{ Name: opCreateNatGateway, @@ -1203,12 +2320,21 @@ func (c *EC2) CreateNatGatewayRequest(input *CreateNatGatewayInput) (req *reques return } +// CreateNatGateway API operation for Amazon Elastic Compute Cloud. +// // Creates a NAT gateway in the specified subnet. A NAT gateway can be used // to enable instances in a private subnet to connect to the Internet. This // action creates a network interface in the specified subnet with a private // IP address from the IP address range of the subnet. For more information, // see NAT Gateways (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html) // in the Amazon Virtual Private Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateNatGateway for usage and error information. func (c *EC2) CreateNatGateway(input *CreateNatGatewayInput) (*CreateNatGatewayOutput, error) { req, out := c.CreateNatGatewayRequest(input) err := req.Send() @@ -1217,7 +2343,30 @@ func (c *EC2) CreateNatGateway(input *CreateNatGatewayInput) (*CreateNatGatewayO const opCreateNetworkAcl = "CreateNetworkAcl" -// CreateNetworkAclRequest generates a request for the CreateNetworkAcl operation. +// CreateNetworkAclRequest generates a "aws/request.Request" representing the +// client's request for the CreateNetworkAcl operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateNetworkAcl for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateNetworkAcl method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateNetworkAclRequest method. +// req, resp := client.CreateNetworkAclRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CreateNetworkAclRequest(input *CreateNetworkAclInput) (req *request.Request, output *CreateNetworkAclOutput) { op := &request.Operation{ Name: opCreateNetworkAcl, @@ -1235,11 +2384,20 @@ func (c *EC2) CreateNetworkAclRequest(input *CreateNetworkAclInput) (req *reques return } +// CreateNetworkAcl API operation for Amazon Elastic Compute Cloud. +// // Creates a network ACL in a VPC. Network ACLs provide an optional layer of // security (in addition to security groups) for the instances in your VPC. // // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html) // in the Amazon Virtual Private Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateNetworkAcl for usage and error information. func (c *EC2) CreateNetworkAcl(input *CreateNetworkAclInput) (*CreateNetworkAclOutput, error) { req, out := c.CreateNetworkAclRequest(input) err := req.Send() @@ -1248,7 +2406,30 @@ func (c *EC2) CreateNetworkAcl(input *CreateNetworkAclInput) (*CreateNetworkAclO const opCreateNetworkAclEntry = "CreateNetworkAclEntry" -// CreateNetworkAclEntryRequest generates a request for the CreateNetworkAclEntry operation. +// CreateNetworkAclEntryRequest generates a "aws/request.Request" representing the +// client's request for the CreateNetworkAclEntry operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateNetworkAclEntry for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateNetworkAclEntry method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateNetworkAclEntryRequest method. +// req, resp := client.CreateNetworkAclEntryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CreateNetworkAclEntryRequest(input *CreateNetworkAclEntryInput) (req *request.Request, output *CreateNetworkAclEntryOutput) { op := &request.Operation{ Name: opCreateNetworkAclEntry, @@ -1268,6 +2449,8 @@ func (c *EC2) CreateNetworkAclEntryRequest(input *CreateNetworkAclEntryInput) (r return } +// CreateNetworkAclEntry API operation for Amazon Elastic Compute Cloud. +// // Creates an entry (a rule) in a network ACL with the specified rule number. // Each network ACL has a set of numbered ingress rules and a separate set of // numbered egress rules. When determining whether a packet should be allowed @@ -1285,6 +2468,13 @@ func (c *EC2) CreateNetworkAclEntryRequest(input *CreateNetworkAclEntryInput) (r // // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html) // in the Amazon Virtual Private Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateNetworkAclEntry for usage and error information. func (c *EC2) CreateNetworkAclEntry(input *CreateNetworkAclEntryInput) (*CreateNetworkAclEntryOutput, error) { req, out := c.CreateNetworkAclEntryRequest(input) err := req.Send() @@ -1293,7 +2483,30 @@ func (c *EC2) CreateNetworkAclEntry(input *CreateNetworkAclEntryInput) (*CreateN const opCreateNetworkInterface = "CreateNetworkInterface" -// CreateNetworkInterfaceRequest generates a request for the CreateNetworkInterface operation. +// CreateNetworkInterfaceRequest generates a "aws/request.Request" representing the +// client's request for the CreateNetworkInterface operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateNetworkInterface for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateNetworkInterface method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateNetworkInterfaceRequest method. +// req, resp := client.CreateNetworkInterfaceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CreateNetworkInterfaceRequest(input *CreateNetworkInterfaceInput) (req *request.Request, output *CreateNetworkInterfaceOutput) { op := &request.Operation{ Name: opCreateNetworkInterface, @@ -1311,11 +2524,20 @@ func (c *EC2) CreateNetworkInterfaceRequest(input *CreateNetworkInterfaceInput) return } +// CreateNetworkInterface API operation for Amazon Elastic Compute Cloud. +// // Creates a network interface in the specified subnet. // // For more information about network interfaces, see Elastic Network Interfaces // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) in the // Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateNetworkInterface for usage and error information. func (c *EC2) CreateNetworkInterface(input *CreateNetworkInterfaceInput) (*CreateNetworkInterfaceOutput, error) { req, out := c.CreateNetworkInterfaceRequest(input) err := req.Send() @@ -1324,7 +2546,30 @@ func (c *EC2) CreateNetworkInterface(input *CreateNetworkInterfaceInput) (*Creat const opCreatePlacementGroup = "CreatePlacementGroup" -// CreatePlacementGroupRequest generates a request for the CreatePlacementGroup operation. +// CreatePlacementGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreatePlacementGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreatePlacementGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreatePlacementGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreatePlacementGroupRequest method. +// req, resp := client.CreatePlacementGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CreatePlacementGroupRequest(input *CreatePlacementGroupInput) (req *request.Request, output *CreatePlacementGroupOutput) { op := &request.Operation{ Name: opCreatePlacementGroup, @@ -1344,12 +2589,21 @@ func (c *EC2) CreatePlacementGroupRequest(input *CreatePlacementGroupInput) (req return } +// CreatePlacementGroup API operation for Amazon Elastic Compute Cloud. +// // Creates a placement group that you launch cluster instances into. You must // give the group a name that's unique within the scope of your account. // // For more information about placement groups and cluster instances, see Cluster // Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreatePlacementGroup for usage and error information. func (c *EC2) CreatePlacementGroup(input *CreatePlacementGroupInput) (*CreatePlacementGroupOutput, error) { req, out := c.CreatePlacementGroupRequest(input) err := req.Send() @@ -1358,7 +2612,30 @@ func (c *EC2) CreatePlacementGroup(input *CreatePlacementGroupInput) (*CreatePla const opCreateReservedInstancesListing = "CreateReservedInstancesListing" -// CreateReservedInstancesListingRequest generates a request for the CreateReservedInstancesListing operation. +// CreateReservedInstancesListingRequest generates a "aws/request.Request" representing the +// client's request for the CreateReservedInstancesListing operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateReservedInstancesListing for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateReservedInstancesListing method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateReservedInstancesListingRequest method. +// req, resp := client.CreateReservedInstancesListingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CreateReservedInstancesListingRequest(input *CreateReservedInstancesListingInput) (req *request.Request, output *CreateReservedInstancesListingOutput) { op := &request.Operation{ Name: opCreateReservedInstancesListing, @@ -1376,26 +2653,35 @@ func (c *EC2) CreateReservedInstancesListingRequest(input *CreateReservedInstanc return } -// Creates a listing for Amazon EC2 Reserved Instances to be sold in the Reserved -// Instance Marketplace. You can submit one Reserved Instance listing at a time. -// To get a list of your Reserved Instances, you can use the DescribeReservedInstances -// operation. +// CreateReservedInstancesListing API operation for Amazon Elastic Compute Cloud. // -// The Reserved Instance Marketplace matches sellers who want to resell Reserved -// Instance capacity that they no longer need with buyers who want to purchase -// additional capacity. Reserved Instances bought and sold through the Reserved -// Instance Marketplace work like any other Reserved Instances. +// Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in +// the Reserved Instance Marketplace. You can submit one Standard Reserved Instance +// listing at a time. To get a list of your Standard Reserved Instances, you +// can use the DescribeReservedInstances operation. // -// To sell your Reserved Instances, you must first register as a seller in -// the Reserved Instance Marketplace. After completing the registration process, +// The Reserved Instance Marketplace matches sellers who want to resell Standard +// Reserved Instance capacity that they no longer need with buyers who want +// to purchase additional capacity. Reserved Instances bought and sold through +// the Reserved Instance Marketplace work like any other Reserved Instances. +// +// To sell your Standard Reserved Instances, you must first register as a seller +// in the Reserved Instance Marketplace. After completing the registration process, // you can create a Reserved Instance Marketplace listing of some or all of -// your Reserved Instances, and specify the upfront price to receive for them. -// Your Reserved Instance listings then become available for purchase. To view -// the details of your Reserved Instance listing, you can use the DescribeReservedInstancesListings -// operation. +// your Standard Reserved Instances, and specify the upfront price to receive +// for them. Your Standard Reserved Instance listings then become available +// for purchase. To view the details of your Standard Reserved Instance listing, +// you can use the DescribeReservedInstancesListings operation. // // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateReservedInstancesListing for usage and error information. func (c *EC2) CreateReservedInstancesListing(input *CreateReservedInstancesListingInput) (*CreateReservedInstancesListingOutput, error) { req, out := c.CreateReservedInstancesListingRequest(input) err := req.Send() @@ -1404,7 +2690,30 @@ func (c *EC2) CreateReservedInstancesListing(input *CreateReservedInstancesListi const opCreateRoute = "CreateRoute" -// CreateRouteRequest generates a request for the CreateRoute operation. +// CreateRouteRequest generates a "aws/request.Request" representing the +// client's request for the CreateRoute operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateRoute for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateRoute method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateRouteRequest method. +// req, resp := client.CreateRouteRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, output *CreateRouteOutput) { op := &request.Operation{ Name: opCreateRoute, @@ -1422,6 +2731,8 @@ func (c *EC2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, return } +// CreateRoute API operation for Amazon Elastic Compute Cloud. +// // Creates a route in a route table within a VPC. // // You must specify one of the following targets: Internet gateway or virtual @@ -1432,9 +2743,9 @@ func (c *EC2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, // match. For example, let's say the traffic is destined for 192.0.2.3, and // the route table includes the following two routes: // -// 192.0.2.0/24 (goes to some target A) +// 192.0.2.0/24 (goes to some target A) // -// 192.0.2.0/28 (goes to some target B) +// 192.0.2.0/28 (goes to some target B) // // Both routes apply to the traffic destined for 192.0.2.3. However, the // second route in the list covers a smaller number of IP addresses and is therefore @@ -1442,6 +2753,13 @@ func (c *EC2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, // // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) // in the Amazon Virtual Private Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateRoute for usage and error information. func (c *EC2) CreateRoute(input *CreateRouteInput) (*CreateRouteOutput, error) { req, out := c.CreateRouteRequest(input) err := req.Send() @@ -1450,7 +2768,30 @@ func (c *EC2) CreateRoute(input *CreateRouteInput) (*CreateRouteOutput, error) { const opCreateRouteTable = "CreateRouteTable" -// CreateRouteTableRequest generates a request for the CreateRouteTable operation. +// CreateRouteTableRequest generates a "aws/request.Request" representing the +// client's request for the CreateRouteTable operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateRouteTable for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateRouteTable method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateRouteTableRequest method. +// req, resp := client.CreateRouteTableRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CreateRouteTableRequest(input *CreateRouteTableInput) (req *request.Request, output *CreateRouteTableOutput) { op := &request.Operation{ Name: opCreateRouteTable, @@ -1468,11 +2809,20 @@ func (c *EC2) CreateRouteTableRequest(input *CreateRouteTableInput) (req *reques return } +// CreateRouteTable API operation for Amazon Elastic Compute Cloud. +// // Creates a route table for the specified VPC. After you create a route table, // you can add routes and associate the table with a subnet. // // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) // in the Amazon Virtual Private Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateRouteTable for usage and error information. func (c *EC2) CreateRouteTable(input *CreateRouteTableInput) (*CreateRouteTableOutput, error) { req, out := c.CreateRouteTableRequest(input) err := req.Send() @@ -1481,7 +2831,30 @@ func (c *EC2) CreateRouteTable(input *CreateRouteTableInput) (*CreateRouteTableO const opCreateSecurityGroup = "CreateSecurityGroup" -// CreateSecurityGroupRequest generates a request for the CreateSecurityGroup operation. +// CreateSecurityGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateSecurityGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateSecurityGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateSecurityGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateSecurityGroupRequest method. +// req, resp := client.CreateSecurityGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CreateSecurityGroupRequest(input *CreateSecurityGroupInput) (req *request.Request, output *CreateSecurityGroupOutput) { op := &request.Operation{ Name: opCreateSecurityGroup, @@ -1499,6 +2872,8 @@ func (c *EC2) CreateSecurityGroupRequest(input *CreateSecurityGroupInput) (req * return } +// CreateSecurityGroup API operation for Amazon Elastic Compute Cloud. +// // Creates a security group. // // A security group is for use with instances either in the EC2-Classic platform @@ -1526,6 +2901,13 @@ func (c *EC2) CreateSecurityGroupRequest(input *CreateSecurityGroupInput) (req * // // You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress, // AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateSecurityGroup for usage and error information. func (c *EC2) CreateSecurityGroup(input *CreateSecurityGroupInput) (*CreateSecurityGroupOutput, error) { req, out := c.CreateSecurityGroupRequest(input) err := req.Send() @@ -1534,7 +2916,30 @@ func (c *EC2) CreateSecurityGroup(input *CreateSecurityGroupInput) (*CreateSecur const opCreateSnapshot = "CreateSnapshot" -// CreateSnapshotRequest generates a request for the CreateSnapshot operation. +// CreateSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the CreateSnapshot operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateSnapshot for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateSnapshot method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateSnapshotRequest method. +// req, resp := client.CreateSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *Snapshot) { op := &request.Operation{ Name: opCreateSnapshot, @@ -1552,6 +2957,8 @@ func (c *EC2) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Re return } +// CreateSnapshot API operation for Amazon Elastic Compute Cloud. +// // Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use // snapshots for backups, to make copies of EBS volumes, and to save data before // shutting down an instance. @@ -1580,6 +2987,13 @@ func (c *EC2) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Re // For more information, see Amazon Elastic Block Store (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html) // and Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateSnapshot for usage and error information. func (c *EC2) CreateSnapshot(input *CreateSnapshotInput) (*Snapshot, error) { req, out := c.CreateSnapshotRequest(input) err := req.Send() @@ -1588,7 +3002,30 @@ func (c *EC2) CreateSnapshot(input *CreateSnapshotInput) (*Snapshot, error) { const opCreateSpotDatafeedSubscription = "CreateSpotDatafeedSubscription" -// CreateSpotDatafeedSubscriptionRequest generates a request for the CreateSpotDatafeedSubscription operation. +// CreateSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the CreateSpotDatafeedSubscription operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateSpotDatafeedSubscription for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateSpotDatafeedSubscription method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateSpotDatafeedSubscriptionRequest method. +// req, resp := client.CreateSpotDatafeedSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CreateSpotDatafeedSubscriptionRequest(input *CreateSpotDatafeedSubscriptionInput) (req *request.Request, output *CreateSpotDatafeedSubscriptionOutput) { op := &request.Operation{ Name: opCreateSpotDatafeedSubscription, @@ -1606,10 +3043,19 @@ func (c *EC2) CreateSpotDatafeedSubscriptionRequest(input *CreateSpotDatafeedSub return } +// CreateSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud. +// // Creates a data feed for Spot instances, enabling you to view Spot instance // usage logs. You can create one data feed per AWS account. For more information, // see Spot Instance Data Feed (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateSpotDatafeedSubscription for usage and error information. func (c *EC2) CreateSpotDatafeedSubscription(input *CreateSpotDatafeedSubscriptionInput) (*CreateSpotDatafeedSubscriptionOutput, error) { req, out := c.CreateSpotDatafeedSubscriptionRequest(input) err := req.Send() @@ -1618,7 +3064,30 @@ func (c *EC2) CreateSpotDatafeedSubscription(input *CreateSpotDatafeedSubscripti const opCreateSubnet = "CreateSubnet" -// CreateSubnetRequest generates a request for the CreateSubnet operation. +// CreateSubnetRequest generates a "aws/request.Request" representing the +// client's request for the CreateSubnet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateSubnet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateSubnet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateSubnetRequest method. +// req, resp := client.CreateSubnetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Request, output *CreateSubnetOutput) { op := &request.Operation{ Name: opCreateSubnet, @@ -1636,6 +3105,8 @@ func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Reques return } +// CreateSubnet API operation for Amazon Elastic Compute Cloud. +// // Creates a subnet in an existing VPC. // // When you create each subnet, you provide the VPC ID and the CIDR block you @@ -1661,6 +3132,13 @@ func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Reques // // For more information about subnets, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html) // in the Amazon Virtual Private Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateSubnet for usage and error information. func (c *EC2) CreateSubnet(input *CreateSubnetInput) (*CreateSubnetOutput, error) { req, out := c.CreateSubnetRequest(input) err := req.Send() @@ -1669,7 +3147,30 @@ func (c *EC2) CreateSubnet(input *CreateSubnetInput) (*CreateSubnetOutput, error const opCreateTags = "CreateTags" -// CreateTagsRequest generates a request for the CreateTags operation. +// CreateTagsRequest generates a "aws/request.Request" representing the +// client's request for the CreateTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateTagsRequest method. +// req, resp := client.CreateTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) { op := &request.Operation{ Name: opCreateTags, @@ -1689,8 +3190,10 @@ func (c *EC2) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, o return } +// CreateTags API operation for Amazon Elastic Compute Cloud. +// // Adds or overwrites one or more tags for the specified Amazon EC2 resource -// or resources. Each resource can have a maximum of 10 tags. Each tag consists +// or resources. Each resource can have a maximum of 50 tags. Each tag consists // of a key and optional value. Tag keys must be unique per resource. // // For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) @@ -1698,6 +3201,13 @@ func (c *EC2) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, o // creating IAM policies that control users' access to resources based on tags, // see Supported Resource-Level Permissions for Amazon EC2 API Actions (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateTags for usage and error information. func (c *EC2) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) { req, out := c.CreateTagsRequest(input) err := req.Send() @@ -1706,7 +3216,30 @@ func (c *EC2) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) { const opCreateVolume = "CreateVolume" -// CreateVolumeRequest generates a request for the CreateVolume operation. +// CreateVolumeRequest generates a "aws/request.Request" representing the +// client's request for the CreateVolume operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateVolume for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateVolume method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateVolumeRequest method. +// req, resp := client.CreateVolumeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CreateVolumeRequest(input *CreateVolumeInput) (req *request.Request, output *Volume) { op := &request.Operation{ Name: opCreateVolume, @@ -1724,6 +3257,8 @@ func (c *EC2) CreateVolumeRequest(input *CreateVolumeInput) (req *request.Reques return } +// CreateVolume API operation for Amazon Elastic Compute Cloud. +// // Creates an EBS volume that can be attached to an instance in the same Availability // Zone. The volume is created in the regional endpoint that you send the HTTP // request to. For more information see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html). @@ -1740,6 +3275,13 @@ func (c *EC2) CreateVolumeRequest(input *CreateVolumeInput) (req *request.Reques // // For more information, see Creating or Restoring an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateVolume for usage and error information. func (c *EC2) CreateVolume(input *CreateVolumeInput) (*Volume, error) { req, out := c.CreateVolumeRequest(input) err := req.Send() @@ -1748,7 +3290,30 @@ func (c *EC2) CreateVolume(input *CreateVolumeInput) (*Volume, error) { const opCreateVpc = "CreateVpc" -// CreateVpcRequest generates a request for the CreateVpc operation. +// CreateVpcRequest generates a "aws/request.Request" representing the +// client's request for the CreateVpc operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateVpc for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateVpc method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateVpcRequest method. +// req, resp := client.CreateVpcRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CreateVpcRequest(input *CreateVpcInput) (req *request.Request, output *CreateVpcOutput) { op := &request.Operation{ Name: opCreateVpc, @@ -1766,6 +3331,8 @@ func (c *EC2) CreateVpcRequest(input *CreateVpcInput) (req *request.Request, out return } +// CreateVpc API operation for Amazon Elastic Compute Cloud. +// // Creates a VPC with the specified CIDR block. // // The smallest VPC you can create uses a /28 netmask (16 IP addresses), and @@ -1782,6 +3349,13 @@ func (c *EC2) CreateVpcRequest(input *CreateVpcInput) (req *request.Request, out // You can't change this value for the VPC after you create it. For more information, // see Dedicated Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/dedicated-instance.html.html) // in the Amazon Virtual Private Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateVpc for usage and error information. func (c *EC2) CreateVpc(input *CreateVpcInput) (*CreateVpcOutput, error) { req, out := c.CreateVpcRequest(input) err := req.Send() @@ -1790,7 +3364,30 @@ func (c *EC2) CreateVpc(input *CreateVpcInput) (*CreateVpcOutput, error) { const opCreateVpcEndpoint = "CreateVpcEndpoint" -// CreateVpcEndpointRequest generates a request for the CreateVpcEndpoint operation. +// CreateVpcEndpointRequest generates a "aws/request.Request" representing the +// client's request for the CreateVpcEndpoint operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateVpcEndpoint for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateVpcEndpoint method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateVpcEndpointRequest method. +// req, resp := client.CreateVpcEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CreateVpcEndpointRequest(input *CreateVpcEndpointInput) (req *request.Request, output *CreateVpcEndpointOutput) { op := &request.Operation{ Name: opCreateVpcEndpoint, @@ -1808,6 +3405,8 @@ func (c *EC2) CreateVpcEndpointRequest(input *CreateVpcEndpointInput) (req *requ return } +// CreateVpcEndpoint API operation for Amazon Elastic Compute Cloud. +// // Creates a VPC endpoint for a specified AWS service. An endpoint enables you // to create a private connection between your VPC and another AWS service in // your account. You can specify an endpoint policy to attach to the endpoint @@ -1815,6 +3414,13 @@ func (c *EC2) CreateVpcEndpointRequest(input *CreateVpcEndpointInput) (req *requ // the VPC route tables that use the endpoint. // // Currently, only endpoints to Amazon S3 are supported. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateVpcEndpoint for usage and error information. func (c *EC2) CreateVpcEndpoint(input *CreateVpcEndpointInput) (*CreateVpcEndpointOutput, error) { req, out := c.CreateVpcEndpointRequest(input) err := req.Send() @@ -1823,7 +3429,30 @@ func (c *EC2) CreateVpcEndpoint(input *CreateVpcEndpointInput) (*CreateVpcEndpoi const opCreateVpcPeeringConnection = "CreateVpcPeeringConnection" -// CreateVpcPeeringConnectionRequest generates a request for the CreateVpcPeeringConnection operation. +// CreateVpcPeeringConnectionRequest generates a "aws/request.Request" representing the +// client's request for the CreateVpcPeeringConnection operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateVpcPeeringConnection for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateVpcPeeringConnection method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateVpcPeeringConnectionRequest method. +// req, resp := client.CreateVpcPeeringConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectionInput) (req *request.Request, output *CreateVpcPeeringConnectionOutput) { op := &request.Operation{ Name: opCreateVpcPeeringConnection, @@ -1841,6 +3470,8 @@ func (c *EC2) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectio return } +// CreateVpcPeeringConnection API operation for Amazon Elastic Compute Cloud. +// // Requests a VPC peering connection between two VPCs: a requester VPC that // you own and a peer VPC with which to create the connection. The peer VPC // can belong to another AWS account. The requester VPC and peer VPC cannot @@ -1852,6 +3483,13 @@ func (c *EC2) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectio // // A CreateVpcPeeringConnection request between VPCs with overlapping CIDR // blocks results in the VPC peering connection having a status of failed. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateVpcPeeringConnection for usage and error information. func (c *EC2) CreateVpcPeeringConnection(input *CreateVpcPeeringConnectionInput) (*CreateVpcPeeringConnectionOutput, error) { req, out := c.CreateVpcPeeringConnectionRequest(input) err := req.Send() @@ -1860,7 +3498,30 @@ func (c *EC2) CreateVpcPeeringConnection(input *CreateVpcPeeringConnectionInput) const opCreateVpnConnection = "CreateVpnConnection" -// CreateVpnConnectionRequest generates a request for the CreateVpnConnection operation. +// CreateVpnConnectionRequest generates a "aws/request.Request" representing the +// client's request for the CreateVpnConnection operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateVpnConnection for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateVpnConnection method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateVpnConnectionRequest method. +// req, resp := client.CreateVpnConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CreateVpnConnectionRequest(input *CreateVpnConnectionInput) (req *request.Request, output *CreateVpnConnectionOutput) { op := &request.Operation{ Name: opCreateVpnConnection, @@ -1878,6 +3539,8 @@ func (c *EC2) CreateVpnConnectionRequest(input *CreateVpnConnectionInput) (req * return } +// CreateVpnConnection API operation for Amazon Elastic Compute Cloud. +// // Creates a VPN connection between an existing virtual private gateway and // a VPN customer gateway. The only supported connection type is ipsec.1. // @@ -1898,6 +3561,13 @@ func (c *EC2) CreateVpnConnectionRequest(input *CreateVpnConnectionInput) (req * // For more information about VPN connections, see Adding a Hardware Virtual // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) // in the Amazon Virtual Private Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateVpnConnection for usage and error information. func (c *EC2) CreateVpnConnection(input *CreateVpnConnectionInput) (*CreateVpnConnectionOutput, error) { req, out := c.CreateVpnConnectionRequest(input) err := req.Send() @@ -1906,7 +3576,30 @@ func (c *EC2) CreateVpnConnection(input *CreateVpnConnectionInput) (*CreateVpnCo const opCreateVpnConnectionRoute = "CreateVpnConnectionRoute" -// CreateVpnConnectionRouteRequest generates a request for the CreateVpnConnectionRoute operation. +// CreateVpnConnectionRouteRequest generates a "aws/request.Request" representing the +// client's request for the CreateVpnConnectionRoute operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateVpnConnectionRoute for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateVpnConnectionRoute method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateVpnConnectionRouteRequest method. +// req, resp := client.CreateVpnConnectionRouteRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CreateVpnConnectionRouteRequest(input *CreateVpnConnectionRouteInput) (req *request.Request, output *CreateVpnConnectionRouteOutput) { op := &request.Operation{ Name: opCreateVpnConnectionRoute, @@ -1926,6 +3619,8 @@ func (c *EC2) CreateVpnConnectionRouteRequest(input *CreateVpnConnectionRouteInp return } +// CreateVpnConnectionRoute API operation for Amazon Elastic Compute Cloud. +// // Creates a static route associated with a VPN connection between an existing // virtual private gateway and a VPN customer gateway. The static route allows // traffic to be routed from the virtual private gateway to the VPN customer @@ -1934,6 +3629,13 @@ func (c *EC2) CreateVpnConnectionRouteRequest(input *CreateVpnConnectionRouteInp // For more information about VPN connections, see Adding a Hardware Virtual // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) // in the Amazon Virtual Private Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateVpnConnectionRoute for usage and error information. func (c *EC2) CreateVpnConnectionRoute(input *CreateVpnConnectionRouteInput) (*CreateVpnConnectionRouteOutput, error) { req, out := c.CreateVpnConnectionRouteRequest(input) err := req.Send() @@ -1942,7 +3644,30 @@ func (c *EC2) CreateVpnConnectionRoute(input *CreateVpnConnectionRouteInput) (*C const opCreateVpnGateway = "CreateVpnGateway" -// CreateVpnGatewayRequest generates a request for the CreateVpnGateway operation. +// CreateVpnGatewayRequest generates a "aws/request.Request" representing the +// client's request for the CreateVpnGateway operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateVpnGateway for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateVpnGateway method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateVpnGatewayRequest method. +// req, resp := client.CreateVpnGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) CreateVpnGatewayRequest(input *CreateVpnGatewayInput) (req *request.Request, output *CreateVpnGatewayOutput) { op := &request.Operation{ Name: opCreateVpnGateway, @@ -1960,6 +3685,8 @@ func (c *EC2) CreateVpnGatewayRequest(input *CreateVpnGatewayInput) (req *reques return } +// CreateVpnGateway API operation for Amazon Elastic Compute Cloud. +// // Creates a virtual private gateway. A virtual private gateway is the endpoint // on the VPC side of your VPN connection. You can create a virtual private // gateway before creating the VPC itself. @@ -1967,6 +3694,13 @@ func (c *EC2) CreateVpnGatewayRequest(input *CreateVpnGatewayInput) (req *reques // For more information about virtual private gateways, see Adding a Hardware // Virtual Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) // in the Amazon Virtual Private Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateVpnGateway for usage and error information. func (c *EC2) CreateVpnGateway(input *CreateVpnGatewayInput) (*CreateVpnGatewayOutput, error) { req, out := c.CreateVpnGatewayRequest(input) err := req.Send() @@ -1975,12 +3709,35 @@ func (c *EC2) CreateVpnGateway(input *CreateVpnGatewayInput) (*CreateVpnGatewayO const opDeleteCustomerGateway = "DeleteCustomerGateway" -// DeleteCustomerGatewayRequest generates a request for the DeleteCustomerGateway operation. -func (c *EC2) DeleteCustomerGatewayRequest(input *DeleteCustomerGatewayInput) (req *request.Request, output *DeleteCustomerGatewayOutput) { - op := &request.Operation{ - Name: opDeleteCustomerGateway, - HTTPMethod: "POST", - HTTPPath: "/", +// DeleteCustomerGatewayRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCustomerGateway operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteCustomerGateway for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteCustomerGateway method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteCustomerGatewayRequest method. +// req, resp := client.DeleteCustomerGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *EC2) DeleteCustomerGatewayRequest(input *DeleteCustomerGatewayInput) (req *request.Request, output *DeleteCustomerGatewayOutput) { + op := &request.Operation{ + Name: opDeleteCustomerGateway, + HTTPMethod: "POST", + HTTPPath: "/", } if input == nil { @@ -1995,8 +3752,17 @@ func (c *EC2) DeleteCustomerGatewayRequest(input *DeleteCustomerGatewayInput) (r return } +// DeleteCustomerGateway API operation for Amazon Elastic Compute Cloud. +// // Deletes the specified customer gateway. You must delete the VPN connection // before you can delete the customer gateway. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteCustomerGateway for usage and error information. func (c *EC2) DeleteCustomerGateway(input *DeleteCustomerGatewayInput) (*DeleteCustomerGatewayOutput, error) { req, out := c.DeleteCustomerGatewayRequest(input) err := req.Send() @@ -2005,7 +3771,30 @@ func (c *EC2) DeleteCustomerGateway(input *DeleteCustomerGatewayInput) (*DeleteC const opDeleteDhcpOptions = "DeleteDhcpOptions" -// DeleteDhcpOptionsRequest generates a request for the DeleteDhcpOptions operation. +// DeleteDhcpOptionsRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDhcpOptions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteDhcpOptions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteDhcpOptions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteDhcpOptionsRequest method. +// req, resp := client.DeleteDhcpOptionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DeleteDhcpOptionsRequest(input *DeleteDhcpOptionsInput) (req *request.Request, output *DeleteDhcpOptionsOutput) { op := &request.Operation{ Name: opDeleteDhcpOptions, @@ -2025,10 +3814,19 @@ func (c *EC2) DeleteDhcpOptionsRequest(input *DeleteDhcpOptionsInput) (req *requ return } +// DeleteDhcpOptions API operation for Amazon Elastic Compute Cloud. +// // Deletes the specified set of DHCP options. You must disassociate the set // of DHCP options before you can delete it. You can disassociate the set of // DHCP options by associating either a new set of options or the default set // of options with the VPC. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteDhcpOptions for usage and error information. func (c *EC2) DeleteDhcpOptions(input *DeleteDhcpOptionsInput) (*DeleteDhcpOptionsOutput, error) { req, out := c.DeleteDhcpOptionsRequest(input) err := req.Send() @@ -2037,7 +3835,30 @@ func (c *EC2) DeleteDhcpOptions(input *DeleteDhcpOptionsInput) (*DeleteDhcpOptio const opDeleteFlowLogs = "DeleteFlowLogs" -// DeleteFlowLogsRequest generates a request for the DeleteFlowLogs operation. +// DeleteFlowLogsRequest generates a "aws/request.Request" representing the +// client's request for the DeleteFlowLogs operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteFlowLogs for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteFlowLogs method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteFlowLogsRequest method. +// req, resp := client.DeleteFlowLogsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DeleteFlowLogsRequest(input *DeleteFlowLogsInput) (req *request.Request, output *DeleteFlowLogsOutput) { op := &request.Operation{ Name: opDeleteFlowLogs, @@ -2055,7 +3876,16 @@ func (c *EC2) DeleteFlowLogsRequest(input *DeleteFlowLogsInput) (req *request.Re return } +// DeleteFlowLogs API operation for Amazon Elastic Compute Cloud. +// // Deletes one or more flow logs. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteFlowLogs for usage and error information. func (c *EC2) DeleteFlowLogs(input *DeleteFlowLogsInput) (*DeleteFlowLogsOutput, error) { req, out := c.DeleteFlowLogsRequest(input) err := req.Send() @@ -2064,7 +3894,30 @@ func (c *EC2) DeleteFlowLogs(input *DeleteFlowLogsInput) (*DeleteFlowLogsOutput, const opDeleteInternetGateway = "DeleteInternetGateway" -// DeleteInternetGatewayRequest generates a request for the DeleteInternetGateway operation. +// DeleteInternetGatewayRequest generates a "aws/request.Request" representing the +// client's request for the DeleteInternetGateway operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteInternetGateway for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteInternetGateway method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteInternetGatewayRequest method. +// req, resp := client.DeleteInternetGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DeleteInternetGatewayRequest(input *DeleteInternetGatewayInput) (req *request.Request, output *DeleteInternetGatewayOutput) { op := &request.Operation{ Name: opDeleteInternetGateway, @@ -2084,8 +3937,17 @@ func (c *EC2) DeleteInternetGatewayRequest(input *DeleteInternetGatewayInput) (r return } +// DeleteInternetGateway API operation for Amazon Elastic Compute Cloud. +// // Deletes the specified Internet gateway. You must detach the Internet gateway // from the VPC before you can delete it. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteInternetGateway for usage and error information. func (c *EC2) DeleteInternetGateway(input *DeleteInternetGatewayInput) (*DeleteInternetGatewayOutput, error) { req, out := c.DeleteInternetGatewayRequest(input) err := req.Send() @@ -2094,7 +3956,30 @@ func (c *EC2) DeleteInternetGateway(input *DeleteInternetGatewayInput) (*DeleteI const opDeleteKeyPair = "DeleteKeyPair" -// DeleteKeyPairRequest generates a request for the DeleteKeyPair operation. +// DeleteKeyPairRequest generates a "aws/request.Request" representing the +// client's request for the DeleteKeyPair operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteKeyPair for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteKeyPair method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteKeyPairRequest method. +// req, resp := client.DeleteKeyPairRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *request.Request, output *DeleteKeyPairOutput) { op := &request.Operation{ Name: opDeleteKeyPair, @@ -2114,7 +3999,16 @@ func (c *EC2) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *request.Requ return } +// DeleteKeyPair API operation for Amazon Elastic Compute Cloud. +// // Deletes the specified key pair, by removing the public key from Amazon EC2. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteKeyPair for usage and error information. func (c *EC2) DeleteKeyPair(input *DeleteKeyPairInput) (*DeleteKeyPairOutput, error) { req, out := c.DeleteKeyPairRequest(input) err := req.Send() @@ -2123,7 +4017,30 @@ func (c *EC2) DeleteKeyPair(input *DeleteKeyPairInput) (*DeleteKeyPairOutput, er const opDeleteNatGateway = "DeleteNatGateway" -// DeleteNatGatewayRequest generates a request for the DeleteNatGateway operation. +// DeleteNatGatewayRequest generates a "aws/request.Request" representing the +// client's request for the DeleteNatGateway operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteNatGateway for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteNatGateway method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteNatGatewayRequest method. +// req, resp := client.DeleteNatGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DeleteNatGatewayRequest(input *DeleteNatGatewayInput) (req *request.Request, output *DeleteNatGatewayOutput) { op := &request.Operation{ Name: opDeleteNatGateway, @@ -2141,9 +4058,18 @@ func (c *EC2) DeleteNatGatewayRequest(input *DeleteNatGatewayInput) (req *reques return } +// DeleteNatGateway API operation for Amazon Elastic Compute Cloud. +// // Deletes the specified NAT gateway. Deleting a NAT gateway disassociates its // Elastic IP address, but does not release the address from your account. Deleting // a NAT gateway does not delete any NAT gateway routes in your route tables. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteNatGateway for usage and error information. func (c *EC2) DeleteNatGateway(input *DeleteNatGatewayInput) (*DeleteNatGatewayOutput, error) { req, out := c.DeleteNatGatewayRequest(input) err := req.Send() @@ -2152,7 +4078,30 @@ func (c *EC2) DeleteNatGateway(input *DeleteNatGatewayInput) (*DeleteNatGatewayO const opDeleteNetworkAcl = "DeleteNetworkAcl" -// DeleteNetworkAclRequest generates a request for the DeleteNetworkAcl operation. +// DeleteNetworkAclRequest generates a "aws/request.Request" representing the +// client's request for the DeleteNetworkAcl operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteNetworkAcl for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteNetworkAcl method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteNetworkAclRequest method. +// req, resp := client.DeleteNetworkAclRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DeleteNetworkAclRequest(input *DeleteNetworkAclInput) (req *request.Request, output *DeleteNetworkAclOutput) { op := &request.Operation{ Name: opDeleteNetworkAcl, @@ -2172,8 +4121,17 @@ func (c *EC2) DeleteNetworkAclRequest(input *DeleteNetworkAclInput) (req *reques return } +// DeleteNetworkAcl API operation for Amazon Elastic Compute Cloud. +// // Deletes the specified network ACL. You can't delete the ACL if it's associated // with any subnets. You can't delete the default network ACL. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteNetworkAcl for usage and error information. func (c *EC2) DeleteNetworkAcl(input *DeleteNetworkAclInput) (*DeleteNetworkAclOutput, error) { req, out := c.DeleteNetworkAclRequest(input) err := req.Send() @@ -2182,7 +4140,30 @@ func (c *EC2) DeleteNetworkAcl(input *DeleteNetworkAclInput) (*DeleteNetworkAclO const opDeleteNetworkAclEntry = "DeleteNetworkAclEntry" -// DeleteNetworkAclEntryRequest generates a request for the DeleteNetworkAclEntry operation. +// DeleteNetworkAclEntryRequest generates a "aws/request.Request" representing the +// client's request for the DeleteNetworkAclEntry operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteNetworkAclEntry for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteNetworkAclEntry method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteNetworkAclEntryRequest method. +// req, resp := client.DeleteNetworkAclEntryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DeleteNetworkAclEntryRequest(input *DeleteNetworkAclEntryInput) (req *request.Request, output *DeleteNetworkAclEntryOutput) { op := &request.Operation{ Name: opDeleteNetworkAclEntry, @@ -2202,8 +4183,17 @@ func (c *EC2) DeleteNetworkAclEntryRequest(input *DeleteNetworkAclEntryInput) (r return } +// DeleteNetworkAclEntry API operation for Amazon Elastic Compute Cloud. +// // Deletes the specified ingress or egress entry (rule) from the specified network // ACL. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteNetworkAclEntry for usage and error information. func (c *EC2) DeleteNetworkAclEntry(input *DeleteNetworkAclEntryInput) (*DeleteNetworkAclEntryOutput, error) { req, out := c.DeleteNetworkAclEntryRequest(input) err := req.Send() @@ -2212,7 +4202,30 @@ func (c *EC2) DeleteNetworkAclEntry(input *DeleteNetworkAclEntryInput) (*DeleteN const opDeleteNetworkInterface = "DeleteNetworkInterface" -// DeleteNetworkInterfaceRequest generates a request for the DeleteNetworkInterface operation. +// DeleteNetworkInterfaceRequest generates a "aws/request.Request" representing the +// client's request for the DeleteNetworkInterface operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteNetworkInterface for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteNetworkInterface method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteNetworkInterfaceRequest method. +// req, resp := client.DeleteNetworkInterfaceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DeleteNetworkInterfaceRequest(input *DeleteNetworkInterfaceInput) (req *request.Request, output *DeleteNetworkInterfaceOutput) { op := &request.Operation{ Name: opDeleteNetworkInterface, @@ -2232,8 +4245,17 @@ func (c *EC2) DeleteNetworkInterfaceRequest(input *DeleteNetworkInterfaceInput) return } +// DeleteNetworkInterface API operation for Amazon Elastic Compute Cloud. +// // Deletes the specified network interface. You must detach the network interface // before you can delete it. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteNetworkInterface for usage and error information. func (c *EC2) DeleteNetworkInterface(input *DeleteNetworkInterfaceInput) (*DeleteNetworkInterfaceOutput, error) { req, out := c.DeleteNetworkInterfaceRequest(input) err := req.Send() @@ -2242,7 +4264,30 @@ func (c *EC2) DeleteNetworkInterface(input *DeleteNetworkInterfaceInput) (*Delet const opDeletePlacementGroup = "DeletePlacementGroup" -// DeletePlacementGroupRequest generates a request for the DeletePlacementGroup operation. +// DeletePlacementGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeletePlacementGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeletePlacementGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeletePlacementGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeletePlacementGroupRequest method. +// req, resp := client.DeletePlacementGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DeletePlacementGroupRequest(input *DeletePlacementGroupInput) (req *request.Request, output *DeletePlacementGroupOutput) { op := &request.Operation{ Name: opDeletePlacementGroup, @@ -2262,10 +4307,19 @@ func (c *EC2) DeletePlacementGroupRequest(input *DeletePlacementGroupInput) (req return } +// DeletePlacementGroup API operation for Amazon Elastic Compute Cloud. +// // Deletes the specified placement group. You must terminate all instances in // the placement group before you can delete the placement group. For more information // about placement groups and cluster instances, see Cluster Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeletePlacementGroup for usage and error information. func (c *EC2) DeletePlacementGroup(input *DeletePlacementGroupInput) (*DeletePlacementGroupOutput, error) { req, out := c.DeletePlacementGroupRequest(input) err := req.Send() @@ -2274,7 +4328,30 @@ func (c *EC2) DeletePlacementGroup(input *DeletePlacementGroupInput) (*DeletePla const opDeleteRoute = "DeleteRoute" -// DeleteRouteRequest generates a request for the DeleteRoute operation. +// DeleteRouteRequest generates a "aws/request.Request" representing the +// client's request for the DeleteRoute operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteRoute for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteRoute method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteRouteRequest method. +// req, resp := client.DeleteRouteRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DeleteRouteRequest(input *DeleteRouteInput) (req *request.Request, output *DeleteRouteOutput) { op := &request.Operation{ Name: opDeleteRoute, @@ -2294,7 +4371,16 @@ func (c *EC2) DeleteRouteRequest(input *DeleteRouteInput) (req *request.Request, return } +// DeleteRoute API operation for Amazon Elastic Compute Cloud. +// // Deletes the specified route from the specified route table. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteRoute for usage and error information. func (c *EC2) DeleteRoute(input *DeleteRouteInput) (*DeleteRouteOutput, error) { req, out := c.DeleteRouteRequest(input) err := req.Send() @@ -2303,7 +4389,30 @@ func (c *EC2) DeleteRoute(input *DeleteRouteInput) (*DeleteRouteOutput, error) { const opDeleteRouteTable = "DeleteRouteTable" -// DeleteRouteTableRequest generates a request for the DeleteRouteTable operation. +// DeleteRouteTableRequest generates a "aws/request.Request" representing the +// client's request for the DeleteRouteTable operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteRouteTable for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteRouteTable method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteRouteTableRequest method. +// req, resp := client.DeleteRouteTableRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DeleteRouteTableRequest(input *DeleteRouteTableInput) (req *request.Request, output *DeleteRouteTableOutput) { op := &request.Operation{ Name: opDeleteRouteTable, @@ -2323,9 +4432,18 @@ func (c *EC2) DeleteRouteTableRequest(input *DeleteRouteTableInput) (req *reques return } +// DeleteRouteTable API operation for Amazon Elastic Compute Cloud. +// // Deletes the specified route table. You must disassociate the route table // from any subnets before you can delete it. You can't delete the main route // table. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteRouteTable for usage and error information. func (c *EC2) DeleteRouteTable(input *DeleteRouteTableInput) (*DeleteRouteTableOutput, error) { req, out := c.DeleteRouteTableRequest(input) err := req.Send() @@ -2334,7 +4452,30 @@ func (c *EC2) DeleteRouteTable(input *DeleteRouteTableInput) (*DeleteRouteTableO const opDeleteSecurityGroup = "DeleteSecurityGroup" -// DeleteSecurityGroupRequest generates a request for the DeleteSecurityGroup operation. +// DeleteSecurityGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSecurityGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteSecurityGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteSecurityGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteSecurityGroupRequest method. +// req, resp := client.DeleteSecurityGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DeleteSecurityGroupRequest(input *DeleteSecurityGroupInput) (req *request.Request, output *DeleteSecurityGroupOutput) { op := &request.Operation{ Name: opDeleteSecurityGroup, @@ -2354,11 +4495,20 @@ func (c *EC2) DeleteSecurityGroupRequest(input *DeleteSecurityGroupInput) (req * return } +// DeleteSecurityGroup API operation for Amazon Elastic Compute Cloud. +// // Deletes a security group. // // If you attempt to delete a security group that is associated with an instance, // or is referenced by another security group, the operation fails with InvalidGroup.InUse // in EC2-Classic or DependencyViolation in EC2-VPC. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteSecurityGroup for usage and error information. func (c *EC2) DeleteSecurityGroup(input *DeleteSecurityGroupInput) (*DeleteSecurityGroupOutput, error) { req, out := c.DeleteSecurityGroupRequest(input) err := req.Send() @@ -2367,7 +4517,30 @@ func (c *EC2) DeleteSecurityGroup(input *DeleteSecurityGroupInput) (*DeleteSecur const opDeleteSnapshot = "DeleteSnapshot" -// DeleteSnapshotRequest generates a request for the DeleteSnapshot operation. +// DeleteSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSnapshot operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteSnapshot for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteSnapshot method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteSnapshotRequest method. +// req, resp := client.DeleteSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) { op := &request.Operation{ Name: opDeleteSnapshot, @@ -2387,6 +4560,8 @@ func (c *EC2) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Re return } +// DeleteSnapshot API operation for Amazon Elastic Compute Cloud. +// // Deletes the specified snapshot. // // When you make periodic snapshots of a volume, the snapshots are incremental, @@ -2402,6 +4577,13 @@ func (c *EC2) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Re // // For more information, see Deleting an Amazon EBS Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteSnapshot for usage and error information. func (c *EC2) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) { req, out := c.DeleteSnapshotRequest(input) err := req.Send() @@ -2410,7 +4592,30 @@ func (c *EC2) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, const opDeleteSpotDatafeedSubscription = "DeleteSpotDatafeedSubscription" -// DeleteSpotDatafeedSubscriptionRequest generates a request for the DeleteSpotDatafeedSubscription operation. +// DeleteSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSpotDatafeedSubscription operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteSpotDatafeedSubscription for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteSpotDatafeedSubscription method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteSpotDatafeedSubscriptionRequest method. +// req, resp := client.DeleteSpotDatafeedSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DeleteSpotDatafeedSubscriptionRequest(input *DeleteSpotDatafeedSubscriptionInput) (req *request.Request, output *DeleteSpotDatafeedSubscriptionOutput) { op := &request.Operation{ Name: opDeleteSpotDatafeedSubscription, @@ -2430,7 +4635,16 @@ func (c *EC2) DeleteSpotDatafeedSubscriptionRequest(input *DeleteSpotDatafeedSub return } +// DeleteSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud. +// // Deletes the data feed for Spot instances. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteSpotDatafeedSubscription for usage and error information. func (c *EC2) DeleteSpotDatafeedSubscription(input *DeleteSpotDatafeedSubscriptionInput) (*DeleteSpotDatafeedSubscriptionOutput, error) { req, out := c.DeleteSpotDatafeedSubscriptionRequest(input) err := req.Send() @@ -2439,7 +4653,30 @@ func (c *EC2) DeleteSpotDatafeedSubscription(input *DeleteSpotDatafeedSubscripti const opDeleteSubnet = "DeleteSubnet" -// DeleteSubnetRequest generates a request for the DeleteSubnet operation. +// DeleteSubnetRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSubnet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteSubnet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteSubnet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteSubnetRequest method. +// req, resp := client.DeleteSubnetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DeleteSubnetRequest(input *DeleteSubnetInput) (req *request.Request, output *DeleteSubnetOutput) { op := &request.Operation{ Name: opDeleteSubnet, @@ -2459,8 +4696,17 @@ func (c *EC2) DeleteSubnetRequest(input *DeleteSubnetInput) (req *request.Reques return } +// DeleteSubnet API operation for Amazon Elastic Compute Cloud. +// // Deletes the specified subnet. You must terminate all running instances in // the subnet before you can delete the subnet. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteSubnet for usage and error information. func (c *EC2) DeleteSubnet(input *DeleteSubnetInput) (*DeleteSubnetOutput, error) { req, out := c.DeleteSubnetRequest(input) err := req.Send() @@ -2469,7 +4715,30 @@ func (c *EC2) DeleteSubnet(input *DeleteSubnetInput) (*DeleteSubnetOutput, error const opDeleteTags = "DeleteTags" -// DeleteTagsRequest generates a request for the DeleteTags operation. +// DeleteTagsRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteTagsRequest method. +// req, resp := client.DeleteTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) { op := &request.Operation{ Name: opDeleteTags, @@ -2489,11 +4758,20 @@ func (c *EC2) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, o return } +// DeleteTags API operation for Amazon Elastic Compute Cloud. +// // Deletes the specified set of tags from the specified set of resources. This // call is designed to follow a DescribeTags request. // // For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteTags for usage and error information. func (c *EC2) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) { req, out := c.DeleteTagsRequest(input) err := req.Send() @@ -2502,7 +4780,30 @@ func (c *EC2) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) { const opDeleteVolume = "DeleteVolume" -// DeleteVolumeRequest generates a request for the DeleteVolume operation. +// DeleteVolumeRequest generates a "aws/request.Request" representing the +// client's request for the DeleteVolume operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteVolume for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteVolume method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteVolumeRequest method. +// req, resp := client.DeleteVolumeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DeleteVolumeRequest(input *DeleteVolumeInput) (req *request.Request, output *DeleteVolumeOutput) { op := &request.Operation{ Name: opDeleteVolume, @@ -2522,6 +4823,8 @@ func (c *EC2) DeleteVolumeRequest(input *DeleteVolumeInput) (req *request.Reques return } +// DeleteVolume API operation for Amazon Elastic Compute Cloud. +// // Deletes the specified EBS volume. The volume must be in the available state // (not attached to an instance). // @@ -2529,6 +4832,13 @@ func (c *EC2) DeleteVolumeRequest(input *DeleteVolumeInput) (req *request.Reques // // For more information, see Deleting an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-volume.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteVolume for usage and error information. func (c *EC2) DeleteVolume(input *DeleteVolumeInput) (*DeleteVolumeOutput, error) { req, out := c.DeleteVolumeRequest(input) err := req.Send() @@ -2537,7 +4847,30 @@ func (c *EC2) DeleteVolume(input *DeleteVolumeInput) (*DeleteVolumeOutput, error const opDeleteVpc = "DeleteVpc" -// DeleteVpcRequest generates a request for the DeleteVpc operation. +// DeleteVpcRequest generates a "aws/request.Request" representing the +// client's request for the DeleteVpc operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteVpc for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteVpc method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteVpcRequest method. +// req, resp := client.DeleteVpcRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DeleteVpcRequest(input *DeleteVpcInput) (req *request.Request, output *DeleteVpcOutput) { op := &request.Operation{ Name: opDeleteVpc, @@ -2557,11 +4890,20 @@ func (c *EC2) DeleteVpcRequest(input *DeleteVpcInput) (req *request.Request, out return } +// DeleteVpc API operation for Amazon Elastic Compute Cloud. +// // Deletes the specified VPC. You must detach or delete all gateways and resources // that are associated with the VPC before you can delete it. For example, you // must terminate all instances running in the VPC, delete all security groups // associated with the VPC (except the default one), delete all route tables // associated with the VPC (except the default one), and so on. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteVpc for usage and error information. func (c *EC2) DeleteVpc(input *DeleteVpcInput) (*DeleteVpcOutput, error) { req, out := c.DeleteVpcRequest(input) err := req.Send() @@ -2570,7 +4912,30 @@ func (c *EC2) DeleteVpc(input *DeleteVpcInput) (*DeleteVpcOutput, error) { const opDeleteVpcEndpoints = "DeleteVpcEndpoints" -// DeleteVpcEndpointsRequest generates a request for the DeleteVpcEndpoints operation. +// DeleteVpcEndpointsRequest generates a "aws/request.Request" representing the +// client's request for the DeleteVpcEndpoints operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteVpcEndpoints for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteVpcEndpoints method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteVpcEndpointsRequest method. +// req, resp := client.DeleteVpcEndpointsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DeleteVpcEndpointsRequest(input *DeleteVpcEndpointsInput) (req *request.Request, output *DeleteVpcEndpointsOutput) { op := &request.Operation{ Name: opDeleteVpcEndpoints, @@ -2588,8 +4953,17 @@ func (c *EC2) DeleteVpcEndpointsRequest(input *DeleteVpcEndpointsInput) (req *re return } +// DeleteVpcEndpoints API operation for Amazon Elastic Compute Cloud. +// // Deletes one or more specified VPC endpoints. Deleting the endpoint also deletes // the endpoint routes in the route tables that were associated with the 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 Elastic Compute Cloud's +// API operation DeleteVpcEndpoints for usage and error information. func (c *EC2) DeleteVpcEndpoints(input *DeleteVpcEndpointsInput) (*DeleteVpcEndpointsOutput, error) { req, out := c.DeleteVpcEndpointsRequest(input) err := req.Send() @@ -2598,7 +4972,30 @@ func (c *EC2) DeleteVpcEndpoints(input *DeleteVpcEndpointsInput) (*DeleteVpcEndp const opDeleteVpcPeeringConnection = "DeleteVpcPeeringConnection" -// DeleteVpcPeeringConnectionRequest generates a request for the DeleteVpcPeeringConnection operation. +// DeleteVpcPeeringConnectionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteVpcPeeringConnection operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteVpcPeeringConnection for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteVpcPeeringConnection method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteVpcPeeringConnectionRequest method. +// req, resp := client.DeleteVpcPeeringConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DeleteVpcPeeringConnectionRequest(input *DeleteVpcPeeringConnectionInput) (req *request.Request, output *DeleteVpcPeeringConnectionOutput) { op := &request.Operation{ Name: opDeleteVpcPeeringConnection, @@ -2616,10 +5013,19 @@ func (c *EC2) DeleteVpcPeeringConnectionRequest(input *DeleteVpcPeeringConnectio return } +// DeleteVpcPeeringConnection API operation for Amazon Elastic Compute Cloud. +// // Deletes a VPC peering connection. Either the owner of the requester VPC or // the owner of the peer VPC can delete the VPC peering connection if it's in // the active state. The owner of the requester VPC can delete a VPC peering // connection in the pending-acceptance state. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteVpcPeeringConnection for usage and error information. func (c *EC2) DeleteVpcPeeringConnection(input *DeleteVpcPeeringConnectionInput) (*DeleteVpcPeeringConnectionOutput, error) { req, out := c.DeleteVpcPeeringConnectionRequest(input) err := req.Send() @@ -2628,7 +5034,30 @@ func (c *EC2) DeleteVpcPeeringConnection(input *DeleteVpcPeeringConnectionInput) const opDeleteVpnConnection = "DeleteVpnConnection" -// DeleteVpnConnectionRequest generates a request for the DeleteVpnConnection operation. +// DeleteVpnConnectionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteVpnConnection operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteVpnConnection for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteVpnConnection method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteVpnConnectionRequest method. +// req, resp := client.DeleteVpnConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DeleteVpnConnectionRequest(input *DeleteVpnConnectionInput) (req *request.Request, output *DeleteVpnConnectionOutput) { op := &request.Operation{ Name: opDeleteVpnConnection, @@ -2648,6 +5077,8 @@ func (c *EC2) DeleteVpnConnectionRequest(input *DeleteVpnConnectionInput) (req * return } +// DeleteVpnConnection API operation for Amazon Elastic Compute Cloud. +// // Deletes the specified VPN connection. // // If you're deleting the VPC and its associated components, we recommend that @@ -2658,6 +5089,13 @@ func (c *EC2) DeleteVpnConnectionRequest(input *DeleteVpnConnectionInput) (req * // or virtual private gateway. If you create a new VPN connection, you must // reconfigure the customer gateway using the new configuration information // returned with the new VPN connection 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 Elastic Compute Cloud's +// API operation DeleteVpnConnection for usage and error information. func (c *EC2) DeleteVpnConnection(input *DeleteVpnConnectionInput) (*DeleteVpnConnectionOutput, error) { req, out := c.DeleteVpnConnectionRequest(input) err := req.Send() @@ -2666,7 +5104,30 @@ func (c *EC2) DeleteVpnConnection(input *DeleteVpnConnectionInput) (*DeleteVpnCo const opDeleteVpnConnectionRoute = "DeleteVpnConnectionRoute" -// DeleteVpnConnectionRouteRequest generates a request for the DeleteVpnConnectionRoute operation. +// DeleteVpnConnectionRouteRequest generates a "aws/request.Request" representing the +// client's request for the DeleteVpnConnectionRoute operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteVpnConnectionRoute for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteVpnConnectionRoute method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteVpnConnectionRouteRequest method. +// req, resp := client.DeleteVpnConnectionRouteRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DeleteVpnConnectionRouteRequest(input *DeleteVpnConnectionRouteInput) (req *request.Request, output *DeleteVpnConnectionRouteOutput) { op := &request.Operation{ Name: opDeleteVpnConnectionRoute, @@ -2686,10 +5147,19 @@ func (c *EC2) DeleteVpnConnectionRouteRequest(input *DeleteVpnConnectionRouteInp return } +// DeleteVpnConnectionRoute API operation for Amazon Elastic Compute Cloud. +// // Deletes the specified static route associated with a VPN connection between // an existing virtual private gateway and a VPN customer gateway. The static // route allows traffic to be routed from the virtual private gateway to the // VPN customer gateway. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteVpnConnectionRoute for usage and error information. func (c *EC2) DeleteVpnConnectionRoute(input *DeleteVpnConnectionRouteInput) (*DeleteVpnConnectionRouteOutput, error) { req, out := c.DeleteVpnConnectionRouteRequest(input) err := req.Send() @@ -2698,7 +5168,30 @@ func (c *EC2) DeleteVpnConnectionRoute(input *DeleteVpnConnectionRouteInput) (*D const opDeleteVpnGateway = "DeleteVpnGateway" -// DeleteVpnGatewayRequest generates a request for the DeleteVpnGateway operation. +// DeleteVpnGatewayRequest generates a "aws/request.Request" representing the +// client's request for the DeleteVpnGateway operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteVpnGateway for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteVpnGateway method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteVpnGatewayRequest method. +// req, resp := client.DeleteVpnGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DeleteVpnGatewayRequest(input *DeleteVpnGatewayInput) (req *request.Request, output *DeleteVpnGatewayOutput) { op := &request.Operation{ Name: opDeleteVpnGateway, @@ -2718,11 +5211,20 @@ func (c *EC2) DeleteVpnGatewayRequest(input *DeleteVpnGatewayInput) (req *reques return } +// DeleteVpnGateway API operation for Amazon Elastic Compute Cloud. +// // Deletes the specified virtual private gateway. We recommend that before you // delete a virtual private gateway, you detach it from the VPC and delete the // VPN connection. Note that you don't need to delete the virtual private gateway // if you plan to delete and recreate the VPN connection between your VPC and // your network. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeleteVpnGateway for usage and error information. func (c *EC2) DeleteVpnGateway(input *DeleteVpnGatewayInput) (*DeleteVpnGatewayOutput, error) { req, out := c.DeleteVpnGatewayRequest(input) err := req.Send() @@ -2731,7 +5233,30 @@ func (c *EC2) DeleteVpnGateway(input *DeleteVpnGatewayInput) (*DeleteVpnGatewayO const opDeregisterImage = "DeregisterImage" -// DeregisterImageRequest generates a request for the DeregisterImage operation. +// DeregisterImageRequest generates a "aws/request.Request" representing the +// client's request for the DeregisterImage operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeregisterImage for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeregisterImage method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeregisterImageRequest method. +// req, resp := client.DeregisterImageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DeregisterImageRequest(input *DeregisterImageInput) (req *request.Request, output *DeregisterImageOutput) { op := &request.Operation{ Name: opDeregisterImage, @@ -2751,10 +5276,19 @@ func (c *EC2) DeregisterImageRequest(input *DeregisterImageInput) (req *request. return } +// DeregisterImage API operation for Amazon Elastic Compute Cloud. +// // Deregisters the specified AMI. After you deregister an AMI, it can't be used // to launch new instances. // // This command does not delete the AMI. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeregisterImage for usage and error information. func (c *EC2) DeregisterImage(input *DeregisterImageInput) (*DeregisterImageOutput, error) { req, out := c.DeregisterImageRequest(input) err := req.Send() @@ -2763,7 +5297,30 @@ func (c *EC2) DeregisterImage(input *DeregisterImageInput) (*DeregisterImageOutp const opDescribeAccountAttributes = "DescribeAccountAttributes" -// DescribeAccountAttributesRequest generates a request for the DescribeAccountAttributes operation. +// DescribeAccountAttributesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAccountAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeAccountAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeAccountAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeAccountAttributesRequest method. +// req, resp := client.DescribeAccountAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) { op := &request.Operation{ Name: opDescribeAccountAttributes, @@ -2781,25 +5338,34 @@ func (c *EC2) DescribeAccountAttributesRequest(input *DescribeAccountAttributesI return } +// DescribeAccountAttributes API operation for Amazon Elastic Compute Cloud. +// // Describes attributes of your AWS account. The following are the supported // account attributes: // -// supported-platforms: Indicates whether your account can launch instances +// supported-platforms: Indicates whether your account can launch instances // into EC2-Classic and EC2-VPC, or only into EC2-VPC. // -// default-vpc: The ID of the default VPC for your account, or none. +// default-vpc: The ID of the default VPC for your account, or none. // -// max-instances: The maximum number of On-Demand instances that you can +// max-instances: The maximum number of On-Demand instances that you can // run. // -// vpc-max-security-groups-per-interface: The maximum number of security +// vpc-max-security-groups-per-interface: The maximum number of security // groups that you can assign to a network interface. // -// max-elastic-ips: The maximum number of Elastic IP addresses that you can -// allocate for use with EC2-Classic. +// max-elastic-ips: The maximum number of Elastic IP addresses that you +// can allocate for use with EC2-Classic. +// +// vpc-max-elastic-ips: The maximum number of Elastic IP addresses that +// you can allocate for use with EC2-VPC. // -// vpc-max-elastic-ips: The maximum number of Elastic IP addresses that you -// can allocate for use with EC2-VPC. +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeAccountAttributes for usage and error information. func (c *EC2) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) { req, out := c.DescribeAccountAttributesRequest(input) err := req.Send() @@ -2808,7 +5374,30 @@ func (c *EC2) DescribeAccountAttributes(input *DescribeAccountAttributesInput) ( const opDescribeAddresses = "DescribeAddresses" -// DescribeAddressesRequest generates a request for the DescribeAddresses operation. +// DescribeAddressesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAddresses operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeAddresses for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeAddresses method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeAddressesRequest method. +// req, resp := client.DescribeAddressesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeAddressesRequest(input *DescribeAddressesInput) (req *request.Request, output *DescribeAddressesOutput) { op := &request.Operation{ Name: opDescribeAddresses, @@ -2826,11 +5415,20 @@ func (c *EC2) DescribeAddressesRequest(input *DescribeAddressesInput) (req *requ return } +// DescribeAddresses API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of your Elastic IP addresses. // // An Elastic IP address is for use in either the EC2-Classic platform or in // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeAddresses for usage and error information. func (c *EC2) DescribeAddresses(input *DescribeAddressesInput) (*DescribeAddressesOutput, error) { req, out := c.DescribeAddressesRequest(input) err := req.Send() @@ -2839,7 +5437,30 @@ func (c *EC2) DescribeAddresses(input *DescribeAddressesInput) (*DescribeAddress const opDescribeAvailabilityZones = "DescribeAvailabilityZones" -// DescribeAvailabilityZonesRequest generates a request for the DescribeAvailabilityZones operation. +// DescribeAvailabilityZonesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAvailabilityZones operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeAvailabilityZones for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeAvailabilityZones method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeAvailabilityZonesRequest method. +// req, resp := client.DescribeAvailabilityZonesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeAvailabilityZonesRequest(input *DescribeAvailabilityZonesInput) (req *request.Request, output *DescribeAvailabilityZonesOutput) { op := &request.Operation{ Name: opDescribeAvailabilityZones, @@ -2857,6 +5478,8 @@ func (c *EC2) DescribeAvailabilityZonesRequest(input *DescribeAvailabilityZonesI return } +// DescribeAvailabilityZones API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of the Availability Zones that are available to you. // The results include zones only for the region you're currently using. If // there is an event impacting an Availability Zone, you can use this request @@ -2864,7 +5487,14 @@ func (c *EC2) DescribeAvailabilityZonesRequest(input *DescribeAvailabilityZonesI // // For more information, see Regions and Availability Zones (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html) // in the Amazon Elastic Compute Cloud User Guide. -func (c *EC2) DescribeAvailabilityZones(input *DescribeAvailabilityZonesInput) (*DescribeAvailabilityZonesOutput, error) { +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeAvailabilityZones for usage and error information. +func (c *EC2) DescribeAvailabilityZones(input *DescribeAvailabilityZonesInput) (*DescribeAvailabilityZonesOutput, error) { req, out := c.DescribeAvailabilityZonesRequest(input) err := req.Send() return out, err @@ -2872,7 +5502,30 @@ func (c *EC2) DescribeAvailabilityZones(input *DescribeAvailabilityZonesInput) ( const opDescribeBundleTasks = "DescribeBundleTasks" -// DescribeBundleTasksRequest generates a request for the DescribeBundleTasks operation. +// DescribeBundleTasksRequest generates a "aws/request.Request" representing the +// client's request for the DescribeBundleTasks operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeBundleTasks for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeBundleTasks method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeBundleTasksRequest method. +// req, resp := client.DescribeBundleTasksRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeBundleTasksRequest(input *DescribeBundleTasksInput) (req *request.Request, output *DescribeBundleTasksOutput) { op := &request.Operation{ Name: opDescribeBundleTasks, @@ -2890,12 +5543,21 @@ func (c *EC2) DescribeBundleTasksRequest(input *DescribeBundleTasksInput) (req * return } +// DescribeBundleTasks API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of your bundling tasks. // -// Completed bundle tasks are listed for only a limited time. If your bundle +// Completed bundle tasks are listed for only a limited time. If your bundle // task is no longer in the list, you can still register an AMI from it. Just // use RegisterImage with the Amazon S3 bucket name and image manifest name // you provided to the bundle task. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeBundleTasks for usage and error information. func (c *EC2) DescribeBundleTasks(input *DescribeBundleTasksInput) (*DescribeBundleTasksOutput, error) { req, out := c.DescribeBundleTasksRequest(input) err := req.Send() @@ -2904,7 +5566,30 @@ func (c *EC2) DescribeBundleTasks(input *DescribeBundleTasksInput) (*DescribeBun const opDescribeClassicLinkInstances = "DescribeClassicLinkInstances" -// DescribeClassicLinkInstancesRequest generates a request for the DescribeClassicLinkInstances operation. +// DescribeClassicLinkInstancesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeClassicLinkInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeClassicLinkInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeClassicLinkInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeClassicLinkInstancesRequest method. +// req, resp := client.DescribeClassicLinkInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeClassicLinkInstancesRequest(input *DescribeClassicLinkInstancesInput) (req *request.Request, output *DescribeClassicLinkInstancesOutput) { op := &request.Operation{ Name: opDescribeClassicLinkInstances, @@ -2922,10 +5607,19 @@ func (c *EC2) DescribeClassicLinkInstancesRequest(input *DescribeClassicLinkInst return } +// DescribeClassicLinkInstances API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of your linked EC2-Classic instances. This request // only returns information about EC2-Classic instances linked to a VPC through // ClassicLink; you cannot use this request to return information about other // instances. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeClassicLinkInstances for usage and error information. func (c *EC2) DescribeClassicLinkInstances(input *DescribeClassicLinkInstancesInput) (*DescribeClassicLinkInstancesOutput, error) { req, out := c.DescribeClassicLinkInstancesRequest(input) err := req.Send() @@ -2934,7 +5628,30 @@ func (c *EC2) DescribeClassicLinkInstances(input *DescribeClassicLinkInstancesIn const opDescribeConversionTasks = "DescribeConversionTasks" -// DescribeConversionTasksRequest generates a request for the DescribeConversionTasks operation. +// DescribeConversionTasksRequest generates a "aws/request.Request" representing the +// client's request for the DescribeConversionTasks operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeConversionTasks for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeConversionTasks method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeConversionTasksRequest method. +// req, resp := client.DescribeConversionTasksRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeConversionTasksRequest(input *DescribeConversionTasksInput) (req *request.Request, output *DescribeConversionTasksOutput) { op := &request.Operation{ Name: opDescribeConversionTasks, @@ -2952,13 +5669,20 @@ func (c *EC2) DescribeConversionTasksRequest(input *DescribeConversionTasksInput return } +// DescribeConversionTasks API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of your conversion tasks. For more information, see -// Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UploadingYourInstancesandVolumes.html) -// in the Amazon Elastic Compute Cloud User Guide. +// the VM Import/Export User Guide (http://docs.aws.amazon.com/vm-import/latest/userguide/). // // For information about the import manifest referenced by this API action, // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.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. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeConversionTasks for usage and error information. func (c *EC2) DescribeConversionTasks(input *DescribeConversionTasksInput) (*DescribeConversionTasksOutput, error) { req, out := c.DescribeConversionTasksRequest(input) err := req.Send() @@ -2967,7 +5691,30 @@ func (c *EC2) DescribeConversionTasks(input *DescribeConversionTasksInput) (*Des const opDescribeCustomerGateways = "DescribeCustomerGateways" -// DescribeCustomerGatewaysRequest generates a request for the DescribeCustomerGateways operation. +// DescribeCustomerGatewaysRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCustomerGateways operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeCustomerGateways for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeCustomerGateways method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeCustomerGatewaysRequest method. +// req, resp := client.DescribeCustomerGatewaysRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeCustomerGatewaysRequest(input *DescribeCustomerGatewaysInput) (req *request.Request, output *DescribeCustomerGatewaysOutput) { op := &request.Operation{ Name: opDescribeCustomerGateways, @@ -2985,11 +5732,20 @@ func (c *EC2) DescribeCustomerGatewaysRequest(input *DescribeCustomerGatewaysInp return } +// DescribeCustomerGateways API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of your VPN customer gateways. // // For more information about VPN customer gateways, see Adding a Hardware // Virtual Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) // in the Amazon Virtual Private Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeCustomerGateways for usage and error information. func (c *EC2) DescribeCustomerGateways(input *DescribeCustomerGatewaysInput) (*DescribeCustomerGatewaysOutput, error) { req, out := c.DescribeCustomerGatewaysRequest(input) err := req.Send() @@ -2998,7 +5754,30 @@ func (c *EC2) DescribeCustomerGateways(input *DescribeCustomerGatewaysInput) (*D const opDescribeDhcpOptions = "DescribeDhcpOptions" -// DescribeDhcpOptionsRequest generates a request for the DescribeDhcpOptions operation. +// DescribeDhcpOptionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDhcpOptions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeDhcpOptions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeDhcpOptions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeDhcpOptionsRequest method. +// req, resp := client.DescribeDhcpOptionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeDhcpOptionsRequest(input *DescribeDhcpOptionsInput) (req *request.Request, output *DescribeDhcpOptionsOutput) { op := &request.Operation{ Name: opDescribeDhcpOptions, @@ -3016,10 +5795,19 @@ func (c *EC2) DescribeDhcpOptionsRequest(input *DescribeDhcpOptionsInput) (req * return } +// DescribeDhcpOptions API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of your DHCP options sets. // // For more information about DHCP options sets, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html) // in the Amazon Virtual Private Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeDhcpOptions for usage and error information. func (c *EC2) DescribeDhcpOptions(input *DescribeDhcpOptionsInput) (*DescribeDhcpOptionsOutput, error) { req, out := c.DescribeDhcpOptionsRequest(input) err := req.Send() @@ -3028,7 +5816,30 @@ func (c *EC2) DescribeDhcpOptions(input *DescribeDhcpOptionsInput) (*DescribeDhc const opDescribeExportTasks = "DescribeExportTasks" -// DescribeExportTasksRequest generates a request for the DescribeExportTasks operation. +// DescribeExportTasksRequest generates a "aws/request.Request" representing the +// client's request for the DescribeExportTasks operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeExportTasks for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeExportTasks method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeExportTasksRequest method. +// req, resp := client.DescribeExportTasksRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req *request.Request, output *DescribeExportTasksOutput) { op := &request.Operation{ Name: opDescribeExportTasks, @@ -3046,7 +5857,16 @@ func (c *EC2) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req * return } +// DescribeExportTasks API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of your export tasks. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeExportTasks for usage and error information. func (c *EC2) DescribeExportTasks(input *DescribeExportTasksInput) (*DescribeExportTasksOutput, error) { req, out := c.DescribeExportTasksRequest(input) err := req.Send() @@ -3055,7 +5875,30 @@ func (c *EC2) DescribeExportTasks(input *DescribeExportTasksInput) (*DescribeExp const opDescribeFlowLogs = "DescribeFlowLogs" -// DescribeFlowLogsRequest generates a request for the DescribeFlowLogs operation. +// DescribeFlowLogsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeFlowLogs operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeFlowLogs for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeFlowLogs method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeFlowLogsRequest method. +// req, resp := client.DescribeFlowLogsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeFlowLogsRequest(input *DescribeFlowLogsInput) (req *request.Request, output *DescribeFlowLogsOutput) { op := &request.Operation{ Name: opDescribeFlowLogs, @@ -3073,18 +5916,177 @@ func (c *EC2) DescribeFlowLogsRequest(input *DescribeFlowLogsInput) (req *reques return } +// DescribeFlowLogs API operation for Amazon Elastic Compute Cloud. +// // Describes one or more flow logs. To view the information in your flow logs // (the log streams for the network interfaces), you must use the CloudWatch // Logs console or the CloudWatch Logs API. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeFlowLogs for usage and error information. func (c *EC2) DescribeFlowLogs(input *DescribeFlowLogsInput) (*DescribeFlowLogsOutput, error) { req, out := c.DescribeFlowLogsRequest(input) err := req.Send() return out, err } +const opDescribeHostReservationOfferings = "DescribeHostReservationOfferings" + +// DescribeHostReservationOfferingsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeHostReservationOfferings operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeHostReservationOfferings for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeHostReservationOfferings method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeHostReservationOfferingsRequest method. +// req, resp := client.DescribeHostReservationOfferingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *EC2) DescribeHostReservationOfferingsRequest(input *DescribeHostReservationOfferingsInput) (req *request.Request, output *DescribeHostReservationOfferingsOutput) { + op := &request.Operation{ + Name: opDescribeHostReservationOfferings, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeHostReservationOfferingsInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeHostReservationOfferingsOutput{} + req.Data = output + return +} + +// DescribeHostReservationOfferings API operation for Amazon Elastic Compute Cloud. +// +// Describes the Dedicated Host Reservations that are available to purchase. +// +// The results describe all the Dedicated Host Reservation offerings, including +// offerings that may not match the instance family and region of your Dedicated +// Hosts. When purchasing an offering, ensure that the the instance family and +// region of the offering matches that of the Dedicated Host/s it will be associated +// with. For an overview of supported instance types, see Dedicated Hosts Overview +// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html) +// in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeHostReservationOfferings for usage and error information. +func (c *EC2) DescribeHostReservationOfferings(input *DescribeHostReservationOfferingsInput) (*DescribeHostReservationOfferingsOutput, error) { + req, out := c.DescribeHostReservationOfferingsRequest(input) + err := req.Send() + return out, err +} + +const opDescribeHostReservations = "DescribeHostReservations" + +// DescribeHostReservationsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeHostReservations operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeHostReservations for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeHostReservations method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeHostReservationsRequest method. +// req, resp := client.DescribeHostReservationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *EC2) DescribeHostReservationsRequest(input *DescribeHostReservationsInput) (req *request.Request, output *DescribeHostReservationsOutput) { + op := &request.Operation{ + Name: opDescribeHostReservations, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeHostReservationsInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeHostReservationsOutput{} + req.Data = output + return +} + +// DescribeHostReservations API operation for Amazon Elastic Compute Cloud. +// +// Describes Dedicated Host Reservations which are associated with Dedicated +// Hosts in 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeHostReservations for usage and error information. +func (c *EC2) DescribeHostReservations(input *DescribeHostReservationsInput) (*DescribeHostReservationsOutput, error) { + req, out := c.DescribeHostReservationsRequest(input) + err := req.Send() + return out, err +} + const opDescribeHosts = "DescribeHosts" -// DescribeHostsRequest generates a request for the DescribeHosts operation. +// DescribeHostsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeHosts operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeHosts for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeHosts method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeHostsRequest method. +// req, resp := client.DescribeHostsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeHostsRequest(input *DescribeHostsInput) (req *request.Request, output *DescribeHostsOutput) { op := &request.Operation{ Name: opDescribeHosts, @@ -3102,11 +6104,20 @@ func (c *EC2) DescribeHostsRequest(input *DescribeHostsInput) (req *request.Requ return } -// Describes one or more of your Dedicated hosts. +// DescribeHosts API operation for Amazon Elastic Compute Cloud. +// +// Describes one or more of your Dedicated Hosts. +// +// The results describe only the Dedicated Hosts in the region you're currently +// using. All listed instances consume capacity on your Dedicated Host. Dedicated +// Hosts that have recently been released will be listed with the state released. +// +// 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. // -// The results describe only the Dedicated hosts in the region you're currently -// using. All listed instances consume capacity on your Dedicated host. Dedicated -// hosts that have recently been released will be listed with the state released. +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeHosts for usage and error information. func (c *EC2) DescribeHosts(input *DescribeHostsInput) (*DescribeHostsOutput, error) { req, out := c.DescribeHostsRequest(input) err := req.Send() @@ -3115,7 +6126,30 @@ func (c *EC2) DescribeHosts(input *DescribeHostsInput) (*DescribeHostsOutput, er const opDescribeIdFormat = "DescribeIdFormat" -// DescribeIdFormatRequest generates a request for the DescribeIdFormat operation. +// DescribeIdFormatRequest generates a "aws/request.Request" representing the +// client's request for the DescribeIdFormat operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeIdFormat for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeIdFormat method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeIdFormatRequest method. +// req, resp := client.DescribeIdFormatRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeIdFormatRequest(input *DescribeIdFormatInput) (req *request.Request, output *DescribeIdFormatOutput) { op := &request.Operation{ Name: opDescribeIdFormat, @@ -3133,6 +6167,8 @@ func (c *EC2) DescribeIdFormatRequest(input *DescribeIdFormatInput) (req *reques return } +// DescribeIdFormat API operation for Amazon Elastic Compute Cloud. +// // Describes the ID format settings for your resources on a per-region basis, // for example, to view which resource types are enabled for longer IDs. This // request only returns information about resource types whose ID formats can @@ -3148,15 +6184,115 @@ func (c *EC2) DescribeIdFormatRequest(input *DescribeIdFormatInput) (req *reques // are visible to all IAM users, regardless of these settings and provided that // they have permission to use the relevant Describe command for the resource // type. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeIdFormat for usage and error information. func (c *EC2) DescribeIdFormat(input *DescribeIdFormatInput) (*DescribeIdFormatOutput, error) { req, out := c.DescribeIdFormatRequest(input) err := req.Send() return out, err } +const opDescribeIdentityIdFormat = "DescribeIdentityIdFormat" + +// DescribeIdentityIdFormatRequest generates a "aws/request.Request" representing the +// client's request for the DescribeIdentityIdFormat operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeIdentityIdFormat for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeIdentityIdFormat method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeIdentityIdFormatRequest method. +// req, resp := client.DescribeIdentityIdFormatRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *EC2) DescribeIdentityIdFormatRequest(input *DescribeIdentityIdFormatInput) (req *request.Request, output *DescribeIdentityIdFormatOutput) { + op := &request.Operation{ + Name: opDescribeIdentityIdFormat, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeIdentityIdFormatInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeIdentityIdFormatOutput{} + req.Data = output + return +} + +// DescribeIdentityIdFormat API operation for Amazon Elastic Compute Cloud. +// +// Describes the ID format settings for resources for the specified IAM user, +// IAM role, or root user. For example, you can view the resource types that +// are enabled for longer IDs. This request only returns information about resource +// types whose ID formats can be modified; it does not return information about +// other resource types. For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html) +// in the Amazon Elastic Compute Cloud User Guide. +// +// The following resource types support longer IDs: instance | reservation +// | snapshot | volume. +// +// These settings apply to the principal specified in the request. They do +// not apply to the principal that makes the request. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeIdentityIdFormat for usage and error information. +func (c *EC2) DescribeIdentityIdFormat(input *DescribeIdentityIdFormatInput) (*DescribeIdentityIdFormatOutput, error) { + req, out := c.DescribeIdentityIdFormatRequest(input) + err := req.Send() + return out, err +} + const opDescribeImageAttribute = "DescribeImageAttribute" -// DescribeImageAttributeRequest generates a request for the DescribeImageAttribute operation. +// DescribeImageAttributeRequest generates a "aws/request.Request" representing the +// client's request for the DescribeImageAttribute operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeImageAttribute for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeImageAttribute method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeImageAttributeRequest method. +// req, resp := client.DescribeImageAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeImageAttributeRequest(input *DescribeImageAttributeInput) (req *request.Request, output *DescribeImageAttributeOutput) { op := &request.Operation{ Name: opDescribeImageAttribute, @@ -3174,8 +6310,17 @@ func (c *EC2) DescribeImageAttributeRequest(input *DescribeImageAttributeInput) return } +// DescribeImageAttribute API operation for Amazon Elastic Compute Cloud. +// // Describes the specified attribute of the specified AMI. You can specify only // one attribute at a time. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeImageAttribute for usage and error information. func (c *EC2) DescribeImageAttribute(input *DescribeImageAttributeInput) (*DescribeImageAttributeOutput, error) { req, out := c.DescribeImageAttributeRequest(input) err := req.Send() @@ -3184,7 +6329,30 @@ func (c *EC2) DescribeImageAttribute(input *DescribeImageAttributeInput) (*Descr const opDescribeImages = "DescribeImages" -// DescribeImagesRequest generates a request for the DescribeImages operation. +// DescribeImagesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeImages operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeImages for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeImages method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeImagesRequest method. +// req, resp := client.DescribeImagesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeImagesRequest(input *DescribeImagesInput) (req *request.Request, output *DescribeImagesOutput) { op := &request.Operation{ Name: opDescribeImages, @@ -3202,13 +6370,22 @@ func (c *EC2) DescribeImagesRequest(input *DescribeImagesInput) (req *request.Re return } +// DescribeImages API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of the images (AMIs, AKIs, and ARIs) available to you. // Images available to you include public images, private images that you own, // and private images owned by other AWS accounts but for which you have explicit // launch permissions. // -// Deregistered images are included in the returned results for an unspecified +// Deregistered images are included in the returned results for an unspecified // interval after deregistration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeImages for usage and error information. func (c *EC2) DescribeImages(input *DescribeImagesInput) (*DescribeImagesOutput, error) { req, out := c.DescribeImagesRequest(input) err := req.Send() @@ -3217,7 +6394,30 @@ func (c *EC2) DescribeImages(input *DescribeImagesInput) (*DescribeImagesOutput, const opDescribeImportImageTasks = "DescribeImportImageTasks" -// DescribeImportImageTasksRequest generates a request for the DescribeImportImageTasks operation. +// DescribeImportImageTasksRequest generates a "aws/request.Request" representing the +// client's request for the DescribeImportImageTasks operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeImportImageTasks for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeImportImageTasks method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeImportImageTasksRequest method. +// req, resp := client.DescribeImportImageTasksRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeImportImageTasksRequest(input *DescribeImportImageTasksInput) (req *request.Request, output *DescribeImportImageTasksOutput) { op := &request.Operation{ Name: opDescribeImportImageTasks, @@ -3235,8 +6435,17 @@ func (c *EC2) DescribeImportImageTasksRequest(input *DescribeImportImageTasksInp return } +// DescribeImportImageTasks API operation for Amazon Elastic Compute Cloud. +// // Displays details about an import virtual machine or import snapshot tasks // that are already created. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeImportImageTasks for usage and error information. func (c *EC2) DescribeImportImageTasks(input *DescribeImportImageTasksInput) (*DescribeImportImageTasksOutput, error) { req, out := c.DescribeImportImageTasksRequest(input) err := req.Send() @@ -3245,7 +6454,30 @@ func (c *EC2) DescribeImportImageTasks(input *DescribeImportImageTasksInput) (*D const opDescribeImportSnapshotTasks = "DescribeImportSnapshotTasks" -// DescribeImportSnapshotTasksRequest generates a request for the DescribeImportSnapshotTasks operation. +// DescribeImportSnapshotTasksRequest generates a "aws/request.Request" representing the +// client's request for the DescribeImportSnapshotTasks operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeImportSnapshotTasks for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeImportSnapshotTasks method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeImportSnapshotTasksRequest method. +// req, resp := client.DescribeImportSnapshotTasksRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeImportSnapshotTasksRequest(input *DescribeImportSnapshotTasksInput) (req *request.Request, output *DescribeImportSnapshotTasksOutput) { op := &request.Operation{ Name: opDescribeImportSnapshotTasks, @@ -3263,7 +6495,16 @@ func (c *EC2) DescribeImportSnapshotTasksRequest(input *DescribeImportSnapshotTa return } +// DescribeImportSnapshotTasks API operation for Amazon Elastic Compute Cloud. +// // Describes your import snapshot tasks. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeImportSnapshotTasks for usage and error information. func (c *EC2) DescribeImportSnapshotTasks(input *DescribeImportSnapshotTasksInput) (*DescribeImportSnapshotTasksOutput, error) { req, out := c.DescribeImportSnapshotTasksRequest(input) err := req.Send() @@ -3272,7 +6513,30 @@ func (c *EC2) DescribeImportSnapshotTasks(input *DescribeImportSnapshotTasksInpu const opDescribeInstanceAttribute = "DescribeInstanceAttribute" -// DescribeInstanceAttributeRequest generates a request for the DescribeInstanceAttribute operation. +// DescribeInstanceAttributeRequest generates a "aws/request.Request" representing the +// client's request for the DescribeInstanceAttribute operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeInstanceAttribute for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeInstanceAttribute method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeInstanceAttributeRequest method. +// req, resp := client.DescribeInstanceAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeInstanceAttributeRequest(input *DescribeInstanceAttributeInput) (req *request.Request, output *DescribeInstanceAttributeOutput) { op := &request.Operation{ Name: opDescribeInstanceAttribute, @@ -3290,11 +6554,20 @@ func (c *EC2) DescribeInstanceAttributeRequest(input *DescribeInstanceAttributeI return } +// DescribeInstanceAttribute API operation for Amazon Elastic Compute Cloud. +// // Describes the specified attribute of the specified instance. You can specify // only one attribute at a time. Valid attribute values are: instanceType | // kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior // | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck | // groupSet | ebsOptimized | sriovNetSupport +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeInstanceAttribute for usage and error information. func (c *EC2) DescribeInstanceAttribute(input *DescribeInstanceAttributeInput) (*DescribeInstanceAttributeOutput, error) { req, out := c.DescribeInstanceAttributeRequest(input) err := req.Send() @@ -3303,7 +6576,30 @@ func (c *EC2) DescribeInstanceAttribute(input *DescribeInstanceAttributeInput) ( const opDescribeInstanceStatus = "DescribeInstanceStatus" -// DescribeInstanceStatusRequest generates a request for the DescribeInstanceStatus operation. +// DescribeInstanceStatusRequest generates a "aws/request.Request" representing the +// client's request for the DescribeInstanceStatus operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeInstanceStatus for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeInstanceStatus method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeInstanceStatusRequest method. +// req, resp := client.DescribeInstanceStatusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeInstanceStatusRequest(input *DescribeInstanceStatusInput) (req *request.Request, output *DescribeInstanceStatusOutput) { op := &request.Operation{ Name: opDescribeInstanceStatus, @@ -3327,33 +6623,59 @@ func (c *EC2) DescribeInstanceStatusRequest(input *DescribeInstanceStatusInput) return } +// DescribeInstanceStatus API operation for Amazon Elastic Compute Cloud. +// // Describes the status of one or more instances. By default, only running instances // are described, unless specified otherwise. // // Instance status includes the following components: // -// Status checks - Amazon EC2 performs status checks on running EC2 instances +// Status checks - Amazon EC2 performs status checks on running EC2 instances // to identify hardware and software issues. For more information, see Status // Checks for Your Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html) // and Troubleshooting Instances with Failed Status Checks (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html) // in the Amazon Elastic Compute Cloud User Guide. // -// Scheduled events - Amazon EC2 can schedule events (such as reboot, stop, +// Scheduled events - Amazon EC2 can schedule events (such as reboot, stop, // or terminate) for your instances related to hardware issues, software updates, // or system maintenance. For more information, see Scheduled Events for Your // Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html) // in the Amazon Elastic Compute Cloud User Guide. // -// Instance state - You can manage your instances from the moment you launch +// Instance state - You can manage your instances from the moment you launch // them through their termination. For more information, see Instance Lifecycle // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeInstanceStatus for usage and error information. func (c *EC2) DescribeInstanceStatus(input *DescribeInstanceStatusInput) (*DescribeInstanceStatusOutput, error) { req, out := c.DescribeInstanceStatusRequest(input) err := req.Send() return out, err } +// DescribeInstanceStatusPages iterates over the pages of a DescribeInstanceStatus operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeInstanceStatus 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 DescribeInstanceStatus operation. +// pageNum := 0 +// err := client.DescribeInstanceStatusPages(params, +// func(page *DescribeInstanceStatusOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *EC2) DescribeInstanceStatusPages(input *DescribeInstanceStatusInput, fn func(p *DescribeInstanceStatusOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeInstanceStatusRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -3364,7 +6686,30 @@ func (c *EC2) DescribeInstanceStatusPages(input *DescribeInstanceStatusInput, fn const opDescribeInstances = "DescribeInstances" -// DescribeInstancesRequest generates a request for the DescribeInstances operation. +// DescribeInstancesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeInstancesRequest method. +// req, resp := client.DescribeInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeInstancesRequest(input *DescribeInstancesInput) (req *request.Request, output *DescribeInstancesOutput) { op := &request.Operation{ Name: opDescribeInstances, @@ -3388,6 +6733,8 @@ func (c *EC2) DescribeInstancesRequest(input *DescribeInstancesInput) (req *requ return } +// DescribeInstances API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of your instances. // // If you specify one or more instance IDs, Amazon EC2 returns information @@ -3398,12 +6745,42 @@ func (c *EC2) DescribeInstancesRequest(input *DescribeInstancesInput) (req *requ // // Recently terminated instances might appear in the returned results. This // interval is usually less than one hour. +// +// If you describe instances in the rare case where an Availability Zone is +// experiencing a service disruption and you specify instance IDs that are in +// the affected zone, or do not specify any instance IDs at all, the call fails. +// If you describe instances and specify only instance IDs that are in an unaffected +// zone, the call works normally. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeInstances for usage and error information. func (c *EC2) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) { req, out := c.DescribeInstancesRequest(input) err := req.Send() return out, err } +// DescribeInstancesPages iterates over the pages of a DescribeInstances operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeInstances 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 DescribeInstances operation. +// pageNum := 0 +// err := client.DescribeInstancesPages(params, +// func(page *DescribeInstancesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *EC2) DescribeInstancesPages(input *DescribeInstancesInput, fn func(p *DescribeInstancesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeInstancesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -3414,7 +6791,30 @@ func (c *EC2) DescribeInstancesPages(input *DescribeInstancesInput, fn func(p *D const opDescribeInternetGateways = "DescribeInternetGateways" -// DescribeInternetGatewaysRequest generates a request for the DescribeInternetGateways operation. +// DescribeInternetGatewaysRequest generates a "aws/request.Request" representing the +// client's request for the DescribeInternetGateways operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeInternetGateways for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeInternetGateways method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeInternetGatewaysRequest method. +// req, resp := client.DescribeInternetGatewaysRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeInternetGatewaysRequest(input *DescribeInternetGatewaysInput) (req *request.Request, output *DescribeInternetGatewaysOutput) { op := &request.Operation{ Name: opDescribeInternetGateways, @@ -3432,7 +6832,16 @@ func (c *EC2) DescribeInternetGatewaysRequest(input *DescribeInternetGatewaysInp return } +// DescribeInternetGateways API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of your Internet gateways. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeInternetGateways for usage and error information. func (c *EC2) DescribeInternetGateways(input *DescribeInternetGatewaysInput) (*DescribeInternetGatewaysOutput, error) { req, out := c.DescribeInternetGatewaysRequest(input) err := req.Send() @@ -3441,9 +6850,32 @@ func (c *EC2) DescribeInternetGateways(input *DescribeInternetGatewaysInput) (*D const opDescribeKeyPairs = "DescribeKeyPairs" -// DescribeKeyPairsRequest generates a request for the DescribeKeyPairs operation. -func (c *EC2) DescribeKeyPairsRequest(input *DescribeKeyPairsInput) (req *request.Request, output *DescribeKeyPairsOutput) { - op := &request.Operation{ +// DescribeKeyPairsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeKeyPairs operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeKeyPairs for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeKeyPairs method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeKeyPairsRequest method. +// req, resp := client.DescribeKeyPairsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *EC2) DescribeKeyPairsRequest(input *DescribeKeyPairsInput) (req *request.Request, output *DescribeKeyPairsOutput) { + op := &request.Operation{ Name: opDescribeKeyPairs, HTTPMethod: "POST", HTTPPath: "/", @@ -3459,10 +6891,19 @@ func (c *EC2) DescribeKeyPairsRequest(input *DescribeKeyPairsInput) (req *reques return } +// DescribeKeyPairs API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of your key pairs. // // For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeKeyPairs for usage and error information. func (c *EC2) DescribeKeyPairs(input *DescribeKeyPairsInput) (*DescribeKeyPairsOutput, error) { req, out := c.DescribeKeyPairsRequest(input) err := req.Send() @@ -3471,7 +6912,30 @@ func (c *EC2) DescribeKeyPairs(input *DescribeKeyPairsInput) (*DescribeKeyPairsO const opDescribeMovingAddresses = "DescribeMovingAddresses" -// DescribeMovingAddressesRequest generates a request for the DescribeMovingAddresses operation. +// DescribeMovingAddressesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeMovingAddresses operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeMovingAddresses for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeMovingAddresses method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeMovingAddressesRequest method. +// req, resp := client.DescribeMovingAddressesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeMovingAddressesRequest(input *DescribeMovingAddressesInput) (req *request.Request, output *DescribeMovingAddressesOutput) { op := &request.Operation{ Name: opDescribeMovingAddresses, @@ -3489,9 +6953,18 @@ func (c *EC2) DescribeMovingAddressesRequest(input *DescribeMovingAddressesInput return } +// DescribeMovingAddresses API operation for Amazon Elastic Compute Cloud. +// // Describes your Elastic IP addresses that are being moved to the EC2-VPC platform, // or that are being restored to the EC2-Classic platform. This request does // not return information about any other Elastic IP addresses in 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeMovingAddresses for usage and error information. func (c *EC2) DescribeMovingAddresses(input *DescribeMovingAddressesInput) (*DescribeMovingAddressesOutput, error) { req, out := c.DescribeMovingAddressesRequest(input) err := req.Send() @@ -3500,7 +6973,30 @@ func (c *EC2) DescribeMovingAddresses(input *DescribeMovingAddressesInput) (*Des const opDescribeNatGateways = "DescribeNatGateways" -// DescribeNatGatewaysRequest generates a request for the DescribeNatGateways operation. +// DescribeNatGatewaysRequest generates a "aws/request.Request" representing the +// client's request for the DescribeNatGateways operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeNatGateways for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeNatGateways method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeNatGatewaysRequest method. +// req, resp := client.DescribeNatGatewaysRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeNatGatewaysRequest(input *DescribeNatGatewaysInput) (req *request.Request, output *DescribeNatGatewaysOutput) { op := &request.Operation{ Name: opDescribeNatGateways, @@ -3518,7 +7014,16 @@ func (c *EC2) DescribeNatGatewaysRequest(input *DescribeNatGatewaysInput) (req * return } +// DescribeNatGateways API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of the your NAT gateways. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeNatGateways for usage and error information. func (c *EC2) DescribeNatGateways(input *DescribeNatGatewaysInput) (*DescribeNatGatewaysOutput, error) { req, out := c.DescribeNatGatewaysRequest(input) err := req.Send() @@ -3527,7 +7032,30 @@ func (c *EC2) DescribeNatGateways(input *DescribeNatGatewaysInput) (*DescribeNat const opDescribeNetworkAcls = "DescribeNetworkAcls" -// DescribeNetworkAclsRequest generates a request for the DescribeNetworkAcls operation. +// DescribeNetworkAclsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeNetworkAcls operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeNetworkAcls for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeNetworkAcls method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeNetworkAclsRequest method. +// req, resp := client.DescribeNetworkAclsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeNetworkAclsRequest(input *DescribeNetworkAclsInput) (req *request.Request, output *DescribeNetworkAclsOutput) { op := &request.Operation{ Name: opDescribeNetworkAcls, @@ -3545,10 +7073,19 @@ func (c *EC2) DescribeNetworkAclsRequest(input *DescribeNetworkAclsInput) (req * return } +// DescribeNetworkAcls API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of your network ACLs. // // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html) // in the Amazon Virtual Private Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeNetworkAcls for usage and error information. func (c *EC2) DescribeNetworkAcls(input *DescribeNetworkAclsInput) (*DescribeNetworkAclsOutput, error) { req, out := c.DescribeNetworkAclsRequest(input) err := req.Send() @@ -3557,7 +7094,30 @@ func (c *EC2) DescribeNetworkAcls(input *DescribeNetworkAclsInput) (*DescribeNet const opDescribeNetworkInterfaceAttribute = "DescribeNetworkInterfaceAttribute" -// DescribeNetworkInterfaceAttributeRequest generates a request for the DescribeNetworkInterfaceAttribute operation. +// DescribeNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the +// client's request for the DescribeNetworkInterfaceAttribute operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeNetworkInterfaceAttribute for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeNetworkInterfaceAttribute method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeNetworkInterfaceAttributeRequest method. +// req, resp := client.DescribeNetworkInterfaceAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeNetworkInterfaceAttributeRequest(input *DescribeNetworkInterfaceAttributeInput) (req *request.Request, output *DescribeNetworkInterfaceAttributeOutput) { op := &request.Operation{ Name: opDescribeNetworkInterfaceAttribute, @@ -3575,8 +7135,17 @@ func (c *EC2) DescribeNetworkInterfaceAttributeRequest(input *DescribeNetworkInt return } +// DescribeNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud. +// // Describes a network interface attribute. You can specify only one attribute // at a time. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeNetworkInterfaceAttribute for usage and error information. func (c *EC2) DescribeNetworkInterfaceAttribute(input *DescribeNetworkInterfaceAttributeInput) (*DescribeNetworkInterfaceAttributeOutput, error) { req, out := c.DescribeNetworkInterfaceAttributeRequest(input) err := req.Send() @@ -3585,7 +7154,30 @@ func (c *EC2) DescribeNetworkInterfaceAttribute(input *DescribeNetworkInterfaceA const opDescribeNetworkInterfaces = "DescribeNetworkInterfaces" -// DescribeNetworkInterfacesRequest generates a request for the DescribeNetworkInterfaces operation. +// DescribeNetworkInterfacesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeNetworkInterfaces operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeNetworkInterfaces for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeNetworkInterfaces method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeNetworkInterfacesRequest method. +// req, resp := client.DescribeNetworkInterfacesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeNetworkInterfacesRequest(input *DescribeNetworkInterfacesInput) (req *request.Request, output *DescribeNetworkInterfacesOutput) { op := &request.Operation{ Name: opDescribeNetworkInterfaces, @@ -3603,7 +7195,16 @@ func (c *EC2) DescribeNetworkInterfacesRequest(input *DescribeNetworkInterfacesI return } +// DescribeNetworkInterfaces API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of your network interfaces. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeNetworkInterfaces for usage and error information. func (c *EC2) DescribeNetworkInterfaces(input *DescribeNetworkInterfacesInput) (*DescribeNetworkInterfacesOutput, error) { req, out := c.DescribeNetworkInterfacesRequest(input) err := req.Send() @@ -3612,7 +7213,30 @@ func (c *EC2) DescribeNetworkInterfaces(input *DescribeNetworkInterfacesInput) ( const opDescribePlacementGroups = "DescribePlacementGroups" -// DescribePlacementGroupsRequest generates a request for the DescribePlacementGroups operation. +// DescribePlacementGroupsRequest generates a "aws/request.Request" representing the +// client's request for the DescribePlacementGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribePlacementGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribePlacementGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribePlacementGroupsRequest method. +// req, resp := client.DescribePlacementGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribePlacementGroupsRequest(input *DescribePlacementGroupsInput) (req *request.Request, output *DescribePlacementGroupsOutput) { op := &request.Operation{ Name: opDescribePlacementGroups, @@ -3630,9 +7254,18 @@ func (c *EC2) DescribePlacementGroupsRequest(input *DescribePlacementGroupsInput return } +// DescribePlacementGroups API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of your placement groups. For more information about // placement groups and cluster instances, see Cluster Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribePlacementGroups for usage and error information. func (c *EC2) DescribePlacementGroups(input *DescribePlacementGroupsInput) (*DescribePlacementGroupsOutput, error) { req, out := c.DescribePlacementGroupsRequest(input) err := req.Send() @@ -3641,7 +7274,30 @@ func (c *EC2) DescribePlacementGroups(input *DescribePlacementGroupsInput) (*Des const opDescribePrefixLists = "DescribePrefixLists" -// DescribePrefixListsRequest generates a request for the DescribePrefixLists operation. +// DescribePrefixListsRequest generates a "aws/request.Request" representing the +// client's request for the DescribePrefixLists operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribePrefixLists for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribePrefixLists method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribePrefixListsRequest method. +// req, resp := client.DescribePrefixListsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribePrefixListsRequest(input *DescribePrefixListsInput) (req *request.Request, output *DescribePrefixListsOutput) { op := &request.Operation{ Name: opDescribePrefixLists, @@ -3659,11 +7315,20 @@ func (c *EC2) DescribePrefixListsRequest(input *DescribePrefixListsInput) (req * return } +// DescribePrefixLists API operation for Amazon Elastic Compute Cloud. +// // Describes available AWS services in a prefix list format, which includes // the prefix list name and prefix list ID of the service and the IP address // range for the service. A prefix list ID is required for creating an outbound // security group rule that allows traffic from a VPC to access an AWS service // through a VPC 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 Elastic Compute Cloud's +// API operation DescribePrefixLists for usage and error information. func (c *EC2) DescribePrefixLists(input *DescribePrefixListsInput) (*DescribePrefixListsOutput, error) { req, out := c.DescribePrefixListsRequest(input) err := req.Send() @@ -3672,7 +7337,30 @@ func (c *EC2) DescribePrefixLists(input *DescribePrefixListsInput) (*DescribePre const opDescribeRegions = "DescribeRegions" -// DescribeRegionsRequest generates a request for the DescribeRegions operation. +// DescribeRegionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeRegions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeRegions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeRegions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeRegionsRequest method. +// req, resp := client.DescribeRegionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeRegionsRequest(input *DescribeRegionsInput) (req *request.Request, output *DescribeRegionsOutput) { op := &request.Operation{ Name: opDescribeRegions, @@ -3690,10 +7378,19 @@ func (c *EC2) DescribeRegionsRequest(input *DescribeRegionsInput) (req *request. return } +// DescribeRegions API operation for Amazon Elastic Compute Cloud. +// // Describes one or more regions that are currently available to you. // // For a list of the regions supported by Amazon EC2, see Regions and Endpoints // (http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeRegions for usage and error information. func (c *EC2) DescribeRegions(input *DescribeRegionsInput) (*DescribeRegionsOutput, error) { req, out := c.DescribeRegionsRequest(input) err := req.Send() @@ -3702,7 +7399,30 @@ func (c *EC2) DescribeRegions(input *DescribeRegionsInput) (*DescribeRegionsOutp const opDescribeReservedInstances = "DescribeReservedInstances" -// DescribeReservedInstancesRequest generates a request for the DescribeReservedInstances operation. +// DescribeReservedInstancesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeReservedInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeReservedInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeReservedInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeReservedInstancesRequest method. +// req, resp := client.DescribeReservedInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeReservedInstancesRequest(input *DescribeReservedInstancesInput) (req *request.Request, output *DescribeReservedInstancesOutput) { op := &request.Operation{ Name: opDescribeReservedInstances, @@ -3720,10 +7440,19 @@ func (c *EC2) DescribeReservedInstancesRequest(input *DescribeReservedInstancesI return } +// DescribeReservedInstances API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of the Reserved Instances that you purchased. // // For more information about Reserved Instances, see Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeReservedInstances for usage and error information. func (c *EC2) DescribeReservedInstances(input *DescribeReservedInstancesInput) (*DescribeReservedInstancesOutput, error) { req, out := c.DescribeReservedInstancesRequest(input) err := req.Send() @@ -3732,7 +7461,30 @@ func (c *EC2) DescribeReservedInstances(input *DescribeReservedInstancesInput) ( const opDescribeReservedInstancesListings = "DescribeReservedInstancesListings" -// DescribeReservedInstancesListingsRequest generates a request for the DescribeReservedInstancesListings operation. +// DescribeReservedInstancesListingsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeReservedInstancesListings operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeReservedInstancesListings for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeReservedInstancesListings method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeReservedInstancesListingsRequest method. +// req, resp := client.DescribeReservedInstancesListingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeReservedInstancesListingsRequest(input *DescribeReservedInstancesListingsInput) (req *request.Request, output *DescribeReservedInstancesListingsOutput) { op := &request.Operation{ Name: opDescribeReservedInstancesListings, @@ -3750,6 +7502,8 @@ func (c *EC2) DescribeReservedInstancesListingsRequest(input *DescribeReservedIn return } +// DescribeReservedInstancesListings API operation for Amazon Elastic Compute Cloud. +// // Describes your account's Reserved Instance listings in the Reserved Instance // Marketplace. // @@ -3772,6 +7526,13 @@ func (c *EC2) DescribeReservedInstancesListingsRequest(input *DescribeReservedIn // // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeReservedInstancesListings for usage and error information. func (c *EC2) DescribeReservedInstancesListings(input *DescribeReservedInstancesListingsInput) (*DescribeReservedInstancesListingsOutput, error) { req, out := c.DescribeReservedInstancesListingsRequest(input) err := req.Send() @@ -3780,7 +7541,30 @@ func (c *EC2) DescribeReservedInstancesListings(input *DescribeReservedInstances const opDescribeReservedInstancesModifications = "DescribeReservedInstancesModifications" -// DescribeReservedInstancesModificationsRequest generates a request for the DescribeReservedInstancesModifications operation. +// DescribeReservedInstancesModificationsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeReservedInstancesModifications operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeReservedInstancesModifications for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeReservedInstancesModifications method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeReservedInstancesModificationsRequest method. +// req, resp := client.DescribeReservedInstancesModificationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeReservedInstancesModificationsRequest(input *DescribeReservedInstancesModificationsInput) (req *request.Request, output *DescribeReservedInstancesModificationsOutput) { op := &request.Operation{ Name: opDescribeReservedInstancesModifications, @@ -3804,6 +7588,8 @@ func (c *EC2) DescribeReservedInstancesModificationsRequest(input *DescribeReser return } +// DescribeReservedInstancesModifications API operation for Amazon Elastic Compute Cloud. +// // Describes the modifications made to your Reserved Instances. If no parameter // is specified, information about all your Reserved Instances modification // requests is returned. If a modification ID is specified, only information @@ -3811,12 +7597,36 @@ func (c *EC2) DescribeReservedInstancesModificationsRequest(input *DescribeReser // // For more information, see Modifying Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeReservedInstancesModifications for usage and error information. func (c *EC2) DescribeReservedInstancesModifications(input *DescribeReservedInstancesModificationsInput) (*DescribeReservedInstancesModificationsOutput, error) { req, out := c.DescribeReservedInstancesModificationsRequest(input) err := req.Send() return out, err } +// DescribeReservedInstancesModificationsPages iterates over the pages of a DescribeReservedInstancesModifications operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeReservedInstancesModifications 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 DescribeReservedInstancesModifications operation. +// pageNum := 0 +// err := client.DescribeReservedInstancesModificationsPages(params, +// func(page *DescribeReservedInstancesModificationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *EC2) DescribeReservedInstancesModificationsPages(input *DescribeReservedInstancesModificationsInput, fn func(p *DescribeReservedInstancesModificationsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeReservedInstancesModificationsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -3827,7 +7637,30 @@ func (c *EC2) DescribeReservedInstancesModificationsPages(input *DescribeReserve const opDescribeReservedInstancesOfferings = "DescribeReservedInstancesOfferings" -// DescribeReservedInstancesOfferingsRequest generates a request for the DescribeReservedInstancesOfferings operation. +// DescribeReservedInstancesOfferingsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeReservedInstancesOfferings operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeReservedInstancesOfferings for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeReservedInstancesOfferings method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeReservedInstancesOfferingsRequest method. +// req, resp := client.DescribeReservedInstancesOfferingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeReservedInstancesOfferingsRequest(input *DescribeReservedInstancesOfferingsInput) (req *request.Request, output *DescribeReservedInstancesOfferingsOutput) { op := &request.Operation{ Name: opDescribeReservedInstancesOfferings, @@ -3851,6 +7684,8 @@ func (c *EC2) DescribeReservedInstancesOfferingsRequest(input *DescribeReservedI return } +// DescribeReservedInstancesOfferings API operation for Amazon Elastic Compute Cloud. +// // Describes Reserved Instance offerings that are available for purchase. With // Reserved Instances, you purchase the right to launch instances for a period // of time. During that time period, you do not receive insufficient capacity @@ -3863,12 +7698,36 @@ func (c *EC2) DescribeReservedInstancesOfferingsRequest(input *DescribeReservedI // // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeReservedInstancesOfferings for usage and error information. func (c *EC2) DescribeReservedInstancesOfferings(input *DescribeReservedInstancesOfferingsInput) (*DescribeReservedInstancesOfferingsOutput, error) { req, out := c.DescribeReservedInstancesOfferingsRequest(input) err := req.Send() return out, err } +// DescribeReservedInstancesOfferingsPages iterates over the pages of a DescribeReservedInstancesOfferings operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeReservedInstancesOfferings 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 DescribeReservedInstancesOfferings operation. +// pageNum := 0 +// err := client.DescribeReservedInstancesOfferingsPages(params, +// func(page *DescribeReservedInstancesOfferingsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *EC2) DescribeReservedInstancesOfferingsPages(input *DescribeReservedInstancesOfferingsInput, fn func(p *DescribeReservedInstancesOfferingsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeReservedInstancesOfferingsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -3879,7 +7738,30 @@ func (c *EC2) DescribeReservedInstancesOfferingsPages(input *DescribeReservedIns const opDescribeRouteTables = "DescribeRouteTables" -// DescribeRouteTablesRequest generates a request for the DescribeRouteTables operation. +// DescribeRouteTablesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeRouteTables operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeRouteTables for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeRouteTables method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeRouteTablesRequest method. +// req, resp := client.DescribeRouteTablesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeRouteTablesRequest(input *DescribeRouteTablesInput) (req *request.Request, output *DescribeRouteTablesOutput) { op := &request.Operation{ Name: opDescribeRouteTables, @@ -3897,6 +7779,8 @@ func (c *EC2) DescribeRouteTablesRequest(input *DescribeRouteTablesInput) (req * return } +// DescribeRouteTables API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of your route tables. // // Each subnet in your VPC must be associated with a route table. If a subnet @@ -3906,6 +7790,13 @@ func (c *EC2) DescribeRouteTablesRequest(input *DescribeRouteTablesInput) (req * // // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) // in the Amazon Virtual Private Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeRouteTables for usage and error information. func (c *EC2) DescribeRouteTables(input *DescribeRouteTablesInput) (*DescribeRouteTablesOutput, error) { req, out := c.DescribeRouteTablesRequest(input) err := req.Send() @@ -3914,7 +7805,30 @@ func (c *EC2) DescribeRouteTables(input *DescribeRouteTablesInput) (*DescribeRou const opDescribeScheduledInstanceAvailability = "DescribeScheduledInstanceAvailability" -// DescribeScheduledInstanceAvailabilityRequest generates a request for the DescribeScheduledInstanceAvailability operation. +// DescribeScheduledInstanceAvailabilityRequest generates a "aws/request.Request" representing the +// client's request for the DescribeScheduledInstanceAvailability operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeScheduledInstanceAvailability for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeScheduledInstanceAvailability method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeScheduledInstanceAvailabilityRequest method. +// req, resp := client.DescribeScheduledInstanceAvailabilityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeScheduledInstanceAvailabilityRequest(input *DescribeScheduledInstanceAvailabilityInput) (req *request.Request, output *DescribeScheduledInstanceAvailabilityOutput) { op := &request.Operation{ Name: opDescribeScheduledInstanceAvailability, @@ -3932,6 +7846,8 @@ func (c *EC2) DescribeScheduledInstanceAvailabilityRequest(input *DescribeSchedu return } +// DescribeScheduledInstanceAvailability API operation for Amazon Elastic Compute Cloud. +// // Finds available schedules that meet the specified criteria. // // You can search for an available schedule no more than 3 months in advance. @@ -3941,6 +7857,13 @@ func (c *EC2) DescribeScheduledInstanceAvailabilityRequest(input *DescribeSchedu // // After you find a schedule that meets your needs, call PurchaseScheduledInstances // to purchase Scheduled Instances with that schedule. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeScheduledInstanceAvailability for usage and error information. func (c *EC2) DescribeScheduledInstanceAvailability(input *DescribeScheduledInstanceAvailabilityInput) (*DescribeScheduledInstanceAvailabilityOutput, error) { req, out := c.DescribeScheduledInstanceAvailabilityRequest(input) err := req.Send() @@ -3949,7 +7872,30 @@ func (c *EC2) DescribeScheduledInstanceAvailability(input *DescribeScheduledInst const opDescribeScheduledInstances = "DescribeScheduledInstances" -// DescribeScheduledInstancesRequest generates a request for the DescribeScheduledInstances operation. +// DescribeScheduledInstancesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeScheduledInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeScheduledInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeScheduledInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeScheduledInstancesRequest method. +// req, resp := client.DescribeScheduledInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeScheduledInstancesRequest(input *DescribeScheduledInstancesInput) (req *request.Request, output *DescribeScheduledInstancesOutput) { op := &request.Operation{ Name: opDescribeScheduledInstances, @@ -3967,16 +7913,108 @@ func (c *EC2) DescribeScheduledInstancesRequest(input *DescribeScheduledInstance return } +// DescribeScheduledInstances API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of your Scheduled Instances. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeScheduledInstances for usage and error information. func (c *EC2) DescribeScheduledInstances(input *DescribeScheduledInstancesInput) (*DescribeScheduledInstancesOutput, error) { req, out := c.DescribeScheduledInstancesRequest(input) err := req.Send() return out, err } +const opDescribeSecurityGroupReferences = "DescribeSecurityGroupReferences" + +// DescribeSecurityGroupReferencesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSecurityGroupReferences operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeSecurityGroupReferences for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeSecurityGroupReferences method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeSecurityGroupReferencesRequest method. +// req, resp := client.DescribeSecurityGroupReferencesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *EC2) DescribeSecurityGroupReferencesRequest(input *DescribeSecurityGroupReferencesInput) (req *request.Request, output *DescribeSecurityGroupReferencesOutput) { + op := &request.Operation{ + Name: opDescribeSecurityGroupReferences, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeSecurityGroupReferencesInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeSecurityGroupReferencesOutput{} + req.Data = output + return +} + +// DescribeSecurityGroupReferences API operation for Amazon Elastic Compute Cloud. +// +// [EC2-VPC only] Describes the VPCs on the other side of a VPC peering connection +// that are referencing the security groups you've specified in this request. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeSecurityGroupReferences for usage and error information. +func (c *EC2) DescribeSecurityGroupReferences(input *DescribeSecurityGroupReferencesInput) (*DescribeSecurityGroupReferencesOutput, error) { + req, out := c.DescribeSecurityGroupReferencesRequest(input) + err := req.Send() + return out, err +} + const opDescribeSecurityGroups = "DescribeSecurityGroups" -// DescribeSecurityGroupsRequest generates a request for the DescribeSecurityGroups operation. +// DescribeSecurityGroupsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSecurityGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeSecurityGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeSecurityGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeSecurityGroupsRequest method. +// req, resp := client.DescribeSecurityGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeSecurityGroupsRequest(input *DescribeSecurityGroupsInput) (req *request.Request, output *DescribeSecurityGroupsOutput) { op := &request.Operation{ Name: opDescribeSecurityGroups, @@ -3994,6 +8032,8 @@ func (c *EC2) DescribeSecurityGroupsRequest(input *DescribeSecurityGroupsInput) return } +// DescribeSecurityGroups API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of your security groups. // // A security group is for use with instances either in the EC2-Classic platform @@ -4002,6 +8042,13 @@ func (c *EC2) DescribeSecurityGroupsRequest(input *DescribeSecurityGroupsInput) // in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your // VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html) // in the Amazon Virtual Private Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeSecurityGroups for usage and error information. func (c *EC2) DescribeSecurityGroups(input *DescribeSecurityGroupsInput) (*DescribeSecurityGroupsOutput, error) { req, out := c.DescribeSecurityGroupsRequest(input) err := req.Send() @@ -4010,7 +8057,30 @@ func (c *EC2) DescribeSecurityGroups(input *DescribeSecurityGroupsInput) (*Descr const opDescribeSnapshotAttribute = "DescribeSnapshotAttribute" -// DescribeSnapshotAttributeRequest generates a request for the DescribeSnapshotAttribute operation. +// DescribeSnapshotAttributeRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSnapshotAttribute operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeSnapshotAttribute for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeSnapshotAttribute method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeSnapshotAttributeRequest method. +// req, resp := client.DescribeSnapshotAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeSnapshotAttributeRequest(input *DescribeSnapshotAttributeInput) (req *request.Request, output *DescribeSnapshotAttributeOutput) { op := &request.Operation{ Name: opDescribeSnapshotAttribute, @@ -4028,11 +8098,20 @@ func (c *EC2) DescribeSnapshotAttributeRequest(input *DescribeSnapshotAttributeI return } +// DescribeSnapshotAttribute API operation for Amazon Elastic Compute Cloud. +// // Describes the specified attribute of the specified snapshot. You can specify // only one attribute at a time. // -// For more information about EBS snapshots, see Amazon EBS Snapshots in the -// Amazon Elastic Compute Cloud User Guide. +// For more information about EBS snapshots, see Amazon EBS Snapshots (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html) +// in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeSnapshotAttribute for usage and error information. func (c *EC2) DescribeSnapshotAttribute(input *DescribeSnapshotAttributeInput) (*DescribeSnapshotAttributeOutput, error) { req, out := c.DescribeSnapshotAttributeRequest(input) err := req.Send() @@ -4041,7 +8120,30 @@ func (c *EC2) DescribeSnapshotAttribute(input *DescribeSnapshotAttributeInput) ( const opDescribeSnapshots = "DescribeSnapshots" -// DescribeSnapshotsRequest generates a request for the DescribeSnapshots operation. +// DescribeSnapshotsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSnapshots operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeSnapshots for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeSnapshots method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeSnapshotsRequest method. +// req, resp := client.DescribeSnapshotsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) { op := &request.Operation{ Name: opDescribeSnapshots, @@ -4065,6 +8167,8 @@ func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *requ return } +// DescribeSnapshots API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of the EBS snapshots available to you. Available snapshots // include public snapshots available for any AWS account to launch, private // snapshots that you own, and private snapshots owned by another AWS account @@ -4072,14 +8176,14 @@ func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *requ // // The create volume permissions fall into the following categories: // -// public: The owner of the snapshot granted create volume permissions for +// public: The owner of the snapshot granted create volume permissions for // the snapshot to the all group. All AWS accounts have create volume permissions // for these snapshots. // -// explicit: The owner of the snapshot granted create volume permissions +// explicit: The owner of the snapshot granted create volume permissions // to a specific AWS account. // -// implicit: An AWS account has implicit create volume permissions for all +// implicit: An AWS account has implicit create volume permissions for all // snapshots it owns. // // The list of snapshots returned can be modified by specifying snapshot @@ -4092,10 +8196,10 @@ func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *requ // If you specify a snapshot ID for which you do not have access, it is not // included in the returned results. // -// If you specify one or more snapshot owners, only snapshots from the specified -// owners and for which you have access are returned. The results can include -// the AWS account IDs of the specified owners, amazon for snapshots owned by -// Amazon, or self for snapshots that you own. +// If you specify one or more snapshot owners using the OwnerIds option, only +// snapshots from the specified owners and for which you have access are returned. +// The results can include the AWS account IDs of the specified owners, amazon +// for snapshots owned by Amazon, or self for snapshots that you own. // // If you specify a list of restorable users, only snapshots with create snapshot // permissions for those users are returned. You can specify AWS account IDs @@ -4109,14 +8213,38 @@ func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *requ // a NextToken value that can be passed to a subsequent DescribeSnapshots request // to retrieve the remaining results. // -// For more information about EBS snapshots, see Amazon EBS Snapshots in the -// Amazon Elastic Compute Cloud User Guide. +// For more information about EBS snapshots, see Amazon EBS Snapshots (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html) +// in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeSnapshots for usage and error information. func (c *EC2) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) { req, out := c.DescribeSnapshotsRequest(input) err := req.Send() return out, err } +// DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeSnapshots 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 DescribeSnapshots operation. +// pageNum := 0 +// err := client.DescribeSnapshotsPages(params, +// func(page *DescribeSnapshotsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *EC2) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(p *DescribeSnapshotsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeSnapshotsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -4127,7 +8255,30 @@ func (c *EC2) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(p *D const opDescribeSpotDatafeedSubscription = "DescribeSpotDatafeedSubscription" -// DescribeSpotDatafeedSubscriptionRequest generates a request for the DescribeSpotDatafeedSubscription operation. +// DescribeSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSpotDatafeedSubscription operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeSpotDatafeedSubscription for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeSpotDatafeedSubscription method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeSpotDatafeedSubscriptionRequest method. +// req, resp := client.DescribeSpotDatafeedSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeSpotDatafeedSubscriptionRequest(input *DescribeSpotDatafeedSubscriptionInput) (req *request.Request, output *DescribeSpotDatafeedSubscriptionOutput) { op := &request.Operation{ Name: opDescribeSpotDatafeedSubscription, @@ -4145,9 +8296,18 @@ func (c *EC2) DescribeSpotDatafeedSubscriptionRequest(input *DescribeSpotDatafee return } +// DescribeSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud. +// // Describes the data feed for Spot instances. For more information, see Spot // Instance Data Feed (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeSpotDatafeedSubscription for usage and error information. func (c *EC2) DescribeSpotDatafeedSubscription(input *DescribeSpotDatafeedSubscriptionInput) (*DescribeSpotDatafeedSubscriptionOutput, error) { req, out := c.DescribeSpotDatafeedSubscriptionRequest(input) err := req.Send() @@ -4156,7 +8316,30 @@ func (c *EC2) DescribeSpotDatafeedSubscription(input *DescribeSpotDatafeedSubscr const opDescribeSpotFleetInstances = "DescribeSpotFleetInstances" -// DescribeSpotFleetInstancesRequest generates a request for the DescribeSpotFleetInstances operation. +// DescribeSpotFleetInstancesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSpotFleetInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeSpotFleetInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeSpotFleetInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeSpotFleetInstancesRequest method. +// req, resp := client.DescribeSpotFleetInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeSpotFleetInstancesRequest(input *DescribeSpotFleetInstancesInput) (req *request.Request, output *DescribeSpotFleetInstancesOutput) { op := &request.Operation{ Name: opDescribeSpotFleetInstances, @@ -4174,7 +8357,16 @@ func (c *EC2) DescribeSpotFleetInstancesRequest(input *DescribeSpotFleetInstance return } +// DescribeSpotFleetInstances API operation for Amazon Elastic Compute Cloud. +// // Describes the running instances for the specified Spot fleet. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeSpotFleetInstances for usage and error information. func (c *EC2) DescribeSpotFleetInstances(input *DescribeSpotFleetInstancesInput) (*DescribeSpotFleetInstancesOutput, error) { req, out := c.DescribeSpotFleetInstancesRequest(input) err := req.Send() @@ -4183,7 +8375,30 @@ func (c *EC2) DescribeSpotFleetInstances(input *DescribeSpotFleetInstancesInput) const opDescribeSpotFleetRequestHistory = "DescribeSpotFleetRequestHistory" -// DescribeSpotFleetRequestHistoryRequest generates a request for the DescribeSpotFleetRequestHistory operation. +// DescribeSpotFleetRequestHistoryRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSpotFleetRequestHistory operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeSpotFleetRequestHistory for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeSpotFleetRequestHistory method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeSpotFleetRequestHistoryRequest method. +// req, resp := client.DescribeSpotFleetRequestHistoryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeSpotFleetRequestHistoryRequest(input *DescribeSpotFleetRequestHistoryInput) (req *request.Request, output *DescribeSpotFleetRequestHistoryOutput) { op := &request.Operation{ Name: opDescribeSpotFleetRequestHistory, @@ -4201,12 +8416,21 @@ func (c *EC2) DescribeSpotFleetRequestHistoryRequest(input *DescribeSpotFleetReq return } +// DescribeSpotFleetRequestHistory API operation for Amazon Elastic Compute Cloud. +// // Describes the events for the specified Spot fleet request during the specified // time. // // Spot fleet events are delayed by up to 30 seconds before they can be described. // This ensures that you can query by the last evaluated time and not miss a // recorded event. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeSpotFleetRequestHistory for usage and error information. func (c *EC2) DescribeSpotFleetRequestHistory(input *DescribeSpotFleetRequestHistoryInput) (*DescribeSpotFleetRequestHistoryOutput, error) { req, out := c.DescribeSpotFleetRequestHistoryRequest(input) err := req.Send() @@ -4215,12 +8439,41 @@ func (c *EC2) DescribeSpotFleetRequestHistory(input *DescribeSpotFleetRequestHis const opDescribeSpotFleetRequests = "DescribeSpotFleetRequests" -// DescribeSpotFleetRequestsRequest generates a request for the DescribeSpotFleetRequests operation. +// DescribeSpotFleetRequestsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSpotFleetRequests operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeSpotFleetRequests for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeSpotFleetRequests method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeSpotFleetRequestsRequest method. +// req, resp := client.DescribeSpotFleetRequestsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeSpotFleetRequestsRequest(input *DescribeSpotFleetRequestsInput) (req *request.Request, output *DescribeSpotFleetRequestsOutput) { op := &request.Operation{ Name: opDescribeSpotFleetRequests, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -4233,16 +8486,76 @@ func (c *EC2) DescribeSpotFleetRequestsRequest(input *DescribeSpotFleetRequestsI return } +// DescribeSpotFleetRequests API operation for Amazon Elastic Compute Cloud. +// // Describes your Spot fleet requests. +// +// Spot fleet requests are deleted 48 hours after they are canceled and their +// instances are terminated. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeSpotFleetRequests for usage and error information. func (c *EC2) DescribeSpotFleetRequests(input *DescribeSpotFleetRequestsInput) (*DescribeSpotFleetRequestsOutput, error) { req, out := c.DescribeSpotFleetRequestsRequest(input) err := req.Send() return out, err } +// DescribeSpotFleetRequestsPages iterates over the pages of a DescribeSpotFleetRequests operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeSpotFleetRequests 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 DescribeSpotFleetRequests operation. +// pageNum := 0 +// err := client.DescribeSpotFleetRequestsPages(params, +// func(page *DescribeSpotFleetRequestsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeSpotFleetRequestsPages(input *DescribeSpotFleetRequestsInput, fn func(p *DescribeSpotFleetRequestsOutput, lastPage bool) (shouldContinue bool)) error { + page, _ := c.DescribeSpotFleetRequestsRequest(input) + page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) + return page.EachPage(func(p interface{}, lastPage bool) bool { + return fn(p.(*DescribeSpotFleetRequestsOutput), lastPage) + }) +} + const opDescribeSpotInstanceRequests = "DescribeSpotInstanceRequests" -// DescribeSpotInstanceRequestsRequest generates a request for the DescribeSpotInstanceRequests operation. +// DescribeSpotInstanceRequestsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSpotInstanceRequests operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeSpotInstanceRequests for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeSpotInstanceRequests method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeSpotInstanceRequestsRequest method. +// req, resp := client.DescribeSpotInstanceRequestsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeSpotInstanceRequestsRequest(input *DescribeSpotInstanceRequestsInput) (req *request.Request, output *DescribeSpotInstanceRequestsOutput) { op := &request.Operation{ Name: opDescribeSpotInstanceRequests, @@ -4260,6 +8573,8 @@ func (c *EC2) DescribeSpotInstanceRequestsRequest(input *DescribeSpotInstanceReq return } +// DescribeSpotInstanceRequests API operation for Amazon Elastic Compute Cloud. +// // Describes the Spot instance requests that belong to your account. Spot instances // are instances that Amazon EC2 launches when the bid price that you specify // exceeds the current Spot price. Amazon EC2 periodically sets the Spot price @@ -4272,6 +8587,16 @@ func (c *EC2) DescribeSpotInstanceRequestsRequest(input *DescribeSpotInstanceReq // the instance ID appears in the response and contains the identifier of the // instance. Alternatively, you can use DescribeInstances with a filter to look // for instances where the instance lifecycle is spot. +// +// Spot instance requests are deleted 4 hours after they are canceled and their +// instances are terminated. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeSpotInstanceRequests for usage and error information. func (c *EC2) DescribeSpotInstanceRequests(input *DescribeSpotInstanceRequestsInput) (*DescribeSpotInstanceRequestsOutput, error) { req, out := c.DescribeSpotInstanceRequestsRequest(input) err := req.Send() @@ -4280,7 +8605,30 @@ func (c *EC2) DescribeSpotInstanceRequests(input *DescribeSpotInstanceRequestsIn const opDescribeSpotPriceHistory = "DescribeSpotPriceHistory" -// DescribeSpotPriceHistoryRequest generates a request for the DescribeSpotPriceHistory operation. +// DescribeSpotPriceHistoryRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSpotPriceHistory operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeSpotPriceHistory for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeSpotPriceHistory method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeSpotPriceHistoryRequest method. +// req, resp := client.DescribeSpotPriceHistoryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInput) (req *request.Request, output *DescribeSpotPriceHistoryOutput) { op := &request.Operation{ Name: opDescribeSpotPriceHistory, @@ -4304,6 +8652,8 @@ func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInp return } +// DescribeSpotPriceHistory API operation for Amazon Elastic Compute Cloud. +// // Describes the Spot price history. The prices returned are listed in chronological // order, from the oldest to the most recent, for up to the past 90 days. For // more information, see Spot Instance Pricing History (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html) @@ -4313,12 +8663,36 @@ func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInp // of the instance types within the time range that you specified and the time // when the price changed. The price is valid within the time period that you // specified; the response merely indicates the last time that the price changed. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeSpotPriceHistory for usage and error information. func (c *EC2) DescribeSpotPriceHistory(input *DescribeSpotPriceHistoryInput) (*DescribeSpotPriceHistoryOutput, error) { req, out := c.DescribeSpotPriceHistoryRequest(input) err := req.Send() return out, err } +// DescribeSpotPriceHistoryPages iterates over the pages of a DescribeSpotPriceHistory operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeSpotPriceHistory 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 DescribeSpotPriceHistory operation. +// pageNum := 0 +// err := client.DescribeSpotPriceHistoryPages(params, +// func(page *DescribeSpotPriceHistoryOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *EC2) DescribeSpotPriceHistoryPages(input *DescribeSpotPriceHistoryInput, fn func(p *DescribeSpotPriceHistoryOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeSpotPriceHistoryRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -4327,9 +8701,94 @@ func (c *EC2) DescribeSpotPriceHistoryPages(input *DescribeSpotPriceHistoryInput }) } +const opDescribeStaleSecurityGroups = "DescribeStaleSecurityGroups" + +// DescribeStaleSecurityGroupsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeStaleSecurityGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeStaleSecurityGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeStaleSecurityGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeStaleSecurityGroupsRequest method. +// req, resp := client.DescribeStaleSecurityGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *EC2) DescribeStaleSecurityGroupsRequest(input *DescribeStaleSecurityGroupsInput) (req *request.Request, output *DescribeStaleSecurityGroupsOutput) { + op := &request.Operation{ + Name: opDescribeStaleSecurityGroups, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeStaleSecurityGroupsInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeStaleSecurityGroupsOutput{} + req.Data = output + return +} + +// DescribeStaleSecurityGroups API operation for Amazon Elastic Compute Cloud. +// +// [EC2-VPC only] Describes the stale security group rules for security groups +// in a specified VPC. Rules are stale when they reference a deleted security +// group in a peer VPC, or a security group in a peer VPC for which the VPC +// peering connection has been deleted. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeStaleSecurityGroups for usage and error information. +func (c *EC2) DescribeStaleSecurityGroups(input *DescribeStaleSecurityGroupsInput) (*DescribeStaleSecurityGroupsOutput, error) { + req, out := c.DescribeStaleSecurityGroupsRequest(input) + err := req.Send() + return out, err +} + const opDescribeSubnets = "DescribeSubnets" -// DescribeSubnetsRequest generates a request for the DescribeSubnets operation. +// DescribeSubnetsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSubnets operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeSubnets for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeSubnets method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeSubnetsRequest method. +// req, resp := client.DescribeSubnetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeSubnetsRequest(input *DescribeSubnetsInput) (req *request.Request, output *DescribeSubnetsOutput) { op := &request.Operation{ Name: opDescribeSubnets, @@ -4347,10 +8806,19 @@ func (c *EC2) DescribeSubnetsRequest(input *DescribeSubnetsInput) (req *request. return } +// DescribeSubnets API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of your subnets. // // For more information about subnets, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html) // in the Amazon Virtual Private Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeSubnets for usage and error information. func (c *EC2) DescribeSubnets(input *DescribeSubnetsInput) (*DescribeSubnetsOutput, error) { req, out := c.DescribeSubnetsRequest(input) err := req.Send() @@ -4359,7 +8827,30 @@ func (c *EC2) DescribeSubnets(input *DescribeSubnetsInput) (*DescribeSubnetsOutp const opDescribeTags = "DescribeTags" -// DescribeTagsRequest generates a request for the DescribeTags operation. +// DescribeTagsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeTagsRequest method. +// req, resp := client.DescribeTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) { op := &request.Operation{ Name: opDescribeTags, @@ -4383,16 +8874,42 @@ func (c *EC2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Reques return } +// DescribeTags API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of the tags for your EC2 resources. // // For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeTags for usage and error information. func (c *EC2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) { req, out := c.DescribeTagsRequest(input) err := req.Send() return out, err } +// DescribeTagsPages iterates over the pages of a DescribeTags operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeTags 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 DescribeTags operation. +// pageNum := 0 +// err := client.DescribeTagsPages(params, +// func(page *DescribeTagsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *EC2) DescribeTagsPages(input *DescribeTagsInput, fn func(p *DescribeTagsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeTagsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -4403,7 +8920,30 @@ func (c *EC2) DescribeTagsPages(input *DescribeTagsInput, fn func(p *DescribeTag const opDescribeVolumeAttribute = "DescribeVolumeAttribute" -// DescribeVolumeAttributeRequest generates a request for the DescribeVolumeAttribute operation. +// DescribeVolumeAttributeRequest generates a "aws/request.Request" representing the +// client's request for the DescribeVolumeAttribute operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeVolumeAttribute for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeVolumeAttribute method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeVolumeAttributeRequest method. +// req, resp := client.DescribeVolumeAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeVolumeAttributeRequest(input *DescribeVolumeAttributeInput) (req *request.Request, output *DescribeVolumeAttributeOutput) { op := &request.Operation{ Name: opDescribeVolumeAttribute, @@ -4421,11 +8961,20 @@ func (c *EC2) DescribeVolumeAttributeRequest(input *DescribeVolumeAttributeInput return } +// DescribeVolumeAttribute API operation for Amazon Elastic Compute Cloud. +// // Describes the specified attribute of the specified volume. You can specify // only one attribute at a time. // -// For more information about EBS volumes, see Amazon EBS Volumes in the Amazon -// Elastic Compute Cloud User Guide. +// For more information about EBS volumes, see Amazon EBS Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html) +// in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeVolumeAttribute for usage and error information. func (c *EC2) DescribeVolumeAttribute(input *DescribeVolumeAttributeInput) (*DescribeVolumeAttributeOutput, error) { req, out := c.DescribeVolumeAttributeRequest(input) err := req.Send() @@ -4434,7 +8983,30 @@ func (c *EC2) DescribeVolumeAttribute(input *DescribeVolumeAttributeInput) (*Des const opDescribeVolumeStatus = "DescribeVolumeStatus" -// DescribeVolumeStatusRequest generates a request for the DescribeVolumeStatus operation. +// DescribeVolumeStatusRequest generates a "aws/request.Request" representing the +// client's request for the DescribeVolumeStatus operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeVolumeStatus for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeVolumeStatus method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeVolumeStatusRequest method. +// req, resp := client.DescribeVolumeStatusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeVolumeStatusRequest(input *DescribeVolumeStatusInput) (req *request.Request, output *DescribeVolumeStatusOutput) { op := &request.Operation{ Name: opDescribeVolumeStatus, @@ -4458,6 +9030,8 @@ func (c *EC2) DescribeVolumeStatusRequest(input *DescribeVolumeStatusInput) (req return } +// DescribeVolumeStatus API operation for Amazon Elastic Compute Cloud. +// // Describes the status of the specified volumes. Volume status provides the // result of the checks performed on your volumes to determine events that can // impair the performance of your volumes. The performance of a volume can be @@ -4470,21 +9044,21 @@ func (c *EC2) DescribeVolumeStatusRequest(input *DescribeVolumeStatusInput) (req // The DescribeVolumeStatus operation provides the following information about // the specified volumes: // -// Status: Reflects the current status of the volume. The possible values are -// ok, impaired , warning, or insufficient-data. If all checks pass, the overall -// status of the volume is ok. If the check fails, the overall status is impaired. -// If the status is insufficient-data, then the checks may still be taking place -// on your volume at the time. We recommend that you retry the request. For -// more information on volume status, see Monitoring the Status of Your Volumes -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html). +// Status: Reflects the current status of the volume. The possible values +// are ok, impaired , warning, or insufficient-data. If all checks pass, the +// overall status of the volume is ok. If the check fails, the overall status +// is impaired. If the status is insufficient-data, then the checks may still +// be taking place on your volume at the time. We recommend that you retry the +// request. For more information on volume status, see Monitoring the Status +// of Your Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html). // -// Events: Reflect the cause of a volume status and may require you to take +// Events: Reflect the cause of a volume status and may require you to take // action. For example, if your volume returns an impaired status, then the // volume event might be potential-data-inconsistency. This means that your // volume has been affected by an issue with the underlying host, has all I/O // operations disabled, and may have inconsistent data. // -// Actions: Reflect the actions you may have to take in response to an event. +// Actions: Reflect the actions you may have to take in response to an event. // For example, if the status of the volume is impaired and the volume event // shows potential-data-inconsistency, then the action shows enable-volume-io. // This means that you may want to enable the I/O operations for the volume @@ -4493,12 +9067,36 @@ func (c *EC2) DescribeVolumeStatusRequest(input *DescribeVolumeStatusInput) (req // Volume status is based on the volume status checks, and does not reflect // the volume state. Therefore, volume status does not indicate volumes in the // error state (for example, when a volume is incapable of accepting I/O.) +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeVolumeStatus for usage and error information. func (c *EC2) DescribeVolumeStatus(input *DescribeVolumeStatusInput) (*DescribeVolumeStatusOutput, error) { req, out := c.DescribeVolumeStatusRequest(input) err := req.Send() return out, err } +// DescribeVolumeStatusPages iterates over the pages of a DescribeVolumeStatus operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeVolumeStatus 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 DescribeVolumeStatus operation. +// pageNum := 0 +// err := client.DescribeVolumeStatusPages(params, +// func(page *DescribeVolumeStatusOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *EC2) DescribeVolumeStatusPages(input *DescribeVolumeStatusInput, fn func(p *DescribeVolumeStatusOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeVolumeStatusRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -4509,7 +9107,30 @@ func (c *EC2) DescribeVolumeStatusPages(input *DescribeVolumeStatusInput, fn fun const opDescribeVolumes = "DescribeVolumes" -// DescribeVolumesRequest generates a request for the DescribeVolumes operation. +// DescribeVolumesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeVolumes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeVolumes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeVolumes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeVolumesRequest method. +// req, resp := client.DescribeVolumesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request.Request, output *DescribeVolumesOutput) { op := &request.Operation{ Name: opDescribeVolumes, @@ -4533,6 +9154,8 @@ func (c *EC2) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request. return } +// DescribeVolumes API operation for Amazon Elastic Compute Cloud. +// // Describes the specified EBS volumes. // // If you are describing a long list of volumes, you can paginate the output @@ -4542,14 +9165,38 @@ func (c *EC2) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request. // a NextToken value that can be passed to a subsequent DescribeVolumes request // to retrieve the remaining results. // -// For more information about EBS volumes, see Amazon EBS Volumes in the Amazon -// Elastic Compute Cloud User Guide. +// For more information about EBS volumes, see Amazon EBS Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html) +// in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeVolumes for usage and error information. func (c *EC2) DescribeVolumes(input *DescribeVolumesInput) (*DescribeVolumesOutput, error) { req, out := c.DescribeVolumesRequest(input) err := req.Send() return out, err } +// DescribeVolumesPages iterates over the pages of a DescribeVolumes operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeVolumes 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 DescribeVolumes operation. +// pageNum := 0 +// err := client.DescribeVolumesPages(params, +// func(page *DescribeVolumesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *EC2) DescribeVolumesPages(input *DescribeVolumesInput, fn func(p *DescribeVolumesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeVolumesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -4560,7 +9207,30 @@ func (c *EC2) DescribeVolumesPages(input *DescribeVolumesInput, fn func(p *Descr const opDescribeVpcAttribute = "DescribeVpcAttribute" -// DescribeVpcAttributeRequest generates a request for the DescribeVpcAttribute operation. +// DescribeVpcAttributeRequest generates a "aws/request.Request" representing the +// client's request for the DescribeVpcAttribute operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeVpcAttribute for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeVpcAttribute method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeVpcAttributeRequest method. +// req, resp := client.DescribeVpcAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeVpcAttributeRequest(input *DescribeVpcAttributeInput) (req *request.Request, output *DescribeVpcAttributeOutput) { op := &request.Operation{ Name: opDescribeVpcAttribute, @@ -4578,8 +9248,17 @@ func (c *EC2) DescribeVpcAttributeRequest(input *DescribeVpcAttributeInput) (req return } +// DescribeVpcAttribute API operation for Amazon Elastic Compute Cloud. +// // Describes the specified attribute of the specified VPC. You can specify only // one attribute at a time. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeVpcAttribute for usage and error information. func (c *EC2) DescribeVpcAttribute(input *DescribeVpcAttributeInput) (*DescribeVpcAttributeOutput, error) { req, out := c.DescribeVpcAttributeRequest(input) err := req.Send() @@ -4588,7 +9267,30 @@ func (c *EC2) DescribeVpcAttribute(input *DescribeVpcAttributeInput) (*DescribeV const opDescribeVpcClassicLink = "DescribeVpcClassicLink" -// DescribeVpcClassicLinkRequest generates a request for the DescribeVpcClassicLink operation. +// DescribeVpcClassicLinkRequest generates a "aws/request.Request" representing the +// client's request for the DescribeVpcClassicLink operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeVpcClassicLink for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeVpcClassicLink method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeVpcClassicLinkRequest method. +// req, resp := client.DescribeVpcClassicLinkRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeVpcClassicLinkRequest(input *DescribeVpcClassicLinkInput) (req *request.Request, output *DescribeVpcClassicLinkOutput) { op := &request.Operation{ Name: opDescribeVpcClassicLink, @@ -4606,7 +9308,16 @@ func (c *EC2) DescribeVpcClassicLinkRequest(input *DescribeVpcClassicLinkInput) return } +// DescribeVpcClassicLink API operation for Amazon Elastic Compute Cloud. +// // Describes the ClassicLink status of one or more VPCs. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeVpcClassicLink for usage and error information. func (c *EC2) DescribeVpcClassicLink(input *DescribeVpcClassicLinkInput) (*DescribeVpcClassicLinkOutput, error) { req, out := c.DescribeVpcClassicLinkRequest(input) err := req.Send() @@ -4615,7 +9326,30 @@ func (c *EC2) DescribeVpcClassicLink(input *DescribeVpcClassicLinkInput) (*Descr const opDescribeVpcClassicLinkDnsSupport = "DescribeVpcClassicLinkDnsSupport" -// DescribeVpcClassicLinkDnsSupportRequest generates a request for the DescribeVpcClassicLinkDnsSupport operation. +// DescribeVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the +// client's request for the DescribeVpcClassicLinkDnsSupport operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeVpcClassicLinkDnsSupport for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeVpcClassicLinkDnsSupport method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeVpcClassicLinkDnsSupportRequest method. +// req, resp := client.DescribeVpcClassicLinkDnsSupportRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeVpcClassicLinkDnsSupportRequest(input *DescribeVpcClassicLinkDnsSupportInput) (req *request.Request, output *DescribeVpcClassicLinkDnsSupportOutput) { op := &request.Operation{ Name: opDescribeVpcClassicLinkDnsSupport, @@ -4633,6 +9367,8 @@ func (c *EC2) DescribeVpcClassicLinkDnsSupportRequest(input *DescribeVpcClassicL return } +// DescribeVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud. +// // Describes the ClassicLink DNS support status of one or more VPCs. If enabled, // the DNS hostname of a linked EC2-Classic instance resolves to its private // IP address when addressed from an instance in the VPC to which it's linked. @@ -4640,6 +9376,13 @@ func (c *EC2) DescribeVpcClassicLinkDnsSupportRequest(input *DescribeVpcClassicL // IP address when addressed from a linked EC2-Classic instance. For more information // about ClassicLink, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeVpcClassicLinkDnsSupport for usage and error information. func (c *EC2) DescribeVpcClassicLinkDnsSupport(input *DescribeVpcClassicLinkDnsSupportInput) (*DescribeVpcClassicLinkDnsSupportOutput, error) { req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input) err := req.Send() @@ -4648,7 +9391,30 @@ func (c *EC2) DescribeVpcClassicLinkDnsSupport(input *DescribeVpcClassicLinkDnsS const opDescribeVpcEndpointServices = "DescribeVpcEndpointServices" -// DescribeVpcEndpointServicesRequest generates a request for the DescribeVpcEndpointServices operation. +// DescribeVpcEndpointServicesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeVpcEndpointServices operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeVpcEndpointServices for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeVpcEndpointServices method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeVpcEndpointServicesRequest method. +// req, resp := client.DescribeVpcEndpointServicesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeVpcEndpointServicesRequest(input *DescribeVpcEndpointServicesInput) (req *request.Request, output *DescribeVpcEndpointServicesOutput) { op := &request.Operation{ Name: opDescribeVpcEndpointServices, @@ -4666,8 +9432,17 @@ func (c *EC2) DescribeVpcEndpointServicesRequest(input *DescribeVpcEndpointServi return } +// DescribeVpcEndpointServices API operation for Amazon Elastic Compute Cloud. +// // Describes all supported AWS services that can be specified when creating // a VPC 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 Elastic Compute Cloud's +// API operation DescribeVpcEndpointServices for usage and error information. func (c *EC2) DescribeVpcEndpointServices(input *DescribeVpcEndpointServicesInput) (*DescribeVpcEndpointServicesOutput, error) { req, out := c.DescribeVpcEndpointServicesRequest(input) err := req.Send() @@ -4676,7 +9451,30 @@ func (c *EC2) DescribeVpcEndpointServices(input *DescribeVpcEndpointServicesInpu const opDescribeVpcEndpoints = "DescribeVpcEndpoints" -// DescribeVpcEndpointsRequest generates a request for the DescribeVpcEndpoints operation. +// DescribeVpcEndpointsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeVpcEndpoints operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeVpcEndpoints for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeVpcEndpoints method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeVpcEndpointsRequest method. +// req, resp := client.DescribeVpcEndpointsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeVpcEndpointsRequest(input *DescribeVpcEndpointsInput) (req *request.Request, output *DescribeVpcEndpointsOutput) { op := &request.Operation{ Name: opDescribeVpcEndpoints, @@ -4694,7 +9492,16 @@ func (c *EC2) DescribeVpcEndpointsRequest(input *DescribeVpcEndpointsInput) (req return } +// DescribeVpcEndpoints API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of your VPC 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 Elastic Compute Cloud's +// API operation DescribeVpcEndpoints for usage and error information. func (c *EC2) DescribeVpcEndpoints(input *DescribeVpcEndpointsInput) (*DescribeVpcEndpointsOutput, error) { req, out := c.DescribeVpcEndpointsRequest(input) err := req.Send() @@ -4703,7 +9510,30 @@ func (c *EC2) DescribeVpcEndpoints(input *DescribeVpcEndpointsInput) (*DescribeV const opDescribeVpcPeeringConnections = "DescribeVpcPeeringConnections" -// DescribeVpcPeeringConnectionsRequest generates a request for the DescribeVpcPeeringConnections operation. +// DescribeVpcPeeringConnectionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeVpcPeeringConnections operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeVpcPeeringConnections for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeVpcPeeringConnections method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeVpcPeeringConnectionsRequest method. +// req, resp := client.DescribeVpcPeeringConnectionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeVpcPeeringConnectionsRequest(input *DescribeVpcPeeringConnectionsInput) (req *request.Request, output *DescribeVpcPeeringConnectionsOutput) { op := &request.Operation{ Name: opDescribeVpcPeeringConnections, @@ -4721,7 +9551,16 @@ func (c *EC2) DescribeVpcPeeringConnectionsRequest(input *DescribeVpcPeeringConn return } +// DescribeVpcPeeringConnections API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of your VPC peering connections. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeVpcPeeringConnections for usage and error information. func (c *EC2) DescribeVpcPeeringConnections(input *DescribeVpcPeeringConnectionsInput) (*DescribeVpcPeeringConnectionsOutput, error) { req, out := c.DescribeVpcPeeringConnectionsRequest(input) err := req.Send() @@ -4730,7 +9569,30 @@ func (c *EC2) DescribeVpcPeeringConnections(input *DescribeVpcPeeringConnections const opDescribeVpcs = "DescribeVpcs" -// DescribeVpcsRequest generates a request for the DescribeVpcs operation. +// DescribeVpcsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeVpcs operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeVpcs for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeVpcs method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeVpcsRequest method. +// req, resp := client.DescribeVpcsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeVpcsRequest(input *DescribeVpcsInput) (req *request.Request, output *DescribeVpcsOutput) { op := &request.Operation{ Name: opDescribeVpcs, @@ -4748,7 +9610,16 @@ func (c *EC2) DescribeVpcsRequest(input *DescribeVpcsInput) (req *request.Reques return } +// DescribeVpcs API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of your VPCs. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeVpcs for usage and error information. func (c *EC2) DescribeVpcs(input *DescribeVpcsInput) (*DescribeVpcsOutput, error) { req, out := c.DescribeVpcsRequest(input) err := req.Send() @@ -4757,7 +9628,30 @@ func (c *EC2) DescribeVpcs(input *DescribeVpcsInput) (*DescribeVpcsOutput, error const opDescribeVpnConnections = "DescribeVpnConnections" -// DescribeVpnConnectionsRequest generates a request for the DescribeVpnConnections operation. +// DescribeVpnConnectionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeVpnConnections operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeVpnConnections for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeVpnConnections method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeVpnConnectionsRequest method. +// req, resp := client.DescribeVpnConnectionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeVpnConnectionsRequest(input *DescribeVpnConnectionsInput) (req *request.Request, output *DescribeVpnConnectionsOutput) { op := &request.Operation{ Name: opDescribeVpnConnections, @@ -4775,11 +9669,20 @@ func (c *EC2) DescribeVpnConnectionsRequest(input *DescribeVpnConnectionsInput) return } +// DescribeVpnConnections API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of your VPN connections. // // For more information about VPN connections, see Adding a Hardware Virtual // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) // in the Amazon Virtual Private Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeVpnConnections for usage and error information. func (c *EC2) DescribeVpnConnections(input *DescribeVpnConnectionsInput) (*DescribeVpnConnectionsOutput, error) { req, out := c.DescribeVpnConnectionsRequest(input) err := req.Send() @@ -4788,7 +9691,30 @@ func (c *EC2) DescribeVpnConnections(input *DescribeVpnConnectionsInput) (*Descr const opDescribeVpnGateways = "DescribeVpnGateways" -// DescribeVpnGatewaysRequest generates a request for the DescribeVpnGateways operation. +// DescribeVpnGatewaysRequest generates a "aws/request.Request" representing the +// client's request for the DescribeVpnGateways operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeVpnGateways for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeVpnGateways method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeVpnGatewaysRequest method. +// req, resp := client.DescribeVpnGatewaysRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DescribeVpnGatewaysRequest(input *DescribeVpnGatewaysInput) (req *request.Request, output *DescribeVpnGatewaysOutput) { op := &request.Operation{ Name: opDescribeVpnGateways, @@ -4806,11 +9732,20 @@ func (c *EC2) DescribeVpnGatewaysRequest(input *DescribeVpnGatewaysInput) (req * return } +// DescribeVpnGateways API operation for Amazon Elastic Compute Cloud. +// // Describes one or more of your virtual private gateways. // // For more information about virtual private gateways, see Adding an IPsec // Hardware VPN to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html) // in the Amazon Virtual Private Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeVpnGateways for usage and error information. func (c *EC2) DescribeVpnGateways(input *DescribeVpnGatewaysInput) (*DescribeVpnGatewaysOutput, error) { req, out := c.DescribeVpnGatewaysRequest(input) err := req.Send() @@ -4819,7 +9754,30 @@ func (c *EC2) DescribeVpnGateways(input *DescribeVpnGatewaysInput) (*DescribeVpn const opDetachClassicLinkVpc = "DetachClassicLinkVpc" -// DetachClassicLinkVpcRequest generates a request for the DetachClassicLinkVpc operation. +// DetachClassicLinkVpcRequest generates a "aws/request.Request" representing the +// client's request for the DetachClassicLinkVpc operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DetachClassicLinkVpc for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DetachClassicLinkVpc method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DetachClassicLinkVpcRequest method. +// req, resp := client.DetachClassicLinkVpcRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DetachClassicLinkVpcRequest(input *DetachClassicLinkVpcInput) (req *request.Request, output *DetachClassicLinkVpcOutput) { op := &request.Operation{ Name: opDetachClassicLinkVpc, @@ -4837,9 +9795,18 @@ func (c *EC2) DetachClassicLinkVpcRequest(input *DetachClassicLinkVpcInput) (req return } +// DetachClassicLinkVpc API operation for Amazon Elastic Compute Cloud. +// // Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance // has been unlinked, the VPC security groups are no longer associated with // it. An instance is automatically unlinked from a VPC when it's stopped. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DetachClassicLinkVpc for usage and error information. func (c *EC2) DetachClassicLinkVpc(input *DetachClassicLinkVpcInput) (*DetachClassicLinkVpcOutput, error) { req, out := c.DetachClassicLinkVpcRequest(input) err := req.Send() @@ -4848,7 +9815,30 @@ func (c *EC2) DetachClassicLinkVpc(input *DetachClassicLinkVpcInput) (*DetachCla const opDetachInternetGateway = "DetachInternetGateway" -// DetachInternetGatewayRequest generates a request for the DetachInternetGateway operation. +// DetachInternetGatewayRequest generates a "aws/request.Request" representing the +// client's request for the DetachInternetGateway operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DetachInternetGateway for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DetachInternetGateway method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DetachInternetGatewayRequest method. +// req, resp := client.DetachInternetGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DetachInternetGatewayRequest(input *DetachInternetGatewayInput) (req *request.Request, output *DetachInternetGatewayOutput) { op := &request.Operation{ Name: opDetachInternetGateway, @@ -4868,9 +9858,18 @@ func (c *EC2) DetachInternetGatewayRequest(input *DetachInternetGatewayInput) (r return } +// DetachInternetGateway API operation for Amazon Elastic Compute Cloud. +// // Detaches an Internet gateway from a VPC, disabling connectivity between the // Internet and the VPC. The VPC must not contain any running instances with // Elastic IP addresses. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DetachInternetGateway for usage and error information. func (c *EC2) DetachInternetGateway(input *DetachInternetGatewayInput) (*DetachInternetGatewayOutput, error) { req, out := c.DetachInternetGatewayRequest(input) err := req.Send() @@ -4879,7 +9878,30 @@ func (c *EC2) DetachInternetGateway(input *DetachInternetGatewayInput) (*DetachI const opDetachNetworkInterface = "DetachNetworkInterface" -// DetachNetworkInterfaceRequest generates a request for the DetachNetworkInterface operation. +// DetachNetworkInterfaceRequest generates a "aws/request.Request" representing the +// client's request for the DetachNetworkInterface operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DetachNetworkInterface for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DetachNetworkInterface method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DetachNetworkInterfaceRequest method. +// req, resp := client.DetachNetworkInterfaceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DetachNetworkInterfaceRequest(input *DetachNetworkInterfaceInput) (req *request.Request, output *DetachNetworkInterfaceOutput) { op := &request.Operation{ Name: opDetachNetworkInterface, @@ -4899,7 +9921,16 @@ func (c *EC2) DetachNetworkInterfaceRequest(input *DetachNetworkInterfaceInput) return } +// DetachNetworkInterface API operation for Amazon Elastic Compute Cloud. +// // Detaches a network interface from an instance. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DetachNetworkInterface for usage and error information. func (c *EC2) DetachNetworkInterface(input *DetachNetworkInterfaceInput) (*DetachNetworkInterfaceOutput, error) { req, out := c.DetachNetworkInterfaceRequest(input) err := req.Send() @@ -4908,7 +9939,30 @@ func (c *EC2) DetachNetworkInterface(input *DetachNetworkInterfaceInput) (*Detac const opDetachVolume = "DetachVolume" -// DetachVolumeRequest generates a request for the DetachVolume operation. +// DetachVolumeRequest generates a "aws/request.Request" representing the +// client's request for the DetachVolume operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DetachVolume for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DetachVolume method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DetachVolumeRequest method. +// req, resp := client.DetachVolumeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DetachVolumeRequest(input *DetachVolumeInput) (req *request.Request, output *VolumeAttachment) { op := &request.Operation{ Name: opDetachVolume, @@ -4926,11 +9980,14 @@ func (c *EC2) DetachVolumeRequest(input *DetachVolumeInput) (req *request.Reques return } +// DetachVolume API operation for Amazon Elastic Compute Cloud. +// // Detaches an EBS volume from an instance. Make sure to unmount any file systems // on the device within your operating system before detaching the volume. Failure -// to do so results in the volume being stuck in a busy state while detaching. -// -// If an Amazon EBS volume is the root device of an instance, it can't be detached +// to do so can result in the volume becoming stuck in the busy state while +// detaching. If this happens, detachment can be delayed indefinitely until +// you unmount the volume, force detachment, reboot the instance, or all three. +// If an EBS volume is the root device of an instance, it can't be detached // while the instance is running. To detach the root volume, stop the instance // first. // @@ -4939,6 +9996,13 @@ func (c *EC2) DetachVolumeRequest(input *DetachVolumeInput) (req *request.Reques // // For more information, see Detaching an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DetachVolume for usage and error information. func (c *EC2) DetachVolume(input *DetachVolumeInput) (*VolumeAttachment, error) { req, out := c.DetachVolumeRequest(input) err := req.Send() @@ -4947,7 +10011,30 @@ func (c *EC2) DetachVolume(input *DetachVolumeInput) (*VolumeAttachment, error) const opDetachVpnGateway = "DetachVpnGateway" -// DetachVpnGatewayRequest generates a request for the DetachVpnGateway operation. +// DetachVpnGatewayRequest generates a "aws/request.Request" representing the +// client's request for the DetachVpnGateway operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DetachVpnGateway for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DetachVpnGateway method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DetachVpnGatewayRequest method. +// req, resp := client.DetachVpnGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DetachVpnGatewayRequest(input *DetachVpnGatewayInput) (req *request.Request, output *DetachVpnGatewayOutput) { op := &request.Operation{ Name: opDetachVpnGateway, @@ -4967,6 +10054,8 @@ func (c *EC2) DetachVpnGatewayRequest(input *DetachVpnGatewayInput) (req *reques return } +// DetachVpnGateway API operation for Amazon Elastic Compute Cloud. +// // Detaches a virtual private gateway from a VPC. You do this if you're planning // to turn off the VPC and not use it anymore. You can confirm a virtual private // gateway has been completely detached from a VPC by describing the virtual @@ -4975,6 +10064,13 @@ func (c *EC2) DetachVpnGatewayRequest(input *DetachVpnGatewayInput) (req *reques // // You must wait for the attachment's state to switch to detached before you // can delete the VPC or attach a different VPC to the virtual private gateway. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DetachVpnGateway for usage and error information. func (c *EC2) DetachVpnGateway(input *DetachVpnGatewayInput) (*DetachVpnGatewayOutput, error) { req, out := c.DetachVpnGatewayRequest(input) err := req.Send() @@ -4983,7 +10079,30 @@ func (c *EC2) DetachVpnGateway(input *DetachVpnGatewayInput) (*DetachVpnGatewayO const opDisableVgwRoutePropagation = "DisableVgwRoutePropagation" -// DisableVgwRoutePropagationRequest generates a request for the DisableVgwRoutePropagation operation. +// DisableVgwRoutePropagationRequest generates a "aws/request.Request" representing the +// client's request for the DisableVgwRoutePropagation operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DisableVgwRoutePropagation for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DisableVgwRoutePropagation method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DisableVgwRoutePropagationRequest method. +// req, resp := client.DisableVgwRoutePropagationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DisableVgwRoutePropagationRequest(input *DisableVgwRoutePropagationInput) (req *request.Request, output *DisableVgwRoutePropagationOutput) { op := &request.Operation{ Name: opDisableVgwRoutePropagation, @@ -5003,9 +10122,18 @@ func (c *EC2) DisableVgwRoutePropagationRequest(input *DisableVgwRoutePropagatio return } +// DisableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud. +// // Disables a virtual private gateway (VGW) from propagating routes to a specified // route table of a VPC. -func (c *EC2) DisableVgwRoutePropagation(input *DisableVgwRoutePropagationInput) (*DisableVgwRoutePropagationOutput, error) { +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DisableVgwRoutePropagation for usage and error information. +func (c *EC2) DisableVgwRoutePropagation(input *DisableVgwRoutePropagationInput) (*DisableVgwRoutePropagationOutput, error) { req, out := c.DisableVgwRoutePropagationRequest(input) err := req.Send() return out, err @@ -5013,7 +10141,30 @@ func (c *EC2) DisableVgwRoutePropagation(input *DisableVgwRoutePropagationInput) const opDisableVpcClassicLink = "DisableVpcClassicLink" -// DisableVpcClassicLinkRequest generates a request for the DisableVpcClassicLink operation. +// DisableVpcClassicLinkRequest generates a "aws/request.Request" representing the +// client's request for the DisableVpcClassicLink operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DisableVpcClassicLink for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DisableVpcClassicLink method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DisableVpcClassicLinkRequest method. +// req, resp := client.DisableVpcClassicLinkRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DisableVpcClassicLinkRequest(input *DisableVpcClassicLinkInput) (req *request.Request, output *DisableVpcClassicLinkOutput) { op := &request.Operation{ Name: opDisableVpcClassicLink, @@ -5031,8 +10182,17 @@ func (c *EC2) DisableVpcClassicLinkRequest(input *DisableVpcClassicLinkInput) (r return } +// DisableVpcClassicLink API operation for Amazon Elastic Compute Cloud. +// // Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC // that has EC2-Classic instances linked to it. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DisableVpcClassicLink for usage and error information. func (c *EC2) DisableVpcClassicLink(input *DisableVpcClassicLinkInput) (*DisableVpcClassicLinkOutput, error) { req, out := c.DisableVpcClassicLinkRequest(input) err := req.Send() @@ -5041,7 +10201,30 @@ func (c *EC2) DisableVpcClassicLink(input *DisableVpcClassicLinkInput) (*Disable const opDisableVpcClassicLinkDnsSupport = "DisableVpcClassicLinkDnsSupport" -// DisableVpcClassicLinkDnsSupportRequest generates a request for the DisableVpcClassicLinkDnsSupport operation. +// DisableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the +// client's request for the DisableVpcClassicLinkDnsSupport operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DisableVpcClassicLinkDnsSupport for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DisableVpcClassicLinkDnsSupport method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DisableVpcClassicLinkDnsSupportRequest method. +// req, resp := client.DisableVpcClassicLinkDnsSupportRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DisableVpcClassicLinkDnsSupportRequest(input *DisableVpcClassicLinkDnsSupportInput) (req *request.Request, output *DisableVpcClassicLinkDnsSupportOutput) { op := &request.Operation{ Name: opDisableVpcClassicLinkDnsSupport, @@ -5059,11 +10242,20 @@ func (c *EC2) DisableVpcClassicLinkDnsSupportRequest(input *DisableVpcClassicLin return } +// DisableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud. +// // Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve // to public IP addresses when addressed between a linked EC2-Classic instance // and instances in the VPC to which it's linked. For more information about // ClassicLink, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DisableVpcClassicLinkDnsSupport for usage and error information. func (c *EC2) DisableVpcClassicLinkDnsSupport(input *DisableVpcClassicLinkDnsSupportInput) (*DisableVpcClassicLinkDnsSupportOutput, error) { req, out := c.DisableVpcClassicLinkDnsSupportRequest(input) err := req.Send() @@ -5072,7 +10264,30 @@ func (c *EC2) DisableVpcClassicLinkDnsSupport(input *DisableVpcClassicLinkDnsSup const opDisassociateAddress = "DisassociateAddress" -// DisassociateAddressRequest generates a request for the DisassociateAddress operation. +// DisassociateAddressRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateAddress operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DisassociateAddress for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DisassociateAddress method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DisassociateAddressRequest method. +// req, resp := client.DisassociateAddressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DisassociateAddressRequest(input *DisassociateAddressInput) (req *request.Request, output *DisassociateAddressOutput) { op := &request.Operation{ Name: opDisassociateAddress, @@ -5092,6 +10307,8 @@ func (c *EC2) DisassociateAddressRequest(input *DisassociateAddressInput) (req * return } +// DisassociateAddress API operation for Amazon Elastic Compute Cloud. +// // Disassociates an Elastic IP address from the instance or network interface // it's associated with. // @@ -5101,6 +10318,13 @@ func (c *EC2) DisassociateAddressRequest(input *DisassociateAddressInput) (req * // // This is an idempotent operation. If you perform the operation more than // once, Amazon EC2 doesn't return an error. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DisassociateAddress for usage and error information. func (c *EC2) DisassociateAddress(input *DisassociateAddressInput) (*DisassociateAddressOutput, error) { req, out := c.DisassociateAddressRequest(input) err := req.Send() @@ -5109,7 +10333,30 @@ func (c *EC2) DisassociateAddress(input *DisassociateAddressInput) (*Disassociat const opDisassociateRouteTable = "DisassociateRouteTable" -// DisassociateRouteTableRequest generates a request for the DisassociateRouteTable operation. +// DisassociateRouteTableRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateRouteTable operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DisassociateRouteTable for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DisassociateRouteTable method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DisassociateRouteTableRequest method. +// req, resp := client.DisassociateRouteTableRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) DisassociateRouteTableRequest(input *DisassociateRouteTableInput) (req *request.Request, output *DisassociateRouteTableOutput) { op := &request.Operation{ Name: opDisassociateRouteTable, @@ -5129,12 +10376,21 @@ func (c *EC2) DisassociateRouteTableRequest(input *DisassociateRouteTableInput) return } +// DisassociateRouteTable API operation for Amazon Elastic Compute Cloud. +// // Disassociates a subnet from a route table. // // After you perform this action, the subnet no longer uses the routes in the // route table. Instead, it uses the routes in the VPC's main route table. For // more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) // in the Amazon Virtual Private Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DisassociateRouteTable for usage and error information. func (c *EC2) DisassociateRouteTable(input *DisassociateRouteTableInput) (*DisassociateRouteTableOutput, error) { req, out := c.DisassociateRouteTableRequest(input) err := req.Send() @@ -5143,7 +10399,30 @@ func (c *EC2) DisassociateRouteTable(input *DisassociateRouteTableInput) (*Disas const opEnableVgwRoutePropagation = "EnableVgwRoutePropagation" -// EnableVgwRoutePropagationRequest generates a request for the EnableVgwRoutePropagation operation. +// EnableVgwRoutePropagationRequest generates a "aws/request.Request" representing the +// client's request for the EnableVgwRoutePropagation operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See EnableVgwRoutePropagation for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the EnableVgwRoutePropagation method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the EnableVgwRoutePropagationRequest method. +// req, resp := client.EnableVgwRoutePropagationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) EnableVgwRoutePropagationRequest(input *EnableVgwRoutePropagationInput) (req *request.Request, output *EnableVgwRoutePropagationOutput) { op := &request.Operation{ Name: opEnableVgwRoutePropagation, @@ -5163,8 +10442,17 @@ func (c *EC2) EnableVgwRoutePropagationRequest(input *EnableVgwRoutePropagationI return } +// EnableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud. +// // Enables a virtual private gateway (VGW) to propagate routes to the specified // route table of a VPC. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation EnableVgwRoutePropagation for usage and error information. func (c *EC2) EnableVgwRoutePropagation(input *EnableVgwRoutePropagationInput) (*EnableVgwRoutePropagationOutput, error) { req, out := c.EnableVgwRoutePropagationRequest(input) err := req.Send() @@ -5173,7 +10461,30 @@ func (c *EC2) EnableVgwRoutePropagation(input *EnableVgwRoutePropagationInput) ( const opEnableVolumeIO = "EnableVolumeIO" -// EnableVolumeIORequest generates a request for the EnableVolumeIO operation. +// EnableVolumeIORequest generates a "aws/request.Request" representing the +// client's request for the EnableVolumeIO operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See EnableVolumeIO for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the EnableVolumeIO method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the EnableVolumeIORequest method. +// req, resp := client.EnableVolumeIORequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) EnableVolumeIORequest(input *EnableVolumeIOInput) (req *request.Request, output *EnableVolumeIOOutput) { op := &request.Operation{ Name: opEnableVolumeIO, @@ -5193,8 +10504,17 @@ func (c *EC2) EnableVolumeIORequest(input *EnableVolumeIOInput) (req *request.Re return } +// EnableVolumeIO API operation for Amazon Elastic Compute Cloud. +// // Enables I/O operations for a volume that had I/O operations disabled because // the data on the volume was potentially inconsistent. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation EnableVolumeIO for usage and error information. func (c *EC2) EnableVolumeIO(input *EnableVolumeIOInput) (*EnableVolumeIOOutput, error) { req, out := c.EnableVolumeIORequest(input) err := req.Send() @@ -5203,7 +10523,30 @@ func (c *EC2) EnableVolumeIO(input *EnableVolumeIOInput) (*EnableVolumeIOOutput, const opEnableVpcClassicLink = "EnableVpcClassicLink" -// EnableVpcClassicLinkRequest generates a request for the EnableVpcClassicLink operation. +// EnableVpcClassicLinkRequest generates a "aws/request.Request" representing the +// client's request for the EnableVpcClassicLink operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See EnableVpcClassicLink for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the EnableVpcClassicLink method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the EnableVpcClassicLinkRequest method. +// req, resp := client.EnableVpcClassicLinkRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) EnableVpcClassicLinkRequest(input *EnableVpcClassicLinkInput) (req *request.Request, output *EnableVpcClassicLinkOutput) { op := &request.Operation{ Name: opEnableVpcClassicLink, @@ -5221,6 +10564,8 @@ func (c *EC2) EnableVpcClassicLinkRequest(input *EnableVpcClassicLinkInput) (req return } +// EnableVpcClassicLink API operation for Amazon Elastic Compute Cloud. +// // Enables a VPC for ClassicLink. You can then link EC2-Classic instances to // your ClassicLink-enabled VPC to allow communication over private IP addresses. // You cannot enable your VPC for ClassicLink if any of your VPC's route tables @@ -5228,6 +10573,13 @@ func (c *EC2) EnableVpcClassicLinkRequest(input *EnableVpcClassicLinkInput) (req // range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16 // IP address ranges. For more information, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation EnableVpcClassicLink for usage and error information. func (c *EC2) EnableVpcClassicLink(input *EnableVpcClassicLinkInput) (*EnableVpcClassicLinkOutput, error) { req, out := c.EnableVpcClassicLinkRequest(input) err := req.Send() @@ -5236,7 +10588,30 @@ func (c *EC2) EnableVpcClassicLink(input *EnableVpcClassicLinkInput) (*EnableVpc const opEnableVpcClassicLinkDnsSupport = "EnableVpcClassicLinkDnsSupport" -// EnableVpcClassicLinkDnsSupportRequest generates a request for the EnableVpcClassicLinkDnsSupport operation. +// EnableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the +// client's request for the EnableVpcClassicLinkDnsSupport operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See EnableVpcClassicLinkDnsSupport for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the EnableVpcClassicLinkDnsSupport method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the EnableVpcClassicLinkDnsSupportRequest method. +// req, resp := client.EnableVpcClassicLinkDnsSupportRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) EnableVpcClassicLinkDnsSupportRequest(input *EnableVpcClassicLinkDnsSupportInput) (req *request.Request, output *EnableVpcClassicLinkDnsSupportOutput) { op := &request.Operation{ Name: opEnableVpcClassicLinkDnsSupport, @@ -5254,6 +10629,8 @@ func (c *EC2) EnableVpcClassicLinkDnsSupportRequest(input *EnableVpcClassicLinkD return } +// EnableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud. +// // Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled, // the DNS hostname of a linked EC2-Classic instance resolves to its private // IP address when addressed from an instance in the VPC to which it's linked. @@ -5261,6 +10638,13 @@ func (c *EC2) EnableVpcClassicLinkDnsSupportRequest(input *EnableVpcClassicLinkD // IP address when addressed from a linked EC2-Classic instance. For more information // about ClassicLink, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation EnableVpcClassicLinkDnsSupport for usage and error information. func (c *EC2) EnableVpcClassicLinkDnsSupport(input *EnableVpcClassicLinkDnsSupportInput) (*EnableVpcClassicLinkDnsSupportOutput, error) { req, out := c.EnableVpcClassicLinkDnsSupportRequest(input) err := req.Send() @@ -5269,7 +10653,30 @@ func (c *EC2) EnableVpcClassicLinkDnsSupport(input *EnableVpcClassicLinkDnsSuppo const opGetConsoleOutput = "GetConsoleOutput" -// GetConsoleOutputRequest generates a request for the GetConsoleOutput operation. +// GetConsoleOutputRequest generates a "aws/request.Request" representing the +// client's request for the GetConsoleOutput operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetConsoleOutput for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetConsoleOutput method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetConsoleOutputRequest method. +// req, resp := client.GetConsoleOutputRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) GetConsoleOutputRequest(input *GetConsoleOutputInput) (req *request.Request, output *GetConsoleOutputOutput) { op := &request.Operation{ Name: opGetConsoleOutput, @@ -5287,6 +10694,8 @@ func (c *EC2) GetConsoleOutputRequest(input *GetConsoleOutputInput) (req *reques return } +// GetConsoleOutput API operation for Amazon Elastic Compute Cloud. +// // Gets the console output for the specified instance. // // Instances do not have a physical monitor through which you can view their @@ -5305,15 +10714,170 @@ func (c *EC2) GetConsoleOutputRequest(input *GetConsoleOutputInput) (req *reques // // For Windows instances, the instance console output includes output from // the EC2Config service. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation GetConsoleOutput for usage and error information. func (c *EC2) GetConsoleOutput(input *GetConsoleOutputInput) (*GetConsoleOutputOutput, error) { req, out := c.GetConsoleOutputRequest(input) err := req.Send() return out, err } +const opGetConsoleScreenshot = "GetConsoleScreenshot" + +// GetConsoleScreenshotRequest generates a "aws/request.Request" representing the +// client's request for the GetConsoleScreenshot operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetConsoleScreenshot for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetConsoleScreenshot method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetConsoleScreenshotRequest method. +// req, resp := client.GetConsoleScreenshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *EC2) GetConsoleScreenshotRequest(input *GetConsoleScreenshotInput) (req *request.Request, output *GetConsoleScreenshotOutput) { + op := &request.Operation{ + Name: opGetConsoleScreenshot, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetConsoleScreenshotInput{} + } + + req = c.newRequest(op, input, output) + output = &GetConsoleScreenshotOutput{} + req.Data = output + return +} + +// GetConsoleScreenshot API operation for Amazon Elastic Compute Cloud. +// +// Retrieve a JPG-format screenshot of a running instance to help with troubleshooting. +// +// The returned content is Base64-encoded. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation GetConsoleScreenshot for usage and error information. +func (c *EC2) GetConsoleScreenshot(input *GetConsoleScreenshotInput) (*GetConsoleScreenshotOutput, error) { + req, out := c.GetConsoleScreenshotRequest(input) + err := req.Send() + return out, err +} + +const opGetHostReservationPurchasePreview = "GetHostReservationPurchasePreview" + +// GetHostReservationPurchasePreviewRequest generates a "aws/request.Request" representing the +// client's request for the GetHostReservationPurchasePreview operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetHostReservationPurchasePreview for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetHostReservationPurchasePreview method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetHostReservationPurchasePreviewRequest method. +// req, resp := client.GetHostReservationPurchasePreviewRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *EC2) GetHostReservationPurchasePreviewRequest(input *GetHostReservationPurchasePreviewInput) (req *request.Request, output *GetHostReservationPurchasePreviewOutput) { + op := &request.Operation{ + Name: opGetHostReservationPurchasePreview, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetHostReservationPurchasePreviewInput{} + } + + req = c.newRequest(op, input, output) + output = &GetHostReservationPurchasePreviewOutput{} + req.Data = output + return +} + +// GetHostReservationPurchasePreview API operation for Amazon Elastic Compute Cloud. +// +// Preview a reservation purchase with configurations that match those of your +// Dedicated Host. You must have active Dedicated Hosts in your account before +// you purchase a reservation. +// +// This is a preview of the PurchaseHostReservation action and does not result +// in the offering being purchased. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation GetHostReservationPurchasePreview for usage and error information. +func (c *EC2) GetHostReservationPurchasePreview(input *GetHostReservationPurchasePreviewInput) (*GetHostReservationPurchasePreviewOutput, error) { + req, out := c.GetHostReservationPurchasePreviewRequest(input) + err := req.Send() + return out, err +} + const opGetPasswordData = "GetPasswordData" -// GetPasswordDataRequest generates a request for the GetPasswordData operation. +// GetPasswordDataRequest generates a "aws/request.Request" representing the +// client's request for the GetPasswordData operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetPasswordData for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetPasswordData method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetPasswordDataRequest method. +// req, resp := client.GetPasswordDataRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) GetPasswordDataRequest(input *GetPasswordDataInput) (req *request.Request, output *GetPasswordDataOutput) { op := &request.Operation{ Name: opGetPasswordData, @@ -5331,6 +10895,8 @@ func (c *EC2) GetPasswordDataRequest(input *GetPasswordDataInput) (req *request. return } +// GetPasswordData API operation for Amazon Elastic Compute Cloud. +// // Retrieves the encrypted administrator password for an instance running Windows. // // The Windows password is generated at boot if the EC2Config service plugin, @@ -5345,15 +10911,106 @@ func (c *EC2) GetPasswordDataRequest(input *GetPasswordDataInput) (req *request. // Password generation and encryption takes a few moments. We recommend that // you wait up to 15 minutes after launching an instance before trying to retrieve // the generated password. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation GetPasswordData for usage and error information. func (c *EC2) GetPasswordData(input *GetPasswordDataInput) (*GetPasswordDataOutput, error) { req, out := c.GetPasswordDataRequest(input) err := req.Send() return out, err } +const opGetReservedInstancesExchangeQuote = "GetReservedInstancesExchangeQuote" + +// GetReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the +// client's request for the GetReservedInstancesExchangeQuote operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetReservedInstancesExchangeQuote for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetReservedInstancesExchangeQuote method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetReservedInstancesExchangeQuoteRequest method. +// req, resp := client.GetReservedInstancesExchangeQuoteRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *EC2) GetReservedInstancesExchangeQuoteRequest(input *GetReservedInstancesExchangeQuoteInput) (req *request.Request, output *GetReservedInstancesExchangeQuoteOutput) { + op := &request.Operation{ + Name: opGetReservedInstancesExchangeQuote, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetReservedInstancesExchangeQuoteInput{} + } + + req = c.newRequest(op, input, output) + output = &GetReservedInstancesExchangeQuoteOutput{} + req.Data = output + return +} + +// GetReservedInstancesExchangeQuote API operation for Amazon Elastic Compute Cloud. +// +// Returns details about the values and term of your specified Convertible Reserved +// Instances. When an offering ID is specified it returns information about +// whether the exchange is valid and can be performed. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation GetReservedInstancesExchangeQuote for usage and error information. +func (c *EC2) GetReservedInstancesExchangeQuote(input *GetReservedInstancesExchangeQuoteInput) (*GetReservedInstancesExchangeQuoteOutput, error) { + req, out := c.GetReservedInstancesExchangeQuoteRequest(input) + err := req.Send() + return out, err +} + const opImportImage = "ImportImage" -// ImportImageRequest generates a request for the ImportImage operation. +// ImportImageRequest generates a "aws/request.Request" representing the +// client's request for the ImportImage operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ImportImage for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ImportImage method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ImportImageRequest method. +// req, resp := client.ImportImageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ImportImageRequest(input *ImportImageInput) (req *request.Request, output *ImportImageOutput) { op := &request.Operation{ Name: opImportImage, @@ -5371,8 +11028,19 @@ func (c *EC2) ImportImageRequest(input *ImportImageInput) (req *request.Request, return } +// ImportImage API operation for Amazon Elastic Compute Cloud. +// // Import single or multi-volume disk images or EBS snapshots into an Amazon -// Machine Image (AMI). +// Machine Image (AMI). For more information, see Importing a VM as an Image +// Using VM Import/Export (http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html) +// in the VM Import/Export 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ImportImage for usage and error information. func (c *EC2) ImportImage(input *ImportImageInput) (*ImportImageOutput, error) { req, out := c.ImportImageRequest(input) err := req.Send() @@ -5381,7 +11049,30 @@ func (c *EC2) ImportImage(input *ImportImageInput) (*ImportImageOutput, error) { const opImportInstance = "ImportInstance" -// ImportInstanceRequest generates a request for the ImportInstance operation. +// ImportInstanceRequest generates a "aws/request.Request" representing the +// client's request for the ImportInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ImportInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ImportInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ImportInstanceRequest method. +// req, resp := client.ImportInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ImportInstanceRequest(input *ImportInstanceInput) (req *request.Request, output *ImportInstanceOutput) { op := &request.Operation{ Name: opImportInstance, @@ -5399,16 +11090,22 @@ func (c *EC2) ImportInstanceRequest(input *ImportInstanceInput) (req *request.Re return } +// ImportInstance API operation for Amazon Elastic Compute Cloud. +// // Creates an import instance task using metadata from the specified disk image. // ImportInstance only supports single-volume VMs. To import multi-volume VMs, -// use ImportImage. After importing the image, you then upload it using the -// ec2-import-volume command in the EC2 command line tools. For more information, -// see Using the Command Line Tools to Import Your Virtual Machine to Amazon -// EC2 (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UploadingYourInstancesandVolumes.html) -// in the Amazon Elastic Compute Cloud User Guide. +// use ImportImage. For more information, see Importing a Virtual Machine Using +// the Amazon EC2 CLI (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html). // // For information about the import manifest referenced by this API action, // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.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. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ImportInstance for usage and error information. func (c *EC2) ImportInstance(input *ImportInstanceInput) (*ImportInstanceOutput, error) { req, out := c.ImportInstanceRequest(input) err := req.Send() @@ -5417,7 +11114,30 @@ func (c *EC2) ImportInstance(input *ImportInstanceInput) (*ImportInstanceOutput, const opImportKeyPair = "ImportKeyPair" -// ImportKeyPairRequest generates a request for the ImportKeyPair operation. +// ImportKeyPairRequest generates a "aws/request.Request" representing the +// client's request for the ImportKeyPair operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ImportKeyPair for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ImportKeyPair method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ImportKeyPairRequest method. +// req, resp := client.ImportKeyPairRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) { op := &request.Operation{ Name: opImportKeyPair, @@ -5435,6 +11155,8 @@ func (c *EC2) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Requ return } +// ImportKeyPair API operation for Amazon Elastic Compute Cloud. +// // Imports the public key from an RSA key pair that you created with a third-party // tool. Compare this with CreateKeyPair, in which AWS creates the key pair // and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair, @@ -5443,6 +11165,13 @@ func (c *EC2) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Requ // // For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ImportKeyPair for usage and error information. func (c *EC2) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) { req, out := c.ImportKeyPairRequest(input) err := req.Send() @@ -5451,7 +11180,30 @@ func (c *EC2) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, er const opImportSnapshot = "ImportSnapshot" -// ImportSnapshotRequest generates a request for the ImportSnapshot operation. +// ImportSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the ImportSnapshot operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ImportSnapshot for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ImportSnapshot method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ImportSnapshotRequest method. +// req, resp := client.ImportSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ImportSnapshotRequest(input *ImportSnapshotInput) (req *request.Request, output *ImportSnapshotOutput) { op := &request.Operation{ Name: opImportSnapshot, @@ -5469,7 +11221,16 @@ func (c *EC2) ImportSnapshotRequest(input *ImportSnapshotInput) (req *request.Re return } +// ImportSnapshot API operation for Amazon Elastic Compute Cloud. +// // Imports a disk into an EBS snapshot. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ImportSnapshot for usage and error information. func (c *EC2) ImportSnapshot(input *ImportSnapshotInput) (*ImportSnapshotOutput, error) { req, out := c.ImportSnapshotRequest(input) err := req.Send() @@ -5478,7 +11239,30 @@ func (c *EC2) ImportSnapshot(input *ImportSnapshotInput) (*ImportSnapshotOutput, const opImportVolume = "ImportVolume" -// ImportVolumeRequest generates a request for the ImportVolume operation. +// ImportVolumeRequest generates a "aws/request.Request" representing the +// client's request for the ImportVolume operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ImportVolume for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ImportVolume method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ImportVolumeRequest method. +// req, resp := client.ImportVolumeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ImportVolumeRequest(input *ImportVolumeInput) (req *request.Request, output *ImportVolumeOutput) { op := &request.Operation{ Name: opImportVolume, @@ -5496,15 +11280,20 @@ func (c *EC2) ImportVolumeRequest(input *ImportVolumeInput) (req *request.Reques return } -// Creates an import volume task using metadata from the specified disk image. -// After importing the image, you then upload it using the ec2-import-volume -// command in the Amazon EC2 command-line interface (CLI) tools. For more information, -// see Using the Command Line Tools to Import Your Virtual Machine to Amazon -// EC2 (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UploadingYourInstancesandVolumes.html) -// in the Amazon Elastic Compute Cloud User Guide. +// ImportVolume API operation for Amazon Elastic Compute Cloud. +// +// Creates an import volume task using metadata from the specified disk image.For +// more information, see Importing Disks to Amazon EBS (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/importing-your-volumes-into-amazon-ebs.html). // // For information about the import manifest referenced by this API action, // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.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. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ImportVolume for usage and error information. func (c *EC2) ImportVolume(input *ImportVolumeInput) (*ImportVolumeOutput, error) { req, out := c.ImportVolumeRequest(input) err := req.Send() @@ -5513,7 +11302,30 @@ func (c *EC2) ImportVolume(input *ImportVolumeInput) (*ImportVolumeOutput, error const opModifyHosts = "ModifyHosts" -// ModifyHostsRequest generates a request for the ModifyHosts operation. +// ModifyHostsRequest generates a "aws/request.Request" representing the +// client's request for the ModifyHosts operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyHosts for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyHosts method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyHostsRequest method. +// req, resp := client.ModifyHostsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ModifyHostsRequest(input *ModifyHostsInput) (req *request.Request, output *ModifyHostsOutput) { op := &request.Operation{ Name: opModifyHosts, @@ -5531,13 +11343,22 @@ func (c *EC2) ModifyHostsRequest(input *ModifyHostsInput) (req *request.Request, return } -// Modify the auto-placement setting of a Dedicated host. When auto-placement +// ModifyHosts API operation for Amazon Elastic Compute Cloud. +// +// Modify the auto-placement setting of a Dedicated Host. When auto-placement // is enabled, AWS will place instances that you launch with a tenancy of host, -// but without targeting a specific host ID, onto any available Dedicated host +// but without targeting a specific host ID, onto any available Dedicated Host // in your account which has auto-placement enabled. When auto-placement is // disabled, you need to provide a host ID if you want the instance to launch // onto a specific host. If no host ID is provided, the instance will be launched // onto a suitable host which has auto-placement enabled. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifyHosts for usage and error information. func (c *EC2) ModifyHosts(input *ModifyHostsInput) (*ModifyHostsOutput, error) { req, out := c.ModifyHostsRequest(input) err := req.Send() @@ -5546,7 +11367,30 @@ func (c *EC2) ModifyHosts(input *ModifyHostsInput) (*ModifyHostsOutput, error) { const opModifyIdFormat = "ModifyIdFormat" -// ModifyIdFormatRequest generates a request for the ModifyIdFormat operation. +// ModifyIdFormatRequest generates a "aws/request.Request" representing the +// client's request for the ModifyIdFormat operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyIdFormat for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyIdFormat method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyIdFormatRequest method. +// req, resp := client.ModifyIdFormatRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ModifyIdFormatRequest(input *ModifyIdFormatInput) (req *request.Request, output *ModifyIdFormatOutput) { op := &request.Operation{ Name: opModifyIdFormat, @@ -5566,6 +11410,8 @@ func (c *EC2) ModifyIdFormatRequest(input *ModifyIdFormatInput) (req *request.Re return } +// ModifyIdFormat API operation for Amazon Elastic Compute Cloud. +// // Modifies the ID format for the specified resource on a per-region basis. // You can specify that resources should receive longer IDs (17-character IDs) // when they are created. The following resource types support longer IDs: instance @@ -5573,50 +11419,168 @@ func (c *EC2) ModifyIdFormatRequest(input *ModifyIdFormatInput) (req *request.Re // // This setting applies to the IAM user who makes the request; it does not // apply to the entire AWS account. By default, an IAM user defaults to the -// same settings as the root user. If you're using this action as the root user -// or as an IAM role that has permission to use this action, then these settings -// apply to the entire account, unless an IAM user explicitly overrides these -// settings for themselves. For more information, see Controlling Access to -// Longer ID Settings (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html#resource-ids-access) +// same settings as the root user. If you're using this action as the root user, +// then these settings apply to the entire account, unless an IAM user explicitly +// overrides these settings for themselves. For more information, see Resource +// IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html) // in the Amazon Elastic Compute Cloud User Guide. // -// Resources created with longer IDs are visible to all IAM users, regardless -// of these settings and provided that they have permission to use the relevant -// Describe command for the resource type. +// Resources created with longer IDs are visible to all IAM roles and users, +// regardless of these settings and provided that they have permission to use +// the relevant Describe command for the resource type. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifyIdFormat for usage and error information. func (c *EC2) ModifyIdFormat(input *ModifyIdFormatInput) (*ModifyIdFormatOutput, error) { req, out := c.ModifyIdFormatRequest(input) err := req.Send() return out, err } -const opModifyImageAttribute = "ModifyImageAttribute" +const opModifyIdentityIdFormat = "ModifyIdentityIdFormat" -// ModifyImageAttributeRequest generates a request for the ModifyImageAttribute operation. -func (c *EC2) ModifyImageAttributeRequest(input *ModifyImageAttributeInput) (req *request.Request, output *ModifyImageAttributeOutput) { +// ModifyIdentityIdFormatRequest generates a "aws/request.Request" representing the +// client's request for the ModifyIdentityIdFormat operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyIdentityIdFormat for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyIdentityIdFormat method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyIdentityIdFormatRequest method. +// req, resp := client.ModifyIdentityIdFormatRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *EC2) ModifyIdentityIdFormatRequest(input *ModifyIdentityIdFormatInput) (req *request.Request, output *ModifyIdentityIdFormatOutput) { op := &request.Operation{ - Name: opModifyImageAttribute, + Name: opModifyIdentityIdFormat, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ModifyImageAttributeInput{} + input = &ModifyIdentityIdFormatInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) - output = &ModifyImageAttributeOutput{} + output = &ModifyIdentityIdFormatOutput{} req.Data = output return } -// Modifies the specified attribute of the specified AMI. You can specify only -// one attribute at a time. +// ModifyIdentityIdFormat API operation for Amazon Elastic Compute Cloud. // -// AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace -// product code cannot be made public. -func (c *EC2) ModifyImageAttribute(input *ModifyImageAttributeInput) (*ModifyImageAttributeOutput, error) { +// Modifies the ID format of a resource for a specified IAM user, IAM role, +// or the root user for an account; or all IAM users, IAM roles, and the root +// user for an account. You can specify that resources should receive longer +// IDs (17-character IDs) when they are created. +// +// The following resource types support longer IDs: instance | reservation +// | snapshot | volume. For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html) +// in the Amazon Elastic Compute Cloud User Guide. +// +// This setting applies to the principal specified in the request; it does +// not apply to the principal that makes the request. +// +// Resources created with longer IDs are visible to all IAM roles and users, +// regardless of these settings and provided that they have permission to use +// the relevant Describe command for the resource type. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifyIdentityIdFormat for usage and error information. +func (c *EC2) ModifyIdentityIdFormat(input *ModifyIdentityIdFormatInput) (*ModifyIdentityIdFormatOutput, error) { + req, out := c.ModifyIdentityIdFormatRequest(input) + err := req.Send() + return out, err +} + +const opModifyImageAttribute = "ModifyImageAttribute" + +// ModifyImageAttributeRequest generates a "aws/request.Request" representing the +// client's request for the ModifyImageAttribute operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyImageAttribute for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyImageAttribute method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyImageAttributeRequest method. +// req, resp := client.ModifyImageAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *EC2) ModifyImageAttributeRequest(input *ModifyImageAttributeInput) (req *request.Request, output *ModifyImageAttributeOutput) { + op := &request.Operation{ + Name: opModifyImageAttribute, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyImageAttributeInput{} + } + + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + output = &ModifyImageAttributeOutput{} + req.Data = output + return +} + +// ModifyImageAttribute API operation for Amazon Elastic Compute Cloud. +// +// Modifies the specified attribute of the specified AMI. You can specify only +// one attribute at a time. +// +// AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace +// product code cannot be made public. +// +// The SriovNetSupport enhanced networking attribute cannot be changed using +// this command. Instead, enable SriovNetSupport on an instance and create an +// AMI from the instance. This will result in an image with SriovNetSupport +// enabled. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifyImageAttribute for usage and error information. +func (c *EC2) ModifyImageAttribute(input *ModifyImageAttributeInput) (*ModifyImageAttributeOutput, error) { req, out := c.ModifyImageAttributeRequest(input) err := req.Send() return out, err @@ -5624,7 +11588,30 @@ func (c *EC2) ModifyImageAttribute(input *ModifyImageAttributeInput) (*ModifyIma const opModifyInstanceAttribute = "ModifyInstanceAttribute" -// ModifyInstanceAttributeRequest generates a request for the ModifyInstanceAttribute operation. +// ModifyInstanceAttributeRequest generates a "aws/request.Request" representing the +// client's request for the ModifyInstanceAttribute operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyInstanceAttribute for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyInstanceAttribute method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyInstanceAttributeRequest method. +// req, resp := client.ModifyInstanceAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ModifyInstanceAttributeRequest(input *ModifyInstanceAttributeInput) (req *request.Request, output *ModifyInstanceAttributeOutput) { op := &request.Operation{ Name: opModifyInstanceAttribute, @@ -5644,12 +11631,21 @@ func (c *EC2) ModifyInstanceAttributeRequest(input *ModifyInstanceAttributeInput return } +// ModifyInstanceAttribute API operation for Amazon Elastic Compute Cloud. +// // Modifies the specified attribute of the specified instance. You can specify // only one attribute at a time. // // To modify some attributes, the instance must be stopped. For more information, // see Modifying Attributes of a Stopped Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifyInstanceAttribute for usage and error information. func (c *EC2) ModifyInstanceAttribute(input *ModifyInstanceAttributeInput) (*ModifyInstanceAttributeOutput, error) { req, out := c.ModifyInstanceAttributeRequest(input) err := req.Send() @@ -5658,7 +11654,30 @@ func (c *EC2) ModifyInstanceAttribute(input *ModifyInstanceAttributeInput) (*Mod const opModifyInstancePlacement = "ModifyInstancePlacement" -// ModifyInstancePlacementRequest generates a request for the ModifyInstancePlacement operation. +// ModifyInstancePlacementRequest generates a "aws/request.Request" representing the +// client's request for the ModifyInstancePlacement operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyInstancePlacement for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyInstancePlacement method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyInstancePlacementRequest method. +// req, resp := client.ModifyInstancePlacementRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ModifyInstancePlacementRequest(input *ModifyInstancePlacementInput) (req *request.Request, output *ModifyInstancePlacementOutput) { op := &request.Operation{ Name: opModifyInstancePlacement, @@ -5676,11 +11695,13 @@ func (c *EC2) ModifyInstancePlacementRequest(input *ModifyInstancePlacementInput return } +// ModifyInstancePlacement API operation for Amazon Elastic Compute Cloud. +// // Set the instance affinity value for a specific stopped instance and modify // the instance tenancy setting. // // Instance affinity is disabled by default. When instance affinity is host -// and it is not associated with a specific Dedicated host, the next time it +// and it is not associated with a specific Dedicated Host, the next time it // is launched it will automatically be associated with the host it lands on. // This relationship will persist if the instance is stopped/started, or rebooted. // @@ -5695,6 +11716,13 @@ func (c *EC2) ModifyInstancePlacementRequest(input *ModifyInstancePlacementInput // one of them must be specified in the request. Affinity and tenancy can be // modified in the same request, but tenancy can only be modified on instances // that are stopped. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifyInstancePlacement for usage and error information. func (c *EC2) ModifyInstancePlacement(input *ModifyInstancePlacementInput) (*ModifyInstancePlacementOutput, error) { req, out := c.ModifyInstancePlacementRequest(input) err := req.Send() @@ -5703,7 +11731,30 @@ func (c *EC2) ModifyInstancePlacement(input *ModifyInstancePlacementInput) (*Mod const opModifyNetworkInterfaceAttribute = "ModifyNetworkInterfaceAttribute" -// ModifyNetworkInterfaceAttributeRequest generates a request for the ModifyNetworkInterfaceAttribute operation. +// ModifyNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the +// client's request for the ModifyNetworkInterfaceAttribute operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyNetworkInterfaceAttribute for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyNetworkInterfaceAttribute method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyNetworkInterfaceAttributeRequest method. +// req, resp := client.ModifyNetworkInterfaceAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ModifyNetworkInterfaceAttributeRequest(input *ModifyNetworkInterfaceAttributeInput) (req *request.Request, output *ModifyNetworkInterfaceAttributeOutput) { op := &request.Operation{ Name: opModifyNetworkInterfaceAttribute, @@ -5723,8 +11774,17 @@ func (c *EC2) ModifyNetworkInterfaceAttributeRequest(input *ModifyNetworkInterfa return } +// ModifyNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud. +// // Modifies the specified network interface attribute. You can specify only // one attribute at a time. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifyNetworkInterfaceAttribute for usage and error information. func (c *EC2) ModifyNetworkInterfaceAttribute(input *ModifyNetworkInterfaceAttributeInput) (*ModifyNetworkInterfaceAttributeOutput, error) { req, out := c.ModifyNetworkInterfaceAttributeRequest(input) err := req.Send() @@ -5733,7 +11793,30 @@ func (c *EC2) ModifyNetworkInterfaceAttribute(input *ModifyNetworkInterfaceAttri const opModifyReservedInstances = "ModifyReservedInstances" -// ModifyReservedInstancesRequest generates a request for the ModifyReservedInstances operation. +// ModifyReservedInstancesRequest generates a "aws/request.Request" representing the +// client's request for the ModifyReservedInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyReservedInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyReservedInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyReservedInstancesRequest method. +// req, resp := client.ModifyReservedInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ModifyReservedInstancesRequest(input *ModifyReservedInstancesInput) (req *request.Request, output *ModifyReservedInstancesOutput) { op := &request.Operation{ Name: opModifyReservedInstances, @@ -5751,13 +11834,22 @@ func (c *EC2) ModifyReservedInstancesRequest(input *ModifyReservedInstancesInput return } +// ModifyReservedInstances API operation for Amazon Elastic Compute Cloud. +// // Modifies the Availability Zone, instance count, instance type, or network -// platform (EC2-Classic or EC2-VPC) of your Reserved Instances. The Reserved -// Instances to be modified must be identical, except for Availability Zone, -// network platform, and instance type. +// platform (EC2-Classic or EC2-VPC) of your Standard Reserved Instances. The +// Reserved Instances to be modified must be identical, except for Availability +// Zone, network platform, and instance type. // // For more information, see Modifying Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifyReservedInstances for usage and error information. func (c *EC2) ModifyReservedInstances(input *ModifyReservedInstancesInput) (*ModifyReservedInstancesOutput, error) { req, out := c.ModifyReservedInstancesRequest(input) err := req.Send() @@ -5766,7 +11858,30 @@ func (c *EC2) ModifyReservedInstances(input *ModifyReservedInstancesInput) (*Mod const opModifySnapshotAttribute = "ModifySnapshotAttribute" -// ModifySnapshotAttributeRequest generates a request for the ModifySnapshotAttribute operation. +// ModifySnapshotAttributeRequest generates a "aws/request.Request" representing the +// client's request for the ModifySnapshotAttribute operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifySnapshotAttribute for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifySnapshotAttribute method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifySnapshotAttributeRequest method. +// req, resp := client.ModifySnapshotAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ModifySnapshotAttributeRequest(input *ModifySnapshotAttributeInput) (req *request.Request, output *ModifySnapshotAttributeOutput) { op := &request.Operation{ Name: opModifySnapshotAttribute, @@ -5786,17 +11901,28 @@ func (c *EC2) ModifySnapshotAttributeRequest(input *ModifySnapshotAttributeInput return } +// ModifySnapshotAttribute API operation for Amazon Elastic Compute Cloud. +// // Adds or removes permission settings for the specified snapshot. You may add // or remove specified AWS account IDs from a snapshot's list of create volume // permissions, but you cannot do both in a single API call. If you need to // both add and remove account IDs for a snapshot, you must use multiple API // calls. // -// For more information on modifying snapshot permissions, see Sharing Snapshots +// Encrypted snapshots and snapshots with AWS Marketplace product codes cannot +// be made public. Snapshots encrypted with your default CMK cannot be shared +// with other accounts. +// +// For more information on modifying snapshot permissions, see Sharing Snapshots // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html) // in the Amazon Elastic Compute Cloud User Guide. // -// Snapshots with AWS Marketplace product codes cannot be made public. +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifySnapshotAttribute for usage and error information. func (c *EC2) ModifySnapshotAttribute(input *ModifySnapshotAttributeInput) (*ModifySnapshotAttributeOutput, error) { req, out := c.ModifySnapshotAttributeRequest(input) err := req.Send() @@ -5805,7 +11931,30 @@ func (c *EC2) ModifySnapshotAttribute(input *ModifySnapshotAttributeInput) (*Mod const opModifySpotFleetRequest = "ModifySpotFleetRequest" -// ModifySpotFleetRequestRequest generates a request for the ModifySpotFleetRequest operation. +// ModifySpotFleetRequestRequest generates a "aws/request.Request" representing the +// client's request for the ModifySpotFleetRequest operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifySpotFleetRequest for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifySpotFleetRequest method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifySpotFleetRequestRequest method. +// req, resp := client.ModifySpotFleetRequestRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ModifySpotFleetRequestRequest(input *ModifySpotFleetRequestInput) (req *request.Request, output *ModifySpotFleetRequestOutput) { op := &request.Operation{ Name: opModifySpotFleetRequest, @@ -5823,6 +11972,8 @@ func (c *EC2) ModifySpotFleetRequestRequest(input *ModifySpotFleetRequestInput) return } +// ModifySpotFleetRequest API operation for Amazon Elastic Compute Cloud. +// // Modifies the specified Spot fleet request. // // While the Spot fleet request is being modified, it is in the modifying state. @@ -5843,6 +11994,13 @@ func (c *EC2) ModifySpotFleetRequestRequest(input *ModifySpotFleetRequestInput) // terminates instances across the Spot pools. Alternatively, you can request // that the Spot fleet keep the fleet at its current size, but not replace any // Spot instances that are interrupted or that you terminate manually. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifySpotFleetRequest for usage and error information. func (c *EC2) ModifySpotFleetRequest(input *ModifySpotFleetRequestInput) (*ModifySpotFleetRequestOutput, error) { req, out := c.ModifySpotFleetRequestRequest(input) err := req.Send() @@ -5851,7 +12009,30 @@ func (c *EC2) ModifySpotFleetRequest(input *ModifySpotFleetRequestInput) (*Modif const opModifySubnetAttribute = "ModifySubnetAttribute" -// ModifySubnetAttributeRequest generates a request for the ModifySubnetAttribute operation. +// ModifySubnetAttributeRequest generates a "aws/request.Request" representing the +// client's request for the ModifySubnetAttribute operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifySubnetAttribute for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifySubnetAttribute method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifySubnetAttributeRequest method. +// req, resp := client.ModifySubnetAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ModifySubnetAttributeRequest(input *ModifySubnetAttributeInput) (req *request.Request, output *ModifySubnetAttributeOutput) { op := &request.Operation{ Name: opModifySubnetAttribute, @@ -5871,7 +12052,16 @@ func (c *EC2) ModifySubnetAttributeRequest(input *ModifySubnetAttributeInput) (r return } +// ModifySubnetAttribute API operation for Amazon Elastic Compute Cloud. +// // Modifies a subnet attribute. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifySubnetAttribute for usage and error information. func (c *EC2) ModifySubnetAttribute(input *ModifySubnetAttributeInput) (*ModifySubnetAttributeOutput, error) { req, out := c.ModifySubnetAttributeRequest(input) err := req.Send() @@ -5880,7 +12070,30 @@ func (c *EC2) ModifySubnetAttribute(input *ModifySubnetAttributeInput) (*ModifyS const opModifyVolumeAttribute = "ModifyVolumeAttribute" -// ModifyVolumeAttributeRequest generates a request for the ModifyVolumeAttribute operation. +// ModifyVolumeAttributeRequest generates a "aws/request.Request" representing the +// client's request for the ModifyVolumeAttribute operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyVolumeAttribute for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyVolumeAttribute method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyVolumeAttributeRequest method. +// req, resp := client.ModifyVolumeAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ModifyVolumeAttributeRequest(input *ModifyVolumeAttributeInput) (req *request.Request, output *ModifyVolumeAttributeOutput) { op := &request.Operation{ Name: opModifyVolumeAttribute, @@ -5900,6 +12113,8 @@ func (c *EC2) ModifyVolumeAttributeRequest(input *ModifyVolumeAttributeInput) (r return } +// ModifyVolumeAttribute API operation for Amazon Elastic Compute Cloud. +// // Modifies a volume attribute. // // By default, all I/O operations for the volume are suspended when the data @@ -5910,6 +12125,13 @@ func (c *EC2) ModifyVolumeAttributeRequest(input *ModifyVolumeAttributeInput) (r // You can change the default behavior to resume I/O operations. We recommend // that you change this only for boot volumes or for volumes that are stateless // or disposable. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifyVolumeAttribute for usage and error information. func (c *EC2) ModifyVolumeAttribute(input *ModifyVolumeAttributeInput) (*ModifyVolumeAttributeOutput, error) { req, out := c.ModifyVolumeAttributeRequest(input) err := req.Send() @@ -5918,7 +12140,30 @@ func (c *EC2) ModifyVolumeAttribute(input *ModifyVolumeAttributeInput) (*ModifyV const opModifyVpcAttribute = "ModifyVpcAttribute" -// ModifyVpcAttributeRequest generates a request for the ModifyVpcAttribute operation. +// ModifyVpcAttributeRequest generates a "aws/request.Request" representing the +// client's request for the ModifyVpcAttribute operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyVpcAttribute for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyVpcAttribute method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyVpcAttributeRequest method. +// req, resp := client.ModifyVpcAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ModifyVpcAttributeRequest(input *ModifyVpcAttributeInput) (req *request.Request, output *ModifyVpcAttributeOutput) { op := &request.Operation{ Name: opModifyVpcAttribute, @@ -5938,7 +12183,16 @@ func (c *EC2) ModifyVpcAttributeRequest(input *ModifyVpcAttributeInput) (req *re return } +// ModifyVpcAttribute API operation for Amazon Elastic Compute Cloud. +// // Modifies the specified attribute of the specified VPC. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifyVpcAttribute for usage and error information. func (c *EC2) ModifyVpcAttribute(input *ModifyVpcAttributeInput) (*ModifyVpcAttributeOutput, error) { req, out := c.ModifyVpcAttributeRequest(input) err := req.Send() @@ -5947,7 +12201,30 @@ func (c *EC2) ModifyVpcAttribute(input *ModifyVpcAttributeInput) (*ModifyVpcAttr const opModifyVpcEndpoint = "ModifyVpcEndpoint" -// ModifyVpcEndpointRequest generates a request for the ModifyVpcEndpoint operation. +// ModifyVpcEndpointRequest generates a "aws/request.Request" representing the +// client's request for the ModifyVpcEndpoint operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyVpcEndpoint for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyVpcEndpoint method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyVpcEndpointRequest method. +// req, resp := client.ModifyVpcEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ModifyVpcEndpointRequest(input *ModifyVpcEndpointInput) (req *request.Request, output *ModifyVpcEndpointOutput) { op := &request.Operation{ Name: opModifyVpcEndpoint, @@ -5965,9 +12242,18 @@ func (c *EC2) ModifyVpcEndpointRequest(input *ModifyVpcEndpointInput) (req *requ return } +// ModifyVpcEndpoint API operation for Amazon Elastic Compute Cloud. +// // Modifies attributes of a specified VPC endpoint. You can modify the policy // associated with the endpoint, and you can add and remove route tables associated // with the 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 Elastic Compute Cloud's +// API operation ModifyVpcEndpoint for usage and error information. func (c *EC2) ModifyVpcEndpoint(input *ModifyVpcEndpointInput) (*ModifyVpcEndpointOutput, error) { req, out := c.ModifyVpcEndpointRequest(input) err := req.Send() @@ -5976,7 +12262,30 @@ func (c *EC2) ModifyVpcEndpoint(input *ModifyVpcEndpointInput) (*ModifyVpcEndpoi const opModifyVpcPeeringConnectionOptions = "ModifyVpcPeeringConnectionOptions" -// ModifyVpcPeeringConnectionOptionsRequest generates a request for the ModifyVpcPeeringConnectionOptions operation. +// ModifyVpcPeeringConnectionOptionsRequest generates a "aws/request.Request" representing the +// client's request for the ModifyVpcPeeringConnectionOptions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyVpcPeeringConnectionOptions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyVpcPeeringConnectionOptions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyVpcPeeringConnectionOptionsRequest method. +// req, resp := client.ModifyVpcPeeringConnectionOptionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ModifyVpcPeeringConnectionOptionsRequest(input *ModifyVpcPeeringConnectionOptionsInput) (req *request.Request, output *ModifyVpcPeeringConnectionOptionsOutput) { op := &request.Operation{ Name: opModifyVpcPeeringConnectionOptions, @@ -5994,23 +12303,35 @@ func (c *EC2) ModifyVpcPeeringConnectionOptionsRequest(input *ModifyVpcPeeringCo return } +// ModifyVpcPeeringConnectionOptions API operation for Amazon Elastic Compute Cloud. +// // Modifies the VPC peering connection options on one side of a VPC peering // connection. You can do the following: // -// Enable/disable communication over the peering connection between an EC2-Classic +// Enable/disable communication over the peering connection between an EC2-Classic // instance that's linked to your VPC (using ClassicLink) and instances in the // peer VPC. // -// Enable/disable communication over the peering connection between instances +// Enable/disable communication over the peering connection between instances // in your VPC and an EC2-Classic instance that's linked to the peer VPC. // -// If the peered VPCs are in different accounts, each owner must initiate -// a separate request to enable or disable communication in either direction, -// depending on whether their VPC was the requester or accepter for the VPC -// peering connection. If the peered VPCs are in the same account, you can modify -// the requester and accepter options in the same request. To confirm which -// VPC is the accepter and requester for a VPC peering connection, use the DescribeVpcPeeringConnections +// Enable/disable a local VPC to resolve public DNS hostnames to private +// IP addresses when queried from instances in the peer VPC. +// +// If the peered VPCs are in different accounts, each owner must initiate +// a separate request to modify the peering connection options, depending on +// whether their VPC was the requester or accepter for the VPC peering connection. +// If the peered VPCs are in the same account, you can modify the requester +// and accepter options in the same request. To confirm which VPC is the accepter +// and requester for a VPC peering connection, use the DescribeVpcPeeringConnections // command. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifyVpcPeeringConnectionOptions for usage and error information. func (c *EC2) ModifyVpcPeeringConnectionOptions(input *ModifyVpcPeeringConnectionOptionsInput) (*ModifyVpcPeeringConnectionOptionsOutput, error) { req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input) err := req.Send() @@ -6019,7 +12340,30 @@ func (c *EC2) ModifyVpcPeeringConnectionOptions(input *ModifyVpcPeeringConnectio const opMonitorInstances = "MonitorInstances" -// MonitorInstancesRequest generates a request for the MonitorInstances operation. +// MonitorInstancesRequest generates a "aws/request.Request" representing the +// client's request for the MonitorInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See MonitorInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the MonitorInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the MonitorInstancesRequest method. +// req, resp := client.MonitorInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) MonitorInstancesRequest(input *MonitorInstancesInput) (req *request.Request, output *MonitorInstancesOutput) { op := &request.Operation{ Name: opMonitorInstances, @@ -6037,9 +12381,18 @@ func (c *EC2) MonitorInstancesRequest(input *MonitorInstancesInput) (req *reques return } +// MonitorInstances API operation for Amazon Elastic Compute Cloud. +// // Enables monitoring for a running instance. For more information about monitoring // instances, see Monitoring Your Instances and Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation MonitorInstances for usage and error information. func (c *EC2) MonitorInstances(input *MonitorInstancesInput) (*MonitorInstancesOutput, error) { req, out := c.MonitorInstancesRequest(input) err := req.Send() @@ -6048,7 +12401,30 @@ func (c *EC2) MonitorInstances(input *MonitorInstancesInput) (*MonitorInstancesO const opMoveAddressToVpc = "MoveAddressToVpc" -// MoveAddressToVpcRequest generates a request for the MoveAddressToVpc operation. +// MoveAddressToVpcRequest generates a "aws/request.Request" representing the +// client's request for the MoveAddressToVpc operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See MoveAddressToVpc for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the MoveAddressToVpc method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the MoveAddressToVpcRequest method. +// req, resp := client.MoveAddressToVpcRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) MoveAddressToVpcRequest(input *MoveAddressToVpcInput) (req *request.Request, output *MoveAddressToVpcOutput) { op := &request.Operation{ Name: opMoveAddressToVpc, @@ -6066,24 +12442,116 @@ func (c *EC2) MoveAddressToVpcRequest(input *MoveAddressToVpcInput) (req *reques return } +// MoveAddressToVpc API operation for Amazon Elastic Compute Cloud. +// // Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC // platform. The Elastic IP address must be allocated to your account for more // than 24 hours, and it must not be associated with an instance. After the // Elastic IP address is moved, it is no longer available for use in the EC2-Classic // platform, unless you move it back using the RestoreAddressToClassic request. // You cannot move an Elastic IP address that was originally allocated for use -// in the EC2-VPC platform to the EC2-Classic platform. You cannot migrate an -// Elastic IP address that's associated with a reverse DNS record. Contact AWS -// account and billing support to remove the reverse DNS record. +// in the EC2-VPC platform to the EC2-Classic platform. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation MoveAddressToVpc for usage and error information. func (c *EC2) MoveAddressToVpc(input *MoveAddressToVpcInput) (*MoveAddressToVpcOutput, error) { req, out := c.MoveAddressToVpcRequest(input) err := req.Send() return out, err } +const opPurchaseHostReservation = "PurchaseHostReservation" + +// PurchaseHostReservationRequest generates a "aws/request.Request" representing the +// client's request for the PurchaseHostReservation operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PurchaseHostReservation for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PurchaseHostReservation method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PurchaseHostReservationRequest method. +// req, resp := client.PurchaseHostReservationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *EC2) PurchaseHostReservationRequest(input *PurchaseHostReservationInput) (req *request.Request, output *PurchaseHostReservationOutput) { + op := &request.Operation{ + Name: opPurchaseHostReservation, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PurchaseHostReservationInput{} + } + + req = c.newRequest(op, input, output) + output = &PurchaseHostReservationOutput{} + req.Data = output + return +} + +// PurchaseHostReservation API operation for Amazon Elastic Compute Cloud. +// +// Purchase a reservation with configurations that match those of your Dedicated +// Host. You must have active Dedicated Hosts in your account before you purchase +// a reservation. This action results in the specified reservation being purchased +// and charged to 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation PurchaseHostReservation for usage and error information. +func (c *EC2) PurchaseHostReservation(input *PurchaseHostReservationInput) (*PurchaseHostReservationOutput, error) { + req, out := c.PurchaseHostReservationRequest(input) + err := req.Send() + return out, err +} + const opPurchaseReservedInstancesOffering = "PurchaseReservedInstancesOffering" -// PurchaseReservedInstancesOfferingRequest generates a request for the PurchaseReservedInstancesOffering operation. +// PurchaseReservedInstancesOfferingRequest generates a "aws/request.Request" representing the +// client's request for the PurchaseReservedInstancesOffering operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PurchaseReservedInstancesOffering for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PurchaseReservedInstancesOffering method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PurchaseReservedInstancesOfferingRequest method. +// req, resp := client.PurchaseReservedInstancesOfferingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) PurchaseReservedInstancesOfferingRequest(input *PurchaseReservedInstancesOfferingInput) (req *request.Request, output *PurchaseReservedInstancesOfferingOutput) { op := &request.Operation{ Name: opPurchaseReservedInstancesOffering, @@ -6101,10 +12569,10 @@ func (c *EC2) PurchaseReservedInstancesOfferingRequest(input *PurchaseReservedIn return } +// PurchaseReservedInstancesOffering API operation for Amazon Elastic Compute Cloud. +// // Purchases a Reserved Instance for use with your account. With Reserved Instances, -// you obtain a capacity reservation for a certain instance configuration over -// a specified period of time and pay a lower hourly rate compared to On-Demand -// instance pricing. +// you pay a lower hourly rate compared to On-Demand instance pricing. // // Use DescribeReservedInstancesOfferings to get a list of Reserved Instance // offerings that match your specifications. After you've purchased a Reserved @@ -6113,6 +12581,13 @@ func (c *EC2) PurchaseReservedInstancesOfferingRequest(input *PurchaseReservedIn // For more information, see Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html) // and Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation PurchaseReservedInstancesOffering for usage and error information. func (c *EC2) PurchaseReservedInstancesOffering(input *PurchaseReservedInstancesOfferingInput) (*PurchaseReservedInstancesOfferingOutput, error) { req, out := c.PurchaseReservedInstancesOfferingRequest(input) err := req.Send() @@ -6121,7 +12596,30 @@ func (c *EC2) PurchaseReservedInstancesOffering(input *PurchaseReservedInstances const opPurchaseScheduledInstances = "PurchaseScheduledInstances" -// PurchaseScheduledInstancesRequest generates a request for the PurchaseScheduledInstances operation. +// PurchaseScheduledInstancesRequest generates a "aws/request.Request" representing the +// client's request for the PurchaseScheduledInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PurchaseScheduledInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PurchaseScheduledInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PurchaseScheduledInstancesRequest method. +// req, resp := client.PurchaseScheduledInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) PurchaseScheduledInstancesRequest(input *PurchaseScheduledInstancesInput) (req *request.Request, output *PurchaseScheduledInstancesOutput) { op := &request.Operation{ Name: opPurchaseScheduledInstances, @@ -6139,6 +12637,8 @@ func (c *EC2) PurchaseScheduledInstancesRequest(input *PurchaseScheduledInstance return } +// PurchaseScheduledInstances API operation for Amazon Elastic Compute Cloud. +// // Purchases one or more Scheduled Instances with the specified schedule. // // Scheduled Instances enable you to purchase Amazon EC2 compute capacity by @@ -6149,6 +12649,13 @@ func (c *EC2) PurchaseScheduledInstancesRequest(input *PurchaseScheduledInstance // // After you purchase a Scheduled Instance, you can't cancel, modify, or resell // your purchase. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation PurchaseScheduledInstances for usage and error information. func (c *EC2) PurchaseScheduledInstances(input *PurchaseScheduledInstancesInput) (*PurchaseScheduledInstancesOutput, error) { req, out := c.PurchaseScheduledInstancesRequest(input) err := req.Send() @@ -6157,7 +12664,30 @@ func (c *EC2) PurchaseScheduledInstances(input *PurchaseScheduledInstancesInput) const opRebootInstances = "RebootInstances" -// RebootInstancesRequest generates a request for the RebootInstances operation. +// RebootInstancesRequest generates a "aws/request.Request" representing the +// client's request for the RebootInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RebootInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RebootInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RebootInstancesRequest method. +// req, resp := client.RebootInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) RebootInstancesRequest(input *RebootInstancesInput) (req *request.Request, output *RebootInstancesOutput) { op := &request.Operation{ Name: opRebootInstances, @@ -6177,6 +12707,8 @@ func (c *EC2) RebootInstancesRequest(input *RebootInstancesInput) (req *request. return } +// RebootInstances API operation for Amazon Elastic Compute Cloud. +// // Requests a reboot of one or more instances. This operation is asynchronous; // it only queues a request to reboot the specified instances. The operation // succeeds if the instances are valid and belong to you. Requests to reboot @@ -6188,6 +12720,13 @@ func (c *EC2) RebootInstancesRequest(input *RebootInstancesInput) (req *request. // For more information about troubleshooting, see Getting Console Output and // Rebooting Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation RebootInstances for usage and error information. func (c *EC2) RebootInstances(input *RebootInstancesInput) (*RebootInstancesOutput, error) { req, out := c.RebootInstancesRequest(input) err := req.Send() @@ -6196,7 +12735,30 @@ func (c *EC2) RebootInstances(input *RebootInstancesInput) (*RebootInstancesOutp const opRegisterImage = "RegisterImage" -// RegisterImageRequest generates a request for the RegisterImage operation. +// RegisterImageRequest generates a "aws/request.Request" representing the +// client's request for the RegisterImage operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RegisterImage for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RegisterImage method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RegisterImageRequest method. +// req, resp := client.RegisterImageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Request, output *RegisterImageOutput) { op := &request.Operation{ Name: opRegisterImage, @@ -6214,15 +12776,17 @@ func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Requ return } +// RegisterImage API operation for Amazon Elastic Compute Cloud. +// // Registers an AMI. When you're creating an AMI, this is the final step you // must complete before you can launch an instance from the AMI. For more information // about creating AMIs, see Creating Your Own AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html) // in the Amazon Elastic Compute Cloud User Guide. // -// For Amazon EBS-backed instances, CreateImage creates and registers the AMI -// in a single request, so you don't have to register the AMI yourself. +// For Amazon EBS-backed instances, CreateImage creates and registers the +// AMI in a single request, so you don't have to register the AMI yourself. // -// You can also use RegisterImage to create an Amazon EBS-backed Linux AMI +// You can also use RegisterImage to create an Amazon EBS-backed Linux AMI // from a snapshot of a root device volume. For more information, see Launching // an Instance from a Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_LaunchingInstanceFromSnapshot.html) // in the Amazon Elastic Compute Cloud User Guide. @@ -6245,8 +12809,15 @@ func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Requ // If you make changes to an image, deregister the previous image and register // the new image. // -// You can't register an image where a secondary (non-root) snapshot has AWS +// You can't register an image where a secondary (non-root) snapshot has AWS // Marketplace product codes. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation RegisterImage for usage and error information. func (c *EC2) RegisterImage(input *RegisterImageInput) (*RegisterImageOutput, error) { req, out := c.RegisterImageRequest(input) err := req.Send() @@ -6255,7 +12826,30 @@ func (c *EC2) RegisterImage(input *RegisterImageInput) (*RegisterImageOutput, er const opRejectVpcPeeringConnection = "RejectVpcPeeringConnection" -// RejectVpcPeeringConnectionRequest generates a request for the RejectVpcPeeringConnection operation. +// RejectVpcPeeringConnectionRequest generates a "aws/request.Request" representing the +// client's request for the RejectVpcPeeringConnection operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RejectVpcPeeringConnection for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RejectVpcPeeringConnection method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RejectVpcPeeringConnectionRequest method. +// req, resp := client.RejectVpcPeeringConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) RejectVpcPeeringConnectionRequest(input *RejectVpcPeeringConnectionInput) (req *request.Request, output *RejectVpcPeeringConnectionOutput) { op := &request.Operation{ Name: opRejectVpcPeeringConnection, @@ -6273,11 +12867,20 @@ func (c *EC2) RejectVpcPeeringConnectionRequest(input *RejectVpcPeeringConnectio return } +// RejectVpcPeeringConnection API operation for Amazon Elastic Compute Cloud. +// // Rejects a VPC peering connection request. The VPC peering connection must // be in the pending-acceptance state. Use the DescribeVpcPeeringConnections // request to view your outstanding VPC peering connection requests. To delete // an active VPC peering connection, or to delete a VPC peering connection request // that you initiated, use DeleteVpcPeeringConnection. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation RejectVpcPeeringConnection for usage and error information. func (c *EC2) RejectVpcPeeringConnection(input *RejectVpcPeeringConnectionInput) (*RejectVpcPeeringConnectionOutput, error) { req, out := c.RejectVpcPeeringConnectionRequest(input) err := req.Send() @@ -6286,7 +12889,30 @@ func (c *EC2) RejectVpcPeeringConnection(input *RejectVpcPeeringConnectionInput) const opReleaseAddress = "ReleaseAddress" -// ReleaseAddressRequest generates a request for the ReleaseAddress operation. +// ReleaseAddressRequest generates a "aws/request.Request" representing the +// client's request for the ReleaseAddress operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ReleaseAddress for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ReleaseAddress method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ReleaseAddressRequest method. +// req, resp := client.ReleaseAddressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ReleaseAddressRequest(input *ReleaseAddressInput) (req *request.Request, output *ReleaseAddressOutput) { op := &request.Operation{ Name: opReleaseAddress, @@ -6306,6 +12932,8 @@ func (c *EC2) ReleaseAddressRequest(input *ReleaseAddressInput) (req *request.Re return } +// ReleaseAddress API operation for Amazon Elastic Compute Cloud. +// // Releases the specified Elastic IP address. // // After releasing an Elastic IP address, it is released to the IP address @@ -6321,6 +12949,13 @@ func (c *EC2) ReleaseAddressRequest(input *ReleaseAddressInput) (req *request.Re // [Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic // IP address before you try to release it. Otherwise, Amazon EC2 returns an // error (InvalidIPAddress.InUse). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ReleaseAddress for usage and error information. func (c *EC2) ReleaseAddress(input *ReleaseAddressInput) (*ReleaseAddressOutput, error) { req, out := c.ReleaseAddressRequest(input) err := req.Send() @@ -6329,7 +12964,30 @@ func (c *EC2) ReleaseAddress(input *ReleaseAddressInput) (*ReleaseAddressOutput, const opReleaseHosts = "ReleaseHosts" -// ReleaseHostsRequest generates a request for the ReleaseHosts operation. +// ReleaseHostsRequest generates a "aws/request.Request" representing the +// client's request for the ReleaseHosts operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ReleaseHosts for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ReleaseHosts method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ReleaseHostsRequest method. +// req, resp := client.ReleaseHostsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ReleaseHostsRequest(input *ReleaseHostsInput) (req *request.Request, output *ReleaseHostsOutput) { op := &request.Operation{ Name: opReleaseHosts, @@ -6347,18 +13005,27 @@ func (c *EC2) ReleaseHostsRequest(input *ReleaseHostsInput) (req *request.Reques return } -// When you no longer want to use a Dedicated host it can be released. On-Demand -// billing is stopped and the host goes into released state. The host ID of -// Dedicated hosts that have been released can no longer be specified in another -// request, e.g., ModifyHosts. You must stop or terminate all instances on a -// host before it can be released. +// ReleaseHosts API operation for Amazon Elastic Compute Cloud. +// +// When you no longer want to use an On-Demand Dedicated Host it can be released. +// On-Demand billing is stopped and the host goes into released state. The host +// ID of Dedicated Hosts that have been released can no longer be specified +// in another request, e.g., ModifyHosts. You must stop or terminate all instances +// on a host before it can be released. // -// When Dedicated hosts are released, it make take some time for them to stop +// When Dedicated Hosts are released, it make take some time for them to stop // counting toward your limit and you may receive capacity errors when trying // to allocate new Dedicated hosts. Try waiting a few minutes, and then try // again. // // Released hosts will still appear in a DescribeHosts 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. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ReleaseHosts for usage and error information. func (c *EC2) ReleaseHosts(input *ReleaseHostsInput) (*ReleaseHostsOutput, error) { req, out := c.ReleaseHostsRequest(input) err := req.Send() @@ -6367,7 +13034,30 @@ func (c *EC2) ReleaseHosts(input *ReleaseHostsInput) (*ReleaseHostsOutput, error const opReplaceNetworkAclAssociation = "ReplaceNetworkAclAssociation" -// ReplaceNetworkAclAssociationRequest generates a request for the ReplaceNetworkAclAssociation operation. +// ReplaceNetworkAclAssociationRequest generates a "aws/request.Request" representing the +// client's request for the ReplaceNetworkAclAssociation operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ReplaceNetworkAclAssociation for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ReplaceNetworkAclAssociation method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ReplaceNetworkAclAssociationRequest method. +// req, resp := client.ReplaceNetworkAclAssociationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ReplaceNetworkAclAssociationRequest(input *ReplaceNetworkAclAssociationInput) (req *request.Request, output *ReplaceNetworkAclAssociationOutput) { op := &request.Operation{ Name: opReplaceNetworkAclAssociation, @@ -6385,10 +13075,19 @@ func (c *EC2) ReplaceNetworkAclAssociationRequest(input *ReplaceNetworkAclAssoci return } +// ReplaceNetworkAclAssociation API operation for Amazon Elastic Compute Cloud. +// // Changes which network ACL a subnet is associated with. By default when you // create a subnet, it's automatically associated with the default network ACL. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html) // in the Amazon Virtual Private Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ReplaceNetworkAclAssociation for usage and error information. func (c *EC2) ReplaceNetworkAclAssociation(input *ReplaceNetworkAclAssociationInput) (*ReplaceNetworkAclAssociationOutput, error) { req, out := c.ReplaceNetworkAclAssociationRequest(input) err := req.Send() @@ -6397,7 +13096,30 @@ func (c *EC2) ReplaceNetworkAclAssociation(input *ReplaceNetworkAclAssociationIn const opReplaceNetworkAclEntry = "ReplaceNetworkAclEntry" -// ReplaceNetworkAclEntryRequest generates a request for the ReplaceNetworkAclEntry operation. +// ReplaceNetworkAclEntryRequest generates a "aws/request.Request" representing the +// client's request for the ReplaceNetworkAclEntry operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ReplaceNetworkAclEntry for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ReplaceNetworkAclEntry method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ReplaceNetworkAclEntryRequest method. +// req, resp := client.ReplaceNetworkAclEntryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ReplaceNetworkAclEntryRequest(input *ReplaceNetworkAclEntryInput) (req *request.Request, output *ReplaceNetworkAclEntryOutput) { op := &request.Operation{ Name: opReplaceNetworkAclEntry, @@ -6417,9 +13139,18 @@ func (c *EC2) ReplaceNetworkAclEntryRequest(input *ReplaceNetworkAclEntryInput) return } +// ReplaceNetworkAclEntry API operation for Amazon Elastic Compute Cloud. +// // Replaces an entry (rule) in a network ACL. For more information about network // ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html) // in the Amazon Virtual Private Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ReplaceNetworkAclEntry for usage and error information. func (c *EC2) ReplaceNetworkAclEntry(input *ReplaceNetworkAclEntryInput) (*ReplaceNetworkAclEntryOutput, error) { req, out := c.ReplaceNetworkAclEntryRequest(input) err := req.Send() @@ -6428,7 +13159,30 @@ func (c *EC2) ReplaceNetworkAclEntry(input *ReplaceNetworkAclEntryInput) (*Repla const opReplaceRoute = "ReplaceRoute" -// ReplaceRouteRequest generates a request for the ReplaceRoute operation. +// ReplaceRouteRequest generates a "aws/request.Request" representing the +// client's request for the ReplaceRoute operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ReplaceRoute for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ReplaceRoute method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ReplaceRouteRequest method. +// req, resp := client.ReplaceRouteRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ReplaceRouteRequest(input *ReplaceRouteInput) (req *request.Request, output *ReplaceRouteOutput) { op := &request.Operation{ Name: opReplaceRoute, @@ -6448,12 +13202,21 @@ func (c *EC2) ReplaceRouteRequest(input *ReplaceRouteInput) (req *request.Reques return } +// ReplaceRoute API operation for Amazon Elastic Compute Cloud. +// // Replaces an existing route within a route table in a VPC. You must provide // only one of the following: Internet gateway or virtual private gateway, NAT // instance, NAT gateway, VPC peering connection, or network interface. // // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) // in the Amazon Virtual Private Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ReplaceRoute for usage and error information. func (c *EC2) ReplaceRoute(input *ReplaceRouteInput) (*ReplaceRouteOutput, error) { req, out := c.ReplaceRouteRequest(input) err := req.Send() @@ -6462,7 +13225,30 @@ func (c *EC2) ReplaceRoute(input *ReplaceRouteInput) (*ReplaceRouteOutput, error const opReplaceRouteTableAssociation = "ReplaceRouteTableAssociation" -// ReplaceRouteTableAssociationRequest generates a request for the ReplaceRouteTableAssociation operation. +// ReplaceRouteTableAssociationRequest generates a "aws/request.Request" representing the +// client's request for the ReplaceRouteTableAssociation operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ReplaceRouteTableAssociation for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ReplaceRouteTableAssociation method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ReplaceRouteTableAssociationRequest method. +// req, resp := client.ReplaceRouteTableAssociationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ReplaceRouteTableAssociationRequest(input *ReplaceRouteTableAssociationInput) (req *request.Request, output *ReplaceRouteTableAssociationOutput) { op := &request.Operation{ Name: opReplaceRouteTableAssociation, @@ -6480,6 +13266,8 @@ func (c *EC2) ReplaceRouteTableAssociationRequest(input *ReplaceRouteTableAssoci return } +// ReplaceRouteTableAssociation API operation for Amazon Elastic Compute Cloud. +// // Changes the route table associated with a given subnet in a VPC. After the // operation completes, the subnet uses the routes in the new route table it's // associated with. For more information about route tables, see Route Tables @@ -6489,6 +13277,13 @@ func (c *EC2) ReplaceRouteTableAssociationRequest(input *ReplaceRouteTableAssoci // You can also use ReplaceRouteTableAssociation to change which table is the // main route table in the VPC. You just specify the main route table's association // ID and the route table to be the new main route table. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ReplaceRouteTableAssociation for usage and error information. func (c *EC2) ReplaceRouteTableAssociation(input *ReplaceRouteTableAssociationInput) (*ReplaceRouteTableAssociationOutput, error) { req, out := c.ReplaceRouteTableAssociationRequest(input) err := req.Send() @@ -6497,7 +13292,30 @@ func (c *EC2) ReplaceRouteTableAssociation(input *ReplaceRouteTableAssociationIn const opReportInstanceStatus = "ReportInstanceStatus" -// ReportInstanceStatusRequest generates a request for the ReportInstanceStatus operation. +// ReportInstanceStatusRequest generates a "aws/request.Request" representing the +// client's request for the ReportInstanceStatus operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ReportInstanceStatus for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ReportInstanceStatus method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ReportInstanceStatusRequest method. +// req, resp := client.ReportInstanceStatusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ReportInstanceStatusRequest(input *ReportInstanceStatusInput) (req *request.Request, output *ReportInstanceStatusOutput) { op := &request.Operation{ Name: opReportInstanceStatus, @@ -6517,6 +13335,8 @@ func (c *EC2) ReportInstanceStatusRequest(input *ReportInstanceStatusInput) (req return } +// ReportInstanceStatus API operation for Amazon Elastic Compute Cloud. +// // Submits feedback about the status of an instance. The instance must be in // the running state. If your experience with the instance differs from the // instance status returned by DescribeInstanceStatus, use ReportInstanceStatus @@ -6524,6 +13344,13 @@ func (c *EC2) ReportInstanceStatusRequest(input *ReportInstanceStatusInput) (req // to improve the accuracy of status checks. // // Use of this action does not change the value returned by DescribeInstanceStatus. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ReportInstanceStatus for usage and error information. func (c *EC2) ReportInstanceStatus(input *ReportInstanceStatusInput) (*ReportInstanceStatusOutput, error) { req, out := c.ReportInstanceStatusRequest(input) err := req.Send() @@ -6532,7 +13359,30 @@ func (c *EC2) ReportInstanceStatus(input *ReportInstanceStatusInput) (*ReportIns const opRequestSpotFleet = "RequestSpotFleet" -// RequestSpotFleetRequest generates a request for the RequestSpotFleet operation. +// RequestSpotFleetRequest generates a "aws/request.Request" representing the +// client's request for the RequestSpotFleet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RequestSpotFleet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RequestSpotFleet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RequestSpotFleetRequest method. +// req, resp := client.RequestSpotFleetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *request.Request, output *RequestSpotFleetOutput) { op := &request.Operation{ Name: opRequestSpotFleet, @@ -6550,6 +13400,8 @@ func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *reques return } +// RequestSpotFleet API operation for Amazon Elastic Compute Cloud. +// // Creates a Spot fleet request. // // You can submit a single request that includes multiple launch specifications @@ -6567,6 +13419,13 @@ func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *reques // // For more information, see Spot Fleet Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation RequestSpotFleet for usage and error information. func (c *EC2) RequestSpotFleet(input *RequestSpotFleetInput) (*RequestSpotFleetOutput, error) { req, out := c.RequestSpotFleetRequest(input) err := req.Send() @@ -6575,7 +13434,30 @@ func (c *EC2) RequestSpotFleet(input *RequestSpotFleetInput) (*RequestSpotFleetO const opRequestSpotInstances = "RequestSpotInstances" -// RequestSpotInstancesRequest generates a request for the RequestSpotInstances operation. +// RequestSpotInstancesRequest generates a "aws/request.Request" representing the +// client's request for the RequestSpotInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RequestSpotInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RequestSpotInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RequestSpotInstancesRequest method. +// req, resp := client.RequestSpotInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req *request.Request, output *RequestSpotInstancesOutput) { op := &request.Operation{ Name: opRequestSpotInstances, @@ -6593,12 +13475,21 @@ func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req return } +// RequestSpotInstances API operation for Amazon Elastic Compute Cloud. +// // Creates a Spot instance request. Spot instances are instances that Amazon // EC2 launches when the bid price that you specify exceeds the current Spot // price. Amazon EC2 periodically sets the Spot price based on available Spot // Instance capacity and current Spot instance requests. For more information, // see Spot Instance Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation RequestSpotInstances for usage and error information. func (c *EC2) RequestSpotInstances(input *RequestSpotInstancesInput) (*RequestSpotInstancesOutput, error) { req, out := c.RequestSpotInstancesRequest(input) err := req.Send() @@ -6607,7 +13498,30 @@ func (c *EC2) RequestSpotInstances(input *RequestSpotInstancesInput) (*RequestSp const opResetImageAttribute = "ResetImageAttribute" -// ResetImageAttributeRequest generates a request for the ResetImageAttribute operation. +// ResetImageAttributeRequest generates a "aws/request.Request" representing the +// client's request for the ResetImageAttribute operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ResetImageAttribute for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ResetImageAttribute method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ResetImageAttributeRequest method. +// req, resp := client.ResetImageAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ResetImageAttributeRequest(input *ResetImageAttributeInput) (req *request.Request, output *ResetImageAttributeOutput) { op := &request.Operation{ Name: opResetImageAttribute, @@ -6627,9 +13541,18 @@ func (c *EC2) ResetImageAttributeRequest(input *ResetImageAttributeInput) (req * return } +// ResetImageAttribute API operation for Amazon Elastic Compute Cloud. +// // Resets an attribute of an AMI to its default value. // // The productCodes attribute can't be reset. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ResetImageAttribute for usage and error information. func (c *EC2) ResetImageAttribute(input *ResetImageAttributeInput) (*ResetImageAttributeOutput, error) { req, out := c.ResetImageAttributeRequest(input) err := req.Send() @@ -6638,7 +13561,30 @@ func (c *EC2) ResetImageAttribute(input *ResetImageAttributeInput) (*ResetImageA const opResetInstanceAttribute = "ResetInstanceAttribute" -// ResetInstanceAttributeRequest generates a request for the ResetInstanceAttribute operation. +// ResetInstanceAttributeRequest generates a "aws/request.Request" representing the +// client's request for the ResetInstanceAttribute operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ResetInstanceAttribute for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ResetInstanceAttribute method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ResetInstanceAttributeRequest method. +// req, resp := client.ResetInstanceAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ResetInstanceAttributeRequest(input *ResetInstanceAttributeInput) (req *request.Request, output *ResetInstanceAttributeOutput) { op := &request.Operation{ Name: opResetInstanceAttribute, @@ -6658,15 +13604,24 @@ func (c *EC2) ResetInstanceAttributeRequest(input *ResetInstanceAttributeInput) return } +// ResetInstanceAttribute API operation for Amazon Elastic Compute Cloud. +// // Resets an attribute of an instance to its default value. To reset the kernel -// or ramdisk, the instance must be in a stopped state. To reset the SourceDestCheck, +// or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck, // the instance can be either running or stopped. // -// The SourceDestCheck attribute controls whether source/destination checking +// The sourceDestCheck attribute controls whether source/destination checking // is enabled. The default value is true, which means checking is enabled. This // value must be false for a NAT instance to perform NAT. For more information, // see NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html) // in the Amazon Virtual Private Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ResetInstanceAttribute for usage and error information. func (c *EC2) ResetInstanceAttribute(input *ResetInstanceAttributeInput) (*ResetInstanceAttributeOutput, error) { req, out := c.ResetInstanceAttributeRequest(input) err := req.Send() @@ -6675,7 +13630,30 @@ func (c *EC2) ResetInstanceAttribute(input *ResetInstanceAttributeInput) (*Reset const opResetNetworkInterfaceAttribute = "ResetNetworkInterfaceAttribute" -// ResetNetworkInterfaceAttributeRequest generates a request for the ResetNetworkInterfaceAttribute operation. +// ResetNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the +// client's request for the ResetNetworkInterfaceAttribute operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ResetNetworkInterfaceAttribute for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ResetNetworkInterfaceAttribute method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ResetNetworkInterfaceAttributeRequest method. +// req, resp := client.ResetNetworkInterfaceAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ResetNetworkInterfaceAttributeRequest(input *ResetNetworkInterfaceAttributeInput) (req *request.Request, output *ResetNetworkInterfaceAttributeOutput) { op := &request.Operation{ Name: opResetNetworkInterfaceAttribute, @@ -6695,8 +13673,17 @@ func (c *EC2) ResetNetworkInterfaceAttributeRequest(input *ResetNetworkInterface return } +// ResetNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud. +// // Resets a network interface attribute. You can specify only one attribute // at a time. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ResetNetworkInterfaceAttribute for usage and error information. func (c *EC2) ResetNetworkInterfaceAttribute(input *ResetNetworkInterfaceAttributeInput) (*ResetNetworkInterfaceAttributeOutput, error) { req, out := c.ResetNetworkInterfaceAttributeRequest(input) err := req.Send() @@ -6705,7 +13692,30 @@ func (c *EC2) ResetNetworkInterfaceAttribute(input *ResetNetworkInterfaceAttribu const opResetSnapshotAttribute = "ResetSnapshotAttribute" -// ResetSnapshotAttributeRequest generates a request for the ResetSnapshotAttribute operation. +// ResetSnapshotAttributeRequest generates a "aws/request.Request" representing the +// client's request for the ResetSnapshotAttribute operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ResetSnapshotAttribute for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ResetSnapshotAttribute method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ResetSnapshotAttributeRequest method. +// req, resp := client.ResetSnapshotAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) ResetSnapshotAttributeRequest(input *ResetSnapshotAttributeInput) (req *request.Request, output *ResetSnapshotAttributeOutput) { op := &request.Operation{ Name: opResetSnapshotAttribute, @@ -6725,11 +13735,20 @@ func (c *EC2) ResetSnapshotAttributeRequest(input *ResetSnapshotAttributeInput) return } +// ResetSnapshotAttribute API operation for Amazon Elastic Compute Cloud. +// // Resets permission settings for the specified snapshot. // // For more information on modifying snapshot permissions, see Sharing Snapshots // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ResetSnapshotAttribute for usage and error information. func (c *EC2) ResetSnapshotAttribute(input *ResetSnapshotAttributeInput) (*ResetSnapshotAttributeOutput, error) { req, out := c.ResetSnapshotAttributeRequest(input) err := req.Send() @@ -6738,7 +13757,30 @@ func (c *EC2) ResetSnapshotAttribute(input *ResetSnapshotAttributeInput) (*Reset const opRestoreAddressToClassic = "RestoreAddressToClassic" -// RestoreAddressToClassicRequest generates a request for the RestoreAddressToClassic operation. +// RestoreAddressToClassicRequest generates a "aws/request.Request" representing the +// client's request for the RestoreAddressToClassic operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RestoreAddressToClassic for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RestoreAddressToClassic method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RestoreAddressToClassicRequest method. +// req, resp := client.RestoreAddressToClassicRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) RestoreAddressToClassicRequest(input *RestoreAddressToClassicInput) (req *request.Request, output *RestoreAddressToClassicOutput) { op := &request.Operation{ Name: opRestoreAddressToClassic, @@ -6756,12 +13798,19 @@ func (c *EC2) RestoreAddressToClassicRequest(input *RestoreAddressToClassicInput return } +// RestoreAddressToClassic API operation for Amazon Elastic Compute Cloud. +// // Restores an Elastic IP address that was previously moved to the EC2-VPC platform // back to the EC2-Classic platform. You cannot move an Elastic IP address that // was originally allocated for use in EC2-VPC. The Elastic IP address must -// not be associated with an instance or network interface. You cannot restore -// an Elastic IP address that's associated with a reverse DNS record. Contact -// AWS account and billing support to remove the reverse DNS record. +// not be associated with an instance or network interface. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation RestoreAddressToClassic for usage and error information. func (c *EC2) RestoreAddressToClassic(input *RestoreAddressToClassicInput) (*RestoreAddressToClassicOutput, error) { req, out := c.RestoreAddressToClassicRequest(input) err := req.Send() @@ -6770,7 +13819,30 @@ func (c *EC2) RestoreAddressToClassic(input *RestoreAddressToClassicInput) (*Res const opRevokeSecurityGroupEgress = "RevokeSecurityGroupEgress" -// RevokeSecurityGroupEgressRequest generates a request for the RevokeSecurityGroupEgress operation. +// RevokeSecurityGroupEgressRequest generates a "aws/request.Request" representing the +// client's request for the RevokeSecurityGroupEgress operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RevokeSecurityGroupEgress for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RevokeSecurityGroupEgress method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RevokeSecurityGroupEgressRequest method. +// req, resp := client.RevokeSecurityGroupEgressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) RevokeSecurityGroupEgressRequest(input *RevokeSecurityGroupEgressInput) (req *request.Request, output *RevokeSecurityGroupEgressOutput) { op := &request.Operation{ Name: opRevokeSecurityGroupEgress, @@ -6790,6 +13862,8 @@ func (c *EC2) RevokeSecurityGroupEgressRequest(input *RevokeSecurityGroupEgressI return } +// RevokeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud. +// // [EC2-VPC only] Removes one or more egress rules from a security group for // EC2-VPC. This action doesn't apply to security groups for use in EC2-Classic. // The values that you specify in the revoke request (for example, ports) must @@ -6802,6 +13876,13 @@ func (c *EC2) RevokeSecurityGroupEgressRequest(input *RevokeSecurityGroupEgressI // // Rule changes are propagated to instances within the security group as quickly // as possible. However, a small delay might occur. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation RevokeSecurityGroupEgress for usage and error information. func (c *EC2) RevokeSecurityGroupEgress(input *RevokeSecurityGroupEgressInput) (*RevokeSecurityGroupEgressOutput, error) { req, out := c.RevokeSecurityGroupEgressRequest(input) err := req.Send() @@ -6810,7 +13891,30 @@ func (c *EC2) RevokeSecurityGroupEgress(input *RevokeSecurityGroupEgressInput) ( const opRevokeSecurityGroupIngress = "RevokeSecurityGroupIngress" -// RevokeSecurityGroupIngressRequest generates a request for the RevokeSecurityGroupIngress operation. +// RevokeSecurityGroupIngressRequest generates a "aws/request.Request" representing the +// client's request for the RevokeSecurityGroupIngress operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RevokeSecurityGroupIngress for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RevokeSecurityGroupIngress method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RevokeSecurityGroupIngressRequest method. +// req, resp := client.RevokeSecurityGroupIngressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) RevokeSecurityGroupIngressRequest(input *RevokeSecurityGroupIngressInput) (req *request.Request, output *RevokeSecurityGroupIngressOutput) { op := &request.Operation{ Name: opRevokeSecurityGroupIngress, @@ -6830,6 +13934,8 @@ func (c *EC2) RevokeSecurityGroupIngressRequest(input *RevokeSecurityGroupIngres return } +// RevokeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud. +// // Removes one or more ingress rules from a security group. The values that // you specify in the revoke request (for example, ports) must match the existing // rule's values for the rule to be removed. @@ -6841,6 +13947,13 @@ func (c *EC2) RevokeSecurityGroupIngressRequest(input *RevokeSecurityGroupIngres // // Rule changes are propagated to instances within the security group as quickly // as possible. However, a small delay might occur. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation RevokeSecurityGroupIngress for usage and error information. func (c *EC2) RevokeSecurityGroupIngress(input *RevokeSecurityGroupIngressInput) (*RevokeSecurityGroupIngressOutput, error) { req, out := c.RevokeSecurityGroupIngressRequest(input) err := req.Send() @@ -6849,7 +13962,30 @@ func (c *EC2) RevokeSecurityGroupIngress(input *RevokeSecurityGroupIngressInput) const opRunInstances = "RunInstances" -// RunInstancesRequest generates a request for the RunInstances operation. +// RunInstancesRequest generates a "aws/request.Request" representing the +// client's request for the RunInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RunInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RunInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RunInstancesRequest method. +// req, resp := client.RunInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Request, output *Reservation) { op := &request.Operation{ Name: opRunInstances, @@ -6867,6 +14003,8 @@ func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Reques return } +// RunInstances API operation for Amazon Elastic Compute Cloud. +// // Launches the specified number of instances using an AMI for which you have // permissions. // @@ -6878,6 +14016,10 @@ func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Reques // batches. For example, create five separate launch requests for 100 instances // each instead of one launch request for 500 instances. // +// To tag your instance, ensure that it is running as CreateTags requires a +// resource ID. For more information about tagging, see Tagging Your Amazon +// EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html). +// // If you don't specify a security group when launching an instance, Amazon // EC2 uses the default security group. For more information, see Security Groups // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html) @@ -6910,6 +14052,13 @@ func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Reques // Immediately Terminates (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html), // and Troubleshooting Connecting to Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation RunInstances for usage and error information. func (c *EC2) RunInstances(input *RunInstancesInput) (*Reservation, error) { req, out := c.RunInstancesRequest(input) err := req.Send() @@ -6918,7 +14067,30 @@ func (c *EC2) RunInstances(input *RunInstancesInput) (*Reservation, error) { const opRunScheduledInstances = "RunScheduledInstances" -// RunScheduledInstancesRequest generates a request for the RunScheduledInstances operation. +// RunScheduledInstancesRequest generates a "aws/request.Request" representing the +// client's request for the RunScheduledInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RunScheduledInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RunScheduledInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RunScheduledInstancesRequest method. +// req, resp := client.RunScheduledInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) RunScheduledInstancesRequest(input *RunScheduledInstancesInput) (req *request.Request, output *RunScheduledInstancesOutput) { op := &request.Operation{ Name: opRunScheduledInstances, @@ -6936,6 +14108,8 @@ func (c *EC2) RunScheduledInstancesRequest(input *RunScheduledInstancesInput) (r return } +// RunScheduledInstances API operation for Amazon Elastic Compute Cloud. +// // Launches the specified Scheduled Instances. // // Before you can launch a Scheduled Instance, you must purchase it and obtain @@ -6947,6 +14121,13 @@ func (c *EC2) RunScheduledInstancesRequest(input *RunScheduledInstancesInput) (r // ends, you can launch it again after a few minutes. For more information, // see Scheduled Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-scheduled-instances.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation RunScheduledInstances for usage and error information. func (c *EC2) RunScheduledInstances(input *RunScheduledInstancesInput) (*RunScheduledInstancesOutput, error) { req, out := c.RunScheduledInstancesRequest(input) err := req.Send() @@ -6955,7 +14136,30 @@ func (c *EC2) RunScheduledInstances(input *RunScheduledInstancesInput) (*RunSche const opStartInstances = "StartInstances" -// StartInstancesRequest generates a request for the StartInstances operation. +// StartInstancesRequest generates a "aws/request.Request" representing the +// client's request for the StartInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See StartInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the StartInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the StartInstancesRequest method. +// req, resp := client.StartInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) StartInstancesRequest(input *StartInstancesInput) (req *request.Request, output *StartInstancesOutput) { op := &request.Operation{ Name: opStartInstances, @@ -6973,6 +14177,8 @@ func (c *EC2) StartInstancesRequest(input *StartInstancesInput) (req *request.Re return } +// StartInstances API operation for Amazon Elastic Compute Cloud. +// // Starts an Amazon EBS-backed AMI that you've previously stopped. // // Instances that use Amazon EBS volumes as their root devices can be quickly @@ -6992,6 +14198,13 @@ func (c *EC2) StartInstancesRequest(input *StartInstancesInput) (req *request.Re // // For more information, see Stopping Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation StartInstances for usage and error information. func (c *EC2) StartInstances(input *StartInstancesInput) (*StartInstancesOutput, error) { req, out := c.StartInstancesRequest(input) err := req.Send() @@ -7000,7 +14213,30 @@ func (c *EC2) StartInstances(input *StartInstancesInput) (*StartInstancesOutput, const opStopInstances = "StopInstances" -// StopInstancesRequest generates a request for the StopInstances operation. +// StopInstancesRequest generates a "aws/request.Request" representing the +// client's request for the StopInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See StopInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the StopInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the StopInstancesRequest method. +// req, resp := client.StopInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Request, output *StopInstancesOutput) { op := &request.Operation{ Name: opStopInstances, @@ -7018,6 +14254,8 @@ func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Requ return } +// StopInstances API operation for Amazon Elastic Compute Cloud. +// // Stops an Amazon EBS-backed instance. // // We don't charge hourly usage for a stopped instance, or data transfer fees; @@ -7043,9 +14281,18 @@ func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Requ // and terminating instances, see Instance Lifecycle (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html) // in the Amazon Elastic Compute Cloud User Guide. // -// For more information about troubleshooting, see Troubleshooting Stopping -// Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html) +// When you stop an instance, we attempt to shut it down forcibly after a short +// while. If your instance appears stuck in the stopping state after a period +// of time, there may be an issue with the underlying host computer. For more +// information, see Troubleshooting Stopping Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation StopInstances for usage and error information. func (c *EC2) StopInstances(input *StopInstancesInput) (*StopInstancesOutput, error) { req, out := c.StopInstancesRequest(input) err := req.Send() @@ -7054,7 +14301,30 @@ func (c *EC2) StopInstances(input *StopInstancesInput) (*StopInstancesOutput, er const opTerminateInstances = "TerminateInstances" -// TerminateInstancesRequest generates a request for the TerminateInstances operation. +// TerminateInstancesRequest generates a "aws/request.Request" representing the +// client's request for the TerminateInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See TerminateInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the TerminateInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the TerminateInstancesRequest method. +// req, resp := client.TerminateInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) TerminateInstancesRequest(input *TerminateInstancesInput) (req *request.Request, output *TerminateInstancesOutput) { op := &request.Operation{ Name: opTerminateInstances, @@ -7072,9 +14342,14 @@ func (c *EC2) TerminateInstancesRequest(input *TerminateInstancesInput) (req *re return } +// TerminateInstances API operation for Amazon Elastic Compute Cloud. +// // Shuts down one or more instances. This operation is idempotent; if you terminate // an instance more than once, each call succeeds. // +// If you specify multiple instances and the request fails (for example, because +// of a single incorrect instance ID), none of the instances are terminated. +// // Terminated instances remain visible after termination (for approximately // one hour). // @@ -7094,6 +14369,13 @@ func (c *EC2) TerminateInstancesRequest(input *TerminateInstancesInput) (req *re // For more information about troubleshooting, see Troubleshooting Terminating // Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation TerminateInstances for usage and error information. func (c *EC2) TerminateInstances(input *TerminateInstancesInput) (*TerminateInstancesOutput, error) { req, out := c.TerminateInstancesRequest(input) err := req.Send() @@ -7102,7 +14384,30 @@ func (c *EC2) TerminateInstances(input *TerminateInstancesInput) (*TerminateInst const opUnassignPrivateIpAddresses = "UnassignPrivateIpAddresses" -// UnassignPrivateIpAddressesRequest generates a request for the UnassignPrivateIpAddresses operation. +// UnassignPrivateIpAddressesRequest generates a "aws/request.Request" representing the +// client's request for the UnassignPrivateIpAddresses operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UnassignPrivateIpAddresses for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UnassignPrivateIpAddresses method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UnassignPrivateIpAddressesRequest method. +// req, resp := client.UnassignPrivateIpAddressesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) UnassignPrivateIpAddressesRequest(input *UnassignPrivateIpAddressesInput) (req *request.Request, output *UnassignPrivateIpAddressesOutput) { op := &request.Operation{ Name: opUnassignPrivateIpAddresses, @@ -7122,7 +14427,16 @@ func (c *EC2) UnassignPrivateIpAddressesRequest(input *UnassignPrivateIpAddresse return } +// UnassignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud. +// // Unassigns one or more secondary private IP addresses from a network interface. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation UnassignPrivateIpAddresses for usage and error information. func (c *EC2) UnassignPrivateIpAddresses(input *UnassignPrivateIpAddressesInput) (*UnassignPrivateIpAddressesOutput, error) { req, out := c.UnassignPrivateIpAddressesRequest(input) err := req.Send() @@ -7131,7 +14445,30 @@ func (c *EC2) UnassignPrivateIpAddresses(input *UnassignPrivateIpAddressesInput) const opUnmonitorInstances = "UnmonitorInstances" -// UnmonitorInstancesRequest generates a request for the UnmonitorInstances operation. +// UnmonitorInstancesRequest generates a "aws/request.Request" representing the +// client's request for the UnmonitorInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UnmonitorInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UnmonitorInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UnmonitorInstancesRequest method. +// req, resp := client.UnmonitorInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EC2) UnmonitorInstancesRequest(input *UnmonitorInstancesInput) (req *request.Request, output *UnmonitorInstancesOutput) { op := &request.Operation{ Name: opUnmonitorInstances, @@ -7149,15 +14486,96 @@ func (c *EC2) UnmonitorInstancesRequest(input *UnmonitorInstancesInput) (req *re return } +// UnmonitorInstances API operation for Amazon Elastic Compute Cloud. +// // Disables monitoring for a running instance. For more information about monitoring // instances, see Monitoring Your Instances and Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html) // in the Amazon Elastic Compute Cloud 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation UnmonitorInstances for usage and error information. func (c *EC2) UnmonitorInstances(input *UnmonitorInstancesInput) (*UnmonitorInstancesOutput, error) { req, out := c.UnmonitorInstancesRequest(input) err := req.Send() return out, err } +// Contains the parameters for accepting the quote. +type AcceptReservedInstancesExchangeQuoteInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The IDs of the Convertible Reserved Instances that you want to exchange for + // other Convertible Reserved Instances of the same or higher value. + // + // ReservedInstanceIds is a required field + ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"` + + // The configurations of the Convertible Reserved Instance offerings you are + // purchasing in this exchange. + TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"` +} + +// String returns the string representation +func (s AcceptReservedInstancesExchangeQuoteInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AcceptReservedInstancesExchangeQuoteInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AcceptReservedInstancesExchangeQuoteInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AcceptReservedInstancesExchangeQuoteInput"} + if s.ReservedInstanceIds == nil { + invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds")) + } + if s.TargetConfigurations != nil { + for i, v := range s.TargetConfigurations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The result of the exchange and whether it was successful. +type AcceptReservedInstancesExchangeQuoteOutput struct { + _ struct{} `type:"structure"` + + // The ID of the successful exchange. + ExchangeId *string `locationName:"exchangeId" type:"string"` +} + +// String returns the string representation +func (s AcceptReservedInstancesExchangeQuoteOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AcceptReservedInstancesExchangeQuoteOutput) GoString() string { + return s.String() +} + // Contains the parameters for AcceptVpcPeeringConnection. type AcceptVpcPeeringConnectionInput struct { _ struct{} `type:"structure"` @@ -7361,13 +14779,15 @@ type AllocateHostsInput struct { _ struct{} `type:"structure"` // This is enabled by default. This property allows instances to be automatically - // placed onto available Dedicated hosts, when you are launching instances without + // placed onto available Dedicated Hosts, when you are launching instances without // specifying a host ID. // // Default: Enabled AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"` - // The Availability Zone for the Dedicated hosts. + // The Availability Zone for the Dedicated Hosts. + // + // AvailabilityZone is a required field AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"` // Unique, case-sensitive identifier you provide to ensure idempotency of the @@ -7375,13 +14795,17 @@ type AllocateHostsInput struct { // in the Amazon Elastic Compute Cloud User Guide. ClientToken *string `locationName:"clientToken" type:"string"` - // Specify the instance type that you want your Dedicated hosts to be configured + // Specify the instance type that you want your Dedicated Hosts to be configured // for. When you specify the instance type, that is the only instance type that // you can launch onto that host. + // + // InstanceType is a required field InstanceType *string `locationName:"instanceType" type:"string" required:"true"` - // The number of Dedicated hosts you want to allocate to your account with these + // The number of Dedicated Hosts you want to allocate to your account with these // parameters. + // + // Quantity is a required field Quantity *int64 `locationName:"quantity" type:"integer" required:"true"` } @@ -7418,7 +14842,7 @@ func (s *AllocateHostsInput) Validate() error { type AllocateHostsOutput struct { _ struct{} `type:"structure"` - // The ID of the allocated Dedicated host. This is used when you want to launch + // The ID of the allocated Dedicated Host. This is used when you want to launch // an instance onto a specific host. HostIds []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"` } @@ -7442,6 +14866,8 @@ type AssignPrivateIpAddressesInput struct { AllowReassignment *bool `locationName:"allowReassignment" type:"boolean"` // The ID of the network interface. + // + // NetworkInterfaceId is a required field NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"` // One or more IP addresses to be assigned as a secondary private IP address @@ -7569,6 +14995,8 @@ type AssociateDhcpOptionsInput struct { // The ID of the DHCP options set, or default to associate no DHCP options with // the VPC. + // + // DhcpOptionsId is a required field DhcpOptionsId *string `type:"string" required:"true"` // Checks whether you have the required permissions for the action, without @@ -7578,6 +15006,8 @@ type AssociateDhcpOptionsInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the VPC. + // + // VpcId is a required field VpcId *string `type:"string" required:"true"` } @@ -7632,9 +15062,13 @@ type AssociateRouteTableInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the route table. + // + // RouteTableId is a required field RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"` // The ID of the subnet. + // + // SubnetId is a required field SubnetId *string `locationName:"subnetId" type:"string" required:"true"` } @@ -7694,12 +15128,18 @@ type AttachClassicLinkVpcInput struct { // The ID of one or more of the VPC's security groups. You cannot specify security // groups from a different VPC. + // + // Groups is a required field Groups []*string `locationName:"SecurityGroupId" locationNameList:"groupId" type:"list" required:"true"` // The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC. + // + // InstanceId is a required field InstanceId *string `locationName:"instanceId" type:"string" required:"true"` // The ID of a ClassicLink-enabled VPC. + // + // VpcId is a required field VpcId *string `locationName:"vpcId" type:"string" required:"true"` } @@ -7761,9 +15201,13 @@ type AttachInternetGatewayInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the Internet gateway. + // + // InternetGatewayId is a required field InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"` // The ID of the VPC. + // + // VpcId is a required field VpcId *string `locationName:"vpcId" type:"string" required:"true"` } @@ -7812,6 +15256,8 @@ type AttachNetworkInterfaceInput struct { _ struct{} `type:"structure"` // The index of the device for the network interface attachment. + // + // DeviceIndex is a required field DeviceIndex *int64 `locationName:"deviceIndex" type:"integer" required:"true"` // Checks whether you have the required permissions for the action, without @@ -7821,9 +15267,13 @@ type AttachNetworkInterfaceInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the instance. + // + // InstanceId is a required field InstanceId *string `locationName:"instanceId" type:"string" required:"true"` // The ID of the network interface. + // + // NetworkInterfaceId is a required field NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"` } @@ -7879,6 +15329,8 @@ type AttachVolumeInput struct { _ struct{} `type:"structure"` // The device name to expose to the instance (for example, /dev/sdh or xvdh). + // + // Device is a required field Device *string `type:"string" required:"true"` // Checks whether you have the required permissions for the action, without @@ -7888,10 +15340,14 @@ type AttachVolumeInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the instance. + // + // InstanceId is a required field InstanceId *string `type:"string" required:"true"` // The ID of the EBS volume. The volume and instance must be within the same // Availability Zone. + // + // VolumeId is a required field VolumeId *string `type:"string" required:"true"` } @@ -7935,9 +15391,13 @@ type AttachVpnGatewayInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the VPC. + // + // VpcId is a required field VpcId *string `type:"string" required:"true"` // The ID of the virtual private gateway. + // + // VpnGatewayId is a required field VpnGatewayId *string `type:"string" required:"true"` } @@ -7985,11 +15445,11 @@ func (s AttachVpnGatewayOutput) GoString() string { return s.String() } -// The value to use when a resource attribute accepts a Boolean value. +// Describes a value for a resource attribute that is a Boolean value. type AttributeBooleanValue struct { _ struct{} `type:"structure"` - // Valid values are true or false. + // The attribute value. The valid values are true or false. Value *bool `locationName:"value" type:"boolean"` } @@ -8003,11 +15463,11 @@ func (s AttributeBooleanValue) GoString() string { return s.String() } -// The value to use for a resource attribute. +// Describes a value for a resource attribute that is a String. type AttributeValue struct { _ struct{} `type:"structure"` - // Valid values are case-sensitive and vary by action. + // The attribute value. Note that the value is case-sensitive. Value *string `locationName:"value" type:"string"` } @@ -8040,6 +15500,8 @@ type AuthorizeSecurityGroupEgressInput struct { FromPort *int64 `locationName:"fromPort" type:"integer"` // The ID of the security group. + // + // GroupId is a required field GroupId *string `locationName:"groupId" type:"string" required:"true"` // A set of IP permissions. You can't specify a destination security group and @@ -8131,7 +15593,8 @@ type AuthorizeSecurityGroupIngressInput struct { IpPermissions []*IpPermission `locationNameList:"item" type:"list"` // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)). - // (VPC only) Use -1 to specify all. + // (VPC only) Use -1 to specify all traffic. If you specify -1, traffic on all + // ports is allowed, regardless of any ports you specify. IpProtocol *string `type:"string"` // [EC2-Classic, default VPC] The name of the source security group. You can't @@ -8225,14 +15688,14 @@ func (s AvailabilityZoneMessage) GoString() string { return s.String() } -// The capacity information for instances launched onto the Dedicated host. +// The capacity information for instances launched onto the Dedicated Host. type AvailableCapacity struct { _ struct{} `type:"structure"` - // The total number of instances that the Dedicated host supports. + // The total number of instances that the Dedicated Host supports. AvailableInstanceCapacity []*InstanceCapacity `locationName:"availableInstanceCapacity" locationNameList:"item" type:"list"` - // The number of vCPUs available on the Dedicated host. + // The number of vCPUs available on the Dedicated Host. AvailableVCpus *int64 `locationName:"availableVCpus" type:"integer"` } @@ -8318,11 +15781,15 @@ type BundleInstanceInput struct { // Default: None // // Required: Yes + // + // InstanceId is a required field InstanceId *string `type:"string" required:"true"` // The bucket in which to store the AMI. You can specify a bucket that you already // own or a new bucket that Amazon EC2 creates on your behalf. If you specify // a bucket that belongs to someone else, Amazon EC2 returns an error. + // + // Storage is a required field Storage *Storage `type:"structure" required:"true"` } @@ -8435,6 +15902,8 @@ type CancelBundleTaskInput struct { _ struct{} `type:"structure"` // The ID of the bundle task. + // + // BundleId is a required field BundleId *string `type:"string" required:"true"` // Checks whether you have the required permissions for the action, without @@ -8490,6 +15959,8 @@ type CancelConversionTaskInput struct { _ struct{} `type:"structure"` // The ID of the conversion task. + // + // ConversionTaskId is a required field ConversionTaskId *string `locationName:"conversionTaskId" type:"string" required:"true"` // Checks whether you have the required permissions for the action, without @@ -8544,6 +16015,8 @@ type CancelExportTaskInput struct { _ struct{} `type:"structure"` // The ID of the export task. This is the ID returned by CreateInstanceExportTask. + // + // ExportTaskId is a required field ExportTaskId *string `locationName:"exportTaskId" type:"string" required:"true"` } @@ -8640,6 +16113,8 @@ type CancelReservedInstancesListingInput struct { _ struct{} `type:"structure"` // The ID of the Reserved Instance listing. + // + // ReservedInstancesListingId is a required field ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string" required:"true"` } @@ -8689,9 +16164,13 @@ type CancelSpotFleetRequestsError struct { _ struct{} `type:"structure"` // The error code. + // + // Code is a required field Code *string `locationName:"code" type:"string" required:"true" enum:"CancelBatchErrorCode"` // The description for the error code. + // + // Message is a required field Message *string `locationName:"message" type:"string" required:"true"` } @@ -8710,9 +16189,13 @@ type CancelSpotFleetRequestsErrorItem struct { _ struct{} `type:"structure"` // The error. + // + // Error is a required field Error *CancelSpotFleetRequestsError `locationName:"error" type:"structure" required:"true"` // The ID of the Spot fleet request. + // + // SpotFleetRequestId is a required field SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"` } @@ -8737,10 +16220,14 @@ type CancelSpotFleetRequestsInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The IDs of the Spot fleet requests. + // + // SpotFleetRequestIds is a required field SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list" required:"true"` // Indicates whether to terminate instances for a Spot fleet request if it is // canceled successfully. + // + // TerminateInstances is a required field TerminateInstances *bool `locationName:"terminateInstances" type:"boolean" required:"true"` } @@ -8796,12 +16283,18 @@ type CancelSpotFleetRequestsSuccessItem struct { _ struct{} `type:"structure"` // The current state of the Spot fleet request. + // + // CurrentSpotFleetRequestState is a required field CurrentSpotFleetRequestState *string `locationName:"currentSpotFleetRequestState" type:"string" required:"true" enum:"BatchState"` // The previous state of the Spot fleet request. + // + // PreviousSpotFleetRequestState is a required field PreviousSpotFleetRequestState *string `locationName:"previousSpotFleetRequestState" type:"string" required:"true" enum:"BatchState"` // The ID of the Spot fleet request. + // + // SpotFleetRequestId is a required field SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"` } @@ -8826,6 +16319,8 @@ type CancelSpotInstanceRequestsInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // One or more Spot instance request IDs. + // + // SpotInstanceRequestIds is a required field SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list" required:"true"` } @@ -8977,9 +16472,13 @@ type ConfirmProductInstanceInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the instance. + // + // InstanceId is a required field InstanceId *string `type:"string" required:"true"` // The product code. This must be a product code that you own. + // + // ProductCode is a required field ProductCode *string `type:"string" required:"true"` } @@ -9037,6 +16536,8 @@ type ConversionTask struct { _ struct{} `type:"structure"` // The ID of the conversion task. + // + // ConversionTaskId is a required field ConversionTaskId *string `locationName:"conversionTaskId" type:"string" required:"true"` // The time when the task expires. If the upload isn't complete before the expiration @@ -9052,6 +16553,8 @@ type ConversionTask struct { ImportVolume *ImportVolumeTaskDetails `locationName:"importVolume" type:"structure"` // The state of the conversion task. + // + // State is a required field State *string `locationName:"state" type:"string" required:"true" enum:"ConversionTaskState"` // The status message related to the conversion task. @@ -9107,12 +16610,18 @@ type CopyImageInput struct { KmsKeyId *string `locationName:"kmsKeyId" type:"string"` // The name of the new AMI in the destination region. + // + // Name is a required field Name *string `type:"string" required:"true"` // The ID of the AMI to copy. + // + // SourceImageId is a required field SourceImageId *string `type:"string" required:"true"` // The name of the region that contains the AMI to copy. + // + // SourceRegion is a required field SourceRegion *string `type:"string" required:"true"` } @@ -9174,7 +16683,7 @@ type CopySnapshotInput struct { // copy operation. This parameter is only valid for specifying the destination // region in a PresignedUrl parameter, where it is required. // - // CopySnapshot sends the snapshot copy to the regional endpoint that you + // CopySnapshot sends the snapshot copy to the regional endpoint that you // send the HTTP request to, such as ec2.us-east-1.amazonaws.com (in the AWS // CLI, this is specified with the --region parameter or the default region // in your AWS configuration file). @@ -9186,13 +16695,13 @@ type CopySnapshotInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // Specifies whether the destination snapshot should be encrypted. There is - // no way to create an unencrypted snapshot copy from an encrypted snapshot; - // however, you can encrypt a copy of an unencrypted snapshot with this flag. - // The default CMK for EBS is used unless a non-default AWS Key Management Service - // (AWS KMS) CMK is specified with KmsKeyId. For more information, see Amazon - // EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) - // in the Amazon Elastic Compute Cloud User Guide. + // Specifies whether the destination snapshot should be encrypted. You can encrypt + // a copy of an unencrypted snapshot using this flag, but you cannot use it + // to create an unencrypted copy from an encrypted snapshot. Your default CMK + // for EBS is used unless a non-default AWS Key Management Service (AWS KMS) + // CMK is specified with KmsKeyId. For more information, see Amazon EBS Encryption + // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) in + // the Amazon Elastic Compute Cloud User Guide. Encrypted *bool `locationName:"encrypted" type:"boolean"` // The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when @@ -9220,9 +16729,13 @@ type CopySnapshotInput struct { PresignedUrl *string `locationName:"presignedUrl" type:"string"` // The ID of the region that contains the snapshot to be copied. + // + // SourceRegion is a required field SourceRegion *string `type:"string" required:"true"` // The ID of the EBS snapshot to copy. + // + // SourceSnapshotId is a required field SourceSnapshotId *string `type:"string" required:"true"` } @@ -9277,6 +16790,8 @@ type CreateCustomerGatewayInput struct { // For devices that support BGP, the customer gateway's BGP ASN. // // Default: 65000 + // + // BgpAsn is a required field BgpAsn *int64 `type:"integer" required:"true"` // Checks whether you have the required permissions for the action, without @@ -9287,9 +16802,13 @@ type CreateCustomerGatewayInput struct { // The Internet-routable IP address for the customer gateway's outside interface. // The address must be static. + // + // PublicIp is a required field PublicIp *string `locationName:"IpAddress" type:"string" required:"true"` // The type of VPN connection that this customer gateway supports (ipsec.1). + // + // Type is a required field Type *string `type:"string" required:"true" enum:"GatewayType"` } @@ -9345,6 +16864,8 @@ type CreateDhcpOptionsInput struct { _ struct{} `type:"structure"` // A DHCP configuration option. + // + // DhcpConfigurations is a required field DhcpConfigurations []*NewDhcpConfiguration `locationName:"dhcpConfiguration" locationNameList:"item" type:"list" required:"true"` // Checks whether you have the required permissions for the action, without @@ -9405,18 +16926,30 @@ type CreateFlowLogsInput struct { // The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs // log group. + // + // DeliverLogsPermissionArn is a required field DeliverLogsPermissionArn *string `type:"string" required:"true"` // The name of the CloudWatch log group. + // + // LogGroupName is a required field LogGroupName *string `type:"string" required:"true"` // One or more subnet, network interface, or VPC IDs. + // + // Constraints: Maximum of 1000 resources + // + // ResourceIds is a required field ResourceIds []*string `locationName:"ResourceId" locationNameList:"item" type:"list" required:"true"` // The type of resource on which to create the flow log. + // + // ResourceType is a required field ResourceType *string `type:"string" required:"true" enum:"FlowLogsResourceType"` // The type of traffic to log. + // + // TrafficType is a required field TrafficType *string `type:"string" required:"true" enum:"TrafficType"` } @@ -9497,6 +17030,8 @@ type CreateImageInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the instance. + // + // InstanceId is a required field InstanceId *string `locationName:"instanceId" type:"string" required:"true"` // A name for the new image. @@ -9504,6 +17039,8 @@ type CreateImageInput struct { // Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets // ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), // at-signs (@), or underscores(_) + // + // Name is a required field Name *string `locationName:"name" type:"string" required:"true"` // By default, Amazon EC2 attempts to shut down and reboot the instance before @@ -9569,6 +17106,8 @@ type CreateInstanceExportTaskInput struct { ExportToS3Task *ExportToS3TaskSpecification `locationName:"exportToS3" type:"structure"` // The ID of the instance. + // + // InstanceId is a required field InstanceId *string `locationName:"instanceId" type:"string" required:"true"` // The target virtualization environment. @@ -9668,6 +17207,8 @@ type CreateKeyPairInput struct { // A unique name for the key pair. // // Constraints: Up to 255 ASCII characters + // + // KeyName is a required field KeyName *string `type:"string" required:"true"` } @@ -9725,6 +17266,8 @@ type CreateNatGatewayInput struct { // The allocation ID of an Elastic IP address to associate with the NAT gateway. // If the Elastic IP address is associated with another resource, you must first // disassociate it. + // + // AllocationId is a required field AllocationId *string `type:"string" required:"true"` // Unique, case-sensitive identifier you provide to ensure the idempotency of @@ -9734,6 +17277,8 @@ type CreateNatGatewayInput struct { ClientToken *string `type:"string"` // The subnet in which to create the NAT gateway. + // + // SubnetId is a required field SubnetId *string `type:"string" required:"true"` } @@ -9790,6 +17335,8 @@ type CreateNetworkAclEntryInput struct { _ struct{} `type:"structure"` // The network range to allow or deny, in CIDR notation (for example 172.16.0.0/24). + // + // CidrBlock is a required field CidrBlock *string `locationName:"cidrBlock" type:"string" required:"true"` // Checks whether you have the required permissions for the action, without @@ -9800,6 +17347,8 @@ type CreateNetworkAclEntryInput struct { // Indicates whether this is an egress rule (rule is applied to traffic leaving // the subnet). + // + // Egress is a required field Egress *bool `locationName:"egress" type:"boolean" required:"true"` // ICMP protocol: The ICMP type and code. Required if specifying ICMP for the @@ -9807,21 +17356,30 @@ type CreateNetworkAclEntryInput struct { IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"` // The ID of the network ACL. + // + // NetworkAclId is a required field NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"` // TCP or UDP protocols: The range of ports the rule applies to. PortRange *PortRange `locationName:"portRange" type:"structure"` // The protocol. A value of -1 means all protocols. + // + // Protocol is a required field Protocol *string `locationName:"protocol" type:"string" required:"true"` // Indicates whether to allow or deny the traffic that matches the rule. + // + // RuleAction is a required field RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"` // The rule number for the entry (for example, 100). ACL entries are processed // in ascending order by rule number. // - // Constraints: Positive integer from 1 to 32766 + // Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 + // is reserved for internal use. + // + // RuleNumber is a required field RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"` } @@ -9888,6 +17446,8 @@ type CreateNetworkAclInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the VPC. + // + // VpcId is a required field VpcId *string `locationName:"vpcId" type:"string" required:"true"` } @@ -9969,6 +17529,8 @@ type CreateNetworkInterfaceInput struct { SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"` // The ID of the subnet to associate with the network interface. + // + // SubnetId is a required field SubnetId *string `locationName:"subnetId" type:"string" required:"true"` } @@ -10036,9 +17598,13 @@ type CreatePlacementGroupInput struct { // A name for the placement group. // // Constraints: Up to 255 ASCII characters + // + // GroupName is a required field GroupName *string `locationName:"groupName" type:"string" required:"true"` // The placement strategy. + // + // Strategy is a required field Strategy *string `locationName:"strategy" type:"string" required:"true" enum:"PlacementStrategy"` } @@ -10089,19 +17655,27 @@ type CreateReservedInstancesListingInput struct { // Unique, case-sensitive identifier you provide to ensure idempotency of your // listings. This helps avoid duplicate listings. For more information, see // Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // + // ClientToken is a required field ClientToken *string `locationName:"clientToken" type:"string" required:"true"` // The number of instances that are a part of a Reserved Instance account to // be listed in the Reserved Instance Marketplace. This number should be less // than or equal to the instance count associated with the Reserved Instance // ID specified in this call. + // + // InstanceCount is a required field InstanceCount *int64 `locationName:"instanceCount" type:"integer" required:"true"` - // A list specifying the price of the Reserved Instance for each month remaining - // in the Reserved Instance term. + // A list specifying the price of the Standard Reserved Instance for each month + // remaining in the Reserved Instance term. + // + // PriceSchedules is a required field PriceSchedules []*PriceScheduleSpecification `locationName:"priceSchedules" locationNameList:"item" type:"list" required:"true"` - // The ID of the active Reserved Instance. + // The ID of the active Standard Reserved Instance. + // + // ReservedInstancesId is a required field ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string" required:"true"` } @@ -10141,7 +17715,7 @@ func (s *CreateReservedInstancesListingInput) Validate() error { type CreateReservedInstancesListingOutput struct { _ struct{} `type:"structure"` - // Information about the Reserved Instance listing. + // Information about the Standard Reserved Instance listing. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"` } @@ -10161,6 +17735,8 @@ type CreateRouteInput struct { // The CIDR address block used for the destination match. Routing decisions // are based on the most specific match. + // + // DestinationCidrBlock is a required field DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string" required:"true"` // Checks whether you have the required permissions for the action, without @@ -10184,6 +17760,8 @@ type CreateRouteInput struct { NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"` // The ID of the route table for the route. + // + // RouteTableId is a required field RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"` // The ID of a VPC peering connection. @@ -10245,6 +17823,8 @@ type CreateRouteTableInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the VPC. + // + // VpcId is a required field VpcId *string `locationName:"vpcId" type:"string" required:"true"` } @@ -10299,7 +17879,9 @@ type CreateSecurityGroupInput struct { // // Constraints for EC2-Classic: ASCII characters // - // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$* + // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$* + // + // Description is a required field Description *string `locationName:"GroupDescription" type:"string" required:"true"` // Checks whether you have the required permissions for the action, without @@ -10314,7 +17896,9 @@ type CreateSecurityGroupInput struct { // // Constraints for EC2-Classic: ASCII characters // - // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$* + // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$* + // + // GroupName is a required field GroupName *string `type:"string" required:"true"` // [EC2-VPC] The ID of the VPC. Required for EC2-VPC. @@ -10379,6 +17963,8 @@ type CreateSnapshotInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the EBS volume. + // + // VolumeId is a required field VolumeId *string `type:"string" required:"true"` } @@ -10410,6 +17996,8 @@ type CreateSpotDatafeedSubscriptionInput struct { _ struct{} `type:"structure"` // The Amazon S3 bucket in which to store the Spot instance data feed. + // + // Bucket is a required field Bucket *string `locationName:"bucket" type:"string" required:"true"` // Checks whether you have the required permissions for the action, without @@ -10474,6 +18062,8 @@ type CreateSubnetInput struct { AvailabilityZone *string `type:"string"` // The network range for the subnet, in CIDR notation. For example, 10.0.0.0/24. + // + // CidrBlock is a required field CidrBlock *string `type:"string" required:"true"` // Checks whether you have the required permissions for the action, without @@ -10483,6 +18073,8 @@ type CreateSubnetInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the VPC. + // + // VpcId is a required field VpcId *string `type:"string" required:"true"` } @@ -10541,11 +18133,15 @@ type CreateTagsInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The IDs of one or more resources to tag. For example, ami-1a2b3c4d. + // + // Resources is a required field Resources []*string `locationName:"ResourceId" type:"list" required:"true"` // One or more tags. The value parameter is required, but if you don't want // the tag to have a value, specify the parameter with no value, and we set // the value to an empty string. + // + // Tags is a required field Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list" required:"true"` } @@ -10595,6 +18191,8 @@ type CreateVolumeInput struct { // The Availability Zone in which to create the volume. Use DescribeAvailabilityZones // to list the Availability Zones that are currently available to you. + // + // AvailabilityZone is a required field AvailabilityZone *string `type:"string" required:"true"` // Checks whether you have the required permissions for the action, without @@ -10741,11 +18339,15 @@ type CreateVpcEndpointInput struct { // One or more route table IDs. RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"` - // The AWS service name, in the form com.amazonaws.region.service. To get a + // The AWS service name, in the form com.amazonaws.region.service . To get a // list of available services, use the DescribeVpcEndpointServices request. + // + // ServiceName is a required field ServiceName *string `type:"string" required:"true"` // The ID of the VPC in which the endpoint will be used. + // + // VpcId is a required field VpcId *string `type:"string" required:"true"` } @@ -10802,6 +18404,8 @@ type CreateVpcInput struct { _ struct{} `type:"structure"` // The network range for the VPC, in CIDR notation. For example, 10.0.0.0/16. + // + // CidrBlock is a required field CidrBlock *string `type:"string" required:"true"` // Checks whether you have the required permissions for the action, without @@ -10816,7 +18420,7 @@ type CreateVpcInput struct { // as dedicated tenancy instances by default. You can only launch instances // with a tenancy of dedicated or host into a dedicated tenancy VPC. // - // Important: The host value cannot be used with this parameter. Use the default + // Important: The host value cannot be used with this parameter. Use the default // or dedicated values only. // // Default: default @@ -10919,6 +18523,8 @@ type CreateVpnConnectionInput struct { _ struct{} `type:"structure"` // The ID of the customer gateway. + // + // CustomerGatewayId is a required field CustomerGatewayId *string `type:"string" required:"true"` // Checks whether you have the required permissions for the action, without @@ -10935,9 +18541,13 @@ type CreateVpnConnectionInput struct { Options *VpnConnectionOptionsSpecification `locationName:"options" type:"structure"` // The type of VPN connection (ipsec.1). + // + // Type is a required field Type *string `type:"string" required:"true"` // The ID of the virtual private gateway. + // + // VpnGatewayId is a required field VpnGatewayId *string `type:"string" required:"true"` } @@ -10993,9 +18603,13 @@ type CreateVpnConnectionRouteInput struct { _ struct{} `type:"structure"` // The CIDR block associated with the local subnet of the customer network. + // + // DestinationCidrBlock is a required field DestinationCidrBlock *string `type:"string" required:"true"` // The ID of the VPN connection. + // + // VpnConnectionId is a required field VpnConnectionId *string `type:"string" required:"true"` } @@ -11053,6 +18667,8 @@ type CreateVpnGatewayInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The type of VPN connection this virtual private gateway supports. + // + // Type is a required field Type *string `type:"string" required:"true" enum:"GatewayType"` } @@ -11137,6 +18753,8 @@ type DeleteCustomerGatewayInput struct { _ struct{} `type:"structure"` // The ID of the customer gateway. + // + // CustomerGatewayId is a required field CustomerGatewayId *string `type:"string" required:"true"` // Checks whether you have the required permissions for the action, without @@ -11188,6 +18806,8 @@ type DeleteDhcpOptionsInput struct { _ struct{} `type:"structure"` // The ID of the DHCP options set. + // + // DhcpOptionsId is a required field DhcpOptionsId *string `type:"string" required:"true"` // Checks whether you have the required permissions for the action, without @@ -11239,6 +18859,8 @@ type DeleteFlowLogsInput struct { _ struct{} `type:"structure"` // One or more flow log IDs. + // + // FlowLogIds is a required field FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list" required:"true"` } @@ -11294,6 +18916,8 @@ type DeleteInternetGatewayInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the Internet gateway. + // + // InternetGatewayId is a required field InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"` } @@ -11345,6 +18969,8 @@ type DeleteKeyPairInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The name of the key pair. + // + // KeyName is a required field KeyName *string `type:"string" required:"true"` } @@ -11390,6 +19016,8 @@ type DeleteNatGatewayInput struct { _ struct{} `type:"structure"` // The ID of the NAT gateway. + // + // NatGatewayId is a required field NatGatewayId *string `type:"string" required:"true"` } @@ -11445,12 +19073,18 @@ type DeleteNetworkAclEntryInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // Indicates whether the rule is an egress rule. + // + // Egress is a required field Egress *bool `locationName:"egress" type:"boolean" required:"true"` // The ID of the network ACL. + // + // NetworkAclId is a required field NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"` // The rule number of the entry to delete. + // + // RuleNumber is a required field RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"` } @@ -11508,6 +19142,8 @@ type DeleteNetworkAclInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the network ACL. + // + // NetworkAclId is a required field NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"` } @@ -11559,6 +19195,8 @@ type DeleteNetworkInterfaceInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the network interface. + // + // NetworkInterfaceId is a required field NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"` } @@ -11610,6 +19248,8 @@ type DeletePlacementGroupInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The name of the placement group. + // + // GroupName is a required field GroupName *string `locationName:"groupName" type:"string" required:"true"` } @@ -11656,6 +19296,8 @@ type DeleteRouteInput struct { // The CIDR range for the route. The value you specify must match the CIDR for // the route exactly. + // + // DestinationCidrBlock is a required field DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string" required:"true"` // Checks whether you have the required permissions for the action, without @@ -11665,6 +19307,8 @@ type DeleteRouteInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the route table. + // + // RouteTableId is a required field RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"` } @@ -11719,6 +19363,8 @@ type DeleteRouteTableInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the route table. + // + // RouteTableId is a required field RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"` } @@ -11812,6 +19458,8 @@ type DeleteSnapshotInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the EBS snapshot. + // + // SnapshotId is a required field SnapshotId *string `type:"string" required:"true"` } @@ -11898,6 +19546,8 @@ type DeleteSubnetInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the subnet. + // + // SubnetId is a required field SubnetId *string `type:"string" required:"true"` } @@ -11950,6 +19600,8 @@ type DeleteTagsInput struct { // The ID of the resource. For example, ami-1a2b3c4d. You can specify more than // one resource ID. + // + // Resources is a required field Resources []*string `locationName:"resourceId" type:"list" required:"true"` // One or more tags to delete. If you omit the value parameter, we delete the @@ -12006,6 +19658,8 @@ type DeleteVolumeInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the volume. + // + // VolumeId is a required field VolumeId *string `type:"string" required:"true"` } @@ -12057,6 +19711,8 @@ type DeleteVpcEndpointsInput struct { DryRun *bool `type:"boolean"` // One or more endpoint IDs. + // + // VpcEndpointIds is a required field VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"` } @@ -12112,6 +19768,8 @@ type DeleteVpcInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the VPC. + // + // VpcId is a required field VpcId *string `type:"string" required:"true"` } @@ -12163,6 +19821,8 @@ type DeleteVpcPeeringConnectionInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the VPC peering connection. + // + // VpcPeeringConnectionId is a required field VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"` } @@ -12218,6 +19878,8 @@ type DeleteVpnConnectionInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the VPN connection. + // + // VpnConnectionId is a required field VpnConnectionId *string `type:"string" required:"true"` } @@ -12263,9 +19925,13 @@ type DeleteVpnConnectionRouteInput struct { _ struct{} `type:"structure"` // The CIDR block associated with the local subnet of the customer network. + // + // DestinationCidrBlock is a required field DestinationCidrBlock *string `type:"string" required:"true"` // The ID of the VPN connection. + // + // VpnConnectionId is a required field VpnConnectionId *string `type:"string" required:"true"` } @@ -12320,6 +19986,8 @@ type DeleteVpnGatewayInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the virtual private gateway. + // + // VpnGatewayId is a required field VpnGatewayId *string `type:"string" required:"true"` } @@ -12371,6 +20039,8 @@ type DeregisterImageInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the AMI. + // + // ImageId is a required field ImageId *string `type:"string" required:"true"` } @@ -12470,25 +20140,25 @@ type DescribeAddressesInput struct { // One or more filters. Filter names and values are case-sensitive. // - // allocation-id - [EC2-VPC] The allocation ID for the address. + // allocation-id - [EC2-VPC] The allocation ID for the address. // - // association-id - [EC2-VPC] The association ID for the address. + // association-id - [EC2-VPC] The association ID for the address. // - // domain - Indicates whether the address is for use in EC2-Classic (standard) + // domain - Indicates whether the address is for use in EC2-Classic (standard) // or in a VPC (vpc). // - // instance-id - The ID of the instance the address is associated with, if - // any. + // instance-id - The ID of the instance the address is associated with, + // if any. // - // network-interface-id - [EC2-VPC] The ID of the network interface that + // network-interface-id - [EC2-VPC] The ID of the network interface that // the address is associated with, if any. // - // network-interface-owner-id - The AWS account ID of the owner. + // network-interface-owner-id - The AWS account ID of the owner. // - // private-ip-address - [EC2-VPC] The private IP address associated with + // private-ip-address - [EC2-VPC] The private IP address associated with // the Elastic IP address. // - // public-ip - The Elastic IP address. + // public-ip - The Elastic IP address. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // [EC2-Classic] One or more Elastic IP addresses. @@ -12537,15 +20207,15 @@ type DescribeAvailabilityZonesInput struct { // One or more filters. // - // message - Information about the Availability Zone. + // message - Information about the Availability Zone. // - // region-name - The name of the region for the Availability Zone (for example, + // region-name - The name of the region for the Availability Zone (for example, // us-east-1). // - // state - The state of the Availability Zone (available | information | + // state - The state of the Availability Zone (available | information | // impaired | unavailable). // - // zone-name - The name of the Availability Zone (for example, us-east-1a). + // zone-name - The name of the Availability Zone (for example, us-east-1a). Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // The names of one or more Availability Zones. @@ -12597,27 +20267,27 @@ type DescribeBundleTasksInput struct { // One or more filters. // - // bundle-id - The ID of the bundle task. + // bundle-id - The ID of the bundle task. // - // error-code - If the task failed, the error code returned. + // error-code - If the task failed, the error code returned. // - // error-message - If the task failed, the error message returned. + // error-message - If the task failed, the error message returned. // - // instance-id - The ID of the instance. + // instance-id - The ID of the instance. // - // progress - The level of task completion, as a percentage (for example, + // progress - The level of task completion, as a percentage (for example, // 20%). // - // s3-bucket - The Amazon S3 bucket to store the AMI. + // s3-bucket - The Amazon S3 bucket to store the AMI. // - // s3-prefix - The beginning of the AMI name. + // s3-prefix - The beginning of the AMI name. // - // start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z). + // start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z). // - // state - The state of the task (pending | waiting-for-shutdown | bundling + // state - The state of the task (pending | waiting-for-shutdown | bundling // | storing | cancelling | complete | failed). // - // update-time - The time of the most recent update for the task. + // update-time - The time of the most recent update for the task. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` } @@ -12661,23 +20331,24 @@ type DescribeClassicLinkInstancesInput struct { // One or more filters. // - // group-id - The ID of a VPC security group that's associated with the instance. + // group-id - The ID of a VPC security group that's associated with the + // instance. // - // instance-id - The ID of the instance. + // instance-id - The ID of the instance. // - // tag:key=value - The key/value combination of a tag assigned to the resource. + // tag:key=value - The key/value combination of a tag assigned to the resource. // - // tag-key - The key of a tag assigned to the resource. This filter is independent + // tag-key - The key of a tag assigned to the resource. This filter is independent // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" // and the filter "tag-value=X", you get any resources assigned both the tag // key Purpose (regardless of what the tag's value is), and the tag value X // (regardless of what the tag's key is). If you want to list only resources // where Purpose is X, see the tag:key=value filter. // - // tag-value - The value of a tag assigned to the resource. This filter is - // independent of the tag-key filter. + // tag-value - The value of a tag assigned to the resource. This filter + // is independent of the tag-key filter. // - // vpc-id - The ID of the VPC that the instance is linked to. + // vpc-id - The ID of the VPC that the instance is linked to. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // One or more instance IDs. Must be instances linked to a VPC through ClassicLink. @@ -12741,9 +20412,6 @@ type DescribeConversionTasksInput struct { // the required permissions, the error response is DryRunOperation. Otherwise, // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - - // One or more filters. - Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"` } // String returns the string representation @@ -12791,31 +20459,31 @@ type DescribeCustomerGatewaysInput struct { // One or more filters. // - // bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous + // bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous // System Number (ASN). // - // customer-gateway-id - The ID of the customer gateway. + // customer-gateway-id - The ID of the customer gateway. // - // ip-address - The IP address of the customer gateway's Internet-routable + // ip-address - The IP address of the customer gateway's Internet-routable // external interface. // - // state - The state of the customer gateway (pending | available | deleting + // state - The state of the customer gateway (pending | available | deleting // | deleted). // - // type - The type of customer gateway. Currently, the only supported type + // type - The type of customer gateway. Currently, the only supported type // is ipsec.1. // - // tag:key=value - The key/value combination of a tag assigned to the resource. + // tag:key=value - The key/value combination of a tag assigned to the resource. // - // tag-key - The key of a tag assigned to the resource. This filter is independent + // tag-key - The key of a tag assigned to the resource. This filter is independent // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" // and the filter "tag-value=X", you get any resources assigned both the tag // key Purpose (regardless of what the tag's value is), and the tag value X // (regardless of what the tag's key is). If you want to list only resources // where Purpose is X, see the tag:key=value filter. // - // tag-value - The value of a tag assigned to the resource. This filter is - // independent of the tag-key filter. + // tag-value - The value of a tag assigned to the resource. This filter + // is independent of the tag-key filter. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` } @@ -12864,23 +20532,23 @@ type DescribeDhcpOptionsInput struct { // One or more filters. // - // dhcp-options-id - The ID of a set of DHCP options. + // dhcp-options-id - The ID of a set of DHCP options. // - // key - The key for one of the options (for example, domain-name). + // key - The key for one of the options (for example, domain-name). // - // value - The value for one of the options. + // value - The value for one of the options. // - // tag:key=value - The key/value combination of a tag assigned to the resource. + // tag:key=value - The key/value combination of a tag assigned to the resource. // - // tag-key - The key of a tag assigned to the resource. This filter is independent + // tag-key - The key of a tag assigned to the resource. This filter is independent // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" // and the filter "tag-value=X", you get any resources assigned both the tag // key Purpose (regardless of what the tag's value is), and the tag value X // (regardless of what the tag's key is). If you want to list only resources // where Purpose is X, see the tag:key=value filter. // - // tag-value - The value of a tag assigned to the resource. This filter is - // independent of the tag-key filter. + // tag-value - The value of a tag assigned to the resource. This filter + // is independent of the tag-key filter. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` } @@ -12954,15 +20622,15 @@ type DescribeFlowLogsInput struct { // One or more filters. // - // deliver-log-status - The status of the logs delivery (SUCCESS | FAILED). + // deliver-log-status - The status of the logs delivery (SUCCESS | FAILED). // - // flow-log-id - The ID of the flow log. + // flow-log-id - The ID of the flow log. // - // log-group-name - The name of the log group. + // log-group-name - The name of the log group. // - // resource-id - The ID of the VPC, subnet, or network interface. + // resource-id - The ID of the VPC, subnet, or network interface. // - // traffic-type - The type of traffic (ACCEPT | REJECT | ALL) + // traffic-type - The type of traffic (ACCEPT | REJECT | ALL) Filter []*Filter `locationNameList:"Filter" type:"list"` // One or more flow log IDs. @@ -13011,29 +20679,157 @@ func (s DescribeFlowLogsOutput) GoString() string { return s.String() } +type DescribeHostReservationOfferingsInput struct { + _ struct{} `type:"structure"` + + // One or more filters. + // + // instance-family - The instance family of the offering (e.g., m4). + // + // payment-option - The payment option (No Upfront | Partial Upfront | All + // Upfront). + Filter []*Filter `locationNameList:"Filter" type:"list"` + + // This is the maximum duration of the reservation you'd like to purchase, specified + // in seconds. Reservations are available in one-year and three-year terms. + // The number of seconds specified must be the number of seconds in a year (365x24x60x60) + // times one of the supported durations (1 or 3). For example, specify 94608000 + // for three years. + MaxDuration *int64 `type:"integer"` + + // The maximum number of results to return for the request in a single page. + // The remaining results can be seen by sending another request with the returned + // nextToken value. This value can be between 5 and 500; if maxResults is given + // a larger value than 500, you will receive an error. + MaxResults *int64 `type:"integer"` + + // This is the minimum duration of the reservation you'd like to purchase, specified + // in seconds. Reservations are available in one-year and three-year terms. + // The number of seconds specified must be the number of seconds in a year (365x24x60x60) + // times one of the supported durations (1 or 3). For example, specify 31536000 + // for one year. + MinDuration *int64 `type:"integer"` + + // The token to use to retrieve the next page of results. + NextToken *string `type:"string"` + + // The ID of the reservation offering. + OfferingId *string `type:"string"` +} + +// String returns the string representation +func (s DescribeHostReservationOfferingsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeHostReservationOfferingsInput) GoString() string { + return s.String() +} + +type DescribeHostReservationOfferingsOutput struct { + _ struct{} `type:"structure"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` + + // Information about the offerings. + OfferingSet []*HostOffering `locationName:"offeringSet" type:"list"` +} + +// String returns the string representation +func (s DescribeHostReservationOfferingsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeHostReservationOfferingsOutput) GoString() string { + return s.String() +} + +type DescribeHostReservationsInput struct { + _ struct{} `type:"structure"` + + // One or more filters. + // + // instance-family - The instance family (e.g., m4). + // + // payment-option - The payment option (No Upfront | Partial Upfront | All + // Upfront). + // + // state - The state of the reservation (payment-pending | payment-failed + // | active | retired). + Filter []*Filter `locationNameList:"Filter" type:"list"` + + // One or more host reservation IDs. + HostReservationIdSet []*string `locationNameList:"item" type:"list"` + + // The maximum number of results to return for the request in a single page. + // The remaining results can be seen by sending another request with the returned + // nextToken value. This value can be between 5 and 500; if maxResults is given + // a larger value than 500, you will receive an error. + MaxResults *int64 `type:"integer"` + + // The token to use to retrieve the next page of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeHostReservationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeHostReservationsInput) GoString() string { + return s.String() +} + +type DescribeHostReservationsOutput struct { + _ struct{} `type:"structure"` + + // Details about the reservation's configuration. + HostReservationSet []*HostReservation `locationName:"hostReservationSet" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s DescribeHostReservationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeHostReservationsOutput) GoString() string { + return s.String() +} + // Contains the parameters for DescribeHosts. type DescribeHostsInput struct { _ struct{} `type:"structure"` // One or more filters. // - // instance-type - The instance type size that the Dedicated host is configured + // instance-type - The instance type size that the Dedicated Host is configured // to support. // - // auto-placement - Whether auto-placement is enabled or disabled (on | off). + // auto-placement - Whether auto-placement is enabled or disabled (on | + // off). // - // host-reservation-id - The ID of the reservation associated with this host. + // host-reservation-id - The ID of the reservation assigned to this host. // - // client-token - The idempotency token you provided when you launched the + // client-token - The idempotency token you provided when you launched the // instance // - // state- The allocation state of the Dedicated host (available | under-assessment + // state- The allocation state of the Dedicated Host (available | under-assessment // | permanent-failure | released | released-permanent-failure). // - // availability-zone - The Availability Zone of the host. + // availability-zone - The Availability Zone of the host. Filter []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"` - // The IDs of the Dedicated hosts. The IDs are used for targeted instance launches. + // The IDs of the Dedicated Hosts. The IDs are used for targeted instance launches. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list"` // The maximum number of results to return for the request in a single page. @@ -13061,7 +20857,7 @@ func (s DescribeHostsInput) GoString() string { type DescribeHostsOutput struct { _ struct{} `type:"structure"` - // Information about the Dedicated hosts. + // Information about the Dedicated Hosts. Hosts []*Host `locationName:"hostSet" locationNameList:"item" type:"list"` // The token to use to retrieve the next page of results. This value is null @@ -13083,7 +20879,7 @@ func (s DescribeHostsOutput) GoString() string { type DescribeIdFormatInput struct { _ struct{} `type:"structure"` - // The type of resource. + // The type of resource: instance | reservation | snapshot | volume Resource *string `type:"string"` } @@ -13115,15 +20911,72 @@ func (s DescribeIdFormatOutput) GoString() string { return s.String() } +// Contains the parameters for DescribeIdentityIdFormat. +type DescribeIdentityIdFormatInput struct { + _ struct{} `type:"structure"` + + // The ARN of the principal, which can be an IAM role, IAM user, or the root + // user. + // + // PrincipalArn is a required field + PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"` + + // The type of resource: instance | reservation | snapshot | volume + Resource *string `locationName:"resource" type:"string"` +} + +// String returns the string representation +func (s DescribeIdentityIdFormatInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeIdentityIdFormatInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeIdentityIdFormatInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeIdentityIdFormatInput"} + if s.PrincipalArn == nil { + invalidParams.Add(request.NewErrParamRequired("PrincipalArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of DescribeIdentityIdFormat. +type DescribeIdentityIdFormatOutput struct { + _ struct{} `type:"structure"` + + // Information about the ID format for the resources. + Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s DescribeIdentityIdFormatOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeIdentityIdFormatOutput) GoString() string { + return s.String() +} + // Contains the parameters for DescribeImageAttribute. type DescribeImageAttributeInput struct { _ struct{} `type:"structure"` // The AMI attribute. // - // Note: Depending on your account privileges, the blockDeviceMapping attribute + // Note: Depending on your account privileges, the blockDeviceMapping attribute // may return a Client.AuthFailure error. If this happens, use DescribeImages // to get information about the block device mapping for the AMI. + // + // Attribute is a required field Attribute *string `type:"string" required:"true" enum:"ImageAttributeName"` // Checks whether you have the required permissions for the action, without @@ -13133,6 +20986,8 @@ type DescribeImageAttributeInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the AMI. + // + // ImageId is a required field ImageId *string `type:"string" required:"true"` } @@ -13187,7 +21042,8 @@ type DescribeImageAttributeOutput struct { // The RAM disk ID. RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"` - // The value to use for a resource attribute. + // Indicates whether enhanced networking with the Intel 82599 Virtual Function + // interface is enabled. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"` } @@ -13217,74 +21073,76 @@ type DescribeImagesInput struct { // One or more filters. // - // architecture - The image architecture (i386 | x86_64). + // architecture - The image architecture (i386 | x86_64). // - // block-device-mapping.delete-on-termination - A Boolean value that indicates + // block-device-mapping.delete-on-termination - A Boolean value that indicates // whether the Amazon EBS volume is deleted on instance termination. // - // block-device-mapping.device-name - The device name for the EBS volume + // block-device-mapping.device-name - The device name for the EBS volume // (for example, /dev/sdh). // - // block-device-mapping.snapshot-id - The ID of the snapshot used for the + // block-device-mapping.snapshot-id - The ID of the snapshot used for the // EBS volume. // - // block-device-mapping.volume-size - The volume size of the EBS volume, + // block-device-mapping.volume-size - The volume size of the EBS volume, // in GiB. // - // block-device-mapping.volume-type - The volume type of the EBS volume (gp2 - // | io1 | st1 | sc1 | standard). + // block-device-mapping.volume-type - The volume type of the EBS volume + // (gp2 | io1 | st1 | sc1 | standard). // - // description - The description of the image (provided during image creation). + // description - The description of the image (provided during image creation). // - // hypervisor - The hypervisor type (ovm | xen). + // hypervisor - The hypervisor type (ovm | xen). // - // image-id - The ID of the image. + // image-id - The ID of the image. // - // image-type - The image type (machine | kernel | ramdisk). + // image-type - The image type (machine | kernel | ramdisk). // - // is-public - A Boolean that indicates whether the image is public. + // is-public - A Boolean that indicates whether the image is public. // - // kernel-id - The kernel ID. + // kernel-id - The kernel ID. // - // manifest-location - The location of the image manifest. + // manifest-location - The location of the image manifest. // - // name - The name of the AMI (provided during image creation). + // name - The name of the AMI (provided during image creation). // - // owner-alias - The AWS account alias (for example, amazon). + // owner-alias - String value from an Amazon-maintained list (amazon | aws-marketplace + // | microsoft) of snapshot owners. Not to be confused with the user-configured + // AWS account alias, which is set from the IAM console. // - // owner-id - The AWS account ID of the image owner. + // owner-id - The AWS account ID of the image owner. // - // platform - The platform. To only list Windows-based AMIs, use windows. + // platform - The platform. To only list Windows-based AMIs, use windows. // - // product-code - The product code. + // product-code - The product code. // - // product-code.type - The type of the product code (devpay | marketplace). + // product-code.type - The type of the product code (devpay | marketplace). // - // ramdisk-id - The RAM disk ID. + // ramdisk-id - The RAM disk ID. // - // root-device-name - The name of the root device volume (for example, /dev/sda1). + // root-device-name - The name of the root device volume (for example, /dev/sda1). // - // root-device-type - The type of the root device volume (ebs | instance-store). + // root-device-type - The type of the root device volume (ebs | instance-store). // - // state - The state of the image (available | pending | failed). + // state - The state of the image (available | pending | failed). // - // state-reason-code - The reason code for the state change. + // state-reason-code - The reason code for the state change. // - // state-reason-message - The message for the state change. + // state-reason-message - The message for the state change. // - // tag:key=value - The key/value combination of a tag assigned to the resource. + // tag:key=value - The key/value combination of a tag assigned to the resource. // - // tag-key - The key of a tag assigned to the resource. This filter is independent + // tag-key - The key of a tag assigned to the resource. This filter is independent // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" // and the filter "tag-value=X", you get any resources assigned both the tag // key Purpose (regardless of what the tag's value is), and the tag value X // (regardless of what the tag's key is). If you want to list only resources // where Purpose is X, see the tag:key=value filter. // - // tag-value - The value of a tag assigned to the resource. This filter is - // independent of the tag-key filter. + // tag-value - The value of a tag assigned to the resource. This filter + // is independent of the tag-key filter. // - // virtualization-type - The virtualization type (paravirtual | hvm). + // virtualization-type - The virtualization type (paravirtual | hvm). Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // One or more image IDs. @@ -13292,10 +21150,10 @@ type DescribeImagesInput struct { // Default: Describes all images available to you. ImageIds []*string `locationName:"ImageId" locationNameList:"ImageId" type:"list"` - // Filters the images by the owner. Specify an AWS account ID, amazon (owner - // is Amazon), aws-marketplace (owner is AWS Marketplace), self (owner is the - // sender of the request). Omitting this option returns all images for which - // you have launch permissions, regardless of ownership. + // Filters the images by the owner. Specify an AWS account ID, self (owner is + // the sender of the request), or an AWS owner alias (valid values are amazon + // | aws-marketplace | microsoft). Omitting this option returns all images for + // which you have launch permissions, regardless of ownership. Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"` } @@ -13447,6 +21305,10 @@ type DescribeInstanceAttributeInput struct { _ struct{} `type:"structure"` // The instance attribute. + // + // Note: The enaSupport attribute is not supported at this time. + // + // Attribute is a required field Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"` // Checks whether you have the required permissions for the action, without @@ -13456,6 +21318,8 @@ type DescribeInstanceAttributeInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the instance. + // + // InstanceId is a required field InstanceId *string `locationName:"instanceId" type:"string" required:"true"` } @@ -13499,6 +21363,9 @@ type DescribeInstanceAttributeOutput struct { // Indicates whether the instance is optimized for EBS I/O. EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"` + // Indicates whether enhanced networking with ENA is enabled. + EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"` + // The security groups associated with the instance. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"` @@ -13529,10 +21396,11 @@ type DescribeInstanceAttributeOutput struct { // must be false for a NAT instance to perform NAT. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"` - // The value to use for a resource attribute. + // Indicates whether enhanced networking with the Intel 82599 Virtual Function + // interface is enabled. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"` - // The Base64-encoded MIME user data. + // The user data. UserData *AttributeValue `locationName:"userData" type:"structure"` } @@ -13558,38 +21426,38 @@ type DescribeInstanceStatusInput struct { // One or more filters. // - // availability-zone - The Availability Zone of the instance. + // availability-zone - The Availability Zone of the instance. // - // event.code - The code for the scheduled event (instance-reboot | system-reboot + // event.code - The code for the scheduled event (instance-reboot | system-reboot // | system-maintenance | instance-retirement | instance-stop). // - // event.description - A description of the event. + // event.description - A description of the event. // - // event.not-after - The latest end time for the scheduled event (for example, + // event.not-after - The latest end time for the scheduled event (for example, // 2014-09-15T17:15:20.000Z). // - // event.not-before - The earliest start time for the scheduled event (for + // event.not-before - The earliest start time for the scheduled event (for // example, 2014-09-15T17:15:20.000Z). // - // instance-state-code - The code for the instance state, as a 16-bit unsigned + // instance-state-code - The code for the instance state, as a 16-bit unsigned // integer. The high byte is an opaque internal value and should be ignored. // The low byte is set based on the state represented. The valid values are // 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping), // and 80 (stopped). // - // instance-state-name - The state of the instance (pending | running | shutting-down - // | terminated | stopping | stopped). + // instance-state-name - The state of the instance (pending | running | + // shutting-down | terminated | stopping | stopped). // - // instance-status.reachability - Filters on instance status where the name + // instance-status.reachability - Filters on instance status where the name // is reachability (passed | failed | initializing | insufficient-data). // - // instance-status.status - The status of the instance (ok | impaired | initializing - // | insufficient-data | not-applicable). + // instance-status.status - The status of the instance (ok | impaired | + // initializing | insufficient-data | not-applicable). // - // system-status.reachability - Filters on system status where the name is - // reachability (passed | failed | initializing | insufficient-data). + // system-status.reachability - Filters on system status where the name + // is reachability (passed | failed | initializing | insufficient-data). // - // system-status.status - The system status of the instance (ok | impaired + // system-status.status - The system status of the instance (ok | impaired // | initializing | insufficient-data | not-applicable). Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` @@ -13660,233 +21528,234 @@ type DescribeInstancesInput struct { // One or more filters. // - // affinity - The affinity setting for an instance running on a Dedicated - // host (default | host). + // affinity - The affinity setting for an instance running on a Dedicated + // Host (default | host). // - // architecture - The instance architecture (i386 | x86_64). + // architecture - The instance architecture (i386 | x86_64). // - // availability-zone - The Availability Zone of the instance. + // availability-zone - The Availability Zone of the instance. // - // block-device-mapping.attach-time - The attach time for an EBS volume mapped - // to the instance, for example, 2010-09-15T17:15:20.000Z. + // block-device-mapping.attach-time - The attach time for an EBS volume + // mapped to the instance, for example, 2010-09-15T17:15:20.000Z. // - // block-device-mapping.delete-on-termination - A Boolean that indicates + // block-device-mapping.delete-on-termination - A Boolean that indicates // whether the EBS volume is deleted on instance termination. // - // block-device-mapping.device-name - The device name for the EBS volume + // block-device-mapping.device-name - The device name for the EBS volume // (for example, /dev/sdh or xvdh). // - // block-device-mapping.status - The status for the EBS volume (attaching + // block-device-mapping.status - The status for the EBS volume (attaching // | attached | detaching | detached). // - // block-device-mapping.volume-id - The volume ID of the EBS volume. + // block-device-mapping.volume-id - The volume ID of the EBS volume. // - // client-token - The idempotency token you provided when you launched the + // client-token - The idempotency token you provided when you launched the // instance. // - // dns-name - The public DNS name of the instance. + // dns-name - The public DNS name of the instance. // - // group-id - The ID of the security group for the instance. EC2-Classic + // group-id - The ID of the security group for the instance. EC2-Classic // only. // - // group-name - The name of the security group for the instance. EC2-Classic + // group-name - The name of the security group for the instance. EC2-Classic // only. // - // host-Id - The ID of the Dedicated host on which the instance is running, + // host-id - The ID of the Dedicated Host on which the instance is running, // if applicable. // - // hypervisor - The hypervisor type of the instance (ovm | xen). + // hypervisor - The hypervisor type of the instance (ovm | xen). // - // iam-instance-profile.arn - The instance profile associated with the instance. + // iam-instance-profile.arn - The instance profile associated with the instance. // Specified as an ARN. // - // image-id - The ID of the image used to launch the instance. + // image-id - The ID of the image used to launch the instance. // - // instance-id - The ID of the instance. + // instance-id - The ID of the instance. // - // instance-lifecycle - Indicates whether this is a Spot Instance or a Scheduled + // instance-lifecycle - Indicates whether this is a Spot Instance or a Scheduled // Instance (spot | scheduled). // - // instance-state-code - The state of the instance, as a 16-bit unsigned + // instance-state-code - The state of the instance, as a 16-bit unsigned // integer. The high byte is an opaque internal value and should be ignored. // The low byte is set based on the state represented. The valid values are: // 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping), // and 80 (stopped). // - // instance-state-name - The state of the instance (pending | running | shutting-down - // | terminated | stopping | stopped). + // instance-state-name - The state of the instance (pending | running | + // shutting-down | terminated | stopping | stopped). // - // instance-type - The type of instance (for example, t2.micro). + // instance-type - The type of instance (for example, t2.micro). // - // instance.group-id - The ID of the security group for the instance. + // instance.group-id - The ID of the security group for the instance. // - // instance.group-name - The name of the security group for the instance. + // instance.group-name - The name of the security group for the instance. // - // ip-address - The public IP address of the instance. + // ip-address - The public IP address of the instance. // - // kernel-id - The kernel ID. + // kernel-id - The kernel ID. // - // key-name - The name of the key pair used when the instance was launched. + // key-name - The name of the key pair used when the instance was launched. // - // launch-index - When launching multiple instances, this is the index for + // launch-index - When launching multiple instances, this is the index for // the instance in the launch group (for example, 0, 1, 2, and so on). // - // launch-time - The time when the instance was launched. + // launch-time - The time when the instance was launched. // - // monitoring-state - Indicates whether monitoring is enabled for the instance + // monitoring-state - Indicates whether monitoring is enabled for the instance // (disabled | enabled). // - // owner-id - The AWS account ID of the instance owner. + // owner-id - The AWS account ID of the instance owner. // - // placement-group-name - The name of the placement group for the instance. + // placement-group-name - The name of the placement group for the instance. // - // platform - The platform. Use windows if you have Windows instances; otherwise, + // platform - The platform. Use windows if you have Windows instances; otherwise, // leave blank. // - // private-dns-name - The private DNS name of the instance. + // private-dns-name - The private DNS name of the instance. // - // private-ip-address - The private IP address of the instance. + // private-ip-address - The private IP address of the instance. // - // product-code - The product code associated with the AMI used to launch + // product-code - The product code associated with the AMI used to launch // the instance. // - // product-code.type - The type of product code (devpay | marketplace). + // product-code.type - The type of product code (devpay | marketplace). // - // ramdisk-id - The RAM disk ID. + // ramdisk-id - The RAM disk ID. // - // reason - The reason for the current state of the instance (for example, + // reason - The reason for the current state of the instance (for example, // shows "User Initiated [date]" when you stop or terminate the instance). Similar // to the state-reason-code filter. // - // requester-id - The ID of the entity that launched the instance on your + // requester-id - The ID of the entity that launched the instance on your // behalf (for example, AWS Management Console, Auto Scaling, and so on). // - // reservation-id - The ID of the instance's reservation. A reservation ID - // is created any time you launch an instance. A reservation ID has a one-to-one + // reservation-id - The ID of the instance's reservation. A reservation + // ID is created any time you launch an instance. A reservation ID has a one-to-one // relationship with an instance launch request, but can be associated with // more than one instance if you launch multiple instances using the same launch // request. For example, if you launch one instance, you'll get one reservation // ID. If you launch ten instances using the same launch request, you'll also // get one reservation ID. // - // root-device-name - The name of the root device for the instance (for example, - // /dev/sda1 or /dev/xvda). + // root-device-name - The name of the root device for the instance (for + // example, /dev/sda1 or /dev/xvda). // - // root-device-type - The type of root device that the instance uses (ebs + // root-device-type - The type of root device that the instance uses (ebs // | instance-store). // - // source-dest-check - Indicates whether the instance performs source/destination + // source-dest-check - Indicates whether the instance performs source/destination // checking. A value of true means that checking is enabled, and false means // checking is disabled. The value must be false for the instance to perform // network address translation (NAT) in your VPC. // - // spot-instance-request-id - The ID of the Spot instance request. + // spot-instance-request-id - The ID of the Spot instance request. // - // state-reason-code - The reason code for the state change. + // state-reason-code - The reason code for the state change. // - // state-reason-message - A message that describes the state change. + // state-reason-message - A message that describes the state change. // - // subnet-id - The ID of the subnet for the instance. + // subnet-id - The ID of the subnet for the instance. // - // tag:key=value - The key/value combination of a tag assigned to the resource, + // tag:key=value - The key/value combination of a tag assigned to the resource, // where tag:key is the tag's key. // - // tag-key - The key of a tag assigned to the resource. This filter is independent + // tag-key - The key of a tag assigned to the resource. This filter is independent // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" // and the filter "tag-value=X", you get any resources assigned both the tag // key Purpose (regardless of what the tag's value is), and the tag value X // (regardless of what the tag's key is). If you want to list only resources // where Purpose is X, see the tag:key=value filter. // - // tag-value - The value of a tag assigned to the resource. This filter is - // independent of the tag-key filter. + // tag-value - The value of a tag assigned to the resource. This filter + // is independent of the tag-key filter. // - // tenancy - The tenancy of an instance (dedicated | default | host). + // tenancy - The tenancy of an instance (dedicated | default | host). // - // virtualization-type - The virtualization type of the instance (paravirtual + // virtualization-type - The virtualization type of the instance (paravirtual // | hvm). // - // vpc-id - The ID of the VPC that the instance is running in. + // vpc-id - The ID of the VPC that the instance is running in. // - // network-interface.description - The description of the network interface. + // network-interface.description - The description of the network interface. // - // network-interface.subnet-id - The ID of the subnet for the network interface. + // network-interface.subnet-id - The ID of the subnet for the network interface. // - // network-interface.vpc-id - The ID of the VPC for the network interface. + // network-interface.vpc-id - The ID of the VPC for the network interface. // - // network-interface.network-interface-id - The ID of the network interface. + // network-interface.network-interface-id - The ID of the network interface. // - // network-interface.owner-id - The ID of the owner of the network interface. + // network-interface.owner-id - The ID of the owner of the network interface. // - // network-interface.availability-zone - The Availability Zone for the network + // network-interface.availability-zone - The Availability Zone for the network // interface. // - // network-interface.requester-id - The requester ID for the network interface. + // network-interface.requester-id - The requester ID for the network interface. // - // network-interface.requester-managed - Indicates whether the network interface + // network-interface.requester-managed - Indicates whether the network interface // is being managed by AWS. // - // network-interface.status - The status of the network interface (available) + // network-interface.status - The status of the network interface (available) // | in-use). // - // network-interface.mac-address - The MAC address of the network interface. + // network-interface.mac-address - The MAC address of the network interface. // - // network-interface.private-dns-name - The private DNS name of the network + // network-interface.private-dns-name - The private DNS name of the network // interface. // - // network-interface.source-dest-check - Whether the network interface performs + // network-interface.source-dest-check - Whether the network interface performs // source/destination checking. A value of true means checking is enabled, and // false means checking is disabled. The value must be false for the network // interface to perform network address translation (NAT) in your VPC. // - // network-interface.group-id - The ID of a security group associated with + // network-interface.group-id - The ID of a security group associated with // the network interface. // - // network-interface.group-name - The name of a security group associated + // network-interface.group-name - The name of a security group associated // with the network interface. // - // network-interface.attachment.attachment-id - The ID of the interface attachment. + // network-interface.attachment.attachment-id - The ID of the interface + // attachment. // - // network-interface.attachment.instance-id - The ID of the instance to which - // the network interface is attached. + // network-interface.attachment.instance-id - The ID of the instance to + // which the network interface is attached. // - // network-interface.attachment.instance-owner-id - The owner ID of the instance - // to which the network interface is attached. + // network-interface.attachment.instance-owner-id - The owner ID of the + // instance to which the network interface is attached. // - // network-interface.addresses.private-ip-address - The private IP address + // network-interface.addresses.private-ip-address - The private IP address // associated with the network interface. // - // network-interface.attachment.device-index - The device index to which + // network-interface.attachment.device-index - The device index to which // the network interface is attached. // - // network-interface.attachment.status - The status of the attachment (attaching + // network-interface.attachment.status - The status of the attachment (attaching // | attached | detaching | detached). // - // network-interface.attachment.attach-time - The time that the network interface - // was attached to an instance. + // network-interface.attachment.attach-time - The time that the network + // interface was attached to an instance. // - // network-interface.attachment.delete-on-termination - Specifies whether + // network-interface.attachment.delete-on-termination - Specifies whether // the attachment is deleted when an instance is terminated. // - // network-interface.addresses.primary - Specifies whether the IP address + // network-interface.addresses.primary - Specifies whether the IP address // of the network interface is the primary private IP address. // - // network-interface.addresses.association.public-ip - The ID of the association + // network-interface.addresses.association.public-ip - The ID of the association // of an Elastic IP address with a network interface. // - // network-interface.addresses.association.ip-owner-id - The owner ID of + // network-interface.addresses.association.ip-owner-id - The owner ID of // the private IP address associated with the network interface. // - // association.public-ip - The address of the Elastic IP address bound to + // association.public-ip - The address of the Elastic IP address bound to // the network interface. // - // association.ip-owner-id - The owner of the Elastic IP address associated + // association.ip-owner-id - The owner of the Elastic IP address associated // with the network interface. // - // association.allocation-id - The allocation ID returned when you allocated + // association.allocation-id - The allocation ID returned when you allocated // the Elastic IP address for your network interface. // - // association.association-id - The association ID returned when the network + // association.association-id - The association ID returned when the network // interface was associated with an IP address. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` @@ -13898,7 +21767,7 @@ type DescribeInstancesInput struct { // The maximum number of results to return in a single call. To retrieve the // remaining results, make another call with the returned NextToken value. This // value can be between 5 and 1000. You cannot specify this parameter and the - // instance IDs parameter in the same call. + // instance IDs parameter or tag filters in the same call. MaxResults *int64 `locationName:"maxResults" type:"integer"` // The token to request the next page of results. @@ -13949,24 +21818,24 @@ type DescribeInternetGatewaysInput struct { // One or more filters. // - // attachment.state - The current state of the attachment between the gateway + // attachment.state - The current state of the attachment between the gateway // and the VPC (available). Present only if a VPC is attached. // - // attachment.vpc-id - The ID of an attached VPC. + // attachment.vpc-id - The ID of an attached VPC. // - // internet-gateway-id - The ID of the Internet gateway. + // internet-gateway-id - The ID of the Internet gateway. // - // tag:key=value - The key/value combination of a tag assigned to the resource. + // tag:key=value - The key/value combination of a tag assigned to the resource. // - // tag-key - The key of a tag assigned to the resource. This filter is independent + // tag-key - The key of a tag assigned to the resource. This filter is independent // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" // and the filter "tag-value=X", you get any resources assigned both the tag // key Purpose (regardless of what the tag's value is), and the tag value X // (regardless of what the tag's key is). If you want to list only resources // where Purpose is X, see the tag:key=value filter. // - // tag-value - The value of a tag assigned to the resource. This filter is - // independent of the tag-key filter. + // tag-value - The value of a tag assigned to the resource. This filter + // is independent of the tag-key filter. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // One or more Internet gateway IDs. @@ -14015,9 +21884,9 @@ type DescribeKeyPairsInput struct { // One or more filters. // - // fingerprint - The fingerprint of the key pair. + // fingerprint - The fingerprint of the key pair. // - // key-name - The name of the key pair. + // key-name - The name of the key pair. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // One or more key pair names. @@ -14066,7 +21935,7 @@ type DescribeMovingAddressesInput struct { // One or more filters. // - // moving-status - The status of the Elastic IP address (MovingToVpc | RestoringToClassic). + // moving-status - The status of the Elastic IP address (MovingToVpc | RestoringToClassic). Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"` // The maximum number of results to return for the request in a single page. @@ -14122,14 +21991,14 @@ type DescribeNatGatewaysInput struct { // One or more filters. // - // nat-gateway-id - The ID of the NAT gateway. + // nat-gateway-id - The ID of the NAT gateway. // - // state - The state of the NAT gateway (pending | failed | available | deleting - // | deleted). + // state - The state of the NAT gateway (pending | failed | available | + // deleting | deleted). // - // subnet-id - The ID of the subnet in which the NAT gateway resides. + // subnet-id - The ID of the subnet in which the NAT gateway resides. // - // vpc-id - The ID of the VPC in which the NAT gateway resides. + // vpc-id - The ID of the VPC in which the NAT gateway resides. Filter []*Filter `locationNameList:"Filter" type:"list"` // The maximum number of items to return for this request. The request returns @@ -14191,51 +22060,52 @@ type DescribeNetworkAclsInput struct { // One or more filters. // - // association.association-id - The ID of an association ID for the ACL. + // association.association-id - The ID of an association ID for the ACL. // - // association.network-acl-id - The ID of the network ACL involved in the + // association.network-acl-id - The ID of the network ACL involved in the // association. // - // association.subnet-id - The ID of the subnet involved in the association. + // association.subnet-id - The ID of the subnet involved in the association. // - // default - Indicates whether the ACL is the default network ACL for the + // default - Indicates whether the ACL is the default network ACL for the // VPC. // - // entry.cidr - The CIDR range specified in the entry. + // entry.cidr - The CIDR range specified in the entry. // - // entry.egress - Indicates whether the entry applies to egress traffic. + // entry.egress - Indicates whether the entry applies to egress traffic. // - // entry.icmp.code - The ICMP code specified in the entry, if any. + // entry.icmp.code - The ICMP code specified in the entry, if any. // - // entry.icmp.type - The ICMP type specified in the entry, if any. + // entry.icmp.type - The ICMP type specified in the entry, if any. // - // entry.port-range.from - The start of the port range specified in the entry. + // entry.port-range.from - The start of the port range specified in the + // entry. // - // entry.port-range.to - The end of the port range specified in the entry. + // entry.port-range.to - The end of the port range specified in the entry. // - // entry.protocol - The protocol specified in the entry (tcp | udp | icmp + // entry.protocol - The protocol specified in the entry (tcp | udp | icmp // or a protocol number). // - // entry.rule-action - Allows or denies the matching traffic (allow | deny). + // entry.rule-action - Allows or denies the matching traffic (allow | deny). // - // entry.rule-number - The number of an entry (in other words, rule) in the - // ACL's set of entries. + // entry.rule-number - The number of an entry (in other words, rule) in + // the ACL's set of entries. // - // network-acl-id - The ID of the network ACL. + // network-acl-id - The ID of the network ACL. // - // tag:key=value - The key/value combination of a tag assigned to the resource. + // tag:key=value - The key/value combination of a tag assigned to the resource. // - // tag-key - The key of a tag assigned to the resource. This filter is independent + // tag-key - The key of a tag assigned to the resource. This filter is independent // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" // and the filter "tag-value=X", you get any resources assigned both the tag // key Purpose (regardless of what the tag's value is), and the tag value X // (regardless of what the tag's key is). If you want to list only resources // where Purpose is X, see the tag:key=value filter. // - // tag-value - The value of a tag assigned to the resource. This filter is - // independent of the tag-key filter. + // tag-value - The value of a tag assigned to the resource. This filter + // is independent of the tag-key filter. // - // vpc-id - The ID of the VPC for the network ACL. + // vpc-id - The ID of the VPC for the network ACL. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // One or more network ACL IDs. @@ -14286,6 +22156,8 @@ type DescribeNetworkInterfaceAttributeInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the network interface. + // + // NetworkInterfaceId is a required field NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"` } @@ -14354,106 +22226,106 @@ type DescribeNetworkInterfacesInput struct { // One or more filters. // - // addresses.private-ip-address - The private IP addresses associated with + // addresses.private-ip-address - The private IP addresses associated with // the network interface. // - // addresses.primary - Whether the private IP address is the primary IP address - // associated with the network interface. + // addresses.primary - Whether the private IP address is the primary IP + // address associated with the network interface. // - // addresses.association.public-ip - The association ID returned when the + // addresses.association.public-ip - The association ID returned when the // network interface was associated with the Elastic IP address. // - // addresses.association.owner-id - The owner ID of the addresses associated + // addresses.association.owner-id - The owner ID of the addresses associated // with the network interface. // - // association.association-id - The association ID returned when the network + // association.association-id - The association ID returned when the network // interface was associated with an IP address. // - // association.allocation-id - The allocation ID returned when you allocated + // association.allocation-id - The allocation ID returned when you allocated // the Elastic IP address for your network interface. // - // association.ip-owner-id - The owner of the Elastic IP address associated + // association.ip-owner-id - The owner of the Elastic IP address associated // with the network interface. // - // association.public-ip - The address of the Elastic IP address bound to + // association.public-ip - The address of the Elastic IP address bound to // the network interface. // - // association.public-dns-name - The public DNS name for the network interface. + // association.public-dns-name - The public DNS name for the network interface. // - // attachment.attachment-id - The ID of the interface attachment. + // attachment.attachment-id - The ID of the interface attachment. // - // attachment.attach.time - The time that the network interface was attached + // attachment.attach.time - The time that the network interface was attached // to an instance. // - // attachment.delete-on-termination - Indicates whether the attachment is + // attachment.delete-on-termination - Indicates whether the attachment is // deleted when an instance is terminated. // - // attachment.device-index - The device index to which the network interface + // attachment.device-index - The device index to which the network interface // is attached. // - // attachment.instance-id - The ID of the instance to which the network interface - // is attached. + // attachment.instance-id - The ID of the instance to which the network + // interface is attached. // - // attachment.instance-owner-id - The owner ID of the instance to which the - // network interface is attached. + // attachment.instance-owner-id - The owner ID of the instance to which + // the network interface is attached. // - // attachment.nat-gateway-id - The ID of the NAT gateway to which the network + // attachment.nat-gateway-id - The ID of the NAT gateway to which the network // interface is attached. // - // attachment.status - The status of the attachment (attaching | attached + // attachment.status - The status of the attachment (attaching | attached // | detaching | detached). // - // availability-zone - The Availability Zone of the network interface. + // availability-zone - The Availability Zone of the network interface. // - // description - The description of the network interface. + // description - The description of the network interface. // - // group-id - The ID of a security group associated with the network interface. + // group-id - The ID of a security group associated with the network interface. // - // group-name - The name of a security group associated with the network + // group-name - The name of a security group associated with the network // interface. // - // mac-address - The MAC address of the network interface. + // mac-address - The MAC address of the network interface. // - // network-interface-id - The ID of the network interface. + // network-interface-id - The ID of the network interface. // - // owner-id - The AWS account ID of the network interface owner. + // owner-id - The AWS account ID of the network interface owner. // - // private-ip-address - The private IP address or addresses of the network + // private-ip-address - The private IP address or addresses of the network // interface. // - // private-dns-name - The private DNS name of the network interface. + // private-dns-name - The private DNS name of the network interface. // - // requester-id - The ID of the entity that launched the instance on your + // requester-id - The ID of the entity that launched the instance on your // behalf (for example, AWS Management Console, Auto Scaling, and so on). // - // requester-managed - Indicates whether the network interface is being managed - // by an AWS service (for example, AWS Management Console, Auto Scaling, and - // so on). + // requester-managed - Indicates whether the network interface is being + // managed by an AWS service (for example, AWS Management Console, Auto Scaling, + // and so on). // - // source-desk-check - Indicates whether the network interface performs source/destination - // checking. A value of true means checking is enabled, and false means checking - // is disabled. The value must be false for the network interface to perform - // network address translation (NAT) in your VPC. + // source-desk-check - Indicates whether the network interface performs + // source/destination checking. A value of true means checking is enabled, and + // false means checking is disabled. The value must be false for the network + // interface to perform network address translation (NAT) in your VPC. // - // status - The status of the network interface. If the network interface + // status - The status of the network interface. If the network interface // is not attached to an instance, the status is available; if a network interface // is attached to an instance the status is in-use. // - // subnet-id - The ID of the subnet for the network interface. + // subnet-id - The ID of the subnet for the network interface. // - // tag:key=value - The key/value combination of a tag assigned to the resource. + // tag:key=value - The key/value combination of a tag assigned to the resource. // - // tag-key - The key of a tag assigned to the resource. This filter is independent + // tag-key - The key of a tag assigned to the resource. This filter is independent // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" // and the filter "tag-value=X", you get any resources assigned both the tag // key Purpose (regardless of what the tag's value is), and the tag value X // (regardless of what the tag's key is). If you want to list only resources // where Purpose is X, see the tag:key=value filter. // - // tag-value - The value of a tag assigned to the resource. This filter is - // independent of the tag-key filter. + // tag-value - The value of a tag assigned to the resource. This filter + // is independent of the tag-key filter. // - // vpc-id - The ID of the VPC for the network interface. + // vpc-id - The ID of the VPC for the network interface. Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"` // One or more network interface IDs. @@ -14502,12 +22374,12 @@ type DescribePlacementGroupsInput struct { // One or more filters. // - // group-name - The name of the placement group. + // group-name - The name of the placement group. // - // state - The state of the placement group (pending | available | deleting + // state - The state of the placement group (pending | available | deleting // | deleted). // - // strategy - The strategy of the placement group (cluster). + // strategy - The strategy of the placement group (cluster). Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // One or more placement group names. @@ -14556,9 +22428,9 @@ type DescribePrefixListsInput struct { // One or more filters. // - // prefix-list-id: The ID of a prefix list. + // prefix-list-id: The ID of a prefix list. // - // prefix-list-name: The name of a prefix list. + // prefix-list-name: The name of a prefix list. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // The maximum number of items to return for this request. The request returns @@ -14621,9 +22493,9 @@ type DescribeRegionsInput struct { // One or more filters. // - // endpoint - The endpoint of the region (for example, ec2.us-east-1.amazonaws.com). + // endpoint - The endpoint of the region (for example, ec2.us-east-1.amazonaws.com). // - // region-name - The name of the region (for example, us-east-1). + // region-name - The name of the region (for example, us-east-1). Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // The names of one or more regions. @@ -14670,20 +22542,22 @@ type DescribeReservedInstancesInput struct { // One or more filters. // - // availability-zone - The Availability Zone where the Reserved Instance + // availability-zone - The Availability Zone where the Reserved Instance // can be used. // - // duration - The duration of the Reserved Instance (one year or three years), + // duration - The duration of the Reserved Instance (one year or three years), // in seconds (31536000 | 94608000). // - // end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z). + // end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z). // - // fixed-price - The purchase price of the Reserved Instance (for example, + // fixed-price - The purchase price of the Reserved Instance (for example, // 9800.0). // - // instance-type - The instance type that is covered by the reservation. + // instance-type - The instance type that is covered by the reservation. // - // product-description - The Reserved Instance product platform description. + // scope - The scope of the Reserved Instance (Region or Availability Zone). + // + // product-description - The Reserved Instance product platform description. // Instances that include (Amazon VPC) in the product platform description will // only be displayed to EC2-Classic account holders and are for use with Amazon // VPC (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE Linux (Amazon @@ -14693,30 +22567,33 @@ type DescribeReservedInstancesInput struct { // with SQL Server Web (Amazon VPC) | Windows with SQL Server Enterprise | Windows // with SQL Server Enterprise (Amazon VPC)). // - // reserved-instances-id - The ID of the Reserved Instance. + // reserved-instances-id - The ID of the Reserved Instance. // - // start - The time at which the Reserved Instance purchase request was placed - // (for example, 2014-08-07T11:54:42.000Z). + // start - The time at which the Reserved Instance purchase request was + // placed (for example, 2014-08-07T11:54:42.000Z). // - // state - The state of the Reserved Instance (payment-pending | active | - // payment-failed | retired). + // state - The state of the Reserved Instance (payment-pending | active + // | payment-failed | retired). // - // tag:key=value - The key/value combination of a tag assigned to the resource. + // tag:key=value - The key/value combination of a tag assigned to the resource. // - // tag-key - The key of a tag assigned to the resource. This filter is independent + // tag-key - The key of a tag assigned to the resource. This filter is independent // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" // and the filter "tag-value=X", you get any resources assigned both the tag // key Purpose (regardless of what the tag's value is), and the tag value X // (regardless of what the tag's key is). If you want to list only resources // where Purpose is X, see the tag:key=value filter. // - // tag-value - The value of a tag assigned to the resource. This filter is - // independent of the tag-key filter. + // tag-value - The value of a tag assigned to the resource. This filter + // is independent of the tag-key filter. // - // usage-price - The usage price of the Reserved Instance, per hour (for + // usage-price - The usage price of the Reserved Instance, per hour (for // example, 0.84). Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + // Describes whether the Reserved Instance is Standard or Convertible. + OfferingClass *string `type:"string" enum:"OfferingClassType"` + // The Reserved Instance offering type. If you are using tools that predate // the 2011-11-01 API version, you only have access to the Medium Utilization // Reserved Instance offering type. @@ -14745,15 +22622,15 @@ type DescribeReservedInstancesListingsInput struct { // One or more filters. // - // reserved-instances-id - The ID of the Reserved Instances. + // reserved-instances-id - The ID of the Reserved Instances. // - // reserved-instances-listing-id - The ID of the Reserved Instances listing. + // reserved-instances-listing-id - The ID of the Reserved Instances listing. // - // status - The status of the Reserved Instance listing (pending | active + // status - The status of the Reserved Instance listing (pending | active // | cancelled | closed). // - // status-message - The reason for the status. - Filters []*Filter `locationName:"filters" locationNameList:"Filter" type:"list"` + // status-message - The reason for the status. + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // One or more Reserved Instance IDs. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"` @@ -14796,38 +22673,38 @@ type DescribeReservedInstancesModificationsInput struct { // One or more filters. // - // client-token - The idempotency token for the modification request. + // client-token - The idempotency token for the modification request. // - // create-date - The time when the modification request was created. + // create-date - The time when the modification request was created. // - // effective-date - The time when the modification becomes effective. + // effective-date - The time when the modification becomes effective. // - // modification-result.reserved-instances-id - The ID for the Reserved Instances + // modification-result.reserved-instances-id - The ID for the Reserved Instances // created as part of the modification request. This ID is only available when // the status of the modification is fulfilled. // - // modification-result.target-configuration.availability-zone - The Availability + // modification-result.target-configuration.availability-zone - The Availability // Zone for the new Reserved Instances. // - // modification-result.target-configuration.instance-count - The number + // modification-result.target-configuration.instance-count - The number // of new Reserved Instances. // - // modification-result.target-configuration.instance-type - The instance + // modification-result.target-configuration.instance-type - The instance // type of the new Reserved Instances. // - // modification-result.target-configuration.platform - The network platform + // modification-result.target-configuration.platform - The network platform // of the new Reserved Instances (EC2-Classic | EC2-VPC). // - // reserved-instances-id - The ID of the Reserved Instances modified. + // reserved-instances-id - The ID of the Reserved Instances modified. // - // reserved-instances-modification-id - The ID of the modification request. + // reserved-instances-modification-id - The ID of the modification request. // - // status - The status of the Reserved Instances modification request (processing + // status - The status of the Reserved Instances modification request (processing // | fulfilled | failed). // - // status-message - The reason for the status. + // status-message - The reason for the status. // - // update-date - The time when the modification request was last updated. + // update-date - The time when the modification request was last updated. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // The token to retrieve the next page of results. @@ -14884,22 +22761,22 @@ type DescribeReservedInstancesOfferingsInput struct { // One or more filters. // - // availability-zone - The Availability Zone where the Reserved Instance + // availability-zone - The Availability Zone where the Reserved Instance // can be used. // - // duration - The duration of the Reserved Instance (for example, one year + // duration - The duration of the Reserved Instance (for example, one year // or three years), in seconds (31536000 | 94608000). // - // fixed-price - The purchase price of the Reserved Instance (for example, + // fixed-price - The purchase price of the Reserved Instance (for example, // 9800.0). // - // instance-type - The instance type that is covered by the reservation. + // instance-type - The instance type that is covered by the reservation. // - // marketplace - Set to true to show only Reserved Instance Marketplace offerings. - // When this filter is not used, which is the default behavior, all offerings - // from both AWS and the Reserved Instance Marketplace are listed. + // marketplace - Set to true to show only Reserved Instance Marketplace + // offerings. When this filter is not used, which is the default behavior, all + // offerings from both AWS and the Reserved Instance Marketplace are listed. // - // product-description - The Reserved Instance product platform description. + // product-description - The Reserved Instance product platform description. // Instances that include (Amazon VPC) in the product platform description will // only be displayed to EC2-Classic account holders and are for use with Amazon // VPC. (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE Linux (Amazon @@ -14909,9 +22786,11 @@ type DescribeReservedInstancesOfferingsInput struct { // with SQL Server Web (Amazon VPC) | Windows with SQL Server Enterprise | Windows // with SQL Server Enterprise (Amazon VPC)) // - // reserved-instances-offering-id - The Reserved Instances offering ID. + // reserved-instances-offering-id - The Reserved Instances offering ID. + // + // scope - The scope of the Reserved Instance (Availability Zone or Region). // - // usage-price - The usage price of the Reserved Instance, per hour (for + // usage-price - The usage price of the Reserved Instance, per hour (for // example, 0.84). Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` @@ -14955,6 +22834,9 @@ type DescribeReservedInstancesOfferingsInput struct { // The token to retrieve the next page of results. NextToken *string `locationName:"nextToken" type:"string"` + // The offering class of the Reserved Instance. Can be standard or convertible. + OfferingClass *string `type:"string" enum:"OfferingClassType"` + // The Reserved Instance offering type. If you are using tools that predate // the 2011-11-01 API version, you only have access to the Medium Utilization // Reserved Instance offering type. @@ -15030,59 +22912,59 @@ type DescribeRouteTablesInput struct { // One or more filters. // - // association.route-table-association-id - The ID of an association ID for - // the route table. + // association.route-table-association-id - The ID of an association ID + // for the route table. // - // association.route-table-id - The ID of the route table involved in the + // association.route-table-id - The ID of the route table involved in the // association. // - // association.subnet-id - The ID of the subnet involved in the association. + // association.subnet-id - The ID of the subnet involved in the association. // - // association.main - Indicates whether the route table is the main route + // association.main - Indicates whether the route table is the main route // table for the VPC (true | false). // - // route-table-id - The ID of the route table. + // route-table-id - The ID of the route table. // - // route.destination-cidr-block - The CIDR range specified in a route in + // route.destination-cidr-block - The CIDR range specified in a route in // the table. // - // route.destination-prefix-list-id - The ID (prefix) of the AWS service + // route.destination-prefix-list-id - The ID (prefix) of the AWS service // specified in a route in the table. // - // route.gateway-id - The ID of a gateway specified in a route in the table. + // route.gateway-id - The ID of a gateway specified in a route in the table. // - // route.instance-id - The ID of an instance specified in a route in the + // route.instance-id - The ID of an instance specified in a route in the // table. // - // route.nat-gateway-id - The ID of a NAT gateway. + // route.nat-gateway-id - The ID of a NAT gateway. // - // route.origin - Describes how the route was created. CreateRouteTable indicates - // that the route was automatically created when the route table was created; - // CreateRoute indicates that the route was manually added to the route table; - // EnableVgwRoutePropagation indicates that the route was propagated by route - // propagation. + // route.origin - Describes how the route was created. CreateRouteTable + // indicates that the route was automatically created when the route table was + // created; CreateRoute indicates that the route was manually added to the route + // table; EnableVgwRoutePropagation indicates that the route was propagated + // by route propagation. // - // route.state - The state of a route in the route table (active | blackhole). + // route.state - The state of a route in the route table (active | blackhole). // The blackhole state indicates that the route's target isn't available (for // example, the specified gateway isn't attached to the VPC, the specified NAT // instance has been terminated, and so on). // - // route.vpc-peering-connection-id - The ID of a VPC peering connection specified - // in a route in the table. + // route.vpc-peering-connection-id - The ID of a VPC peering connection + // specified in a route in the table. // - // tag:key=value - The key/value combination of a tag assigned to the resource. + // tag:key=value - The key/value combination of a tag assigned to the resource. // - // tag-key - The key of a tag assigned to the resource. This filter is independent + // tag-key - The key of a tag assigned to the resource. This filter is independent // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" // and the filter "tag-value=X", you get any resources assigned both the tag // key Purpose (regardless of what the tag's value is), and the tag value X // (regardless of what the tag's key is). If you want to list only resources // where Purpose is X, see the tag:key=value filter. // - // tag-value - The value of a tag assigned to the resource. This filter is - // independent of the tag-key filter. + // tag-value - The value of a tag assigned to the resource. This filter + // is independent of the tag-key filter. // - // vpc-id - The ID of the VPC for the route table. + // vpc-id - The ID of the VPC for the route table. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // One or more route table IDs. @@ -15131,16 +23013,18 @@ type DescribeScheduledInstanceAvailabilityInput struct { // One or more filters. // - // availability-zone - The Availability Zone (for example, us-west-2a). + // availability-zone - The Availability Zone (for example, us-west-2a). // - // instance-type - The instance type (for example, c4.large). + // instance-type - The instance type (for example, c4.large). // - // network-platform - The network platform (EC2-Classic or EC2-VPC). + // network-platform - The network platform (EC2-Classic or EC2-VPC). // - // platform - The platform (Linux/UNIX or Windows). + // platform - The platform (Linux/UNIX or Windows). Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // The time period for the first schedule to start. + // + // FirstSlotStartTimeRange is a required field FirstSlotStartTimeRange *SlotDateTimeRangeRequest `type:"structure" required:"true"` // The maximum number of results to return in a single call. This value can @@ -15162,6 +23046,8 @@ type DescribeScheduledInstanceAvailabilityInput struct { NextToken *string `type:"string"` // The schedule recurrence. + // + // Recurrence is a required field Recurrence *ScheduledInstanceRecurrenceRequest `type:"structure" required:"true"` } @@ -15230,13 +23116,13 @@ type DescribeScheduledInstancesInput struct { // One or more filters. // - // availability-zone - The Availability Zone (for example, us-west-2a). + // availability-zone - The Availability Zone (for example, us-west-2a). // - // instance-type - The instance type (for example, c4.large). + // instance-type - The instance type (for example, c4.large). // - // network-platform - The network platform (EC2-Classic or EC2-VPC). + // network-platform - The network platform (EC2-Classic or EC2-VPC). // - // platform - The platform (Linux/UNIX or Windows). + // platform - The platform (Linux/UNIX or Windows). Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // The maximum number of results to return in a single call. This value can @@ -15286,6 +23172,61 @@ func (s DescribeScheduledInstancesOutput) GoString() string { return s.String() } +type DescribeSecurityGroupReferencesInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the operation, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // One or more security group IDs in your account. + // + // GroupId is a required field + GroupId []*string `locationNameList:"item" type:"list" required:"true"` +} + +// String returns the string representation +func (s DescribeSecurityGroupReferencesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSecurityGroupReferencesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeSecurityGroupReferencesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityGroupReferencesInput"} + if s.GroupId == nil { + invalidParams.Add(request.NewErrParamRequired("GroupId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DescribeSecurityGroupReferencesOutput struct { + _ struct{} `type:"structure"` + + // Information about the VPCs with the referencing security groups. + SecurityGroupReferenceSet []*SecurityGroupReference `locationName:"securityGroupReferenceSet" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s DescribeSecurityGroupReferencesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSecurityGroupReferencesOutput) GoString() string { + return s.String() +} + // Contains the parameters for DescribeSecurityGroups. type DescribeSecurityGroupsInput struct { _ struct{} `type:"structure"` @@ -15300,42 +23241,42 @@ type DescribeSecurityGroupsInput struct { // security groups for which any combination of rules - not necessarily a single // rule - match all filters. // - // description - The description of the security group. + // description - The description of the security group. // - // egress.ip-permission.prefix-list-id - The ID (prefix) of the AWS service + // egress.ip-permission.prefix-list-id - The ID (prefix) of the AWS service // to which the security group allows access. // - // group-id - The ID of the security group. + // group-id - The ID of the security group. // - // group-name - The name of the security group. + // group-name - The name of the security group. // - // ip-permission.cidr - A CIDR range that has been granted permission. + // ip-permission.cidr - A CIDR range that has been granted permission. // - // ip-permission.from-port - The start of port range for the TCP and UDP + // ip-permission.from-port - The start of port range for the TCP and UDP // protocols, or an ICMP type number. // - // ip-permission.group-id - The ID of a security group that has been granted + // ip-permission.group-id - The ID of a security group that has been granted // permission. // - // ip-permission.group-name - The name of a security group that has been + // ip-permission.group-name - The name of a security group that has been // granted permission. // - // ip-permission.protocol - The IP protocol for the permission (tcp | udp + // ip-permission.protocol - The IP protocol for the permission (tcp | udp // | icmp or a protocol number). // - // ip-permission.to-port - The end of port range for the TCP and UDP protocols, + // ip-permission.to-port - The end of port range for the TCP and UDP protocols, // or an ICMP code. // - // ip-permission.user-id - The ID of an AWS account that has been granted + // ip-permission.user-id - The ID of an AWS account that has been granted // permission. // - // owner-id - The AWS account ID of the owner of the security group. + // owner-id - The AWS account ID of the owner of the security group. // - // tag-key - The key of a tag assigned to the security group. + // tag-key - The key of a tag assigned to the security group. // - // tag-value - The value of a tag assigned to the security group. + // tag-value - The value of a tag assigned to the security group. // - // vpc-id - The ID of the VPC specified when the security group was created. + // vpc-id - The ID of the VPC specified when the security group was created. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // One or more security group IDs. Required for security groups in a nondefault @@ -15386,6 +23327,8 @@ type DescribeSnapshotAttributeInput struct { _ struct{} `type:"structure"` // The snapshot attribute you would like to view. + // + // Attribute is a required field Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"` // Checks whether you have the required permissions for the action, without @@ -15395,6 +23338,8 @@ type DescribeSnapshotAttributeInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the EBS snapshot. + // + // SnapshotId is a required field SnapshotId *string `type:"string" required:"true"` } @@ -15460,37 +23405,38 @@ type DescribeSnapshotsInput struct { // One or more filters. // - // description - A description of the snapshot. + // description - A description of the snapshot. // - // owner-alias - The AWS account alias (for example, amazon) that owns the - // snapshot. + // owner-alias - Value from an Amazon-maintained list (amazon | aws-marketplace + // | microsoft) of snapshot owners. Not to be confused with the user-configured + // AWS account alias, which is set from the IAM consolew. // - // owner-id - The ID of the AWS account that owns the snapshot. + // owner-id - The ID of the AWS account that owns the snapshot. // - // progress - The progress of the snapshot, as a percentage (for example, + // progress - The progress of the snapshot, as a percentage (for example, // 80%). // - // snapshot-id - The snapshot ID. + // snapshot-id - The snapshot ID. // - // start-time - The time stamp when the snapshot was initiated. + // start-time - The time stamp when the snapshot was initiated. // - // status - The status of the snapshot (pending | completed | error). + // status - The status of the snapshot (pending | completed | error). // - // tag:key=value - The key/value combination of a tag assigned to the resource. + // tag:key=value - The key/value combination of a tag assigned to the resource. // - // tag-key - The key of a tag assigned to the resource. This filter is independent + // tag-key - The key of a tag assigned to the resource. This filter is independent // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" // and the filter "tag-value=X", you get any resources assigned both the tag // key Purpose (regardless of what the tag's value is), and the tag value X // (regardless of what the tag's key is). If you want to list only resources // where Purpose is X, see the tag:key=value filter. // - // tag-value - The value of a tag assigned to the resource. This filter is - // independent of the tag-key filter. + // tag-value - The value of a tag assigned to the resource. This filter + // is independent of the tag-key filter. // - // volume-id - The ID of the volume the snapshot is for. + // volume-id - The ID of the volume the snapshot is for. // - // volume-size - The size of the volume, in GiB. + // volume-size - The size of the volume, in GiB. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // The maximum number of snapshot results returned by DescribeSnapshots in paginated @@ -15616,6 +23562,8 @@ type DescribeSpotFleetInstancesInput struct { NextToken *string `locationName:"nextToken" type:"string"` // The ID of the Spot fleet request. + // + // SpotFleetRequestId is a required field SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"` } @@ -15648,6 +23596,8 @@ type DescribeSpotFleetInstancesOutput struct { // The running instances. Note that this list is refreshed periodically and // might be out of date. + // + // ActiveInstances is a required field ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list" required:"true"` // The token required to retrieve the next set of results. This value is null @@ -15655,6 +23605,8 @@ type DescribeSpotFleetInstancesOutput struct { NextToken *string `locationName:"nextToken" type:"string"` // The ID of the Spot fleet request. + // + // SpotFleetRequestId is a required field SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"` } @@ -15690,9 +23642,13 @@ type DescribeSpotFleetRequestHistoryInput struct { NextToken *string `locationName:"nextToken" type:"string"` // The ID of the Spot fleet request. + // + // SpotFleetRequestId is a required field SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"` // The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). + // + // StartTime is a required field StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` } @@ -15727,12 +23683,16 @@ type DescribeSpotFleetRequestHistoryOutput struct { _ struct{} `type:"structure"` // Information about the events in the history of the Spot fleet request. + // + // HistoryRecords is a required field HistoryRecords []*HistoryRecord `locationName:"historyRecordSet" locationNameList:"item" type:"list" required:"true"` // The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). // All records up to this time were retrieved. // // If nextToken indicates that there are more results, this value is not present. + // + // LastEvaluatedTime is a required field LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` // The token required to retrieve the next set of results. This value is null @@ -15740,9 +23700,13 @@ type DescribeSpotFleetRequestHistoryOutput struct { NextToken *string `locationName:"nextToken" type:"string"` // The ID of the Spot fleet request. + // + // SpotFleetRequestId is a required field SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"` // The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). + // + // StartTime is a required field StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` } @@ -15797,6 +23761,8 @@ type DescribeSpotFleetRequestsOutput struct { NextToken *string `locationName:"nextToken" type:"string"` // Information about the configuration of your Spot fleet. + // + // SpotFleetRequestConfigs is a required field SpotFleetRequestConfigs []*SpotFleetRequestConfig `locationName:"spotFleetRequestConfigSet" locationNameList:"item" type:"list" required:"true"` } @@ -15822,113 +23788,113 @@ type DescribeSpotInstanceRequestsInput struct { // One or more filters. // - // availability-zone-group - The Availability Zone group. + // availability-zone-group - The Availability Zone group. // - // create-time - The time stamp when the Spot instance request was created. + // create-time - The time stamp when the Spot instance request was created. // - // fault-code - The fault code related to the request. + // fault-code - The fault code related to the request. // - // fault-message - The fault message related to the request. + // fault-message - The fault message related to the request. // - // instance-id - The ID of the instance that fulfilled the request. + // instance-id - The ID of the instance that fulfilled the request. // - // launch-group - The Spot instance launch group. + // launch-group - The Spot instance launch group. // - // launch.block-device-mapping.delete-on-termination - Indicates whether + // launch.block-device-mapping.delete-on-termination - Indicates whether // the Amazon EBS volume is deleted on instance termination. // - // launch.block-device-mapping.device-name - The device name for the Amazon + // launch.block-device-mapping.device-name - The device name for the Amazon // EBS volume (for example, /dev/sdh). // - // launch.block-device-mapping.snapshot-id - The ID of the snapshot used + // launch.block-device-mapping.snapshot-id - The ID of the snapshot used // for the Amazon EBS volume. // - // launch.block-device-mapping.volume-size - The size of the Amazon EBS volume, - // in GiB. + // launch.block-device-mapping.volume-size - The size of the Amazon EBS + // volume, in GiB. // - // launch.block-device-mapping.volume-type - The type of the Amazon EBS volume: - // gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput - // Optimized HDD, sc1for Cold HDD, or standard for Magnetic. + // launch.block-device-mapping.volume-type - The type of the Amazon EBS + // volume: gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for + // Throughput Optimized HDD, sc1for Cold HDD, or standard for Magnetic. // - // launch.group-id - The security group for the instance. + // launch.group-id - The security group for the instance. // - // launch.image-id - The ID of the AMI. + // launch.image-id - The ID of the AMI. // - // launch.instance-type - The type of instance (for example, m3.medium). + // launch.instance-type - The type of instance (for example, m3.medium). // - // launch.kernel-id - The kernel ID. + // launch.kernel-id - The kernel ID. // - // launch.key-name - The name of the key pair the instance launched with. + // launch.key-name - The name of the key pair the instance launched with. // - // launch.monitoring-enabled - Whether monitoring is enabled for the Spot + // launch.monitoring-enabled - Whether monitoring is enabled for the Spot // instance. // - // launch.ramdisk-id - The RAM disk ID. + // launch.ramdisk-id - The RAM disk ID. // - // network-interface.network-interface-id - The ID of the network interface. + // network-interface.network-interface-id - The ID of the network interface. // - // network-interface.device-index - The index of the device for the network + // network-interface.device-index - The index of the device for the network // interface attachment on the instance. // - // network-interface.subnet-id - The ID of the subnet for the instance. + // network-interface.subnet-id - The ID of the subnet for the instance. // - // network-interface.description - A description of the network interface. + // network-interface.description - A description of the network interface. // - // network-interface.private-ip-address - The primary private IP address + // network-interface.private-ip-address - The primary private IP address // of the network interface. // - // network-interface.delete-on-termination - Indicates whether the network + // network-interface.delete-on-termination - Indicates whether the network // interface is deleted when the instance is terminated. // - // network-interface.group-id - The ID of the security group associated with - // the network interface. + // network-interface.group-id - The ID of the security group associated + // with the network interface. // - // network-interface.group-name - The name of the security group associated + // network-interface.group-name - The name of the security group associated // with the network interface. // - // network-interface.addresses.primary - Indicates whether the IP address + // network-interface.addresses.primary - Indicates whether the IP address // is the primary private IP address. // - // product-description - The product description associated with the instance + // product-description - The product description associated with the instance // (Linux/UNIX | Windows). // - // spot-instance-request-id - The Spot instance request ID. + // spot-instance-request-id - The Spot instance request ID. // - // spot-price - The maximum hourly price for any Spot instance launched to - // fulfill the request. + // spot-price - The maximum hourly price for any Spot instance launched + // to fulfill the request. // - // state - The state of the Spot instance request (open | active | closed + // state - The state of the Spot instance request (open | active | closed // | cancelled | failed). Spot bid status information can help you track your // Amazon EC2 Spot instance requests. For more information, see Spot Bid Status // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html) // in the Amazon Elastic Compute Cloud User Guide. // - // status-code - The short code describing the most recent evaluation of + // status-code - The short code describing the most recent evaluation of // your Spot instance request. // - // status-message - The message explaining the status of the Spot instance + // status-message - The message explaining the status of the Spot instance // request. // - // tag:key=value - The key/value combination of a tag assigned to the resource. + // tag:key=value - The key/value combination of a tag assigned to the resource. // - // tag-key - The key of a tag assigned to the resource. This filter is independent + // tag-key - The key of a tag assigned to the resource. This filter is independent // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" // and the filter "tag-value=X", you get any resources assigned both the tag // key Purpose (regardless of what the tag's value is), and the tag value X // (regardless of what the tag's key is). If you want to list only resources // where Purpose is X, see the tag:key=value filter. // - // tag-value - The value of a tag assigned to the resource. This filter is - // independent of the tag-key filter. + // tag-value - The value of a tag assigned to the resource. This filter + // is independent of the tag-key filter. // - // type - The type of Spot instance request (one-time | persistent). + // type - The type of Spot instance request (one-time | persistent). // - // launched-availability-zone - The Availability Zone in which the bid is + // launched-availability-zone - The Availability Zone in which the bid is // launched. // - // valid-from - The start date of the request. + // valid-from - The start date of the request. // - // valid-until - The end date of the request. + // valid-until - The end date of the request. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // One or more Spot instance request IDs. @@ -15982,18 +23948,19 @@ type DescribeSpotPriceHistoryInput struct { // One or more filters. // - // availability-zone - The Availability Zone for which prices should be returned. + // availability-zone - The Availability Zone for which prices should be + // returned. // - // instance-type - The type of instance (for example, m3.medium). + // instance-type - The type of instance (for example, m3.medium). // - // product-description - The product description for the Spot price (Linux/UNIX + // product-description - The product description for the Spot price (Linux/UNIX // | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | SUSE Linux (Amazon VPC) // | Windows (Amazon VPC)). // - // spot-price - The Spot price. The value must match exactly (or use wildcards; + // spot-price - The Spot price. The value must match exactly (or use wildcards; // greater than or less than comparison is not supported). // - // timestamp - The timestamp of the Spot price history, in UTC format (for + // timestamp - The timestamp of the Spot price history, in UTC format (for // example, YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?). Greater // than or less than comparison is not supported. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` @@ -16049,6 +24016,80 @@ func (s DescribeSpotPriceHistoryOutput) GoString() string { return s.String() } +type DescribeStaleSecurityGroupsInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the operation, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The maximum number of items to return for this request. The request returns + // a token that you can specify in a subsequent call to get the next set of + // results. + MaxResults *int64 `min:"5" type:"integer"` + + // The token for the next set of items to return. (You received this token from + // a prior call.) + NextToken *string `min:"1" type:"string"` + + // The ID of the VPC. + // + // VpcId is a required field + VpcId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeStaleSecurityGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeStaleSecurityGroupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeStaleSecurityGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeStaleSecurityGroupsInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.VpcId == nil { + invalidParams.Add(request.NewErrParamRequired("VpcId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DescribeStaleSecurityGroupsOutput struct { + _ struct{} `type:"structure"` + + // The token to use when requesting the next set of items. If there are no additional + // items to return, the string is empty. + NextToken *string `locationName:"nextToken" type:"string"` + + // Information about the stale security groups. + StaleSecurityGroupSet []*StaleSecurityGroup `locationName:"staleSecurityGroupSet" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s DescribeStaleSecurityGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeStaleSecurityGroupsOutput) GoString() string { + return s.String() +} + // Contains the parameters for DescribeSubnets. type DescribeSubnetsInput struct { _ struct{} `type:"structure"` @@ -16061,36 +24102,36 @@ type DescribeSubnetsInput struct { // One or more filters. // - // availabilityZone - The Availability Zone for the subnet. You can also + // availabilityZone - The Availability Zone for the subnet. You can also // use availability-zone as the filter name. // - // available-ip-address-count - The number of IP addresses in the subnet + // available-ip-address-count - The number of IP addresses in the subnet // that are available. // - // cidrBlock - The CIDR block of the subnet. The CIDR block you specify must - // exactly match the subnet's CIDR block for information to be returned for - // the subnet. You can also use cidr or cidr-block as the filter names. + // cidrBlock - The CIDR block of the subnet. The CIDR block you specify + // must exactly match the subnet's CIDR block for information to be returned + // for the subnet. You can also use cidr or cidr-block as the filter names. // - // defaultForAz - Indicates whether this is the default subnet for the Availability + // defaultForAz - Indicates whether this is the default subnet for the Availability // Zone. You can also use default-for-az as the filter name. // - // state - The state of the subnet (pending | available). + // state - The state of the subnet (pending | available). // - // subnet-id - The ID of the subnet. + // subnet-id - The ID of the subnet. // - // tag:key=value - The key/value combination of a tag assigned to the resource. + // tag:key=value - The key/value combination of a tag assigned to the resource. // - // tag-key - The key of a tag assigned to the resource. This filter is independent + // tag-key - The key of a tag assigned to the resource. This filter is independent // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" // and the filter "tag-value=X", you get any resources assigned both the tag // key Purpose (regardless of what the tag's value is), and the tag value X // (regardless of what the tag's key is). If you want to list only resources // where Purpose is X, see the tag:key=value filter. // - // tag-value - The value of a tag assigned to the resource. This filter is - // independent of the tag-key filter. + // tag-value - The value of a tag assigned to the resource. This filter + // is independent of the tag-key filter. // - // vpc-id - The ID of the VPC for the subnet. + // vpc-id - The ID of the VPC for the subnet. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // One or more subnet IDs. @@ -16139,16 +24180,16 @@ type DescribeTagsInput struct { // One or more filters. // - // key - The tag key. + // key - The tag key. // - // resource-id - The resource ID. + // resource-id - The resource ID. // - // resource-type - The resource type (customer-gateway | dhcp-options | image - // | instance | internet-gateway | network-acl | network-interface | reserved-instances + // resource-type - The resource type (customer-gateway | dhcp-options | + // image | instance | internet-gateway | network-acl | network-interface | reserved-instances // | route-table | security-group | snapshot | spot-instances-request | subnet // | volume | vpc | vpn-connection | vpn-gateway). // - // value - The tag value. + // value - The tag value. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // The maximum number of results to return in a single call. This value can @@ -16206,6 +24247,8 @@ type DescribeVolumeAttributeInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the volume. + // + // VolumeId is a required field VolumeId *string `type:"string" required:"true"` } @@ -16268,34 +24311,34 @@ type DescribeVolumeStatusInput struct { // One or more filters. // - // action.code - The action code for the event (for example, enable-volume-io). + // action.code - The action code for the event (for example, enable-volume-io). // - // action.description - A description of the action. + // action.description - A description of the action. // - // action.event-id - The event ID associated with the action. + // action.event-id - The event ID associated with the action. // - // availability-zone - The Availability Zone of the instance. + // availability-zone - The Availability Zone of the instance. // - // event.description - A description of the event. + // event.description - A description of the event. // - // event.event-id - The event ID. + // event.event-id - The event ID. // - // event.event-type - The event type (for io-enabled: passed | failed; for + // event.event-type - The event type (for io-enabled: passed | failed; for // io-performance: io-performance:degraded | io-performance:severely-degraded // | io-performance:stalled). // - // event.not-after - The latest end time for the event. + // event.not-after - The latest end time for the event. // - // event.not-before - The earliest start time for the event. + // event.not-before - The earliest start time for the event. // - // volume-status.details-name - The cause for volume-status.status (io-enabled + // volume-status.details-name - The cause for volume-status.status (io-enabled // | io-performance). // - // volume-status.details-status - The status of volume-status.details-name + // volume-status.details-status - The status of volume-status.details-name // (for io-enabled: passed | failed; for io-performance: normal | degraded | // severely-degraded | stalled). // - // volume-status.status - The status of the volume (ok | impaired | warning + // volume-status.status - The status of the volume (ok | impaired | warning // | insufficient-data). Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` @@ -16365,48 +24408,48 @@ type DescribeVolumesInput struct { // One or more filters. // - // attachment.attach-time - The time stamp when the attachment initiated. + // attachment.attach-time - The time stamp when the attachment initiated. // - // attachment.delete-on-termination - Whether the volume is deleted on instance + // attachment.delete-on-termination - Whether the volume is deleted on instance // termination. // - // attachment.device - The device name that is exposed to the instance (for + // attachment.device - The device name that is exposed to the instance (for // example, /dev/sda1). // - // attachment.instance-id - The ID of the instance the volume is attached + // attachment.instance-id - The ID of the instance the volume is attached // to. // - // attachment.status - The attachment state (attaching | attached | detaching + // attachment.status - The attachment state (attaching | attached | detaching // | detached). // - // availability-zone - The Availability Zone in which the volume was created. + // availability-zone - The Availability Zone in which the volume was created. // - // create-time - The time stamp when the volume was created. + // create-time - The time stamp when the volume was created. // - // encrypted - The encryption status of the volume. + // encrypted - The encryption status of the volume. // - // size - The size of the volume, in GiB. + // size - The size of the volume, in GiB. // - // snapshot-id - The snapshot from which the volume was created. + // snapshot-id - The snapshot from which the volume was created. // - // status - The status of the volume (creating | available | in-use | deleting + // status - The status of the volume (creating | available | in-use | deleting // | deleted | error). // - // tag:key=value - The key/value combination of a tag assigned to the resource. + // tag:key=value - The key/value combination of a tag assigned to the resource. // - // tag-key - The key of a tag assigned to the resource. This filter is independent + // tag-key - The key of a tag assigned to the resource. This filter is independent // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" // and the filter "tag-value=X", you get any resources assigned both the tag // key Purpose (regardless of what the tag's value is), and the tag value X // (regardless of what the tag's key is). If you want to list only resources // where Purpose is X, see the tag:key=value filter. // - // tag-value - The value of a tag assigned to the resource. This filter is - // independent of the tag-key filter. + // tag-value - The value of a tag assigned to the resource. This filter + // is independent of the tag-key filter. // - // volume-id - The volume ID. + // volume-id - The volume ID. // - // volume-type - The Amazon EBS volume type. This can be gp2 for General + // volume-type - The Amazon EBS volume type. This can be gp2 for General // Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, // sc1 for Cold HDD, or standard for Magnetic volumes. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` @@ -16471,6 +24514,8 @@ type DescribeVpcAttributeInput struct { _ struct{} `type:"structure"` // The VPC attribute. + // + // Attribute is a required field Attribute *string `type:"string" required:"true" enum:"VpcAttributeName"` // Checks whether you have the required permissions for the action, without @@ -16480,6 +24525,8 @@ type DescribeVpcAttributeInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the VPC. + // + // VpcId is a required field VpcId *string `type:"string" required:"true"` } @@ -16613,20 +24660,20 @@ type DescribeVpcClassicLinkInput struct { // One or more filters. // - // is-classic-link-enabled - Whether the VPC is enabled for ClassicLink (true - // | false). + // is-classic-link-enabled - Whether the VPC is enabled for ClassicLink + // (true | false). // - // tag:key=value - The key/value combination of a tag assigned to the resource. + // tag:key=value - The key/value combination of a tag assigned to the resource. // - // tag-key - The key of a tag assigned to the resource. This filter is independent + // tag-key - The key of a tag assigned to the resource. This filter is independent // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" // and the filter "tag-value=X", you get any resources assigned both the tag // key Purpose (regardless of what the tag's value is), and the tag value X // (regardless of what the tag's key is). If you want to list only resources // where Purpose is X, see the tag:key=value filter. // - // tag-value - The value of a tag assigned to the resource. This filter is - // independent of the tag-key filter. + // tag-value - The value of a tag assigned to the resource. This filter + // is independent of the tag-key filter. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // One or more VPCs for which you want to describe the ClassicLink status. @@ -16727,13 +24774,13 @@ type DescribeVpcEndpointsInput struct { // One or more filters. // - // service-name: The name of the AWS service. + // service-name: The name of the AWS service. // - // vpc-id: The ID of the VPC in which the endpoint resides. + // vpc-id: The ID of the VPC in which the endpoint resides. // - // vpc-endpoint-id: The ID of the endpoint. + // vpc-endpoint-id: The ID of the endpoint. // - // vpc-endpoint-state: The state of the endpoint. (pending | available | + // vpc-endpoint-state: The state of the endpoint. (pending | available | // deleting | deleted) Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` @@ -16796,41 +24843,41 @@ type DescribeVpcPeeringConnectionsInput struct { // One or more filters. // - // accepter-vpc-info.cidr-block - The CIDR block of the peer VPC. + // accepter-vpc-info.cidr-block - The CIDR block of the peer VPC. // - // accepter-vpc-info.owner-id - The AWS account ID of the owner of the peer + // accepter-vpc-info.owner-id - The AWS account ID of the owner of the peer // VPC. // - // accepter-vpc-info.vpc-id - The ID of the peer VPC. + // accepter-vpc-info.vpc-id - The ID of the peer VPC. // - // expiration-time - The expiration date and time for the VPC peering connection. + // expiration-time - The expiration date and time for the VPC peering connection. // - // requester-vpc-info.cidr-block - The CIDR block of the requester's VPC. + // requester-vpc-info.cidr-block - The CIDR block of the requester's VPC. // - // requester-vpc-info.owner-id - The AWS account ID of the owner of the requester - // VPC. + // requester-vpc-info.owner-id - The AWS account ID of the owner of the + // requester VPC. // - // requester-vpc-info.vpc-id - The ID of the requester VPC. + // requester-vpc-info.vpc-id - The ID of the requester VPC. // - // status-code - The status of the VPC peering connection (pending-acceptance + // status-code - The status of the VPC peering connection (pending-acceptance // | failed | expired | provisioning | active | deleted | rejected). // - // status-message - A message that provides more information about the status + // status-message - A message that provides more information about the status // of the VPC peering connection, if applicable. // - // tag:key=value - The key/value combination of a tag assigned to the resource. + // tag:key=value - The key/value combination of a tag assigned to the resource. // - // tag-key - The key of a tag assigned to the resource. This filter is independent + // tag-key - The key of a tag assigned to the resource. This filter is independent // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" // and the filter "tag-value=X", you get any resources assigned both the tag // key Purpose (regardless of what the tag's value is), and the tag value X // (regardless of what the tag's key is). If you want to list only resources // where Purpose is X, see the tag:key=value filter. // - // tag-value - The value of a tag assigned to the resource. This filter is - // independent of the tag-key filter. + // tag-value - The value of a tag assigned to the resource. This filter + // is independent of the tag-key filter. // - // vpc-peering-connection-id - The ID of the VPC peering connection. + // vpc-peering-connection-id - The ID of the VPC peering connection. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // One or more VPC peering connection IDs. @@ -16879,29 +24926,29 @@ type DescribeVpcsInput struct { // One or more filters. // - // cidr - The CIDR block of the VPC. The CIDR block you specify must exactly + // cidr - The CIDR block of the VPC. The CIDR block you specify must exactly // match the VPC's CIDR block for information to be returned for the VPC. Must // contain the slash followed by one or two digits (for example, /28). // - // dhcp-options-id - The ID of a set of DHCP options. + // dhcp-options-id - The ID of a set of DHCP options. // - // isDefault - Indicates whether the VPC is the default VPC. + // isDefault - Indicates whether the VPC is the default VPC. // - // state - The state of the VPC (pending | available). + // state - The state of the VPC (pending | available). // - // tag:key=value - The key/value combination of a tag assigned to the resource. + // tag:key=value - The key/value combination of a tag assigned to the resource. // - // tag-key - The key of a tag assigned to the resource. This filter is independent + // tag-key - The key of a tag assigned to the resource. This filter is independent // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" // and the filter "tag-value=X", you get any resources assigned both the tag // key Purpose (regardless of what the tag's value is), and the tag value X // (regardless of what the tag's key is). If you want to list only resources // where Purpose is X, see the tag:key=value filter. // - // tag-value - The value of a tag assigned to the resource. This filter is - // independent of the tag-key filter. + // tag-value - The value of a tag assigned to the resource. This filter + // is independent of the tag-key filter. // - // vpc-id - The ID of the VPC. + // vpc-id - The ID of the VPC. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // One or more VPC IDs. @@ -16950,44 +24997,44 @@ type DescribeVpnConnectionsInput struct { // One or more filters. // - // customer-gateway-configuration - The configuration information for the + // customer-gateway-configuration - The configuration information for the // customer gateway. // - // customer-gateway-id - The ID of a customer gateway associated with the + // customer-gateway-id - The ID of a customer gateway associated with the // VPN connection. // - // state - The state of the VPN connection (pending | available | deleting + // state - The state of the VPN connection (pending | available | deleting // | deleted). // - // option.static-routes-only - Indicates whether the connection has static + // option.static-routes-only - Indicates whether the connection has static // routes only. Used for devices that do not support Border Gateway Protocol // (BGP). // - // route.destination-cidr-block - The destination CIDR block. This corresponds + // route.destination-cidr-block - The destination CIDR block. This corresponds // to the subnet used in a customer data center. // - // bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP + // bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP // device. // - // tag:key=value - The key/value combination of a tag assigned to the resource. + // tag:key=value - The key/value combination of a tag assigned to the resource. // - // tag-key - The key of a tag assigned to the resource. This filter is independent + // tag-key - The key of a tag assigned to the resource. This filter is independent // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" // and the filter "tag-value=X", you get any resources assigned both the tag // key Purpose (regardless of what the tag's value is), and the tag value X // (regardless of what the tag's key is). If you want to list only resources // where Purpose is X, see the tag:key=value filter. // - // tag-value - The value of a tag assigned to the resource. This filter is - // independent of the tag-key filter. + // tag-value - The value of a tag assigned to the resource. This filter + // is independent of the tag-key filter. // - // type - The type of VPN connection. Currently the only supported type is - // ipsec.1. + // type - The type of VPN connection. Currently the only supported type + // is ipsec.1. // - // vpn-connection-id - The ID of the VPN connection. + // vpn-connection-id - The ID of the VPN connection. // - // vpn-gateway-id - The ID of a virtual private gateway associated with the - // VPN connection. + // vpn-gateway-id - The ID of a virtual private gateway associated with + // the VPN connection. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // One or more VPN connection IDs. @@ -17036,33 +25083,33 @@ type DescribeVpnGatewaysInput struct { // One or more filters. // - // attachment.state - The current state of the attachment between the gateway + // attachment.state - The current state of the attachment between the gateway // and the VPC (attaching | attached | detaching | detached). // - // attachment.vpc-id - The ID of an attached VPC. + // attachment.vpc-id - The ID of an attached VPC. // - // availability-zone - The Availability Zone for the virtual private gateway + // availability-zone - The Availability Zone for the virtual private gateway // (if applicable). // - // state - The state of the virtual private gateway (pending | available + // state - The state of the virtual private gateway (pending | available // | deleting | deleted). // - // tag:key=value - The key/value combination of a tag assigned to the resource. + // tag:key=value - The key/value combination of a tag assigned to the resource. // - // tag-key - The key of a tag assigned to the resource. This filter is independent + // tag-key - The key of a tag assigned to the resource. This filter is independent // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose" // and the filter "tag-value=X", you get any resources assigned both the tag // key Purpose (regardless of what the tag's value is), and the tag value X // (regardless of what the tag's key is). If you want to list only resources // where Purpose is X, see the tag:key=value filter. // - // tag-value - The value of a tag assigned to the resource. This filter is - // independent of the tag-key filter. + // tag-value - The value of a tag assigned to the resource. This filter + // is independent of the tag-key filter. // - // type - The type of virtual private gateway. Currently the only supported + // type - The type of virtual private gateway. Currently the only supported // type is ipsec.1. // - // vpn-gateway-id - The ID of the virtual private gateway. + // vpn-gateway-id - The ID of the virtual private gateway. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // One or more virtual private gateway IDs. @@ -17110,9 +25157,13 @@ type DetachClassicLinkVpcInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the instance to unlink from the VPC. + // + // InstanceId is a required field InstanceId *string `locationName:"instanceId" type:"string" required:"true"` // The ID of the VPC to which the instance is linked. + // + // VpcId is a required field VpcId *string `locationName:"vpcId" type:"string" required:"true"` } @@ -17171,9 +25222,13 @@ type DetachInternetGatewayInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the Internet gateway. + // + // InternetGatewayId is a required field InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"` // The ID of the VPC. + // + // VpcId is a required field VpcId *string `locationName:"vpcId" type:"string" required:"true"` } @@ -17222,6 +25277,8 @@ type DetachNetworkInterfaceInput struct { _ struct{} `type:"structure"` // The ID of the attachment. + // + // AttachmentId is a required field AttachmentId *string `locationName:"attachmentId" type:"string" required:"true"` // Checks whether you have the required permissions for the action, without @@ -17297,6 +25354,8 @@ type DetachVolumeInput struct { InstanceId *string `type:"string"` // The ID of the volume. + // + // VolumeId is a required field VolumeId *string `type:"string" required:"true"` } @@ -17334,9 +25393,13 @@ type DetachVpnGatewayInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the VPC. + // + // VpcId is a required field VpcId *string `type:"string" required:"true"` // The ID of the virtual private gateway. + // + // VpnGatewayId is a required field VpnGatewayId *string `type:"string" required:"true"` } @@ -17430,9 +25493,13 @@ type DisableVgwRoutePropagationInput struct { _ struct{} `type:"structure"` // The ID of the virtual private gateway. + // + // GatewayId is a required field GatewayId *string `type:"string" required:"true"` // The ID of the route table. + // + // RouteTableId is a required field RouteTableId *string `type:"string" required:"true"` } @@ -17523,6 +25590,8 @@ type DisableVpcClassicLinkInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the VPC. + // + // VpcId is a required field VpcId *string `locationName:"vpcId" type:"string" required:"true"` } @@ -17614,6 +25683,8 @@ type DisassociateRouteTableInput struct { // The association ID representing the current association between the route // table and subnet. + // + // AssociationId is a required field AssociationId *string `locationName:"associationId" type:"string" required:"true"` // Checks whether you have the required permissions for the action, without @@ -17712,6 +25783,8 @@ type DiskImageDescription struct { Checksum *string `locationName:"checksum" type:"string"` // The disk image format. + // + // Format is a required field Format *string `locationName:"format" type:"string" required:"true" enum:"DiskImageFormat"` // A presigned URL for the import manifest stored in Amazon S3. For information @@ -17722,9 +25795,13 @@ type DiskImageDescription struct { // // For information about the import manifest referenced by this API action, // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html). + // + // ImportManifestUrl is a required field ImportManifestUrl *string `locationName:"importManifestUrl" type:"string" required:"true"` // The size of the disk image, in GiB. + // + // Size is a required field Size *int64 `locationName:"size" type:"long" required:"true"` } @@ -17743,9 +25820,13 @@ type DiskImageDetail struct { _ struct{} `type:"structure"` // The size of the disk image, in GiB. + // + // Bytes is a required field Bytes *int64 `locationName:"bytes" type:"long" required:"true"` // The disk image format. + // + // Format is a required field Format *string `locationName:"format" type:"string" required:"true" enum:"DiskImageFormat"` // A presigned URL for the import manifest stored in Amazon S3 and presented @@ -17756,6 +25837,8 @@ type DiskImageDetail struct { // // For information about the import manifest referenced by this API action, // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html). + // + // ImportManifestUrl is a required field ImportManifestUrl *string `locationName:"importManifestUrl" type:"string" required:"true"` } @@ -17793,6 +25876,8 @@ type DiskImageVolumeDescription struct { _ struct{} `type:"structure"` // The volume identifier. + // + // Id is a required field Id *string `locationName:"id" type:"string" required:"true"` // The size of the volume, in GiB. @@ -17824,8 +25909,8 @@ type EbsBlockDevice struct { // For io1, this represents the number of IOPS that are provisioned for the // volume. For gp2, this represents the baseline performance of the volume and // the rate at which the volume accumulates I/O credits for bursting. For more - // information on General Purpose SSD baseline performance, I/O credits, and - // bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) + // information about General Purpose SSD baseline performance, I/O credits, + // and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) // in the Amazon Elastic Compute Cloud User Guide. // // Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for @@ -17920,9 +26005,13 @@ type EnableVgwRoutePropagationInput struct { _ struct{} `type:"structure"` // The ID of the virtual private gateway. + // + // GatewayId is a required field GatewayId *string `type:"string" required:"true"` // The ID of the route table. + // + // RouteTableId is a required field RouteTableId *string `type:"string" required:"true"` } @@ -17977,6 +26066,8 @@ type EnableVolumeIOInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the volume. + // + // VolumeId is a required field VolumeId *string `locationName:"volumeId" type:"string" required:"true"` } @@ -18064,6 +26155,8 @@ type EnableVpcClassicLinkInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the VPC. + // + // VpcId is a required field VpcId *string `locationName:"vpcId" type:"string" required:"true"` } @@ -18119,54 +26212,54 @@ type EventInformation struct { // // The following are the error events. // - // iamFleetRoleInvalid - The Spot fleet did not have the required permissions + // iamFleetRoleInvalid - The Spot fleet did not have the required permissions // either to launch or terminate an instance. // - // launchSpecTemporarilyBlacklisted - The configuration is not valid and + // launchSpecTemporarilyBlacklisted - The configuration is not valid and // several attempts to launch instances have failed. For more information, see // the description of the event. // - // spotFleetRequestConfigurationInvalid - The configuration is not valid. + // spotFleetRequestConfigurationInvalid - The configuration is not valid. // For more information, see the description of the event. // - // spotInstanceCountLimitExceeded - You've reached the limit on the number + // spotInstanceCountLimitExceeded - You've reached the limit on the number // of Spot instances that you can launch. // // The following are the fleetRequestChange events. // - // active - The Spot fleet has been validated and Amazon EC2 is attempting + // active - The Spot fleet has been validated and Amazon EC2 is attempting // to maintain the target number of running Spot instances. // - // cancelled - The Spot fleet is canceled and has no running Spot instances. + // cancelled - The Spot fleet is canceled and has no running Spot instances. // The Spot fleet will be deleted two days after its instances were terminated. // - // cancelled_running - The Spot fleet is canceled and will not launch additional + // cancelled_running - The Spot fleet is canceled and will not launch additional // Spot instances, but its existing Spot instances continue to run until they // are interrupted or terminated. // - // cancelled_terminating - The Spot fleet is canceled and its Spot instances + // cancelled_terminating - The Spot fleet is canceled and its Spot instances // are terminating. // - // expired - The Spot fleet request has expired. A subsequent event indicates + // expired - The Spot fleet request has expired. A subsequent event indicates // that the instances were terminated, if the request was created with TerminateInstancesWithExpiration // set. // - // modify_in_progress - A request to modify the Spot fleet request was accepted + // modify_in_progress - A request to modify the Spot fleet request was accepted // and is in progress. // - // modify_successful - The Spot fleet request was modified. + // modify_successful - The Spot fleet request was modified. // - // price_update - The bid price for a launch configuration was adjusted because - // it was too high. This change is permanent. + // price_update - The bid price for a launch configuration was adjusted + // because it was too high. This change is permanent. // - // submitted - The Spot fleet request is being evaluated and Amazon EC2 is - // preparing to launch the target number of Spot instances. + // submitted - The Spot fleet request is being evaluated and Amazon EC2 + // is preparing to launch the target number of Spot instances. // // The following are the instanceChange events. // - // launched - A bid was fulfilled and a new instance was launched. + // launched - A bid was fulfilled and a new instance was launched. // - // terminated - An instance was terminated by the user. + // terminated - An instance was terminated by the user. EventSubType *string `locationName:"eventSubType" type:"string"` // The ID of the instance. This information is available only for instanceChange @@ -18357,6 +26450,8 @@ type GetConsoleOutputInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the instance. + // + // InstanceId is a required field InstanceId *string `type:"string" required:"true"` } @@ -18390,8 +26485,8 @@ type GetConsoleOutputOutput struct { // The ID of the instance. InstanceId *string `locationName:"instanceId" type:"string"` - // The console output, Base64 encoded. If using a command line tool, the tools - // decode the output for you. + // The console output, Base64-encoded. If using a command line tool, the tool + // decodes the output for you. Output *string `locationName:"output" type:"string"` // The time the output was last updated. @@ -18408,33 +26503,39 @@ func (s GetConsoleOutputOutput) GoString() string { return s.String() } -// Contains the parameters for GetPasswordData. -type GetPasswordDataInput struct { +// Contains the parameters for the request. +type GetConsoleScreenshotInput struct { _ struct{} `type:"structure"` // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have // the required permissions, the error response is DryRunOperation. Otherwise, // it is UnauthorizedOperation. - DryRun *bool `locationName:"dryRun" type:"boolean"` + DryRun *bool `type:"boolean"` - // The ID of the Windows instance. + // The ID of the instance. + // + // InstanceId is a required field InstanceId *string `type:"string" required:"true"` + + // When set to true, acts as keystroke input and wakes up an instance that's + // in standby or "sleep" mode. + WakeUp *bool `type:"boolean"` } // String returns the string representation -func (s GetPasswordDataInput) String() string { +func (s GetConsoleScreenshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetPasswordDataInput) GoString() string { +func (s GetConsoleScreenshotInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetPasswordDataInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetPasswordDataInput"} +func (s *GetConsoleScreenshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetConsoleScreenshotInput"} if s.InstanceId == nil { invalidParams.Add(request.NewErrParamRequired("InstanceId")) } @@ -18445,132 +26546,362 @@ func (s *GetPasswordDataInput) Validate() error { return nil } -// Contains the output of GetPasswordData. -type GetPasswordDataOutput struct { +// Contains the output of the request. +type GetConsoleScreenshotOutput struct { _ struct{} `type:"structure"` - // The ID of the Windows instance. - InstanceId *string `locationName:"instanceId" type:"string"` - - // The password of the instance. - PasswordData *string `locationName:"passwordData" type:"string"` + // The data that comprises the image. + ImageData *string `locationName:"imageData" type:"string"` - // The time the data was last updated. - Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"` + // The ID of the instance. + InstanceId *string `locationName:"instanceId" type:"string"` } // String returns the string representation -func (s GetPasswordDataOutput) String() string { +func (s GetConsoleScreenshotOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetPasswordDataOutput) GoString() string { +func (s GetConsoleScreenshotOutput) GoString() string { return s.String() } -// Describes a security group. -type GroupIdentifier struct { +type GetHostReservationPurchasePreviewInput struct { _ struct{} `type:"structure"` - // The ID of the security group. - GroupId *string `locationName:"groupId" type:"string"` + // The ID/s of the Dedicated Host/s that the reservation will be associated + // with. + // + // HostIdSet is a required field + HostIdSet []*string `locationNameList:"item" type:"list" required:"true"` - // The name of the security group. - GroupName *string `locationName:"groupName" type:"string"` + // The offering ID of the reservation. + // + // OfferingId is a required field + OfferingId *string `type:"string" required:"true"` } // String returns the string representation -func (s GroupIdentifier) String() string { +func (s GetHostReservationPurchasePreviewInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GroupIdentifier) GoString() string { +func (s GetHostReservationPurchasePreviewInput) GoString() string { return s.String() } -// Describes an event in the history of the Spot fleet request. -type HistoryRecord struct { +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetHostReservationPurchasePreviewInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetHostReservationPurchasePreviewInput"} + if s.HostIdSet == nil { + invalidParams.Add(request.NewErrParamRequired("HostIdSet")) + } + if s.OfferingId == nil { + invalidParams.Add(request.NewErrParamRequired("OfferingId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type GetHostReservationPurchasePreviewOutput struct { _ struct{} `type:"structure"` - // Information about the event. - EventInformation *EventInformation `locationName:"eventInformation" type:"structure" required:"true"` + // The currency in which the totalUpfrontPrice and totalHourlyPrice amounts + // are specified. At this time, the only supported currency is USD. + CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"` - // The event type. - // - // error - Indicates an error with the Spot fleet request. - // - // fleetRequestChange - Indicates a change in the status or configuration - // of the Spot fleet request. - // - // instanceChange - Indicates that an instance was launched or terminated. - EventType *string `locationName:"eventType" type:"string" required:"true" enum:"EventType"` + // The purchase information of the Dedicated Host Reservation and the Dedicated + // Hosts associated with it. + Purchase []*Purchase `locationName:"purchase" type:"list"` - // The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). - Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601" required:"true"` + // The potential total hourly price of the reservation per hour. + TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"` + + // The potential total upfront price. This is billed immediately. + TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"` } // String returns the string representation -func (s HistoryRecord) String() string { +func (s GetHostReservationPurchasePreviewOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HistoryRecord) GoString() string { +func (s GetHostReservationPurchasePreviewOutput) GoString() string { return s.String() } -// Describes the properties of the Dedicated host. -type Host struct { +// Contains the parameters for GetPasswordData. +type GetPasswordDataInput struct { _ struct{} `type:"structure"` - // Whether auto-placement is on or off. - AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"` - - // The Availability Zone of the Dedicated host. - AvailabilityZone *string `locationName:"availabilityZone" type:"string"` - - // The number of new instances that can be launched onto the Dedicated host. - AvailableCapacity *AvailableCapacity `locationName:"availableCapacity" type:"structure"` - - // Unique, case-sensitive identifier you provide to ensure idempotency of the - // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html) - // in the Amazon Elastic Compute Cloud User Guide. - ClientToken *string `locationName:"clientToken" type:"string"` - - // The ID of the Dedicated host. - HostId *string `locationName:"hostId" type:"string"` - - // The hardware specifications of the Dedicated host. - HostProperties *HostProperties `locationName:"hostProperties" type:"structure"` - - // The reservation ID of the Dedicated host. This returns a null response if - // the Dedicated host doesn't have an associated reservation. - HostReservationId *string `locationName:"hostReservationId" type:"string"` - - // The IDs and instance type that are currently running on the Dedicated host. - Instances []*HostInstance `locationName:"instances" locationNameList:"item" type:"list"` + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `locationName:"dryRun" type:"boolean"` - // The Dedicated host's state. - State *string `locationName:"state" type:"string" enum:"AllocationState"` + // The ID of the Windows instance. + // + // InstanceId is a required field + InstanceId *string `type:"string" required:"true"` } // String returns the string representation -func (s Host) String() string { +func (s GetPasswordDataInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Host) GoString() string { +func (s GetPasswordDataInput) GoString() string { return s.String() } -// Describes an instance running on a Dedicated host. -type HostInstance struct { - _ struct{} `type:"structure"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetPasswordDataInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPasswordDataInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of GetPasswordData. +type GetPasswordDataOutput struct { + _ struct{} `type:"structure"` + + // The ID of the Windows instance. + InstanceId *string `locationName:"instanceId" type:"string"` + + // The password of the instance. + PasswordData *string `locationName:"passwordData" type:"string"` + + // The time the data was last updated. + Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"` +} + +// String returns the string representation +func (s GetPasswordDataOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPasswordDataOutput) GoString() string { + return s.String() +} + +// Contains the parameters for GetReservedInstanceExchangeQuote. +type GetReservedInstancesExchangeQuoteInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID/s of the Convertible Reserved Instances you want to exchange. + // + // ReservedInstanceIds is a required field + ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"` + + // The configuration requirements of the Convertible Reserved Instances you + // want in exchange for your current Convertible Reserved Instances. + TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"` +} + +// String returns the string representation +func (s GetReservedInstancesExchangeQuoteInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetReservedInstancesExchangeQuoteInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetReservedInstancesExchangeQuoteInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetReservedInstancesExchangeQuoteInput"} + if s.ReservedInstanceIds == nil { + invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds")) + } + if s.TargetConfigurations != nil { + for i, v := range s.TargetConfigurations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of GetReservedInstancesExchangeQuote. +type GetReservedInstancesExchangeQuoteOutput struct { + _ struct{} `type:"structure"` + + // The currency of the transaction. + CurrencyCode *string `locationName:"currencyCode" type:"string"` + + // If true, the exchange is valid. If false, the exchange cannot be performed. + IsValidExchange *bool `locationName:"isValidExchange" type:"boolean"` + + // The new end date of the reservation term. + OutputReservedInstancesWillExpireAt *time.Time `locationName:"outputReservedInstancesWillExpireAt" type:"timestamp" timestampFormat:"iso8601"` + + // The total true upfront charge for the exchange. + PaymentDue *string `locationName:"paymentDue" type:"string"` + + // The cost associated with the Reserved Instance. + ReservedInstanceValueRollup *ReservationValue `locationName:"reservedInstanceValueRollup" type:"structure"` + + // The configuration of your Convertible Reserved Instances. + ReservedInstanceValueSet []*ReservedInstanceReservationValue `locationName:"reservedInstanceValueSet" locationNameList:"item" type:"list"` + + // The cost associated with the Reserved Instance. + TargetConfigurationValueRollup *ReservationValue `locationName:"targetConfigurationValueRollup" type:"structure"` + + // The values of the target Convertible Reserved Instances. + TargetConfigurationValueSet []*TargetReservationValue `locationName:"targetConfigurationValueSet" locationNameList:"item" type:"list"` + + // Describes the reason why the exchange can not be completed. + ValidationFailureReason *string `locationName:"validationFailureReason" type:"string"` +} + +// String returns the string representation +func (s GetReservedInstancesExchangeQuoteOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetReservedInstancesExchangeQuoteOutput) GoString() string { + return s.String() +} + +// Describes a security group. +type GroupIdentifier struct { + _ struct{} `type:"structure"` + + // The ID of the security group. + GroupId *string `locationName:"groupId" type:"string"` + + // The name of the security group. + GroupName *string `locationName:"groupName" type:"string"` +} + +// String returns the string representation +func (s GroupIdentifier) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GroupIdentifier) GoString() string { + return s.String() +} + +// Describes an event in the history of the Spot fleet request. +type HistoryRecord struct { + _ struct{} `type:"structure"` + + // Information about the event. + // + // EventInformation is a required field + EventInformation *EventInformation `locationName:"eventInformation" type:"structure" required:"true"` + + // The event type. + // + // error - Indicates an error with the Spot fleet request. + // + // fleetRequestChange - Indicates a change in the status or configuration + // of the Spot fleet request. + // + // instanceChange - Indicates that an instance was launched or terminated. + // + // EventType is a required field + EventType *string `locationName:"eventType" type:"string" required:"true" enum:"EventType"` + + // The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). + // + // Timestamp is a required field + Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601" required:"true"` +} + +// String returns the string representation +func (s HistoryRecord) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HistoryRecord) GoString() string { + return s.String() +} + +// Describes the properties of the Dedicated Host. +type Host struct { + _ struct{} `type:"structure"` + + // Whether auto-placement is on or off. + AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"` + + // The Availability Zone of the Dedicated Host. + AvailabilityZone *string `locationName:"availabilityZone" type:"string"` + + // The number of new instances that can be launched onto the Dedicated Host. + AvailableCapacity *AvailableCapacity `locationName:"availableCapacity" type:"structure"` + + // Unique, case-sensitive identifier you provide to ensure idempotency of the + // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html) + // in the Amazon Elastic Compute Cloud User Guide. + ClientToken *string `locationName:"clientToken" type:"string"` + + // The ID of the Dedicated Host. + HostId *string `locationName:"hostId" type:"string"` + + // The hardware specifications of the Dedicated Host. + HostProperties *HostProperties `locationName:"hostProperties" type:"structure"` + + // The reservation ID of the Dedicated Host. This returns a null response if + // the Dedicated Host doesn't have an associated reservation. + HostReservationId *string `locationName:"hostReservationId" type:"string"` + + // The IDs and instance type that are currently running on the Dedicated Host. + Instances []*HostInstance `locationName:"instances" locationNameList:"item" type:"list"` + + // The Dedicated Host's state. + State *string `locationName:"state" type:"string" enum:"AllocationState"` +} + +// String returns the string representation +func (s Host) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Host) GoString() string { + return s.String() +} - // the IDs of instances that are running on the Dedicated host. +// Describes an instance running on a Dedicated Host. +type HostInstance struct { + _ struct{} `type:"structure"` + + // the IDs of instances that are running on the Dedicated Host. InstanceId *string `locationName:"instanceId" type:"string"` // The instance type size (for example, m3.medium) of the running instance. @@ -18587,20 +26918,56 @@ func (s HostInstance) GoString() string { return s.String() } -// Describes properties of a Dedicated host. +// Details about the Dedicated Host Reservation offering. +type HostOffering struct { + _ struct{} `type:"structure"` + + // The currency of the offering. + CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"` + + // The duration of the offering (in seconds). + Duration *int64 `locationName:"duration" type:"integer"` + + // The hourly price of the offering. + HourlyPrice *string `locationName:"hourlyPrice" type:"string"` + + // The instance family of the offering. + InstanceFamily *string `locationName:"instanceFamily" type:"string"` + + // The ID of the offering. + OfferingId *string `locationName:"offeringId" type:"string"` + + // The available payment option. + PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"` + + // The upfront price of the offering. Does not apply to No Upfront offerings. + UpfrontPrice *string `locationName:"upfrontPrice" type:"string"` +} + +// String returns the string representation +func (s HostOffering) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HostOffering) GoString() string { + return s.String() +} + +// Describes properties of a Dedicated Host. type HostProperties struct { _ struct{} `type:"structure"` - // The number of cores on the Dedicated host. + // The number of cores on the Dedicated Host. Cores *int64 `locationName:"cores" type:"integer"` - // The instance type size that the Dedicated host supports (for example, m3.medium). + // The instance type size that the Dedicated Host supports (for example, m3.medium). InstanceType *string `locationName:"instanceType" type:"string"` - // The number of sockets on the Dedicated host. + // The number of sockets on the Dedicated Host. Sockets *int64 `locationName:"sockets" type:"integer"` - // The number of vCPUs on the Dedicated host. + // The number of vCPUs on the Dedicated Host. TotalVCpus *int64 `locationName:"totalVCpus" type:"integer"` } @@ -18614,6 +26981,65 @@ func (s HostProperties) GoString() string { return s.String() } +// Details about the Dedicated Host Reservation and associated Dedicated Hosts. +type HostReservation struct { + _ struct{} `type:"structure"` + + // The number of Dedicated Hosts the reservation is associated with. + Count *int64 `locationName:"count" type:"integer"` + + // The currency in which the upfrontPrice and hourlyPrice amounts are specified. + // At this time, the only supported currency is USD. + CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"` + + // The length of the reservation's term, specified in seconds. Can be 31536000 + // (1 year) | 94608000 (3 years). + Duration *int64 `locationName:"duration" type:"integer"` + + // The date and time that the reservation ends. + End *time.Time `locationName:"end" type:"timestamp" timestampFormat:"iso8601"` + + // The IDs of the Dedicated Hosts associated with the reservation. + HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"` + + // The ID of the reservation that specifies the associated Dedicated Hosts. + HostReservationId *string `locationName:"hostReservationId" type:"string"` + + // The hourly price of the reservation. + HourlyPrice *string `locationName:"hourlyPrice" type:"string"` + + // The instance family of the Dedicated Host Reservation. The instance family + // on the Dedicated Host must be the same in order for it to benefit from the + // reservation. + InstanceFamily *string `locationName:"instanceFamily" type:"string"` + + // The ID of the reservation. This remains the same regardless of which Dedicated + // Hosts are associated with it. + OfferingId *string `locationName:"offeringId" type:"string"` + + // The payment option selected for this reservation. + PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"` + + // The date and time that the reservation started. + Start *time.Time `locationName:"start" type:"timestamp" timestampFormat:"iso8601"` + + // The state of the reservation. + State *string `locationName:"state" type:"string" enum:"ReservationState"` + + // The upfront price of the reservation. + UpfrontPrice *string `locationName:"upfrontPrice" type:"string"` +} + +// String returns the string representation +func (s HostReservation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HostReservation) GoString() string { + return s.String() +} + // Describes an IAM instance profile. type IamInstanceProfile struct { _ struct{} `type:"structure"` @@ -18719,6 +27145,9 @@ type Image struct { // The description of the AMI that was provided during image creation. Description *string `locationName:"description" type:"string"` + // Specifies whether enhanced networking with ENA is enabled. + EnaSupport *bool `locationName:"enaSupport" type:"boolean"` + // The hypervisor type of the image. Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"` @@ -18767,7 +27196,8 @@ type Image struct { // an instance store volume. RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"` - // Specifies whether enhanced networking is enabled. + // Specifies whether enhanced networking with the Intel 82599 Virtual Function + // interface is enabled. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"` // The current state of the AMI. If the state is available, the image is successfully @@ -18864,10 +27294,10 @@ type ImportImageInput struct { // The license type to be used for the Amazon Machine Image (AMI) after importing. // - // Note: You may only use BYOL if you have existing licenses with rights to + // Note: You may only use BYOL if you have existing licenses with rights to // use these licenses in a third party cloud like AWS. For more information, - // see VM Import/Export Prerequisites (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/VMImportPrerequisites.html) - // in the Amazon Elastic Compute Cloud User Guide. + // see Prerequisites (http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#prerequisites-image) + // in the VM Import/Export User Guide. // // Valid values: AWS | BYOL LicenseType *string `type:"string"` @@ -19011,6 +27441,8 @@ type ImportInstanceInput struct { LaunchSpecification *ImportInstanceLaunchSpecification `locationName:"launchSpecification" type:"structure"` // The instance operating system. + // + // Platform is a required field Platform *string `locationName:"platform" type:"string" required:"true" enum:"PlatformValues"` } @@ -19068,8 +27500,8 @@ type ImportInstanceLaunchSpecification struct { InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"` // The instance type. For more information about the instance types that you - // can import, see Before You Get Started (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/VMImportPrerequisites.html) - // in the Amazon Elastic Compute Cloud User Guide. + // can import, see Instance Types (http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#vmimport-instance-types) + // in the VM Import/Export User Guide. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"` // Indicates whether monitoring is enabled. @@ -19084,7 +27516,9 @@ type ImportInstanceLaunchSpecification struct { // [EC2-VPC] The ID of the subnet in which to launch the instance. SubnetId *string `locationName:"subnetId" type:"string"` - // The Base64-encoded MIME user data to be made available to the instance. + // The user data to make available to the instance. 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 must provide Base64-encoded text. UserData *UserData `locationName:"userData" type:"structure"` } @@ -19130,6 +27564,8 @@ type ImportInstanceTaskDetails struct { Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"` // One or more volumes. + // + // Volumes is a required field Volumes []*ImportInstanceVolumeDetailItem `locationName:"volumes" locationNameList:"item" type:"list" required:"true"` } @@ -19148,24 +27584,34 @@ type ImportInstanceVolumeDetailItem struct { _ struct{} `type:"structure"` // The Availability Zone where the resulting instance will reside. + // + // AvailabilityZone is a required field AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"` // The number of bytes converted so far. + // + // BytesConverted is a required field BytesConverted *int64 `locationName:"bytesConverted" type:"long" required:"true"` // A description of the task. Description *string `locationName:"description" type:"string"` // The image. + // + // Image is a required field Image *DiskImageDescription `locationName:"image" type:"structure" required:"true"` // The status of the import of this particular disk image. + // + // Status is a required field Status *string `locationName:"status" type:"string" required:"true"` // The status information or errors related to the disk image. StatusMessage *string `locationName:"statusMessage" type:"string"` // The volume. + // + // Volume is a required field Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure" required:"true"` } @@ -19190,12 +27636,16 @@ type ImportKeyPairInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // A unique name for the key pair. + // + // KeyName is a required field KeyName *string `locationName:"keyName" type:"string" required:"true"` // The public key. For API calls, the text must be base64-encoded. For command // line tools, base64 encoding is performed for you. // // PublicKeyMaterial is automatically base64 encoded/decoded by the SDK. + // + // PublicKeyMaterial is a required field PublicKeyMaterial []byte `locationName:"publicKeyMaterial" type:"blob" required:"true"` } @@ -19335,6 +27785,8 @@ type ImportVolumeInput struct { _ struct{} `type:"structure"` // The Availability Zone for the resulting EBS volume. + // + // AvailabilityZone is a required field AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"` // A description of the volume. @@ -19347,9 +27799,13 @@ type ImportVolumeInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The disk image. + // + // Image is a required field Image *DiskImageDetail `locationName:"image" type:"structure" required:"true"` // The volume size. + // + // Volume is a required field Volume *VolumeDetail `locationName:"volume" type:"structure" required:"true"` } @@ -19415,18 +27871,26 @@ type ImportVolumeTaskDetails struct { _ struct{} `type:"structure"` // The Availability Zone where the resulting volume will reside. + // + // AvailabilityZone is a required field AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"` // The number of bytes converted so far. + // + // BytesConverted is a required field BytesConverted *int64 `locationName:"bytesConverted" type:"long" required:"true"` // The description you provided when starting the import volume task. Description *string `locationName:"description" type:"string"` // The image. + // + // Image is a required field Image *DiskImageDescription `locationName:"image" type:"structure" required:"true"` // The volume. + // + // Volume is a required field Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure" required:"true"` } @@ -19464,6 +27928,9 @@ type Instance struct { // Optimized instance. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"` + // Specifies whether enhanced networking with ENA is enabled. + EnaSupport *bool `locationName:"enaSupport" type:"boolean"` + // The hypervisor type of the instance. Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"` @@ -19548,7 +28015,8 @@ type Instance struct { // If the request is a Spot instance request, the ID of the request. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"` - // Specifies whether enhanced networking is enabled. + // Specifies whether enhanced networking with the Intel 82599 Virtual Function + // interface is enabled. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"` // The current state of the instance. @@ -19633,17 +28101,17 @@ func (s InstanceBlockDeviceMappingSpecification) GoString() string { return s.String() } -// Information about the instance type that the Dedicated host supports. +// Information about the instance type that the Dedicated Host supports. type InstanceCapacity struct { _ struct{} `type:"structure"` - // The number of instances that can still be launched onto the Dedicated host. + // The number of instances that can still be launched onto the Dedicated Host. AvailableCapacity *int64 `locationName:"availableCapacity" type:"integer"` - // The instance type size supported by the Dedicated host. + // The instance type size supported by the Dedicated Host. InstanceType *string `locationName:"instanceType" type:"string"` - // The total number of instances that can be launched onto the Dedicated host. + // The total number of instances that can be launched onto the Dedicated Host. TotalCapacity *int64 `locationName:"totalCapacity" type:"integer"` } @@ -19865,16 +28333,19 @@ type InstanceNetworkInterfaceSpecification struct { NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"` // The private IP address of the network interface. Applies only if creating - // a network interface when launching an instance. + // a network interface when launching an instance. You cannot specify this option + // if you're launching more than one instance in a RunInstances request. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"` // One or more private IP addresses to assign to the network interface. Only - // one private IP address can be designated as primary. + // one private IP address can be designated as primary. You cannot specify this + // option if you're launching more than one instance in a RunInstances request. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" queryName:"PrivateIpAddresses" locationNameList:"item" type:"list"` // The number of secondary private IP addresses. You can't specify this option // and specify more than one private IP address using the private IP addresses - // option. + // option. You cannot specify this option if you're launching more than one + // instance in a RunInstances request. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"` // The ID of the subnet associated with the network string. Applies only if @@ -19947,17 +28418,17 @@ type InstanceState struct { // The low byte represents the state. The high byte is an opaque internal value // and should be ignored. // - // 0 : pending + // 0 : pending // - // 16 : running + // 16 : running // - // 32 : shutting-down + // 32 : shutting-down // - // 48 : terminated + // 48 : terminated // - // 64 : stopping + // 64 : stopping // - // 80 : stopped + // 80 : stopped Code *int64 `locationName:"code" type:"integer"` // The current state of the instance. @@ -20342,7 +28813,9 @@ type LaunchSpecification struct { // The ID of the subnet in which to launch the instance. SubnetId *string `locationName:"subnetId" type:"string"` - // The Base64-encoded MIME user data to make available to the instances. + // The user data to make available to the instances. 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 must provide Base64-encoded text. UserData *string `locationName:"userData" type:"string"` } @@ -20361,9 +28834,13 @@ type ModifyHostsInput struct { _ struct{} `type:"structure"` // Specify whether to enable or disable auto-placement. + // + // AutoPlacement is a required field AutoPlacement *string `locationName:"autoPlacement" type:"string" required:"true" enum:"AutoPlacement"` - // The host IDs of the Dedicated hosts you want to modify. + // The host IDs of the Dedicated Hosts you want to modify. + // + // HostIds is a required field HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"` } @@ -20397,10 +28874,10 @@ func (s *ModifyHostsInput) Validate() error { type ModifyHostsOutput struct { _ struct{} `type:"structure"` - // The IDs of the Dedicated hosts that were successfully modified. + // The IDs of the Dedicated Hosts that were successfully modified. Successful []*string `locationName:"successful" locationNameList:"item" type:"list"` - // The IDs of the Dedicated hosts that could not be modified. Check whether + // The IDs of the Dedicated Hosts that could not be modified. Check whether // the setting you requested can be used. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"` } @@ -20419,10 +28896,14 @@ func (s ModifyHostsOutput) GoString() string { type ModifyIdFormatInput struct { _ struct{} `type:"structure"` - // The type of resource. + // The type of resource: instance | reservation | snapshot | volume + // + // Resource is a required field Resource *string `type:"string" required:"true"` // Indicate whether the resource should use longer IDs (17-character IDs). + // + // UseLongIds is a required field UseLongIds *bool `type:"boolean" required:"true"` } @@ -20466,6 +28947,71 @@ func (s ModifyIdFormatOutput) GoString() string { return s.String() } +// Contains the parameters of ModifyIdentityIdFormat. +type ModifyIdentityIdFormatInput struct { + _ struct{} `type:"structure"` + + // The ARN of the principal, which can be an IAM user, IAM role, or the root + // user. Specify all to modify the ID format for all IAM users, IAM roles, and + // the root user of the account. + // + // PrincipalArn is a required field + PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"` + + // The type of resource: instance | reservation | snapshot | volume + // + // Resource is a required field + Resource *string `locationName:"resource" type:"string" required:"true"` + + // Indicates whether the resource should use longer IDs (17-character IDs) + // + // UseLongIds is a required field + UseLongIds *bool `locationName:"useLongIds" type:"boolean" required:"true"` +} + +// String returns the string representation +func (s ModifyIdentityIdFormatInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyIdentityIdFormatInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyIdentityIdFormatInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyIdentityIdFormatInput"} + if s.PrincipalArn == nil { + invalidParams.Add(request.NewErrParamRequired("PrincipalArn")) + } + if s.Resource == nil { + invalidParams.Add(request.NewErrParamRequired("Resource")) + } + if s.UseLongIds == nil { + invalidParams.Add(request.NewErrParamRequired("UseLongIds")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type ModifyIdentityIdFormatOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s ModifyIdentityIdFormatOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyIdentityIdFormatOutput) GoString() string { + return s.String() +} + // Contains the parameters for ModifyImageAttribute. type ModifyImageAttributeInput struct { _ struct{} `type:"structure"` @@ -20483,6 +29029,8 @@ type ModifyImageAttributeInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the AMI. + // + // ImageId is a required field ImageId *string `type:"string" required:"true"` // A launch permission modification. @@ -20581,12 +29129,20 @@ type ModifyInstanceAttributeInput struct { // Optimized instance. EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"` + // Set to true to enable enhanced networking with ENA for the instance. + // + // This option is supported only for HVM instances. Specifying this option + // with a PV instance can make it unreachable. + EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"` + // [EC2-VPC] Changes the security groups of the instance. You must specify at // least one security group, even if it's just the default security group for // the VPC. You must specify the security group ID, not the security group name. Groups []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"` // The ID of the instance. + // + // InstanceId is a required field InstanceId *string `locationName:"instanceId" type:"string" required:"true"` // Specifies whether an instance stops or terminates when you initiate shutdown @@ -20613,16 +29169,20 @@ type ModifyInstanceAttributeInput struct { // value must be false for a NAT instance to perform NAT. SourceDestCheck *AttributeBooleanValue `type:"structure"` - // Set to simple to enable enhanced networking for the instance. + // Set to simple to enable enhanced networking with the Intel 82599 Virtual + // Function interface for the instance. // - // There is no way to disable enhanced networking at this time. + // There is no way to disable enhanced networking with the Intel 82599 Virtual + // Function interface at this time. // // This option is supported only for HVM instances. Specifying this option // with a PV instance can make it unreachable. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"` - // Changes the instance's user data to the specified base64-encoded value. For - // command line tools, base64 encoding is performed for you. + // Changes the instance's user data to the specified value. 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 must provide Base64-encoded + // text. UserData *BlobAttributeValue `locationName:"userData" type:"structure"` // A new value for the attribute. Use only with the kernel, ramdisk, userData, @@ -20674,10 +29234,12 @@ type ModifyInstancePlacementInput struct { // The new affinity setting for the instance. Affinity *string `locationName:"affinity" type:"string" enum:"Affinity"` - // The ID of the Dedicated host that the instance will have affinity with. + // The ID of the Dedicated Host that the instance will have affinity with. HostId *string `locationName:"hostId" type:"string"` // The ID of the instance that you are modifying. + // + // InstanceId is a required field InstanceId *string `locationName:"instanceId" type:"string" required:"true"` // The tenancy of the instance that you are modifying. @@ -20749,6 +29311,8 @@ type ModifyNetworkInterfaceAttributeInput struct { Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"` // The ID of the network interface. + // + // NetworkInterfaceId is a required field NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"` // Indicates whether source/destination checking is enabled. A value of true @@ -20805,9 +29369,13 @@ type ModifyReservedInstancesInput struct { ClientToken *string `locationName:"clientToken" type:"string"` // The IDs of the Reserved Instances to modify. + // + // ReservedInstancesIds is a required field ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list" required:"true"` // The configuration settings for the Reserved Instances to modify. + // + // TargetConfigurations is a required field TargetConfigurations []*ReservedInstancesConfiguration `locationName:"ReservedInstancesConfigurationSetItemType" locationNameList:"item" type:"list" required:"true"` } @@ -20880,6 +29448,8 @@ type ModifySnapshotAttributeInput struct { OperationType *string `type:"string" enum:"OperationType"` // The ID of the snapshot. + // + // SnapshotId is a required field SnapshotId *string `type:"string" required:"true"` // The account ID to modify for the snapshot. @@ -20933,6 +29503,8 @@ type ModifySpotFleetRequestInput struct { ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"` // The ID of the Spot fleet request. + // + // SpotFleetRequestId is a required field SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"` // The size of the fleet. @@ -20989,6 +29561,8 @@ type ModifySubnetAttributeInput struct { MapPublicIpOnLaunch *AttributeBooleanValue `type:"structure"` // The ID of the subnet. + // + // SubnetId is a required field SubnetId *string `locationName:"subnetId" type:"string" required:"true"` } @@ -21043,6 +29617,8 @@ type ModifyVolumeAttributeInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the volume. + // + // VolumeId is a required field VolumeId *string `type:"string" required:"true"` } @@ -21106,6 +29682,8 @@ type ModifyVpcAttributeInput struct { EnableDnsSupport *AttributeBooleanValue `type:"structure"` // The ID of the VPC. + // + // VpcId is a required field VpcId *string `locationName:"vpcId" type:"string" required:"true"` } @@ -21171,6 +29749,8 @@ type ModifyVpcEndpointInput struct { ResetPolicy *bool `type:"boolean"` // The ID of the endpoint. + // + // VpcEndpointId is a required field VpcEndpointId *string `type:"string" required:"true"` } @@ -21231,6 +29811,8 @@ type ModifyVpcPeeringConnectionOptionsInput struct { RequesterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"` // The ID of the VPC peering connection. + // + // VpcPeeringConnectionId is a required field VpcPeeringConnectionId *string `type:"string" required:"true"` } @@ -21250,16 +29832,6 @@ func (s *ModifyVpcPeeringConnectionOptionsInput) Validate() error { if s.VpcPeeringConnectionId == nil { invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId")) } - if s.AccepterPeeringConnectionOptions != nil { - if err := s.AccepterPeeringConnectionOptions.Validate(); err != nil { - invalidParams.AddNested("AccepterPeeringConnectionOptions", err.(request.ErrInvalidParams)) - } - } - if s.RequesterPeeringConnectionOptions != nil { - if err := s.RequesterPeeringConnectionOptions.Validate(); err != nil { - invalidParams.AddNested("RequesterPeeringConnectionOptions", err.(request.ErrInvalidParams)) - } - } if invalidParams.Len() > 0 { return invalidParams @@ -21298,6 +29870,8 @@ type MonitorInstancesInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // One or more instance IDs. + // + // InstanceIds is a required field InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"` } @@ -21371,6 +29945,8 @@ type MoveAddressToVpcInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The Elastic IP address. + // + // PublicIp is a required field PublicIp *string `locationName:"publicIp" type:"string" required:"true"` } @@ -21458,21 +30034,22 @@ type NatGateway struct { // If the NAT gateway could not be created, specifies the error message for // the failure, that corresponds to the error code. // - // For InsufficientFreeAddressesInSubnet: "Subnet has insufficient free addresses + // For InsufficientFreeAddressesInSubnet: "Subnet has insufficient free addresses // to create this NAT gateway" // - // For Gateway.NotAttached: "Network vpc-xxxxxxxx has no Internet gateway attached" + // For Gateway.NotAttached: "Network vpc-xxxxxxxx has no Internet gateway + // attached" // - // For InvalidAllocationID.NotFound: "Elastic IP address eipalloc-xxxxxxxx + // For InvalidAllocationID.NotFound: "Elastic IP address eipalloc-xxxxxxxx // could not be associated with this NAT gateway" // - // For Resource.AlreadyAssociated: "Elastic IP address eipalloc-xxxxxxxx is - // already associated" + // For Resource.AlreadyAssociated: "Elastic IP address eipalloc-xxxxxxxx + // is already associated" // - // For InternalError: "Network interface eni-xxxxxxxx, created and used internally + // For InternalError: "Network interface eni-xxxxxxxx, created and used internally // by this NAT gateway is in an invalid state. Please try again." // - // For InvalidSubnetID.NotFound: "The specified subnet subnet-xxxxxxxx does + // For InvalidSubnetID.NotFound: "The specified subnet subnet-xxxxxxxx does // not exist or could not be found." FailureMessage *string `locationName:"failureMessage" type:"string"` @@ -21483,7 +30060,28 @@ type NatGateway struct { // The ID of the NAT gateway. NatGatewayId *string `locationName:"natGatewayId" type:"string"` + // Reserved. If you need to sustain traffic greater than the documented limits + // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), + // contact us through the Support Center (https://console.aws.amazon.com/support/home?). + ProvisionedBandwidth *ProvisionedBandwidth `locationName:"provisionedBandwidth" type:"structure"` + // The state of the NAT gateway. + // + // pending: The NAT gateway is being created and is not ready to process + // traffic. + // + // failed: The NAT gateway could not be created. Check the failureCode and + // failureMessage fields for the reason. + // + // available: The NAT gateway is able to process traffic. This status remains + // until you delete the NAT gateway, and does not indicate the health of the + // NAT gateway. + // + // deleting: The NAT gateway is in the process of being terminated and may + // still be processing traffic. + // + // deleted: The NAT gateway has been terminated and is no longer processing + // traffic. State *string `locationName:"state" type:"string" enum:"NatGatewayState"` // The ID of the subnet in which the NAT gateway is located. @@ -21838,6 +30436,10 @@ func (s NewDhcpConfiguration) GoString() string { type PeeringConnectionOptions struct { _ struct{} `type:"structure"` + // If true, enables a local VPC to resolve public DNS hostnames to private IP + // addresses when queried from instances in the peer VPC. + AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"` + // If true, enables outbound communication from an EC2-Classic instance that's // linked to a local VPC via ClassicLink to instances in a peer VPC. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"` @@ -21861,13 +30463,17 @@ func (s PeeringConnectionOptions) GoString() string { type PeeringConnectionOptionsRequest struct { _ struct{} `type:"structure"` + // If true, enables a local VPC to resolve public DNS hostnames to private IP + // addresses when queried from instances in the peer VPC. + AllowDnsResolutionFromRemoteVpc *bool `type:"boolean"` + // If true, enables outbound communication from an EC2-Classic instance that's // linked to a local VPC via ClassicLink to instances in a peer VPC. - AllowEgressFromLocalClassicLinkToRemoteVpc *bool `type:"boolean" required:"true"` + AllowEgressFromLocalClassicLinkToRemoteVpc *bool `type:"boolean"` // If true, enables outbound communication from instances in a local VPC to // an EC2-Classic instance that's linked to a peer VPC via ClassicLink. - AllowEgressFromLocalVpcToRemoteClassicLink *bool `type:"boolean" required:"true"` + AllowEgressFromLocalVpcToRemoteClassicLink *bool `type:"boolean"` } // String returns the string representation @@ -21880,27 +30486,11 @@ func (s PeeringConnectionOptionsRequest) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *PeeringConnectionOptionsRequest) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PeeringConnectionOptionsRequest"} - if s.AllowEgressFromLocalClassicLinkToRemoteVpc == nil { - invalidParams.Add(request.NewErrParamRequired("AllowEgressFromLocalClassicLinkToRemoteVpc")) - } - if s.AllowEgressFromLocalVpcToRemoteClassicLink == nil { - invalidParams.Add(request.NewErrParamRequired("AllowEgressFromLocalVpcToRemoteClassicLink")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - // Describes the placement for the instance. type Placement struct { _ struct{} `type:"structure"` - // The affinity setting for the instance on the Dedicated host. This parameter + // The affinity setting for the instance on the Dedicated Host. This parameter // is not supported for the ImportInstance command. Affinity *string `locationName:"affinity" type:"string"` @@ -22111,6 +30701,8 @@ type PrivateIpAddressSpecification struct { Primary *bool `locationName:"primary" type:"boolean"` // The private IP addresses. + // + // PrivateIpAddress is a required field PrivateIpAddress *string `locationName:"privateIpAddress" type:"string" required:"true"` } @@ -22176,14 +30768,193 @@ func (s PropagatingVgw) GoString() string { return s.String() } +// Reserved. If you need to sustain traffic greater than the documented limits +// (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), +// contact us through the Support Center (https://console.aws.amazon.com/support/home?). +type ProvisionedBandwidth struct { + _ struct{} `type:"structure"` + + // Reserved. If you need to sustain traffic greater than the documented limits + // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), + // contact us through the Support Center (https://console.aws.amazon.com/support/home?). + ProvisionTime *time.Time `locationName:"provisionTime" type:"timestamp" timestampFormat:"iso8601"` + + // Reserved. If you need to sustain traffic greater than the documented limits + // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), + // contact us through the Support Center (https://console.aws.amazon.com/support/home?). + Provisioned *string `locationName:"provisioned" type:"string"` + + // Reserved. If you need to sustain traffic greater than the documented limits + // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), + // contact us through the Support Center (https://console.aws.amazon.com/support/home?). + RequestTime *time.Time `locationName:"requestTime" type:"timestamp" timestampFormat:"iso8601"` + + // Reserved. If you need to sustain traffic greater than the documented limits + // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), + // contact us through the Support Center (https://console.aws.amazon.com/support/home?). + Requested *string `locationName:"requested" type:"string"` + + // Reserved. If you need to sustain traffic greater than the documented limits + // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html), + // contact us through the Support Center (https://console.aws.amazon.com/support/home?). + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation +func (s ProvisionedBandwidth) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProvisionedBandwidth) GoString() string { + return s.String() +} + +// Describes the result of the purchase. +type Purchase struct { + _ struct{} `type:"structure"` + + // The currency in which the UpfrontPrice and HourlyPrice amounts are specified. + // At this time, the only supported currency is USD. + CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"` + + // The duration of the reservation's term in seconds. + Duration *int64 `locationName:"duration" type:"integer"` + + // The IDs of the Dedicated Hosts associated with the reservation. + HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"` + + // The ID of the reservation. + HostReservationId *string `locationName:"hostReservationId" type:"string"` + + // The hourly price of the reservation per hour. + HourlyPrice *string `locationName:"hourlyPrice" type:"string"` + + // The instance family on the Dedicated Host that the reservation can be associated + // with. + InstanceFamily *string `locationName:"instanceFamily" type:"string"` + + // The payment option for the reservation. + PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"` + + // The upfront price of the reservation. + UpfrontPrice *string `locationName:"upfrontPrice" type:"string"` +} + +// String returns the string representation +func (s Purchase) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Purchase) GoString() string { + return s.String() +} + +type PurchaseHostReservationInput struct { + _ struct{} `type:"structure"` + + // Unique, case-sensitive identifier you provide to ensure idempotency of the + // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html) + // in the Amazon Elastic Compute Cloud User Guide. + ClientToken *string `type:"string"` + + // The currency in which the totalUpfrontPrice, LimitPrice, and totalHourlyPrice + // amounts are specified. At this time, the only supported currency is USD. + CurrencyCode *string `type:"string" enum:"CurrencyCodeValues"` + + // The ID/s of the Dedicated Host/s that the reservation will be associated + // with. + // + // HostIdSet is a required field + HostIdSet []*string `locationNameList:"item" type:"list" required:"true"` + + // The specified limit is checked against the total upfront cost of the reservation + // (calculated as the offering's upfront cost multiplied by the host count). + // If the total upfront cost is greater than the specified price limit, the + // request will fail. This is used to ensure that the purchase does not exceed + // the expected upfront cost of the purchase. At this time, the only supported + // currency is USD. For example, to indicate a limit price of USD 100, specify + // 100.00. + LimitPrice *string `type:"string"` + + // The ID of the offering. + // + // OfferingId is a required field + OfferingId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s PurchaseHostReservationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PurchaseHostReservationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PurchaseHostReservationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PurchaseHostReservationInput"} + if s.HostIdSet == nil { + invalidParams.Add(request.NewErrParamRequired("HostIdSet")) + } + if s.OfferingId == nil { + invalidParams.Add(request.NewErrParamRequired("OfferingId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type PurchaseHostReservationOutput struct { + _ struct{} `type:"structure"` + + // Unique, case-sensitive identifier you provide to ensure idempotency of the + // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html) + // in the Amazon Elastic Compute Cloud User Guide + ClientToken *string `locationName:"clientToken" type:"string"` + + // The currency in which the totalUpfrontPrice and totalHourlyPrice amounts + // are specified. At this time, the only supported currency is USD. + CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"` + + // Describes the details of the purchase. + Purchase []*Purchase `locationName:"purchase" type:"list"` + + // The total hourly price of the reservation calculated per hour. + TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"` + + // The total amount that will be charged to your account when you purchase the + // reservation. + TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"` +} + +// String returns the string representation +func (s PurchaseHostReservationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PurchaseHostReservationOutput) GoString() string { + return s.String() +} + // Describes a request to purchase Scheduled Instances. type PurchaseRequest struct { _ struct{} `type:"structure"` // The number of instances. + // + // InstanceCount is a required field InstanceCount *int64 `type:"integer" required:"true"` // The purchase token. + // + // PurchaseToken is a required field PurchaseToken *string `type:"string" required:"true"` } @@ -22224,6 +30995,8 @@ type PurchaseReservedInstancesOfferingInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The number of Reserved Instances to purchase. + // + // InstanceCount is a required field InstanceCount *int64 `type:"integer" required:"true"` // Specified for Reserved Instance Marketplace offerings to limit the total @@ -22232,6 +31005,8 @@ type PurchaseReservedInstancesOfferingInput struct { LimitPrice *ReservedInstanceLimitPrice `locationName:"limitPrice" type:"structure"` // The ID of the Reserved Instance offering to purchase. + // + // ReservedInstancesOfferingId is a required field ReservedInstancesOfferingId *string `type:"string" required:"true"` } @@ -22294,6 +31069,8 @@ type PurchaseScheduledInstancesInput struct { DryRun *bool `type:"boolean"` // One or more purchase requests. + // + // PurchaseRequests is a required field PurchaseRequests []*PurchaseRequest `locationName:"PurchaseRequest" locationNameList:"PurchaseRequest" min:"1" type:"list" required:"true"` } @@ -22362,6 +31139,8 @@ type RebootInstancesInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // One or more instance IDs. + // + // InstanceIds is a required field InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"` } @@ -22466,6 +31245,13 @@ type RegisterImageInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` + // Set to true to enable enhanced networking with ENA for the AMI and any instances + // that you launch from the AMI. + // + // This option is supported only for HVM AMIs. Specifying this option with + // a PV AMI can make instances launched from the AMI unreachable. + EnaSupport *bool `locationName:"enaSupport" type:"boolean"` + // The full path to your AMI manifest in Amazon S3 storage. ImageLocation *string `type:"string"` @@ -22477,6 +31263,8 @@ type RegisterImageInput struct { // Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets // ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), // at-signs (@), or underscores(_) + // + // Name is a required field Name *string `locationName:"name" type:"string" required:"true"` // The ID of the RAM disk. @@ -22485,10 +31273,11 @@ type RegisterImageInput struct { // The name of the root device (for example, /dev/sda1, or /dev/xvda). RootDeviceName *string `locationName:"rootDeviceName" type:"string"` - // Set to simple to enable enhanced networking for the AMI and any instances - // that you launch from the AMI. + // Set to simple to enable enhanced networking with the Intel 82599 Virtual + // Function interface for the AMI and any instances that you launch from the + // AMI. // - // There is no way to disable enhanced networking at this time. + // There is no way to disable sriovNetSupport at this time. // // This option is supported only for HVM AMIs. Specifying this option with // a PV AMI can make instances launched from the AMI unreachable. @@ -22552,6 +31341,8 @@ type RejectVpcPeeringConnectionInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the VPC peering connection. + // + // VpcPeeringConnectionId is a required field VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"` } @@ -22641,7 +31432,9 @@ func (s ReleaseAddressOutput) GoString() string { type ReleaseHostsInput struct { _ struct{} `type:"structure"` - // The IDs of the Dedicated hosts you want to release. + // The IDs of the Dedicated Hosts you want to release. + // + // HostIds is a required field HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"` } @@ -22672,10 +31465,10 @@ func (s *ReleaseHostsInput) Validate() error { type ReleaseHostsOutput struct { _ struct{} `type:"structure"` - // The IDs of the Dedicated hosts that were successfully released. + // The IDs of the Dedicated Hosts that were successfully released. Successful []*string `locationName:"successful" locationNameList:"item" type:"list"` - // The IDs of the Dedicated hosts that could not be released, including an error + // The IDs of the Dedicated Hosts that could not be released, including an error // message. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"` } @@ -22696,6 +31489,8 @@ type ReplaceNetworkAclAssociationInput struct { // The ID of the current association between the original network ACL and the // subnet. + // + // AssociationId is a required field AssociationId *string `locationName:"associationId" type:"string" required:"true"` // Checks whether you have the required permissions for the action, without @@ -22705,6 +31500,8 @@ type ReplaceNetworkAclAssociationInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the new network ACL to associate with the subnet. + // + // NetworkAclId is a required field NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"` } @@ -22757,6 +31554,8 @@ type ReplaceNetworkAclEntryInput struct { _ struct{} `type:"structure"` // The network range to allow or deny, in CIDR notation. + // + // CidrBlock is a required field CidrBlock *string `locationName:"cidrBlock" type:"string" required:"true"` // Checks whether you have the required permissions for the action, without @@ -22768,6 +31567,8 @@ type ReplaceNetworkAclEntryInput struct { // Indicates whether to replace the egress rule. // // Default: If no value is specified, we replace the ingress rule. + // + // Egress is a required field Egress *bool `locationName:"egress" type:"boolean" required:"true"` // ICMP protocol: The ICMP type and code. Required if specifying 1 (ICMP) for @@ -22775,6 +31576,8 @@ type ReplaceNetworkAclEntryInput struct { IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"` // The ID of the ACL. + // + // NetworkAclId is a required field NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"` // TCP or UDP protocols: The range of ports the rule applies to. Required if @@ -22782,12 +31585,18 @@ type ReplaceNetworkAclEntryInput struct { PortRange *PortRange `locationName:"portRange" type:"structure"` // The IP protocol. You can specify all or -1 to mean all protocols. + // + // Protocol is a required field Protocol *string `locationName:"protocol" type:"string" required:"true"` // Indicates whether to allow or deny the traffic that matches the rule. + // + // RuleAction is a required field RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"` // The rule number of the entry to replace. + // + // RuleNumber is a required field RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"` } @@ -22849,6 +31658,8 @@ type ReplaceRouteInput struct { // The CIDR address block used for the destination match. The value you provide // must match the CIDR of an existing route in the table. + // + // DestinationCidrBlock is a required field DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string" required:"true"` // Checks whether you have the required permissions for the action, without @@ -22870,6 +31681,8 @@ type ReplaceRouteInput struct { NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"` // The ID of the route table. + // + // RouteTableId is a required field RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"` // The ID of a VPC peering connection. @@ -22921,6 +31734,8 @@ type ReplaceRouteTableAssociationInput struct { _ struct{} `type:"structure"` // The association ID. + // + // AssociationId is a required field AssociationId *string `locationName:"associationId" type:"string" required:"true"` // Checks whether you have the required permissions for the action, without @@ -22930,6 +31745,8 @@ type ReplaceRouteTableAssociationInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the new route table to associate with the subnet. + // + // RouteTableId is a required field RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"` } @@ -22994,36 +31811,42 @@ type ReportInstanceStatusInput struct { EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"` // One or more instances. + // + // Instances is a required field Instances []*string `locationName:"instanceId" locationNameList:"InstanceId" type:"list" required:"true"` // One or more reason codes that describes the health state of your instance. // - // instance-stuck-in-state: My instance is stuck in a state. + // instance-stuck-in-state: My instance is stuck in a state. // - // unresponsive: My instance is unresponsive. + // unresponsive: My instance is unresponsive. // - // not-accepting-credentials: My instance is not accepting my credentials. + // not-accepting-credentials: My instance is not accepting my credentials. // - // password-not-available: A password is not available for my instance. + // password-not-available: A password is not available for my instance. // - // performance-network: My instance is experiencing performance problems + // performance-network: My instance is experiencing performance problems // which I believe are network related. // - // performance-instance-store: My instance is experiencing performance problems + // performance-instance-store: My instance is experiencing performance problems // which I believe are related to the instance stores. // - // performance-ebs-volume: My instance is experiencing performance problems + // performance-ebs-volume: My instance is experiencing performance problems // which I believe are related to an EBS volume. // - // performance-other: My instance is experiencing performance problems. + // performance-other: My instance is experiencing performance problems. // - // other: [explain using the description parameter] + // other: [explain using the description parameter] + // + // ReasonCodes is a required field ReasonCodes []*string `locationName:"reasonCode" locationNameList:"item" type:"list" required:"true"` // The time at which the reported instance health state began. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"` // The status of all instances listed. + // + // Status is a required field Status *string `locationName:"status" type:"string" required:"true" enum:"ReportStatusType"` } @@ -23081,6 +31904,8 @@ type RequestSpotFleetInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The configuration for the Spot fleet request. + // + // SpotFleetRequestConfig is a required field SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"` } @@ -23117,6 +31942,8 @@ type RequestSpotFleetOutput struct { _ struct{} `type:"structure"` // The ID of the Spot fleet request. + // + // SpotFleetRequestId is a required field SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"` } @@ -23195,6 +32022,8 @@ type RequestSpotInstancesInput struct { // The maximum hourly price (bid) for any Spot instance launched to fulfill // the request. + // + // SpotPrice is a required field SpotPrice *string `locationName:"spotPrice" type:"string" required:"true"` // The Spot instance request type. @@ -23322,7 +32151,9 @@ type RequestSpotLaunchSpecification struct { // The ID of the subnet in which to launch the instance. SubnetId *string `locationName:"subnetId" type:"string"` - // The Base64-encoded MIME user data to make available to the instances. + // The user data to make available to the instances. 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 must provide Base64-encoded text. UserData *string `locationName:"userData" type:"string"` } @@ -23392,6 +32223,31 @@ func (s Reservation) GoString() string { return s.String() } +// The cost associated with the Reserved Instance. +type ReservationValue struct { + _ struct{} `type:"structure"` + + // The hourly rate of the reservation. + HourlyPrice *string `locationName:"hourlyPrice" type:"string"` + + // The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice + // * number of hours remaining). + RemainingTotalValue *string `locationName:"remainingTotalValue" type:"string"` + + // The remaining upfront cost of the reservation. + RemainingUpfrontValue *string `locationName:"remainingUpfrontValue" type:"string"` +} + +// String returns the string representation +func (s ReservationValue) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReservationValue) GoString() string { + return s.String() +} + // Describes the limit price of a Reserved Instance offering. type ReservedInstanceLimitPrice struct { _ struct{} `type:"structure"` @@ -23415,6 +32271,27 @@ func (s ReservedInstanceLimitPrice) GoString() string { return s.String() } +// The total value of the Convertible Reserved Instance. +type ReservedInstanceReservationValue struct { + _ struct{} `type:"structure"` + + // The total value of the Convertible Reserved Instance that you are exchanging. + ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"` + + // The ID of the Convertible Reserved Instance that you are exchanging. + ReservedInstanceId *string `locationName:"reservedInstanceId" type:"string"` +} + +// String returns the string representation +func (s ReservedInstanceReservationValue) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReservedInstanceReservationValue) GoString() string { + return s.String() +} + // Describes a Reserved Instance. type ReservedInstances struct { _ struct{} `type:"structure"` @@ -23444,6 +32321,9 @@ type ReservedInstances struct { // The instance type on which the Reserved Instance can be used. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"` + // The offering class of the Reserved Instance. + OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"` + // The Reserved Instance offering type. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"` @@ -23456,6 +32336,9 @@ type ReservedInstances struct { // The ID of the Reserved Instance. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"` + // The scope of the Reserved Instance. + Scope *string `locationName:"scope" type:"string" enum:"scope"` + // The date and time the Reserved Instance started. Start *time.Time `locationName:"start" type:"timestamp" timestampFormat:"iso8601"` @@ -23495,6 +32378,9 @@ type ReservedInstancesConfiguration struct { // The network platform of the modified Reserved Instances, which is either // EC2-Classic or EC2-VPC. Platform *string `locationName:"platform" type:"string"` + + // Whether the Reserved Instance is standard or convertible. + Scope *string `locationName:"scope" type:"string" enum:"scope"` } // String returns the string representation @@ -23668,6 +32554,11 @@ type ReservedInstancesOffering struct { // this is true. Marketplace *bool `locationName:"marketplace" type:"boolean"` + // If convertible it can be exchanged for Reserved Instances of the same or + // higher monetary value, with different configurations. If standard, it is + // not possible to perform an exchange. + OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"` + // The Reserved Instance offering type. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"` @@ -23680,9 +32571,14 @@ type ReservedInstancesOffering struct { // The recurring charge tag assigned to the resource. RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"` - // The ID of the Reserved Instance offering. + // The ID of the Reserved Instance offering. This is the offering ID used in + // GetReservedInstancesExchangeQuote to confirm that an exchange can be made. ReservedInstancesOfferingId *string `locationName:"reservedInstancesOfferingId" type:"string"` + // Whether the Reserved Instance is applied to instances in a region or an Availability + // Zone. + Scope *string `locationName:"scope" type:"string" enum:"scope"` + // The usage price of the Reserved Instance, per hour. UsagePrice *float64 `locationName:"usagePrice" type:"float"` } @@ -23703,6 +32599,8 @@ type ResetImageAttributeInput struct { // The attribute to reset (currently you can only reset the launch permission // attribute). + // + // Attribute is a required field Attribute *string `type:"string" required:"true" enum:"ResetImageAttributeName"` // Checks whether you have the required permissions for the action, without @@ -23712,6 +32610,8 @@ type ResetImageAttributeInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the AMI. + // + // ImageId is a required field ImageId *string `type:"string" required:"true"` } @@ -23760,6 +32660,11 @@ type ResetInstanceAttributeInput struct { _ struct{} `type:"structure"` // The attribute to reset. + // + // You can only reset the following attributes: kernel | ramdisk | sourceDestCheck. + // To change an instance attribute, use ModifyInstanceAttribute. + // + // Attribute is a required field Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"` // Checks whether you have the required permissions for the action, without @@ -23769,6 +32674,8 @@ type ResetInstanceAttributeInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the instance. + // + // InstanceId is a required field InstanceId *string `locationName:"instanceId" type:"string" required:"true"` } @@ -23823,6 +32730,8 @@ type ResetNetworkInterfaceAttributeInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the network interface. + // + // NetworkInterfaceId is a required field NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"` // The source/destination checking attribute. Resets the value to true. @@ -23872,6 +32781,8 @@ type ResetSnapshotAttributeInput struct { // The attribute to reset. Currently, only the attribute for permission to create // volumes can be reset. + // + // Attribute is a required field Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"` // Checks whether you have the required permissions for the action, without @@ -23881,6 +32792,8 @@ type ResetSnapshotAttributeInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The ID of the snapshot. + // + // SnapshotId is a required field SnapshotId *string `type:"string" required:"true"` } @@ -23935,6 +32848,8 @@ type RestoreAddressToClassicInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // The Elastic IP address. + // + // PublicIp is a required field PublicIp *string `locationName:"publicIp" type:"string" required:"true"` } @@ -24001,6 +32916,8 @@ type RevokeSecurityGroupEgressInput struct { FromPort *int64 `locationName:"fromPort" type:"integer"` // The ID of the security group. + // + // GroupId is a required field GroupId *string `locationName:"groupId" type:"string" required:"true"` // A set of IP permissions. You can't specify a destination security group and @@ -24168,12 +33085,12 @@ type Route struct { // Describes how the route was created. // - // CreateRouteTable - The route was automatically created when the route table - // was created. + // CreateRouteTable - The route was automatically created when the route + // table was created. // - // CreateRoute - The route was manually added to the route table. + // CreateRoute - The route was manually added to the route table. // - // EnableVgwRoutePropagation - The route was propagated by route propagation. + // EnableVgwRoutePropagation - The route was propagated by route propagation. Origin *string `locationName:"origin" type:"string" enum:"RouteOrigin"` // The state of the route. The blackhole state indicates that the route's target @@ -24263,6 +33180,12 @@ type RunInstancesInput struct { AdditionalInfo *string `locationName:"additionalInfo" type:"string"` // The block device mapping. + // + // Supplying both a snapshot ID and an encryption value as arguments for block-device + // mapping results in an error. This is because only blank volumes can be encrypted + // on start, and these are not created from a snapshot. If a snapshot is the + // basis for the volume, it contains data by definition and its encryption status + // cannot be changed using this action. BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"` // Unique, case-sensitive identifier you provide to ensure the idempotency of @@ -24301,6 +33224,8 @@ type RunInstancesInput struct { IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"` // The ID of the AMI, which you can get by calling DescribeImages. + // + // ImageId is a required field ImageId *string `type:"string" required:"true"` // Indicates whether an instance stops or terminates when you initiate shutdown @@ -24337,6 +33262,8 @@ type RunInstancesInput struct { // instance type. For more information about the default limits, and how to // request an increase, see How many instances can I run in Amazon EC2 (http://aws.amazon.com/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2) // in the Amazon EC2 FAQ. + // + // MaxCount is a required field MaxCount *int64 `type:"integer" required:"true"` // The minimum number of instances to launch. If you specify a minimum that @@ -24347,6 +33274,8 @@ type RunInstancesInput struct { // instance type. For more information about the default limits, and how to // request an increase, see How many instances can I run in Amazon EC2 (http://aws.amazon.com/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2) // in the Amazon EC2 General FAQ. + // + // MinCount is a required field MinCount *int64 `type:"integer" required:"true"` // The monitoring for the instance. @@ -24365,6 +33294,9 @@ type RunInstancesInput struct { // can't specify this parameter if PrivateIpAddresses.n.Primary is set to true // and PrivateIpAddresses.n.PrivateIpAddress is set to an IP address. // + // You cannot specify this option if you're launching more than one instance + // in the request. + // // Default: We select an IP address from the IP address range of the subnet. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"` @@ -24389,13 +33321,12 @@ type RunInstancesInput struct { // [EC2-VPC] The ID of the subnet to launch the instance into. SubnetId *string `type:"string"` - // Data to configure the instance, or a script to run during instance launch. - // For more information, see Running Commands on Your Linux Instance at Launch - // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) (Linux) - // and Adding User Data (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data) - // (Windows). For API calls, the text must be base64-encoded. For command line - // tools, the encoding is performed for you, and you can load the text from - // a file. + // The user data to make available to the instance. For more information, see + // Running Commands on Your Linux Instance at Launch (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) + // (Linux) and Adding User Data (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data) + // (Windows). 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 + // must provide Base64-encoded text. UserData *string `type:"string"` } @@ -24448,6 +33379,8 @@ type RunInstancesMonitoringEnabled struct { _ struct{} `type:"structure"` // Indicates whether monitoring is enabled for the instance. + // + // Enabled is a required field Enabled *bool `locationName:"enabled" type:"boolean" required:"true"` } @@ -24493,10 +33426,15 @@ type RunScheduledInstancesInput struct { // Default: 1 InstanceCount *int64 `type:"integer"` - // The launch specification. + // The launch specification. You must match the instance type, Availability + // Zone, network, and platform of the schedule that you purchased. + // + // LaunchSpecification is a required field LaunchSpecification *ScheduledInstancesLaunchSpecification `type:"structure" required:"true"` // The Scheduled Instance ID. + // + // ScheduledInstanceId is a required field ScheduledInstanceId *string `type:"string" required:"true"` } @@ -24567,14 +33505,13 @@ type S3Storage struct { // The beginning of the file name of the AMI. Prefix *string `locationName:"prefix" type:"string"` - // A base64-encoded Amazon S3 upload policy that gives Amazon EC2 permission - // to upload items into Amazon S3 on your behalf. For command line tools, base64 - // encoding is performed for you. + // An Amazon S3 upload policy that gives Amazon EC2 permission to upload items + // into Amazon S3 on your behalf. // // UploadPolicy is automatically base64 encoded/decoded by the SDK. UploadPolicy []byte `locationName:"uploadPolicy" type:"blob"` - // The signature of the Base64 encoded JSON document. + // The signature of the JSON document. UploadPolicySignature *string `locationName:"uploadPolicySignature" type:"string"` } @@ -24909,6 +33846,8 @@ type ScheduledInstancesLaunchSpecification struct { IamInstanceProfile *ScheduledInstancesIamInstanceProfile `type:"structure"` // The ID of the Amazon Machine Image (AMI). + // + // ImageId is a required field ImageId *string `type:"string" required:"true"` // The instance type. @@ -25114,17 +34053,49 @@ func (s SecurityGroup) GoString() string { return s.String() } +// Describes a VPC with a security group that references your security group. +type SecurityGroupReference struct { + _ struct{} `type:"structure"` + + // The ID of your security group. + // + // GroupId is a required field + GroupId *string `locationName:"groupId" type:"string" required:"true"` + + // The ID of the VPC with the referencing security group. + // + // ReferencingVpcId is a required field + ReferencingVpcId *string `locationName:"referencingVpcId" type:"string" required:"true"` + + // The ID of the VPC peering connection. + VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"` +} + +// String returns the string representation +func (s SecurityGroupReference) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SecurityGroupReference) GoString() string { + return s.String() +} + // Describes the time period for a Scheduled Instance to start its first schedule. // The time period must span less than one day. type SlotDateTimeRangeRequest struct { _ struct{} `type:"structure"` // The earliest date and time, in UTC, for the Scheduled Instance to start. + // + // EarliestTime is a required field EarliestTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // The latest date and time, in UTC, for the Scheduled Instance to start. This // value must be later than or equal to the earliest date and at most three // months in the future. + // + // LatestTime is a required field LatestTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` } @@ -25198,8 +34169,9 @@ type Snapshot struct { // volume. KmsKeyId *string `locationName:"kmsKeyId" type:"string"` - // The AWS account alias (for example, amazon, self) or AWS account ID that - // owns the snapshot. + // Value from an Amazon-maintained list (amazon | aws-marketplace | microsoft) + // of snapshot owners. Not to be confused with the user-configured AWS account + // alias, which is set from the IAM console. OwnerAlias *string `locationName:"ownerAlias" type:"string"` // The AWS account ID of the EBS snapshot owner. @@ -25228,7 +34200,9 @@ type Snapshot struct { // Any tags assigned to the snapshot. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` - // The ID of the volume that was used to create the snapshot. + // The ID of the volume that was used to create the snapshot. Snapshots created + // by the CopySnapshot action have an arbitrary volume ID that should not be + // used for any purpose. VolumeId *string `locationName:"volumeId" type:"string"` // The size of the volume, in GiB. @@ -25453,7 +34427,9 @@ type SpotFleetLaunchSpecification struct { // subnets, separate them using commas; for example, "subnet-a61dafcf, subnet-65ea5f08". SubnetId *string `locationName:"subnetId" type:"string"` - // The Base64-encoded MIME user data to make available to the instances. + // The user data to make available to the instances. 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 must provide Base64-encoded text. UserData *string `locationName:"userData" type:"string"` // The number of units provided by the specified instance type. These are the @@ -25520,16 +34496,31 @@ func (s SpotFleetMonitoring) GoString() string { type SpotFleetRequestConfig struct { _ struct{} `type:"structure"` + // The progress of the Spot fleet request. If there is an error, the status + // is error. After all bids are placed, the status is pending_fulfillment. If + // the size of the fleet is equal to or greater than its target capacity, the + // status is fulfilled. If the size of the fleet is decreased, the status is + // pending_termination while Spot instances are terminating. + ActivityStatus *string `locationName:"activityStatus" type:"string" enum:"ActivityStatus"` + // The creation date and time of the request. + // + // CreateTime is a required field CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` // Information about the configuration of the Spot fleet request. + // + // SpotFleetRequestConfig is a required field SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"` // The ID of the Spot fleet request. + // + // SpotFleetRequestId is a required field SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"` // The state of the Spot fleet request. + // + // SpotFleetRequestState is a required field SpotFleetRequestState *string `locationName:"spotFleetRequestState" type:"string" required:"true" enum:"BatchState"` } @@ -25561,26 +34552,48 @@ type SpotFleetRequestConfigData struct { // the Spot fleet. ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"` + // The number of units fulfilled by this request compared to the set target + // capacity. + FulfilledCapacity *float64 `locationName:"fulfilledCapacity" type:"double"` + // Grants the Spot fleet permission to terminate Spot instances on your behalf // when you cancel its Spot fleet request using CancelSpotFleetRequests or when // the Spot fleet request expires, if you set terminateInstancesWithExpiration. + // + // IamFleetRole is a required field IamFleetRole *string `locationName:"iamFleetRole" type:"string" required:"true"` // Information about the launch specifications for the Spot fleet request. + // + // LaunchSpecifications is a required field LaunchSpecifications []*SpotFleetLaunchSpecification `locationName:"launchSpecifications" locationNameList:"item" min:"1" type:"list" required:"true"` // The bid price per unit hour. + // + // SpotPrice is a required field SpotPrice *string `locationName:"spotPrice" type:"string" required:"true"` // The number of units to request. You can choose to set the target capacity // in terms of instances or a performance characteristic that is important to // your application workload, such as vCPUs, memory, or I/O. + // + // TargetCapacity is a required field TargetCapacity *int64 `locationName:"targetCapacity" type:"integer" required:"true"` // Indicates whether running Spot instances should be terminated when the Spot // fleet request expires. TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"` + // The type of request. Indicates whether the fleet will only request the target + // capacity or also attempt to maintain it. When you request a certain target + // capacity, the fleet will only place the required bids. It will not attempt + // to replenish Spot instances if capacity is diminished, nor will it submit + // bids in alternative Spot pools if capacity is not available. When you want + // to maintain a certain target capacity, fleet will place the required bids + // to meet this target capacity. It will also automatically replenish any interrupted + // instances. Default: maintain. + Type *string `locationName:"type" type:"string" enum:"FleetType"` + // The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). // The default is to start fulfilling the request immediately. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"` @@ -25821,6 +34834,79 @@ func (s SpotPrice) GoString() string { return s.String() } +// Describes a stale rule in a security group. +type StaleIpPermission struct { + _ struct{} `type:"structure"` + + // The start of the port range for the TCP and UDP protocols, or an ICMP type + // number. A value of -1 indicates all ICMP types. + FromPort *int64 `locationName:"fromPort" type:"integer"` + + // The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers) + // (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml). + IpProtocol *string `locationName:"ipProtocol" type:"string"` + + // One or more IP ranges. Not applicable for stale security group rules. + IpRanges []*string `locationName:"ipRanges" locationNameList:"item" type:"list"` + + // One or more prefix list IDs for an AWS service. Not applicable for stale + // security group rules. + PrefixListIds []*string `locationName:"prefixListIds" locationNameList:"item" type:"list"` + + // The end of the port range for the TCP and UDP protocols, or an ICMP type + // number. A value of -1 indicates all ICMP types. + ToPort *int64 `locationName:"toPort" type:"integer"` + + // One or more security group pairs. Returns the ID of the referenced security + // group and VPC, and the ID and status of the VPC peering connection. + UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s StaleIpPermission) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StaleIpPermission) GoString() string { + return s.String() +} + +// Describes a stale security group (a security group that contains stale rules). +type StaleSecurityGroup struct { + _ struct{} `type:"structure"` + + // The description of the security group. + Description *string `locationName:"description" type:"string"` + + // The ID of the security group. + // + // GroupId is a required field + GroupId *string `locationName:"groupId" type:"string" required:"true"` + + // The name of the security group. + GroupName *string `locationName:"groupName" type:"string"` + + // Information about the stale inbound rules in the security group. + StaleIpPermissions []*StaleIpPermission `locationName:"staleIpPermissions" locationNameList:"item" type:"list"` + + // Information about the stale outbound rules in the security group. + StaleIpPermissionsEgress []*StaleIpPermission `locationName:"staleIpPermissionsEgress" locationNameList:"item" type:"list"` + + // The ID of the VPC for the security group. + VpcId *string `locationName:"vpcId" type:"string"` +} + +// String returns the string representation +func (s StaleSecurityGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StaleSecurityGroup) GoString() string { + return s.String() +} + // Contains the parameters for StartInstances. type StartInstancesInput struct { _ struct{} `type:"structure"` @@ -25835,6 +34921,8 @@ type StartInstancesInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // One or more instance IDs. + // + // InstanceIds is a required field InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"` } @@ -25888,28 +34976,29 @@ type StateReason struct { // The message for the state change. // - // Server.SpotInstanceTermination: A Spot instance was terminated due to an - // increase in the market price. + // Server.SpotInstanceTermination: A Spot instance was terminated due to + // an increase in the market price. // - // Server.InternalError: An internal error occurred during instance launch, + // Server.InternalError: An internal error occurred during instance launch, // resulting in termination. // - // Server.InsufficientInstanceCapacity: There was insufficient instance capacity - // to satisfy the launch request. + // Server.InsufficientInstanceCapacity: There was insufficient instance + // capacity to satisfy the launch request. // - // Client.InternalError: A client error caused the instance to terminate on - // launch. + // Client.InternalError: A client error caused the instance to terminate + // on launch. // - // Client.InstanceInitiatedShutdown: The instance was shut down using the shutdown - // -h command from the instance. + // Client.InstanceInitiatedShutdown: The instance was shut down using the + // shutdown -h command from the instance. // - // Client.UserInitiatedShutdown: The instance was shut down using the Amazon + // Client.UserInitiatedShutdown: The instance was shut down using the Amazon // EC2 API. // - // Client.VolumeLimitExceeded: The limit on the number of EBS volumes or total - // storage was exceeded. Decrease usage or request an increase in your limits. + // Client.VolumeLimitExceeded: The limit on the number of EBS volumes or + // total storage was exceeded. Decrease usage or request an increase in your + // limits. // - // Client.InvalidSnapshot.NotFound: The specified snapshot was not found. + // Client.InvalidSnapshot.NotFound: The specified snapshot was not found. Message *string `locationName:"message" type:"string"` } @@ -25942,6 +35031,8 @@ type StopInstancesInput struct { Force *bool `locationName:"force" type:"boolean"` // One or more instance IDs. + // + // InstanceIds is a required field InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"` } @@ -26101,6 +35192,91 @@ func (s TagDescription) GoString() string { return s.String() } +// Information about the Convertible Reserved Instance offering. +type TargetConfiguration struct { + _ struct{} `type:"structure"` + + // The number of instances the Convertible Reserved Instance offering can be + // applied to. This parameter is reserved and cannot be specified in a request + InstanceCount *int64 `locationName:"instanceCount" type:"integer"` + + // The ID of the Convertible Reserved Instance offering. + OfferingId *string `locationName:"offeringId" type:"string"` +} + +// String returns the string representation +func (s TargetConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TargetConfiguration) GoString() string { + return s.String() +} + +// Details about the target configuration. +type TargetConfigurationRequest struct { + _ struct{} `type:"structure"` + + // The number of instances the Covertible Reserved Instance offering can be + // applied to. This parameter is reserved and cannot be specified in a request + InstanceCount *int64 `type:"integer"` + + // The Convertible Reserved Instance offering ID. If this isn't included in + // the request, the response lists your current Convertible Reserved Instance/s + // and their value/s. + // + // OfferingId is a required field + OfferingId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s TargetConfigurationRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TargetConfigurationRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TargetConfigurationRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TargetConfigurationRequest"} + if s.OfferingId == nil { + invalidParams.Add(request.NewErrParamRequired("OfferingId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The total value of the new Convertible Reserved Instances. +type TargetReservationValue struct { + _ struct{} `type:"structure"` + + // The total value of the Convertible Reserved Instances that make up the exchange. + // This is the sum of the list value, remaining upfront price, and additional + // upfront cost of the exchange. + ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"` + + // The configuration of the Convertible Reserved Instances that make up the + // exchange. + TargetConfiguration *TargetConfiguration `locationName:"targetConfiguration" type:"structure"` +} + +// String returns the string representation +func (s TargetReservationValue) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TargetReservationValue) GoString() string { + return s.String() +} + // Contains the parameters for TerminateInstances. type TerminateInstancesInput struct { _ struct{} `type:"structure"` @@ -26112,6 +35288,11 @@ type TerminateInstancesInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // One or more instance IDs. + // + // Constraints: Up to 1000 instance IDs. We recommend breaking up this request + // into smaller batches. + // + // InstanceIds is a required field InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"` } @@ -26161,10 +35342,14 @@ type UnassignPrivateIpAddressesInput struct { _ struct{} `type:"structure"` // The ID of the network interface. + // + // NetworkInterfaceId is a required field NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"` // The secondary private IP addresses to unassign from the network interface. // You can specify this option multiple times to unassign more than one IP address. + // + // PrivateIpAddresses is a required field PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list" required:"true"` } @@ -26219,6 +35404,8 @@ type UnmonitorInstancesInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // One or more instance IDs. + // + // InstanceIds is a required field InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"` } @@ -26268,6 +35455,8 @@ type UnsuccessfulItem struct { _ struct{} `type:"structure"` // Information about the error. + // + // Error is a required field Error *UnsuccessfulItemError `locationName:"error" type:"structure" required:"true"` // The ID of the resource. @@ -26290,9 +35479,13 @@ type UnsuccessfulItemError struct { _ struct{} `type:"structure"` // The error code. + // + // Code is a required field Code *string `locationName:"code" type:"string" required:"true"` // The error message accompanying the error code. + // + // Message is a required field Message *string `locationName:"message" type:"string" required:"true"` } @@ -26348,11 +35541,13 @@ func (s UserBucketDetails) GoString() string { return s.String() } -// Describes the user data to be made available to an instance. +// Describes the user data for an instance. type UserData struct { _ struct{} `type:"structure"` - // The Base64-encoded MIME user data for the instance. + // 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 + // must provide Base64-encoded text. Data *string `locationName:"data" type:"string"` } @@ -26381,7 +35576,8 @@ type UserIdGroupPair struct { // The status of a VPC peering connection, if applicable. PeeringStatus *string `locationName:"peeringStatus" type:"string"` - // The ID of an AWS account. + // The ID of an AWS account. For a referenced security group in another VPC, + // the account ID of the referenced security group is returned. // // [EC2-Classic] Required when adding or removing rules that reference a security // group in another AWS account. @@ -26539,6 +35735,8 @@ type VolumeDetail struct { _ struct{} `type:"structure"` // The size of the volume, in GiB. + // + // Size is a required field Size *int64 `locationName:"size" type:"long" required:"true"` } @@ -26816,9 +36014,9 @@ func (s VpcEndpoint) GoString() string { type VpcPeeringConnection struct { _ struct{} `type:"structure"` - // Information about the peer VPC. CIDR block information is not returned when - // creating a VPC peering connection, or when describing a VPC peering connection - // that's in the initiating-request or pending-acceptance state. + // Information about the accepter VPC. CIDR block information is not returned + // when creating a VPC peering connection, or when describing a VPC peering + // connection that's in the initiating-request or pending-acceptance state. AccepterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"accepterVpcInfo" type:"structure"` // The time that an unaccepted VPC peering connection will expire. @@ -26851,6 +36049,10 @@ func (s VpcPeeringConnection) GoString() string { type VpcPeeringConnectionOptionsDescription struct { _ struct{} `type:"structure"` + // Indicates whether a local VPC can resolve public DNS hostnames to private + // IP addresses when queried from instances in a peer VPC. + AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"` + // Indicates whether a local ClassicLink connection can communicate with the // peer VPC over the VPC peering connection. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"` @@ -27064,965 +36266,1316 @@ func (s VpnStaticRoute) GoString() string { } const ( - // @enum AccountAttributeName + // AccountAttributeNameSupportedPlatforms is a AccountAttributeName enum value AccountAttributeNameSupportedPlatforms = "supported-platforms" - // @enum AccountAttributeName + + // AccountAttributeNameDefaultVpc is a AccountAttributeName enum value AccountAttributeNameDefaultVpc = "default-vpc" ) const ( - // @enum Affinity + // ActivityStatusError is a ActivityStatus enum value + ActivityStatusError = "error" + + // ActivityStatusPendingFulfillment is a ActivityStatus enum value + ActivityStatusPendingFulfillment = "pending_fulfillment" + + // ActivityStatusPendingTermination is a ActivityStatus enum value + ActivityStatusPendingTermination = "pending_termination" + + // ActivityStatusFulfilled is a ActivityStatus enum value + ActivityStatusFulfilled = "fulfilled" +) + +const ( + // AffinityDefault is a Affinity enum value AffinityDefault = "default" - // @enum Affinity + + // AffinityHost is a Affinity enum value AffinityHost = "host" ) const ( - // @enum AllocationState + // AllocationStateAvailable is a AllocationState enum value AllocationStateAvailable = "available" - // @enum AllocationState + + // AllocationStateUnderAssessment is a AllocationState enum value AllocationStateUnderAssessment = "under-assessment" - // @enum AllocationState + + // AllocationStatePermanentFailure is a AllocationState enum value AllocationStatePermanentFailure = "permanent-failure" - // @enum AllocationState + + // AllocationStateReleased is a AllocationState enum value AllocationStateReleased = "released" - // @enum AllocationState + + // AllocationStateReleasedPermanentFailure is a AllocationState enum value AllocationStateReleasedPermanentFailure = "released-permanent-failure" ) const ( - // @enum AllocationStrategy + // AllocationStrategyLowestPrice is a AllocationStrategy enum value AllocationStrategyLowestPrice = "lowestPrice" - // @enum AllocationStrategy + + // AllocationStrategyDiversified is a AllocationStrategy enum value AllocationStrategyDiversified = "diversified" ) const ( - // @enum ArchitectureValues + // ArchitectureValuesI386 is a ArchitectureValues enum value ArchitectureValuesI386 = "i386" - // @enum ArchitectureValues + + // ArchitectureValuesX8664 is a ArchitectureValues enum value ArchitectureValuesX8664 = "x86_64" ) const ( - // @enum AttachmentStatus + // AttachmentStatusAttaching is a AttachmentStatus enum value AttachmentStatusAttaching = "attaching" - // @enum AttachmentStatus + + // AttachmentStatusAttached is a AttachmentStatus enum value AttachmentStatusAttached = "attached" - // @enum AttachmentStatus + + // AttachmentStatusDetaching is a AttachmentStatus enum value AttachmentStatusDetaching = "detaching" - // @enum AttachmentStatus + + // AttachmentStatusDetached is a AttachmentStatus enum value AttachmentStatusDetached = "detached" ) const ( - // @enum AutoPlacement + // AutoPlacementOn is a AutoPlacement enum value AutoPlacementOn = "on" - // @enum AutoPlacement + + // AutoPlacementOff is a AutoPlacement enum value AutoPlacementOff = "off" ) const ( - // @enum AvailabilityZoneState + // AvailabilityZoneStateAvailable is a AvailabilityZoneState enum value AvailabilityZoneStateAvailable = "available" - // @enum AvailabilityZoneState + + // AvailabilityZoneStateInformation is a AvailabilityZoneState enum value AvailabilityZoneStateInformation = "information" - // @enum AvailabilityZoneState + + // AvailabilityZoneStateImpaired is a AvailabilityZoneState enum value AvailabilityZoneStateImpaired = "impaired" - // @enum AvailabilityZoneState + + // AvailabilityZoneStateUnavailable is a AvailabilityZoneState enum value AvailabilityZoneStateUnavailable = "unavailable" ) const ( - // @enum BatchState + // BatchStateSubmitted is a BatchState enum value BatchStateSubmitted = "submitted" - // @enum BatchState + + // BatchStateActive is a BatchState enum value BatchStateActive = "active" - // @enum BatchState + + // BatchStateCancelled is a BatchState enum value BatchStateCancelled = "cancelled" - // @enum BatchState + + // BatchStateFailed is a BatchState enum value BatchStateFailed = "failed" - // @enum BatchState + + // BatchStateCancelledRunning is a BatchState enum value BatchStateCancelledRunning = "cancelled_running" - // @enum BatchState + + // BatchStateCancelledTerminating is a BatchState enum value BatchStateCancelledTerminating = "cancelled_terminating" - // @enum BatchState + + // BatchStateModifying is a BatchState enum value BatchStateModifying = "modifying" ) const ( - // @enum BundleTaskState + // BundleTaskStatePending is a BundleTaskState enum value BundleTaskStatePending = "pending" - // @enum BundleTaskState + + // BundleTaskStateWaitingForShutdown is a BundleTaskState enum value BundleTaskStateWaitingForShutdown = "waiting-for-shutdown" - // @enum BundleTaskState + + // BundleTaskStateBundling is a BundleTaskState enum value BundleTaskStateBundling = "bundling" - // @enum BundleTaskState + + // BundleTaskStateStoring is a BundleTaskState enum value BundleTaskStateStoring = "storing" - // @enum BundleTaskState + + // BundleTaskStateCancelling is a BundleTaskState enum value BundleTaskStateCancelling = "cancelling" - // @enum BundleTaskState + + // BundleTaskStateComplete is a BundleTaskState enum value BundleTaskStateComplete = "complete" - // @enum BundleTaskState + + // BundleTaskStateFailed is a BundleTaskState enum value BundleTaskStateFailed = "failed" ) const ( - // @enum CancelBatchErrorCode + // CancelBatchErrorCodeFleetRequestIdDoesNotExist is a CancelBatchErrorCode enum value CancelBatchErrorCodeFleetRequestIdDoesNotExist = "fleetRequestIdDoesNotExist" - // @enum CancelBatchErrorCode + + // CancelBatchErrorCodeFleetRequestIdMalformed is a CancelBatchErrorCode enum value CancelBatchErrorCodeFleetRequestIdMalformed = "fleetRequestIdMalformed" - // @enum CancelBatchErrorCode + + // CancelBatchErrorCodeFleetRequestNotInCancellableState is a CancelBatchErrorCode enum value CancelBatchErrorCodeFleetRequestNotInCancellableState = "fleetRequestNotInCancellableState" - // @enum CancelBatchErrorCode + + // CancelBatchErrorCodeUnexpectedError is a CancelBatchErrorCode enum value CancelBatchErrorCodeUnexpectedError = "unexpectedError" ) const ( - // @enum CancelSpotInstanceRequestState + // CancelSpotInstanceRequestStateActive is a CancelSpotInstanceRequestState enum value CancelSpotInstanceRequestStateActive = "active" - // @enum CancelSpotInstanceRequestState + + // CancelSpotInstanceRequestStateOpen is a CancelSpotInstanceRequestState enum value CancelSpotInstanceRequestStateOpen = "open" - // @enum CancelSpotInstanceRequestState + + // CancelSpotInstanceRequestStateClosed is a CancelSpotInstanceRequestState enum value CancelSpotInstanceRequestStateClosed = "closed" - // @enum CancelSpotInstanceRequestState + + // CancelSpotInstanceRequestStateCancelled is a CancelSpotInstanceRequestState enum value CancelSpotInstanceRequestStateCancelled = "cancelled" - // @enum CancelSpotInstanceRequestState + + // CancelSpotInstanceRequestStateCompleted is a CancelSpotInstanceRequestState enum value CancelSpotInstanceRequestStateCompleted = "completed" ) const ( - // @enum ContainerFormat + // ContainerFormatOva is a ContainerFormat enum value ContainerFormatOva = "ova" ) const ( - // @enum ConversionTaskState + // ConversionTaskStateActive is a ConversionTaskState enum value ConversionTaskStateActive = "active" - // @enum ConversionTaskState + + // ConversionTaskStateCancelling is a ConversionTaskState enum value ConversionTaskStateCancelling = "cancelling" - // @enum ConversionTaskState + + // ConversionTaskStateCancelled is a ConversionTaskState enum value ConversionTaskStateCancelled = "cancelled" - // @enum ConversionTaskState + + // ConversionTaskStateCompleted is a ConversionTaskState enum value ConversionTaskStateCompleted = "completed" ) const ( - // @enum CurrencyCodeValues + // CurrencyCodeValuesUsd is a CurrencyCodeValues enum value CurrencyCodeValuesUsd = "USD" ) const ( - // @enum DatafeedSubscriptionState + // DatafeedSubscriptionStateActive is a DatafeedSubscriptionState enum value DatafeedSubscriptionStateActive = "Active" - // @enum DatafeedSubscriptionState + + // DatafeedSubscriptionStateInactive is a DatafeedSubscriptionState enum value DatafeedSubscriptionStateInactive = "Inactive" ) const ( - // @enum DeviceType + // DeviceTypeEbs is a DeviceType enum value DeviceTypeEbs = "ebs" - // @enum DeviceType + + // DeviceTypeInstanceStore is a DeviceType enum value DeviceTypeInstanceStore = "instance-store" ) const ( - // @enum DiskImageFormat + // DiskImageFormatVmdk is a DiskImageFormat enum value DiskImageFormatVmdk = "VMDK" - // @enum DiskImageFormat + + // DiskImageFormatRaw is a DiskImageFormat enum value DiskImageFormatRaw = "RAW" - // @enum DiskImageFormat + + // DiskImageFormatVhd is a DiskImageFormat enum value DiskImageFormatVhd = "VHD" ) const ( - // @enum DomainType + // DomainTypeVpc is a DomainType enum value DomainTypeVpc = "vpc" - // @enum DomainType + + // DomainTypeStandard is a DomainType enum value DomainTypeStandard = "standard" ) const ( - // @enum EventCode + // EventCodeInstanceReboot is a EventCode enum value EventCodeInstanceReboot = "instance-reboot" - // @enum EventCode + + // EventCodeSystemReboot is a EventCode enum value EventCodeSystemReboot = "system-reboot" - // @enum EventCode + + // EventCodeSystemMaintenance is a EventCode enum value EventCodeSystemMaintenance = "system-maintenance" - // @enum EventCode + + // EventCodeInstanceRetirement is a EventCode enum value EventCodeInstanceRetirement = "instance-retirement" - // @enum EventCode + + // EventCodeInstanceStop is a EventCode enum value EventCodeInstanceStop = "instance-stop" ) const ( - // @enum EventType + // EventTypeInstanceChange is a EventType enum value EventTypeInstanceChange = "instanceChange" - // @enum EventType + + // EventTypeFleetRequestChange is a EventType enum value EventTypeFleetRequestChange = "fleetRequestChange" - // @enum EventType + + // EventTypeError is a EventType enum value EventTypeError = "error" ) const ( - // @enum ExcessCapacityTerminationPolicy + // ExcessCapacityTerminationPolicyNoTermination is a ExcessCapacityTerminationPolicy enum value ExcessCapacityTerminationPolicyNoTermination = "noTermination" - // @enum ExcessCapacityTerminationPolicy + + // ExcessCapacityTerminationPolicyDefault is a ExcessCapacityTerminationPolicy enum value ExcessCapacityTerminationPolicyDefault = "default" ) const ( - // @enum ExportEnvironment + // ExportEnvironmentCitrix is a ExportEnvironment enum value ExportEnvironmentCitrix = "citrix" - // @enum ExportEnvironment + + // ExportEnvironmentVmware is a ExportEnvironment enum value ExportEnvironmentVmware = "vmware" - // @enum ExportEnvironment + + // ExportEnvironmentMicrosoft is a ExportEnvironment enum value ExportEnvironmentMicrosoft = "microsoft" ) const ( - // @enum ExportTaskState + // ExportTaskStateActive is a ExportTaskState enum value ExportTaskStateActive = "active" - // @enum ExportTaskState + + // ExportTaskStateCancelling is a ExportTaskState enum value ExportTaskStateCancelling = "cancelling" - // @enum ExportTaskState + + // ExportTaskStateCancelled is a ExportTaskState enum value ExportTaskStateCancelled = "cancelled" - // @enum ExportTaskState + + // ExportTaskStateCompleted is a ExportTaskState enum value ExportTaskStateCompleted = "completed" ) const ( - // @enum FlowLogsResourceType + // FleetTypeRequest is a FleetType enum value + FleetTypeRequest = "request" + + // FleetTypeMaintain is a FleetType enum value + FleetTypeMaintain = "maintain" +) + +const ( + // FlowLogsResourceTypeVpc is a FlowLogsResourceType enum value FlowLogsResourceTypeVpc = "VPC" - // @enum FlowLogsResourceType + + // FlowLogsResourceTypeSubnet is a FlowLogsResourceType enum value FlowLogsResourceTypeSubnet = "Subnet" - // @enum FlowLogsResourceType + + // FlowLogsResourceTypeNetworkInterface is a FlowLogsResourceType enum value FlowLogsResourceTypeNetworkInterface = "NetworkInterface" ) const ( - // @enum GatewayType + // GatewayTypeIpsec1 is a GatewayType enum value GatewayTypeIpsec1 = "ipsec.1" ) const ( - // @enum HostTenancy + // HostTenancyDedicated is a HostTenancy enum value HostTenancyDedicated = "dedicated" - // @enum HostTenancy + + // HostTenancyHost is a HostTenancy enum value HostTenancyHost = "host" ) const ( - // @enum HypervisorType + // HypervisorTypeOvm is a HypervisorType enum value HypervisorTypeOvm = "ovm" - // @enum HypervisorType + + // HypervisorTypeXen is a HypervisorType enum value HypervisorTypeXen = "xen" ) const ( - // @enum ImageAttributeName + // ImageAttributeNameDescription is a ImageAttributeName enum value ImageAttributeNameDescription = "description" - // @enum ImageAttributeName + + // ImageAttributeNameKernel is a ImageAttributeName enum value ImageAttributeNameKernel = "kernel" - // @enum ImageAttributeName + + // ImageAttributeNameRamdisk is a ImageAttributeName enum value ImageAttributeNameRamdisk = "ramdisk" - // @enum ImageAttributeName + + // ImageAttributeNameLaunchPermission is a ImageAttributeName enum value ImageAttributeNameLaunchPermission = "launchPermission" - // @enum ImageAttributeName + + // ImageAttributeNameProductCodes is a ImageAttributeName enum value ImageAttributeNameProductCodes = "productCodes" - // @enum ImageAttributeName + + // ImageAttributeNameBlockDeviceMapping is a ImageAttributeName enum value ImageAttributeNameBlockDeviceMapping = "blockDeviceMapping" - // @enum ImageAttributeName + + // ImageAttributeNameSriovNetSupport is a ImageAttributeName enum value ImageAttributeNameSriovNetSupport = "sriovNetSupport" ) const ( - // @enum ImageState + // ImageStatePending is a ImageState enum value ImageStatePending = "pending" - // @enum ImageState + + // ImageStateAvailable is a ImageState enum value ImageStateAvailable = "available" - // @enum ImageState + + // ImageStateInvalid is a ImageState enum value ImageStateInvalid = "invalid" - // @enum ImageState + + // ImageStateDeregistered is a ImageState enum value ImageStateDeregistered = "deregistered" - // @enum ImageState + + // ImageStateTransient is a ImageState enum value ImageStateTransient = "transient" - // @enum ImageState + + // ImageStateFailed is a ImageState enum value ImageStateFailed = "failed" - // @enum ImageState + + // ImageStateError is a ImageState enum value ImageStateError = "error" ) const ( - // @enum ImageTypeValues + // ImageTypeValuesMachine is a ImageTypeValues enum value ImageTypeValuesMachine = "machine" - // @enum ImageTypeValues + + // ImageTypeValuesKernel is a ImageTypeValues enum value ImageTypeValuesKernel = "kernel" - // @enum ImageTypeValues + + // ImageTypeValuesRamdisk is a ImageTypeValues enum value ImageTypeValuesRamdisk = "ramdisk" ) const ( - // @enum InstanceAttributeName + // InstanceAttributeNameInstanceType is a InstanceAttributeName enum value InstanceAttributeNameInstanceType = "instanceType" - // @enum InstanceAttributeName + + // InstanceAttributeNameKernel is a InstanceAttributeName enum value InstanceAttributeNameKernel = "kernel" - // @enum InstanceAttributeName + + // InstanceAttributeNameRamdisk is a InstanceAttributeName enum value InstanceAttributeNameRamdisk = "ramdisk" - // @enum InstanceAttributeName + + // InstanceAttributeNameUserData is a InstanceAttributeName enum value InstanceAttributeNameUserData = "userData" - // @enum InstanceAttributeName + + // InstanceAttributeNameDisableApiTermination is a InstanceAttributeName enum value InstanceAttributeNameDisableApiTermination = "disableApiTermination" - // @enum InstanceAttributeName + + // InstanceAttributeNameInstanceInitiatedShutdownBehavior is a InstanceAttributeName enum value InstanceAttributeNameInstanceInitiatedShutdownBehavior = "instanceInitiatedShutdownBehavior" - // @enum InstanceAttributeName + + // InstanceAttributeNameRootDeviceName is a InstanceAttributeName enum value InstanceAttributeNameRootDeviceName = "rootDeviceName" - // @enum InstanceAttributeName + + // InstanceAttributeNameBlockDeviceMapping is a InstanceAttributeName enum value InstanceAttributeNameBlockDeviceMapping = "blockDeviceMapping" - // @enum InstanceAttributeName + + // InstanceAttributeNameProductCodes is a InstanceAttributeName enum value InstanceAttributeNameProductCodes = "productCodes" - // @enum InstanceAttributeName + + // InstanceAttributeNameSourceDestCheck is a InstanceAttributeName enum value InstanceAttributeNameSourceDestCheck = "sourceDestCheck" - // @enum InstanceAttributeName + + // InstanceAttributeNameGroupSet is a InstanceAttributeName enum value InstanceAttributeNameGroupSet = "groupSet" - // @enum InstanceAttributeName + + // InstanceAttributeNameEbsOptimized is a InstanceAttributeName enum value InstanceAttributeNameEbsOptimized = "ebsOptimized" - // @enum InstanceAttributeName + + // InstanceAttributeNameSriovNetSupport is a InstanceAttributeName enum value InstanceAttributeNameSriovNetSupport = "sriovNetSupport" + + // InstanceAttributeNameEnaSupport is a InstanceAttributeName enum value + InstanceAttributeNameEnaSupport = "enaSupport" ) const ( - // @enum InstanceLifecycleType + // InstanceLifecycleTypeSpot is a InstanceLifecycleType enum value InstanceLifecycleTypeSpot = "spot" - // @enum InstanceLifecycleType + + // InstanceLifecycleTypeScheduled is a InstanceLifecycleType enum value InstanceLifecycleTypeScheduled = "scheduled" ) const ( - // @enum InstanceStateName + // InstanceStateNamePending is a InstanceStateName enum value InstanceStateNamePending = "pending" - // @enum InstanceStateName + + // InstanceStateNameRunning is a InstanceStateName enum value InstanceStateNameRunning = "running" - // @enum InstanceStateName + + // InstanceStateNameShuttingDown is a InstanceStateName enum value InstanceStateNameShuttingDown = "shutting-down" - // @enum InstanceStateName + + // InstanceStateNameTerminated is a InstanceStateName enum value InstanceStateNameTerminated = "terminated" - // @enum InstanceStateName + + // InstanceStateNameStopping is a InstanceStateName enum value InstanceStateNameStopping = "stopping" - // @enum InstanceStateName + + // InstanceStateNameStopped is a InstanceStateName enum value InstanceStateNameStopped = "stopped" ) const ( - // @enum InstanceType + // InstanceTypeT1Micro is a InstanceType enum value InstanceTypeT1Micro = "t1.micro" - // @enum InstanceType + + // InstanceTypeT2Nano is a InstanceType enum value + InstanceTypeT2Nano = "t2.nano" + + // InstanceTypeT2Micro is a InstanceType enum value + InstanceTypeT2Micro = "t2.micro" + + // InstanceTypeT2Small is a InstanceType enum value + InstanceTypeT2Small = "t2.small" + + // InstanceTypeT2Medium is a InstanceType enum value + InstanceTypeT2Medium = "t2.medium" + + // InstanceTypeT2Large is a InstanceType enum value + InstanceTypeT2Large = "t2.large" + + // InstanceTypeM1Small is a InstanceType enum value InstanceTypeM1Small = "m1.small" - // @enum InstanceType + + // InstanceTypeM1Medium is a InstanceType enum value InstanceTypeM1Medium = "m1.medium" - // @enum InstanceType + + // InstanceTypeM1Large is a InstanceType enum value InstanceTypeM1Large = "m1.large" - // @enum InstanceType + + // InstanceTypeM1Xlarge is a InstanceType enum value InstanceTypeM1Xlarge = "m1.xlarge" - // @enum InstanceType + + // InstanceTypeM3Medium is a InstanceType enum value InstanceTypeM3Medium = "m3.medium" - // @enum InstanceType + + // InstanceTypeM3Large is a InstanceType enum value InstanceTypeM3Large = "m3.large" - // @enum InstanceType + + // InstanceTypeM3Xlarge is a InstanceType enum value InstanceTypeM3Xlarge = "m3.xlarge" - // @enum InstanceType + + // InstanceTypeM32xlarge is a InstanceType enum value InstanceTypeM32xlarge = "m3.2xlarge" - // @enum InstanceType + + // InstanceTypeM4Large is a InstanceType enum value InstanceTypeM4Large = "m4.large" - // @enum InstanceType + + // InstanceTypeM4Xlarge is a InstanceType enum value InstanceTypeM4Xlarge = "m4.xlarge" - // @enum InstanceType + + // InstanceTypeM42xlarge is a InstanceType enum value InstanceTypeM42xlarge = "m4.2xlarge" - // @enum InstanceType + + // InstanceTypeM44xlarge is a InstanceType enum value InstanceTypeM44xlarge = "m4.4xlarge" - // @enum InstanceType + + // InstanceTypeM410xlarge is a InstanceType enum value InstanceTypeM410xlarge = "m4.10xlarge" - // @enum InstanceType - InstanceTypeT2Nano = "t2.nano" - // @enum InstanceType - InstanceTypeT2Micro = "t2.micro" - // @enum InstanceType - InstanceTypeT2Small = "t2.small" - // @enum InstanceType - InstanceTypeT2Medium = "t2.medium" - // @enum InstanceType - InstanceTypeT2Large = "t2.large" - // @enum InstanceType + + // InstanceTypeM416xlarge is a InstanceType enum value + InstanceTypeM416xlarge = "m4.16xlarge" + + // InstanceTypeM2Xlarge is a InstanceType enum value InstanceTypeM2Xlarge = "m2.xlarge" - // @enum InstanceType + + // InstanceTypeM22xlarge is a InstanceType enum value InstanceTypeM22xlarge = "m2.2xlarge" - // @enum InstanceType + + // InstanceTypeM24xlarge is a InstanceType enum value InstanceTypeM24xlarge = "m2.4xlarge" - // @enum InstanceType + + // InstanceTypeCr18xlarge is a InstanceType enum value InstanceTypeCr18xlarge = "cr1.8xlarge" - // @enum InstanceType + + // InstanceTypeR3Large is a InstanceType enum value + InstanceTypeR3Large = "r3.large" + + // InstanceTypeR3Xlarge is a InstanceType enum value + InstanceTypeR3Xlarge = "r3.xlarge" + + // InstanceTypeR32xlarge is a InstanceType enum value + InstanceTypeR32xlarge = "r3.2xlarge" + + // InstanceTypeR34xlarge is a InstanceType enum value + InstanceTypeR34xlarge = "r3.4xlarge" + + // InstanceTypeR38xlarge is a InstanceType enum value + InstanceTypeR38xlarge = "r3.8xlarge" + + // InstanceTypeX116xlarge is a InstanceType enum value + InstanceTypeX116xlarge = "x1.16xlarge" + + // InstanceTypeX132xlarge is a InstanceType enum value + InstanceTypeX132xlarge = "x1.32xlarge" + + // InstanceTypeI2Xlarge is a InstanceType enum value InstanceTypeI2Xlarge = "i2.xlarge" - // @enum InstanceType + + // InstanceTypeI22xlarge is a InstanceType enum value InstanceTypeI22xlarge = "i2.2xlarge" - // @enum InstanceType + + // InstanceTypeI24xlarge is a InstanceType enum value InstanceTypeI24xlarge = "i2.4xlarge" - // @enum InstanceType + + // InstanceTypeI28xlarge is a InstanceType enum value InstanceTypeI28xlarge = "i2.8xlarge" - // @enum InstanceType + + // InstanceTypeHi14xlarge is a InstanceType enum value InstanceTypeHi14xlarge = "hi1.4xlarge" - // @enum InstanceType + + // InstanceTypeHs18xlarge is a InstanceType enum value InstanceTypeHs18xlarge = "hs1.8xlarge" - // @enum InstanceType + + // InstanceTypeC1Medium is a InstanceType enum value InstanceTypeC1Medium = "c1.medium" - // @enum InstanceType + + // InstanceTypeC1Xlarge is a InstanceType enum value InstanceTypeC1Xlarge = "c1.xlarge" - // @enum InstanceType + + // InstanceTypeC3Large is a InstanceType enum value InstanceTypeC3Large = "c3.large" - // @enum InstanceType + + // InstanceTypeC3Xlarge is a InstanceType enum value InstanceTypeC3Xlarge = "c3.xlarge" - // @enum InstanceType + + // InstanceTypeC32xlarge is a InstanceType enum value InstanceTypeC32xlarge = "c3.2xlarge" - // @enum InstanceType + + // InstanceTypeC34xlarge is a InstanceType enum value InstanceTypeC34xlarge = "c3.4xlarge" - // @enum InstanceType + + // InstanceTypeC38xlarge is a InstanceType enum value InstanceTypeC38xlarge = "c3.8xlarge" - // @enum InstanceType + + // InstanceTypeC4Large is a InstanceType enum value InstanceTypeC4Large = "c4.large" - // @enum InstanceType + + // InstanceTypeC4Xlarge is a InstanceType enum value InstanceTypeC4Xlarge = "c4.xlarge" - // @enum InstanceType + + // InstanceTypeC42xlarge is a InstanceType enum value InstanceTypeC42xlarge = "c4.2xlarge" - // @enum InstanceType + + // InstanceTypeC44xlarge is a InstanceType enum value InstanceTypeC44xlarge = "c4.4xlarge" - // @enum InstanceType + + // InstanceTypeC48xlarge is a InstanceType enum value InstanceTypeC48xlarge = "c4.8xlarge" - // @enum InstanceType + + // InstanceTypeCc14xlarge is a InstanceType enum value InstanceTypeCc14xlarge = "cc1.4xlarge" - // @enum InstanceType + + // InstanceTypeCc28xlarge is a InstanceType enum value InstanceTypeCc28xlarge = "cc2.8xlarge" - // @enum InstanceType + + // InstanceTypeG22xlarge is a InstanceType enum value InstanceTypeG22xlarge = "g2.2xlarge" - // @enum InstanceType + + // InstanceTypeG28xlarge is a InstanceType enum value InstanceTypeG28xlarge = "g2.8xlarge" - // @enum InstanceType + + // InstanceTypeCg14xlarge is a InstanceType enum value InstanceTypeCg14xlarge = "cg1.4xlarge" - // @enum InstanceType - InstanceTypeR3Large = "r3.large" - // @enum InstanceType - InstanceTypeR3Xlarge = "r3.xlarge" - // @enum InstanceType - InstanceTypeR32xlarge = "r3.2xlarge" - // @enum InstanceType - InstanceTypeR34xlarge = "r3.4xlarge" - // @enum InstanceType - InstanceTypeR38xlarge = "r3.8xlarge" - // @enum InstanceType + + // InstanceTypeP2Xlarge is a InstanceType enum value + InstanceTypeP2Xlarge = "p2.xlarge" + + // InstanceTypeP28xlarge is a InstanceType enum value + InstanceTypeP28xlarge = "p2.8xlarge" + + // InstanceTypeP216xlarge is a InstanceType enum value + InstanceTypeP216xlarge = "p2.16xlarge" + + // InstanceTypeD2Xlarge is a InstanceType enum value InstanceTypeD2Xlarge = "d2.xlarge" - // @enum InstanceType + + // InstanceTypeD22xlarge is a InstanceType enum value InstanceTypeD22xlarge = "d2.2xlarge" - // @enum InstanceType + + // InstanceTypeD24xlarge is a InstanceType enum value InstanceTypeD24xlarge = "d2.4xlarge" - // @enum InstanceType + + // InstanceTypeD28xlarge is a InstanceType enum value InstanceTypeD28xlarge = "d2.8xlarge" ) const ( - // @enum ListingState + // ListingStateAvailable is a ListingState enum value ListingStateAvailable = "available" - // @enum ListingState + + // ListingStateSold is a ListingState enum value ListingStateSold = "sold" - // @enum ListingState + + // ListingStateCancelled is a ListingState enum value ListingStateCancelled = "cancelled" - // @enum ListingState + + // ListingStatePending is a ListingState enum value ListingStatePending = "pending" ) const ( - // @enum ListingStatus + // ListingStatusActive is a ListingStatus enum value ListingStatusActive = "active" - // @enum ListingStatus + + // ListingStatusPending is a ListingStatus enum value ListingStatusPending = "pending" - // @enum ListingStatus + + // ListingStatusCancelled is a ListingStatus enum value ListingStatusCancelled = "cancelled" - // @enum ListingStatus + + // ListingStatusClosed is a ListingStatus enum value ListingStatusClosed = "closed" ) const ( - // @enum MonitoringState + // MonitoringStateDisabled is a MonitoringState enum value MonitoringStateDisabled = "disabled" - // @enum MonitoringState + + // MonitoringStateDisabling is a MonitoringState enum value MonitoringStateDisabling = "disabling" - // @enum MonitoringState + + // MonitoringStateEnabled is a MonitoringState enum value MonitoringStateEnabled = "enabled" - // @enum MonitoringState + + // MonitoringStatePending is a MonitoringState enum value MonitoringStatePending = "pending" ) const ( - // @enum MoveStatus + // MoveStatusMovingToVpc is a MoveStatus enum value MoveStatusMovingToVpc = "movingToVpc" - // @enum MoveStatus + + // MoveStatusRestoringToClassic is a MoveStatus enum value MoveStatusRestoringToClassic = "restoringToClassic" ) const ( - // @enum NatGatewayState + // NatGatewayStatePending is a NatGatewayState enum value NatGatewayStatePending = "pending" - // @enum NatGatewayState + + // NatGatewayStateFailed is a NatGatewayState enum value NatGatewayStateFailed = "failed" - // @enum NatGatewayState + + // NatGatewayStateAvailable is a NatGatewayState enum value NatGatewayStateAvailable = "available" - // @enum NatGatewayState + + // NatGatewayStateDeleting is a NatGatewayState enum value NatGatewayStateDeleting = "deleting" - // @enum NatGatewayState + + // NatGatewayStateDeleted is a NatGatewayState enum value NatGatewayStateDeleted = "deleted" ) const ( - // @enum NetworkInterfaceAttribute + // NetworkInterfaceAttributeDescription is a NetworkInterfaceAttribute enum value NetworkInterfaceAttributeDescription = "description" - // @enum NetworkInterfaceAttribute + + // NetworkInterfaceAttributeGroupSet is a NetworkInterfaceAttribute enum value NetworkInterfaceAttributeGroupSet = "groupSet" - // @enum NetworkInterfaceAttribute + + // NetworkInterfaceAttributeSourceDestCheck is a NetworkInterfaceAttribute enum value NetworkInterfaceAttributeSourceDestCheck = "sourceDestCheck" - // @enum NetworkInterfaceAttribute + + // NetworkInterfaceAttributeAttachment is a NetworkInterfaceAttribute enum value NetworkInterfaceAttributeAttachment = "attachment" ) const ( - // @enum NetworkInterfaceStatus + // NetworkInterfaceStatusAvailable is a NetworkInterfaceStatus enum value NetworkInterfaceStatusAvailable = "available" - // @enum NetworkInterfaceStatus + + // NetworkInterfaceStatusAttaching is a NetworkInterfaceStatus enum value NetworkInterfaceStatusAttaching = "attaching" - // @enum NetworkInterfaceStatus + + // NetworkInterfaceStatusInUse is a NetworkInterfaceStatus enum value NetworkInterfaceStatusInUse = "in-use" - // @enum NetworkInterfaceStatus + + // NetworkInterfaceStatusDetaching is a NetworkInterfaceStatus enum value NetworkInterfaceStatusDetaching = "detaching" ) const ( - // @enum NetworkInterfaceType + // NetworkInterfaceTypeInterface is a NetworkInterfaceType enum value NetworkInterfaceTypeInterface = "interface" - // @enum NetworkInterfaceType + + // NetworkInterfaceTypeNatGateway is a NetworkInterfaceType enum value NetworkInterfaceTypeNatGateway = "natGateway" ) const ( - // @enum OfferingTypeValues + // OfferingClassTypeStandard is a OfferingClassType enum value + OfferingClassTypeStandard = "standard" + + // OfferingClassTypeConvertible is a OfferingClassType enum value + OfferingClassTypeConvertible = "convertible" +) + +const ( + // OfferingTypeValuesHeavyUtilization is a OfferingTypeValues enum value OfferingTypeValuesHeavyUtilization = "Heavy Utilization" - // @enum OfferingTypeValues + + // OfferingTypeValuesMediumUtilization is a OfferingTypeValues enum value OfferingTypeValuesMediumUtilization = "Medium Utilization" - // @enum OfferingTypeValues + + // OfferingTypeValuesLightUtilization is a OfferingTypeValues enum value OfferingTypeValuesLightUtilization = "Light Utilization" - // @enum OfferingTypeValues + + // OfferingTypeValuesNoUpfront is a OfferingTypeValues enum value OfferingTypeValuesNoUpfront = "No Upfront" - // @enum OfferingTypeValues + + // OfferingTypeValuesPartialUpfront is a OfferingTypeValues enum value OfferingTypeValuesPartialUpfront = "Partial Upfront" - // @enum OfferingTypeValues + + // OfferingTypeValuesAllUpfront is a OfferingTypeValues enum value OfferingTypeValuesAllUpfront = "All Upfront" ) const ( - // @enum OperationType + // OperationTypeAdd is a OperationType enum value OperationTypeAdd = "add" - // @enum OperationType + + // OperationTypeRemove is a OperationType enum value OperationTypeRemove = "remove" ) const ( - // @enum PermissionGroup + // PaymentOptionAllUpfront is a PaymentOption enum value + PaymentOptionAllUpfront = "AllUpfront" + + // PaymentOptionPartialUpfront is a PaymentOption enum value + PaymentOptionPartialUpfront = "PartialUpfront" + + // PaymentOptionNoUpfront is a PaymentOption enum value + PaymentOptionNoUpfront = "NoUpfront" +) + +const ( + // PermissionGroupAll is a PermissionGroup enum value PermissionGroupAll = "all" ) const ( - // @enum PlacementGroupState + // PlacementGroupStatePending is a PlacementGroupState enum value PlacementGroupStatePending = "pending" - // @enum PlacementGroupState + + // PlacementGroupStateAvailable is a PlacementGroupState enum value PlacementGroupStateAvailable = "available" - // @enum PlacementGroupState + + // PlacementGroupStateDeleting is a PlacementGroupState enum value PlacementGroupStateDeleting = "deleting" - // @enum PlacementGroupState + + // PlacementGroupStateDeleted is a PlacementGroupState enum value PlacementGroupStateDeleted = "deleted" ) const ( - // @enum PlacementStrategy + // PlacementStrategyCluster is a PlacementStrategy enum value PlacementStrategyCluster = "cluster" ) const ( - // @enum PlatformValues + // PlatformValuesWindows is a PlatformValues enum value PlatformValuesWindows = "Windows" ) const ( - // @enum ProductCodeValues + // ProductCodeValuesDevpay is a ProductCodeValues enum value ProductCodeValuesDevpay = "devpay" - // @enum ProductCodeValues + + // ProductCodeValuesMarketplace is a ProductCodeValues enum value ProductCodeValuesMarketplace = "marketplace" ) const ( - // @enum RIProductDescription + // RIProductDescriptionLinuxUnix is a RIProductDescription enum value RIProductDescriptionLinuxUnix = "Linux/UNIX" - // @enum RIProductDescription + + // RIProductDescriptionLinuxUnixamazonVpc is a RIProductDescription enum value RIProductDescriptionLinuxUnixamazonVpc = "Linux/UNIX (Amazon VPC)" - // @enum RIProductDescription + + // RIProductDescriptionWindows is a RIProductDescription enum value RIProductDescriptionWindows = "Windows" - // @enum RIProductDescription + + // RIProductDescriptionWindowsAmazonVpc is a RIProductDescription enum value RIProductDescriptionWindowsAmazonVpc = "Windows (Amazon VPC)" ) const ( - // @enum RecurringChargeFrequency + // RecurringChargeFrequencyHourly is a RecurringChargeFrequency enum value RecurringChargeFrequencyHourly = "Hourly" ) const ( - // @enum ReportInstanceReasonCodes + // ReportInstanceReasonCodesInstanceStuckInState is a ReportInstanceReasonCodes enum value ReportInstanceReasonCodesInstanceStuckInState = "instance-stuck-in-state" - // @enum ReportInstanceReasonCodes + + // ReportInstanceReasonCodesUnresponsive is a ReportInstanceReasonCodes enum value ReportInstanceReasonCodesUnresponsive = "unresponsive" - // @enum ReportInstanceReasonCodes + + // ReportInstanceReasonCodesNotAcceptingCredentials is a ReportInstanceReasonCodes enum value ReportInstanceReasonCodesNotAcceptingCredentials = "not-accepting-credentials" - // @enum ReportInstanceReasonCodes + + // ReportInstanceReasonCodesPasswordNotAvailable is a ReportInstanceReasonCodes enum value ReportInstanceReasonCodesPasswordNotAvailable = "password-not-available" - // @enum ReportInstanceReasonCodes + + // ReportInstanceReasonCodesPerformanceNetwork is a ReportInstanceReasonCodes enum value ReportInstanceReasonCodesPerformanceNetwork = "performance-network" - // @enum ReportInstanceReasonCodes + + // ReportInstanceReasonCodesPerformanceInstanceStore is a ReportInstanceReasonCodes enum value ReportInstanceReasonCodesPerformanceInstanceStore = "performance-instance-store" - // @enum ReportInstanceReasonCodes + + // ReportInstanceReasonCodesPerformanceEbsVolume is a ReportInstanceReasonCodes enum value ReportInstanceReasonCodesPerformanceEbsVolume = "performance-ebs-volume" - // @enum ReportInstanceReasonCodes + + // ReportInstanceReasonCodesPerformanceOther is a ReportInstanceReasonCodes enum value ReportInstanceReasonCodesPerformanceOther = "performance-other" - // @enum ReportInstanceReasonCodes + + // ReportInstanceReasonCodesOther is a ReportInstanceReasonCodes enum value ReportInstanceReasonCodesOther = "other" ) const ( - // @enum ReportStatusType + // ReportStatusTypeOk is a ReportStatusType enum value ReportStatusTypeOk = "ok" - // @enum ReportStatusType + + // ReportStatusTypeImpaired is a ReportStatusType enum value ReportStatusTypeImpaired = "impaired" ) const ( - // @enum ReservedInstanceState + // ReservationStatePaymentPending is a ReservationState enum value + ReservationStatePaymentPending = "payment-pending" + + // ReservationStatePaymentFailed is a ReservationState enum value + ReservationStatePaymentFailed = "payment-failed" + + // ReservationStateActive is a ReservationState enum value + ReservationStateActive = "active" + + // ReservationStateRetired is a ReservationState enum value + ReservationStateRetired = "retired" +) + +const ( + // ReservedInstanceStatePaymentPending is a ReservedInstanceState enum value ReservedInstanceStatePaymentPending = "payment-pending" - // @enum ReservedInstanceState + + // ReservedInstanceStateActive is a ReservedInstanceState enum value ReservedInstanceStateActive = "active" - // @enum ReservedInstanceState + + // ReservedInstanceStatePaymentFailed is a ReservedInstanceState enum value ReservedInstanceStatePaymentFailed = "payment-failed" - // @enum ReservedInstanceState + + // ReservedInstanceStateRetired is a ReservedInstanceState enum value ReservedInstanceStateRetired = "retired" ) const ( - // @enum ResetImageAttributeName + // ResetImageAttributeNameLaunchPermission is a ResetImageAttributeName enum value ResetImageAttributeNameLaunchPermission = "launchPermission" ) const ( - // @enum ResourceType + // ResourceTypeCustomerGateway is a ResourceType enum value ResourceTypeCustomerGateway = "customer-gateway" - // @enum ResourceType + + // ResourceTypeDhcpOptions is a ResourceType enum value ResourceTypeDhcpOptions = "dhcp-options" - // @enum ResourceType + + // ResourceTypeImage is a ResourceType enum value ResourceTypeImage = "image" - // @enum ResourceType + + // ResourceTypeInstance is a ResourceType enum value ResourceTypeInstance = "instance" - // @enum ResourceType + + // ResourceTypeInternetGateway is a ResourceType enum value ResourceTypeInternetGateway = "internet-gateway" - // @enum ResourceType + + // ResourceTypeNetworkAcl is a ResourceType enum value ResourceTypeNetworkAcl = "network-acl" - // @enum ResourceType + + // ResourceTypeNetworkInterface is a ResourceType enum value ResourceTypeNetworkInterface = "network-interface" - // @enum ResourceType + + // ResourceTypeReservedInstances is a ResourceType enum value ResourceTypeReservedInstances = "reserved-instances" - // @enum ResourceType + + // ResourceTypeRouteTable is a ResourceType enum value ResourceTypeRouteTable = "route-table" - // @enum ResourceType + + // ResourceTypeSnapshot is a ResourceType enum value ResourceTypeSnapshot = "snapshot" - // @enum ResourceType + + // ResourceTypeSpotInstancesRequest is a ResourceType enum value ResourceTypeSpotInstancesRequest = "spot-instances-request" - // @enum ResourceType + + // ResourceTypeSubnet is a ResourceType enum value ResourceTypeSubnet = "subnet" - // @enum ResourceType + + // ResourceTypeSecurityGroup is a ResourceType enum value ResourceTypeSecurityGroup = "security-group" - // @enum ResourceType + + // ResourceTypeVolume is a ResourceType enum value ResourceTypeVolume = "volume" - // @enum ResourceType + + // ResourceTypeVpc is a ResourceType enum value ResourceTypeVpc = "vpc" - // @enum ResourceType + + // ResourceTypeVpnConnection is a ResourceType enum value ResourceTypeVpnConnection = "vpn-connection" - // @enum ResourceType + + // ResourceTypeVpnGateway is a ResourceType enum value ResourceTypeVpnGateway = "vpn-gateway" ) const ( - // @enum RouteOrigin + // RouteOriginCreateRouteTable is a RouteOrigin enum value RouteOriginCreateRouteTable = "CreateRouteTable" - // @enum RouteOrigin + + // RouteOriginCreateRoute is a RouteOrigin enum value RouteOriginCreateRoute = "CreateRoute" - // @enum RouteOrigin + + // RouteOriginEnableVgwRoutePropagation is a RouteOrigin enum value RouteOriginEnableVgwRoutePropagation = "EnableVgwRoutePropagation" ) const ( - // @enum RouteState + // RouteStateActive is a RouteState enum value RouteStateActive = "active" - // @enum RouteState + + // RouteStateBlackhole is a RouteState enum value RouteStateBlackhole = "blackhole" ) const ( - // @enum RuleAction + // RuleActionAllow is a RuleAction enum value RuleActionAllow = "allow" - // @enum RuleAction + + // RuleActionDeny is a RuleAction enum value RuleActionDeny = "deny" ) const ( - // @enum ShutdownBehavior + // ShutdownBehaviorStop is a ShutdownBehavior enum value ShutdownBehaviorStop = "stop" - // @enum ShutdownBehavior + + // ShutdownBehaviorTerminate is a ShutdownBehavior enum value ShutdownBehaviorTerminate = "terminate" ) const ( - // @enum SnapshotAttributeName + // SnapshotAttributeNameProductCodes is a SnapshotAttributeName enum value SnapshotAttributeNameProductCodes = "productCodes" - // @enum SnapshotAttributeName + + // SnapshotAttributeNameCreateVolumePermission is a SnapshotAttributeName enum value SnapshotAttributeNameCreateVolumePermission = "createVolumePermission" ) const ( - // @enum SnapshotState + // SnapshotStatePending is a SnapshotState enum value SnapshotStatePending = "pending" - // @enum SnapshotState + + // SnapshotStateCompleted is a SnapshotState enum value SnapshotStateCompleted = "completed" - // @enum SnapshotState + + // SnapshotStateError is a SnapshotState enum value SnapshotStateError = "error" ) const ( - // @enum SpotInstanceState + // SpotInstanceStateOpen is a SpotInstanceState enum value SpotInstanceStateOpen = "open" - // @enum SpotInstanceState + + // SpotInstanceStateActive is a SpotInstanceState enum value SpotInstanceStateActive = "active" - // @enum SpotInstanceState + + // SpotInstanceStateClosed is a SpotInstanceState enum value SpotInstanceStateClosed = "closed" - // @enum SpotInstanceState + + // SpotInstanceStateCancelled is a SpotInstanceState enum value SpotInstanceStateCancelled = "cancelled" - // @enum SpotInstanceState + + // SpotInstanceStateFailed is a SpotInstanceState enum value SpotInstanceStateFailed = "failed" ) const ( - // @enum SpotInstanceType + // SpotInstanceTypeOneTime is a SpotInstanceType enum value SpotInstanceTypeOneTime = "one-time" - // @enum SpotInstanceType + + // SpotInstanceTypePersistent is a SpotInstanceType enum value SpotInstanceTypePersistent = "persistent" ) const ( - // @enum State + // StatePending is a State enum value StatePending = "Pending" - // @enum State + + // StateAvailable is a State enum value StateAvailable = "Available" - // @enum State + + // StateDeleting is a State enum value StateDeleting = "Deleting" - // @enum State + + // StateDeleted is a State enum value StateDeleted = "Deleted" ) const ( - // @enum Status + // StatusMoveInProgress is a Status enum value StatusMoveInProgress = "MoveInProgress" - // @enum Status + + // StatusInVpc is a Status enum value StatusInVpc = "InVpc" - // @enum Status + + // StatusInClassic is a Status enum value StatusInClassic = "InClassic" ) const ( - // @enum StatusName + // StatusNameReachability is a StatusName enum value StatusNameReachability = "reachability" ) const ( - // @enum StatusType + // StatusTypePassed is a StatusType enum value StatusTypePassed = "passed" - // @enum StatusType + + // StatusTypeFailed is a StatusType enum value StatusTypeFailed = "failed" - // @enum StatusType + + // StatusTypeInsufficientData is a StatusType enum value StatusTypeInsufficientData = "insufficient-data" - // @enum StatusType + + // StatusTypeInitializing is a StatusType enum value StatusTypeInitializing = "initializing" ) const ( - // @enum SubnetState + // SubnetStatePending is a SubnetState enum value SubnetStatePending = "pending" - // @enum SubnetState + + // SubnetStateAvailable is a SubnetState enum value SubnetStateAvailable = "available" ) const ( - // @enum SummaryStatus + // SummaryStatusOk is a SummaryStatus enum value SummaryStatusOk = "ok" - // @enum SummaryStatus + + // SummaryStatusImpaired is a SummaryStatus enum value SummaryStatusImpaired = "impaired" - // @enum SummaryStatus + + // SummaryStatusInsufficientData is a SummaryStatus enum value SummaryStatusInsufficientData = "insufficient-data" - // @enum SummaryStatus + + // SummaryStatusNotApplicable is a SummaryStatus enum value SummaryStatusNotApplicable = "not-applicable" - // @enum SummaryStatus + + // SummaryStatusInitializing is a SummaryStatus enum value SummaryStatusInitializing = "initializing" ) const ( - // @enum TelemetryStatus + // TelemetryStatusUp is a TelemetryStatus enum value TelemetryStatusUp = "UP" - // @enum TelemetryStatus + + // TelemetryStatusDown is a TelemetryStatus enum value TelemetryStatusDown = "DOWN" ) const ( - // @enum Tenancy + // TenancyDefault is a Tenancy enum value TenancyDefault = "default" - // @enum Tenancy + + // TenancyDedicated is a Tenancy enum value TenancyDedicated = "dedicated" - // @enum Tenancy + + // TenancyHost is a Tenancy enum value TenancyHost = "host" ) const ( - // @enum TrafficType + // TrafficTypeAccept is a TrafficType enum value TrafficTypeAccept = "ACCEPT" - // @enum TrafficType + + // TrafficTypeReject is a TrafficType enum value TrafficTypeReject = "REJECT" - // @enum TrafficType + + // TrafficTypeAll is a TrafficType enum value TrafficTypeAll = "ALL" ) const ( - // @enum VirtualizationType + // VirtualizationTypeHvm is a VirtualizationType enum value VirtualizationTypeHvm = "hvm" - // @enum VirtualizationType + + // VirtualizationTypeParavirtual is a VirtualizationType enum value VirtualizationTypeParavirtual = "paravirtual" ) const ( - // @enum VolumeAttachmentState + // VolumeAttachmentStateAttaching is a VolumeAttachmentState enum value VolumeAttachmentStateAttaching = "attaching" - // @enum VolumeAttachmentState + + // VolumeAttachmentStateAttached is a VolumeAttachmentState enum value VolumeAttachmentStateAttached = "attached" - // @enum VolumeAttachmentState + + // VolumeAttachmentStateDetaching is a VolumeAttachmentState enum value VolumeAttachmentStateDetaching = "detaching" - // @enum VolumeAttachmentState + + // VolumeAttachmentStateDetached is a VolumeAttachmentState enum value VolumeAttachmentStateDetached = "detached" ) const ( - // @enum VolumeAttributeName + // VolumeAttributeNameAutoEnableIo is a VolumeAttributeName enum value VolumeAttributeNameAutoEnableIo = "autoEnableIO" - // @enum VolumeAttributeName + + // VolumeAttributeNameProductCodes is a VolumeAttributeName enum value VolumeAttributeNameProductCodes = "productCodes" ) const ( - // @enum VolumeState + // VolumeStateCreating is a VolumeState enum value VolumeStateCreating = "creating" - // @enum VolumeState + + // VolumeStateAvailable is a VolumeState enum value VolumeStateAvailable = "available" - // @enum VolumeState + + // VolumeStateInUse is a VolumeState enum value VolumeStateInUse = "in-use" - // @enum VolumeState + + // VolumeStateDeleting is a VolumeState enum value VolumeStateDeleting = "deleting" - // @enum VolumeState + + // VolumeStateDeleted is a VolumeState enum value VolumeStateDeleted = "deleted" - // @enum VolumeState + + // VolumeStateError is a VolumeState enum value VolumeStateError = "error" ) const ( - // @enum VolumeStatusInfoStatus + // VolumeStatusInfoStatusOk is a VolumeStatusInfoStatus enum value VolumeStatusInfoStatusOk = "ok" - // @enum VolumeStatusInfoStatus + + // VolumeStatusInfoStatusImpaired is a VolumeStatusInfoStatus enum value VolumeStatusInfoStatusImpaired = "impaired" - // @enum VolumeStatusInfoStatus + + // VolumeStatusInfoStatusInsufficientData is a VolumeStatusInfoStatus enum value VolumeStatusInfoStatusInsufficientData = "insufficient-data" ) const ( - // @enum VolumeStatusName + // VolumeStatusNameIoEnabled is a VolumeStatusName enum value VolumeStatusNameIoEnabled = "io-enabled" - // @enum VolumeStatusName + + // VolumeStatusNameIoPerformance is a VolumeStatusName enum value VolumeStatusNameIoPerformance = "io-performance" ) const ( - // @enum VolumeType + // VolumeTypeStandard is a VolumeType enum value VolumeTypeStandard = "standard" - // @enum VolumeType + + // VolumeTypeIo1 is a VolumeType enum value VolumeTypeIo1 = "io1" - // @enum VolumeType + + // VolumeTypeGp2 is a VolumeType enum value VolumeTypeGp2 = "gp2" - // @enum VolumeType + + // VolumeTypeSc1 is a VolumeType enum value VolumeTypeSc1 = "sc1" - // @enum VolumeType + + // VolumeTypeSt1 is a VolumeType enum value VolumeTypeSt1 = "st1" ) const ( - // @enum VpcAttributeName + // VpcAttributeNameEnableDnsSupport is a VpcAttributeName enum value VpcAttributeNameEnableDnsSupport = "enableDnsSupport" - // @enum VpcAttributeName + + // VpcAttributeNameEnableDnsHostnames is a VpcAttributeName enum value VpcAttributeNameEnableDnsHostnames = "enableDnsHostnames" ) const ( - // @enum VpcPeeringConnectionStateReasonCode + // VpcPeeringConnectionStateReasonCodeInitiatingRequest is a VpcPeeringConnectionStateReasonCode enum value VpcPeeringConnectionStateReasonCodeInitiatingRequest = "initiating-request" - // @enum VpcPeeringConnectionStateReasonCode + + // VpcPeeringConnectionStateReasonCodePendingAcceptance is a VpcPeeringConnectionStateReasonCode enum value VpcPeeringConnectionStateReasonCodePendingAcceptance = "pending-acceptance" - // @enum VpcPeeringConnectionStateReasonCode + + // VpcPeeringConnectionStateReasonCodeActive is a VpcPeeringConnectionStateReasonCode enum value VpcPeeringConnectionStateReasonCodeActive = "active" - // @enum VpcPeeringConnectionStateReasonCode + + // VpcPeeringConnectionStateReasonCodeDeleted is a VpcPeeringConnectionStateReasonCode enum value VpcPeeringConnectionStateReasonCodeDeleted = "deleted" - // @enum VpcPeeringConnectionStateReasonCode + + // VpcPeeringConnectionStateReasonCodeRejected is a VpcPeeringConnectionStateReasonCode enum value VpcPeeringConnectionStateReasonCodeRejected = "rejected" - // @enum VpcPeeringConnectionStateReasonCode + + // VpcPeeringConnectionStateReasonCodeFailed is a VpcPeeringConnectionStateReasonCode enum value VpcPeeringConnectionStateReasonCodeFailed = "failed" - // @enum VpcPeeringConnectionStateReasonCode + + // VpcPeeringConnectionStateReasonCodeExpired is a VpcPeeringConnectionStateReasonCode enum value VpcPeeringConnectionStateReasonCodeExpired = "expired" - // @enum VpcPeeringConnectionStateReasonCode + + // VpcPeeringConnectionStateReasonCodeProvisioning is a VpcPeeringConnectionStateReasonCode enum value VpcPeeringConnectionStateReasonCodeProvisioning = "provisioning" - // @enum VpcPeeringConnectionStateReasonCode + + // VpcPeeringConnectionStateReasonCodeDeleting is a VpcPeeringConnectionStateReasonCode enum value VpcPeeringConnectionStateReasonCodeDeleting = "deleting" ) const ( - // @enum VpcState + // VpcStatePending is a VpcState enum value VpcStatePending = "pending" - // @enum VpcState + + // VpcStateAvailable is a VpcState enum value VpcStateAvailable = "available" ) const ( - // @enum VpnState + // VpnStatePending is a VpnState enum value VpnStatePending = "pending" - // @enum VpnState + + // VpnStateAvailable is a VpnState enum value VpnStateAvailable = "available" - // @enum VpnState + + // VpnStateDeleting is a VpnState enum value VpnStateDeleting = "deleting" - // @enum VpnState + + // VpnStateDeleted is a VpnState enum value VpnStateDeleted = "deleted" ) const ( - // @enum VpnStaticRouteSource + // VpnStaticRouteSourceStatic is a VpnStaticRouteSource enum value VpnStaticRouteSourceStatic = "Static" ) + +const ( + // ScopeAvailabilityZone is a scope enum value + ScopeAvailabilityZone = "Availability Zone" + + // ScopeRegion is a scope enum value + ScopeRegion = "Region" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/waiters.go index e263b0cef65d..94fab6d847b9 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ec2/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/waiters.go @@ -6,6 +6,10 @@ import ( "github.com/aws/aws-sdk-go/private/waiter" ) +// WaitUntilBundleTaskComplete uses the Amazon EC2 API operation +// DescribeBundleTasks to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilBundleTaskComplete(input *DescribeBundleTasksInput) error { waiterCfg := waiter.Config{ Operation: "DescribeBundleTasks", @@ -35,6 +39,10 @@ func (c *EC2) WaitUntilBundleTaskComplete(input *DescribeBundleTasksInput) error return w.Wait() } +// WaitUntilConversionTaskCancelled uses the Amazon EC2 API operation +// DescribeConversionTasks to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilConversionTaskCancelled(input *DescribeConversionTasksInput) error { waiterCfg := waiter.Config{ Operation: "DescribeConversionTasks", @@ -58,6 +66,10 @@ func (c *EC2) WaitUntilConversionTaskCancelled(input *DescribeConversionTasksInp return w.Wait() } +// WaitUntilConversionTaskCompleted uses the Amazon EC2 API operation +// DescribeConversionTasks to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilConversionTaskCompleted(input *DescribeConversionTasksInput) error { waiterCfg := waiter.Config{ Operation: "DescribeConversionTasks", @@ -93,6 +105,10 @@ func (c *EC2) WaitUntilConversionTaskCompleted(input *DescribeConversionTasksInp return w.Wait() } +// WaitUntilConversionTaskDeleted uses the Amazon EC2 API operation +// DescribeConversionTasks to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilConversionTaskDeleted(input *DescribeConversionTasksInput) error { waiterCfg := waiter.Config{ Operation: "DescribeConversionTasks", @@ -116,6 +132,10 @@ func (c *EC2) WaitUntilConversionTaskDeleted(input *DescribeConversionTasksInput return w.Wait() } +// WaitUntilCustomerGatewayAvailable uses the Amazon EC2 API operation +// DescribeCustomerGateways to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilCustomerGatewayAvailable(input *DescribeCustomerGatewaysInput) error { waiterCfg := waiter.Config{ Operation: "DescribeCustomerGateways", @@ -151,6 +171,10 @@ func (c *EC2) WaitUntilCustomerGatewayAvailable(input *DescribeCustomerGatewaysI return w.Wait() } +// WaitUntilExportTaskCancelled uses the Amazon EC2 API operation +// DescribeExportTasks to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilExportTaskCancelled(input *DescribeExportTasksInput) error { waiterCfg := waiter.Config{ Operation: "DescribeExportTasks", @@ -174,6 +198,10 @@ func (c *EC2) WaitUntilExportTaskCancelled(input *DescribeExportTasksInput) erro return w.Wait() } +// WaitUntilExportTaskCompleted uses the Amazon EC2 API operation +// DescribeExportTasks to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilExportTaskCompleted(input *DescribeExportTasksInput) error { waiterCfg := waiter.Config{ Operation: "DescribeExportTasks", @@ -197,6 +225,10 @@ func (c *EC2) WaitUntilExportTaskCompleted(input *DescribeExportTasksInput) erro return w.Wait() } +// WaitUntilImageAvailable uses the Amazon EC2 API operation +// DescribeImages to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilImageAvailable(input *DescribeImagesInput) error { waiterCfg := waiter.Config{ Operation: "DescribeImages", @@ -226,6 +258,10 @@ func (c *EC2) WaitUntilImageAvailable(input *DescribeImagesInput) error { return w.Wait() } +// WaitUntilImageExists uses the Amazon EC2 API operation +// DescribeImages to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilImageExists(input *DescribeImagesInput) error { waiterCfg := waiter.Config{ Operation: "DescribeImages", @@ -255,6 +291,10 @@ func (c *EC2) WaitUntilImageExists(input *DescribeImagesInput) error { return w.Wait() } +// WaitUntilInstanceExists uses the Amazon EC2 API operation +// DescribeInstances to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilInstanceExists(input *DescribeInstancesInput) error { waiterCfg := waiter.Config{ Operation: "DescribeInstances", @@ -284,6 +324,10 @@ func (c *EC2) WaitUntilInstanceExists(input *DescribeInstancesInput) error { return w.Wait() } +// WaitUntilInstanceRunning uses the Amazon EC2 API operation +// DescribeInstances to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilInstanceRunning(input *DescribeInstancesInput) error { waiterCfg := waiter.Config{ Operation: "DescribeInstances", @@ -331,6 +375,10 @@ func (c *EC2) WaitUntilInstanceRunning(input *DescribeInstancesInput) error { return w.Wait() } +// WaitUntilInstanceStatusOk uses the Amazon EC2 API operation +// DescribeInstanceStatus to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilInstanceStatusOk(input *DescribeInstanceStatusInput) error { waiterCfg := waiter.Config{ Operation: "DescribeInstanceStatus", @@ -360,6 +408,10 @@ func (c *EC2) WaitUntilInstanceStatusOk(input *DescribeInstanceStatusInput) erro return w.Wait() } +// WaitUntilInstanceStopped uses the Amazon EC2 API operation +// DescribeInstances to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilInstanceStopped(input *DescribeInstancesInput) error { waiterCfg := waiter.Config{ Operation: "DescribeInstances", @@ -395,6 +447,10 @@ func (c *EC2) WaitUntilInstanceStopped(input *DescribeInstancesInput) error { return w.Wait() } +// WaitUntilInstanceTerminated uses the Amazon EC2 API operation +// DescribeInstances to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilInstanceTerminated(input *DescribeInstancesInput) error { waiterCfg := waiter.Config{ Operation: "DescribeInstances", @@ -430,6 +486,10 @@ func (c *EC2) WaitUntilInstanceTerminated(input *DescribeInstancesInput) error { return w.Wait() } +// WaitUntilKeyPairExists uses the Amazon EC2 API operation +// DescribeKeyPairs to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilKeyPairExists(input *DescribeKeyPairsInput) error { waiterCfg := waiter.Config{ Operation: "DescribeKeyPairs", @@ -459,6 +519,10 @@ func (c *EC2) WaitUntilKeyPairExists(input *DescribeKeyPairsInput) error { return w.Wait() } +// WaitUntilNatGatewayAvailable uses the Amazon EC2 API operation +// DescribeNatGateways to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilNatGatewayAvailable(input *DescribeNatGatewaysInput) error { waiterCfg := waiter.Config{ Operation: "DescribeNatGateways", @@ -506,6 +570,10 @@ func (c *EC2) WaitUntilNatGatewayAvailable(input *DescribeNatGatewaysInput) erro return w.Wait() } +// WaitUntilNetworkInterfaceAvailable uses the Amazon EC2 API operation +// DescribeNetworkInterfaces to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilNetworkInterfaceAvailable(input *DescribeNetworkInterfacesInput) error { waiterCfg := waiter.Config{ Operation: "DescribeNetworkInterfaces", @@ -535,6 +603,10 @@ func (c *EC2) WaitUntilNetworkInterfaceAvailable(input *DescribeNetworkInterface return w.Wait() } +// WaitUntilPasswordDataAvailable uses the Amazon EC2 API operation +// GetPasswordData to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilPasswordDataAvailable(input *GetPasswordDataInput) error { waiterCfg := waiter.Config{ Operation: "GetPasswordData", @@ -558,6 +630,10 @@ func (c *EC2) WaitUntilPasswordDataAvailable(input *GetPasswordDataInput) error return w.Wait() } +// WaitUntilSnapshotCompleted uses the Amazon EC2 API operation +// DescribeSnapshots to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilSnapshotCompleted(input *DescribeSnapshotsInput) error { waiterCfg := waiter.Config{ Operation: "DescribeSnapshots", @@ -581,6 +657,10 @@ func (c *EC2) WaitUntilSnapshotCompleted(input *DescribeSnapshotsInput) error { return w.Wait() } +// WaitUntilSpotInstanceRequestFulfilled uses the Amazon EC2 API operation +// DescribeSpotInstanceRequests to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilSpotInstanceRequestFulfilled(input *DescribeSpotInstanceRequestsInput) error { waiterCfg := waiter.Config{ Operation: "DescribeSpotInstanceRequests", @@ -628,6 +708,10 @@ func (c *EC2) WaitUntilSpotInstanceRequestFulfilled(input *DescribeSpotInstanceR return w.Wait() } +// WaitUntilSubnetAvailable uses the Amazon EC2 API operation +// DescribeSubnets to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilSubnetAvailable(input *DescribeSubnetsInput) error { waiterCfg := waiter.Config{ Operation: "DescribeSubnets", @@ -651,6 +735,10 @@ func (c *EC2) WaitUntilSubnetAvailable(input *DescribeSubnetsInput) error { return w.Wait() } +// WaitUntilSystemStatusOk uses the Amazon EC2 API operation +// DescribeInstanceStatus to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilSystemStatusOk(input *DescribeInstanceStatusInput) error { waiterCfg := waiter.Config{ Operation: "DescribeInstanceStatus", @@ -674,6 +762,10 @@ func (c *EC2) WaitUntilSystemStatusOk(input *DescribeInstanceStatusInput) error return w.Wait() } +// WaitUntilVolumeAvailable uses the Amazon EC2 API operation +// DescribeVolumes to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilVolumeAvailable(input *DescribeVolumesInput) error { waiterCfg := waiter.Config{ Operation: "DescribeVolumes", @@ -703,6 +795,10 @@ func (c *EC2) WaitUntilVolumeAvailable(input *DescribeVolumesInput) error { return w.Wait() } +// WaitUntilVolumeDeleted uses the Amazon EC2 API operation +// DescribeVolumes to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilVolumeDeleted(input *DescribeVolumesInput) error { waiterCfg := waiter.Config{ Operation: "DescribeVolumes", @@ -732,6 +828,10 @@ func (c *EC2) WaitUntilVolumeDeleted(input *DescribeVolumesInput) error { return w.Wait() } +// WaitUntilVolumeInUse uses the Amazon EC2 API operation +// DescribeVolumes to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilVolumeInUse(input *DescribeVolumesInput) error { waiterCfg := waiter.Config{ Operation: "DescribeVolumes", @@ -761,6 +861,10 @@ func (c *EC2) WaitUntilVolumeInUse(input *DescribeVolumesInput) error { return w.Wait() } +// WaitUntilVpcAvailable uses the Amazon EC2 API operation +// DescribeVpcs to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilVpcAvailable(input *DescribeVpcsInput) error { waiterCfg := waiter.Config{ Operation: "DescribeVpcs", @@ -784,6 +888,43 @@ func (c *EC2) WaitUntilVpcAvailable(input *DescribeVpcsInput) error { return w.Wait() } +// WaitUntilVpcExists uses the Amazon EC2 API operation +// DescribeVpcs to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. +func (c *EC2) WaitUntilVpcExists(input *DescribeVpcsInput) error { + waiterCfg := waiter.Config{ + Operation: "DescribeVpcs", + Delay: 1, + MaxAttempts: 5, + Acceptors: []waiter.WaitAcceptor{ + { + State: "success", + Matcher: "status", + Argument: "", + Expected: 200, + }, + { + State: "retry", + Matcher: "error", + Argument: "", + Expected: "InvalidVpcID.NotFound", + }, + }, + } + + w := waiter.Waiter{ + Client: c, + Input: input, + Config: waiterCfg, + } + return w.Wait() +} + +// WaitUntilVpcPeeringConnectionExists uses the Amazon EC2 API operation +// DescribeVpcPeeringConnections to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilVpcPeeringConnectionExists(input *DescribeVpcPeeringConnectionsInput) error { waiterCfg := waiter.Config{ Operation: "DescribeVpcPeeringConnections", @@ -813,6 +954,10 @@ func (c *EC2) WaitUntilVpcPeeringConnectionExists(input *DescribeVpcPeeringConne return w.Wait() } +// WaitUntilVpnConnectionAvailable uses the Amazon EC2 API operation +// DescribeVpnConnections to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilVpnConnectionAvailable(input *DescribeVpnConnectionsInput) error { waiterCfg := waiter.Config{ Operation: "DescribeVpnConnections", @@ -848,6 +993,10 @@ func (c *EC2) WaitUntilVpnConnectionAvailable(input *DescribeVpnConnectionsInput return w.Wait() } +// WaitUntilVpnConnectionDeleted uses the Amazon EC2 API operation +// DescribeVpnConnections to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EC2) WaitUntilVpnConnectionDeleted(input *DescribeVpnConnectionsInput) error { waiterCfg := waiter.Config{ Operation: "DescribeVpnConnections", 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 57a875905fa0..1ef1aa9aee81 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 @@ -12,7 +12,30 @@ import ( const opBatchCheckLayerAvailability = "BatchCheckLayerAvailability" -// BatchCheckLayerAvailabilityRequest generates a request for the BatchCheckLayerAvailability operation. +// BatchCheckLayerAvailabilityRequest generates a "aws/request.Request" representing the +// client's request for the BatchCheckLayerAvailability operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See BatchCheckLayerAvailability for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the BatchCheckLayerAvailability method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the BatchCheckLayerAvailabilityRequest method. +// req, resp := client.BatchCheckLayerAvailabilityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECR) BatchCheckLayerAvailabilityRequest(input *BatchCheckLayerAvailabilityInput) (req *request.Request, output *BatchCheckLayerAvailabilityOutput) { op := &request.Operation{ Name: opBatchCheckLayerAvailability, @@ -30,11 +53,33 @@ func (c *ECR) BatchCheckLayerAvailabilityRequest(input *BatchCheckLayerAvailabil return } +// BatchCheckLayerAvailability API operation for Amazon EC2 Container Registry. +// // Check the availability of multiple image layers in a specified registry and // repository. // // This operation is used by the Amazon ECR proxy, and it is not intended // for general use by customers. Use the docker CLI to pull, tag, and push images. +// +// 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 EC2 Container Registry's +// API operation BatchCheckLayerAvailability for usage and error information. +// +// Returned Error Codes: +// * RepositoryNotFoundException +// The specified repository could not be found. Check the spelling of the specified +// repository and ensure that you are performing operations on the correct registry. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * ServerException +// These errors are usually caused by a server-side issue. +// func (c *ECR) BatchCheckLayerAvailability(input *BatchCheckLayerAvailabilityInput) (*BatchCheckLayerAvailabilityOutput, error) { req, out := c.BatchCheckLayerAvailabilityRequest(input) err := req.Send() @@ -43,7 +88,30 @@ func (c *ECR) BatchCheckLayerAvailability(input *BatchCheckLayerAvailabilityInpu const opBatchDeleteImage = "BatchDeleteImage" -// BatchDeleteImageRequest generates a request for the BatchDeleteImage operation. +// BatchDeleteImageRequest generates a "aws/request.Request" representing the +// client's request for the BatchDeleteImage operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See BatchDeleteImage for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the BatchDeleteImage method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the BatchDeleteImageRequest method. +// req, resp := client.BatchDeleteImageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECR) BatchDeleteImageRequest(input *BatchDeleteImageInput) (req *request.Request, output *BatchDeleteImageOutput) { op := &request.Operation{ Name: opBatchDeleteImage, @@ -61,8 +129,30 @@ func (c *ECR) BatchDeleteImageRequest(input *BatchDeleteImageInput) (req *reques return } +// BatchDeleteImage API operation for Amazon EC2 Container Registry. +// // Deletes a list of specified images within a specified repository. Images // are specified with either imageTag or imageDigest. +// +// 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 EC2 Container Registry's +// API operation BatchDeleteImage for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server-side issue. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * RepositoryNotFoundException +// The specified repository could not be found. Check the spelling of the specified +// repository and ensure that you are performing operations on the correct registry. +// func (c *ECR) BatchDeleteImage(input *BatchDeleteImageInput) (*BatchDeleteImageOutput, error) { req, out := c.BatchDeleteImageRequest(input) err := req.Send() @@ -71,7 +161,30 @@ func (c *ECR) BatchDeleteImage(input *BatchDeleteImageInput) (*BatchDeleteImageO const opBatchGetImage = "BatchGetImage" -// BatchGetImageRequest generates a request for the BatchGetImage operation. +// BatchGetImageRequest generates a "aws/request.Request" representing the +// client's request for the BatchGetImage operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See BatchGetImage for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the BatchGetImage method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the BatchGetImageRequest method. +// req, resp := client.BatchGetImageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECR) BatchGetImageRequest(input *BatchGetImageInput) (req *request.Request, output *BatchGetImageOutput) { op := &request.Operation{ Name: opBatchGetImage, @@ -89,8 +202,30 @@ func (c *ECR) BatchGetImageRequest(input *BatchGetImageInput) (req *request.Requ return } +// BatchGetImage API operation for Amazon EC2 Container Registry. +// // Gets detailed information for specified images within a specified repository. // Images are specified with either imageTag or imageDigest. +// +// 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 EC2 Container Registry's +// API operation BatchGetImage for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server-side issue. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * RepositoryNotFoundException +// The specified repository could not be found. Check the spelling of the specified +// repository and ensure that you are performing operations on the correct registry. +// func (c *ECR) BatchGetImage(input *BatchGetImageInput) (*BatchGetImageOutput, error) { req, out := c.BatchGetImageRequest(input) err := req.Send() @@ -99,7 +234,30 @@ func (c *ECR) BatchGetImage(input *BatchGetImageInput) (*BatchGetImageOutput, er const opCompleteLayerUpload = "CompleteLayerUpload" -// CompleteLayerUploadRequest generates a request for the CompleteLayerUpload operation. +// CompleteLayerUploadRequest generates a "aws/request.Request" representing the +// client's request for the CompleteLayerUpload operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CompleteLayerUpload for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CompleteLayerUpload method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CompleteLayerUploadRequest method. +// req, resp := client.CompleteLayerUploadRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECR) CompleteLayerUploadRequest(input *CompleteLayerUploadInput) (req *request.Request, output *CompleteLayerUploadOutput) { op := &request.Operation{ Name: opCompleteLayerUpload, @@ -117,12 +275,51 @@ func (c *ECR) CompleteLayerUploadRequest(input *CompleteLayerUploadInput) (req * return } +// CompleteLayerUpload API operation for Amazon EC2 Container Registry. +// // Inform Amazon ECR that the image layer upload for a specified registry, repository // name, and upload ID, has completed. You can optionally provide a sha256 digest // of the image layer for data validation purposes. // // This operation is used by the Amazon ECR proxy, and it is not intended // for general use by customers. Use the docker CLI to pull, tag, and push images. +// +// 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 EC2 Container Registry's +// API operation CompleteLayerUpload for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server-side issue. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * RepositoryNotFoundException +// The specified repository could not be found. Check the spelling of the specified +// repository and ensure that you are performing operations on the correct registry. +// +// * UploadNotFoundException +// The upload could not be found, or the specified upload id is not valid for +// this repository. +// +// * InvalidLayerException +// The layer digest calculation performed by Amazon ECR upon receipt of the +// image layer does not match the digest specified. +// +// * LayerPartTooSmallException +// Layer parts must be at least 5 MiB in size. +// +// * LayerAlreadyExistsException +// The image layer already exists in the associated repository. +// +// * EmptyUploadException +// The specified layer upload does not contain any layer parts. +// func (c *ECR) CompleteLayerUpload(input *CompleteLayerUploadInput) (*CompleteLayerUploadOutput, error) { req, out := c.CompleteLayerUploadRequest(input) err := req.Send() @@ -131,7 +328,30 @@ func (c *ECR) CompleteLayerUpload(input *CompleteLayerUploadInput) (*CompleteLay const opCreateRepository = "CreateRepository" -// CreateRepositoryRequest generates a request for the CreateRepository operation. +// CreateRepositoryRequest generates a "aws/request.Request" representing the +// client's request for the CreateRepository operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateRepository for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateRepository method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateRepositoryRequest method. +// req, resp := client.CreateRepositoryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECR) CreateRepositoryRequest(input *CreateRepositoryInput) (req *request.Request, output *CreateRepositoryOutput) { op := &request.Operation{ Name: opCreateRepository, @@ -149,7 +369,34 @@ func (c *ECR) CreateRepositoryRequest(input *CreateRepositoryInput) (req *reques return } +// CreateRepository API operation for Amazon EC2 Container Registry. +// // Creates an image repository. +// +// 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 EC2 Container Registry's +// API operation CreateRepository for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server-side issue. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * RepositoryAlreadyExistsException +// The specified repository already exists in the specified registry. +// +// * LimitExceededException +// The operation did not succeed because it would have exceeded a service limit +// for your account. For more information, see Amazon ECR Default Service Limits +// (http://docs.aws.amazon.com/AmazonECR/latest/userguide/service_limits.html) +// in the Amazon EC2 Container Registry User Guide. +// func (c *ECR) CreateRepository(input *CreateRepositoryInput) (*CreateRepositoryOutput, error) { req, out := c.CreateRepositoryRequest(input) err := req.Send() @@ -158,7 +405,30 @@ func (c *ECR) CreateRepository(input *CreateRepositoryInput) (*CreateRepositoryO const opDeleteRepository = "DeleteRepository" -// DeleteRepositoryRequest generates a request for the DeleteRepository operation. +// DeleteRepositoryRequest generates a "aws/request.Request" representing the +// client's request for the DeleteRepository operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteRepository for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteRepository method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteRepositoryRequest method. +// req, resp := client.DeleteRepositoryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECR) DeleteRepositoryRequest(input *DeleteRepositoryInput) (req *request.Request, output *DeleteRepositoryOutput) { op := &request.Operation{ Name: opDeleteRepository, @@ -176,8 +446,34 @@ func (c *ECR) DeleteRepositoryRequest(input *DeleteRepositoryInput) (req *reques return } +// DeleteRepository API operation for Amazon EC2 Container Registry. +// // Deletes an existing image repository. If a repository contains images, you // must use the force option to delete it. +// +// 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 EC2 Container Registry's +// API operation DeleteRepository for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server-side issue. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * RepositoryNotFoundException +// The specified repository could not be found. Check the spelling of the specified +// repository and ensure that you are performing operations on the correct registry. +// +// * RepositoryNotEmptyException +// The specified repository contains images. To delete a repository that contains +// images, you must force the deletion with the force parameter. +// func (c *ECR) DeleteRepository(input *DeleteRepositoryInput) (*DeleteRepositoryOutput, error) { req, out := c.DeleteRepositoryRequest(input) err := req.Send() @@ -186,7 +482,30 @@ func (c *ECR) DeleteRepository(input *DeleteRepositoryInput) (*DeleteRepositoryO const opDeleteRepositoryPolicy = "DeleteRepositoryPolicy" -// DeleteRepositoryPolicyRequest generates a request for the DeleteRepositoryPolicy operation. +// DeleteRepositoryPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteRepositoryPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteRepositoryPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteRepositoryPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteRepositoryPolicyRequest method. +// req, resp := client.DeleteRepositoryPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECR) DeleteRepositoryPolicyRequest(input *DeleteRepositoryPolicyInput) (req *request.Request, output *DeleteRepositoryPolicyOutput) { op := &request.Operation{ Name: opDeleteRepositoryPolicy, @@ -204,16 +523,146 @@ func (c *ECR) DeleteRepositoryPolicyRequest(input *DeleteRepositoryPolicyInput) return } +// DeleteRepositoryPolicy API operation for Amazon EC2 Container Registry. +// // Deletes the repository policy from a specified repository. +// +// 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 EC2 Container Registry's +// API operation DeleteRepositoryPolicy for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server-side issue. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * RepositoryNotFoundException +// The specified repository could not be found. Check the spelling of the specified +// repository and ensure that you are performing operations on the correct registry. +// +// * RepositoryPolicyNotFoundException +// The specified repository and registry combination does not have an associated +// repository policy. +// func (c *ECR) DeleteRepositoryPolicy(input *DeleteRepositoryPolicyInput) (*DeleteRepositoryPolicyOutput, error) { req, out := c.DeleteRepositoryPolicyRequest(input) err := req.Send() return out, err } +const opDescribeImages = "DescribeImages" + +// DescribeImagesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeImages operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeImages for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeImages method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeImagesRequest method. +// req, resp := client.DescribeImagesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ECR) DescribeImagesRequest(input *DescribeImagesInput) (req *request.Request, output *DescribeImagesOutput) { + op := &request.Operation{ + Name: opDescribeImages, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeImagesInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeImagesOutput{} + req.Data = output + return +} + +// DescribeImages API operation for Amazon EC2 Container Registry. +// +// Returns metadata about the images in a repository, including image size and +// creation date. +// +// Beginning with Docker version 1.9, the Docker client compresses image layers +// before pushing them to a V2 Docker registry. The output of the docker images +// command shows the uncompressed image size, so it may return a larger image +// size than the image sizes returned by DescribeImages. +// +// 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 EC2 Container Registry's +// API operation DescribeImages for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server-side issue. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * RepositoryNotFoundException +// The specified repository could not be found. Check the spelling of the specified +// repository and ensure that you are performing operations on the correct registry. +// +// * ImageNotFoundException +// The image requested does not exist in the specified repository. +// +func (c *ECR) DescribeImages(input *DescribeImagesInput) (*DescribeImagesOutput, error) { + req, out := c.DescribeImagesRequest(input) + err := req.Send() + return out, err +} + const opDescribeRepositories = "DescribeRepositories" -// DescribeRepositoriesRequest generates a request for the DescribeRepositories operation. +// DescribeRepositoriesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeRepositories operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeRepositories for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeRepositories method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeRepositoriesRequest method. +// req, resp := client.DescribeRepositoriesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECR) DescribeRepositoriesRequest(input *DescribeRepositoriesInput) (req *request.Request, output *DescribeRepositoriesOutput) { op := &request.Operation{ Name: opDescribeRepositories, @@ -231,7 +680,29 @@ func (c *ECR) DescribeRepositoriesRequest(input *DescribeRepositoriesInput) (req return } +// DescribeRepositories API operation for Amazon EC2 Container Registry. +// // Describes image repositories in a registry. +// +// 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 EC2 Container Registry's +// API operation DescribeRepositories for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server-side issue. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * RepositoryNotFoundException +// The specified repository could not be found. Check the spelling of the specified +// repository and ensure that you are performing operations on the correct registry. +// func (c *ECR) DescribeRepositories(input *DescribeRepositoriesInput) (*DescribeRepositoriesOutput, error) { req, out := c.DescribeRepositoriesRequest(input) err := req.Send() @@ -240,7 +711,30 @@ func (c *ECR) DescribeRepositories(input *DescribeRepositoriesInput) (*DescribeR const opGetAuthorizationToken = "GetAuthorizationToken" -// GetAuthorizationTokenRequest generates a request for the GetAuthorizationToken operation. +// GetAuthorizationTokenRequest generates a "aws/request.Request" representing the +// client's request for the GetAuthorizationToken operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetAuthorizationToken for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetAuthorizationToken method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetAuthorizationTokenRequest method. +// req, resp := client.GetAuthorizationTokenRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECR) GetAuthorizationTokenRequest(input *GetAuthorizationTokenInput) (req *request.Request, output *GetAuthorizationTokenOutput) { op := &request.Operation{ Name: opGetAuthorizationToken, @@ -258,6 +752,8 @@ func (c *ECR) GetAuthorizationTokenRequest(input *GetAuthorizationTokenInput) (r return } +// GetAuthorizationToken API operation for Amazon EC2 Container Registry. +// // Retrieves a token that is valid for a specified registry for 12 hours. This // command allows you to use the docker CLI to push and pull images with Amazon // ECR. If you do not specify a registry, the default registry is assumed. @@ -266,6 +762,22 @@ func (c *ECR) GetAuthorizationTokenRequest(input *GetAuthorizationTokenInput) (r // encoded string that can be decoded and used in a docker login command to // authenticate to a registry. The AWS CLI offers an aws ecr get-login command // that simplifies the login process. +// +// 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 EC2 Container Registry's +// API operation GetAuthorizationToken for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server-side issue. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// func (c *ECR) GetAuthorizationToken(input *GetAuthorizationTokenInput) (*GetAuthorizationTokenOutput, error) { req, out := c.GetAuthorizationTokenRequest(input) err := req.Send() @@ -274,7 +786,30 @@ func (c *ECR) GetAuthorizationToken(input *GetAuthorizationTokenInput) (*GetAuth const opGetDownloadUrlForLayer = "GetDownloadUrlForLayer" -// GetDownloadUrlForLayerRequest generates a request for the GetDownloadUrlForLayer operation. +// GetDownloadUrlForLayerRequest generates a "aws/request.Request" representing the +// client's request for the GetDownloadUrlForLayer operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetDownloadUrlForLayer for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetDownloadUrlForLayer method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetDownloadUrlForLayerRequest method. +// req, resp := client.GetDownloadUrlForLayerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECR) GetDownloadUrlForLayerRequest(input *GetDownloadUrlForLayerInput) (req *request.Request, output *GetDownloadUrlForLayerOutput) { op := &request.Operation{ Name: opGetDownloadUrlForLayer, @@ -292,11 +827,41 @@ func (c *ECR) GetDownloadUrlForLayerRequest(input *GetDownloadUrlForLayerInput) return } +// GetDownloadUrlForLayer API operation for Amazon EC2 Container Registry. +// // Retrieves the pre-signed Amazon S3 download URL corresponding to an image // layer. You can only get URLs for image layers that are referenced in an image. // // This operation is used by the Amazon ECR proxy, and it is not intended // for general use by customers. Use the docker CLI to pull, tag, and push images. +// +// 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 EC2 Container Registry's +// API operation GetDownloadUrlForLayer for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server-side issue. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * LayersNotFoundException +// The specified layers could not be found, or the specified layer is not valid +// for this repository. +// +// * LayerInaccessibleException +// The specified layer is not available because it is not associated with an +// image. Unassociated image layers may be cleaned up at any time. +// +// * RepositoryNotFoundException +// The specified repository could not be found. Check the spelling of the specified +// repository and ensure that you are performing operations on the correct registry. +// func (c *ECR) GetDownloadUrlForLayer(input *GetDownloadUrlForLayerInput) (*GetDownloadUrlForLayerOutput, error) { req, out := c.GetDownloadUrlForLayerRequest(input) err := req.Send() @@ -305,7 +870,30 @@ func (c *ECR) GetDownloadUrlForLayer(input *GetDownloadUrlForLayerInput) (*GetDo const opGetRepositoryPolicy = "GetRepositoryPolicy" -// GetRepositoryPolicyRequest generates a request for the GetRepositoryPolicy operation. +// GetRepositoryPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetRepositoryPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetRepositoryPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetRepositoryPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetRepositoryPolicyRequest method. +// req, resp := client.GetRepositoryPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECR) GetRepositoryPolicyRequest(input *GetRepositoryPolicyInput) (req *request.Request, output *GetRepositoryPolicyOutput) { op := &request.Operation{ Name: opGetRepositoryPolicy, @@ -323,7 +911,33 @@ func (c *ECR) GetRepositoryPolicyRequest(input *GetRepositoryPolicyInput) (req * return } +// GetRepositoryPolicy API operation for Amazon EC2 Container Registry. +// // Retrieves the repository policy for a specified repository. +// +// 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 EC2 Container Registry's +// API operation GetRepositoryPolicy for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server-side issue. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * RepositoryNotFoundException +// The specified repository could not be found. Check the spelling of the specified +// repository and ensure that you are performing operations on the correct registry. +// +// * RepositoryPolicyNotFoundException +// The specified repository and registry combination does not have an associated +// repository policy. +// func (c *ECR) GetRepositoryPolicy(input *GetRepositoryPolicyInput) (*GetRepositoryPolicyOutput, error) { req, out := c.GetRepositoryPolicyRequest(input) err := req.Send() @@ -332,7 +946,30 @@ func (c *ECR) GetRepositoryPolicy(input *GetRepositoryPolicyInput) (*GetReposito const opInitiateLayerUpload = "InitiateLayerUpload" -// InitiateLayerUploadRequest generates a request for the InitiateLayerUpload operation. +// InitiateLayerUploadRequest generates a "aws/request.Request" representing the +// client's request for the InitiateLayerUpload operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See InitiateLayerUpload for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the InitiateLayerUpload method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the InitiateLayerUploadRequest method. +// req, resp := client.InitiateLayerUploadRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECR) InitiateLayerUploadRequest(input *InitiateLayerUploadInput) (req *request.Request, output *InitiateLayerUploadOutput) { op := &request.Operation{ Name: opInitiateLayerUpload, @@ -350,10 +987,32 @@ func (c *ECR) InitiateLayerUploadRequest(input *InitiateLayerUploadInput) (req * return } +// InitiateLayerUpload API operation for Amazon EC2 Container Registry. +// // Notify Amazon ECR that you intend to upload an image layer. // // This operation is used by the Amazon ECR proxy, and it is not intended // for general use by customers. Use the docker CLI to pull, tag, and push images. +// +// 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 EC2 Container Registry's +// API operation InitiateLayerUpload for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server-side issue. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * RepositoryNotFoundException +// The specified repository could not be found. Check the spelling of the specified +// repository and ensure that you are performing operations on the correct registry. +// func (c *ECR) InitiateLayerUpload(input *InitiateLayerUploadInput) (*InitiateLayerUploadOutput, error) { req, out := c.InitiateLayerUploadRequest(input) err := req.Send() @@ -362,7 +1021,30 @@ func (c *ECR) InitiateLayerUpload(input *InitiateLayerUploadInput) (*InitiateLay const opListImages = "ListImages" -// ListImagesRequest generates a request for the ListImages operation. +// ListImagesRequest generates a "aws/request.Request" representing the +// client's request for the ListImages operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListImages for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListImages method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListImagesRequest method. +// req, resp := client.ListImagesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECR) ListImagesRequest(input *ListImagesInput) (req *request.Request, output *ListImagesOutput) { op := &request.Operation{ Name: opListImages, @@ -380,7 +1062,35 @@ func (c *ECR) ListImagesRequest(input *ListImagesInput) (req *request.Request, o return } +// ListImages API operation for Amazon EC2 Container Registry. +// // Lists all the image IDs for a given repository. +// +// You can filter images based on whether or not they are tagged by setting +// the tagStatus parameter to TAGGED or UNTAGGED. For example, you can filter +// your results to return only UNTAGGED images and then pipe that result to +// a BatchDeleteImage operation to delete them. Or, you can filter your results +// to return only TAGGED images to list all of the tags in your repository. +// +// 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 EC2 Container Registry's +// API operation ListImages for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server-side issue. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * RepositoryNotFoundException +// The specified repository could not be found. Check the spelling of the specified +// repository and ensure that you are performing operations on the correct registry. +// func (c *ECR) ListImages(input *ListImagesInput) (*ListImagesOutput, error) { req, out := c.ListImagesRequest(input) err := req.Send() @@ -389,7 +1099,30 @@ func (c *ECR) ListImages(input *ListImagesInput) (*ListImagesOutput, error) { const opPutImage = "PutImage" -// PutImageRequest generates a request for the PutImage operation. +// PutImageRequest generates a "aws/request.Request" representing the +// client's request for the PutImage operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutImage for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutImage method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutImageRequest method. +// req, resp := client.PutImageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECR) PutImageRequest(input *PutImageInput) (req *request.Request, output *PutImageOutput) { op := &request.Operation{ Name: opPutImage, @@ -407,10 +1140,46 @@ func (c *ECR) PutImageRequest(input *PutImageInput) (req *request.Request, outpu return } +// PutImage API operation for Amazon EC2 Container Registry. +// // Creates or updates the image manifest associated with an image. // // This operation is used by the Amazon ECR proxy, and it is not intended // for general use by customers. Use the docker CLI to pull, tag, and push images. +// +// 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 EC2 Container Registry's +// API operation PutImage for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server-side issue. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * RepositoryNotFoundException +// The specified repository could not be found. Check the spelling of the specified +// repository and ensure that you are performing operations on the correct registry. +// +// * ImageAlreadyExistsException +// The specified image has already been pushed, and there are no changes to +// the manifest or image tag since the last push. +// +// * LayersNotFoundException +// The specified layers could not be found, or the specified layer is not valid +// for this repository. +// +// * LimitExceededException +// The operation did not succeed because it would have exceeded a service limit +// for your account. For more information, see Amazon ECR Default Service Limits +// (http://docs.aws.amazon.com/AmazonECR/latest/userguide/service_limits.html) +// in the Amazon EC2 Container Registry User Guide. +// func (c *ECR) PutImage(input *PutImageInput) (*PutImageOutput, error) { req, out := c.PutImageRequest(input) err := req.Send() @@ -419,7 +1188,30 @@ func (c *ECR) PutImage(input *PutImageInput) (*PutImageOutput, error) { const opSetRepositoryPolicy = "SetRepositoryPolicy" -// SetRepositoryPolicyRequest generates a request for the SetRepositoryPolicy operation. +// SetRepositoryPolicyRequest generates a "aws/request.Request" representing the +// client's request for the SetRepositoryPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetRepositoryPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetRepositoryPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetRepositoryPolicyRequest method. +// req, resp := client.SetRepositoryPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECR) SetRepositoryPolicyRequest(input *SetRepositoryPolicyInput) (req *request.Request, output *SetRepositoryPolicyOutput) { op := &request.Operation{ Name: opSetRepositoryPolicy, @@ -437,7 +1229,29 @@ func (c *ECR) SetRepositoryPolicyRequest(input *SetRepositoryPolicyInput) (req * return } +// SetRepositoryPolicy API operation for Amazon EC2 Container Registry. +// // Applies a repository policy on a specified repository to control access permissions. +// +// 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 EC2 Container Registry's +// API operation SetRepositoryPolicy for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server-side issue. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * RepositoryNotFoundException +// The specified repository could not be found. Check the spelling of the specified +// repository and ensure that you are performing operations on the correct registry. +// func (c *ECR) SetRepositoryPolicy(input *SetRepositoryPolicyInput) (*SetRepositoryPolicyOutput, error) { req, out := c.SetRepositoryPolicyRequest(input) err := req.Send() @@ -446,7 +1260,30 @@ func (c *ECR) SetRepositoryPolicy(input *SetRepositoryPolicyInput) (*SetReposito const opUploadLayerPart = "UploadLayerPart" -// UploadLayerPartRequest generates a request for the UploadLayerPart operation. +// UploadLayerPartRequest generates a "aws/request.Request" representing the +// client's request for the UploadLayerPart operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UploadLayerPart for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UploadLayerPart method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UploadLayerPartRequest method. +// req, resp := client.UploadLayerPartRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECR) UploadLayerPartRequest(input *UploadLayerPartInput) (req *request.Request, output *UploadLayerPartOutput) { op := &request.Operation{ Name: opUploadLayerPart, @@ -464,10 +1301,46 @@ func (c *ECR) UploadLayerPartRequest(input *UploadLayerPartInput) (req *request. return } +// UploadLayerPart API operation for Amazon EC2 Container Registry. +// // Uploads an image layer part to Amazon ECR. // // This operation is used by the Amazon ECR proxy, and it is not intended // for general use by customers. Use the docker CLI to pull, tag, and push images. +// +// 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 EC2 Container Registry's +// API operation UploadLayerPart for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server-side issue. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * InvalidLayerPartException +// The layer part size is not valid, or the first byte specified is not consecutive +// to the last byte of a previous layer part upload. +// +// * RepositoryNotFoundException +// The specified repository could not be found. Check the spelling of the specified +// repository and ensure that you are performing operations on the correct registry. +// +// * UploadNotFoundException +// The upload could not be found, or the specified upload id is not valid for +// this repository. +// +// * LimitExceededException +// The operation did not succeed because it would have exceeded a service limit +// for your account. For more information, see Amazon ECR Default Service Limits +// (http://docs.aws.amazon.com/AmazonECR/latest/userguide/service_limits.html) +// in the Amazon EC2 Container Registry User Guide. +// func (c *ECR) UploadLayerPart(input *UploadLayerPartInput) (*UploadLayerPartOutput, error) { req, out := c.UploadLayerPartRequest(input) err := req.Send() @@ -507,6 +1380,8 @@ type BatchCheckLayerAvailabilityInput struct { _ struct{} `type:"structure"` // The digests of the image layers to check. + // + // LayerDigests is a required field LayerDigests []*string `locationName:"layerDigests" min:"1" type:"list" required:"true"` // The AWS account ID associated with the registry that contains the image layers @@ -514,6 +1389,8 @@ type BatchCheckLayerAvailabilityInput struct { RegistryId *string `locationName:"registryId" type:"string"` // The name of the repository that is associated with the image layers to check. + // + // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"` } @@ -577,6 +1454,8 @@ type BatchDeleteImageInput struct { // A list of image ID references that correspond to images to delete. The format // of the imageIds reference is imageTag=tag or imageDigest=digest. + // + // ImageIds is a required field ImageIds []*ImageIdentifier `locationName:"imageIds" min:"1" type:"list" required:"true"` // The AWS account ID associated with the registry that contains the image to @@ -584,6 +1463,8 @@ type BatchDeleteImageInput struct { RegistryId *string `locationName:"registryId" type:"string"` // The repository that contains the image to delete. + // + // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"` } @@ -644,6 +1525,8 @@ type BatchGetImageInput struct { // A list of image ID references that correspond to images to describe. The // format of the imageIds reference is imageTag=tag or imageDigest=digest. + // + // ImageIds is a required field ImageIds []*ImageIdentifier `locationName:"imageIds" min:"1" type:"list" required:"true"` // The AWS account ID associated with the registry that contains the images @@ -651,6 +1534,8 @@ type BatchGetImageInput struct { RegistryId *string `locationName:"registryId" type:"string"` // The repository that contains the images to describe. + // + // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"` } @@ -710,6 +1595,8 @@ type CompleteLayerUploadInput struct { _ struct{} `type:"structure"` // The sha256 digest of the image layer. + // + // LayerDigests is a required field LayerDigests []*string `locationName:"layerDigests" min:"1" type:"list" required:"true"` // The AWS account ID associated with the registry to which to upload layers. @@ -717,10 +1604,14 @@ type CompleteLayerUploadInput struct { RegistryId *string `locationName:"registryId" type:"string"` // The name of the repository to associate with the image layer. + // + // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"` // The upload ID from a previous InitiateLayerUpload operation to associate // with the image layer. + // + // UploadId is a required field UploadId *string `locationName:"uploadId" type:"string" required:"true"` } @@ -791,6 +1682,8 @@ type CreateRepositoryInput struct { // The name to use for the repository. The repository name may be specified // on its own (such as nginx-web-app) or it can be prepended with a namespace // to group the repository into a category (such as project-a/nginx-web-app). + // + // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"` } @@ -823,7 +1716,7 @@ func (s *CreateRepositoryInput) Validate() error { type CreateRepositoryOutput struct { _ struct{} `type:"structure"` - // Object representing a repository. + // The repository that was created. Repository *Repository `locationName:"repository" type:"structure"` } @@ -848,6 +1741,8 @@ type DeleteRepositoryInput struct { RegistryId *string `locationName:"registryId" type:"string"` // The name of the repository to delete. + // + // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"` } @@ -880,7 +1775,7 @@ func (s *DeleteRepositoryInput) Validate() error { type DeleteRepositoryOutput struct { _ struct{} `type:"structure"` - // Object representing a repository. + // The repository that was deleted. Repository *Repository `locationName:"repository" type:"structure"` } @@ -904,6 +1799,8 @@ type DeleteRepositoryPolicyInput struct { // The name of the repository that is associated with the repository policy // to delete. + // + // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"` } @@ -956,6 +1853,116 @@ func (s DeleteRepositoryPolicyOutput) GoString() string { return s.String() } +// An object representing a filter on a DescribeImages operation. +type DescribeImagesFilter struct { + _ struct{} `type:"structure"` + + // The tag status with which to filter your DescribeImages results. You can + // filter results based on whether they are TAGGED or UNTAGGED. + TagStatus *string `locationName:"tagStatus" type:"string" enum:"TagStatus"` +} + +// String returns the string representation +func (s DescribeImagesFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeImagesFilter) GoString() string { + return s.String() +} + +type DescribeImagesInput struct { + _ struct{} `type:"structure"` + + // The filter key and value with which to filter your DescribeImages results. + Filter *DescribeImagesFilter `locationName:"filter" type:"structure"` + + // The list of image IDs for the requested repository. + ImageIds []*ImageIdentifier `locationName:"imageIds" min:"1" type:"list"` + + // The maximum number of repository results returned by DescribeImages in paginated + // output. When this parameter is used, DescribeImages only returns maxResults + // results in a single page along with a nextToken response element. The remaining + // results of the initial request can be seen by sending another DescribeImages + // request with the returned nextToken value. This value can be between 1 and + // 100. If this parameter is not used, then DescribeImages returns up to 100 + // results and a nextToken value, if applicable. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The nextToken value returned from a previous paginated DescribeImages request + // where maxResults was used and the results exceeded the value of that parameter. + // Pagination continues from the end of the previous results that returned the + // nextToken value. This value is null when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` + + // The AWS account ID associated with the registry that contains the repository + // in which to list images. If you do not specify a registry, the default registry + // is assumed. + RegistryId *string `locationName:"registryId" type:"string"` + + // A list of repositories to describe. If this parameter is omitted, then all + // repositories in a registry are described. + // + // RepositoryName is a required field + RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeImagesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeImagesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeImagesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeImagesInput"} + if s.ImageIds != nil && len(s.ImageIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ImageIds", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.RepositoryName == nil { + invalidParams.Add(request.NewErrParamRequired("RepositoryName")) + } + if s.RepositoryName != nil && len(*s.RepositoryName) < 2 { + invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DescribeImagesOutput struct { + _ struct{} `type:"structure"` + + // A list of ImageDetail objects that contain data about the image. + ImageDetails []*ImageDetail `locationName:"imageDetails" type:"list"` + + // The nextToken value to include in a future DescribeImages request. When the + // results of a DescribeImages request exceed maxResults, this value can be + // used to retrieve the next page of results. This value is null when there + // are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s DescribeImagesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeImagesOutput) GoString() string { + return s.String() +} + type DescribeRepositoriesInput struct { _ struct{} `type:"structure"` @@ -973,6 +1980,9 @@ type DescribeRepositoriesInput struct { // parameter. Pagination continues from the end of the previous results that // returned the nextToken value. This value is null when there are no more results // to return. + // + // This token should be treated as an opaque identifier that is only used + // to retrieve the next items in a list and not for other programmatic purposes. NextToken *string `locationName:"nextToken" type:"string"` // The AWS account ID associated with the registry that contains the repositories @@ -1088,6 +2098,8 @@ type GetDownloadUrlForLayerInput struct { _ struct{} `type:"structure"` // The digest of the image layer to download. + // + // LayerDigest is a required field LayerDigest *string `locationName:"layerDigest" type:"string" required:"true"` // The AWS account ID associated with the registry that contains the image layer @@ -1095,6 +2107,8 @@ type GetDownloadUrlForLayerInput struct { RegistryId *string `locationName:"registryId" type:"string"` // The name of the repository that is associated with the image layer to download. + // + // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"` } @@ -1155,6 +2169,8 @@ type GetRepositoryPolicyInput struct { RegistryId *string `locationName:"registryId" type:"string"` // The name of the repository whose policy you want to retrieve. + // + // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"` } @@ -1207,7 +2223,7 @@ func (s GetRepositoryPolicyOutput) GoString() string { return s.String() } -// Object representing an image. +// An object representing an Amazon ECR image. type Image struct { _ struct{} `type:"structure"` @@ -1234,6 +2250,46 @@ func (s Image) GoString() string { return s.String() } +// An object that describes an image returned by a DescribeImages operation. +type ImageDetail struct { + _ struct{} `type:"structure"` + + // The sha256 digest of the image manifest. + ImageDigest *string `locationName:"imageDigest" type:"string"` + + // The date and time, expressed in standard JavaScript date format, at which + // the current image was pushed to the repository. + ImagePushedAt *time.Time `locationName:"imagePushedAt" type:"timestamp" timestampFormat:"unix"` + + // The size, in bytes, of the image in the repository. + // + // Beginning with Docker version 1.9, the Docker client compresses image layers + // before pushing them to a V2 Docker registry. The output of the docker images + // command shows the uncompressed image size, so it may return a larger image + // size than the image sizes returned by DescribeImages. + ImageSizeInBytes *int64 `locationName:"imageSizeInBytes" type:"long"` + + // The list of tags associated with this image. + ImageTags []*string `locationName:"imageTags" type:"list"` + + // The AWS account ID associated with the registry to which this image belongs. + RegistryId *string `locationName:"registryId" type:"string"` + + // The name of the repository to which this image belongs. + RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"` +} + +// String returns the string representation +func (s ImageDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImageDetail) GoString() string { + return s.String() +} + +// An object representing an Amazon ECR image failure. type ImageFailure struct { _ struct{} `type:"structure"` @@ -1257,6 +2313,7 @@ func (s ImageFailure) GoString() string { return s.String() } +// An object with identifying information for an Amazon ECR image. type ImageIdentifier struct { _ struct{} `type:"structure"` @@ -1285,6 +2342,8 @@ type InitiateLayerUploadInput struct { RegistryId *string `locationName:"registryId" type:"string"` // The name of the repository that you intend to upload layers to. + // + // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"` } @@ -1336,6 +2395,7 @@ func (s InitiateLayerUploadOutput) GoString() string { return s.String() } +// An object representing an Amazon ECR image layer. type Layer struct { _ struct{} `type:"structure"` @@ -1360,6 +2420,7 @@ func (s Layer) GoString() string { return s.String() } +// An object representing an Amazon ECR image layer failure. type LayerFailure struct { _ struct{} `type:"structure"` @@ -1383,9 +2444,31 @@ func (s LayerFailure) GoString() string { return s.String() } +// An object representing a filter on a ListImages operation. +type ListImagesFilter struct { + _ struct{} `type:"structure"` + + // The tag status with which to filter your ListImages results. You can filter + // results based on whether they are TAGGED or UNTAGGED. + TagStatus *string `locationName:"tagStatus" type:"string" enum:"TagStatus"` +} + +// String returns the string representation +func (s ListImagesFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListImagesFilter) GoString() string { + return s.String() +} + type ListImagesInput struct { _ struct{} `type:"structure"` + // The filter key and value with which to filter your ListImages results. + Filter *ListImagesFilter `locationName:"filter" type:"structure"` + // The maximum number of image results returned by ListImages in paginated output. // When this parameter is used, ListImages only returns maxResults results in // a single page along with a nextToken response element. The remaining results @@ -1399,6 +2482,9 @@ type ListImagesInput struct { // where maxResults was used and the results exceeded the value of that parameter. // Pagination continues from the end of the previous results that returned the // nextToken value. This value is null when there are no more results to return. + // + // This token should be treated as an opaque identifier that is only used + // to retrieve the next items in a list and not for other programmatic purposes. NextToken *string `locationName:"nextToken" type:"string"` // The AWS account ID associated with the registry that contains the repository @@ -1407,6 +2493,8 @@ type ListImagesInput struct { RegistryId *string `locationName:"registryId" type:"string"` // The repository whose image IDs are to be listed. + // + // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"` } @@ -1466,6 +2554,8 @@ type PutImageInput struct { _ struct{} `type:"structure"` // The image manifest corresponding to the image to be uploaded. + // + // ImageManifest is a required field ImageManifest *string `locationName:"imageManifest" type:"string" required:"true"` // The AWS account ID associated with the registry that contains the repository @@ -1474,6 +2564,8 @@ type PutImageInput struct { RegistryId *string `locationName:"registryId" type:"string"` // The name of the repository in which to put the image. + // + // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"` } @@ -1523,10 +2615,14 @@ func (s PutImageOutput) GoString() string { return s.String() } -// Object representing a repository. +// An object representing a repository. type Repository struct { _ struct{} `type:"structure"` + // The date and time, in JavaScript date/time format, when the repository was + // created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unix"` + // The AWS account ID associated with the registry that contains the repository. RegistryId *string `locationName:"registryId" type:"string"` @@ -1563,6 +2659,8 @@ type SetRepositoryPolicyInput struct { Force *bool `locationName:"force" type:"boolean"` // The JSON repository policy text to apply to the repository. + // + // PolicyText is a required field PolicyText *string `locationName:"policyText" type:"string" required:"true"` // The AWS account ID associated with the registry that contains the repository. @@ -1570,6 +2668,8 @@ type SetRepositoryPolicyInput struct { RegistryId *string `locationName:"registryId" type:"string"` // The name of the repository to receive the policy. + // + // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"` } @@ -1631,12 +2731,18 @@ type UploadLayerPartInput struct { // The base64-encoded layer part payload. // // LayerPartBlob is automatically base64 encoded/decoded by the SDK. + // + // LayerPartBlob is a required field LayerPartBlob []byte `locationName:"layerPartBlob" type:"blob" required:"true"` // The integer value of the first byte of the layer part. + // + // PartFirstByte is a required field PartFirstByte *int64 `locationName:"partFirstByte" type:"long" required:"true"` // The integer value of the last byte of the layer part. + // + // PartLastByte is a required field PartLastByte *int64 `locationName:"partLastByte" type:"long" required:"true"` // The AWS account ID associated with the registry that you are uploading layer @@ -1644,10 +2750,14 @@ type UploadLayerPartInput struct { RegistryId *string `locationName:"registryId" type:"string"` // The name of the repository that you are uploading layer parts to. + // + // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"` // The upload ID from a previous InitiateLayerUpload operation to associate // with the layer part upload. + // + // UploadId is a required field UploadId *string `locationName:"uploadId" type:"string" required:"true"` } @@ -1716,28 +2826,42 @@ func (s UploadLayerPartOutput) GoString() string { } const ( - // @enum ImageFailureCode + // ImageFailureCodeInvalidImageDigest is a ImageFailureCode enum value ImageFailureCodeInvalidImageDigest = "InvalidImageDigest" - // @enum ImageFailureCode + + // ImageFailureCodeInvalidImageTag is a ImageFailureCode enum value ImageFailureCodeInvalidImageTag = "InvalidImageTag" - // @enum ImageFailureCode + + // ImageFailureCodeImageTagDoesNotMatchDigest is a ImageFailureCode enum value ImageFailureCodeImageTagDoesNotMatchDigest = "ImageTagDoesNotMatchDigest" - // @enum ImageFailureCode + + // ImageFailureCodeImageNotFound is a ImageFailureCode enum value ImageFailureCodeImageNotFound = "ImageNotFound" - // @enum ImageFailureCode + + // ImageFailureCodeMissingDigestAndTag is a ImageFailureCode enum value ImageFailureCodeMissingDigestAndTag = "MissingDigestAndTag" ) const ( - // @enum LayerAvailability + // LayerAvailabilityAvailable is a LayerAvailability enum value LayerAvailabilityAvailable = "AVAILABLE" - // @enum LayerAvailability + + // LayerAvailabilityUnavailable is a LayerAvailability enum value LayerAvailabilityUnavailable = "UNAVAILABLE" ) const ( - // @enum LayerFailureCode + // LayerFailureCodeInvalidLayerDigest is a LayerFailureCode enum value LayerFailureCodeInvalidLayerDigest = "InvalidLayerDigest" - // @enum LayerFailureCode + + // LayerFailureCodeMissingLayerDigest is a LayerFailureCode enum value LayerFailureCodeMissingLayerDigest = "MissingLayerDigest" ) + +const ( + // TagStatusTagged is a TagStatus enum value + TagStatusTagged = "TAGGED" + + // TagStatusUntagged is a TagStatus enum value + TagStatusUntagged = "UNTAGGED" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go b/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go index 70941f1a67c6..f05c92c728f5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go @@ -13,7 +13,30 @@ import ( const opCreateCluster = "CreateCluster" -// CreateClusterRequest generates a request for the CreateCluster operation. +// CreateClusterRequest generates a "aws/request.Request" representing the +// client's request for the CreateCluster operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateCluster for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateCluster method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateClusterRequest method. +// req, resp := client.CreateClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECS) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) { op := &request.Operation{ Name: opCreateCluster, @@ -31,9 +54,32 @@ func (c *ECS) CreateClusterRequest(input *CreateClusterInput) (req *request.Requ return } +// CreateCluster API operation for Amazon EC2 Container Service. +// // Creates a new Amazon ECS cluster. By default, your account receives a default // cluster when you launch your first container instance. However, you can create // your own cluster with a unique name with the CreateCluster action. +// +// 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 EC2 Container Service's +// API operation CreateCluster for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permission to use the action +// or resource, or specifying an identifier that is not valid. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// func (c *ECS) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) { req, out := c.CreateClusterRequest(input) err := req.Send() @@ -42,7 +88,30 @@ func (c *ECS) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, er const opCreateService = "CreateService" -// CreateServiceRequest generates a request for the CreateService operation. +// CreateServiceRequest generates a "aws/request.Request" representing the +// client's request for the CreateService operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateService for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateService method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateServiceRequest method. +// req, resp := client.CreateServiceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECS) CreateServiceRequest(input *CreateServiceInput) (req *request.Request, output *CreateServiceOutput) { op := &request.Operation{ Name: opCreateService, @@ -60,11 +129,19 @@ func (c *ECS) CreateServiceRequest(input *CreateServiceInput) (req *request.Requ return } +// CreateService API operation for Amazon EC2 Container Service. +// // Runs and maintains a desired number of tasks from a specified task definition. // If the number of tasks running in a service drops below desiredCount, Amazon // ECS spawns another instantiation of the task in the specified cluster. To // update an existing service, see UpdateService. // +// In addition to maintaining the desired count of tasks in your service, you +// can optionally run your service behind a load balancer. The load balancer +// distributes traffic across the tasks that are associated with the service. +// For more information, see Service Load Balancing (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) +// in the Amazon EC2 Container Service Developer Guide. +// // You can optionally specify a deployment configuration for your service. // During a deployment (which is triggered by changing the task definition of // a service with an UpdateService operation), the service scheduler uses the @@ -105,6 +182,31 @@ func (c *ECS) CreateServiceRequest(input *CreateServiceInput) (req *request.Requ // Place the new service task on a valid container instance in an optimal // Availability Zone (based on the previous steps), favoring container instances // with the fewest number of running tasks for this service. +// +// 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 EC2 Container Service's +// API operation CreateService for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permission to use the action +// or resource, or specifying an identifier that is not valid. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * ClusterNotFoundException +// The specified cluster could not be found. You can view your available clusters +// with ListClusters. Amazon ECS clusters are region-specific. +// func (c *ECS) CreateService(input *CreateServiceInput) (*CreateServiceOutput, error) { req, out := c.CreateServiceRequest(input) err := req.Send() @@ -113,7 +215,30 @@ func (c *ECS) CreateService(input *CreateServiceInput) (*CreateServiceOutput, er const opDeleteCluster = "DeleteCluster" -// DeleteClusterRequest generates a request for the DeleteCluster operation. +// DeleteClusterRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCluster operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteCluster for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteCluster method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteClusterRequest method. +// req, resp := client.DeleteClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECS) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Request, output *DeleteClusterOutput) { op := &request.Operation{ Name: opDeleteCluster, @@ -131,9 +256,46 @@ func (c *ECS) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Requ return } +// DeleteCluster API operation for Amazon EC2 Container Service. +// // Deletes the specified cluster. You must deregister all container instances // from this cluster before you may delete it. You can list the container instances // in a cluster with ListContainerInstances and deregister them with DeregisterContainerInstance. +// +// 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 EC2 Container Service's +// API operation DeleteCluster for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permission to use the action +// or resource, or specifying an identifier that is not valid. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * ClusterNotFoundException +// The specified cluster could not be found. You can view your available clusters +// with ListClusters. Amazon ECS clusters are region-specific. +// +// * ClusterContainsContainerInstancesException +// You cannot delete a cluster that has registered container instances. You +// must first deregister the container instances before you can delete the cluster. +// For more information, see DeregisterContainerInstance. +// +// * ClusterContainsServicesException +// You cannot delete a cluster that contains services. You must first update +// the service to reduce its desired task count to 0 and then delete the service. +// For more information, see UpdateService and DeleteService. +// func (c *ECS) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) { req, out := c.DeleteClusterRequest(input) err := req.Send() @@ -142,7 +304,30 @@ func (c *ECS) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, er const opDeleteService = "DeleteService" -// DeleteServiceRequest generates a request for the DeleteService operation. +// DeleteServiceRequest generates a "aws/request.Request" representing the +// client's request for the DeleteService operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteService for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteService method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteServiceRequest method. +// req, resp := client.DeleteServiceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECS) DeleteServiceRequest(input *DeleteServiceInput) (req *request.Request, output *DeleteServiceOutput) { op := &request.Operation{ Name: opDeleteService, @@ -160,6 +345,8 @@ func (c *ECS) DeleteServiceRequest(input *DeleteServiceInput) (req *request.Requ return } +// DeleteService API operation for Amazon EC2 Container Service. +// // Deletes a specified service within a cluster. You can delete a service if // you have no running tasks in it and the desired task count is zero. If the // service is actively maintaining tasks, you cannot delete it, and you must @@ -174,6 +361,35 @@ func (c *ECS) DeleteServiceRequest(input *DeleteServiceInput) (req *request.Requ // API operations; however, in the future, INACTIVE services may be cleaned // up and purged from Amazon ECS record keeping, and DescribeServices API operations // on those services will return a ServiceNotFoundException error. +// +// 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 EC2 Container Service's +// API operation DeleteService for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permission to use the action +// or resource, or specifying an identifier that is not valid. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * ClusterNotFoundException +// The specified cluster could not be found. You can view your available clusters +// with ListClusters. Amazon ECS clusters are region-specific. +// +// * ServiceNotFoundException +// The specified service could not be found. You can view your available services +// with ListServices. Amazon ECS services are cluster-specific and region-specific. +// func (c *ECS) DeleteService(input *DeleteServiceInput) (*DeleteServiceOutput, error) { req, out := c.DeleteServiceRequest(input) err := req.Send() @@ -182,7 +398,30 @@ func (c *ECS) DeleteService(input *DeleteServiceInput) (*DeleteServiceOutput, er const opDeregisterContainerInstance = "DeregisterContainerInstance" -// DeregisterContainerInstanceRequest generates a request for the DeregisterContainerInstance operation. +// DeregisterContainerInstanceRequest generates a "aws/request.Request" representing the +// client's request for the DeregisterContainerInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeregisterContainerInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeregisterContainerInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeregisterContainerInstanceRequest method. +// req, resp := client.DeregisterContainerInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECS) DeregisterContainerInstanceRequest(input *DeregisterContainerInstanceInput) (req *request.Request, output *DeregisterContainerInstanceOutput) { op := &request.Operation{ Name: opDeregisterContainerInstance, @@ -200,6 +439,8 @@ func (c *ECS) DeregisterContainerInstanceRequest(input *DeregisterContainerInsta return } +// DeregisterContainerInstance API operation for Amazon EC2 Container Service. +// // Deregisters an Amazon ECS container instance from the specified cluster. // This instance is no longer available to run tasks. // @@ -212,8 +453,35 @@ func (c *ECS) DeregisterContainerInstanceRequest(input *DeregisterContainerInsta // but it does not terminate the EC2 instance; if you are finished using the // instance, be sure to terminate it in the Amazon EC2 console to stop billing. // -// When you terminate a container instance, it is automatically deregistered -// from your cluster. +// If you terminate a running container instance with a connected Amazon ECS +// container agent, the agent automatically deregisters the instance from your +// cluster (stopped container instances or instances with disconnected agents +// are not automatically deregistered when terminated). +// +// 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 EC2 Container Service's +// API operation DeregisterContainerInstance for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permission to use the action +// or resource, or specifying an identifier that is not valid. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * ClusterNotFoundException +// The specified cluster could not be found. You can view your available clusters +// with ListClusters. Amazon ECS clusters are region-specific. +// func (c *ECS) DeregisterContainerInstance(input *DeregisterContainerInstanceInput) (*DeregisterContainerInstanceOutput, error) { req, out := c.DeregisterContainerInstanceRequest(input) err := req.Send() @@ -222,7 +490,30 @@ func (c *ECS) DeregisterContainerInstance(input *DeregisterContainerInstanceInpu const opDeregisterTaskDefinition = "DeregisterTaskDefinition" -// DeregisterTaskDefinitionRequest generates a request for the DeregisterTaskDefinition operation. +// DeregisterTaskDefinitionRequest generates a "aws/request.Request" representing the +// client's request for the DeregisterTaskDefinition operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeregisterTaskDefinition for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeregisterTaskDefinition method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeregisterTaskDefinitionRequest method. +// req, resp := client.DeregisterTaskDefinitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECS) DeregisterTaskDefinitionRequest(input *DeregisterTaskDefinitionInput) (req *request.Request, output *DeregisterTaskDefinitionOutput) { op := &request.Operation{ Name: opDeregisterTaskDefinition, @@ -240,6 +531,8 @@ func (c *ECS) DeregisterTaskDefinitionRequest(input *DeregisterTaskDefinitionInp return } +// DeregisterTaskDefinition API operation for Amazon EC2 Container Service. +// // Deregisters the specified task definition by family and revision. Upon deregistration, // the task definition is marked as INACTIVE. Existing tasks and services that // reference an INACTIVE task definition continue to run without disruption. @@ -250,6 +543,27 @@ func (c *ECS) DeregisterTaskDefinitionRequest(input *DeregisterTaskDefinitionInp // services, and you cannot update an existing service to reference an INACTIVE // task definition (although there may be up to a 10 minute window following // deregistration where these restrictions have not yet taken effect). +// +// 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 EC2 Container Service's +// API operation DeregisterTaskDefinition for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permission to use the action +// or resource, or specifying an identifier that is not valid. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// func (c *ECS) DeregisterTaskDefinition(input *DeregisterTaskDefinitionInput) (*DeregisterTaskDefinitionOutput, error) { req, out := c.DeregisterTaskDefinitionRequest(input) err := req.Send() @@ -258,7 +572,30 @@ func (c *ECS) DeregisterTaskDefinition(input *DeregisterTaskDefinitionInput) (*D const opDescribeClusters = "DescribeClusters" -// DescribeClustersRequest generates a request for the DescribeClusters operation. +// DescribeClustersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeClusters operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeClusters for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeClusters method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeClustersRequest method. +// req, resp := client.DescribeClustersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECS) DescribeClustersRequest(input *DescribeClustersInput) (req *request.Request, output *DescribeClustersOutput) { op := &request.Operation{ Name: opDescribeClusters, @@ -276,7 +613,30 @@ func (c *ECS) DescribeClustersRequest(input *DescribeClustersInput) (req *reques return } +// DescribeClusters API operation for Amazon EC2 Container Service. +// // Describes one or more of your clusters. +// +// 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 EC2 Container Service's +// API operation DescribeClusters for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permission to use the action +// or resource, or specifying an identifier that is not valid. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// func (c *ECS) DescribeClusters(input *DescribeClustersInput) (*DescribeClustersOutput, error) { req, out := c.DescribeClustersRequest(input) err := req.Send() @@ -285,7 +645,30 @@ func (c *ECS) DescribeClusters(input *DescribeClustersInput) (*DescribeClustersO const opDescribeContainerInstances = "DescribeContainerInstances" -// DescribeContainerInstancesRequest generates a request for the DescribeContainerInstances operation. +// DescribeContainerInstancesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeContainerInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeContainerInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeContainerInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeContainerInstancesRequest method. +// req, resp := client.DescribeContainerInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECS) DescribeContainerInstancesRequest(input *DescribeContainerInstancesInput) (req *request.Request, output *DescribeContainerInstancesOutput) { op := &request.Operation{ Name: opDescribeContainerInstances, @@ -303,8 +686,35 @@ func (c *ECS) DescribeContainerInstancesRequest(input *DescribeContainerInstance return } +// DescribeContainerInstances API operation for Amazon EC2 Container Service. +// // Describes Amazon EC2 Container Service container instances. Returns metadata // about registered and remaining resources on each container instance requested. +// +// 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 EC2 Container Service's +// API operation DescribeContainerInstances for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permission to use the action +// or resource, or specifying an identifier that is not valid. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * ClusterNotFoundException +// The specified cluster could not be found. You can view your available clusters +// with ListClusters. Amazon ECS clusters are region-specific. +// func (c *ECS) DescribeContainerInstances(input *DescribeContainerInstancesInput) (*DescribeContainerInstancesOutput, error) { req, out := c.DescribeContainerInstancesRequest(input) err := req.Send() @@ -313,7 +723,30 @@ func (c *ECS) DescribeContainerInstances(input *DescribeContainerInstancesInput) const opDescribeServices = "DescribeServices" -// DescribeServicesRequest generates a request for the DescribeServices operation. +// DescribeServicesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeServices operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeServices for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeServices method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeServicesRequest method. +// req, resp := client.DescribeServicesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECS) DescribeServicesRequest(input *DescribeServicesInput) (req *request.Request, output *DescribeServicesOutput) { op := &request.Operation{ Name: opDescribeServices, @@ -331,7 +764,34 @@ func (c *ECS) DescribeServicesRequest(input *DescribeServicesInput) (req *reques return } +// DescribeServices API operation for Amazon EC2 Container Service. +// // Describes the specified services running in your cluster. +// +// 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 EC2 Container Service's +// API operation DescribeServices for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permission to use the action +// or resource, or specifying an identifier that is not valid. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * ClusterNotFoundException +// The specified cluster could not be found. You can view your available clusters +// with ListClusters. Amazon ECS clusters are region-specific. +// func (c *ECS) DescribeServices(input *DescribeServicesInput) (*DescribeServicesOutput, error) { req, out := c.DescribeServicesRequest(input) err := req.Send() @@ -340,7 +800,30 @@ func (c *ECS) DescribeServices(input *DescribeServicesInput) (*DescribeServicesO const opDescribeTaskDefinition = "DescribeTaskDefinition" -// DescribeTaskDefinitionRequest generates a request for the DescribeTaskDefinition operation. +// DescribeTaskDefinitionRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTaskDefinition operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeTaskDefinition for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeTaskDefinition method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeTaskDefinitionRequest method. +// req, resp := client.DescribeTaskDefinitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECS) DescribeTaskDefinitionRequest(input *DescribeTaskDefinitionInput) (req *request.Request, output *DescribeTaskDefinitionOutput) { op := &request.Operation{ Name: opDescribeTaskDefinition, @@ -358,12 +841,35 @@ func (c *ECS) DescribeTaskDefinitionRequest(input *DescribeTaskDefinitionInput) return } +// DescribeTaskDefinition API operation for Amazon EC2 Container Service. +// // Describes a task definition. You can specify a family and revision to find // information about a specific task definition, or you can simply specify the // family to find the latest ACTIVE revision in that family. // // You can only describe INACTIVE task definitions while an active task or // service references them. +// +// 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 EC2 Container Service's +// API operation DescribeTaskDefinition for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permission to use the action +// or resource, or specifying an identifier that is not valid. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// func (c *ECS) DescribeTaskDefinition(input *DescribeTaskDefinitionInput) (*DescribeTaskDefinitionOutput, error) { req, out := c.DescribeTaskDefinitionRequest(input) err := req.Send() @@ -372,7 +878,30 @@ func (c *ECS) DescribeTaskDefinition(input *DescribeTaskDefinitionInput) (*Descr const opDescribeTasks = "DescribeTasks" -// DescribeTasksRequest generates a request for the DescribeTasks operation. +// DescribeTasksRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTasks operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeTasks for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeTasks method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeTasksRequest method. +// req, resp := client.DescribeTasksRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECS) DescribeTasksRequest(input *DescribeTasksInput) (req *request.Request, output *DescribeTasksOutput) { op := &request.Operation{ Name: opDescribeTasks, @@ -390,7 +919,34 @@ func (c *ECS) DescribeTasksRequest(input *DescribeTasksInput) (req *request.Requ return } +// DescribeTasks API operation for Amazon EC2 Container Service. +// // Describes a specified task or tasks. +// +// 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 EC2 Container Service's +// API operation DescribeTasks for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permission to use the action +// or resource, or specifying an identifier that is not valid. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * ClusterNotFoundException +// The specified cluster could not be found. You can view your available clusters +// with ListClusters. Amazon ECS clusters are region-specific. +// func (c *ECS) DescribeTasks(input *DescribeTasksInput) (*DescribeTasksOutput, error) { req, out := c.DescribeTasksRequest(input) err := req.Send() @@ -399,7 +955,30 @@ func (c *ECS) DescribeTasks(input *DescribeTasksInput) (*DescribeTasksOutput, er const opDiscoverPollEndpoint = "DiscoverPollEndpoint" -// DiscoverPollEndpointRequest generates a request for the DiscoverPollEndpoint operation. +// DiscoverPollEndpointRequest generates a "aws/request.Request" representing the +// client's request for the DiscoverPollEndpoint operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DiscoverPollEndpoint for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DiscoverPollEndpoint method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DiscoverPollEndpointRequest method. +// req, resp := client.DiscoverPollEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECS) DiscoverPollEndpointRequest(input *DiscoverPollEndpointInput) (req *request.Request, output *DiscoverPollEndpointOutput) { op := &request.Operation{ Name: opDiscoverPollEndpoint, @@ -417,11 +996,30 @@ func (c *ECS) DiscoverPollEndpointRequest(input *DiscoverPollEndpointInput) (req return } +// DiscoverPollEndpoint API operation for Amazon EC2 Container Service. +// // This action is only used by the Amazon EC2 Container Service agent, and it // is not intended for use outside of the agent. // -// Returns an endpoint for the Amazon EC2 Container Service agent to poll for -// updates. +// Returns an endpoint for the Amazon EC2 Container Service agent to poll +// for updates. +// +// 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 EC2 Container Service's +// API operation DiscoverPollEndpoint for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permission to use the action +// or resource, or specifying an identifier that is not valid. +// func (c *ECS) DiscoverPollEndpoint(input *DiscoverPollEndpointInput) (*DiscoverPollEndpointOutput, error) { req, out := c.DiscoverPollEndpointRequest(input) err := req.Send() @@ -430,7 +1028,30 @@ func (c *ECS) DiscoverPollEndpoint(input *DiscoverPollEndpointInput) (*DiscoverP const opListClusters = "ListClusters" -// ListClustersRequest generates a request for the ListClusters operation. +// ListClustersRequest generates a "aws/request.Request" representing the +// client's request for the ListClusters operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListClusters for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListClusters method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListClustersRequest method. +// req, resp := client.ListClustersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECS) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) { op := &request.Operation{ Name: opListClusters, @@ -454,13 +1075,53 @@ func (c *ECS) ListClustersRequest(input *ListClustersInput) (req *request.Reques return } +// ListClusters API operation for Amazon EC2 Container Service. +// // Returns a list of existing clusters. +// +// 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 EC2 Container Service's +// API operation ListClusters for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permission to use the action +// or resource, or specifying an identifier that is not valid. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// func (c *ECS) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) { req, out := c.ListClustersRequest(input) err := req.Send() return out, err } +// ListClustersPages iterates over the pages of a ListClusters operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListClusters 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 ListClusters operation. +// pageNum := 0 +// err := client.ListClustersPages(params, +// func(page *ListClustersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *ECS) ListClustersPages(input *ListClustersInput, fn func(p *ListClustersOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListClustersRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -471,7 +1132,30 @@ func (c *ECS) ListClustersPages(input *ListClustersInput, fn func(p *ListCluster const opListContainerInstances = "ListContainerInstances" -// ListContainerInstancesRequest generates a request for the ListContainerInstances operation. +// ListContainerInstancesRequest generates a "aws/request.Request" representing the +// client's request for the ListContainerInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListContainerInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListContainerInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListContainerInstancesRequest method. +// req, resp := client.ListContainerInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECS) ListContainerInstancesRequest(input *ListContainerInstancesInput) (req *request.Request, output *ListContainerInstancesOutput) { op := &request.Operation{ Name: opListContainerInstances, @@ -495,13 +1179,57 @@ func (c *ECS) ListContainerInstancesRequest(input *ListContainerInstancesInput) return } +// ListContainerInstances API operation for Amazon EC2 Container Service. +// // Returns a list of container instances in a specified cluster. +// +// 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 EC2 Container Service's +// API operation ListContainerInstances for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permission to use the action +// or resource, or specifying an identifier that is not valid. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * ClusterNotFoundException +// The specified cluster could not be found. You can view your available clusters +// with ListClusters. Amazon ECS clusters are region-specific. +// func (c *ECS) ListContainerInstances(input *ListContainerInstancesInput) (*ListContainerInstancesOutput, error) { req, out := c.ListContainerInstancesRequest(input) err := req.Send() return out, err } +// ListContainerInstancesPages iterates over the pages of a ListContainerInstances operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListContainerInstances 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 ListContainerInstances operation. +// pageNum := 0 +// err := client.ListContainerInstancesPages(params, +// func(page *ListContainerInstancesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *ECS) ListContainerInstancesPages(input *ListContainerInstancesInput, fn func(p *ListContainerInstancesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListContainerInstancesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -512,7 +1240,30 @@ func (c *ECS) ListContainerInstancesPages(input *ListContainerInstancesInput, fn const opListServices = "ListServices" -// ListServicesRequest generates a request for the ListServices operation. +// ListServicesRequest generates a "aws/request.Request" representing the +// client's request for the ListServices operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListServices for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListServices method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListServicesRequest method. +// req, resp := client.ListServicesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECS) ListServicesRequest(input *ListServicesInput) (req *request.Request, output *ListServicesOutput) { op := &request.Operation{ Name: opListServices, @@ -536,13 +1287,57 @@ func (c *ECS) ListServicesRequest(input *ListServicesInput) (req *request.Reques return } +// ListServices API operation for Amazon EC2 Container Service. +// // Lists the services that are running in a specified cluster. +// +// 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 EC2 Container Service's +// API operation ListServices for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permission to use the action +// or resource, or specifying an identifier that is not valid. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * ClusterNotFoundException +// The specified cluster could not be found. You can view your available clusters +// with ListClusters. Amazon ECS clusters are region-specific. +// func (c *ECS) ListServices(input *ListServicesInput) (*ListServicesOutput, error) { req, out := c.ListServicesRequest(input) err := req.Send() return out, err } +// ListServicesPages iterates over the pages of a ListServices operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListServices 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 ListServices operation. +// pageNum := 0 +// err := client.ListServicesPages(params, +// func(page *ListServicesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *ECS) ListServicesPages(input *ListServicesInput, fn func(p *ListServicesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListServicesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -553,7 +1348,30 @@ func (c *ECS) ListServicesPages(input *ListServicesInput, fn func(p *ListService const opListTaskDefinitionFamilies = "ListTaskDefinitionFamilies" -// ListTaskDefinitionFamiliesRequest generates a request for the ListTaskDefinitionFamilies operation. +// ListTaskDefinitionFamiliesRequest generates a "aws/request.Request" representing the +// client's request for the ListTaskDefinitionFamilies operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListTaskDefinitionFamilies for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListTaskDefinitionFamilies method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListTaskDefinitionFamiliesRequest method. +// req, resp := client.ListTaskDefinitionFamiliesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECS) ListTaskDefinitionFamiliesRequest(input *ListTaskDefinitionFamiliesInput) (req *request.Request, output *ListTaskDefinitionFamiliesOutput) { op := &request.Operation{ Name: opListTaskDefinitionFamilies, @@ -577,15 +1395,59 @@ func (c *ECS) ListTaskDefinitionFamiliesRequest(input *ListTaskDefinitionFamilie return } +// ListTaskDefinitionFamilies API operation for Amazon EC2 Container Service. +// // Returns a list of task definition families that are registered to your account // (which may include task definition families that no longer have any ACTIVE -// task definitions). You can filter the results with the familyPrefix parameter. +// task definition revisions). +// +// You can filter out task definition families that do not contain any ACTIVE +// task definition revisions by setting the status parameter to ACTIVE. You +// can also filter the results with the familyPrefix parameter. +// +// 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 EC2 Container Service's +// API operation ListTaskDefinitionFamilies for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permission to use the action +// or resource, or specifying an identifier that is not valid. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// func (c *ECS) ListTaskDefinitionFamilies(input *ListTaskDefinitionFamiliesInput) (*ListTaskDefinitionFamiliesOutput, error) { req, out := c.ListTaskDefinitionFamiliesRequest(input) err := req.Send() return out, err } +// ListTaskDefinitionFamiliesPages iterates over the pages of a ListTaskDefinitionFamilies operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTaskDefinitionFamilies 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 ListTaskDefinitionFamilies operation. +// pageNum := 0 +// err := client.ListTaskDefinitionFamiliesPages(params, +// func(page *ListTaskDefinitionFamiliesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *ECS) ListTaskDefinitionFamiliesPages(input *ListTaskDefinitionFamiliesInput, fn func(p *ListTaskDefinitionFamiliesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListTaskDefinitionFamiliesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -596,7 +1458,30 @@ func (c *ECS) ListTaskDefinitionFamiliesPages(input *ListTaskDefinitionFamiliesI const opListTaskDefinitions = "ListTaskDefinitions" -// ListTaskDefinitionsRequest generates a request for the ListTaskDefinitions operation. +// ListTaskDefinitionsRequest generates a "aws/request.Request" representing the +// client's request for the ListTaskDefinitions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListTaskDefinitions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListTaskDefinitions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListTaskDefinitionsRequest method. +// req, resp := client.ListTaskDefinitionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECS) ListTaskDefinitionsRequest(input *ListTaskDefinitionsInput) (req *request.Request, output *ListTaskDefinitionsOutput) { op := &request.Operation{ Name: opListTaskDefinitions, @@ -620,15 +1505,55 @@ func (c *ECS) ListTaskDefinitionsRequest(input *ListTaskDefinitionsInput) (req * return } +// ListTaskDefinitions API operation for Amazon EC2 Container Service. +// // Returns a list of task definitions that are registered to your account. You // can filter the results by family name with the familyPrefix parameter or // by status with the status parameter. +// +// 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 EC2 Container Service's +// API operation ListTaskDefinitions for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permission to use the action +// or resource, or specifying an identifier that is not valid. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// func (c *ECS) ListTaskDefinitions(input *ListTaskDefinitionsInput) (*ListTaskDefinitionsOutput, error) { req, out := c.ListTaskDefinitionsRequest(input) err := req.Send() return out, err } +// ListTaskDefinitionsPages iterates over the pages of a ListTaskDefinitions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTaskDefinitions 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 ListTaskDefinitions operation. +// pageNum := 0 +// err := client.ListTaskDefinitionsPages(params, +// func(page *ListTaskDefinitionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *ECS) ListTaskDefinitionsPages(input *ListTaskDefinitionsInput, fn func(p *ListTaskDefinitionsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListTaskDefinitionsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -639,7 +1564,30 @@ func (c *ECS) ListTaskDefinitionsPages(input *ListTaskDefinitionsInput, fn func( const opListTasks = "ListTasks" -// ListTasksRequest generates a request for the ListTasks operation. +// ListTasksRequest generates a "aws/request.Request" representing the +// client's request for the ListTasks operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListTasks for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListTasks method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListTasksRequest method. +// req, resp := client.ListTasksRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECS) ListTasksRequest(input *ListTasksInput) (req *request.Request, output *ListTasksOutput) { op := &request.Operation{ Name: opListTasks, @@ -663,15 +1611,66 @@ func (c *ECS) ListTasksRequest(input *ListTasksInput) (req *request.Request, out return } +// ListTasks API operation for Amazon EC2 Container Service. +// // Returns a list of tasks for a specified cluster. You can filter the results // by family name, by a particular container instance, or by the desired status // of the task with the family, containerInstance, and desiredStatus parameters. +// +// Recently-stopped tasks might appear in the returned results. Currently, +// stopped tasks appear in the returned results for at least one hour. +// +// 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 EC2 Container Service's +// API operation ListTasks for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permission to use the action +// or resource, or specifying an identifier that is not valid. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * ClusterNotFoundException +// The specified cluster could not be found. You can view your available clusters +// with ListClusters. Amazon ECS clusters are region-specific. +// +// * ServiceNotFoundException +// The specified service could not be found. You can view your available services +// with ListServices. Amazon ECS services are cluster-specific and region-specific. +// func (c *ECS) ListTasks(input *ListTasksInput) (*ListTasksOutput, error) { req, out := c.ListTasksRequest(input) err := req.Send() return out, err } +// ListTasksPages iterates over the pages of a ListTasks operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTasks 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 ListTasks operation. +// pageNum := 0 +// err := client.ListTasksPages(params, +// func(page *ListTasksOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *ECS) ListTasksPages(input *ListTasksInput, fn func(p *ListTasksOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListTasksRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -682,7 +1681,30 @@ func (c *ECS) ListTasksPages(input *ListTasksInput, fn func(p *ListTasksOutput, const opRegisterContainerInstance = "RegisterContainerInstance" -// RegisterContainerInstanceRequest generates a request for the RegisterContainerInstance operation. +// RegisterContainerInstanceRequest generates a "aws/request.Request" representing the +// client's request for the RegisterContainerInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RegisterContainerInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RegisterContainerInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RegisterContainerInstanceRequest method. +// req, resp := client.RegisterContainerInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECS) RegisterContainerInstanceRequest(input *RegisterContainerInstanceInput) (req *request.Request, output *RegisterContainerInstanceOutput) { op := &request.Operation{ Name: opRegisterContainerInstance, @@ -700,11 +1722,30 @@ func (c *ECS) RegisterContainerInstanceRequest(input *RegisterContainerInstanceI return } +// RegisterContainerInstance API operation for Amazon EC2 Container Service. +// // This action is only used by the Amazon EC2 Container Service agent, and it // is not intended for use outside of the agent. // -// Registers an EC2 instance into the specified cluster. This instance becomes +// Registers an EC2 instance into the specified cluster. This instance becomes // available to place containers on. +// +// 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 EC2 Container Service's +// API operation RegisterContainerInstance for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permission to use the action +// or resource, or specifying an identifier that is not valid. +// func (c *ECS) RegisterContainerInstance(input *RegisterContainerInstanceInput) (*RegisterContainerInstanceOutput, error) { req, out := c.RegisterContainerInstanceRequest(input) err := req.Send() @@ -713,7 +1754,30 @@ func (c *ECS) RegisterContainerInstance(input *RegisterContainerInstanceInput) ( const opRegisterTaskDefinition = "RegisterTaskDefinition" -// RegisterTaskDefinitionRequest generates a request for the RegisterTaskDefinition operation. +// RegisterTaskDefinitionRequest generates a "aws/request.Request" representing the +// client's request for the RegisterTaskDefinition operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RegisterTaskDefinition for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RegisterTaskDefinition method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RegisterTaskDefinitionRequest method. +// req, resp := client.RegisterTaskDefinitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECS) RegisterTaskDefinitionRequest(input *RegisterTaskDefinitionInput) (req *request.Request, output *RegisterTaskDefinitionOutput) { op := &request.Operation{ Name: opRegisterTaskDefinition, @@ -731,11 +1795,46 @@ func (c *ECS) RegisterTaskDefinitionRequest(input *RegisterTaskDefinitionInput) return } +// RegisterTaskDefinition API operation for Amazon EC2 Container Service. +// // Registers a new task definition from the supplied family and containerDefinitions. // Optionally, you can add data volumes to your containers with the volumes // parameter. For more information about task definition parameters and defaults, // see Amazon ECS Task Definitions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) // in the Amazon EC2 Container Service Developer Guide. +// +// You can specify an IAM role for your task with the taskRoleArn parameter. +// When you specify an IAM role for a task, its containers can then use the +// latest versions of the AWS CLI or SDKs to make API requests to the AWS services +// that are specified in the IAM policy associated with the role. For more information, +// see IAM Roles for Tasks (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) +// in the Amazon EC2 Container Service Developer Guide. +// +// You can specify a Docker networking mode for the containers in your task +// definition with the networkMode parameter. The available network modes correspond +// to those described in Network settings (https://docs.docker.com/engine/reference/run/#/network-settings) +// in the Docker run reference. +// +// 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 EC2 Container Service's +// API operation RegisterTaskDefinition for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permission to use the action +// or resource, or specifying an identifier that is not valid. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// func (c *ECS) RegisterTaskDefinition(input *RegisterTaskDefinitionInput) (*RegisterTaskDefinitionOutput, error) { req, out := c.RegisterTaskDefinitionRequest(input) err := req.Send() @@ -744,7 +1843,30 @@ func (c *ECS) RegisterTaskDefinition(input *RegisterTaskDefinitionInput) (*Regis const opRunTask = "RunTask" -// RunTaskRequest generates a request for the RunTask operation. +// RunTaskRequest generates a "aws/request.Request" representing the +// client's request for the RunTask operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RunTask for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RunTask method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RunTaskRequest method. +// req, resp := client.RunTaskRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECS) RunTaskRequest(input *RunTaskInput) (req *request.Request, output *RunTaskOutput) { op := &request.Operation{ Name: opRunTask, @@ -762,11 +1884,38 @@ func (c *ECS) RunTaskRequest(input *RunTaskInput) (req *request.Request, output return } +// RunTask API operation for Amazon EC2 Container Service. +// // Start a task using random placement and the default Amazon ECS scheduler. // To use your own scheduler or place a task on a specific container instance, // use StartTask instead. // // The count parameter is limited to 10 tasks per call. +// +// 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 EC2 Container Service's +// API operation RunTask for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permission to use the action +// or resource, or specifying an identifier that is not valid. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * ClusterNotFoundException +// The specified cluster could not be found. You can view your available clusters +// with ListClusters. Amazon ECS clusters are region-specific. +// func (c *ECS) RunTask(input *RunTaskInput) (*RunTaskOutput, error) { req, out := c.RunTaskRequest(input) err := req.Send() @@ -775,7 +1924,30 @@ func (c *ECS) RunTask(input *RunTaskInput) (*RunTaskOutput, error) { const opStartTask = "StartTask" -// StartTaskRequest generates a request for the StartTask operation. +// StartTaskRequest generates a "aws/request.Request" representing the +// client's request for the StartTask operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See StartTask for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the StartTask method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the StartTaskRequest method. +// req, resp := client.StartTaskRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECS) StartTaskRequest(input *StartTaskInput) (req *request.Request, output *StartTaskOutput) { op := &request.Operation{ Name: opStartTask, @@ -793,11 +1965,38 @@ func (c *ECS) StartTaskRequest(input *StartTaskInput) (req *request.Request, out return } +// StartTask API operation for Amazon EC2 Container Service. +// // Starts a new task from the specified task definition on the specified container // instance or instances. To use the default Amazon ECS scheduler to place your // task, use RunTask instead. // // The list of container instances to start tasks on is limited to 10. +// +// 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 EC2 Container Service's +// API operation StartTask for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permission to use the action +// or resource, or specifying an identifier that is not valid. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * ClusterNotFoundException +// The specified cluster could not be found. You can view your available clusters +// with ListClusters. Amazon ECS clusters are region-specific. +// func (c *ECS) StartTask(input *StartTaskInput) (*StartTaskOutput, error) { req, out := c.StartTaskRequest(input) err := req.Send() @@ -806,7 +2005,30 @@ func (c *ECS) StartTask(input *StartTaskInput) (*StartTaskOutput, error) { const opStopTask = "StopTask" -// StopTaskRequest generates a request for the StopTask operation. +// StopTaskRequest generates a "aws/request.Request" representing the +// client's request for the StopTask operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See StopTask for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the StopTask method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the StopTaskRequest method. +// req, resp := client.StopTaskRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECS) StopTaskRequest(input *StopTaskInput) (req *request.Request, output *StopTaskOutput) { op := &request.Operation{ Name: opStopTask, @@ -824,6 +2046,8 @@ func (c *ECS) StopTaskRequest(input *StopTaskInput) (req *request.Request, outpu return } +// StopTask API operation for Amazon EC2 Container Service. +// // Stops a running task. // // When StopTask is called on a task, the equivalent of docker stop is issued @@ -831,6 +2055,31 @@ func (c *ECS) StopTaskRequest(input *StopTaskInput) (req *request.Request, outpu // timeout, after which SIGKILL is sent and the containers are forcibly stopped. // If the container handles the SIGTERM gracefully and exits within 30 seconds // from receiving it, no SIGKILL is sent. +// +// 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 EC2 Container Service's +// API operation StopTask for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permission to use the action +// or resource, or specifying an identifier that is not valid. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * ClusterNotFoundException +// The specified cluster could not be found. You can view your available clusters +// with ListClusters. Amazon ECS clusters are region-specific. +// func (c *ECS) StopTask(input *StopTaskInput) (*StopTaskOutput, error) { req, out := c.StopTaskRequest(input) err := req.Send() @@ -839,7 +2088,30 @@ func (c *ECS) StopTask(input *StopTaskInput) (*StopTaskOutput, error) { const opSubmitContainerStateChange = "SubmitContainerStateChange" -// SubmitContainerStateChangeRequest generates a request for the SubmitContainerStateChange operation. +// SubmitContainerStateChangeRequest generates a "aws/request.Request" representing the +// client's request for the SubmitContainerStateChange operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SubmitContainerStateChange for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SubmitContainerStateChange method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SubmitContainerStateChangeRequest method. +// req, resp := client.SubmitContainerStateChangeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECS) SubmitContainerStateChangeRequest(input *SubmitContainerStateChangeInput) (req *request.Request, output *SubmitContainerStateChangeOutput) { op := &request.Operation{ Name: opSubmitContainerStateChange, @@ -857,10 +2129,29 @@ func (c *ECS) SubmitContainerStateChangeRequest(input *SubmitContainerStateChang return } +// SubmitContainerStateChange API operation for Amazon EC2 Container Service. +// // This action is only used by the Amazon EC2 Container Service agent, and it // is not intended for use outside of the agent. // -// Sent to acknowledge that a container changed states. +// Sent to acknowledge that a container changed states. +// +// 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 EC2 Container Service's +// API operation SubmitContainerStateChange for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permission to use the action +// or resource, or specifying an identifier that is not valid. +// func (c *ECS) SubmitContainerStateChange(input *SubmitContainerStateChangeInput) (*SubmitContainerStateChangeOutput, error) { req, out := c.SubmitContainerStateChangeRequest(input) err := req.Send() @@ -869,7 +2160,30 @@ func (c *ECS) SubmitContainerStateChange(input *SubmitContainerStateChangeInput) const opSubmitTaskStateChange = "SubmitTaskStateChange" -// SubmitTaskStateChangeRequest generates a request for the SubmitTaskStateChange operation. +// SubmitTaskStateChangeRequest generates a "aws/request.Request" representing the +// client's request for the SubmitTaskStateChange operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SubmitTaskStateChange for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SubmitTaskStateChange method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SubmitTaskStateChangeRequest method. +// req, resp := client.SubmitTaskStateChangeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECS) SubmitTaskStateChangeRequest(input *SubmitTaskStateChangeInput) (req *request.Request, output *SubmitTaskStateChangeOutput) { op := &request.Operation{ Name: opSubmitTaskStateChange, @@ -887,10 +2201,29 @@ func (c *ECS) SubmitTaskStateChangeRequest(input *SubmitTaskStateChangeInput) (r return } +// SubmitTaskStateChange API operation for Amazon EC2 Container Service. +// // This action is only used by the Amazon EC2 Container Service agent, and it // is not intended for use outside of the agent. // -// Sent to acknowledge that a task changed states. +// Sent to acknowledge that a task changed states. +// +// 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 EC2 Container Service's +// API operation SubmitTaskStateChange for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permission to use the action +// or resource, or specifying an identifier that is not valid. +// func (c *ECS) SubmitTaskStateChange(input *SubmitTaskStateChangeInput) (*SubmitTaskStateChangeOutput, error) { req, out := c.SubmitTaskStateChangeRequest(input) err := req.Send() @@ -899,7 +2232,30 @@ func (c *ECS) SubmitTaskStateChange(input *SubmitTaskStateChangeInput) (*SubmitT const opUpdateContainerAgent = "UpdateContainerAgent" -// UpdateContainerAgentRequest generates a request for the UpdateContainerAgent operation. +// UpdateContainerAgentRequest generates a "aws/request.Request" representing the +// client's request for the UpdateContainerAgent operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateContainerAgent for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateContainerAgent method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateContainerAgentRequest method. +// req, resp := client.UpdateContainerAgentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECS) UpdateContainerAgentRequest(input *UpdateContainerAgentInput) (req *request.Request, output *UpdateContainerAgentOutput) { op := &request.Operation{ Name: opUpdateContainerAgent, @@ -917,17 +2273,62 @@ func (c *ECS) UpdateContainerAgentRequest(input *UpdateContainerAgentInput) (req return } +// UpdateContainerAgent API operation for Amazon EC2 Container Service. +// // Updates the Amazon ECS container agent on a specified container instance. // Updating the Amazon ECS container agent does not interrupt running tasks // or services on the container instance. The process for updating the agent // differs depending on whether your container instance was launched with the // Amazon ECS-optimized AMI or another operating system. // -// UpdateContainerAgent requires the Amazon ECS-optimized AMI or Amazon Linux +// UpdateContainerAgent requires the Amazon ECS-optimized AMI or Amazon Linux // with the ecs-init service installed and running. For help updating the Amazon // ECS container agent on other operating systems, see Manually Updating the // Amazon ECS Container Agent (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html#manually_update_agent) // in the Amazon EC2 Container Service Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon EC2 Container Service's +// API operation UpdateContainerAgent for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permission to use the action +// or resource, or specifying an identifier that is not valid. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * ClusterNotFoundException +// The specified cluster could not be found. You can view your available clusters +// with ListClusters. Amazon ECS clusters are region-specific. +// +// * UpdateInProgressException +// There is already a current Amazon ECS container agent update in progress +// on the specified container instance. If the container agent becomes disconnected +// while it is in a transitional stage, such as PENDING or STAGING, the update +// process can get stuck in that state. However, when the agent reconnects, +// it resumes where it stopped previously. +// +// * NoUpdateAvailableException +// There is no update available for this Amazon ECS container agent. This could +// be because the agent is already running the latest version, or it is so old +// that there is no update path to the current version. +// +// * MissingVersionException +// Amazon ECS is unable to determine the current version of the Amazon ECS container +// agent on the container instance and does not have enough information to proceed +// with an update. This could be because the agent running on the container +// instance is an older or custom version that does not use our version information. +// func (c *ECS) UpdateContainerAgent(input *UpdateContainerAgentInput) (*UpdateContainerAgentOutput, error) { req, out := c.UpdateContainerAgentRequest(input) err := req.Send() @@ -936,7 +2337,30 @@ func (c *ECS) UpdateContainerAgent(input *UpdateContainerAgentInput) (*UpdateCon const opUpdateService = "UpdateService" -// UpdateServiceRequest generates a request for the UpdateService operation. +// UpdateServiceRequest generates a "aws/request.Request" representing the +// client's request for the UpdateService operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateService for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateService method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateServiceRequest method. +// req, resp := client.UpdateServiceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ECS) UpdateServiceRequest(input *UpdateServiceInput) (req *request.Request, output *UpdateServiceOutput) { op := &request.Operation{ Name: opUpdateService, @@ -954,6 +2378,8 @@ func (c *ECS) UpdateServiceRequest(input *UpdateServiceInput) (req *request.Requ return } +// UpdateService API operation for Amazon EC2 Container Service. +// // Modifies the desired count, deployment configuration, or task definition // used in a service. // @@ -1007,6 +2433,40 @@ func (c *ECS) UpdateServiceRequest(input *UpdateServiceInput) (req *request.Requ // Place the new service task on a valid container instance in an optimal // Availability Zone (based on the previous steps), favoring container instances // with the fewest number of running tasks for this service. +// +// 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 EC2 Container Service's +// API operation UpdateService for usage and error information. +// +// Returned Error Codes: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permission to use the action +// or resource, or specifying an identifier that is not valid. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * ClusterNotFoundException +// The specified cluster could not be found. You can view your available clusters +// with ListClusters. Amazon ECS clusters are region-specific. +// +// * ServiceNotFoundException +// The specified service could not be found. You can view your available services +// with ListServices. Amazon ECS services are cluster-specific and region-specific. +// +// * ServiceNotActiveException +// The specified service is not active. You cannot update a service that is +// not active. If you have previously deleted a service, you can re-create it +// with CreateService. +// func (c *ECS) UpdateService(input *UpdateServiceInput) (*UpdateServiceOutput, error) { req, out := c.UpdateServiceRequest(input) err := req.Send() @@ -1018,6 +2478,8 @@ type Attribute struct { _ struct{} `type:"structure"` // The name of the container instance attribute. + // + // Name is a required field Name *string `locationName:"name" type:"string" required:"true"` // The value of the container instance attribute (at this time, the value here @@ -1062,7 +2524,7 @@ type Cluster struct { // The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains // the arn:aws:ecs namespace, followed by the region of the cluster, the AWS // account ID of the cluster owner, the cluster namespace, and then the cluster - // name. For example, arn:aws:ecs:region:012345678910:cluster/test. + // name. For example, arn:aws:ecs:region:012345678910:cluster/test .. ClusterArn *string `locationName:"clusterArn" type:"string"` // A user-generated string that you use to identify your cluster. @@ -1136,8 +2598,8 @@ type ContainerDefinition struct { _ struct{} `type:"structure"` // The command that is passed to the container. This parameter maps to Cmd in - // the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.19/#create-a-container) - // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/) + // the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) + // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the COMMAND parameter to docker run (https://docs.docker.com/reference/commandline/run/). // For more information, see https://docs.docker.com/reference/builder/#cmd // (https://docs.docker.com/reference/builder/#cmd). @@ -1148,8 +2610,8 @@ type ContainerDefinition struct { // amount of CPU to reserve for a container, and containers share unallocated // CPU units with other containers on the instance with the same ratio as their // allocated amount. This parameter maps to CpuShares in the Create a container - // (https://docs.docker.com/reference/api/docker_remote_api_v1.19/#create-a-container) - // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/) + // (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) + // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --cpu-shares option to docker run (https://docs.docker.com/reference/commandline/run/). // // You can determine the number of CPU units that are available per EC2 instance @@ -1175,33 +2637,35 @@ type ContainerDefinition struct { // 2 (including null), the behavior varies based on your Amazon ECS container // agent version: // - // Agent versions less than or equal to 1.1.0: Null and zero CPU values are - // passed to Docker as 0, which Docker then converts to 1,024 CPU shares. CPU - // values of 1 are passed to Docker as 1, which the Linux kernel converts to - // 2 CPU shares. Agent versions greater than or equal to 1.2.0: Null, zero, - // and CPU values of 1 are passed to Docker as 2. + // Agent versions less than or equal to 1.1.0: Null and zero CPU values + // are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. + // CPU values of 1 are passed to Docker as 1, which the Linux kernel converts + // to 2 CPU shares. + // + // Agent versions greater than or equal to 1.2.0: Null, zero, and CPU values + // of 1 are passed to Docker as 2. Cpu *int64 `locationName:"cpu" type:"integer"` // When this parameter is true, networking is disabled within the container. - // This parameter maps to NetworkDisabled in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.19/#create-a-container) - // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/). + // This parameter maps to NetworkDisabled in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) + // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/). DisableNetworking *bool `locationName:"disableNetworking" type:"boolean"` // A list of DNS search domains that are presented to the container. This parameter - // maps to DnsSearch in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.19/#create-a-container) - // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/) + // maps to DnsSearch in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) + // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --dns-search option to docker run (https://docs.docker.com/reference/commandline/run/). DnsSearchDomains []*string `locationName:"dnsSearchDomains" type:"list"` // A list of DNS servers that are presented to the container. This parameter - // maps to Dns in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.19/#create-a-container) - // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/) + // maps to Dns in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) + // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --dns option to docker run (https://docs.docker.com/reference/commandline/run/). DnsServers []*string `locationName:"dnsServers" type:"list"` // A key/value map of labels to add to the container. This parameter maps to - // Labels in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.19/#create-a-container) - // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/) + // Labels in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) + // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --label option to docker run (https://docs.docker.com/reference/commandline/run/). // This parameter requires version 1.18 of the Docker Remote API or greater // on your container instance. To check the Docker Remote API version on your @@ -1211,15 +2675,15 @@ type ContainerDefinition struct { // A list of strings to provide custom labels for SELinux and AppArmor multi-level // security systems. This parameter maps to SecurityOpt in the Create a container - // (https://docs.docker.com/reference/api/docker_remote_api_v1.19/#create-a-container) - // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/) + // (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) + // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --security-opt option to docker run (https://docs.docker.com/reference/commandline/run/). // // The Amazon ECS container agent running on a container instance must register // with the ECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true environment // variables before containers placed on that instance can use these security // options. For more information, see Amazon ECS Container Agent Configuration - // (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/developerguide/ecs-agent-config.html) + // (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) // in the Amazon EC2 Container Service Developer Guide. DockerSecurityOptions []*string `locationName:"dockerSecurityOptions" type:"list"` @@ -1228,57 +2692,66 @@ type ContainerDefinition struct { // agent or enter your commands and arguments as command array items instead. // // The entry point that is passed to the container. This parameter maps to - // Entrypoint in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.19/#create-a-container) - // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/) + // Entrypoint in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) + // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --entrypoint option to docker run (https://docs.docker.com/reference/commandline/run/). // For more information, see https://docs.docker.com/reference/builder/#entrypoint // (https://docs.docker.com/reference/builder/#entrypoint). EntryPoint []*string `locationName:"entryPoint" type:"list"` // The environment variables to pass to a container. This parameter maps to - // Env in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.19/#create-a-container) - // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/) + // Env in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) + // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --env option to docker run (https://docs.docker.com/reference/commandline/run/). // // We do not recommend using plain text environment variables for sensitive // information, such as credential data. Environment []*KeyValuePair `locationName:"environment" type:"list"` - // If the essential parameter of a container is marked as true, the failure - // of that container stops the task. If the essential parameter of a container - // is marked as false, then its failure does not affect the rest of the containers - // in a task. If this parameter is omitted, a container is assumed to be essential. + // If the essential parameter of a container is marked as true, and that container + // fails or stops for any reason, all other containers that are part of the + // task are stopped. If the essential parameter of a container is marked as + // false, then its failure does not affect the rest of the containers in a task. + // If this parameter is omitted, a container is assumed to be essential. // - // All tasks must have at least one essential container. + // All tasks must have at least one essential container. If you have an application + // that is composed of multiple containers, you should group containers that + // are used for a common purpose into components, and separate the different + // components into multiple task definitions. For more information, see Application + // Architecture (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html) + // in the Amazon EC2 Container Service Developer Guide. Essential *bool `locationName:"essential" type:"boolean"` // A list of hostnames and IP address mappings to append to the /etc/hosts file // on the container. This parameter maps to ExtraHosts in the Create a container - // (https://docs.docker.com/reference/api/docker_remote_api_v1.19/#create-a-container) - // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/) + // (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) + // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --add-host option to docker run (https://docs.docker.com/reference/commandline/run/). ExtraHosts []*HostEntry `locationName:"extraHosts" type:"list"` // The hostname to use for your container. This parameter maps to Hostname in - // the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.19/#create-a-container) - // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/) + // the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) + // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --hostname option to docker run (https://docs.docker.com/reference/commandline/run/). Hostname *string `locationName:"hostname" type:"string"` // The image used to start a container. This string is passed directly to the // Docker daemon. Images in the Docker Hub registry are available by default. - // Other repositories are specified with repository-url/image:tag. Up to 255 + // Other repositories are specified with repository-url/image:tag . Up to 255 // letters (uppercase and lowercase), numbers, hyphens, underscores, colons, // periods, forward slashes, and number signs are allowed. This parameter maps - // to Image in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.19/#create-a-container) - // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/) + // to Image in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) + // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the IMAGE parameter of docker run (https://docs.docker.com/reference/commandline/run/). // - // Images in official repositories on Docker Hub use a single name (for example, - // ubuntu or mongo). Images in other repositories on Docker Hub are qualified - // with an organization name (for example, amazon/amazon-ecs-agent). Images - // in other online repositories are qualified further by a domain name (for - // example, quay.io/assemblyline/ubuntu). + // Images in official repositories on Docker Hub use a single name (for example, + // ubuntu or mongo). + // + // Images in other repositories on Docker Hub are qualified with an organization + // name (for example, amazon/amazon-ecs-agent). + // + // Images in other online repositories are qualified further by a domain + // name (for example, quay.io/assemblyline/ubuntu). Image *string `locationName:"image" type:"string"` // The link parameter allows containers to communicate with each other without @@ -1287,8 +2760,8 @@ type ContainerDefinition struct { // Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores // are allowed for each name and alias. For more information on linking Docker // containers, see https://docs.docker.com/userguide/dockerlinks/ (https://docs.docker.com/userguide/dockerlinks/). - // This parameter maps to Links in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.19/#create-a-container) - // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/) + // This parameter maps to Links in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) + // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --link option to docker run (https://docs.docker.com/reference/commandline/run/). // // Containers that are collocated on a single container instance may be able @@ -1298,36 +2771,79 @@ type ContainerDefinition struct { Links []*string `locationName:"links" type:"list"` // The log configuration specification for the container. This parameter maps - // to LogConfig in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.19/#create-a-container) - // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/) + // to LogConfig in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) + // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --log-driver option to docker run (https://docs.docker.com/reference/commandline/run/). - // Valid log drivers are displayed in the LogConfiguration data type. This parameter - // requires version 1.18 of the Docker Remote API or greater on your container - // instance. To check the Docker Remote API version on your container instance, - // log into your container instance and run the following command: sudo docker - // version | grep "Server API version" + // By default, containers use the same logging driver that the Docker daemon + // uses; however the container may use a different logging driver than the Docker + // daemon by specifying a log driver with this parameter in the container definition. + // To use a different logging driver for a container, the log system must be + // configured properly on the container instance (or on a different log server + // for remote logging options). For more information on the options for different + // supported log drivers, see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/) + // in the Docker documentation. + // + // Amazon ECS currently supports a subset of the logging drivers available + // to the Docker daemon (shown in the LogConfiguration data type). Currently + // unsupported log drivers may be available in future releases of the Amazon + // ECS container agent. + // + // This parameter requires version 1.18 of the Docker Remote API or greater + // on your container instance. To check the Docker Remote API version on your + // container instance, log into your container instance and run the following + // command: sudo docker version | grep "Server API version" // // The Amazon ECS container agent running on a container instance must register // the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS // environment variable before containers placed on that instance can use these // log configuration options. For more information, see Amazon ECS Container - // Agent Configuration (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/developerguide/ecs-agent-config.html) + // Agent Configuration (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) // in the Amazon EC2 Container Service Developer Guide. LogConfiguration *LogConfiguration `locationName:"logConfiguration" type:"structure"` - // The number of MiB of memory to reserve for the container. You must specify - // a non-zero integer for this parameter; the Docker daemon reserves a minimum - // of 4 MiB of memory for a container, so you should not specify fewer than - // 4 MiB of memory for your containers. If your container attempts to exceed - // the memory allocated here, the container is killed. This parameter maps to - // Memory in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.19/#create-a-container) - // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/) + // The hard limit (in MiB) of memory to present to the container. If your container + // attempts to exceed the memory specified here, the container is killed. This + // parameter maps to Memory in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) + // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --memory option to docker run (https://docs.docker.com/reference/commandline/run/). + // + // You must specify a non-zero integer for one or both of memory or memoryReservation + // in container definitions. If you specify both, memory must be greater than + // memoryReservation. If you specify memoryReservation, then that value is subtracted + // from the available memory resources for the container instance on which the + // container is placed; otherwise, the value of memory is used. + // + // The Docker daemon reserves a minimum of 4 MiB of memory for a container, + // so you should not specify fewer than 4 MiB of memory for your containers. Memory *int64 `locationName:"memory" type:"integer"` + // The soft limit (in MiB) of memory to reserve for the container. When system + // memory is under heavy contention, Docker attempts to keep the container memory + // to this soft limit; however, your container can consume more memory when + // it needs to, up to either the hard limit specified with the memory parameter + // (if applicable), or all of the available memory on the container instance, + // whichever comes first. This parameter maps to MemoryReservation in the Create + // a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) + // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) + // and the --memory-reservation option to docker run (https://docs.docker.com/reference/commandline/run/). + // + // You must specify a non-zero integer for one or both of memory or memoryReservation + // in container definitions. If you specify both, memory must be greater than + // memoryReservation. If you specify memoryReservation, then that value is subtracted + // from the available memory resources for the container instance on which the + // container is placed; otherwise, the value of memory is used. + // + // For example, if your container normally uses 128 MiB of memory, but occasionally + // bursts to 256 MiB of memory for short periods of time, you can set a memoryReservation + // of 128 MiB, and a memory hard limit of 300 MiB. This configuration would + // allow the container to only reserve 128 MiB of memory from the remaining + // resources on the container instance, but also allow the container to consume + // more memory resources when needed. + MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"` + // The mount points for data volumes in your container. This parameter maps - // to Volumes in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.19/#create-a-container) - // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/) + // to Volumes in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) + // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --volume option to docker run (https://docs.docker.com/reference/commandline/run/). MountPoints []*MountPoint `locationName:"mountPoints" type:"list"` @@ -1335,16 +2851,20 @@ type ContainerDefinition struct { // in a task definition, the name of one container can be entered in the links // of another container to connect the containers. Up to 255 letters (uppercase // and lowercase), numbers, hyphens, and underscores are allowed. This parameter - // maps to name in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.19/#create-a-container) - // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/) + // maps to name in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) + // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --name option to docker run (https://docs.docker.com/reference/commandline/run/). Name *string `locationName:"name" type:"string"` // The list of port mappings for the container. Port mappings allow containers // to access ports on the host container instance to send or receive traffic. - // This parameter maps to PortBindings in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.19/#create-a-container) - // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/) + // This parameter maps to PortBindings in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) + // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --publish option to docker run (https://docs.docker.com/reference/commandline/run/). + // If the network mode of a task definition is set to none, then you cannot + // specify port mappings. If the network mode of a task definition is set to + // host, then host ports must either be undefined or they must match the container + // port in the port mapping. // // After a task reaches the RUNNING status, manual and automatic host and // container port assignments are visible in the Network Bindings section of @@ -1354,21 +2874,21 @@ type ContainerDefinition struct { // When this parameter is true, the container is given elevated privileges on // the host container instance (similar to the root user). This parameter maps - // to Privileged in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.19/#create-a-container) - // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/) + // to Privileged in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) + // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --privileged option to docker run (https://docs.docker.com/reference/commandline/run/). Privileged *bool `locationName:"privileged" type:"boolean"` // When this parameter is true, the container is given read-only access to its // root file system. This parameter maps to ReadonlyRootfs in the Create a container - // (https://docs.docker.com/reference/api/docker_remote_api_v1.19/#create-a-container) - // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/) + // (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) + // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --read-only option to docker run. ReadonlyRootFilesystem *bool `locationName:"readonlyRootFilesystem" type:"boolean"` // A list of ulimits to set in the container. This parameter maps to Ulimits - // in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.19/#create-a-container) - // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/) + // in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) + // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --ulimit option to docker run (https://docs.docker.com/reference/commandline/run/). // Valid naming values are displayed in the Ulimit data type. This parameter // requires version 1.18 of the Docker Remote API or greater on your container @@ -1378,20 +2898,20 @@ type ContainerDefinition struct { Ulimits []*Ulimit `locationName:"ulimits" type:"list"` // The user name to use inside the container. This parameter maps to User in - // the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.19/#create-a-container) - // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/) + // the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) + // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --user option to docker run (https://docs.docker.com/reference/commandline/run/). User *string `locationName:"user" type:"string"` // Data volumes to mount from another container. This parameter maps to VolumesFrom - // in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.19/#create-a-container) - // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/) + // in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) + // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --volumes-from option to docker run (https://docs.docker.com/reference/commandline/run/). VolumesFrom []*VolumeFrom `locationName:"volumesFrom" type:"list"` // The working directory in which to run commands inside the container. This - // parameter maps to WorkingDir in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.19/#create-a-container) - // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/) + // parameter maps to WorkingDir in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) + // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --workdir option to docker run (https://docs.docker.com/reference/commandline/run/). WorkingDirectory *string `locationName:"workingDirectory" type:"string"` } @@ -1463,7 +2983,8 @@ type ContainerInstance struct { // The Amazon Resource Name (ARN) of the container instance. The ARN contains // the arn:aws:ecs namespace, followed by the region of the container instance, // the AWS account ID of the container instance owner, the container-instance - // namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. + // namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID + // . ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` // The EC2 instance ID of the container instance. @@ -1583,28 +3104,56 @@ type CreateServiceInput struct { // The number of instantiations of the specified task definition to place and // keep running on your cluster. + // + // DesiredCount is a required field DesiredCount *int64 `locationName:"desiredCount" type:"integer" required:"true"` - // A list of load balancer objects, containing the load balancer name, the container - // name (as it appears in a container definition), and the container port to - // access from the load balancer. + // A load balancer object representing the load balancer to use with your service. + // Currently, you are limited to one load balancer per service. After you create + // a service, the load balancer name, container name, and container port specified + // in the service definition are immutable. + // + // For Elastic Load Balancing Classic load balancers, this object must contain + // the load balancer name, the container name (as it appears in a container + // definition), and the container port to access from the load balancer. When + // a task from this service is placed on a container instance, the container + // instance is registered with the load balancer specified here. + // + // For Elastic Load Balancing Application load balancers, this object must + // contain the load balancer target group ARN, the container name (as it appears + // in a container definition), and the container port to access from the load + // balancer. When a task from this service is placed on a container instance, + // the container instance and port combination is registered as a target in + // the target group specified here. LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` - // The name or full Amazon Resource Name (ARN) of the IAM role that allows your - // Amazon ECS container agent to make calls to your load balancer on your behalf. - // This parameter is only required if you are using a load balancer with your - // service. + // The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon + // ECS to make calls to your load balancer on your behalf. This parameter is + // required if you are using a load balancer with your service. If you specify + // the role parameter, you must also specify a load balancer object with the + // loadBalancers parameter. + // + // If your specified role has a path other than /, then you must either specify + // the full role ARN (this is recommended) or prefix the role name with the + // path. For example, if a role with the name bar has a path of /foo/ then you + // would specify /foo/bar as the role name. For more information, see Friendly + // Names and Paths (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names) + // in the IAM User Guide. Role *string `locationName:"role" type:"string"` // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, // hyphens, and underscores are allowed. Service names must be unique within // a cluster, but you can have similarly named services in multiple clusters // within a region or across multiple regions. + // + // ServiceName is a required field ServiceName *string `locationName:"serviceName" type:"string" required:"true"` // The family and revision (family:revision) or full Amazon Resource Name (ARN) // of the task definition to run in your service. If a revision is not specified, // the latest ACTIVE revision is used. + // + // TaskDefinition is a required field TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` } @@ -1658,6 +3207,8 @@ type DeleteClusterInput struct { _ struct{} `type:"structure"` // The short name or full Amazon Resource Name (ARN) of the cluster to delete. + // + // Cluster is a required field Cluster *string `locationName:"cluster" type:"string" required:"true"` } @@ -1709,6 +3260,8 @@ type DeleteServiceInput struct { Cluster *string `locationName:"cluster" type:"string"` // The name of the service to delete. + // + // Service is a required field Service *string `locationName:"service" type:"string" required:"true"` } @@ -1756,7 +3309,7 @@ func (s DeleteServiceOutput) GoString() string { type Deployment struct { _ struct{} `type:"structure"` - // The Unix time in seconds and milliseconds when the service was created. + // The Unix timestamp for when the service was created. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unix"` // The most recent desired count of tasks that was specified for the service @@ -1781,7 +3334,7 @@ type Deployment struct { // The most recent task definition that was specified for the service to use. TaskDefinition *string `locationName:"taskDefinition" type:"string"` - // The Unix time in seconds and milliseconds when the service was last updated. + // The Unix timestamp for when the service was last updated. UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"unix"` } @@ -1836,7 +3389,10 @@ type DeregisterContainerInstanceInput struct { // instance to deregister. The ARN contains the arn:aws:ecs namespace, followed // by the region of the container instance, the AWS account ID of the container // instance owner, the container-instance namespace, and then the container - // instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. + // instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID + // . + // + // ContainerInstance is a required field ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"` // Forces the deregistration of the container instance. If you have tasks running @@ -1896,6 +3452,8 @@ type DeregisterTaskDefinitionInput struct { // The family and revision (family:revision) or full Amazon Resource Name (ARN) // of the task definition to deregister. You must specify a revision. + // + // TaskDefinition is a required field TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` } @@ -1942,8 +3500,9 @@ func (s DeregisterTaskDefinitionOutput) GoString() string { type DescribeClustersInput struct { _ struct{} `type:"structure"` - // A space-separated list of cluster names or full cluster Amazon Resource Name - // (ARN) entries. If you do not specify a cluster, the default cluster is assumed. + // A space-separated list of up to 100 cluster names or full cluster Amazon + // Resource Name (ARN) entries. If you do not specify a cluster, the default + // cluster is assumed. Clusters []*string `locationName:"clusters" type:"list"` } @@ -1987,6 +3546,8 @@ type DescribeContainerInstancesInput struct { // A space-separated list of container instance IDs or full Amazon Resource // Name (ARN) entries. + // + // ContainerInstances is a required field ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` } @@ -2041,6 +3602,8 @@ type DescribeServicesInput struct { Cluster *string `locationName:"cluster" type:"string"` // A list of services to describe. + // + // Services is a required field Services []*string `locationName:"services" type:"list" required:"true"` } @@ -2093,6 +3656,8 @@ type DescribeTaskDefinitionInput struct { // The family for the latest ACTIVE revision, family and revision (family:revision) // for a specific revision in the family, or full Amazon Resource Name (ARN) // of the task definition to describe. + // + // TaskDefinition is a required field TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` } @@ -2145,6 +3710,8 @@ type DescribeTasksInput struct { Cluster *string `locationName:"cluster" type:"string"` // A space-separated list of task IDs or full Amazon Resource Name (ARN) entries. + // + // Tasks is a required field Tasks []*string `locationName:"tasks" type:"list" required:"true"` } @@ -2201,7 +3768,8 @@ type DiscoverPollEndpointInput struct { // instance. The ARN contains the arn:aws:ecs namespace, followed by the region // of the container instance, the AWS account ID of the container instance owner, // the container-instance namespace, and then the container instance ID. For - // example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. + // example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID + // . ContainerInstance *string `locationName:"containerInstance" type:"string"` } @@ -2262,9 +3830,13 @@ type HostEntry struct { _ struct{} `type:"structure"` // The hostname to use in the /etc/hosts entry. + // + // Hostname is a required field Hostname *string `locationName:"hostname" type:"string" required:"true"` // The IP address to use in the /etc/hosts entry. + // + // IpAddress is a required field IpAddress *string `locationName:"ipAddress" type:"string" required:"true"` } @@ -2357,6 +3929,9 @@ type ListClustersInput struct { // where maxResults was used and the results exceeded the value of that parameter. // Pagination continues from the end of the previous results that returned the // nextToken value. This value is null when there are no more results to return. + // + // This token should be treated as an opaque identifier that is only used + // to retrieve the next items in a list and not for other programmatic purposes. NextToken *string `locationName:"nextToken" type:"string"` } @@ -2417,6 +3992,9 @@ type ListContainerInstancesInput struct { // parameter. Pagination continues from the end of the previous results that // returned the nextToken value. This value is null when there are no more results // to return. + // + // This token should be treated as an opaque identifier that is only used + // to retrieve the next items in a list and not for other programmatic purposes. NextToken *string `locationName:"nextToken" type:"string"` } @@ -2475,6 +4053,9 @@ type ListServicesInput struct { // where maxResults was used and the results exceeded the value of that parameter. // Pagination continues from the end of the previous results that returned the // nextToken value. This value is null when there are no more results to return. + // + // This token should be treated as an opaque identifier that is only used + // to retrieve the next items in a list and not for other programmatic purposes. NextToken *string `locationName:"nextToken" type:"string"` } @@ -2535,7 +4116,19 @@ type ListTaskDefinitionFamiliesInput struct { // parameter. Pagination continues from the end of the previous results that // returned the nextToken value. This value is null when there are no more results // to return. + // + // This token should be treated as an opaque identifier that is only used + // to retrieve the next items in a list and not for other programmatic purposes. NextToken *string `locationName:"nextToken" type:"string"` + + // The task definition family status with which to filter the ListTaskDefinitionFamilies + // results. By default, both ACTIVE and INACTIVE task definition families are + // listed. If this parameter is set to ACTIVE, only task definition families + // that have an ACTIVE task definition revision are returned. If this parameter + // is set to INACTIVE, only task definition families that do not have any ACTIVE + // task definition revisions are returned. If you paginate the resulting output, + // be sure to keep the status value constant in each subsequent request. + Status *string `locationName:"status" type:"string" enum:"TaskDefinitionFamilyStatus"` } // String returns the string representation @@ -2594,6 +4187,9 @@ type ListTaskDefinitionsInput struct { // parameter. Pagination continues from the end of the previous results that // returned the nextToken value. This value is null when there are no more results // to return. + // + // This token should be treated as an opaque identifier that is only used + // to retrieve the next items in a list and not for other programmatic purposes. NextToken *string `locationName:"nextToken" type:"string"` // The order in which to sort the results. Valid values are ASC and DESC. By @@ -2659,10 +4255,15 @@ type ListTasksInput struct { // limits the results to tasks that belong to that container instance. ContainerInstance *string `locationName:"containerInstance" type:"string"` - // The task status with which to filter the ListTasks results. Specifying a - // desiredStatus of STOPPED limits the results to tasks that are in the STOPPED - // status, which can be useful for debugging tasks that are not starting properly - // or have died or finished. The default status filter is RUNNING. + // The task desired status with which to filter the ListTasks results. Specifying + // a desiredStatus of STOPPED limits the results to tasks that ECS has set the + // desired status to STOPPED, which can be useful for debugging tasks that are + // not starting properly or have died or finished. The default status filter + // is RUNNING, which shows tasks that ECS has set the desired status to RUNNING. + // + // Although you can filter results based on a desired status of PENDING, this + // will not return any results because ECS never sets the desired status of + // a task to that value (only a task's lastStatus may have a value of PENDING). DesiredStatus *string `locationName:"desiredStatus" type:"string" enum:"DesiredStatus"` // The name of the family with which to filter the ListTasks results. Specifying @@ -2682,6 +4283,9 @@ type ListTasksInput struct { // where maxResults was used and the results exceeded the value of that parameter. // Pagination continues from the end of the previous results that returned the // nextToken value. This value is null when there are no more results to return. + // + // This token should be treated as an opaque identifier that is only used + // to retrieve the next items in a list and not for other programmatic purposes. NextToken *string `locationName:"nextToken" type:"string"` // The name of the service with which to filter the ListTasks results. Specifying @@ -2742,6 +4346,10 @@ type LoadBalancer struct { // The name of the load balancer. LoadBalancerName *string `locationName:"loadBalancerName" type:"string"` + + // The full Amazon Resource Name (ARN) of the Elastic Load Balancing target + // group associated with a service. + TargetGroupArn *string `locationName:"targetGroupArn" type:"string"` } // String returns the string representation @@ -2758,11 +4366,24 @@ func (s LoadBalancer) GoString() string { type LogConfiguration struct { _ struct{} `type:"structure"` - // The log driver to use for the container. This parameter requires version - // 1.18 of the Docker Remote API or greater on your container instance. To check - // the Docker Remote API version on your container instance, log into your container - // instance and run the following command: sudo docker version | grep "Server - // API version" + // The log driver to use for the container. The valid values listed for this + // parameter are log drivers that the Amazon ECS container agent can communicate + // with by default. + // + // If you have a custom driver that is not listed above that you would like + // to work with the Amazon ECS container agent, you can fork the Amazon ECS + // container agent project that is available on GitHub (https://github.com/aws/amazon-ecs-agent) + // and customize it to work with that driver. We encourage you to submit pull + // requests for changes that you would like to have included. However, Amazon + // Web Services does not currently provide support for running modified copies + // of this software. + // + // This parameter requires version 1.18 of the Docker Remote API or greater + // on your container instance. To check the Docker Remote API version on your + // container instance, log into your container instance and run the following + // command: sudo docker version | grep "Server API version" + // + // LogDriver is a required field LogDriver *string `locationName:"logDriver" type:"string" required:"true" enum:"LogDriver"` // The configuration options to send to the log driver. This parameter requires @@ -2863,7 +4484,9 @@ type PortMapping struct { // The port number on the container that is bound to the user-specified or automatically // assigned host port. If you specify a container port and not a host port, // your container automatically receives a host port in the ephemeral port range - // (for more information, see hostPort). + // (for more information, see hostPort). Port mappings that are automatically + // assigned in this way do not count toward the 100 reserved ports limit of + // a container instance. ContainerPort *int64 `locationName:"containerPort" type:"integer"` // The port number on the container instance to reserve for your container. @@ -2885,8 +4508,9 @@ type PortMapping struct { // specified in a running task is also reserved while the task is running (after // a task stops, the host port is released).The current reserved ports are displayed // in the remainingResources of DescribeContainerInstances output, and a container - // instance may have up to 50 reserved ports at a time, including the default - // reserved ports (automatically assigned ports do not count toward this limit). + // instance may have up to 100 reserved ports at a time, including the default + // reserved ports (automatically assigned ports do not count toward the 100 + // reserved ports limit). HostPort *int64 `locationName:"hostPort" type:"integer"` // The protocol used for the port mapping. Valid values are tcp and udp. The @@ -2989,14 +4613,40 @@ type RegisterTaskDefinitionInput struct { // A list of container definitions in JSON format that describe the different // containers that make up your task. + // + // ContainerDefinitions is a required field ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list" required:"true"` // You must specify a family for a task definition, which allows you to track // multiple versions of the same task definition. The family is used as a name // for your task definition. Up to 255 letters (uppercase and lowercase), numbers, // hyphens, and underscores are allowed. + // + // Family is a required field Family *string `locationName:"family" type:"string" required:"true"` + // The Docker networking mode to use for the containers in the task. The valid + // values are none, bridge, and host. + // + // The default Docker network mode is bridge. If the network mode is set to + // none, you cannot specify port mappings in your container definitions, and + // the task's containers do not have external connectivity. The host network + // mode offers the highest networking performance for containers because they + // use the host network stack instead of the virtualized network stack provided + // by the bridge mode; however, exposed container ports are mapped directly + // to the corresponding host port, so you cannot take advantage of dynamic host + // port mappings or run multiple instantiations of the same task on a single + // container instance if port mappings are used. + // + // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings) + // in the Docker run reference. + NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"` + + // The Amazon Resource Name (ARN) of the IAM role that containers in this task + // can assume. All containers in this task are granted the permissions that + // are specified in this role. + TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` + // A list of volume definitions in JSON format that containers in your task // may use. Volumes []*Volume `locationName:"volumes" type:"list"` @@ -3120,7 +4770,8 @@ type RunTaskInput struct { // trigger a task to run a batch process job, you could apply a unique identifier // for that job to your task with the startedBy parameter. You can then identify // which tasks belong to that job by filtering the results of a ListTasks call - // with the startedBy value. + // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, + // hyphens, and underscores are allowed. // // If a task is started by an Amazon ECS service, then the startedBy parameter // contains the deployment ID of the service that starts it. @@ -3129,6 +4780,8 @@ type RunTaskInput struct { // The family and revision (family:revision) or full Amazon Resource Name (ARN) // of the task definition to run. If a revision is not specified, the latest // ACTIVE revision is used. + // + // TaskDefinition is a required field TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` } @@ -3180,9 +4833,12 @@ func (s RunTaskOutput) GoString() string { type Service struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the of the cluster that hosts the service. + // The Amazon Resource Name (ARN) of the cluster that hosts the service. ClusterArn *string `locationName:"clusterArn" type:"string"` + // The Unix timestamp for when the service was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unix"` + // Optional deployment parameters that control how many tasks run during the // deployment and the ordering of stopping and starting tasks. DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` @@ -3199,9 +4855,9 @@ type Service struct { // are displayed. Events []*ServiceEvent `locationName:"events" type:"list"` - // A list of load balancer objects, containing the load balancer name, the container - // name (as it appears in a container definition), and the container port to - // access from the load balancer. + // A list of Elastic Load Balancing load balancer objects, containing the load + // balancer name, the container name (as it appears in a container definition), + // and the container port to access from the load balancer. LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` // The number of tasks in the cluster that are in the PENDING state. @@ -3209,7 +4865,7 @@ type Service struct { // The Amazon Resource Name (ARN) of the IAM role associated with the service // that allows the Amazon ECS container agent to register container instances - // with a load balancer. + // with an Elastic Load Balancing load balancer. RoleArn *string `locationName:"roleArn" type:"string"` // The number of tasks in the cluster that are in the RUNNING state. @@ -3218,7 +4874,7 @@ type Service struct { // The Amazon Resource Name (ARN) that identifies the service. The ARN contains // the arn:aws:ecs namespace, followed by the region of the service, the AWS // account ID of the service owner, the service namespace, and then the service - // name. For example, arn:aws:ecs:region:012345678910:service/my-service. + // name. For example, arn:aws:ecs:region:012345678910:service/my-service . ServiceArn *string `locationName:"serviceArn" type:"string"` // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, @@ -3250,7 +4906,7 @@ func (s Service) GoString() string { type ServiceEvent struct { _ struct{} `type:"structure"` - // The Unix time in seconds and milliseconds when the event was triggered. + // The Unix timestamp for when the event was triggered. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unix"` // The ID string of the event. @@ -3282,6 +4938,8 @@ type StartTaskInput struct { // the container instances on which you would like to place your task. // // The list of container instances to start tasks on is limited to 10. + // + // ContainerInstances is a required field ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` // A list of container overrides in JSON format that specify the name of a container @@ -3300,7 +4958,8 @@ type StartTaskInput struct { // trigger a task to run a batch process job, you could apply a unique identifier // for that job to your task with the startedBy parameter. You can then identify // which tasks belong to that job by filtering the results of a ListTasks call - // with the startedBy value. + // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, + // hyphens, and underscores are allowed. // // If a task is started by an Amazon ECS service, then the startedBy parameter // contains the deployment ID of the service that starts it. @@ -3309,6 +4968,8 @@ type StartTaskInput struct { // The family and revision (family:revision) or full Amazon Resource Name (ARN) // of the task definition to start. If a revision is not specified, the latest // ACTIVE revision is used. + // + // TaskDefinition is a required field TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` } @@ -3374,6 +5035,8 @@ type StopTaskInput struct { Reason *string `locationName:"reason" type:"string"` // The task ID or full Amazon Resource Name (ARN) entry of the task to stop. + // + // Task is a required field Task *string `locationName:"task" type:"string" required:"true"` } @@ -3520,7 +5183,7 @@ func (s SubmitTaskStateChangeOutput) GoString() string { type Task struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the of the cluster that hosts the task. + // The Amazon Resource Name (ARN) of the cluster that hosts the task. ClusterArn *string `locationName:"clusterArn" type:"string"` // The Amazon Resource Name (ARN) of the container instances that host the task. @@ -3529,8 +5192,8 @@ type Task struct { // The containers associated with the task. Containers []*Container `locationName:"containers" type:"list"` - // The Unix time in seconds and milliseconds when the task was created (the - // task entered the PENDING state). + // The Unix timestamp for when the task was created (the task entered the PENDING + // state). CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unix"` // The desired status of the task. @@ -3542,8 +5205,8 @@ type Task struct { // One or more container overrides. Overrides *TaskOverride `locationName:"overrides" type:"structure"` - // The Unix time in seconds and milliseconds when the task was started (the - // task transitioned from the PENDING state to the RUNNING state). + // The Unix timestamp for when the task was started (the task transitioned from + // the PENDING state to the RUNNING state). StartedAt *time.Time `locationName:"startedAt" type:"timestamp" timestampFormat:"unix"` // The tag specified when a task is started. If the task is started by an Amazon @@ -3551,8 +5214,8 @@ type Task struct { // service that starts it. StartedBy *string `locationName:"startedBy" type:"string"` - // The Unix time in seconds and milliseconds when the task was stopped (the - // task transitioned from the RUNNING state to the STOPPED state). + // The Unix timestamp for when the task was stopped (the task transitioned from + // the RUNNING state to the STOPPED state). StoppedAt *time.Time `locationName:"stoppedAt" type:"timestamp" timestampFormat:"unix"` // The reason the task was stopped. @@ -3561,8 +5224,7 @@ type Task struct { // The Amazon Resource Name (ARN) of the task. TaskArn *string `locationName:"taskArn" type:"string"` - // The Amazon Resource Name (ARN) of the of the task definition that creates - // the task. + // The Amazon Resource Name (ARN) of the task definition that creates the task. TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"` } @@ -3589,6 +5251,18 @@ type TaskDefinition struct { // The family of your task definition, used as the definition name. Family *string `locationName:"family" type:"string"` + // The Docker networking mode to use for the containers in the task. The valid + // values are none, bridge, and host. + // + // If the network mode is none, the containers do not have external connectivity. + // The default Docker network mode is bridge. The host network mode offers the + // highest networking performance for containers because it uses the host network + // stack instead of the virtualized network stack provided by the bridge mode. + // + // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings) + // in the Docker run reference. + NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"` + // The container instance attributes required by your task. RequiresAttributes []*Attribute `locationName:"requiresAttributes" type:"list"` @@ -3602,9 +5276,14 @@ type TaskDefinition struct { // The status of the task definition. Status *string `locationName:"status" type:"string" enum:"TaskDefinitionStatus"` - // The full Amazon Resource Name (ARN) of the of the task definition. + // The full Amazon Resource Name (ARN) of the task definition. TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"` + // The Amazon Resource Name (ARN) of the IAM role that containers in this task + // can assume. All containers in this task are granted the permissions that + // are specified in this role. + TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` + // The list of volumes in a task. For more information about volume definition // parameters and defaults, see Amazon ECS Task Definitions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) // in the Amazon EC2 Container Service Developer Guide. @@ -3627,6 +5306,11 @@ type TaskOverride struct { // One or more container overrides sent to a task. ContainerOverrides []*ContainerOverride `locationName:"containerOverrides" type:"list"` + + // The Amazon Resource Name (ARN) of the IAM role that containers in this task + // can assume. All containers in this task are granted the permissions that + // are specified in this role. + TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` } // String returns the string representation @@ -3644,12 +5328,18 @@ type Ulimit struct { _ struct{} `type:"structure"` // The hard limit for the ulimit type. + // + // HardLimit is a required field HardLimit *int64 `locationName:"hardLimit" type:"integer" required:"true"` // The type of the ulimit. + // + // Name is a required field Name *string `locationName:"name" type:"string" required:"true" enum:"UlimitName"` // The soft limit for the ulimit type. + // + // SoftLimit is a required field SoftLimit *int64 `locationName:"softLimit" type:"integer" required:"true"` } @@ -3693,6 +5383,8 @@ type UpdateContainerAgentInput struct { // The container instance ID or full Amazon Resource Name (ARN) entries for // the container instance on which you would like to update the Amazon ECS container // agent. + // + // ContainerInstance is a required field ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"` } @@ -3754,6 +5446,8 @@ type UpdateServiceInput struct { DesiredCount *int64 `locationName:"desiredCount" type:"integer"` // The name of the service to update. + // + // Service is a required field Service *string `locationName:"service" type:"string" required:"true"` // The family and revision (family:revision) or full Amazon Resource Name (ARN) @@ -3881,92 +5575,148 @@ func (s VolumeFrom) GoString() string { } const ( - // @enum AgentUpdateStatus + // AgentUpdateStatusPending is a AgentUpdateStatus enum value AgentUpdateStatusPending = "PENDING" - // @enum AgentUpdateStatus + + // AgentUpdateStatusStaging is a AgentUpdateStatus enum value AgentUpdateStatusStaging = "STAGING" - // @enum AgentUpdateStatus + + // AgentUpdateStatusStaged is a AgentUpdateStatus enum value AgentUpdateStatusStaged = "STAGED" - // @enum AgentUpdateStatus + + // AgentUpdateStatusUpdating is a AgentUpdateStatus enum value AgentUpdateStatusUpdating = "UPDATING" - // @enum AgentUpdateStatus + + // AgentUpdateStatusUpdated is a AgentUpdateStatus enum value AgentUpdateStatusUpdated = "UPDATED" - // @enum AgentUpdateStatus + + // AgentUpdateStatusFailed is a AgentUpdateStatus enum value AgentUpdateStatusFailed = "FAILED" ) const ( - // @enum DesiredStatus + // DesiredStatusRunning is a DesiredStatus enum value DesiredStatusRunning = "RUNNING" - // @enum DesiredStatus + + // DesiredStatusPending is a DesiredStatus enum value DesiredStatusPending = "PENDING" - // @enum DesiredStatus + + // DesiredStatusStopped is a DesiredStatus enum value DesiredStatusStopped = "STOPPED" ) const ( - // @enum LogDriver + // LogDriverJsonFile is a LogDriver enum value LogDriverJsonFile = "json-file" - // @enum LogDriver + + // LogDriverSyslog is a LogDriver enum value LogDriverSyslog = "syslog" - // @enum LogDriver + + // LogDriverJournald is a LogDriver enum value LogDriverJournald = "journald" - // @enum LogDriver + + // LogDriverGelf is a LogDriver enum value LogDriverGelf = "gelf" - // @enum LogDriver + + // LogDriverFluentd is a LogDriver enum value LogDriverFluentd = "fluentd" + + // LogDriverAwslogs is a LogDriver enum value + LogDriverAwslogs = "awslogs" + + // LogDriverSplunk is a LogDriver enum value + LogDriverSplunk = "splunk" +) + +const ( + // NetworkModeBridge is a NetworkMode enum value + NetworkModeBridge = "bridge" + + // NetworkModeHost is a NetworkMode enum value + NetworkModeHost = "host" + + // NetworkModeNone is a NetworkMode enum value + NetworkModeNone = "none" ) const ( - // @enum SortOrder + // SortOrderAsc is a SortOrder enum value SortOrderAsc = "ASC" - // @enum SortOrder + + // SortOrderDesc is a SortOrder enum value SortOrderDesc = "DESC" ) const ( - // @enum TaskDefinitionStatus + // TaskDefinitionFamilyStatusActive is a TaskDefinitionFamilyStatus enum value + TaskDefinitionFamilyStatusActive = "ACTIVE" + + // TaskDefinitionFamilyStatusInactive is a TaskDefinitionFamilyStatus enum value + TaskDefinitionFamilyStatusInactive = "INACTIVE" + + // TaskDefinitionFamilyStatusAll is a TaskDefinitionFamilyStatus enum value + TaskDefinitionFamilyStatusAll = "ALL" +) + +const ( + // TaskDefinitionStatusActive is a TaskDefinitionStatus enum value TaskDefinitionStatusActive = "ACTIVE" - // @enum TaskDefinitionStatus + + // TaskDefinitionStatusInactive is a TaskDefinitionStatus enum value TaskDefinitionStatusInactive = "INACTIVE" ) const ( - // @enum TransportProtocol + // TransportProtocolTcp is a TransportProtocol enum value TransportProtocolTcp = "tcp" - // @enum TransportProtocol + + // TransportProtocolUdp is a TransportProtocol enum value TransportProtocolUdp = "udp" ) const ( - // @enum UlimitName + // UlimitNameCore is a UlimitName enum value UlimitNameCore = "core" - // @enum UlimitName + + // UlimitNameCpu is a UlimitName enum value UlimitNameCpu = "cpu" - // @enum UlimitName + + // UlimitNameData is a UlimitName enum value UlimitNameData = "data" - // @enum UlimitName + + // UlimitNameFsize is a UlimitName enum value UlimitNameFsize = "fsize" - // @enum UlimitName + + // UlimitNameLocks is a UlimitName enum value UlimitNameLocks = "locks" - // @enum UlimitName + + // UlimitNameMemlock is a UlimitName enum value UlimitNameMemlock = "memlock" - // @enum UlimitName + + // UlimitNameMsgqueue is a UlimitName enum value UlimitNameMsgqueue = "msgqueue" - // @enum UlimitName + + // UlimitNameNice is a UlimitName enum value UlimitNameNice = "nice" - // @enum UlimitName + + // UlimitNameNofile is a UlimitName enum value UlimitNameNofile = "nofile" - // @enum UlimitName + + // UlimitNameNproc is a UlimitName enum value UlimitNameNproc = "nproc" - // @enum UlimitName + + // UlimitNameRss is a UlimitName enum value UlimitNameRss = "rss" - // @enum UlimitName + + // UlimitNameRtprio is a UlimitName enum value UlimitNameRtprio = "rtprio" - // @enum UlimitName + + // UlimitNameRttime is a UlimitName enum value UlimitNameRttime = "rttime" - // @enum UlimitName + + // UlimitNameSigpending is a UlimitName enum value UlimitNameSigpending = "sigpending" - // @enum UlimitName + + // UlimitNameStack is a UlimitName enum value UlimitNameStack = "stack" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/ecs/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/ecs/waiters.go index 155f7c098b0c..9dea562398b3 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ecs/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ecs/waiters.go @@ -6,6 +6,10 @@ import ( "github.com/aws/aws-sdk-go/private/waiter" ) +// WaitUntilServicesInactive uses the Amazon ECS API operation +// DescribeServices to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *ECS) WaitUntilServicesInactive(input *DescribeServicesInput) error { waiterCfg := waiter.Config{ Operation: "DescribeServices", @@ -35,6 +39,10 @@ func (c *ECS) WaitUntilServicesInactive(input *DescribeServicesInput) error { return w.Wait() } +// WaitUntilServicesStable uses the Amazon ECS API operation +// DescribeServices to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *ECS) WaitUntilServicesStable(input *DescribeServicesInput) error { waiterCfg := waiter.Config{ Operation: "DescribeServices", @@ -76,6 +84,10 @@ func (c *ECS) WaitUntilServicesStable(input *DescribeServicesInput) error { return w.Wait() } +// WaitUntilTasksRunning uses the Amazon ECS API operation +// DescribeTasks to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *ECS) WaitUntilTasksRunning(input *DescribeTasksInput) error { waiterCfg := waiter.Config{ Operation: "DescribeTasks", @@ -111,6 +123,10 @@ func (c *ECS) WaitUntilTasksRunning(input *DescribeTasksInput) error { return w.Wait() } +// WaitUntilTasksStopped uses the Amazon ECS API operation +// DescribeTasks to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *ECS) WaitUntilTasksStopped(input *DescribeTasksInput) error { waiterCfg := waiter.Config{ Operation: "DescribeTasks", 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 0fb29b4915ef..f05c8fb2cae1 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 @@ -15,7 +15,30 @@ import ( const opCreateFileSystem = "CreateFileSystem" -// CreateFileSystemRequest generates a request for the CreateFileSystem operation. +// CreateFileSystemRequest generates a "aws/request.Request" representing the +// client's request for the CreateFileSystem operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateFileSystem for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateFileSystem method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateFileSystemRequest method. +// req, resp := client.CreateFileSystemRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EFS) CreateFileSystemRequest(input *CreateFileSystemInput) (req *request.Request, output *FileSystemDescription) { op := &request.Operation{ Name: opCreateFileSystem, @@ -33,37 +56,78 @@ func (c *EFS) CreateFileSystemRequest(input *CreateFileSystemInput) (req *reques return } +// CreateFileSystem API operation for Amazon Elastic File System. +// // Creates a new, empty file system. The operation requires a creation token // in the request that Amazon EFS uses to ensure idempotent creation (calling // the operation with same creation token has no effect). If a file system does // not currently exist that is owned by the caller's AWS account with the specified // creation token, this operation does the following: // -// Creates a new, empty file system. The file system will have an Amazon EFS -// assigned ID, and an initial lifecycle state "creating". Returns with the -// description of the created file system. Otherwise, this operation returns -// a FileSystemAlreadyExists error with the ID of the existing file system. -// -// For basic use cases, you can use a randomly generated UUID for the creation -// token. The idempotent operation allows you to retry a CreateFileSystem call -// without risk of creating an extra file system. This can happen when an initial -// call fails in a way that leaves it uncertain whether or not a file system -// was actually created. An example might be that a transport level timeout -// occurred or your connection was reset. As long as you use the same creation -// token, if the initial call had succeeded in creating a file system, the client -// can learn of its existence from the FileSystemAlreadyExists error. -// -// The CreateFileSystem call returns while the file system's lifecycle state -// is still "creating". You can check the file system creation status by calling -// the DescribeFileSystems API, which among other things returns the file system -// state. After the file system is fully created, Amazon EFS sets its lifecycle -// state to "available", at which point you can create one or more mount targets -// for the file system (CreateMountTarget) in your VPC. You mount your Amazon -// EFS file system on an EC2 instances in your VPC via the mount target. For -// more information, see Amazon EFS: How it Works (http://docs.aws.amazon.com/efs/latest/ug/how-it-works.html) -// -// This operation requires permission for the elasticfilesystem:CreateFileSystem +// Creates a new, empty file system. The file system will have an Amazon +// EFS assigned ID, and an initial lifecycle state creating. +// +// Returns with the description of the created file system. +// +// Otherwise, this operation returns a FileSystemAlreadyExists error with +// the ID of the existing file system. +// +// For basic use cases, you can use a randomly generated UUID for the creation +// token. +// +// The idempotent operation allows you to retry a CreateFileSystem call without +// risk of creating an extra file system. This can happen when an initial call +// fails in a way that leaves it uncertain whether or not a file system was +// actually created. An example might be that a transport level timeout occurred +// or your connection was reset. As long as you use the same creation token, +// if the initial call had succeeded in creating a file system, the client can +// learn of its existence from the FileSystemAlreadyExists error. +// +// The CreateFileSystem call returns while the file system's lifecycle state +// is still creating. You can check the file system creation status by calling +// the DescribeFileSystems operation, which among other things returns the file +// system state. +// +// This operation also takes an optional PerformanceMode parameter that you +// choose for your file system. We recommend generalPurpose performance mode +// for most file systems. File systems using the maxIO performance mode can +// scale to higher levels of aggregate throughput and operations per second +// with a tradeoff of slightly higher latencies for most file operations. The +// performance mode can't be changed after the file system has been created. +// For more information, see Amazon EFS: Performance Modes (http://docs.aws.amazon.com/efs/latest/ug/performance.html#performancemodes.html). +// +// After the file system is fully created, Amazon EFS sets its lifecycle state +// to available, at which point you can create one or more mount targets for +// the file system in your VPC. For more information, see CreateMountTarget. +// You mount your Amazon EFS file system on an EC2 instances in your VPC via +// the mount target. For more information, see Amazon EFS: How it Works (http://docs.aws.amazon.com/efs/latest/ug/how-it-works.html). +// +// This operation requires permissions for the elasticfilesystem:CreateFileSystem // action. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic File System's +// API operation CreateFileSystem for usage and error information. +// +// Returned Error Codes: +// * BadRequest +// Returned if the request is malformed or contains an error such as an invalid +// parameter value or a missing required parameter. +// +// * InternalServerError +// Returned if an error occurred on the server side. +// +// * FileSystemAlreadyExists +// Returned if the file system you are trying to create already exists, with +// the creation token you provided. +// +// * FileSystemLimitExceeded +// Returned if the AWS account has already created maximum number of file systems +// allowed per account. +// func (c *EFS) CreateFileSystem(input *CreateFileSystemInput) (*FileSystemDescription, error) { req, out := c.CreateFileSystemRequest(input) err := req.Send() @@ -72,7 +136,30 @@ func (c *EFS) CreateFileSystem(input *CreateFileSystemInput) (*FileSystemDescrip const opCreateMountTarget = "CreateMountTarget" -// CreateMountTargetRequest generates a request for the CreateMountTarget operation. +// CreateMountTargetRequest generates a "aws/request.Request" representing the +// client's request for the CreateMountTarget operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateMountTarget for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateMountTarget method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateMountTargetRequest method. +// req, resp := client.CreateMountTargetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EFS) CreateMountTargetRequest(input *CreateMountTargetInput) (req *request.Request, output *MountTargetDescription) { op := &request.Operation{ Name: opCreateMountTarget, @@ -90,6 +177,8 @@ func (c *EFS) CreateMountTargetRequest(input *CreateMountTargetInput) (req *requ return } +// CreateMountTarget API operation for Amazon Elastic File System. +// // Creates a mount target for a file system. You can then mount the file system // on EC2 instances via the mount target. // @@ -101,15 +190,18 @@ func (c *EFS) CreateMountTargetRequest(input *CreateMountTargetInput) (req *requ // file system. For more information, see Amazon EFS: How it Works (http://docs.aws.amazon.com/efs/latest/ug/how-it-works.html). // // In the request, you also specify a file system ID for which you are creating -// the mount target and the file system's lifecycle state must be "available" -// (see DescribeFileSystems). +// the mount target and the file system's lifecycle state must be available. +// For more information, see DescribeFileSystems. +// +// In the request, you also provide a subnet ID, which determines the following: // -// In the request, you also provide a subnet ID, which serves several purposes: +// VPC in which Amazon EFS creates the mount target +// +// Availability Zone in which Amazon EFS creates the mount target +// +// IP address range from which Amazon EFS selects the IP address of the mount +// target (if you don't specify an IP address in the request) // -// It determines the VPC in which Amazon EFS creates the mount target. It -// determines the Availability Zone in which Amazon EFS creates the mount target. -// It determines the IP address range from which Amazon EFS selects the IP -// address of the mount target if you don't specify an IP address in the request. // After creating the mount target, Amazon EFS returns a response that includes, // a MountTargetId and an IpAddress. You use this IP address when mounting the // file system in an EC2 instance. You can also use the mount target's DNS name @@ -118,54 +210,127 @@ func (c *EFS) CreateMountTargetRequest(input *CreateMountTargetInput) (req *requ // IP address. For more information, see How it Works: Implementation Overview // (http://docs.aws.amazon.com/efs/latest/ug/how-it-works.html#how-it-works-implementation). // -// Note that you can create mount targets for a file system in only one VPC, +// Note that you can create mount targets for a file system in only one VPC, // and there can be only one mount target per Availability Zone. That is, if // the file system already has one or more mount targets created for it, the -// request to add another mount target must meet the following requirements: -// -// The subnet specified in the request must belong to the same VPC as the -// subnets of the existing mount targets. -// -// The subnet specified in the request must not be in the same Availability -// Zone as any of the subnets of the existing mount targets. If the request -// satisfies the requirements, Amazon EFS does the following: -// -// Creates a new mount target in the specified subnet. Also creates a new -// network interface in the subnet as follows: If the request provides an IpAddress, -// Amazon EFS assigns that IP address to the network interface. Otherwise, Amazon -// EFS assigns a free address in the subnet (in the same way that the Amazon -// EC2 CreateNetworkInterface call does when a request does not specify a primary -// private IP address). If the request provides SecurityGroups, this network -// interface is associated with those security groups. Otherwise, it belongs -// to the default security group for the subnet's VPC. Assigns the description -// "Mount target fsmt-id for file system fs-id" where fsmt-id is the mount target -// ID, and fs-id is the FileSystemId. Sets the requesterManaged property of -// the network interface to "true", and the requesterId value to "EFS". Each -// Amazon EFS mount target has one corresponding requestor-managed EC2 network -// interface. After the network interface is created, Amazon EFS sets the NetworkInterfaceId -// field in the mount target's description to the network interface ID, and -// the IpAddress field to its address. If network interface creation fails, -// the entire CreateMountTarget operation fails. -// -// The CreateMountTarget call returns only after creating the network interface, -// but while the mount target state is still "creating". You can check the mount -// target creation status by calling the DescribeFileSystems API, which among -// other things returns the mount target state. We recommend you create a mount -// target in each of the Availability Zones. There are cost considerations for -// using a file system in an Availability Zone through a mount target created -// in another Availability Zone. For more information, go to Amazon EFS (http://aws.amazon.com/efs/) -// product detail page. In addition, by always using a mount target local to -// the instance's Availability Zone, you eliminate a partial failure scenario; -// if the Availability Zone in which your mount target is created goes down, -// then you won't be able to access your file system through that mount target. -// -// This operation requires permission for the following action on the file +// subnet specified in the request to add another mount target must meet the +// following requirements: +// +// Must belong to the same VPC as the subnets of the existing mount targets +// +// Must not be in the same Availability Zone as any of the subnets of the +// existing mount targets +// +// If the request satisfies the requirements, Amazon EFS does the following: +// +// Creates a new mount target in the specified subnet. +// +// Also creates a new network interface in the subnet as follows: +// +// If the request provides an IpAddress, Amazon EFS assigns that IP address +// to the network interface. Otherwise, Amazon EFS assigns a free address in +// the subnet (in the same way that the Amazon EC2 CreateNetworkInterface call +// does when a request does not specify a primary private IP address). +// +// If the request provides SecurityGroups, this network interface is associated +// with those security groups. Otherwise, it belongs to the default security +// group for the subnet's VPC. +// +// Assigns the description Mount target fsmt-id for file system fs-id where +// fsmt-id is the mount target ID, and fs-id is the FileSystemId. +// +// Sets the requesterManaged property of the network interface to true, and +// the requesterId value to EFS. +// +// Each Amazon EFS mount target has one corresponding requestor-managed EC2 +// network interface. After the network interface is created, Amazon EFS sets +// the NetworkInterfaceId field in the mount target's description to the network +// interface ID, and the IpAddress field to its address. If network interface +// creation fails, the entire CreateMountTarget operation fails. +// +// The CreateMountTarget call returns only after creating the network interface, +// but while the mount target state is still creating. You can check the mount +// target creation status by calling the DescribeFileSystems operation, which +// among other things returns the mount target state. +// +// We recommend you create a mount target in each of the Availability Zones. +// There are cost considerations for using a file system in an Availability +// Zone through a mount target created in another Availability Zone. For more +// information, see Amazon EFS (http://aws.amazon.com/efs/). In addition, by +// always using a mount target local to the instance's Availability Zone, you +// eliminate a partial failure scenario. If the Availability Zone in which your +// mount target is created goes down, then you won't be able to access your +// file system through that mount target. +// +// This operation requires permissions for the following action on the file // system: // -// elasticfilesystem:CreateMountTarget This operation also requires permission -// for the following Amazon EC2 actions: +// elasticfilesystem:CreateMountTarget +// +// This operation also requires permissions for the following Amazon EC2 +// actions: +// +// ec2:DescribeSubnets +// +// ec2:DescribeNetworkInterfaces +// +// ec2:CreateNetworkInterface +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic File System's +// API operation CreateMountTarget for usage and error information. +// +// Returned Error Codes: +// * BadRequest +// Returned if the request is malformed or contains an error such as an invalid +// parameter value or a missing required parameter. +// +// * InternalServerError +// Returned if an error occurred on the server side. +// +// * FileSystemNotFound +// Returned if the specified FileSystemId does not exist in the requester's +// AWS account. +// +// * IncorrectFileSystemLifeCycleState +// Returned if the file system's life cycle state is not "created". +// +// * MountTargetConflict +// Returned if the mount target would violate one of the specified restrictions +// based on the file system's existing mount targets. +// +// * SubnetNotFound +// Returned if there is no subnet with ID SubnetId provided in the request. +// +// * NoFreeAddressesInSubnet +// Returned if IpAddress was not specified in the request and there are no free +// IP addresses in the subnet. +// +// * IpAddressInUse +// Returned if the request specified an IpAddress that is already in use in +// the subnet. +// +// * NetworkInterfaceLimitExceeded +// The calling account has reached the ENI limit for the specific AWS region. +// Client should try to delete some ENIs or get its account limit raised. For +// more information, see Amazon VPC Limits (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html) +// in the Amazon Virtual Private Cloud User Guide (see the Network interfaces +// per VPC entry in the table). +// +// * SecurityGroupLimitExceeded +// Returned if the size of SecurityGroups specified in the request is greater +// than five. +// +// * SecurityGroupNotFound +// Returned if one of the specified security groups does not exist in the subnet's +// VPC. +// +// * UnsupportedAvailabilityZone + // -// ec2:DescribeSubnets ec2:DescribeNetworkInterfaces ec2:CreateNetworkInterface func (c *EFS) CreateMountTarget(input *CreateMountTargetInput) (*MountTargetDescription, error) { req, out := c.CreateMountTargetRequest(input) err := req.Send() @@ -174,7 +339,30 @@ func (c *EFS) CreateMountTarget(input *CreateMountTargetInput) (*MountTargetDesc const opCreateTags = "CreateTags" -// CreateTagsRequest generates a request for the CreateTags operation. +// CreateTagsRequest generates a "aws/request.Request" representing the +// client's request for the CreateTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateTagsRequest method. +// req, resp := client.CreateTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EFS) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) { op := &request.Operation{ Name: opCreateTags, @@ -194,14 +382,36 @@ func (c *EFS) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, o return } +// CreateTags API operation for Amazon Elastic File System. +// // Creates or overwrites tags associated with a file system. Each tag is a key-value // pair. If a tag key specified in the request already exists on the file system, // this operation overwrites its value with the value provided in the request. -// If you add the "Name" tag to your file system, Amazon EFS returns it in the -// response to the DescribeFileSystems API. +// If you add the Name tag to your file system, Amazon EFS returns it in the +// response to the DescribeFileSystems operation. // // This operation requires permission for the elasticfilesystem:CreateTags // action. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic File System's +// API operation CreateTags for usage and error information. +// +// Returned Error Codes: +// * BadRequest +// Returned if the request is malformed or contains an error such as an invalid +// parameter value or a missing required parameter. +// +// * InternalServerError +// Returned if an error occurred on the server side. +// +// * FileSystemNotFound +// Returned if the specified FileSystemId does not exist in the requester's +// AWS account. +// func (c *EFS) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) { req, out := c.CreateTagsRequest(input) err := req.Send() @@ -210,7 +420,30 @@ func (c *EFS) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) { const opDeleteFileSystem = "DeleteFileSystem" -// DeleteFileSystemRequest generates a request for the DeleteFileSystem operation. +// DeleteFileSystemRequest generates a "aws/request.Request" representing the +// client's request for the DeleteFileSystem operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteFileSystem for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteFileSystem method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteFileSystemRequest method. +// req, resp := client.DeleteFileSystemRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EFS) DeleteFileSystemRequest(input *DeleteFileSystemInput) (req *request.Request, output *DeleteFileSystemOutput) { op := &request.Operation{ Name: opDeleteFileSystem, @@ -230,20 +463,47 @@ func (c *EFS) DeleteFileSystemRequest(input *DeleteFileSystemInput) (req *reques return } +// DeleteFileSystem API operation for Amazon Elastic File System. +// // Deletes a file system, permanently severing access to its contents. Upon -// return, the file system no longer exists and you will not be able to access -// any contents of the deleted file system. +// return, the file system no longer exists and you can't access any contents +// of the deleted file system. // -// You cannot delete a file system that is in use. That is, if the file system +// You can't delete a file system that is in use. That is, if the file system // has any mount targets, you must first delete them. For more information, // see DescribeMountTargets and DeleteMountTarget. // -// The DeleteFileSystem call returns while the file system state is still "deleting". -// You can check the file system deletion status by calling the DescribeFileSystems -// API, which returns a list of file systems in your account. If you pass file -// system ID or creation token for the deleted file system, the DescribeFileSystems -// will return a 404 "FileSystemNotFound" error. This operation requires permission -// for the elasticfilesystem:DeleteFileSystem action. +// The DeleteFileSystem call returns while the file system state is still +// deleting. You can check the file system deletion status by calling the DescribeFileSystems +// operation, which returns a list of file systems in your account. If you pass +// file system ID or creation token for the deleted file system, the DescribeFileSystems +// returns a 404 FileSystemNotFound error. +// +// This operation requires permissions for the elasticfilesystem:DeleteFileSystem +// action. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic File System's +// API operation DeleteFileSystem for usage and error information. +// +// Returned Error Codes: +// * BadRequest +// Returned if the request is malformed or contains an error such as an invalid +// parameter value or a missing required parameter. +// +// * InternalServerError +// Returned if an error occurred on the server side. +// +// * FileSystemNotFound +// Returned if the specified FileSystemId does not exist in the requester's +// AWS account. +// +// * FileSystemInUse +// Returned if a file system has mount targets. +// func (c *EFS) DeleteFileSystem(input *DeleteFileSystemInput) (*DeleteFileSystemOutput, error) { req, out := c.DeleteFileSystemRequest(input) err := req.Send() @@ -252,7 +512,30 @@ func (c *EFS) DeleteFileSystem(input *DeleteFileSystemInput) (*DeleteFileSystemO const opDeleteMountTarget = "DeleteMountTarget" -// DeleteMountTargetRequest generates a request for the DeleteMountTarget operation. +// DeleteMountTargetRequest generates a "aws/request.Request" representing the +// client's request for the DeleteMountTarget operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteMountTarget for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteMountTarget method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteMountTargetRequest method. +// req, resp := client.DeleteMountTargetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EFS) DeleteMountTargetRequest(input *DeleteMountTargetInput) (req *request.Request, output *DeleteMountTargetOutput) { op := &request.Operation{ Name: opDeleteMountTarget, @@ -272,28 +555,57 @@ func (c *EFS) DeleteMountTargetRequest(input *DeleteMountTargetInput) (req *requ return } +// DeleteMountTarget API operation for Amazon Elastic File System. +// // Deletes the specified mount target. // -// This operation forcibly breaks any mounts of the file system via the mount -// target being deleted, which might disrupt instances or applications using -// those mounts. To avoid applications getting cut off abruptly, you might consider -// unmounting any mounts of the mount target, if feasible. The operation also -// deletes the associated network interface. Uncommitted writes may be lost, -// but breaking a mount target using this operation does not corrupt the file -// system itself. The file system you created remains. You can mount an EC2 -// instance in your VPC using another mount target. +// This operation forcibly breaks any mounts of the file system via the mount +// target that is being deleted, which might disrupt instances or applications +// using those mounts. To avoid applications getting cut off abruptly, you might +// consider unmounting any mounts of the mount target, if feasible. The operation +// also deletes the associated network interface. Uncommitted writes may be +// lost, but breaking a mount target using this operation does not corrupt the +// file system itself. The file system you created remains. You can mount an +// EC2 instance in your VPC via another mount target. // -// This operation requires permission for the following action on the file +// This operation requires permissions for the following action on the file // system: // -// elasticfilesystem:DeleteMountTarget The DeleteMountTarget call returns -// while the mount target state is still "deleting". You can check the mount -// target deletion by calling the DescribeMountTargets API, which returns a -// list of mount target descriptions for the given file system. The operation -// also requires permission for the following Amazon EC2 action on the mount -// target's network interface: +// elasticfilesystem:DeleteMountTarget +// +// The DeleteMountTarget call returns while the mount target state is still +// deleting. You can check the mount target deletion by calling the DescribeMountTargets +// operation, which returns a list of mount target descriptions for the given +// file system. +// +// The operation also requires permissions for the following Amazon EC2 action +// on the mount target's network interface: +// +// ec2:DeleteNetworkInterface +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic File System's +// API operation DeleteMountTarget for usage and error information. +// +// Returned Error Codes: +// * BadRequest +// Returned if the request is malformed or contains an error such as an invalid +// parameter value or a missing required parameter. +// +// * InternalServerError +// Returned if an error occurred on the server side. +// +// * DependencyTimeout +// The service timed out trying to fulfill the request, and the client should +// try the call again. +// +// * MountTargetNotFound +// Returned if there is no mount target with the specified ID found in the caller's +// account. // -// ec2:DeleteNetworkInterface func (c *EFS) DeleteMountTarget(input *DeleteMountTargetInput) (*DeleteMountTargetOutput, error) { req, out := c.DeleteMountTargetRequest(input) err := req.Send() @@ -302,7 +614,30 @@ func (c *EFS) DeleteMountTarget(input *DeleteMountTargetInput) (*DeleteMountTarg const opDeleteTags = "DeleteTags" -// DeleteTagsRequest generates a request for the DeleteTags operation. +// DeleteTagsRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteTagsRequest method. +// req, resp := client.DeleteTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EFS) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) { op := &request.Operation{ Name: opDeleteTags, @@ -322,14 +657,36 @@ func (c *EFS) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, o return } +// DeleteTags API operation for Amazon Elastic File System. +// // Deletes the specified tags from a file system. If the DeleteTags request -// includes a tag key that does not exist, Amazon EFS ignores it; it is not -// an error. For more information about tags and related restrictions, go to -// Tag Restrictions (http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) +// includes a tag key that does not exist, Amazon EFS ignores it and doesn't +// cause an error. For more information about tags and related restrictions, +// see Tag Restrictions (http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) // in the AWS Billing and Cost Management User Guide. // -// This operation requires permission for the elasticfilesystem:DeleteTags +// This operation requires permissions for the elasticfilesystem:DeleteTags // action. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic File System's +// API operation DeleteTags for usage and error information. +// +// Returned Error Codes: +// * BadRequest +// Returned if the request is malformed or contains an error such as an invalid +// parameter value or a missing required parameter. +// +// * InternalServerError +// Returned if an error occurred on the server side. +// +// * FileSystemNotFound +// Returned if the specified FileSystemId does not exist in the requester's +// AWS account. +// func (c *EFS) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) { req, out := c.DeleteTagsRequest(input) err := req.Send() @@ -338,7 +695,30 @@ func (c *EFS) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) { const opDescribeFileSystems = "DescribeFileSystems" -// DescribeFileSystemsRequest generates a request for the DescribeFileSystems operation. +// DescribeFileSystemsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeFileSystems operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeFileSystems for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeFileSystems method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeFileSystemsRequest method. +// req, resp := client.DescribeFileSystemsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EFS) DescribeFileSystemsRequest(input *DescribeFileSystemsInput) (req *request.Request, output *DescribeFileSystemsOutput) { op := &request.Operation{ Name: opDescribeFileSystems, @@ -356,10 +736,12 @@ func (c *EFS) DescribeFileSystemsRequest(input *DescribeFileSystemsInput) (req * return } +// DescribeFileSystems API operation for Amazon Elastic File System. +// // Returns the description of a specific Amazon EFS file system if either the -// file system CreationToken or the FileSystemId is provided; otherwise, returns -// descriptions of all file systems owned by the caller's AWS account in the -// AWS region of the endpoint that you're calling. +// file system CreationToken or the FileSystemId is provided. Otherwise, it +// returns descriptions of all file systems owned by the caller's AWS account +// in the AWS Region of the endpoint that you're calling. // // When retrieving all file system descriptions, you can optionally specify // the MaxItems parameter to limit the number of descriptions in a response. @@ -367,21 +749,41 @@ func (c *EFS) DescribeFileSystemsRequest(input *DescribeFileSystemsInput) (req * // an opaque token, in the response. In this case, you should send a subsequent // request with the Marker request parameter set to the value of NextMarker. // -// So to retrieve a list of your file system descriptions, the expected usage -// of this API is an iterative process of first calling DescribeFileSystems -// without the Marker and then continuing to call it with the Marker parameter +// To retrieve a list of your file system descriptions, this operation is used +// in an iterative process, where DescribeFileSystems is called first without +// the Marker and then the operation continues to call it with the Marker parameter // set to the value of the NextMarker from the previous response until the response // has no NextMarker. // -// Note that the implementation may return fewer than MaxItems file system -// descriptions while still including a NextMarker value. +// The implementation may return fewer than MaxItems file system descriptions +// while still including a NextMarker value. // // The order of file systems returned in the response of one DescribeFileSystems -// call, and the order of file systems returned across the responses of a multi-call -// iteration, is unspecified. +// call and the order of file systems returned across the responses of a multi-call +// iteration is unspecified. // -// This operation requires permission for the elasticfilesystem:DescribeFileSystems +// This operation requires permissions for the elasticfilesystem:DescribeFileSystems // action. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic File System's +// API operation DescribeFileSystems for usage and error information. +// +// Returned Error Codes: +// * BadRequest +// Returned if the request is malformed or contains an error such as an invalid +// parameter value or a missing required parameter. +// +// * InternalServerError +// Returned if an error occurred on the server side. +// +// * FileSystemNotFound +// Returned if the specified FileSystemId does not exist in the requester's +// AWS account. +// func (c *EFS) DescribeFileSystems(input *DescribeFileSystemsInput) (*DescribeFileSystemsOutput, error) { req, out := c.DescribeFileSystemsRequest(input) err := req.Send() @@ -390,7 +792,30 @@ func (c *EFS) DescribeFileSystems(input *DescribeFileSystemsInput) (*DescribeFil const opDescribeMountTargetSecurityGroups = "DescribeMountTargetSecurityGroups" -// DescribeMountTargetSecurityGroupsRequest generates a request for the DescribeMountTargetSecurityGroups operation. +// DescribeMountTargetSecurityGroupsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeMountTargetSecurityGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeMountTargetSecurityGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeMountTargetSecurityGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeMountTargetSecurityGroupsRequest method. +// req, resp := client.DescribeMountTargetSecurityGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EFS) DescribeMountTargetSecurityGroupsRequest(input *DescribeMountTargetSecurityGroupsInput) (req *request.Request, output *DescribeMountTargetSecurityGroupsOutput) { op := &request.Operation{ Name: opDescribeMountTargetSecurityGroups, @@ -408,15 +833,42 @@ func (c *EFS) DescribeMountTargetSecurityGroupsRequest(input *DescribeMountTarge return } +// DescribeMountTargetSecurityGroups API operation for Amazon Elastic File System. +// // Returns the security groups currently in effect for a mount target. This // operation requires that the network interface of the mount target has been -// created and the life cycle state of the mount target is not "deleted". +// created and the lifecycle state of the mount target is not deleted. // // This operation requires permissions for the following actions: // -// elasticfilesystem:DescribeMountTargetSecurityGroups action on the mount -// target's file system. ec2:DescribeNetworkInterfaceAttribute action on the -// mount target's network interface. +// elasticfilesystem:DescribeMountTargetSecurityGroups action on the mount +// target's file system. +// +// ec2:DescribeNetworkInterfaceAttribute action on the mount target's network +// interface. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic File System's +// API operation DescribeMountTargetSecurityGroups for usage and error information. +// +// Returned Error Codes: +// * BadRequest +// Returned if the request is malformed or contains an error such as an invalid +// parameter value or a missing required parameter. +// +// * InternalServerError +// Returned if an error occurred on the server side. +// +// * MountTargetNotFound +// Returned if there is no mount target with the specified ID found in the caller's +// account. +// +// * IncorrectMountTargetState +// Returned if the mount target is not in the correct state for the operation. +// func (c *EFS) DescribeMountTargetSecurityGroups(input *DescribeMountTargetSecurityGroupsInput) (*DescribeMountTargetSecurityGroupsOutput, error) { req, out := c.DescribeMountTargetSecurityGroupsRequest(input) err := req.Send() @@ -425,7 +877,30 @@ func (c *EFS) DescribeMountTargetSecurityGroups(input *DescribeMountTargetSecuri const opDescribeMountTargets = "DescribeMountTargets" -// DescribeMountTargetsRequest generates a request for the DescribeMountTargets operation. +// DescribeMountTargetsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeMountTargets operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeMountTargets for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeMountTargets method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeMountTargetsRequest method. +// req, resp := client.DescribeMountTargetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EFS) DescribeMountTargetsRequest(input *DescribeMountTargetsInput) (req *request.Request, output *DescribeMountTargetsOutput) { op := &request.Operation{ Name: opDescribeMountTargets, @@ -443,13 +918,39 @@ func (c *EFS) DescribeMountTargetsRequest(input *DescribeMountTargetsInput) (req return } +// DescribeMountTargets API operation for Amazon Elastic File System. +// // Returns the descriptions of all the current mount targets, or a specific // mount target, for a file system. When requesting all of the current mount // targets, the order of mount targets returned in the response is unspecified. // -// This operation requires permission for the elasticfilesystem:DescribeMountTargets -// action, on either the file system id that you specify in FileSystemId, or +// This operation requires permissions for the elasticfilesystem:DescribeMountTargets +// action, on either the file system ID that you specify in FileSystemId, or // on the file system of the mount target that you specify in MountTargetId. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic File System's +// API operation DescribeMountTargets for usage and error information. +// +// Returned Error Codes: +// * BadRequest +// Returned if the request is malformed or contains an error such as an invalid +// parameter value or a missing required parameter. +// +// * InternalServerError +// Returned if an error occurred on the server side. +// +// * FileSystemNotFound +// Returned if the specified FileSystemId does not exist in the requester's +// AWS account. +// +// * MountTargetNotFound +// Returned if there is no mount target with the specified ID found in the caller's +// account. +// func (c *EFS) DescribeMountTargets(input *DescribeMountTargetsInput) (*DescribeMountTargetsOutput, error) { req, out := c.DescribeMountTargetsRequest(input) err := req.Send() @@ -458,7 +959,30 @@ func (c *EFS) DescribeMountTargets(input *DescribeMountTargetsInput) (*DescribeM const opDescribeTags = "DescribeTags" -// DescribeTagsRequest generates a request for the DescribeTags operation. +// DescribeTagsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeTagsRequest method. +// req, resp := client.DescribeTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EFS) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) { op := &request.Operation{ Name: opDescribeTags, @@ -476,13 +1000,34 @@ func (c *EFS) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Reques return } +// DescribeTags API operation for Amazon Elastic File System. +// // Returns the tags associated with a file system. The order of tags returned -// in the response of one DescribeTags call, and the order of tags returned -// across the responses of a multi-call iteration (when using pagination), is -// unspecified. +// in the response of one DescribeTags call and the order of tags returned across +// the responses of a multi-call iteration (when using pagination) is unspecified. // -// This operation requires permission for the elasticfilesystem:DescribeTags +// This operation requires permissions for the elasticfilesystem:DescribeTags // action. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic File System's +// API operation DescribeTags for usage and error information. +// +// Returned Error Codes: +// * BadRequest +// Returned if the request is malformed or contains an error such as an invalid +// parameter value or a missing required parameter. +// +// * InternalServerError +// Returned if an error occurred on the server side. +// +// * FileSystemNotFound +// Returned if the specified FileSystemId does not exist in the requester's +// AWS account. +// func (c *EFS) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) { req, out := c.DescribeTagsRequest(input) err := req.Send() @@ -491,7 +1036,30 @@ func (c *EFS) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error const opModifyMountTargetSecurityGroups = "ModifyMountTargetSecurityGroups" -// ModifyMountTargetSecurityGroupsRequest generates a request for the ModifyMountTargetSecurityGroups operation. +// ModifyMountTargetSecurityGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ModifyMountTargetSecurityGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyMountTargetSecurityGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyMountTargetSecurityGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyMountTargetSecurityGroupsRequest method. +// req, resp := client.ModifyMountTargetSecurityGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EFS) ModifyMountTargetSecurityGroupsRequest(input *ModifyMountTargetSecurityGroupsInput) (req *request.Request, output *ModifyMountTargetSecurityGroupsOutput) { op := &request.Operation{ Name: opModifyMountTargetSecurityGroups, @@ -511,20 +1079,55 @@ func (c *EFS) ModifyMountTargetSecurityGroupsRequest(input *ModifyMountTargetSec return } +// ModifyMountTargetSecurityGroups API operation for Amazon Elastic File System. +// // Modifies the set of security groups in effect for a mount target. // -// When you create a mount target, Amazon EFS also creates a new network interface -// (see CreateMountTarget). This operation replaces the security groups in effect -// for the network interface associated with a mount target, with the SecurityGroups -// provided in the request. This operation requires that the network interface -// of the mount target has been created and the life cycle state of the mount -// target is not "deleted". +// When you create a mount target, Amazon EFS also creates a new network interface. +// For more information, see CreateMountTarget. This operation replaces the +// security groups in effect for the network interface associated with a mount +// target, with the SecurityGroups provided in the request. This operation requires +// that the network interface of the mount target has been created and the lifecycle +// state of the mount target is not deleted. // // The operation requires permissions for the following actions: // -// elasticfilesystem:ModifyMountTargetSecurityGroups action on the mount -// target's file system. ec2:ModifyNetworkInterfaceAttribute action on the -// mount target's network interface. +// elasticfilesystem:ModifyMountTargetSecurityGroups action on the mount +// target's file system. +// +// ec2:ModifyNetworkInterfaceAttribute action on the mount target's network +// interface. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic File System's +// API operation ModifyMountTargetSecurityGroups for usage and error information. +// +// Returned Error Codes: +// * BadRequest +// Returned if the request is malformed or contains an error such as an invalid +// parameter value or a missing required parameter. +// +// * InternalServerError +// Returned if an error occurred on the server side. +// +// * MountTargetNotFound +// Returned if there is no mount target with the specified ID found in the caller's +// account. +// +// * IncorrectMountTargetState +// Returned if the mount target is not in the correct state for the operation. +// +// * SecurityGroupLimitExceeded +// Returned if the size of SecurityGroups specified in the request is greater +// than five. +// +// * SecurityGroupNotFound +// Returned if one of the specified security groups does not exist in the subnet's +// VPC. +// func (c *EFS) ModifyMountTargetSecurityGroups(input *ModifyMountTargetSecurityGroupsInput) (*ModifyMountTargetSecurityGroupsOutput, error) { req, out := c.ModifyMountTargetSecurityGroupsRequest(input) err := req.Send() @@ -536,7 +1139,16 @@ type CreateFileSystemInput struct { // String of up to 64 ASCII characters. Amazon EFS uses this to ensure idempotent // creation. + // + // CreationToken is a required field CreationToken *string `min:"1" type:"string" required:"true"` + + // The PerformanceMode of the file system. We recommend generalPurpose performance + // mode for most file systems. File systems using the maxIO performance mode + // can scale to higher levels of aggregate throughput and operations per second + // with a tradeoff of slightly higher latencies for most file operations. This + // can't be changed after the file system has been created. + PerformanceMode *string `type:"string" enum:"PerformanceMode"` } // String returns the string representation @@ -568,17 +1180,21 @@ func (s *CreateFileSystemInput) Validate() error { type CreateMountTargetInput struct { _ struct{} `type:"structure"` - // The ID of the file system for which to create the mount target. + // ID of the file system for which to create the mount target. + // + // FileSystemId is a required field FileSystemId *string `type:"string" required:"true"` - // A valid IPv4 address within the address range of the specified subnet. + // Valid IPv4 address within the address range of the specified subnet. IpAddress *string `type:"string"` - // Up to 5 VPC security group IDs, of the form "sg-xxxxxxxx". These must be + // Up to five VPC security group IDs, of the form sg-xxxxxxxx. These must be // for the same VPC as subnet specified. SecurityGroups []*string `type:"list"` - // The ID of the subnet to add the mount target in. + // ID of the subnet to add the mount target in. + // + // SubnetId is a required field SubnetId *string `type:"string" required:"true"` } @@ -611,11 +1227,15 @@ func (s *CreateMountTargetInput) Validate() error { type CreateTagsInput struct { _ struct{} `type:"structure"` - // String. The ID of the file system whose tags you want to modify. This operation - // modifies only the tags and not the file system. + // ID of the file system whose tags you want to modify (String). This operation + // modifies the tags only, not the file system. + // + // FileSystemId is a required field FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"` - // An array of Tag objects to add. Each Tag object is a key-value pair. + // Array of Tag objects to add. Each Tag object is a key-value pair. + // + // Tags is a required field Tags []*Tag `type:"list" required:"true"` } @@ -672,7 +1292,9 @@ func (s CreateTagsOutput) GoString() string { type DeleteFileSystemInput struct { _ struct{} `type:"structure"` - // The ID of the file system you want to delete. + // ID of the file system you want to delete. + // + // FileSystemId is a required field FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"` } @@ -716,7 +1338,9 @@ func (s DeleteFileSystemOutput) GoString() string { type DeleteMountTargetInput struct { _ struct{} `type:"structure"` - // String. The ID of the mount target to delete. + // ID of the mount target to delete (String). + // + // MountTargetId is a required field MountTargetId *string `location:"uri" locationName:"MountTargetId" type:"string" required:"true"` } @@ -760,10 +1384,14 @@ func (s DeleteMountTargetOutput) GoString() string { type DeleteTagsInput struct { _ struct{} `type:"structure"` - // String. The ID of the file system whose tags you want to delete. + // ID of the file system whose tags you want to delete (String). + // + // FileSystemId is a required field FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"` - // A list of tag keys to delete. + // List of tag keys to delete. + // + // TagKeys is a required field TagKeys []*string `type:"list" required:"true"` } @@ -810,22 +1438,22 @@ func (s DeleteTagsOutput) GoString() string { type DescribeFileSystemsInput struct { _ struct{} `type:"structure"` - // Optional string. Restricts the list to the file system with this creation - // token (you specify a creation token at the time of creating an Amazon EFS - // file system). + // (Optional) Restricts the list to the file system with this creation token + // (String). You specify a creation token when you create an Amazon EFS file + // system. CreationToken *string `location:"querystring" locationName:"CreationToken" min:"1" type:"string"` - // Optional string. File system ID whose description you want to retrieve. + // (Optional) ID of the file system whose description you want to retrieve (String). FileSystemId *string `location:"querystring" locationName:"FileSystemId" type:"string"` - // Optional string. Opaque pagination token returned from a previous DescribeFileSystems - // operation. If present, specifies to continue the list from where the returning - // call had left off. + // (Optional) Opaque pagination token returned from a previous DescribeFileSystems + // operation (String). If present, specifies to continue the list from where + // the returning call had left off. Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // Optional integer. Specifies the maximum number of file systems to return - // in the response. This parameter value must be greater than 0. The number - // of items Amazon EFS returns will be the minimum of the MaxItems parameter + // (Optional) Specifies the maximum number of file systems to return in the + // response (integer). This parameter value must be greater than 0. The number + // of items that Amazon EFS returns is the minimum of the MaxItems parameter // specified in the request and the service's internal maximum number of items // per page. MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"` @@ -860,13 +1488,13 @@ func (s *DescribeFileSystemsInput) Validate() error { type DescribeFileSystemsOutput struct { _ struct{} `type:"structure"` - // An array of file system descriptions. + // Array of file system descriptions. FileSystems []*FileSystemDescription `type:"list"` - // A string, present if provided by caller in the request. + // Present if provided by caller in the request (String). Marker *string `type:"string"` - // A string, present if there are more file systems than returned in the response. + // Present if there are more file systems than returned in the response (String). // You can use the NextMarker in the subsequent request to fetch the descriptions. NextMarker *string `type:"string"` } @@ -884,7 +1512,9 @@ func (s DescribeFileSystemsOutput) GoString() string { type DescribeMountTargetSecurityGroupsInput struct { _ struct{} `type:"structure"` - // The ID of the mount target whose security groups you want to retrieve. + // ID of the mount target whose security groups you want to retrieve. + // + // MountTargetId is a required field MountTargetId *string `location:"uri" locationName:"MountTargetId" type:"string" required:"true"` } @@ -914,7 +1544,9 @@ func (s *DescribeMountTargetSecurityGroupsInput) Validate() error { type DescribeMountTargetSecurityGroupsOutput struct { _ struct{} `type:"structure"` - // An array of security groups. + // Array of security groups. + // + // SecurityGroups is a required field SecurityGroups []*string `type:"list" required:"true"` } @@ -931,20 +1563,20 @@ func (s DescribeMountTargetSecurityGroupsOutput) GoString() string { type DescribeMountTargetsInput struct { _ struct{} `type:"structure"` - // Optional. String. The ID of the file system whose mount targets you want - // to list. It must be included in your request if MountTargetId is not included. + // (Optional) ID of the file system whose mount targets you want to list (String). + // It must be included in your request if MountTargetId is not included. FileSystemId *string `location:"querystring" locationName:"FileSystemId" type:"string"` - // Optional. String. Opaque pagination token returned from a previous DescribeMountTargets - // operation. If present, it specifies to continue the list from where the previous - // returning call left off. + // (Optional) Opaque pagination token returned from a previous DescribeMountTargets + // operation (String). If present, it specifies to continue the list from where + // the previous returning call left off. Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // Optional. Maximum number of mount targets to return in the response. It must - // be an integer with a value greater than zero. + // (Optional) Maximum number of mount targets to return in the response. It + // must be an integer with a value greater than zero. MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"` - // Optional. String. The ID of the mount target that you want to have described. + // (Optional) ID of the mount target that you want to have described (String). // It must be included in your request if FileSystemId is not included. MountTargetId *string `location:"querystring" locationName:"MountTargetId" type:"string"` } @@ -1002,16 +1634,18 @@ func (s DescribeMountTargetsOutput) GoString() string { type DescribeTagsInput struct { _ struct{} `type:"structure"` - // The ID of the file system whose tag set you want to retrieve. + // ID of the file system whose tag set you want to retrieve. + // + // FileSystemId is a required field FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"` - // Optional. String. Opaque pagination token returned from a previous DescribeTags - // operation. If present, it specifies to continue the list from where the previous - // call left off. + // (Optional) Opaque pagination token returned from a previous DescribeTags + // operation (String). If present, it specifies to continue the list from where + // the previous call left off. Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // Optional. Maximum number of file system tags to return in the response. It - // must be an integer with a value greater than zero. + // (Optional) Maximum number of file system tags to return in the response. + // It must be an integer with a value greater than zero. MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"` } @@ -1054,6 +1688,8 @@ type DescribeTagsOutput struct { NextMarker *string `type:"string"` // Returns tags associated with the file system as an array of Tag objects. + // + // Tags is a required field Tags []*Tag `type:"list" required:"true"` } @@ -1067,45 +1703,63 @@ func (s DescribeTagsOutput) GoString() string { return s.String() } -// This object provides description of a file system. +// Description of the file system. type FileSystemDescription struct { _ struct{} `type:"structure"` - // The time at which the file system was created, in seconds, since 1970-01-01T00:00:00Z. + // Time that the file system was created, in seconds (since 1970-01-01T00:00:00Z). + // + // CreationTime is a required field CreationTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"` // Opaque string specified in the request. + // + // CreationToken is a required field CreationToken *string `min:"1" type:"string" required:"true"` - // The file system ID assigned by Amazon EFS. + // ID of the file system, assigned by Amazon EFS. + // + // FileSystemId is a required field FileSystemId *string `type:"string" required:"true"` - // A predefined string value that indicates the lifecycle phase of the file - // system. + // Lifecycle phase of the file system. + // + // LifeCycleState is a required field LifeCycleState *string `type:"string" required:"true" enum:"LifeCycleState"` - // You can add tags to a file system (see CreateTags) including a "Name" tag. - // If the file system has a "Name" tag, Amazon EFS returns the value in this - // field. + // You can add tags to a file system, including a Name tag. For more information, + // see CreateTags. If the file system has a Name tag, Amazon EFS returns the + // value in this field. Name *string `type:"string"` - // The current number of mount targets (see CreateMountTarget) the file system - // has. + // Current number of mount targets that the file system has. For more information, + // see CreateMountTarget. + // + // NumberOfMountTargets is a required field NumberOfMountTargets *int64 `type:"integer" required:"true"` - // The AWS account that created the file system. If the file system was created + // AWS account that created the file system. If the file system was created // by an IAM user, the parent account to which the user belongs is the owner. + // + // OwnerId is a required field OwnerId *string `type:"string" required:"true"` - // This object provides the latest known metered size of data stored in the - // file system, in bytes, in its Value field, and the time at which that size - // was determined in its Timestamp field. The Timestamp value is the integer - // number of seconds since 1970-01-01T00:00:00Z. Note that the value does not - // represent the size of a consistent snapshot of the file system, but it is - // eventually consistent when there are no writes to the file system. That is, - // the value will represent actual size only if the file system is not modified - // for a period longer than a couple of hours. Otherwise, the value is not the - // exact size the file system was at any instant in time. + // The PerformanceMode of the file system. + // + // PerformanceMode is a required field + PerformanceMode *string `type:"string" required:"true" enum:"PerformanceMode"` + + // Latest known metered size (in bytes) of data stored in the file system, in + // bytes, in its Value field, and the time at which that size was determined + // in its Timestamp field. The Timestamp value is the integer number of seconds + // since 1970-01-01T00:00:00Z. Note that the value does not represent the size + // of a consistent snapshot of the file system, but it is eventually consistent + // when there are no writes to the file system. That is, the value will represent + // actual size only if the file system is not modified for a period longer than + // a couple of hours. Otherwise, the value is not the exact size the file system + // was at any instant in time. + // + // SizeInBytes is a required field SizeInBytes *FileSystemSize `type:"structure" required:"true"` } @@ -1119,22 +1773,24 @@ func (s FileSystemDescription) GoString() string { return s.String() } -// This object provides the latest known metered size, in bytes, of data stored -// in the file system, in its Value field, and the time at which that size was -// determined in its Timestamp field. Note that the value does not represent -// the size of a consistent snapshot of the file system, but it is eventually -// consistent when there are no writes to the file system. That is, the value -// will represent the actual size only if the file system is not modified for -// a period longer than a couple of hours. Otherwise, the value is not necessarily -// the exact size the file system was at any instant in time. +// Latest known metered size (in bytes) of data stored in the file system, in +// its Value field, and the time at which that size was determined in its Timestamp +// field. Note that the value does not represent the size of a consistent snapshot +// of the file system, but it is eventually consistent when there are no writes +// to the file system. That is, the value will represent the actual size only +// if the file system is not modified for a period longer than a couple of hours. +// Otherwise, the value is not necessarily the exact size the file system was +// at any instant in time. type FileSystemSize struct { _ struct{} `type:"structure"` - // The time at which the size of data, returned in the Value field, was determined. + // Time at which the size of data, returned in the Value field, was determined. // The value is the integer number of seconds since 1970-01-01T00:00:00Z. Timestamp *time.Time `type:"timestamp" timestampFormat:"unix"` - // The latest known metered size, in bytes, of data stored in the file system. + // Latest known metered size (in bytes) of data stored in the file system. + // + // Value is a required field Value *int64 `type:"long" required:"true"` } @@ -1151,10 +1807,12 @@ func (s FileSystemSize) GoString() string { type ModifyMountTargetSecurityGroupsInput struct { _ struct{} `type:"structure"` - // The ID of the mount target whose security groups you want to modify. + // ID of the mount target whose security groups you want to modify. + // + // MountTargetId is a required field MountTargetId *string `location:"uri" locationName:"MountTargetId" type:"string" required:"true"` - // An array of up to five VPC security group IDs. + // Array of up to five VPC security group IDs. SecurityGroups []*string `type:"list"` } @@ -1195,30 +1853,38 @@ func (s ModifyMountTargetSecurityGroupsOutput) GoString() string { return s.String() } -// This object provides description of a mount target. +// Provides a description of a mount target. type MountTargetDescription struct { _ struct{} `type:"structure"` - // The ID of the file system for which the mount target is intended. + // ID of the file system for which the mount target is intended. + // + // FileSystemId is a required field FileSystemId *string `type:"string" required:"true"` - // The address at which the file system may be mounted via the mount target. + // Address at which the file system may be mounted via the mount target. IpAddress *string `type:"string"` - // The lifecycle state the mount target is in. + // Lifecycle state of the mount target. + // + // LifeCycleState is a required field LifeCycleState *string `type:"string" required:"true" enum:"LifeCycleState"` - // The system-assigned mount target ID. + // System-assigned mount target ID. + // + // MountTargetId is a required field MountTargetId *string `type:"string" required:"true"` - // The ID of the network interface that Amazon EFS created when it created the - // mount target. + // ID of the network interface that Amazon EFS created when it created the mount + // target. NetworkInterfaceId *string `type:"string"` - // The AWS account ID that owns the resource. + // AWS account ID that owns the resource. OwnerId *string `type:"string"` - // The ID of the subnet that the mount target is in. + // ID of the mount target's subnet. + // + // SubnetId is a required field SubnetId *string `type:"string" required:"true"` } @@ -1232,16 +1898,19 @@ func (s MountTargetDescription) GoString() string { return s.String() } -// A tag is a pair of key and value. The allowed characters in keys and values -// are letters, whitespace, and numbers, representable in UTF-8, and the characters -// '+', '-', '=', '.', '_', ':', and '/'. +// A tag is a key-value pair. Allowed characters: letters, whitespace, and numbers, +// representable in UTF-8, and the following characters: + - = . _ : / type Tag struct { _ struct{} `type:"structure"` - // Tag key, a string. The key must not start with "aws:". + // Tag key (String). The key can't start with aws:. + // + // Key is a required field Key *string `min:"1" type:"string" required:"true"` // Value of the tag key. + // + // Value is a required field Value *string `type:"string" required:"true"` } @@ -1275,12 +1944,23 @@ func (s *Tag) Validate() error { } const ( - // @enum LifeCycleState + // LifeCycleStateCreating is a LifeCycleState enum value LifeCycleStateCreating = "creating" - // @enum LifeCycleState + + // LifeCycleStateAvailable is a LifeCycleState enum value LifeCycleStateAvailable = "available" - // @enum LifeCycleState + + // LifeCycleStateDeleting is a LifeCycleState enum value LifeCycleStateDeleting = "deleting" - // @enum LifeCycleState + + // LifeCycleStateDeleted is a LifeCycleState enum value LifeCycleStateDeleted = "deleted" ) + +const ( + // PerformanceModeGeneralPurpose is a PerformanceMode enum value + PerformanceModeGeneralPurpose = "generalPurpose" + + // PerformanceModeMaxIo is a PerformanceMode enum value + PerformanceModeMaxIo = "maxIO" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticache/api.go b/vendor/github.com/aws/aws-sdk-go/service/elasticache/api.go index 3409de9d6cfe..3afba309c6e3 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticache/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticache/api.go @@ -14,7 +14,30 @@ import ( const opAddTagsToResource = "AddTagsToResource" -// AddTagsToResourceRequest generates a request for the AddTagsToResource operation. +// AddTagsToResourceRequest generates a "aws/request.Request" representing the +// client's request for the AddTagsToResource operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AddTagsToResource for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AddTagsToResource method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AddTagsToResourceRequest method. +// req, resp := client.AddTagsToResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *TagListMessage) { op := &request.Operation{ Name: opAddTagsToResource, @@ -32,17 +55,42 @@ func (c *ElastiCache) AddTagsToResourceRequest(input *AddTagsToResourceInput) (r return } -// The AddTagsToResource action adds up to 10 cost allocation tags to the named -// resource. A cost allocation tag is a key-value pair where the key and value -// are case-sensitive. Cost allocation tags can be used to categorize and track -// your AWS costs. +// AddTagsToResource API operation for Amazon ElastiCache. +// +// Adds up to 10 cost allocation tags to the named resource. A cost allocation +// tag is a key-value pair where the key and value are case-sensitive. You can +// use cost allocation tags to categorize and track your AWS costs. // // When you apply tags to your ElastiCache resources, AWS generates a cost // allocation report as a comma-separated value (CSV) file with your usage and // costs aggregated by your tags. You can apply tags that represent business // categories (such as cost centers, application names, or owners) to organize // your costs across multiple services. For more information, see Using Cost -// Allocation Tags in Amazon ElastiCache (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Tagging.html). +// Allocation Tags in Amazon ElastiCache (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Tagging.html) +// in the ElastiCache 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 +// the error. +// +// See the AWS API reference guide for Amazon ElastiCache's +// API operation AddTagsToResource for usage and error information. +// +// Returned Error Codes: +// * CacheClusterNotFound +// The requested cache cluster ID does not refer to an existing cache cluster. +// +// * SnapshotNotFoundFault +// The requested snapshot name does not refer to an existing snapshot. +// +// * TagQuotaPerResourceExceeded +// The request cannot be processed because it would cause the resource to have +// more than the allowed number of tags. The maximum number of tags permitted +// on a resource is 10. +// +// * InvalidARN +// The requested Amazon Resource Name (ARN) does not refer to an existing resource. +// func (c *ElastiCache) AddTagsToResource(input *AddTagsToResourceInput) (*TagListMessage, error) { req, out := c.AddTagsToResourceRequest(input) err := req.Send() @@ -51,7 +99,30 @@ func (c *ElastiCache) AddTagsToResource(input *AddTagsToResourceInput) (*TagList const opAuthorizeCacheSecurityGroupIngress = "AuthorizeCacheSecurityGroupIngress" -// AuthorizeCacheSecurityGroupIngressRequest generates a request for the AuthorizeCacheSecurityGroupIngress operation. +// AuthorizeCacheSecurityGroupIngressRequest generates a "aws/request.Request" representing the +// client's request for the AuthorizeCacheSecurityGroupIngress operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AuthorizeCacheSecurityGroupIngress for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AuthorizeCacheSecurityGroupIngress method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AuthorizeCacheSecurityGroupIngressRequest method. +// req, resp := client.AuthorizeCacheSecurityGroupIngressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) AuthorizeCacheSecurityGroupIngressRequest(input *AuthorizeCacheSecurityGroupIngressInput) (req *request.Request, output *AuthorizeCacheSecurityGroupIngressOutput) { op := &request.Operation{ Name: opAuthorizeCacheSecurityGroupIngress, @@ -69,12 +140,40 @@ func (c *ElastiCache) AuthorizeCacheSecurityGroupIngressRequest(input *Authorize return } -// The AuthorizeCacheSecurityGroupIngress action allows network ingress to a -// cache security group. Applications using ElastiCache must be running on Amazon -// EC2, and Amazon EC2 security groups are used as the authorization mechanism. +// AuthorizeCacheSecurityGroupIngress API operation for Amazon ElastiCache. // -// You cannot authorize ingress from an Amazon EC2 security group in one region +// Allows network ingress to a cache security group. Applications using ElastiCache +// must be running on Amazon EC2, and Amazon EC2 security groups are used as +// the authorization mechanism. +// +// You cannot authorize ingress from an Amazon EC2 security group in one region // to an ElastiCache cluster in another 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 +// the error. +// +// See the AWS API reference guide for Amazon ElastiCache's +// API operation AuthorizeCacheSecurityGroupIngress for usage and error information. +// +// Returned Error Codes: +// * CacheSecurityGroupNotFound +// The requested cache security group name does not refer to an existing cache +// security group. +// +// * InvalidCacheSecurityGroupState +// The current state of the cache security group does not allow deletion. +// +// * AuthorizationAlreadyExists +// The specified Amazon EC2 security group is already authorized for the specified +// cache security group. +// +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. +// func (c *ElastiCache) AuthorizeCacheSecurityGroupIngress(input *AuthorizeCacheSecurityGroupIngressInput) (*AuthorizeCacheSecurityGroupIngressOutput, error) { req, out := c.AuthorizeCacheSecurityGroupIngressRequest(input) err := req.Send() @@ -83,7 +182,30 @@ func (c *ElastiCache) AuthorizeCacheSecurityGroupIngress(input *AuthorizeCacheSe const opCopySnapshot = "CopySnapshot" -// CopySnapshotRequest generates a request for the CopySnapshot operation. +// CopySnapshotRequest generates a "aws/request.Request" representing the +// client's request for the CopySnapshot operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CopySnapshot for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CopySnapshot method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CopySnapshotRequest method. +// req, resp := client.CopySnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) { op := &request.Operation{ Name: opCopySnapshot, @@ -101,7 +223,99 @@ func (c *ElastiCache) CopySnapshotRequest(input *CopySnapshotInput) (req *reques return } -// The CopySnapshot action makes a copy of an existing snapshot. +// CopySnapshot API operation for Amazon ElastiCache. +// +// Makes a copy of an existing snapshot. +// +// This operation is valid for Redis only. +// +// Users or groups that have permissions to use the CopySnapshot operation +// can create their own Amazon S3 buckets and copy snapshots to it. To control +// access to your snapshots, use an IAM policy to control who has the ability +// to use the CopySnapshot operation. For more information about using IAM to +// control the use of ElastiCache operations, see Exporting Snapshots (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Snapshots.Exporting.html) +// and Authentication & Access Control (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/IAM.html). +// +// You could receive the following error messages. +// +// Error Messages Error Message: The S3 bucket %s is outside of the region. +// +// Solution: Create an Amazon S3 bucket in the same region as your snapshot. +// For more information, see Step 1: Create an Amazon S3 Bucket (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Snapshots.Exporting.html#Snapshots.Exporting.CreateBucket) +// in the ElastiCache User Guide. +// +// Error Message: The S3 bucket %s does not exist. +// +// Solution: Create an Amazon S3 bucket in the same region as your snapshot. +// For more information, see Step 1: Create an Amazon S3 Bucket (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Snapshots.Exporting.html#Snapshots.Exporting.CreateBucket) +// in the ElastiCache User Guide. +// +// Error Message: The S3 bucket %s is not owned by the authenticated user. +// +// Solution: Create an Amazon S3 bucket in the same region as your snapshot. +// For more information, see Step 1: Create an Amazon S3 Bucket (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Snapshots.Exporting.html#Snapshots.Exporting.CreateBucket) +// in the ElastiCache User Guide. +// +// Error Message: The authenticated user does not have sufficient permissions +// to perform the desired activity. +// +// Solution: Contact your system administrator to get the needed permissions. +// +// Error Message: The S3 bucket %s already contains an object with key %s. +// +// Solution: Give the TargetSnapshotName a new and unique value. If exporting +// a snapshot, you could alternatively create a new Amazon S3 bucket and use +// this same value for TargetSnapshotName. +// +// Error Message: ElastiCache has not been granted READ permissions %s +// on the S3 Bucket. +// +// Solution: Add List and Read permissions on the bucket. For more information, +// see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Snapshots.Exporting.html#Snapshots.Exporting.GrantAccess) +// in the ElastiCache User Guide. +// +// Error Message: ElastiCache has not been granted WRITE permissions %s +// on the S3 Bucket. +// +// Solution: Add Upload/Delete permissions on the bucket. For more information, +// see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Snapshots.Exporting.html#Snapshots.Exporting.GrantAccess) +// in the ElastiCache User Guide. +// +// Error Message: ElastiCache has not been granted READ_ACP permissions +// %s on the S3 Bucket. +// +// Solution: Add View Permissions on the bucket. For more information, see +// Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Snapshots.Exporting.html#Snapshots.Exporting.GrantAccess) +// in the ElastiCache 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 +// the error. +// +// See the AWS API reference guide for Amazon ElastiCache's +// API operation CopySnapshot for usage and error information. +// +// Returned Error Codes: +// * SnapshotAlreadyExistsFault +// You already have a snapshot with the given name. +// +// * SnapshotNotFoundFault +// The requested snapshot name does not refer to an existing snapshot. +// +// * SnapshotQuotaExceededFault +// The request cannot be processed because it would exceed the maximum number +// of snapshots. +// +// * InvalidSnapshotState +// The current state of the snapshot does not allow the requested operation +// to occur. +// +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. +// func (c *ElastiCache) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) { req, out := c.CopySnapshotRequest(input) err := req.Send() @@ -110,7 +324,30 @@ func (c *ElastiCache) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutpu const opCreateCacheCluster = "CreateCacheCluster" -// CreateCacheClusterRequest generates a request for the CreateCacheCluster operation. +// CreateCacheClusterRequest generates a "aws/request.Request" representing the +// client's request for the CreateCacheCluster operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateCacheCluster for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateCacheCluster method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateCacheClusterRequest method. +// req, resp := client.CreateCacheClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) CreateCacheClusterRequest(input *CreateCacheClusterInput) (req *request.Request, output *CreateCacheClusterOutput) { op := &request.Operation{ Name: opCreateCacheCluster, @@ -128,9 +365,74 @@ func (c *ElastiCache) CreateCacheClusterRequest(input *CreateCacheClusterInput) return } -// The CreateCacheCluster action creates a cache cluster. All nodes in the cache -// cluster run the same protocol-compliant cache engine software, either Memcached -// or Redis. +// CreateCacheCluster API operation for Amazon ElastiCache. +// +// Creates a cache cluster. All nodes in the cache cluster run the same protocol-compliant +// cache engine software, either Memcached or Redis. +// +// Due to current limitations on Redis (cluster mode disabled), this operation +// or parameter is not supported on Redis (cluster mode enabled) replication +// groups. +// +// 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 ElastiCache's +// API operation CreateCacheCluster for usage and error information. +// +// Returned Error Codes: +// * ReplicationGroupNotFoundFault +// The specified replication group does not exist. +// +// * InvalidReplicationGroupState +// The requested replication group is not in the available state. +// +// * CacheClusterAlreadyExists +// You already have a cache cluster with the given identifier. +// +// * InsufficientCacheClusterCapacity +// The requested cache node type is not available in the specified Availability +// Zone. +// +// * CacheSecurityGroupNotFound +// The requested cache security group name does not refer to an existing cache +// security group. +// +// * CacheSubnetGroupNotFoundFault +// The requested cache subnet group name does not refer to an existing cache +// subnet group. +// +// * ClusterQuotaForCustomerExceeded +// The request cannot be processed because it would exceed the allowed number +// of cache clusters per customer. +// +// * NodeQuotaForClusterExceeded +// The request cannot be processed because it would exceed the allowed number +// of cache nodes in a single cache cluster. +// +// * NodeQuotaForCustomerExceeded +// The request cannot be processed because it would exceed the allowed number +// of cache nodes per customer. +// +// * CacheParameterGroupNotFound +// The requested cache parameter group name does not refer to an existing cache +// parameter group. +// +// * InvalidVPCNetworkStateFault +// The VPC network is in an invalid state. +// +// * TagQuotaPerResourceExceeded +// The request cannot be processed because it would cause the resource to have +// more than the allowed number of tags. The maximum number of tags permitted +// on a resource is 10. +// +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. +// func (c *ElastiCache) CreateCacheCluster(input *CreateCacheClusterInput) (*CreateCacheClusterOutput, error) { req, out := c.CreateCacheClusterRequest(input) err := req.Send() @@ -139,7 +441,30 @@ func (c *ElastiCache) CreateCacheCluster(input *CreateCacheClusterInput) (*Creat const opCreateCacheParameterGroup = "CreateCacheParameterGroup" -// CreateCacheParameterGroupRequest generates a request for the CreateCacheParameterGroup operation. +// CreateCacheParameterGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateCacheParameterGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateCacheParameterGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateCacheParameterGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateCacheParameterGroupRequest method. +// req, resp := client.CreateCacheParameterGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) CreateCacheParameterGroupRequest(input *CreateCacheParameterGroupInput) (req *request.Request, output *CreateCacheParameterGroupOutput) { op := &request.Operation{ Name: opCreateCacheParameterGroup, @@ -157,9 +482,36 @@ func (c *ElastiCache) CreateCacheParameterGroupRequest(input *CreateCacheParamet return } -// The CreateCacheParameterGroup action creates a new cache parameter group. -// A cache parameter group is a collection of parameters that you apply to all -// of the nodes in a cache cluster. +// CreateCacheParameterGroup API operation for Amazon ElastiCache. +// +// Creates a new cache parameter group. A cache parameter group is a collection +// of parameters that you apply to all of the nodes in a cache cluster. +// +// 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 ElastiCache's +// API operation CreateCacheParameterGroup for usage and error information. +// +// Returned Error Codes: +// * CacheParameterGroupQuotaExceeded +// The request cannot be processed because it would exceed the maximum number +// of cache security groups. +// +// * CacheParameterGroupAlreadyExists +// A cache parameter group with the requested name already exists. +// +// * InvalidCacheParameterGroupState +// The current state of the cache parameter group does not allow the requested +// operation to occur. +// +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. +// func (c *ElastiCache) CreateCacheParameterGroup(input *CreateCacheParameterGroupInput) (*CreateCacheParameterGroupOutput, error) { req, out := c.CreateCacheParameterGroupRequest(input) err := req.Send() @@ -168,7 +520,30 @@ func (c *ElastiCache) CreateCacheParameterGroup(input *CreateCacheParameterGroup const opCreateCacheSecurityGroup = "CreateCacheSecurityGroup" -// CreateCacheSecurityGroupRequest generates a request for the CreateCacheSecurityGroup operation. +// CreateCacheSecurityGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateCacheSecurityGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateCacheSecurityGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateCacheSecurityGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateCacheSecurityGroupRequest method. +// req, resp := client.CreateCacheSecurityGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) CreateCacheSecurityGroupRequest(input *CreateCacheSecurityGroupInput) (req *request.Request, output *CreateCacheSecurityGroupOutput) { op := &request.Operation{ Name: opCreateCacheSecurityGroup, @@ -186,13 +561,37 @@ func (c *ElastiCache) CreateCacheSecurityGroupRequest(input *CreateCacheSecurity return } -// The CreateCacheSecurityGroup action creates a new cache security group. Use -// a cache security group to control access to one or more cache clusters. +// CreateCacheSecurityGroup API operation for Amazon ElastiCache. +// +// Creates a new cache security group. Use a cache security group to control +// access to one or more cache clusters. // // Cache security groups are only used when you are creating a cache cluster -// outside of an Amazon Virtual Private Cloud (VPC). If you are creating a cache -// cluster inside of a VPC, use a cache subnet group instead. For more information, -// see CreateCacheSubnetGroup (http://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateCacheSubnetGroup.html). +// outside of an Amazon Virtual Private Cloud (Amazon VPC). If you are creating +// a cache cluster inside of a VPC, use a cache subnet group instead. For more +// information, see CreateCacheSubnetGroup (http://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateCacheSubnetGroup.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. +// +// See the AWS API reference guide for Amazon ElastiCache's +// API operation CreateCacheSecurityGroup for usage and error information. +// +// Returned Error Codes: +// * CacheSecurityGroupAlreadyExists +// A cache security group with the specified name already exists. +// +// * QuotaExceeded.CacheSecurityGroup +// The request cannot be processed because it would exceed the allowed number +// of cache security groups. +// +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. +// func (c *ElastiCache) CreateCacheSecurityGroup(input *CreateCacheSecurityGroupInput) (*CreateCacheSecurityGroupOutput, error) { req, out := c.CreateCacheSecurityGroupRequest(input) err := req.Send() @@ -201,7 +600,30 @@ func (c *ElastiCache) CreateCacheSecurityGroup(input *CreateCacheSecurityGroupIn const opCreateCacheSubnetGroup = "CreateCacheSubnetGroup" -// CreateCacheSubnetGroupRequest generates a request for the CreateCacheSubnetGroup operation. +// CreateCacheSubnetGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateCacheSubnetGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateCacheSubnetGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateCacheSubnetGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateCacheSubnetGroupRequest method. +// req, resp := client.CreateCacheSubnetGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) CreateCacheSubnetGroupRequest(input *CreateCacheSubnetGroupInput) (req *request.Request, output *CreateCacheSubnetGroupOutput) { op := &request.Operation{ Name: opCreateCacheSubnetGroup, @@ -219,10 +641,36 @@ func (c *ElastiCache) CreateCacheSubnetGroupRequest(input *CreateCacheSubnetGrou return } -// The CreateCacheSubnetGroup action creates a new cache subnet group. +// CreateCacheSubnetGroup API operation for Amazon ElastiCache. +// +// Creates a new cache subnet group. // // Use this parameter only when you are creating a cluster in an Amazon Virtual -// Private Cloud (VPC). +// Private Cloud (Amazon VPC). +// +// 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 ElastiCache's +// API operation CreateCacheSubnetGroup for usage and error information. +// +// Returned Error Codes: +// * CacheSubnetGroupAlreadyExists +// The requested cache subnet group name is already in use by an existing cache +// subnet group. +// +// * CacheSubnetGroupQuotaExceeded +// The request cannot be processed because it would exceed the allowed number +// of cache subnet groups. +// +// * CacheSubnetQuotaExceededFault +// The request cannot be processed because it would exceed the allowed number +// of subnets in a cache subnet group. +// +// * InvalidSubnet +// An invalid subnet identifier was specified. +// func (c *ElastiCache) CreateCacheSubnetGroup(input *CreateCacheSubnetGroupInput) (*CreateCacheSubnetGroupOutput, error) { req, out := c.CreateCacheSubnetGroupRequest(input) err := req.Send() @@ -231,7 +679,30 @@ func (c *ElastiCache) CreateCacheSubnetGroup(input *CreateCacheSubnetGroupInput) const opCreateReplicationGroup = "CreateReplicationGroup" -// CreateReplicationGroupRequest generates a request for the CreateReplicationGroup operation. +// CreateReplicationGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateReplicationGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateReplicationGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateReplicationGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateReplicationGroupRequest method. +// req, resp := client.CreateReplicationGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) CreateReplicationGroupRequest(input *CreateReplicationGroupInput) (req *request.Request, output *CreateReplicationGroupOutput) { op := &request.Operation{ Name: opCreateReplicationGroup, @@ -249,17 +720,92 @@ func (c *ElastiCache) CreateReplicationGroupRequest(input *CreateReplicationGrou return } -// The CreateReplicationGroup action creates a replication group. A replication -// group is a collection of cache clusters, where one of the cache clusters -// is a read/write primary and the others are read-only replicas. Writes to -// the primary are automatically propagated to the replicas. +// CreateReplicationGroup API operation for Amazon ElastiCache. +// +// Creates a Redis (cluster mode disabled) or a Redis (cluster mode enabled) +// replication group. +// +// A Redis (cluster mode disabled) replication group is a collection of cache +// clusters, where one of the cache clusters is a read/write primary and the +// others are read-only replicas. Writes to the primary are asynchronously propagated +// to the replicas. +// +// A Redis (cluster mode enabled) replication group is a collection of 1 to +// 15 node groups (shards). Each node group (shard) has one read/write primary +// node and up to 5 read-only replica nodes. Writes to the primary are asynchronously +// propagated to the replicas. Redis (cluster mode enabled) replication groups +// partition the data across node groups (shards). +// +// When a Redis (cluster mode disabled) replication group has been successfully +// created, you can add one or more read replicas to it, up to a total of 5 +// read replicas. You cannot alter a Redis (cluster mode enabled) replication +// group once it has been created. +// +// This operation is valid for Redis only. +// +// 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 ElastiCache's +// API operation CreateReplicationGroup for usage and error information. +// +// Returned Error Codes: +// * CacheClusterNotFound +// The requested cache cluster ID does not refer to an existing cache cluster. +// +// * InvalidCacheClusterState +// The requested cache cluster is not in the available state. +// +// * ReplicationGroupAlreadyExists +// The specified replication group already exists. +// +// * InsufficientCacheClusterCapacity +// The requested cache node type is not available in the specified Availability +// Zone. +// +// * CacheSecurityGroupNotFound +// The requested cache security group name does not refer to an existing cache +// security group. +// +// * CacheSubnetGroupNotFoundFault +// The requested cache subnet group name does not refer to an existing cache +// subnet group. // -// When you create a replication group, you must specify an existing cache -// cluster that is in the primary role. When the replication group has been -// successfully created, you can add one or more read replica replicas to it, -// up to a total of five read replicas. +// * ClusterQuotaForCustomerExceeded +// The request cannot be processed because it would exceed the allowed number +// of cache clusters per customer. +// +// * NodeQuotaForClusterExceeded +// The request cannot be processed because it would exceed the allowed number +// of cache nodes in a single cache cluster. +// +// * NodeQuotaForCustomerExceeded +// The request cannot be processed because it would exceed the allowed number +// of cache nodes per customer. +// +// * CacheParameterGroupNotFound +// The requested cache parameter group name does not refer to an existing cache +// parameter group. +// +// * InvalidVPCNetworkStateFault +// The VPC network is in an invalid state. +// +// * TagQuotaPerResourceExceeded +// The request cannot be processed because it would cause the resource to have +// more than the allowed number of tags. The maximum number of tags permitted +// on a resource is 10. +// +// * NodeGroupsPerReplicationGroupQuotaExceeded +// The request cannot be processed because it would exceed the maximum of 15 +// node groups (shards) in a single replication group. +// +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. // -// Note: This action is valid only for Redis. func (c *ElastiCache) CreateReplicationGroup(input *CreateReplicationGroupInput) (*CreateReplicationGroupOutput, error) { req, out := c.CreateReplicationGroupRequest(input) err := req.Send() @@ -268,7 +814,30 @@ func (c *ElastiCache) CreateReplicationGroup(input *CreateReplicationGroupInput) const opCreateSnapshot = "CreateSnapshot" -// CreateSnapshotRequest generates a request for the CreateSnapshot operation. +// CreateSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the CreateSnapshot operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateSnapshot for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateSnapshot method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateSnapshotRequest method. +// req, resp := client.CreateSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *CreateSnapshotOutput) { op := &request.Operation{ Name: opCreateSnapshot, @@ -286,8 +855,57 @@ func (c *ElastiCache) CreateSnapshotRequest(input *CreateSnapshotInput) (req *re return } -// The CreateSnapshot action creates a copy of an entire cache cluster at a -// specific moment in time. +// CreateSnapshot API operation for Amazon ElastiCache. +// +// Creates a copy of an entire cache cluster or replication group at a specific +// moment in time. +// +// This operation is valid for Redis only. +// +// 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 ElastiCache's +// API operation CreateSnapshot for usage and error information. +// +// Returned Error Codes: +// * SnapshotAlreadyExistsFault +// You already have a snapshot with the given name. +// +// * CacheClusterNotFound +// The requested cache cluster ID does not refer to an existing cache cluster. +// +// * ReplicationGroupNotFoundFault +// The specified replication group does not exist. +// +// * InvalidCacheClusterState +// The requested cache cluster is not in the available state. +// +// * InvalidReplicationGroupState +// The requested replication group is not in the available state. +// +// * SnapshotQuotaExceededFault +// The request cannot be processed because it would exceed the maximum number +// of snapshots. +// +// * SnapshotFeatureNotSupportedFault +// You attempted one of the following operations: +// +// Creating a snapshot of a Redis cache cluster running on a cache.t1.micro +// cache node. +// +// Creating a snapshot of a cache cluster that is running Memcached rather +// than Redis. +// +// Neither of these are supported by ElastiCache. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. +// +// * InvalidParameterValue +// The value for a parameter is invalid. +// func (c *ElastiCache) CreateSnapshot(input *CreateSnapshotInput) (*CreateSnapshotOutput, error) { req, out := c.CreateSnapshotRequest(input) err := req.Send() @@ -296,7 +914,30 @@ func (c *ElastiCache) CreateSnapshot(input *CreateSnapshotInput) (*CreateSnapsho const opDeleteCacheCluster = "DeleteCacheCluster" -// DeleteCacheClusterRequest generates a request for the DeleteCacheCluster operation. +// DeleteCacheClusterRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCacheCluster operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteCacheCluster for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteCacheCluster method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteCacheClusterRequest method. +// req, resp := client.DeleteCacheClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) DeleteCacheClusterRequest(input *DeleteCacheClusterInput) (req *request.Request, output *DeleteCacheClusterOutput) { op := &request.Operation{ Name: opDeleteCacheCluster, @@ -314,14 +955,61 @@ func (c *ElastiCache) DeleteCacheClusterRequest(input *DeleteCacheClusterInput) return } -// The DeleteCacheCluster action deletes a previously provisioned cache cluster. -// DeleteCacheCluster deletes all associated cache nodes, node endpoints and -// the cache cluster itself. When you receive a successful response from this -// action, Amazon ElastiCache immediately begins deleting the cache cluster; -// you cannot cancel or revert this action. +// DeleteCacheCluster API operation for Amazon ElastiCache. +// +// Deletes a previously provisioned cache cluster. DeleteCacheCluster deletes +// all associated cache nodes, node endpoints and the cache cluster itself. +// When you receive a successful response from this operation, Amazon ElastiCache +// immediately begins deleting the cache cluster; you cannot cancel or revert +// this operation. +// +// This operation cannot be used to delete a cache cluster that is the last +// read replica of a replication group or node group (shard) that has Multi-AZ +// mode enabled or a cache cluster from a Redis (cluster mode enabled) replication +// group. +// +// Due to current limitations on Redis (cluster mode disabled), this operation +// or parameter is not supported on Redis (cluster mode enabled) replication +// groups. +// +// 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 ElastiCache's +// API operation DeleteCacheCluster for usage and error information. +// +// Returned Error Codes: +// * CacheClusterNotFound +// The requested cache cluster ID does not refer to an existing cache cluster. +// +// * InvalidCacheClusterState +// The requested cache cluster is not in the available state. +// +// * SnapshotAlreadyExistsFault +// You already have a snapshot with the given name. +// +// * SnapshotFeatureNotSupportedFault +// You attempted one of the following operations: +// +// Creating a snapshot of a Redis cache cluster running on a cache.t1.micro +// cache node. +// +// Creating a snapshot of a cache cluster that is running Memcached rather +// than Redis. +// +// Neither of these are supported by ElastiCache. +// +// * SnapshotQuotaExceededFault +// The request cannot be processed because it would exceed the maximum number +// of snapshots. +// +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. // -// This API cannot be used to delete a cache cluster that is the last read -// replica of a replication group that has Multi-AZ mode enabled. func (c *ElastiCache) DeleteCacheCluster(input *DeleteCacheClusterInput) (*DeleteCacheClusterOutput, error) { req, out := c.DeleteCacheClusterRequest(input) err := req.Send() @@ -330,7 +1018,30 @@ func (c *ElastiCache) DeleteCacheCluster(input *DeleteCacheClusterInput) (*Delet const opDeleteCacheParameterGroup = "DeleteCacheParameterGroup" -// DeleteCacheParameterGroupRequest generates a request for the DeleteCacheParameterGroup operation. +// DeleteCacheParameterGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCacheParameterGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteCacheParameterGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteCacheParameterGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteCacheParameterGroupRequest method. +// req, resp := client.DeleteCacheParameterGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) DeleteCacheParameterGroupRequest(input *DeleteCacheParameterGroupInput) (req *request.Request, output *DeleteCacheParameterGroupOutput) { op := &request.Operation{ Name: opDeleteCacheParameterGroup, @@ -350,9 +1061,33 @@ func (c *ElastiCache) DeleteCacheParameterGroupRequest(input *DeleteCacheParamet return } -// The DeleteCacheParameterGroup action deletes the specified cache parameter -// group. You cannot delete a cache parameter group if it is associated with -// any cache clusters. +// DeleteCacheParameterGroup API operation for Amazon ElastiCache. +// +// Deletes the specified cache parameter group. You cannot delete a cache parameter +// group if it is associated with any cache clusters. +// +// 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 ElastiCache's +// API operation DeleteCacheParameterGroup for usage and error information. +// +// Returned Error Codes: +// * InvalidCacheParameterGroupState +// The current state of the cache parameter group does not allow the requested +// operation to occur. +// +// * CacheParameterGroupNotFound +// The requested cache parameter group name does not refer to an existing cache +// parameter group. +// +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. +// func (c *ElastiCache) DeleteCacheParameterGroup(input *DeleteCacheParameterGroupInput) (*DeleteCacheParameterGroupOutput, error) { req, out := c.DeleteCacheParameterGroupRequest(input) err := req.Send() @@ -361,7 +1096,30 @@ func (c *ElastiCache) DeleteCacheParameterGroup(input *DeleteCacheParameterGroup const opDeleteCacheSecurityGroup = "DeleteCacheSecurityGroup" -// DeleteCacheSecurityGroupRequest generates a request for the DeleteCacheSecurityGroup operation. +// DeleteCacheSecurityGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCacheSecurityGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteCacheSecurityGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteCacheSecurityGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteCacheSecurityGroupRequest method. +// req, resp := client.DeleteCacheSecurityGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) DeleteCacheSecurityGroupRequest(input *DeleteCacheSecurityGroupInput) (req *request.Request, output *DeleteCacheSecurityGroupOutput) { op := &request.Operation{ Name: opDeleteCacheSecurityGroup, @@ -381,10 +1139,34 @@ func (c *ElastiCache) DeleteCacheSecurityGroupRequest(input *DeleteCacheSecurity return } -// The DeleteCacheSecurityGroup action deletes a cache security group. +// DeleteCacheSecurityGroup API operation for Amazon ElastiCache. +// +// Deletes a cache security group. // -// You cannot delete a cache security group if it is associated with any cache +// You cannot delete a cache security group if it is associated with any cache // clusters. +// +// 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 ElastiCache's +// API operation DeleteCacheSecurityGroup for usage and error information. +// +// Returned Error Codes: +// * InvalidCacheSecurityGroupState +// The current state of the cache security group does not allow deletion. +// +// * CacheSecurityGroupNotFound +// The requested cache security group name does not refer to an existing cache +// security group. +// +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. +// func (c *ElastiCache) DeleteCacheSecurityGroup(input *DeleteCacheSecurityGroupInput) (*DeleteCacheSecurityGroupOutput, error) { req, out := c.DeleteCacheSecurityGroupRequest(input) err := req.Send() @@ -393,7 +1175,30 @@ func (c *ElastiCache) DeleteCacheSecurityGroup(input *DeleteCacheSecurityGroupIn const opDeleteCacheSubnetGroup = "DeleteCacheSubnetGroup" -// DeleteCacheSubnetGroupRequest generates a request for the DeleteCacheSubnetGroup operation. +// DeleteCacheSubnetGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCacheSubnetGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteCacheSubnetGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteCacheSubnetGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteCacheSubnetGroupRequest method. +// req, resp := client.DeleteCacheSubnetGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) DeleteCacheSubnetGroupRequest(input *DeleteCacheSubnetGroupInput) (req *request.Request, output *DeleteCacheSubnetGroupOutput) { op := &request.Operation{ Name: opDeleteCacheSubnetGroup, @@ -413,10 +1218,28 @@ func (c *ElastiCache) DeleteCacheSubnetGroupRequest(input *DeleteCacheSubnetGrou return } -// The DeleteCacheSubnetGroup action deletes a cache subnet group. +// DeleteCacheSubnetGroup API operation for Amazon ElastiCache. // -// You cannot delete a cache subnet group if it is associated with any cache +// Deletes a cache subnet group. +// +// You cannot delete a cache subnet group if it is associated with any cache // clusters. +// +// 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 ElastiCache's +// API operation DeleteCacheSubnetGroup for usage and error information. +// +// Returned Error Codes: +// * CacheSubnetGroupInUse +// The requested cache subnet group is currently in use. +// +// * CacheSubnetGroupNotFoundFault +// The requested cache subnet group name does not refer to an existing cache +// subnet group. +// func (c *ElastiCache) DeleteCacheSubnetGroup(input *DeleteCacheSubnetGroupInput) (*DeleteCacheSubnetGroupOutput, error) { req, out := c.DeleteCacheSubnetGroupRequest(input) err := req.Send() @@ -425,7 +1248,30 @@ func (c *ElastiCache) DeleteCacheSubnetGroup(input *DeleteCacheSubnetGroupInput) const opDeleteReplicationGroup = "DeleteReplicationGroup" -// DeleteReplicationGroupRequest generates a request for the DeleteReplicationGroup operation. +// DeleteReplicationGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteReplicationGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteReplicationGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteReplicationGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteReplicationGroupRequest method. +// req, resp := client.DeleteReplicationGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) DeleteReplicationGroupRequest(input *DeleteReplicationGroupInput) (req *request.Request, output *DeleteReplicationGroupOutput) { op := &request.Operation{ Name: opDeleteReplicationGroup, @@ -443,14 +1289,58 @@ func (c *ElastiCache) DeleteReplicationGroupRequest(input *DeleteReplicationGrou return } -// The DeleteReplicationGroup action deletes an existing replication group. -// By default, this action deletes the entire replication group, including the -// primary cluster and all of the read replicas. You can optionally delete only -// the read replicas, while retaining the primary cluster. +// DeleteReplicationGroup API operation for Amazon ElastiCache. // -// When you receive a successful response from this action, Amazon ElastiCache +// Deletes an existing replication group. By default, this operation deletes +// the entire replication group, including the primary/primaries and all of +// the read replicas. If the replication group has only one primary, you can +// optionally delete only the read replicas, while retaining the primary by +// setting RetainPrimaryCluster=true. +// +// When you receive a successful response from this operation, Amazon ElastiCache // immediately begins deleting the selected resources; you cannot cancel or -// revert this action. +// revert this operation. +// +// This operation is valid for Redis only. +// +// 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 ElastiCache's +// API operation DeleteReplicationGroup for usage and error information. +// +// Returned Error Codes: +// * ReplicationGroupNotFoundFault +// The specified replication group does not exist. +// +// * InvalidReplicationGroupState +// The requested replication group is not in the available state. +// +// * SnapshotAlreadyExistsFault +// You already have a snapshot with the given name. +// +// * SnapshotFeatureNotSupportedFault +// You attempted one of the following operations: +// +// Creating a snapshot of a Redis cache cluster running on a cache.t1.micro +// cache node. +// +// Creating a snapshot of a cache cluster that is running Memcached rather +// than Redis. +// +// Neither of these are supported by ElastiCache. +// +// * SnapshotQuotaExceededFault +// The request cannot be processed because it would exceed the maximum number +// of snapshots. +// +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. +// func (c *ElastiCache) DeleteReplicationGroup(input *DeleteReplicationGroupInput) (*DeleteReplicationGroupOutput, error) { req, out := c.DeleteReplicationGroupRequest(input) err := req.Send() @@ -459,7 +1349,30 @@ func (c *ElastiCache) DeleteReplicationGroup(input *DeleteReplicationGroupInput) const opDeleteSnapshot = "DeleteSnapshot" -// DeleteSnapshotRequest generates a request for the DeleteSnapshot operation. +// DeleteSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSnapshot operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteSnapshot for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteSnapshot method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteSnapshotRequest method. +// req, resp := client.DeleteSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) { op := &request.Operation{ Name: opDeleteSnapshot, @@ -477,9 +1390,35 @@ func (c *ElastiCache) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *re return } -// The DeleteSnapshot action deletes an existing snapshot. When you receive -// a successful response from this action, ElastiCache immediately begins deleting -// the snapshot; you cannot cancel or revert this action. +// DeleteSnapshot API operation for Amazon ElastiCache. +// +// Deletes an existing snapshot. When you receive a successful response from +// this operation, ElastiCache immediately begins deleting the snapshot; you +// cannot cancel or revert this operation. +// +// This operation is valid for Redis only. +// +// 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 ElastiCache's +// API operation DeleteSnapshot for usage and error information. +// +// Returned Error Codes: +// * SnapshotNotFoundFault +// The requested snapshot name does not refer to an existing snapshot. +// +// * InvalidSnapshotState +// The current state of the snapshot does not allow the requested operation +// to occur. +// +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. +// func (c *ElastiCache) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) { req, out := c.DeleteSnapshotRequest(input) err := req.Send() @@ -488,7 +1427,30 @@ func (c *ElastiCache) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapsho const opDescribeCacheClusters = "DescribeCacheClusters" -// DescribeCacheClustersRequest generates a request for the DescribeCacheClusters operation. +// DescribeCacheClustersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCacheClusters operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeCacheClusters for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeCacheClusters method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeCacheClustersRequest method. +// req, resp := client.DescribeCacheClustersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) DescribeCacheClustersRequest(input *DescribeCacheClustersInput) (req *request.Request, output *DescribeCacheClustersOutput) { op := &request.Operation{ Name: opDescribeCacheClusters, @@ -512,34 +1474,71 @@ func (c *ElastiCache) DescribeCacheClustersRequest(input *DescribeCacheClustersI return } -// The DescribeCacheClusters action returns information about all provisioned -// cache clusters if no cache cluster identifier is specified, or about a specific -// cache cluster if a cache cluster identifier is supplied. +// DescribeCacheClusters API operation for Amazon ElastiCache. // -// By default, abbreviated information about the cache clusters(s) will be -// returned. You can use the optional ShowDetails flag to retrieve detailed -// information about the cache nodes associated with the cache clusters. These -// details include the DNS address and port for the cache node endpoint. +// Returns information about all provisioned cache clusters if no cache cluster +// identifier is specified, or about a specific cache cluster if a cache cluster +// identifier is supplied. // -// If the cluster is in the CREATING state, only cluster level information -// will be displayed until all of the nodes are successfully provisioned. +// By default, abbreviated information about the cache clusters are returned. +// You can use the optional ShowDetails flag to retrieve detailed information +// about the cache nodes associated with the cache clusters. These details include +// the DNS address and port for the cache node endpoint. // -// If the cluster is in the DELETING state, only cluster level information -// will be displayed. +// If the cluster is in the CREATING state, only cluster-level information +// is displayed until all of the nodes are successfully provisioned. +// +// If the cluster is in the DELETING state, only cluster-level information +// is displayed. // // If cache nodes are currently being added to the cache cluster, node endpoint -// information and creation time for the additional nodes will not be displayed +// information and creation time for the additional nodes are not displayed // until they are completely provisioned. When the cache cluster state is available, // the cluster is ready for use. // // If cache nodes are currently being removed from the cache cluster, no endpoint // information for the removed nodes is displayed. +// +// 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 ElastiCache's +// API operation DescribeCacheClusters for usage and error information. +// +// Returned Error Codes: +// * CacheClusterNotFound +// The requested cache cluster ID does not refer to an existing cache cluster. +// +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. +// func (c *ElastiCache) DescribeCacheClusters(input *DescribeCacheClustersInput) (*DescribeCacheClustersOutput, error) { req, out := c.DescribeCacheClustersRequest(input) err := req.Send() return out, err } +// DescribeCacheClustersPages iterates over the pages of a DescribeCacheClusters operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeCacheClusters 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 DescribeCacheClusters operation. +// pageNum := 0 +// err := client.DescribeCacheClustersPages(params, +// func(page *DescribeCacheClustersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *ElastiCache) DescribeCacheClustersPages(input *DescribeCacheClustersInput, fn func(p *DescribeCacheClustersOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeCacheClustersRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -550,7 +1549,30 @@ func (c *ElastiCache) DescribeCacheClustersPages(input *DescribeCacheClustersInp const opDescribeCacheEngineVersions = "DescribeCacheEngineVersions" -// DescribeCacheEngineVersionsRequest generates a request for the DescribeCacheEngineVersions operation. +// DescribeCacheEngineVersionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCacheEngineVersions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeCacheEngineVersions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeCacheEngineVersions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeCacheEngineVersionsRequest method. +// req, resp := client.DescribeCacheEngineVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) DescribeCacheEngineVersionsRequest(input *DescribeCacheEngineVersionsInput) (req *request.Request, output *DescribeCacheEngineVersionsOutput) { op := &request.Operation{ Name: opDescribeCacheEngineVersions, @@ -574,14 +1596,39 @@ func (c *ElastiCache) DescribeCacheEngineVersionsRequest(input *DescribeCacheEng return } -// The DescribeCacheEngineVersions action returns a list of the available cache -// engines and their versions. +// DescribeCacheEngineVersions API operation for Amazon ElastiCache. +// +// Returns a list of the available cache engines and their versions. +// +// 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 ElastiCache's +// API operation DescribeCacheEngineVersions for usage and error information. func (c *ElastiCache) DescribeCacheEngineVersions(input *DescribeCacheEngineVersionsInput) (*DescribeCacheEngineVersionsOutput, error) { req, out := c.DescribeCacheEngineVersionsRequest(input) err := req.Send() return out, err } +// DescribeCacheEngineVersionsPages iterates over the pages of a DescribeCacheEngineVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeCacheEngineVersions 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 DescribeCacheEngineVersions operation. +// pageNum := 0 +// err := client.DescribeCacheEngineVersionsPages(params, +// func(page *DescribeCacheEngineVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *ElastiCache) DescribeCacheEngineVersionsPages(input *DescribeCacheEngineVersionsInput, fn func(p *DescribeCacheEngineVersionsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeCacheEngineVersionsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -592,7 +1639,30 @@ func (c *ElastiCache) DescribeCacheEngineVersionsPages(input *DescribeCacheEngin const opDescribeCacheParameterGroups = "DescribeCacheParameterGroups" -// DescribeCacheParameterGroupsRequest generates a request for the DescribeCacheParameterGroups operation. +// DescribeCacheParameterGroupsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCacheParameterGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeCacheParameterGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeCacheParameterGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeCacheParameterGroupsRequest method. +// req, resp := client.DescribeCacheParameterGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) DescribeCacheParameterGroupsRequest(input *DescribeCacheParameterGroupsInput) (req *request.Request, output *DescribeCacheParameterGroupsOutput) { op := &request.Operation{ Name: opDescribeCacheParameterGroups, @@ -616,15 +1686,53 @@ func (c *ElastiCache) DescribeCacheParameterGroupsRequest(input *DescribeCachePa return } -// The DescribeCacheParameterGroups action returns a list of cache parameter -// group descriptions. If a cache parameter group name is specified, the list -// will contain only the descriptions for that group. +// DescribeCacheParameterGroups API operation for Amazon ElastiCache. +// +// Returns a list of cache parameter group descriptions. If a cache parameter +// group name is specified, the list contains only the descriptions for that +// group. +// +// 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 ElastiCache's +// API operation DescribeCacheParameterGroups for usage and error information. +// +// Returned Error Codes: +// * CacheParameterGroupNotFound +// The requested cache parameter group name does not refer to an existing cache +// parameter group. +// +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. +// func (c *ElastiCache) DescribeCacheParameterGroups(input *DescribeCacheParameterGroupsInput) (*DescribeCacheParameterGroupsOutput, error) { req, out := c.DescribeCacheParameterGroupsRequest(input) err := req.Send() return out, err } +// DescribeCacheParameterGroupsPages iterates over the pages of a DescribeCacheParameterGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeCacheParameterGroups 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 DescribeCacheParameterGroups operation. +// pageNum := 0 +// err := client.DescribeCacheParameterGroupsPages(params, +// func(page *DescribeCacheParameterGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *ElastiCache) DescribeCacheParameterGroupsPages(input *DescribeCacheParameterGroupsInput, fn func(p *DescribeCacheParameterGroupsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeCacheParameterGroupsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -635,7 +1743,30 @@ func (c *ElastiCache) DescribeCacheParameterGroupsPages(input *DescribeCachePara const opDescribeCacheParameters = "DescribeCacheParameters" -// DescribeCacheParametersRequest generates a request for the DescribeCacheParameters operation. +// DescribeCacheParametersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCacheParameters operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeCacheParameters for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeCacheParameters method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeCacheParametersRequest method. +// req, resp := client.DescribeCacheParametersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) DescribeCacheParametersRequest(input *DescribeCacheParametersInput) (req *request.Request, output *DescribeCacheParametersOutput) { op := &request.Operation{ Name: opDescribeCacheParameters, @@ -659,14 +1790,51 @@ func (c *ElastiCache) DescribeCacheParametersRequest(input *DescribeCacheParamet return } -// The DescribeCacheParameters action returns the detailed parameter list for -// a particular cache parameter group. +// DescribeCacheParameters API operation for Amazon ElastiCache. +// +// Returns the detailed parameter list for a particular cache parameter group. +// +// 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 ElastiCache's +// API operation DescribeCacheParameters for usage and error information. +// +// Returned Error Codes: +// * CacheParameterGroupNotFound +// The requested cache parameter group name does not refer to an existing cache +// parameter group. +// +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. +// func (c *ElastiCache) DescribeCacheParameters(input *DescribeCacheParametersInput) (*DescribeCacheParametersOutput, error) { req, out := c.DescribeCacheParametersRequest(input) err := req.Send() return out, err } +// DescribeCacheParametersPages iterates over the pages of a DescribeCacheParameters operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeCacheParameters 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 DescribeCacheParameters operation. +// pageNum := 0 +// err := client.DescribeCacheParametersPages(params, +// func(page *DescribeCacheParametersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *ElastiCache) DescribeCacheParametersPages(input *DescribeCacheParametersInput, fn func(p *DescribeCacheParametersOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeCacheParametersRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -677,7 +1845,30 @@ func (c *ElastiCache) DescribeCacheParametersPages(input *DescribeCacheParameter const opDescribeCacheSecurityGroups = "DescribeCacheSecurityGroups" -// DescribeCacheSecurityGroupsRequest generates a request for the DescribeCacheSecurityGroups operation. +// DescribeCacheSecurityGroupsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCacheSecurityGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeCacheSecurityGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeCacheSecurityGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeCacheSecurityGroupsRequest method. +// req, resp := client.DescribeCacheSecurityGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) DescribeCacheSecurityGroupsRequest(input *DescribeCacheSecurityGroupsInput) (req *request.Request, output *DescribeCacheSecurityGroupsOutput) { op := &request.Operation{ Name: opDescribeCacheSecurityGroups, @@ -701,15 +1892,52 @@ func (c *ElastiCache) DescribeCacheSecurityGroupsRequest(input *DescribeCacheSec return } -// The DescribeCacheSecurityGroups action returns a list of cache security group -// descriptions. If a cache security group name is specified, the list will -// contain only the description of that group. +// DescribeCacheSecurityGroups API operation for Amazon ElastiCache. +// +// Returns a list of cache security group descriptions. If a cache security +// group name is specified, the list contains only the description of that group. +// +// 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 ElastiCache's +// API operation DescribeCacheSecurityGroups for usage and error information. +// +// Returned Error Codes: +// * CacheSecurityGroupNotFound +// The requested cache security group name does not refer to an existing cache +// security group. +// +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. +// func (c *ElastiCache) DescribeCacheSecurityGroups(input *DescribeCacheSecurityGroupsInput) (*DescribeCacheSecurityGroupsOutput, error) { req, out := c.DescribeCacheSecurityGroupsRequest(input) err := req.Send() return out, err } +// DescribeCacheSecurityGroupsPages iterates over the pages of a DescribeCacheSecurityGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeCacheSecurityGroups 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 DescribeCacheSecurityGroups operation. +// pageNum := 0 +// err := client.DescribeCacheSecurityGroupsPages(params, +// func(page *DescribeCacheSecurityGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *ElastiCache) DescribeCacheSecurityGroupsPages(input *DescribeCacheSecurityGroupsInput, fn func(p *DescribeCacheSecurityGroupsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeCacheSecurityGroupsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -720,7 +1948,30 @@ func (c *ElastiCache) DescribeCacheSecurityGroupsPages(input *DescribeCacheSecur const opDescribeCacheSubnetGroups = "DescribeCacheSubnetGroups" -// DescribeCacheSubnetGroupsRequest generates a request for the DescribeCacheSubnetGroups operation. +// DescribeCacheSubnetGroupsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCacheSubnetGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeCacheSubnetGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeCacheSubnetGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeCacheSubnetGroupsRequest method. +// req, resp := client.DescribeCacheSubnetGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) DescribeCacheSubnetGroupsRequest(input *DescribeCacheSubnetGroupsInput) (req *request.Request, output *DescribeCacheSubnetGroupsOutput) { op := &request.Operation{ Name: opDescribeCacheSubnetGroups, @@ -744,15 +1995,46 @@ func (c *ElastiCache) DescribeCacheSubnetGroupsRequest(input *DescribeCacheSubne return } -// The DescribeCacheSubnetGroups action returns a list of cache subnet group -// descriptions. If a subnet group name is specified, the list will contain -// only the description of that group. +// DescribeCacheSubnetGroups API operation for Amazon ElastiCache. +// +// Returns a list of cache subnet group descriptions. If a subnet group name +// is specified, the list contains only the description of that group. +// +// 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 ElastiCache's +// API operation DescribeCacheSubnetGroups for usage and error information. +// +// Returned Error Codes: +// * CacheSubnetGroupNotFoundFault +// The requested cache subnet group name does not refer to an existing cache +// subnet group. +// func (c *ElastiCache) DescribeCacheSubnetGroups(input *DescribeCacheSubnetGroupsInput) (*DescribeCacheSubnetGroupsOutput, error) { req, out := c.DescribeCacheSubnetGroupsRequest(input) err := req.Send() return out, err } +// DescribeCacheSubnetGroupsPages iterates over the pages of a DescribeCacheSubnetGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeCacheSubnetGroups 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 DescribeCacheSubnetGroups operation. +// pageNum := 0 +// err := client.DescribeCacheSubnetGroupsPages(params, +// func(page *DescribeCacheSubnetGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *ElastiCache) DescribeCacheSubnetGroupsPages(input *DescribeCacheSubnetGroupsInput, fn func(p *DescribeCacheSubnetGroupsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeCacheSubnetGroupsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -763,7 +2045,30 @@ func (c *ElastiCache) DescribeCacheSubnetGroupsPages(input *DescribeCacheSubnetG const opDescribeEngineDefaultParameters = "DescribeEngineDefaultParameters" -// DescribeEngineDefaultParametersRequest generates a request for the DescribeEngineDefaultParameters operation. +// DescribeEngineDefaultParametersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEngineDefaultParameters operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeEngineDefaultParameters for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeEngineDefaultParameters method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeEngineDefaultParametersRequest method. +// req, resp := client.DescribeEngineDefaultParametersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) DescribeEngineDefaultParametersRequest(input *DescribeEngineDefaultParametersInput) (req *request.Request, output *DescribeEngineDefaultParametersOutput) { op := &request.Operation{ Name: opDescribeEngineDefaultParameters, @@ -787,14 +2092,48 @@ func (c *ElastiCache) DescribeEngineDefaultParametersRequest(input *DescribeEngi return } -// The DescribeEngineDefaultParameters action returns the default engine and -// system parameter information for the specified cache engine. +// DescribeEngineDefaultParameters API operation for Amazon ElastiCache. +// +// Returns the default engine and system parameter information for the specified +// cache engine. +// +// 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 ElastiCache's +// API operation DescribeEngineDefaultParameters for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. +// func (c *ElastiCache) DescribeEngineDefaultParameters(input *DescribeEngineDefaultParametersInput) (*DescribeEngineDefaultParametersOutput, error) { req, out := c.DescribeEngineDefaultParametersRequest(input) err := req.Send() return out, err } +// DescribeEngineDefaultParametersPages iterates over the pages of a DescribeEngineDefaultParameters operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeEngineDefaultParameters 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 DescribeEngineDefaultParameters operation. +// pageNum := 0 +// err := client.DescribeEngineDefaultParametersPages(params, +// func(page *DescribeEngineDefaultParametersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *ElastiCache) DescribeEngineDefaultParametersPages(input *DescribeEngineDefaultParametersInput, fn func(p *DescribeEngineDefaultParametersOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeEngineDefaultParametersRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -805,7 +2144,30 @@ func (c *ElastiCache) DescribeEngineDefaultParametersPages(input *DescribeEngine const opDescribeEvents = "DescribeEvents" -// DescribeEventsRequest generates a request for the DescribeEvents operation. +// DescribeEventsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEvents operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeEvents for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeEvents method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeEventsRequest method. +// req, resp := client.DescribeEventsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) { op := &request.Operation{ Name: opDescribeEvents, @@ -829,19 +2191,53 @@ func (c *ElastiCache) DescribeEventsRequest(input *DescribeEventsInput) (req *re return } -// The DescribeEvents action returns events related to cache clusters, cache -// security groups, and cache parameter groups. You can obtain events specific -// to a particular cache cluster, cache security group, or cache parameter group -// by providing the name as a parameter. +// DescribeEvents API operation for Amazon ElastiCache. +// +// Returns events related to cache clusters, cache security groups, and cache +// parameter groups. You can obtain events specific to a particular cache cluster, +// cache security group, or cache parameter group by providing the name as a +// parameter. // // By default, only the events occurring within the last hour 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 +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon ElastiCache's +// API operation DescribeEvents for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. +// func (c *ElastiCache) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) { req, out := c.DescribeEventsRequest(input) err := req.Send() return out, err } +// DescribeEventsPages iterates over the pages of a DescribeEvents operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeEvents 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 DescribeEvents operation. +// pageNum := 0 +// err := client.DescribeEventsPages(params, +// func(page *DescribeEventsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *ElastiCache) DescribeEventsPages(input *DescribeEventsInput, fn func(p *DescribeEventsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeEventsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -852,7 +2248,30 @@ func (c *ElastiCache) DescribeEventsPages(input *DescribeEventsInput, fn func(p const opDescribeReplicationGroups = "DescribeReplicationGroups" -// DescribeReplicationGroupsRequest generates a request for the DescribeReplicationGroups operation. +// DescribeReplicationGroupsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeReplicationGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeReplicationGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeReplicationGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeReplicationGroupsRequest method. +// req, resp := client.DescribeReplicationGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) DescribeReplicationGroupsRequest(input *DescribeReplicationGroupsInput) (req *request.Request, output *DescribeReplicationGroupsOutput) { op := &request.Operation{ Name: opDescribeReplicationGroups, @@ -876,15 +2295,54 @@ func (c *ElastiCache) DescribeReplicationGroupsRequest(input *DescribeReplicatio return } -// The DescribeReplicationGroups action returns information about a particular -// replication group. If no identifier is specified, DescribeReplicationGroups -// returns information about all replication groups. +// DescribeReplicationGroups API operation for Amazon ElastiCache. +// +// Returns information about a particular replication group. If no identifier +// is specified, DescribeReplicationGroups returns information about all replication +// groups. +// +// This operation is valid for Redis only. +// +// 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 ElastiCache's +// API operation DescribeReplicationGroups for usage and error information. +// +// Returned Error Codes: +// * ReplicationGroupNotFoundFault +// The specified replication group does not exist. +// +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. +// func (c *ElastiCache) DescribeReplicationGroups(input *DescribeReplicationGroupsInput) (*DescribeReplicationGroupsOutput, error) { req, out := c.DescribeReplicationGroupsRequest(input) err := req.Send() return out, err } +// DescribeReplicationGroupsPages iterates over the pages of a DescribeReplicationGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeReplicationGroups 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 DescribeReplicationGroups operation. +// pageNum := 0 +// err := client.DescribeReplicationGroupsPages(params, +// func(page *DescribeReplicationGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *ElastiCache) DescribeReplicationGroupsPages(input *DescribeReplicationGroupsInput, fn func(p *DescribeReplicationGroupsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeReplicationGroupsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -895,7 +2353,30 @@ func (c *ElastiCache) DescribeReplicationGroupsPages(input *DescribeReplicationG const opDescribeReservedCacheNodes = "DescribeReservedCacheNodes" -// DescribeReservedCacheNodesRequest generates a request for the DescribeReservedCacheNodes operation. +// DescribeReservedCacheNodesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeReservedCacheNodes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeReservedCacheNodes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeReservedCacheNodes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeReservedCacheNodesRequest method. +// req, resp := client.DescribeReservedCacheNodesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) DescribeReservedCacheNodesRequest(input *DescribeReservedCacheNodesInput) (req *request.Request, output *DescribeReservedCacheNodesOutput) { op := &request.Operation{ Name: opDescribeReservedCacheNodes, @@ -919,14 +2400,51 @@ func (c *ElastiCache) DescribeReservedCacheNodesRequest(input *DescribeReservedC return } -// The DescribeReservedCacheNodes action returns information about reserved -// cache nodes for this account, or about a specified reserved cache node. +// DescribeReservedCacheNodes API operation for Amazon ElastiCache. +// +// Returns information about reserved cache nodes for this account, or about +// a specified reserved cache node. +// +// 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 ElastiCache's +// API operation DescribeReservedCacheNodes for usage and error information. +// +// Returned Error Codes: +// * ReservedCacheNodeNotFound +// The requested reserved cache node was not found. +// +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. +// func (c *ElastiCache) DescribeReservedCacheNodes(input *DescribeReservedCacheNodesInput) (*DescribeReservedCacheNodesOutput, error) { req, out := c.DescribeReservedCacheNodesRequest(input) err := req.Send() return out, err } +// DescribeReservedCacheNodesPages iterates over the pages of a DescribeReservedCacheNodes operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeReservedCacheNodes 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 DescribeReservedCacheNodes operation. +// pageNum := 0 +// err := client.DescribeReservedCacheNodesPages(params, +// func(page *DescribeReservedCacheNodesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *ElastiCache) DescribeReservedCacheNodesPages(input *DescribeReservedCacheNodesInput, fn func(p *DescribeReservedCacheNodesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeReservedCacheNodesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -937,7 +2455,30 @@ func (c *ElastiCache) DescribeReservedCacheNodesPages(input *DescribeReservedCac const opDescribeReservedCacheNodesOfferings = "DescribeReservedCacheNodesOfferings" -// DescribeReservedCacheNodesOfferingsRequest generates a request for the DescribeReservedCacheNodesOfferings operation. +// DescribeReservedCacheNodesOfferingsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeReservedCacheNodesOfferings operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeReservedCacheNodesOfferings for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeReservedCacheNodesOfferings method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeReservedCacheNodesOfferingsRequest method. +// req, resp := client.DescribeReservedCacheNodesOfferingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) DescribeReservedCacheNodesOfferingsRequest(input *DescribeReservedCacheNodesOfferingsInput) (req *request.Request, output *DescribeReservedCacheNodesOfferingsOutput) { op := &request.Operation{ Name: opDescribeReservedCacheNodesOfferings, @@ -961,14 +2502,50 @@ func (c *ElastiCache) DescribeReservedCacheNodesOfferingsRequest(input *Describe return } -// The DescribeReservedCacheNodesOfferings action lists available reserved cache -// node offerings. +// DescribeReservedCacheNodesOfferings API operation for Amazon ElastiCache. +// +// Lists available reserved cache node offerings. +// +// 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 ElastiCache's +// API operation DescribeReservedCacheNodesOfferings for usage and error information. +// +// Returned Error Codes: +// * ReservedCacheNodesOfferingNotFound +// The requested cache node offering does not exist. +// +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. +// func (c *ElastiCache) DescribeReservedCacheNodesOfferings(input *DescribeReservedCacheNodesOfferingsInput) (*DescribeReservedCacheNodesOfferingsOutput, error) { req, out := c.DescribeReservedCacheNodesOfferingsRequest(input) err := req.Send() return out, err } +// DescribeReservedCacheNodesOfferingsPages iterates over the pages of a DescribeReservedCacheNodesOfferings operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeReservedCacheNodesOfferings 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 DescribeReservedCacheNodesOfferings operation. +// pageNum := 0 +// err := client.DescribeReservedCacheNodesOfferingsPages(params, +// func(page *DescribeReservedCacheNodesOfferingsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *ElastiCache) DescribeReservedCacheNodesOfferingsPages(input *DescribeReservedCacheNodesOfferingsInput, fn func(p *DescribeReservedCacheNodesOfferingsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeReservedCacheNodesOfferingsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -979,7 +2556,30 @@ func (c *ElastiCache) DescribeReservedCacheNodesOfferingsPages(input *DescribeRe const opDescribeSnapshots = "DescribeSnapshots" -// DescribeSnapshotsRequest generates a request for the DescribeSnapshots operation. +// DescribeSnapshotsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSnapshots operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeSnapshots for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeSnapshots method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeSnapshotsRequest method. +// req, resp := client.DescribeSnapshotsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) { op := &request.Operation{ Name: opDescribeSnapshots, @@ -1003,16 +2603,58 @@ func (c *ElastiCache) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (r return } -// The DescribeSnapshots action returns information about cache cluster snapshots. -// By default, DescribeSnapshots lists all of your snapshots; it can optionally +// DescribeSnapshots API operation for Amazon ElastiCache. +// +// Returns information about cache cluster or replication group snapshots. By +// default, DescribeSnapshots lists all of your snapshots; it can optionally // describe a single snapshot, or just the snapshots associated with a particular // cache cluster. +// +// This operation is valid for Redis only. +// +// 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 ElastiCache's +// API operation DescribeSnapshots for usage and error information. +// +// Returned Error Codes: +// * CacheClusterNotFound +// The requested cache cluster ID does not refer to an existing cache cluster. +// +// * SnapshotNotFoundFault +// The requested snapshot name does not refer to an existing snapshot. +// +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. +// func (c *ElastiCache) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) { req, out := c.DescribeSnapshotsRequest(input) err := req.Send() return out, err } +// DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeSnapshots 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 DescribeSnapshots operation. +// pageNum := 0 +// err := client.DescribeSnapshotsPages(params, +// func(page *DescribeSnapshotsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *ElastiCache) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(p *DescribeSnapshotsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeSnapshotsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1023,7 +2665,30 @@ func (c *ElastiCache) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn f const opListAllowedNodeTypeModifications = "ListAllowedNodeTypeModifications" -// ListAllowedNodeTypeModificationsRequest generates a request for the ListAllowedNodeTypeModifications operation. +// ListAllowedNodeTypeModificationsRequest generates a "aws/request.Request" representing the +// client's request for the ListAllowedNodeTypeModifications operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListAllowedNodeTypeModifications for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListAllowedNodeTypeModifications method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListAllowedNodeTypeModificationsRequest method. +// req, resp := client.ListAllowedNodeTypeModificationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) ListAllowedNodeTypeModificationsRequest(input *ListAllowedNodeTypeModificationsInput) (req *request.Request, output *ListAllowedNodeTypeModificationsOutput) { op := &request.Operation{ Name: opListAllowedNodeTypeModifications, @@ -1041,13 +2706,35 @@ func (c *ElastiCache) ListAllowedNodeTypeModificationsRequest(input *ListAllowed return } -// The ListAllowedNodeTypeModifications action lists all available node types -// that you can scale your Redis cluster's or replication group's current node -// type up to. +// ListAllowedNodeTypeModifications API operation for Amazon ElastiCache. +// +// Lists all available node types that you can scale your Redis cluster's or +// replication group's current node type up to. +// +// When you use the ModifyCacheCluster or ModifyReplicationGroup operations +// to scale up your cluster or replication group, the value of the CacheNodeType +// parameter must be one of the node types returned by this operation. +// +// 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 ElastiCache's +// API operation ListAllowedNodeTypeModifications for usage and error information. +// +// Returned Error Codes: +// * CacheClusterNotFound +// The requested cache cluster ID does not refer to an existing cache cluster. +// +// * ReplicationGroupNotFoundFault +// The specified replication group does not exist. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. +// +// * InvalidParameterValue +// The value for a parameter is invalid. // -// When you use the ModifyCacheCluster or ModifyReplicationGroup APIs to scale -// up your cluster or replication group, the value of the CacheNodeType parameter -// must be one of the node types returned by this action. func (c *ElastiCache) ListAllowedNodeTypeModifications(input *ListAllowedNodeTypeModificationsInput) (*ListAllowedNodeTypeModificationsOutput, error) { req, out := c.ListAllowedNodeTypeModificationsRequest(input) err := req.Send() @@ -1056,7 +2743,30 @@ func (c *ElastiCache) ListAllowedNodeTypeModifications(input *ListAllowedNodeTyp const opListTagsForResource = "ListTagsForResource" -// ListTagsForResourceRequest generates a request for the ListTagsForResource operation. +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListTagsForResource for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListTagsForResource method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // 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) +// } +// func (c *ElastiCache) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *TagListMessage) { op := &request.Operation{ Name: opListTagsForResource, @@ -1074,14 +2784,34 @@ func (c *ElastiCache) ListTagsForResourceRequest(input *ListTagsForResourceInput return } -// The ListTagsForResource action lists all cost allocation tags currently on -// the named resource. A cost allocation tag is a key-value pair where the key -// is case-sensitive and the value is optional. Cost allocation tags can be -// used to categorize and track your AWS costs. +// ListTagsForResource API operation for Amazon ElastiCache. +// +// Lists all cost allocation tags currently on the named resource. A cost allocation +// tag is a key-value pair where the key is case-sensitive and the value is +// optional. You can use cost allocation tags to categorize and track your AWS +// costs. // // You can have a maximum of 10 cost allocation tags on an ElastiCache resource. // For more information, see Using Cost Allocation Tags in Amazon ElastiCache // (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/BestPractices.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. +// +// See the AWS API reference guide for Amazon ElastiCache's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Codes: +// * CacheClusterNotFound +// The requested cache cluster ID does not refer to an existing cache cluster. +// +// * SnapshotNotFoundFault +// The requested snapshot name does not refer to an existing snapshot. +// +// * InvalidARN +// The requested Amazon Resource Name (ARN) does not refer to an existing resource. +// func (c *ElastiCache) ListTagsForResource(input *ListTagsForResourceInput) (*TagListMessage, error) { req, out := c.ListTagsForResourceRequest(input) err := req.Send() @@ -1090,7 +2820,30 @@ func (c *ElastiCache) ListTagsForResource(input *ListTagsForResourceInput) (*Tag const opModifyCacheCluster = "ModifyCacheCluster" -// ModifyCacheClusterRequest generates a request for the ModifyCacheCluster operation. +// ModifyCacheClusterRequest generates a "aws/request.Request" representing the +// client's request for the ModifyCacheCluster operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyCacheCluster for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyCacheCluster method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyCacheClusterRequest method. +// req, resp := client.ModifyCacheClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) ModifyCacheClusterRequest(input *ModifyCacheClusterInput) (req *request.Request, output *ModifyCacheClusterOutput) { op := &request.Operation{ Name: opModifyCacheCluster, @@ -1108,9 +2861,58 @@ func (c *ElastiCache) ModifyCacheClusterRequest(input *ModifyCacheClusterInput) return } -// The ModifyCacheCluster action modifies the settings for a cache cluster. -// You can use this action to change one or more cluster configuration parameters -// by specifying the parameters and the new values. +// ModifyCacheCluster API operation for Amazon ElastiCache. +// +// Modifies the settings for a cache cluster. You can use this operation to +// change one or more cluster configuration parameters by specifying the parameters +// and the new values. +// +// 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 ElastiCache's +// API operation ModifyCacheCluster for usage and error information. +// +// Returned Error Codes: +// * InvalidCacheClusterState +// The requested cache cluster is not in the available state. +// +// * InvalidCacheSecurityGroupState +// The current state of the cache security group does not allow deletion. +// +// * InsufficientCacheClusterCapacity +// The requested cache node type is not available in the specified Availability +// Zone. +// +// * CacheClusterNotFound +// The requested cache cluster ID does not refer to an existing cache cluster. +// +// * NodeQuotaForClusterExceeded +// The request cannot be processed because it would exceed the allowed number +// of cache nodes in a single cache cluster. +// +// * NodeQuotaForCustomerExceeded +// The request cannot be processed because it would exceed the allowed number +// of cache nodes per customer. +// +// * CacheSecurityGroupNotFound +// The requested cache security group name does not refer to an existing cache +// security group. +// +// * CacheParameterGroupNotFound +// The requested cache parameter group name does not refer to an existing cache +// parameter group. +// +// * InvalidVPCNetworkStateFault +// The VPC network is in an invalid state. +// +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. +// func (c *ElastiCache) ModifyCacheCluster(input *ModifyCacheClusterInput) (*ModifyCacheClusterOutput, error) { req, out := c.ModifyCacheClusterRequest(input) err := req.Send() @@ -1119,7 +2921,30 @@ func (c *ElastiCache) ModifyCacheCluster(input *ModifyCacheClusterInput) (*Modif const opModifyCacheParameterGroup = "ModifyCacheParameterGroup" -// ModifyCacheParameterGroupRequest generates a request for the ModifyCacheParameterGroup operation. +// ModifyCacheParameterGroupRequest generates a "aws/request.Request" representing the +// client's request for the ModifyCacheParameterGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyCacheParameterGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyCacheParameterGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyCacheParameterGroupRequest method. +// req, resp := client.ModifyCacheParameterGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) ModifyCacheParameterGroupRequest(input *ModifyCacheParameterGroupInput) (req *request.Request, output *CacheParameterGroupNameMessage) { op := &request.Operation{ Name: opModifyCacheParameterGroup, @@ -1137,9 +2962,34 @@ func (c *ElastiCache) ModifyCacheParameterGroupRequest(input *ModifyCacheParamet return } -// The ModifyCacheParameterGroup action modifies the parameters of a cache parameter -// group. You can modify up to 20 parameters in a single request by submitting -// a list parameter name and value pairs. +// ModifyCacheParameterGroup API operation for Amazon ElastiCache. +// +// Modifies the parameters of a cache parameter group. You can modify up to +// 20 parameters in a single request by submitting a list parameter name and +// value pairs. +// +// 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 ElastiCache's +// API operation ModifyCacheParameterGroup for usage and error information. +// +// Returned Error Codes: +// * CacheParameterGroupNotFound +// The requested cache parameter group name does not refer to an existing cache +// parameter group. +// +// * InvalidCacheParameterGroupState +// The current state of the cache parameter group does not allow the requested +// operation to occur. +// +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. +// func (c *ElastiCache) ModifyCacheParameterGroup(input *ModifyCacheParameterGroupInput) (*CacheParameterGroupNameMessage, error) { req, out := c.ModifyCacheParameterGroupRequest(input) err := req.Send() @@ -1148,7 +2998,30 @@ func (c *ElastiCache) ModifyCacheParameterGroup(input *ModifyCacheParameterGroup const opModifyCacheSubnetGroup = "ModifyCacheSubnetGroup" -// ModifyCacheSubnetGroupRequest generates a request for the ModifyCacheSubnetGroup operation. +// ModifyCacheSubnetGroupRequest generates a "aws/request.Request" representing the +// client's request for the ModifyCacheSubnetGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyCacheSubnetGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyCacheSubnetGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyCacheSubnetGroupRequest method. +// req, resp := client.ModifyCacheSubnetGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) ModifyCacheSubnetGroupRequest(input *ModifyCacheSubnetGroupInput) (req *request.Request, output *ModifyCacheSubnetGroupOutput) { op := &request.Operation{ Name: opModifyCacheSubnetGroup, @@ -1166,7 +3039,32 @@ func (c *ElastiCache) ModifyCacheSubnetGroupRequest(input *ModifyCacheSubnetGrou return } -// The ModifyCacheSubnetGroup action modifies an existing cache subnet group. +// ModifyCacheSubnetGroup API operation for Amazon ElastiCache. +// +// Modifies an existing cache subnet group. +// +// 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 ElastiCache's +// API operation ModifyCacheSubnetGroup for usage and error information. +// +// Returned Error Codes: +// * CacheSubnetGroupNotFoundFault +// The requested cache subnet group name does not refer to an existing cache +// subnet group. +// +// * CacheSubnetQuotaExceededFault +// The request cannot be processed because it would exceed the allowed number +// of subnets in a cache subnet group. +// +// * SubnetInUse +// The requested subnet is being used by another cache subnet group. +// +// * InvalidSubnet +// An invalid subnet identifier was specified. +// func (c *ElastiCache) ModifyCacheSubnetGroup(input *ModifyCacheSubnetGroupInput) (*ModifyCacheSubnetGroupOutput, error) { req, out := c.ModifyCacheSubnetGroupRequest(input) err := req.Send() @@ -1175,7 +3073,30 @@ func (c *ElastiCache) ModifyCacheSubnetGroup(input *ModifyCacheSubnetGroupInput) const opModifyReplicationGroup = "ModifyReplicationGroup" -// ModifyReplicationGroupRequest generates a request for the ModifyReplicationGroup operation. +// ModifyReplicationGroupRequest generates a "aws/request.Request" representing the +// client's request for the ModifyReplicationGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyReplicationGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyReplicationGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyReplicationGroupRequest method. +// req, resp := client.ModifyReplicationGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) ModifyReplicationGroupRequest(input *ModifyReplicationGroupInput) (req *request.Request, output *ModifyReplicationGroupOutput) { op := &request.Operation{ Name: opModifyReplicationGroup, @@ -1193,8 +3114,68 @@ func (c *ElastiCache) ModifyReplicationGroupRequest(input *ModifyReplicationGrou return } -// The ModifyReplicationGroup action modifies the settings for a replication -// group. +// ModifyReplicationGroup API operation for Amazon ElastiCache. +// +// Modifies the settings for a replication group. +// +// Due to current limitations on Redis (cluster mode disabled), this operation +// or parameter is not supported on Redis (cluster mode enabled) replication +// groups. +// +// This operation is valid for Redis only. +// +// 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 ElastiCache's +// API operation ModifyReplicationGroup for usage and error information. +// +// Returned Error Codes: +// * ReplicationGroupNotFoundFault +// The specified replication group does not exist. +// +// * InvalidReplicationGroupState +// The requested replication group is not in the available state. +// +// * InvalidCacheClusterState +// The requested cache cluster is not in the available state. +// +// * InvalidCacheSecurityGroupState +// The current state of the cache security group does not allow deletion. +// +// * InsufficientCacheClusterCapacity +// The requested cache node type is not available in the specified Availability +// Zone. +// +// * CacheClusterNotFound +// The requested cache cluster ID does not refer to an existing cache cluster. +// +// * NodeQuotaForClusterExceeded +// The request cannot be processed because it would exceed the allowed number +// of cache nodes in a single cache cluster. +// +// * NodeQuotaForCustomerExceeded +// The request cannot be processed because it would exceed the allowed number +// of cache nodes per customer. +// +// * CacheSecurityGroupNotFound +// The requested cache security group name does not refer to an existing cache +// security group. +// +// * CacheParameterGroupNotFound +// The requested cache parameter group name does not refer to an existing cache +// parameter group. +// +// * InvalidVPCNetworkStateFault +// The VPC network is in an invalid state. +// +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. +// func (c *ElastiCache) ModifyReplicationGroup(input *ModifyReplicationGroupInput) (*ModifyReplicationGroupOutput, error) { req, out := c.ModifyReplicationGroupRequest(input) err := req.Send() @@ -1203,7 +3184,30 @@ func (c *ElastiCache) ModifyReplicationGroup(input *ModifyReplicationGroupInput) const opPurchaseReservedCacheNodesOffering = "PurchaseReservedCacheNodesOffering" -// PurchaseReservedCacheNodesOfferingRequest generates a request for the PurchaseReservedCacheNodesOffering operation. +// PurchaseReservedCacheNodesOfferingRequest generates a "aws/request.Request" representing the +// client's request for the PurchaseReservedCacheNodesOffering operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PurchaseReservedCacheNodesOffering for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PurchaseReservedCacheNodesOffering method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PurchaseReservedCacheNodesOfferingRequest method. +// req, resp := client.PurchaseReservedCacheNodesOfferingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) PurchaseReservedCacheNodesOfferingRequest(input *PurchaseReservedCacheNodesOfferingInput) (req *request.Request, output *PurchaseReservedCacheNodesOfferingOutput) { op := &request.Operation{ Name: opPurchaseReservedCacheNodesOffering, @@ -1221,8 +3225,34 @@ func (c *ElastiCache) PurchaseReservedCacheNodesOfferingRequest(input *PurchaseR return } -// The PurchaseReservedCacheNodesOffering action allows you to purchase a reserved -// cache node offering. +// PurchaseReservedCacheNodesOffering API operation for Amazon ElastiCache. +// +// Allows you to purchase a reserved cache node offering. +// +// 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 ElastiCache's +// API operation PurchaseReservedCacheNodesOffering for usage and error information. +// +// Returned Error Codes: +// * ReservedCacheNodesOfferingNotFound +// The requested cache node offering does not exist. +// +// * ReservedCacheNodeAlreadyExists +// You already have a reservation with the given identifier. +// +// * ReservedCacheNodeQuotaExceeded +// The request cannot be processed because it would exceed the user's cache +// node quota. +// +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. +// func (c *ElastiCache) PurchaseReservedCacheNodesOffering(input *PurchaseReservedCacheNodesOfferingInput) (*PurchaseReservedCacheNodesOfferingOutput, error) { req, out := c.PurchaseReservedCacheNodesOfferingRequest(input) err := req.Send() @@ -1231,7 +3261,30 @@ func (c *ElastiCache) PurchaseReservedCacheNodesOffering(input *PurchaseReserved const opRebootCacheCluster = "RebootCacheCluster" -// RebootCacheClusterRequest generates a request for the RebootCacheCluster operation. +// RebootCacheClusterRequest generates a "aws/request.Request" representing the +// client's request for the RebootCacheCluster operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RebootCacheCluster for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RebootCacheCluster method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RebootCacheClusterRequest method. +// req, resp := client.RebootCacheClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) RebootCacheClusterRequest(input *RebootCacheClusterInput) (req *request.Request, output *RebootCacheClusterOutput) { op := &request.Operation{ Name: opRebootCacheCluster, @@ -1249,16 +3302,33 @@ func (c *ElastiCache) RebootCacheClusterRequest(input *RebootCacheClusterInput) return } -// The RebootCacheCluster action reboots some, or all, of the cache nodes within -// a provisioned cache cluster. This API will apply any modified cache parameter -// groups to the cache cluster. The reboot action takes place as soon as possible, -// and results in a momentary outage to the cache cluster. During the reboot, -// the cache cluster status is set to REBOOTING. +// RebootCacheCluster API operation for Amazon ElastiCache. +// +// Reboots some, or all, of the cache nodes within a provisioned cache cluster. +// This operation applies any modified cache parameter groups to the cache cluster. +// The reboot operation takes place as soon as possible, and results in a momentary +// outage to the cache cluster. During the reboot, the cache cluster status +// is set to REBOOTING. // // The reboot causes the contents of the cache (for each cache node being rebooted) // to be lost. // // When the reboot is complete, a cache cluster event is created. +// +// 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 ElastiCache's +// API operation RebootCacheCluster for usage and error information. +// +// Returned Error Codes: +// * InvalidCacheClusterState +// The requested cache cluster is not in the available state. +// +// * CacheClusterNotFound +// The requested cache cluster ID does not refer to an existing cache cluster. +// func (c *ElastiCache) RebootCacheCluster(input *RebootCacheClusterInput) (*RebootCacheClusterOutput, error) { req, out := c.RebootCacheClusterRequest(input) err := req.Send() @@ -1267,7 +3337,30 @@ func (c *ElastiCache) RebootCacheCluster(input *RebootCacheClusterInput) (*Reboo const opRemoveTagsFromResource = "RemoveTagsFromResource" -// RemoveTagsFromResourceRequest generates a request for the RemoveTagsFromResource operation. +// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the +// client's request for the RemoveTagsFromResource operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RemoveTagsFromResource for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RemoveTagsFromResource method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RemoveTagsFromResourceRequest method. +// req, resp := client.RemoveTagsFromResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *TagListMessage) { op := &request.Operation{ Name: opRemoveTagsFromResource, @@ -1285,8 +3378,30 @@ func (c *ElastiCache) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourc return } -// The RemoveTagsFromResource action removes the tags identified by the TagKeys -// list from the named resource. +// RemoveTagsFromResource API operation for Amazon ElastiCache. +// +// Removes the tags identified by the TagKeys list from the named resource. +// +// 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 ElastiCache's +// API operation RemoveTagsFromResource for usage and error information. +// +// Returned Error Codes: +// * CacheClusterNotFound +// The requested cache cluster ID does not refer to an existing cache cluster. +// +// * SnapshotNotFoundFault +// The requested snapshot name does not refer to an existing snapshot. +// +// * InvalidARN +// The requested Amazon Resource Name (ARN) does not refer to an existing resource. +// +// * TagNotFound +// The requested tag was not found on this resource. +// func (c *ElastiCache) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*TagListMessage, error) { req, out := c.RemoveTagsFromResourceRequest(input) err := req.Send() @@ -1295,7 +3410,30 @@ func (c *ElastiCache) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) const opResetCacheParameterGroup = "ResetCacheParameterGroup" -// ResetCacheParameterGroupRequest generates a request for the ResetCacheParameterGroup operation. +// ResetCacheParameterGroupRequest generates a "aws/request.Request" representing the +// client's request for the ResetCacheParameterGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ResetCacheParameterGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ResetCacheParameterGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ResetCacheParameterGroupRequest method. +// req, resp := client.ResetCacheParameterGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) ResetCacheParameterGroupRequest(input *ResetCacheParameterGroupInput) (req *request.Request, output *CacheParameterGroupNameMessage) { op := &request.Operation{ Name: opResetCacheParameterGroup, @@ -1313,10 +3451,35 @@ func (c *ElastiCache) ResetCacheParameterGroupRequest(input *ResetCacheParameter return } -// The ResetCacheParameterGroup action modifies the parameters of a cache parameter -// group to the engine or system default value. You can reset specific parameters -// by submitting a list of parameter names. To reset the entire cache parameter -// group, specify the ResetAllParameters and CacheParameterGroupName parameters. +// ResetCacheParameterGroup API operation for Amazon ElastiCache. +// +// Modifies the parameters of a cache parameter group to the engine or system +// default value. You can reset specific parameters by submitting a list of +// parameter names. To reset the entire cache parameter group, specify the ResetAllParameters +// and CacheParameterGroupName 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 +// the error. +// +// See the AWS API reference guide for Amazon ElastiCache's +// API operation ResetCacheParameterGroup for usage and error information. +// +// Returned Error Codes: +// * InvalidCacheParameterGroupState +// The current state of the cache parameter group does not allow the requested +// operation to occur. +// +// * CacheParameterGroupNotFound +// The requested cache parameter group name does not refer to an existing cache +// parameter group. +// +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. +// func (c *ElastiCache) ResetCacheParameterGroup(input *ResetCacheParameterGroupInput) (*CacheParameterGroupNameMessage, error) { req, out := c.ResetCacheParameterGroupRequest(input) err := req.Send() @@ -1325,7 +3488,30 @@ func (c *ElastiCache) ResetCacheParameterGroup(input *ResetCacheParameterGroupIn const opRevokeCacheSecurityGroupIngress = "RevokeCacheSecurityGroupIngress" -// RevokeCacheSecurityGroupIngressRequest generates a request for the RevokeCacheSecurityGroupIngress operation. +// RevokeCacheSecurityGroupIngressRequest generates a "aws/request.Request" representing the +// client's request for the RevokeCacheSecurityGroupIngress operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RevokeCacheSecurityGroupIngress for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RevokeCacheSecurityGroupIngress method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RevokeCacheSecurityGroupIngressRequest method. +// req, resp := client.RevokeCacheSecurityGroupIngressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElastiCache) RevokeCacheSecurityGroupIngressRequest(input *RevokeCacheSecurityGroupIngressInput) (req *request.Request, output *RevokeCacheSecurityGroupIngressOutput) { op := &request.Operation{ Name: opRevokeCacheSecurityGroupIngress, @@ -1343,16 +3529,43 @@ func (c *ElastiCache) RevokeCacheSecurityGroupIngressRequest(input *RevokeCacheS return } -// The RevokeCacheSecurityGroupIngress action revokes ingress from a cache security -// group. Use this action to disallow access from an Amazon EC2 security group -// that had been previously authorized. +// RevokeCacheSecurityGroupIngress API operation for Amazon ElastiCache. +// +// Revokes ingress from a cache security group. Use this operation to disallow +// access from an Amazon EC2 security group that had been previously authorized. +// +// 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 ElastiCache's +// API operation RevokeCacheSecurityGroupIngress for usage and error information. +// +// Returned Error Codes: +// * CacheSecurityGroupNotFound +// The requested cache security group name does not refer to an existing cache +// security group. +// +// * AuthorizationNotFound +// The specified Amazon EC2 security group is not authorized for the specified +// cache security group. +// +// * InvalidCacheSecurityGroupState +// The current state of the cache security group does not allow deletion. +// +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidParameterCombination +// Two or more incompatible parameters were specified. +// func (c *ElastiCache) RevokeCacheSecurityGroupIngress(input *RevokeCacheSecurityGroupIngressInput) (*RevokeCacheSecurityGroupIngressOutput, error) { req, out := c.RevokeCacheSecurityGroupIngressRequest(input) err := req.Send() return out, err } -// Represents the input of an AddTagsToResource action. +// Represents the input of an AddTagsToResource operation. type AddTagsToResourceInput struct { _ struct{} `type:"structure"` @@ -1360,12 +3573,16 @@ type AddTagsToResourceInput struct { // added, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster // or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. // - // For more information on ARNs, go to Amazon Resource Names (ARNs) and AWS + // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). + // + // ResourceName is a required field ResourceName *string `type:"string" required:"true"` // A list of cost allocation tags to be added to this resource. A tag is a key-value // pair. A tag key must be accompanied by a tag value. + // + // Tags is a required field Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"` } @@ -1395,20 +3612,26 @@ func (s *AddTagsToResourceInput) Validate() error { return nil } -// Represents the input of an AuthorizeCacheSecurityGroupIngress action. +// Represents the input of an AuthorizeCacheSecurityGroupIngress operation. type AuthorizeCacheSecurityGroupIngressInput struct { _ struct{} `type:"structure"` - // The cache security group which will allow network ingress. + // The cache security group that allows network ingress. + // + // CacheSecurityGroupName is a required field CacheSecurityGroupName *string `type:"string" required:"true"` // The Amazon EC2 security group to be authorized for ingress to the cache security // group. + // + // EC2SecurityGroupName is a required field EC2SecurityGroupName *string `type:"string" required:"true"` // The AWS account number of the Amazon EC2 security group owner. Note that // this is not the same thing as an AWS access key ID - you must provide a valid // AWS account number for this parameter. + // + // EC2SecurityGroupOwnerId is a required field EC2SecurityGroupOwnerId *string `type:"string" required:"true"` } @@ -1444,9 +3667,13 @@ func (s *AuthorizeCacheSecurityGroupIngressInput) Validate() error { type AuthorizeCacheSecurityGroupIngressOutput struct { _ struct{} `type:"structure"` - // Represents the output of one of the following actions: + // Represents the output of one of the following operations: + // + // AuthorizeCacheSecurityGroupIngress // - // AuthorizeCacheSecurityGroupIngress CreateCacheSecurityGroup RevokeCacheSecurityGroupIngress + // CreateCacheSecurityGroup + // + // RevokeCacheSecurityGroupIngress CacheSecurityGroup *CacheSecurityGroup `type:"structure"` } @@ -1501,27 +3728,46 @@ type CacheCluster struct { // // Valid node types are as follows: // - // General purpose: Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, - // cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge Previous - // generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, - // cache.m1.xlarge Compute optimized: cache.c1.xlarge Memory optimized Current - // generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, - // cache.r3.8xlarge Previous generation: cache.m2.xlarge, cache.m2.2xlarge, - // cache.m2.4xlarge Notes: - // - // All t2 instances are created in an Amazon Virtual Private Cloud (VPC). - // Redis backup/restore is not supported for t2 instances. Redis Append-only - // files (AOF) functionality is not supported for t1 or t2 instances. For a - // complete listing of cache node types and specifications, see Amazon ElastiCache + // General purpose: + // + // Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, + // cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge, + // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge + // + // Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, + // cache.m1.large, cache.m1.xlarge + // + // Compute optimized: cache.c1.xlarge + // + // Memory optimized: + // + // Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, + // cache.r3.4xlarge, cache.r3.8xlarge + // + // Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge + // + // Notes: + // + // All T2 instances are created in an Amazon Virtual Private Cloud (Amazon + // VPC). + // + // Redis backup/restore is not supported for Redis (cluster mode disabled) + // T1 and T2 instances. Backup/restore is supported on Redis (cluster mode enabled) + // T2 instances. + // + // Redis Append-only files (AOF) functionality is not supported for T1 or + // T2 instances. + // + // For a complete listing of node types and specifications, see Amazon ElastiCache // Product Features and Details (http://aws.amazon.com/elasticache/details) - // and Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#CacheParameterGroups.Memcached.NodeSpecific) - // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.NodeSpecific). + // and either Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific) + // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific). CacheNodeType *string `type:"string"` // A list of cache nodes that are members of the cache cluster. CacheNodes []*CacheNode `locationNameList:"CacheNode" type:"list"` - // The status of the cache parameter group. + // Status of the cache parameter group. CacheParameterGroup *CacheParameterGroupStatus `type:"structure"` // A list of cache security group elements, composed of name and status sub-elements. @@ -1556,7 +3802,7 @@ type CacheCluster struct { // this value must be between 1 and 20. NumCacheNodes *int64 `type:"integer"` - // A group of settings that will be applied to the cache cluster in the future, + // A group of settings that are applied to the cache cluster in the future, // or that are currently being applied. PendingModifiedValues *PendingModifiedValues `type:"structure"` @@ -1564,12 +3810,27 @@ type CacheCluster struct { // "Multiple" if the cache nodes are located in different Availability Zones. PreferredAvailabilityZone *string `type:"string"` - // Specifies the weekly time range during which maintenance on the cache cluster - // is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi - // (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid - // values for ddd are: + // Specifies the weekly time range during which maintenance on the cluster is + // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi + // (24H Clock UTC). The minimum maintenance window is a 60 minute period. + // + // Valid values for ddd are: + // + // sun // - // sun mon tue wed thu fri sat Example: sun:05:00-sun:09:00 + // mon + // + // tue + // + // wed + // + // thu + // + // fri + // + // sat + // + // Example: sun:23:00-mon:01:30 PreferredMaintenanceWindow *string `type:"string"` // The replication group to which this cache cluster belongs. If this field @@ -1579,17 +3840,17 @@ type CacheCluster struct { // A list of VPC Security Groups associated with the cache cluster. SecurityGroups []*SecurityGroupMembership `type:"list"` - // The number of days for which ElastiCache will retain automatic cache cluster + // The number of days for which ElastiCache retains automatic cache cluster // snapshots before deleting them. For example, if you set SnapshotRetentionLimit - // to 5, then a snapshot that was taken today will be retained for 5 days before - // being deleted. + // to 5, a snapshot that was taken today is retained for 5 days before being + // deleted. // - // ImportantIf the value of SnapshotRetentionLimit is set to zero (0), backups - // are turned off. + // If the value of SnapshotRetentionLimit is set to zero (0), backups are + // turned off. SnapshotRetentionLimit *int64 `type:"integer"` - // The daily time range (in UTC) during which ElastiCache will begin taking - // a daily snapshot of your cache cluster. + // The daily time range (in UTC) during which ElastiCache begins taking a daily + // snapshot of your cache cluster. // // Example: 05:00-09:00 SnapshotWindow *string `type:"string"` @@ -1616,6 +3877,8 @@ type CacheEngineVersion struct { CacheEngineVersionDescription *string `type:"string"` // The name of the cache parameter group family associated with this cache engine. + // + // Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2 CacheParameterGroupFamily *string `type:"string"` // The name of the cache engine. @@ -1641,21 +3904,40 @@ func (s CacheEngineVersion) GoString() string { // // Valid node types are as follows: // -// General purpose: Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, -// cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge Previous -// generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, -// cache.m1.xlarge Compute optimized: cache.c1.xlarge Memory optimized Current -// generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, -// cache.r3.8xlarge Previous generation: cache.m2.xlarge, cache.m2.2xlarge, -// cache.m2.4xlarge Notes: -// -// All t2 instances are created in an Amazon Virtual Private Cloud (VPC). -// Redis backup/restore is not supported for t2 instances. Redis Append-only -// files (AOF) functionality is not supported for t1 or t2 instances. For a -// complete listing of cache node types and specifications, see Amazon ElastiCache +// General purpose: +// +// Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, +// cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge, +// cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge +// +// Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, +// cache.m1.large, cache.m1.xlarge +// +// Compute optimized: cache.c1.xlarge +// +// Memory optimized: +// +// Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, +// cache.r3.4xlarge, cache.r3.8xlarge +// +// Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge +// +// Notes: +// +// All T2 instances are created in an Amazon Virtual Private Cloud (Amazon +// VPC). +// +// Redis backup/restore is not supported for Redis (cluster mode disabled) +// T1 and T2 instances. Backup/restore is supported on Redis (cluster mode enabled) +// T2 instances. +// +// Redis Append-only files (AOF) functionality is not supported for T1 or +// T2 instances. +// +// For a complete listing of node types and specifications, see Amazon ElastiCache // Product Features and Details (http://aws.amazon.com/elasticache/details) -// and Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#CacheParameterGroups.Memcached.NodeSpecific) -// or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.NodeSpecific). +// and either Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific) +// or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific). type CacheNode struct { _ struct{} `type:"structure"` @@ -1680,7 +3962,7 @@ type CacheNode struct { ParameterGroupStatus *string `type:"string"` // The ID of the primary node to which this read replica node is synchronized. - // If this field is empty, then this node is not associated with a primary cache + // If this field is empty, this node is not associated with a primary cache // cluster. SourceCacheNodeId *string `type:"string"` } @@ -1707,6 +3989,12 @@ type CacheNodeTypeSpecificParameter struct { // A list of cache node types and their corresponding values for this parameter. CacheNodeTypeSpecificValues []*CacheNodeTypeSpecificValue `locationNameList:"CacheNodeTypeSpecificValue" type:"list"` + // Indicates whether a change to the parameter is applied immediately or requires + // a reboot for the change to be applied. You can force a reboot or wait until + // the next maintenance window's reboot. For more information, see Rebooting + // a Cluster (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Clusters.Rebooting.html). + ChangeType *string `type:"string" enum:"ChangeType"` + // The valid data type for the parameter. DataType *string `type:"string"` @@ -1759,12 +4047,14 @@ func (s CacheNodeTypeSpecificValue) GoString() string { return s.String() } -// Represents the output of a CreateCacheParameterGroup action. +// Represents the output of a CreateCacheParameterGroup operation. type CacheParameterGroup struct { _ struct{} `type:"structure"` // The name of the cache parameter group family that this cache parameter group // is compatible with. + // + // Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2 CacheParameterGroupFamily *string `type:"string"` // The name of the cache parameter group. @@ -1784,9 +4074,11 @@ func (s CacheParameterGroup) GoString() string { return s.String() } -// Represents the output of one of the following actions: +// Represents the output of one of the following operations: // -// ModifyCacheParameterGroup ResetCacheParameterGroup +// ModifyCacheParameterGroup +// +// ResetCacheParameterGroup type CacheParameterGroupNameMessage struct { _ struct{} `type:"structure"` @@ -1804,7 +4096,7 @@ func (s CacheParameterGroupNameMessage) GoString() string { return s.String() } -// The status of the cache parameter group. +// Status of the cache parameter group. type CacheParameterGroupStatus struct { _ struct{} `type:"structure"` @@ -1829,9 +4121,13 @@ func (s CacheParameterGroupStatus) GoString() string { return s.String() } -// Represents the output of one of the following actions: +// Represents the output of one of the following operations: +// +// AuthorizeCacheSecurityGroupIngress // -// AuthorizeCacheSecurityGroupIngress CreateCacheSecurityGroup RevokeCacheSecurityGroupIngress +// CreateCacheSecurityGroup +// +// RevokeCacheSecurityGroupIngress type CacheSecurityGroup struct { _ struct{} `type:"structure"` @@ -1882,9 +4178,11 @@ func (s CacheSecurityGroupMembership) GoString() string { return s.String() } -// Represents the output of one of the following actions: +// Represents the output of one of the following operations: +// +// CreateCacheSubnetGroup // -// CreateCacheSubnetGroup ModifyCacheSubnetGroup +// ModifyCacheSubnetGroup type CacheSubnetGroup struct { _ struct{} `type:"structure"` @@ -1912,14 +4210,32 @@ func (s CacheSubnetGroup) GoString() string { return s.String() } -// Represents the input of a CopySnapshotMessage action. +// Represents the input of a CopySnapshotMessage operation. type CopySnapshotInput struct { _ struct{} `type:"structure"` - // The name of an existing snapshot from which to copy. + // The name of an existing snapshot from which to make a copy. + // + // SourceSnapshotName is a required field SourceSnapshotName *string `type:"string" required:"true"` - // A name for the copied snapshot. + // The Amazon S3 bucket to which the snapshot is exported. This parameter is + // used only when exporting a snapshot for external access. + // + // When using this parameter to export a snapshot, be sure Amazon ElastiCache + // has the needed permissions to this S3 bucket. For more information, see Step + // 2: Grant ElastiCache Access to Your Amazon S3 Bucket (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Snapshots.Exporting.html#Snapshots.Exporting.GrantAccess) + // in the Amazon ElastiCache User Guide. + // + // For more information, see Exporting a Snapshot (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Snapshots.Exporting.html) + // in the Amazon ElastiCache User Guide. + TargetBucket *string `type:"string"` + + // A name for the snapshot copy. ElastiCache does not permit overwriting a snapshot, + // therefore this name must be unique within its context - ElastiCache or an + // Amazon S3 bucket if exporting. + // + // TargetSnapshotName is a required field TargetSnapshotName *string `type:"string" required:"true"` } @@ -1952,8 +4268,8 @@ func (s *CopySnapshotInput) Validate() error { type CopySnapshotOutput struct { _ struct{} `type:"structure"` - // Represents a copy of an entire cache cluster as of the time when the snapshot - // was taken. + // Represents a copy of an entire Redis cache cluster as of the time when the + // snapshot was taken. Snapshot *Snapshot `type:"structure"` } @@ -1967,13 +4283,13 @@ func (s CopySnapshotOutput) GoString() string { return s.String() } -// Represents the input of a CreateCacheCluster action. +// Represents the input of a CreateCacheCluster operation. type CreateCacheClusterInput struct { _ struct{} `type:"structure"` - // Specifies whether the nodes in this Memcached node group are created in a - // single Availability Zone or created across multiple Availability Zones in - // the cluster's region. + // Specifies whether the nodes in this Memcached cluster are created in a single + // Availability Zone or created across multiple Availability Zones in the cluster's + // region. // // This parameter is only supported for Memcached cache clusters. // @@ -1984,65 +4300,92 @@ type CreateCacheClusterInput struct { // This parameter is currently disabled. AutoMinorVersionUpgrade *bool `type:"boolean"` - // The node group identifier. This parameter is stored as a lowercase string. + // The node group (shard) identifier. This parameter is stored as a lowercase + // string. // - // Constraints: + // Constraints: + // + // A name must contain from 1 to 20 alphanumeric characters or hyphens. + // + // The first character must be a letter. + // + // A name cannot end with a hyphen or contain two consecutive hyphens. // - // A name must contain from 1 to 20 alphanumeric characters or hyphens. The - // first character must be a letter. A name cannot end with a hyphen or contain - // two consecutive hyphens. + // CacheClusterId is a required field CacheClusterId *string `type:"string" required:"true"` - // The compute and memory capacity of the nodes in the node group. + // The compute and memory capacity of the nodes in the node group (shard). // // Valid node types are as follows: // - // General purpose: Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, - // cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge Previous - // generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, - // cache.m1.xlarge Compute optimized: cache.c1.xlarge Memory optimized Current - // generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, - // cache.r3.8xlarge Previous generation: cache.m2.xlarge, cache.m2.2xlarge, - // cache.m2.4xlarge Notes: - // - // All t2 instances are created in an Amazon Virtual Private Cloud (VPC). - // Redis backup/restore is not supported for t2 instances. Redis Append-only - // files (AOF) functionality is not supported for t1 or t2 instances. For a - // complete listing of cache node types and specifications, see Amazon ElastiCache + // General purpose: + // + // Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, + // cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge, + // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge + // + // Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, + // cache.m1.large, cache.m1.xlarge + // + // Compute optimized: cache.c1.xlarge + // + // Memory optimized: + // + // Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, + // cache.r3.4xlarge, cache.r3.8xlarge + // + // Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge + // + // Notes: + // + // All T2 instances are created in an Amazon Virtual Private Cloud (Amazon + // VPC). + // + // Redis backup/restore is not supported for Redis (cluster mode disabled) + // T1 and T2 instances. Backup/restore is supported on Redis (cluster mode enabled) + // T2 instances. + // + // Redis Append-only files (AOF) functionality is not supported for T1 or + // T2 instances. + // + // For a complete listing of node types and specifications, see Amazon ElastiCache // Product Features and Details (http://aws.amazon.com/elasticache/details) - // and Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#CacheParameterGroups.Memcached.NodeSpecific) - // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.NodeSpecific). + // and either Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific) + // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific). CacheNodeType *string `type:"string"` // The name of the parameter group to associate with this cache cluster. If // this argument is omitted, the default parameter group for the specified engine - // is used. + // is used. You cannot use any parameter group which has cluster-enabled='yes' + // when creating a cluster. CacheParameterGroupName *string `type:"string"` // A list of security group names to associate with this cache cluster. // // Use this parameter only when you are creating a cache cluster outside of - // an Amazon Virtual Private Cloud (VPC). + // an Amazon Virtual Private Cloud (Amazon VPC). CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"` // The name of the subnet group to be used for the cache cluster. // // Use this parameter only when you are creating a cache cluster in an Amazon - // Virtual Private Cloud (VPC). + // Virtual Private Cloud (Amazon VPC). + // + // If you're going to launch your cluster in an Amazon VPC, you need to create + // a subnet group before you start creating a cluster. For more information, + // see Subnets and Subnet Groups (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SubnetGroups.html). CacheSubnetGroupName *string `type:"string"` // The name of the cache engine to be used for this cache cluster. // - // Valid values for this parameter are: - // - // memcached | redis + // Valid values for this parameter are: memcached | redis Engine *string `type:"string"` // The version number of the cache engine to be used for this cache cluster. // To view the supported cache engine versions, use the DescribeCacheEngineVersions - // action. + // operation. // - // Important: You can upgrade to a newer engine version (see Selecting a Cache + // Important: You can upgrade to a newer engine version (see Selecting a Cache // Engine and Version (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SelectEngine.html#VersionManagement)), // but you cannot downgrade to an earlier engine version. If you want to use // an earlier engine version, you must delete the existing cache cluster or @@ -2050,12 +4393,12 @@ type CreateCacheClusterInput struct { EngineVersion *string `type:"string"` // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service - // (SNS) topic to which notifications will be sent. + // (SNS) topic to which notifications are sent. // - // The Amazon SNS topic owner must be the same as the cache cluster owner. + // The Amazon SNS topic owner must be the same as the cache cluster owner. NotificationTopicArn *string `type:"string"` - // The initial number of cache nodes that the cache cluster will have. + // The initial number of cache nodes that the cache cluster has. // // For clusters running Redis, this value must be 1. For clusters running Memcached, // this value must be between 1 and 20. @@ -2065,10 +4408,10 @@ type CreateCacheClusterInput struct { // (http://aws.amazon.com/contact-us/elasticache-node-limit-request/). NumCacheNodes *int64 `type:"integer"` - // The port number on which each of the cache nodes will accept connections. + // The port number on which each of the cache nodes accepts connections. Port *int64 `type:"integer"` - // The EC2 Availability Zone in which the cache cluster will be created. + // The EC2 Availability Zone in which the cache cluster is created. // // All nodes belonging to this Memcached cache cluster are placed in the preferred // Availability Zone. If you want to create your nodes across multiple Availability @@ -2077,8 +4420,8 @@ type CreateCacheClusterInput struct { // Default: System chosen Availability Zone. PreferredAvailabilityZone *string `type:"string"` - // A list of the Availability Zones in which cache nodes will be created. The - // order of the zones in the list is not important. + // A list of the Availability Zones in which cache nodes are created. The order + // of the zones in the list is not important. // // This option is only supported on Memcached. // @@ -2092,10 +4435,6 @@ type CreateCacheClusterInput struct { // instead, or repeat the Availability Zone multiple times in the list. // // Default: System chosen Availability Zones. - // - // Example: One Memcached node in each of three different Availability Zones: - // - // Example: All three Memcached nodes in one Availability Zone: PreferredAvailabilityZones []*string `locationNameList:"PreferredAvailabilityZone" type:"list"` // Specifies the weekly time range during which maintenance on the cache cluster @@ -2103,63 +4442,86 @@ type CreateCacheClusterInput struct { // (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid // values for ddd are: // - // sun mon tue wed thu fri sat Example: sun:05:00-sun:09:00 + // Specifies the weekly time range during which maintenance on the cluster + // is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi + // (24H Clock UTC). The minimum maintenance window is a 60 minute period. + // + // Valid values for ddd are: + // + // sun + // + // mon + // + // tue + // + // wed + // + // thu + // + // fri + // + // sat + // + // Example: sun:23:00-mon:01:30 PreferredMaintenanceWindow *string `type:"string"` - // The ID of the replication group to which this cache cluster should belong. - // If this parameter is specified, the cache cluster will be added to the specified - // replication group as a read replica; otherwise, the cache cluster will be - // a standalone primary that is not part of any replication group. + // Due to current limitations on Redis (cluster mode disabled), this operation + // or parameter is not supported on Redis (cluster mode enabled) replication + // groups. + // + // The ID of the replication group to which this cache cluster should belong. + // If this parameter is specified, the cache cluster is added to the specified + // replication group as a read replica; otherwise, the cache cluster is a standalone + // primary that is not part of any replication group. // - // If the specified replication group is Multi-AZ enabled and the availability - // zone is not specified, the cache cluster will be created in availability - // zones that provide the best spread of read replicas across availability zones. + // If the specified replication group is Multi-AZ enabled and the Availability + // Zone is not specified, the cache cluster is created in Availability Zones + // that provide the best spread of read replicas across Availability Zones. // - // Note: This parameter is only valid if the Engine parameter is redis. + // This parameter is only valid if the Engine parameter is redis. ReplicationGroupId *string `type:"string"` // One or more VPC security groups associated with the cache cluster. // // Use this parameter only when you are creating a cache cluster in an Amazon - // Virtual Private Cloud (VPC). + // Virtual Private Cloud (Amazon VPC). SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` // A single-element string list containing an Amazon Resource Name (ARN) that // uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot - // file will be used to populate the node group. The Amazon S3 object name in - // the ARN cannot contain any commas. + // file is used to populate the node group (shard). The Amazon S3 object name + // in the ARN cannot contain any commas. // - // Note: This parameter is only valid if the Engine parameter is redis. + // This parameter is only valid if the Engine parameter is redis. // - // Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb + // Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb SnapshotArns []*string `locationNameList:"SnapshotArn" type:"list"` - // The name of a snapshot from which to restore data into the new node group. - // The snapshot status changes to restoring while the new node group is being - // created. + // The name of a Redis snapshot from which to restore data into the new node + // group (shard). The snapshot status changes to restoring while the new node + // group (shard) is being created. // - // Note: This parameter is only valid if the Engine parameter is redis. + // This parameter is only valid if the Engine parameter is redis. SnapshotName *string `type:"string"` - // The number of days for which ElastiCache will retain automatic snapshots - // before deleting them. For example, if you set SnapshotRetentionLimit to 5, - // then a snapshot that was taken today will be retained for 5 days before being - // deleted. + // The number of days for which ElastiCache retains automatic snapshots before + // deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot + // taken today is retained for 5 days before being deleted. // - // Note: This parameter is only valid if the Engine parameter is redis. + // This parameter is only valid if the Engine parameter is redis. // - // Default: 0 (i.e., automatic backups are disabled for this cache cluster). + // Default: 0 (i.e., automatic backups are disabled for this cache cluster). SnapshotRetentionLimit *int64 `type:"integer"` - // The daily time range (in UTC) during which ElastiCache will begin taking - // a daily snapshot of your node group. + // The daily time range (in UTC) during which ElastiCache begins taking a daily + // snapshot of your node group (shard). // // Example: 05:00-09:00 // - // If you do not specify this parameter, then ElastiCache will automatically - // choose an appropriate time range. + // If you do not specify this parameter, ElastiCache automatically chooses + // an appropriate time range. // - // Note: This parameter is only valid if the Engine parameter is redis. + // Note: This parameter is only valid if the Engine parameter is redis. SnapshotWindow *string `type:"string"` // A list of cost allocation tags to be added to this resource. A tag is a key-value @@ -2207,20 +4569,26 @@ func (s CreateCacheClusterOutput) GoString() string { return s.String() } -// Represents the input of a CreateCacheParameterGroup action. +// Represents the input of a CreateCacheParameterGroup operation. type CreateCacheParameterGroupInput struct { _ struct{} `type:"structure"` - // The name of the cache parameter group family the cache parameter group can - // be used with. + // The name of the cache parameter group family that the cache parameter group + // can be used with. + // + // Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2 // - // Valid values are: memcached1.4 | redis2.6 | redis2.8 + // CacheParameterGroupFamily is a required field CacheParameterGroupFamily *string `type:"string" required:"true"` // A user-specified name for the cache parameter group. + // + // CacheParameterGroupName is a required field CacheParameterGroupName *string `type:"string" required:"true"` // A user-specified description for the cache parameter group. + // + // Description is a required field Description *string `type:"string" required:"true"` } @@ -2256,7 +4624,7 @@ func (s *CreateCacheParameterGroupInput) Validate() error { type CreateCacheParameterGroupOutput struct { _ struct{} `type:"structure"` - // Represents the output of a CreateCacheParameterGroup action. + // Represents the output of a CreateCacheParameterGroup operation. CacheParameterGroup *CacheParameterGroup `type:"structure"` } @@ -2270,7 +4638,7 @@ func (s CreateCacheParameterGroupOutput) GoString() string { return s.String() } -// Represents the input of a CreateCacheSecurityGroup action. +// Represents the input of a CreateCacheSecurityGroup operation. type CreateCacheSecurityGroupInput struct { _ struct{} `type:"structure"` @@ -2281,9 +4649,13 @@ type CreateCacheSecurityGroupInput struct { // be the word "Default". // // Example: mysecuritygroup + // + // CacheSecurityGroupName is a required field CacheSecurityGroupName *string `type:"string" required:"true"` // A description for the cache security group. + // + // Description is a required field Description *string `type:"string" required:"true"` } @@ -2316,9 +4688,13 @@ func (s *CreateCacheSecurityGroupInput) Validate() error { type CreateCacheSecurityGroupOutput struct { _ struct{} `type:"structure"` - // Represents the output of one of the following actions: + // Represents the output of one of the following operations: // - // AuthorizeCacheSecurityGroupIngress CreateCacheSecurityGroup RevokeCacheSecurityGroupIngress + // AuthorizeCacheSecurityGroupIngress + // + // CreateCacheSecurityGroup + // + // RevokeCacheSecurityGroupIngress CacheSecurityGroup *CacheSecurityGroup `type:"structure"` } @@ -2332,11 +4708,13 @@ func (s CreateCacheSecurityGroupOutput) GoString() string { return s.String() } -// Represents the input of a CreateCacheSubnetGroup action. +// Represents the input of a CreateCacheSubnetGroup operation. type CreateCacheSubnetGroupInput struct { _ struct{} `type:"structure"` // A description for the cache subnet group. + // + // CacheSubnetGroupDescription is a required field CacheSubnetGroupDescription *string `type:"string" required:"true"` // A name for the cache subnet group. This value is stored as a lowercase string. @@ -2344,9 +4722,13 @@ type CreateCacheSubnetGroupInput struct { // Constraints: Must contain no more than 255 alphanumeric characters or hyphens. // // Example: mysubnetgroup + // + // CacheSubnetGroupName is a required field CacheSubnetGroupName *string `type:"string" required:"true"` // A list of VPC subnet IDs for the cache subnet group. + // + // SubnetIds is a required field SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"` } @@ -2382,9 +4764,11 @@ func (s *CreateCacheSubnetGroupInput) Validate() error { type CreateCacheSubnetGroupOutput struct { _ struct{} `type:"structure"` - // Represents the output of one of the following actions: + // Represents the output of one of the following operations: + // + // CreateCacheSubnetGroup // - // CreateCacheSubnetGroup ModifyCacheSubnetGroup + // ModifyCacheSubnetGroup CacheSubnetGroup *CacheSubnetGroup `type:"structure"` } @@ -2398,106 +4782,165 @@ func (s CreateCacheSubnetGroupOutput) GoString() string { return s.String() } -// Represents the input of a CreateReplicationGroup action. +// Represents the input of a CreateReplicationGroup operation. type CreateReplicationGroupInput struct { _ struct{} `type:"structure"` // This parameter is currently disabled. AutoMinorVersionUpgrade *bool `type:"boolean"` - // Specifies whether a read-only replica will be automatically promoted to read/write + // Specifies whether a read-only replica is automatically promoted to read/write // primary if the existing primary fails. // // If true, Multi-AZ is enabled for this replication group. If false, Multi-AZ // is disabled for this replication group. // + // AutomaticFailoverEnabled must be enabled for Redis (cluster mode enabled) + // replication groups. + // // Default: false // - // ElastiCache Multi-AZ replication groups is not supported on: + // ElastiCache Multi-AZ replication groups is not supported on: + // + // Redis versions earlier than 2.8.6. // - // Redis versions earlier than 2.8.6. T1 and T2 cache node types. + // Redis (cluster mode disabled): T1 and T2 node types. + // + // Redis (cluster mode enabled): T2 node types. AutomaticFailoverEnabled *bool `type:"boolean"` - // The compute and memory capacity of the nodes in the node group. + // The compute and memory capacity of the nodes in the node group (shard). // // Valid node types are as follows: // - // General purpose: Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, - // cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge Previous - // generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, - // cache.m1.xlarge Compute optimized: cache.c1.xlarge Memory optimized Current - // generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, - // cache.r3.8xlarge Previous generation: cache.m2.xlarge, cache.m2.2xlarge, - // cache.m2.4xlarge Notes: - // - // All t2 instances are created in an Amazon Virtual Private Cloud (VPC). - // Redis backup/restore is not supported for t2 instances. Redis Append-only - // files (AOF) functionality is not supported for t1 or t2 instances. For a - // complete listing of cache node types and specifications, see Amazon ElastiCache + // General purpose: + // + // Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, + // cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge, + // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge + // + // Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, + // cache.m1.large, cache.m1.xlarge + // + // Compute optimized: cache.c1.xlarge + // + // Memory optimized: + // + // Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, + // cache.r3.4xlarge, cache.r3.8xlarge + // + // Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge + // + // Notes: + // + // All T2 instances are created in an Amazon Virtual Private Cloud (Amazon + // VPC). + // + // Redis backup/restore is not supported for Redis (cluster mode disabled) + // T1 and T2 instances. Backup/restore is supported on Redis (cluster mode enabled) + // T2 instances. + // + // Redis Append-only files (AOF) functionality is not supported for T1 or + // T2 instances. + // + // For a complete listing of node types and specifications, see Amazon ElastiCache // Product Features and Details (http://aws.amazon.com/elasticache/details) - // and Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#CacheParameterGroups.Memcached.NodeSpecific) - // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.NodeSpecific). + // and either Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific) + // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific). CacheNodeType *string `type:"string"` // The name of the parameter group to associate with this replication group. // If this argument is omitted, the default cache parameter group for the specified // engine is used. + // + // If you are running Redis version 3.2.4 or later, only one node group (shard), + // and want to use a default parameter group, we recommend that you specify + // the parameter group by name. + // + // To create a Redis (cluster mode disabled) replication group, use CacheParameterGroupName=default.redis3.2. + // + // To create a Redis (cluster mode enabled) replication group, use CacheParameterGroupName=default.redis3.2.cluster.on. CacheParameterGroupName *string `type:"string"` // A list of cache security group names to associate with this replication group. CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"` // The name of the cache subnet group to be used for the replication group. + // + // If you're going to launch your cluster in an Amazon VPC, you need to create + // a subnet group before you start creating a cluster. For more information, + // see Subnets and Subnet Groups (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SubnetGroups.html). CacheSubnetGroupName *string `type:"string"` // The name of the cache engine to be used for the cache clusters in this replication // group. - // - // Default: redis Engine *string `type:"string"` // The version number of the cache engine to be used for the cache clusters // in this replication group. To view the supported cache engine versions, use - // the DescribeCacheEngineVersions action. - // - // Important: You can upgrade to a newer engine version (see Selecting a Cache - // Engine and Version (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SelectEngine.html#VersionManagement)), - // but you cannot downgrade to an earlier engine version. If you want to use - // an earlier engine version, you must delete the existing cache cluster or - // replication group and create it anew with the earlier engine version. + // the DescribeCacheEngineVersions operation. + // + // Important: You can upgrade to a newer engine version (see Selecting a Cache + // Engine and Version (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SelectEngine.html#VersionManagement)) + // in the ElastiCache User Guide, but you cannot downgrade to an earlier engine + // version. If you want to use an earlier engine version, you must delete the + // existing cache cluster or replication group and create it anew with the earlier + // engine version. EngineVersion *string `type:"string"` + // A list of node group (shard) configuration options. Each node group (shard) + // configuration has the following: Slots, PrimaryAvailabilityZone, ReplicaAvailabilityZones, + // ReplicaCount. + // + // If you're creating a Redis (cluster mode disabled) or a Redis (cluster mode + // enabled) replication group, you can use this parameter to configure one node + // group (shard) or you can omit this parameter. + NodeGroupConfiguration []*NodeGroupConfiguration `locationNameList:"NodeGroupConfiguration" type:"list"` + // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service - // (SNS) topic to which notifications will be sent. + // (SNS) topic to which notifications are sent. // - // The Amazon SNS topic owner must be the same as the cache cluster owner. + // The Amazon SNS topic owner must be the same as the cache cluster owner. NotificationTopicArn *string `type:"string"` - // The number of cache clusters this replication group will initially have. + // The number of clusters this replication group initially has. + // + // This parameter is not used if there is more than one node group (shard). + // You should use ReplicasPerNodeGroup instead. // // If Multi-AZ is enabled, the value of this parameter must be at least 2. // // The maximum permitted value for NumCacheClusters is 6 (primary plus 5 replicas). - // If you need to exceed this limit, please fill out the ElastiCache Limit Increase - // Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request - // (http://aws.amazon.com/contact-us/elasticache-node-limit-request). + // If you need to exceed this limit, fill out the ElastiCache Limit Increase + // Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/ + // (http://aws.amazon.com/contact-us/elasticache-node-limit-request/). NumCacheClusters *int64 `type:"integer"` - // The port number on which each member of the replication group will accept - // connections. + // An optional parameter that specifies the number of node groups (shards) for + // this Redis (cluster mode enabled) replication group. For Redis (cluster mode + // disabled) either omit this parameter or set it to 1. + // + // Default: 1 + NumNodeGroups *int64 `type:"integer"` + + // The port number on which each member of the replication group accepts connections. Port *int64 `type:"integer"` - // A list of EC2 availability zones in which the replication group's cache clusters - // will be created. The order of the availability zones in the list is not important. + // A list of EC2 Availability Zones in which the replication group's cache clusters + // are created. The order of the Availability Zones in the list is the order + // in which clusters are allocated. The primary cluster is created in the first + // AZ in the list. + // + // This parameter is not used if there is more than one node group (shard). + // You should use NodeGroupConfiguration instead. // - // If you are creating your replication group in an Amazon VPC (recommended), - // you can only locate cache clusters in availability zones associated with - // the subnets in the selected subnet group. The number of availability zones - // listed must equal the value of NumCacheClusters. + // If you are creating your replication group in an Amazon VPC (recommended), + // you can only locate cache clusters in Availability Zones associated with + // the subnets in the selected subnet group. // - // Default: system chosen availability zones. + // The number of Availability Zones listed must equal the value of NumCacheClusters. // - // Example: One Redis cache cluster in each of three availability zones. + // Default: system chosen Availability Zones. PreferredCacheClusterAZs []*string `locationNameList:"AvailabilityZone" type:"list"` // Specifies the weekly time range during which maintenance on the cache cluster @@ -2505,17 +4948,43 @@ type CreateReplicationGroupInput struct { // (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid // values for ddd are: // - // sun mon tue wed thu fri sat Example: sun:05:00-sun:09:00 + // Specifies the weekly time range during which maintenance on the cluster + // is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi + // (24H Clock UTC). The minimum maintenance window is a 60 minute period. + // + // Valid values for ddd are: + // + // sun + // + // mon + // + // tue + // + // wed + // + // thu + // + // fri + // + // sat + // + // Example: sun:23:00-mon:01:30 PreferredMaintenanceWindow *string `type:"string"` - // The identifier of the cache cluster that will serve as the primary for this - // replication group. This cache cluster must already exist and have a status - // of available. + // The identifier of the cache cluster that serves as the primary for this replication + // group. This cache cluster must already exist and have a status of available. // - // This parameter is not required if NumCacheClusters is specified. + // This parameter is not required if NumCacheClusters, NumNodeGroups, or ReplicasPerNodeGroup + // is specified. PrimaryClusterId *string `type:"string"` + // An optional parameter that specifies the number of replica nodes in each + // node group (shard). Valid values are 0 to 5. + ReplicasPerNodeGroup *int64 `type:"integer"` + // A user-created description for the replication group. + // + // ReplicationGroupDescription is a required field ReplicationGroupDescription *string `type:"string" required:"true"` // The replication group identifier. This parameter is stored as a lowercase @@ -2523,53 +4992,57 @@ type CreateReplicationGroupInput struct { // // Constraints: // - // A name must contain from 1 to 20 alphanumeric characters or hyphens. The - // first character must be a letter. A name cannot end with a hyphen or contain - // two consecutive hyphens. + // A name must contain from 1 to 20 alphanumeric characters or hyphens. + // + // The first character must be a letter. + // + // A name cannot end with a hyphen or contain two consecutive hyphens. + // + // ReplicationGroupId is a required field ReplicationGroupId *string `type:"string" required:"true"` // One or more Amazon VPC security groups associated with this replication group. // // Use this parameter only when you are creating a replication group in an - // Amazon Virtual Private Cloud (VPC). + // Amazon Virtual Private Cloud (Amazon VPC). SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` - // A single-element string list containing an Amazon Resource Name (ARN) that - // uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot - // file will be used to populate the node group. The Amazon S3 object name in - // the ARN cannot contain any commas. + // A list of Amazon Resource Names (ARN) that uniquely identify the Redis RDB + // snapshot files stored in Amazon S3. The snapshot files are used to populate + // the replication group. The Amazon S3 object name in the ARN cannot contain + // any commas. The list must match the number of node groups (shards) in the + // replication group, which means you cannot repartition. // - // Note: This parameter is only valid if the Engine parameter is redis. + // This parameter is only valid if the Engine parameter is redis. // - // Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb + // Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb SnapshotArns []*string `locationNameList:"SnapshotArn" type:"list"` - // The name of a snapshot from which to restore data into the new node group. - // The snapshot status changes to restoring while the new node group is being - // created. + // The name of a snapshot from which to restore data into the new replication + // group. The snapshot status changes to restoring while the new replication + // group is being created. // - // Note: This parameter is only valid if the Engine parameter is redis. + // This parameter is only valid if the Engine parameter is redis. SnapshotName *string `type:"string"` - // The number of days for which ElastiCache will retain automatic snapshots - // before deleting them. For example, if you set SnapshotRetentionLimit to 5, - // then a snapshot that was taken today will be retained for 5 days before being - // deleted. + // The number of days for which ElastiCache retains automatic snapshots before + // deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot + // that was taken today is retained for 5 days before being deleted. // - // Note: This parameter is only valid if the Engine parameter is redis. + // This parameter is only valid if the Engine parameter is redis. // - // Default: 0 (i.e., automatic backups are disabled for this cache cluster). + // Default: 0 (i.e., automatic backups are disabled for this cache cluster). SnapshotRetentionLimit *int64 `type:"integer"` - // The daily time range (in UTC) during which ElastiCache will begin taking - // a daily snapshot of your node group. + // The daily time range (in UTC) during which ElastiCache begins taking a daily + // snapshot of your node group (shard). // // Example: 05:00-09:00 // - // If you do not specify this parameter, then ElastiCache will automatically - // choose an appropriate time range. + // If you do not specify this parameter, ElastiCache automatically chooses + // an appropriate time range. // - // Note: This parameter is only valid if the Engine parameter is redis. + // This parameter is only valid if the Engine parameter is redis. SnapshotWindow *string `type:"string"` // A list of cost allocation tags to be added to this resource. A tag is a key-value @@ -2606,7 +5079,7 @@ func (s *CreateReplicationGroupInput) Validate() error { type CreateReplicationGroupOutput struct { _ struct{} `type:"structure"` - // Contains all of the attributes of a specific replication group. + // Contains all of the attributes of a specific Redis replication group. ReplicationGroup *ReplicationGroup `type:"structure"` } @@ -2620,15 +5093,21 @@ func (s CreateReplicationGroupOutput) GoString() string { return s.String() } -// Represents the input of a CreateSnapshot action. +// Represents the input of a CreateSnapshot operation. type CreateSnapshotInput struct { _ struct{} `type:"structure"` - // The identifier of an existing cache cluster. The snapshot will be created - // from this cache cluster. - CacheClusterId *string `type:"string" required:"true"` + // The identifier of an existing cache cluster. The snapshot is created from + // this cache cluster. + CacheClusterId *string `type:"string"` + + // The identifier of an existing replication group. The snapshot is created + // from this replication group. + ReplicationGroupId *string `type:"string"` // A name for the snapshot being created. + // + // SnapshotName is a required field SnapshotName *string `type:"string" required:"true"` } @@ -2645,9 +5124,6 @@ func (s CreateSnapshotInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateSnapshotInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"} - if s.CacheClusterId == nil { - invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) - } if s.SnapshotName == nil { invalidParams.Add(request.NewErrParamRequired("SnapshotName")) } @@ -2661,8 +5137,8 @@ func (s *CreateSnapshotInput) Validate() error { type CreateSnapshotOutput struct { _ struct{} `type:"structure"` - // Represents a copy of an entire cache cluster as of the time when the snapshot - // was taken. + // Represents a copy of an entire Redis cache cluster as of the time when the + // snapshot was taken. Snapshot *Snapshot `type:"structure"` } @@ -2676,12 +5152,14 @@ func (s CreateSnapshotOutput) GoString() string { return s.String() } -// Represents the input of a DeleteCacheCluster action. +// Represents the input of a DeleteCacheCluster operation. type DeleteCacheClusterInput struct { _ struct{} `type:"structure"` // The cache cluster identifier for the cluster to be deleted. This parameter // is not case sensitive. + // + // CacheClusterId is a required field CacheClusterId *string `type:"string" required:"true"` // The user-supplied name of a final cache cluster snapshot. This is the unique @@ -2730,14 +5208,16 @@ func (s DeleteCacheClusterOutput) GoString() string { return s.String() } -// Represents the input of a DeleteCacheParameterGroup action. +// Represents the input of a DeleteCacheParameterGroup operation. type DeleteCacheParameterGroupInput struct { _ struct{} `type:"structure"` // The name of the cache parameter group to delete. // - // The specified cache security group must not be associated with any cache + // The specified cache security group must not be associated with any cache // clusters. + // + // CacheParameterGroupName is a required field CacheParameterGroupName *string `type:"string" required:"true"` } @@ -2778,13 +5258,15 @@ func (s DeleteCacheParameterGroupOutput) GoString() string { return s.String() } -// Represents the input of a DeleteCacheSecurityGroup action. +// Represents the input of a DeleteCacheSecurityGroup operation. type DeleteCacheSecurityGroupInput struct { _ struct{} `type:"structure"` // The name of the cache security group to delete. // - // You cannot delete the default security group. + // You cannot delete the default security group. + // + // CacheSecurityGroupName is a required field CacheSecurityGroupName *string `type:"string" required:"true"` } @@ -2825,13 +5307,15 @@ func (s DeleteCacheSecurityGroupOutput) GoString() string { return s.String() } -// Represents the input of a DeleteCacheSubnetGroup action. +// Represents the input of a DeleteCacheSubnetGroup operation. type DeleteCacheSubnetGroupInput struct { _ struct{} `type:"structure"` // The name of the cache subnet group to delete. // // Constraints: Must contain no more than 255 alphanumeric characters or hyphens. + // + // CacheSubnetGroupName is a required field CacheSubnetGroupName *string `type:"string" required:"true"` } @@ -2872,22 +5356,24 @@ func (s DeleteCacheSubnetGroupOutput) GoString() string { return s.String() } -// Represents the input of a DeleteReplicationGroup action. +// Represents the input of a DeleteReplicationGroup operation. type DeleteReplicationGroupInput struct { _ struct{} `type:"structure"` - // The name of a final node group snapshot. ElastiCache creates the snapshot - // from the primary node in the cluster, rather than one of the replicas; this - // is to ensure that it captures the freshest data. After the final snapshot - // is taken, the cluster is immediately deleted. + // The name of a final node group (shard) snapshot. ElastiCache creates the + // snapshot from the primary node in the cluster, rather than one of the replicas; + // this is to ensure that it captures the freshest data. After the final snapshot + // is taken, the replication group is immediately deleted. FinalSnapshotIdentifier *string `type:"string"` // The identifier for the cluster to be deleted. This parameter is not case // sensitive. + // + // ReplicationGroupId is a required field ReplicationGroupId *string `type:"string" required:"true"` - // If set to true, all of the read replicas will be deleted, but the primary - // node will be retained. + // If set to true, all of the read replicas are deleted, but the primary node + // is retained. RetainPrimaryCluster *bool `type:"boolean"` } @@ -2917,7 +5403,7 @@ func (s *DeleteReplicationGroupInput) Validate() error { type DeleteReplicationGroupOutput struct { _ struct{} `type:"structure"` - // Contains all of the attributes of a specific replication group. + // Contains all of the attributes of a specific Redis replication group. ReplicationGroup *ReplicationGroup `type:"structure"` } @@ -2931,11 +5417,13 @@ func (s DeleteReplicationGroupOutput) GoString() string { return s.String() } -// Represents the input of a DeleteSnapshot action. +// Represents the input of a DeleteSnapshot operation. type DeleteSnapshotInput struct { _ struct{} `type:"structure"` // The name of the snapshot to be deleted. + // + // SnapshotName is a required field SnapshotName *string `type:"string" required:"true"` } @@ -2965,8 +5453,8 @@ func (s *DeleteSnapshotInput) Validate() error { type DeleteSnapshotOutput struct { _ struct{} `type:"structure"` - // Represents a copy of an entire cache cluster as of the time when the snapshot - // was taken. + // Represents a copy of an entire Redis cache cluster as of the time when the + // snapshot was taken. Snapshot *Snapshot `type:"structure"` } @@ -2980,7 +5468,7 @@ func (s DeleteSnapshotOutput) GoString() string { return s.String() } -// Represents the input of a DescribeCacheClusters action. +// Represents the input of a DescribeCacheClusters operation. type DescribeCacheClustersInput struct { _ struct{} `type:"structure"` @@ -2990,7 +5478,7 @@ type DescribeCacheClustersInput struct { CacheClusterId *string `type:"string"` // An optional marker returned from a prior request. Use this marker for pagination - // of results from this action. If this parameter is specified, the response + // of results from this operation. If this parameter is specified, the response // includes only records beyond the marker, up to the value specified by MaxRecords. Marker *string `type:"string"` @@ -3018,7 +5506,7 @@ func (s DescribeCacheClustersInput) GoString() string { return s.String() } -// Represents the output of a DescribeCacheClusters action. +// Represents the output of a DescribeCacheClusters operation. type DescribeCacheClustersOutput struct { _ struct{} `type:"structure"` @@ -3040,16 +5528,21 @@ func (s DescribeCacheClustersOutput) GoString() string { return s.String() } -// Represents the input of a DescribeCacheEngineVersions action. +// Represents the input of a DescribeCacheEngineVersions operation. type DescribeCacheEngineVersionsInput struct { _ struct{} `type:"structure"` // The name of a specific cache parameter group family to return details for. // + // Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2 + // // Constraints: // - // Must be 1 to 255 alphanumeric characters First character must be a letter - // Cannot end with a hyphen or contain two consecutive hyphens + // Must be 1 to 255 alphanumeric characters + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens CacheParameterGroupFamily *string `type:"string"` // If true, specifies that only the default version of the specified engine @@ -3065,7 +5558,7 @@ type DescribeCacheEngineVersionsInput struct { EngineVersion *string `type:"string"` // An optional marker returned from a prior request. Use this marker for pagination - // of results from this action. If this parameter is specified, the response + // of results from this operation. If this parameter is specified, the response // includes only records beyond the marker, up to the value specified by MaxRecords. Marker *string `type:"string"` @@ -3089,7 +5582,7 @@ func (s DescribeCacheEngineVersionsInput) GoString() string { return s.String() } -// Represents the output of a DescribeCacheEngineVersions action. +// Represents the output of a DescribeCacheEngineVersions operation. type DescribeCacheEngineVersionsOutput struct { _ struct{} `type:"structure"` @@ -3111,7 +5604,7 @@ func (s DescribeCacheEngineVersionsOutput) GoString() string { return s.String() } -// Represents the input of a DescribeCacheParameterGroups action. +// Represents the input of a DescribeCacheParameterGroups operation. type DescribeCacheParameterGroupsInput struct { _ struct{} `type:"structure"` @@ -3119,7 +5612,7 @@ type DescribeCacheParameterGroupsInput struct { CacheParameterGroupName *string `type:"string"` // An optional marker returned from a prior request. Use this marker for pagination - // of results from this action. If this parameter is specified, the response + // of results from this operation. If this parameter is specified, the response // includes only records beyond the marker, up to the value specified by MaxRecords. Marker *string `type:"string"` @@ -3143,7 +5636,7 @@ func (s DescribeCacheParameterGroupsInput) GoString() string { return s.String() } -// Represents the output of a DescribeCacheParameterGroups action. +// Represents the output of a DescribeCacheParameterGroups operation. type DescribeCacheParameterGroupsOutput struct { _ struct{} `type:"structure"` @@ -3165,15 +5658,17 @@ func (s DescribeCacheParameterGroupsOutput) GoString() string { return s.String() } -// Represents the input of a DescribeCacheParameters action. +// Represents the input of a DescribeCacheParameters operation. type DescribeCacheParametersInput struct { _ struct{} `type:"structure"` // The name of a specific cache parameter group to return details for. + // + // CacheParameterGroupName is a required field CacheParameterGroupName *string `type:"string" required:"true"` // An optional marker returned from a prior request. Use this marker for pagination - // of results from this action. If this parameter is specified, the response + // of results from this operation. If this parameter is specified, the response // includes only records beyond the marker, up to the value specified by MaxRecords. Marker *string `type:"string"` @@ -3215,7 +5710,7 @@ func (s *DescribeCacheParametersInput) Validate() error { return nil } -// Represents the output of a DescribeCacheParameters action. +// Represents the output of a DescribeCacheParameters operation. type DescribeCacheParametersOutput struct { _ struct{} `type:"structure"` @@ -3240,7 +5735,7 @@ func (s DescribeCacheParametersOutput) GoString() string { return s.String() } -// Represents the input of a DescribeCacheSecurityGroups action. +// Represents the input of a DescribeCacheSecurityGroups operation. type DescribeCacheSecurityGroupsInput struct { _ struct{} `type:"structure"` @@ -3248,7 +5743,7 @@ type DescribeCacheSecurityGroupsInput struct { CacheSecurityGroupName *string `type:"string"` // An optional marker returned from a prior request. Use this marker for pagination - // of results from this action. If this parameter is specified, the response + // of results from this operation. If this parameter is specified, the response // includes only records beyond the marker, up to the value specified by MaxRecords. Marker *string `type:"string"` @@ -3272,7 +5767,7 @@ func (s DescribeCacheSecurityGroupsInput) GoString() string { return s.String() } -// Represents the output of a DescribeCacheSecurityGroups action. +// Represents the output of a DescribeCacheSecurityGroups operation. type DescribeCacheSecurityGroupsOutput struct { _ struct{} `type:"structure"` @@ -3294,7 +5789,7 @@ func (s DescribeCacheSecurityGroupsOutput) GoString() string { return s.String() } -// Represents the input of a DescribeCacheSubnetGroups action. +// Represents the input of a DescribeCacheSubnetGroups operation. type DescribeCacheSubnetGroupsInput struct { _ struct{} `type:"structure"` @@ -3302,7 +5797,7 @@ type DescribeCacheSubnetGroupsInput struct { CacheSubnetGroupName *string `type:"string"` // An optional marker returned from a prior request. Use this marker for pagination - // of results from this action. If this parameter is specified, the response + // of results from this operation. If this parameter is specified, the response // includes only records beyond the marker, up to the value specified by MaxRecords. Marker *string `type:"string"` @@ -3326,7 +5821,7 @@ func (s DescribeCacheSubnetGroupsInput) GoString() string { return s.String() } -// Represents the output of a DescribeCacheSubnetGroups action. +// Represents the output of a DescribeCacheSubnetGroups operation. type DescribeCacheSubnetGroupsOutput struct { _ struct{} `type:"structure"` @@ -3348,16 +5843,19 @@ func (s DescribeCacheSubnetGroupsOutput) GoString() string { return s.String() } -// Represents the input of a DescribeEngineDefaultParameters action. +// Represents the input of a DescribeEngineDefaultParameters operation. type DescribeEngineDefaultParametersInput struct { _ struct{} `type:"structure"` - // The name of the cache parameter group family. Valid values are: memcached1.4 - // | redis2.6 | redis2.8 + // The name of the cache parameter group family. + // + // Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2 + // + // CacheParameterGroupFamily is a required field CacheParameterGroupFamily *string `type:"string" required:"true"` // An optional marker returned from a prior request. Use this marker for pagination - // of results from this action. If this parameter is specified, the response + // of results from this operation. If this parameter is specified, the response // includes only records beyond the marker, up to the value specified by MaxRecords. Marker *string `type:"string"` @@ -3397,7 +5895,7 @@ func (s *DescribeEngineDefaultParametersInput) Validate() error { type DescribeEngineDefaultParametersOutput struct { _ struct{} `type:"structure"` - // Represents the output of a DescribeEngineDefaultParameters action. + // Represents the output of a DescribeEngineDefaultParameters operation. EngineDefaults *EngineDefaults `type:"structure"` } @@ -3411,7 +5909,7 @@ func (s DescribeEngineDefaultParametersOutput) GoString() string { return s.String() } -// Represents the input of a DescribeEvents action. +// Represents the input of a DescribeEvents operation. type DescribeEventsInput struct { _ struct{} `type:"structure"` @@ -3423,7 +5921,7 @@ type DescribeEventsInput struct { EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601"` // An optional marker returned from a prior request. Use this marker for pagination - // of results from this action. If this parameter is specified, the response + // of results from this operation. If this parameter is specified, the response // includes only records beyond the marker, up to the value specified by MaxRecords. Marker *string `type:"string"` @@ -3436,15 +5934,12 @@ type DescribeEventsInput struct { // Constraints: minimum 20; maximum 100. MaxRecords *int64 `type:"integer"` - // The identifier of the event source for which events will be returned. If - // not specified, then all sources are included in the response. + // The identifier of the event source for which events are returned. If not + // specified, all sources are included in the response. SourceIdentifier *string `type:"string"` // The event source to retrieve events for. If no value is specified, all events // are returned. - // - // Valid values are: cache-cluster | cache-parameter-group | cache-security-group - // | cache-subnet-group SourceType *string `type:"string" enum:"SourceType"` // The beginning of the time interval to retrieve events for, specified in ISO @@ -3462,7 +5957,7 @@ func (s DescribeEventsInput) GoString() string { return s.String() } -// Represents the output of a DescribeEvents action. +// Represents the output of a DescribeEvents operation. type DescribeEventsOutput struct { _ struct{} `type:"structure"` @@ -3484,12 +5979,12 @@ func (s DescribeEventsOutput) GoString() string { return s.String() } -// Represents the input of a DescribeReplicationGroups action. +// Represents the input of a DescribeReplicationGroups operation. type DescribeReplicationGroupsInput struct { _ struct{} `type:"structure"` // An optional marker returned from a prior request. Use this marker for pagination - // of results from this action. If this parameter is specified, the response + // of results from this operation. If this parameter is specified, the response // includes only records beyond the marker, up to the value specified by MaxRecords. Marker *string `type:"string"` @@ -3520,7 +6015,7 @@ func (s DescribeReplicationGroupsInput) GoString() string { return s.String() } -// Represents the output of a DescribeReplicationGroups action. +// Represents the output of a DescribeReplicationGroups operation. type DescribeReplicationGroupsOutput struct { _ struct{} `type:"structure"` @@ -3542,7 +6037,7 @@ func (s DescribeReplicationGroupsOutput) GoString() string { return s.String() } -// Represents the input of a DescribeReservedCacheNodes action. +// Represents the input of a DescribeReservedCacheNodes operation. type DescribeReservedCacheNodesInput struct { _ struct{} `type:"structure"` @@ -3551,21 +6046,40 @@ type DescribeReservedCacheNodesInput struct { // // Valid node types are as follows: // - // General purpose: Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, - // cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge Previous - // generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, - // cache.m1.xlarge Compute optimized: cache.c1.xlarge Memory optimized Current - // generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, - // cache.r3.8xlarge Previous generation: cache.m2.xlarge, cache.m2.2xlarge, - // cache.m2.4xlarge Notes: - // - // All t2 instances are created in an Amazon Virtual Private Cloud (VPC). - // Redis backup/restore is not supported for t2 instances. Redis Append-only - // files (AOF) functionality is not supported for t1 or t2 instances. For a - // complete listing of cache node types and specifications, see Amazon ElastiCache + // General purpose: + // + // Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, + // cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge, + // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge + // + // Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, + // cache.m1.large, cache.m1.xlarge + // + // Compute optimized: cache.c1.xlarge + // + // Memory optimized: + // + // Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, + // cache.r3.4xlarge, cache.r3.8xlarge + // + // Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge + // + // Notes: + // + // All T2 instances are created in an Amazon Virtual Private Cloud (Amazon + // VPC). + // + // Redis backup/restore is not supported for Redis (cluster mode disabled) + // T1 and T2 instances. Backup/restore is supported on Redis (cluster mode enabled) + // T2 instances. + // + // Redis Append-only files (AOF) functionality is not supported for T1 or + // T2 instances. + // + // For a complete listing of node types and specifications, see Amazon ElastiCache // Product Features and Details (http://aws.amazon.com/elasticache/details) - // and Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#CacheParameterGroups.Memcached.NodeSpecific) - // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.NodeSpecific). + // and either Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific) + // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific). CacheNodeType *string `type:"string"` // The duration filter value, specified in years or seconds. Use this parameter @@ -3575,7 +6089,7 @@ type DescribeReservedCacheNodesInput struct { Duration *string `type:"string"` // An optional marker returned from a prior request. Use this marker for pagination - // of results from this action. If this parameter is specified, the response + // of results from this operation. If this parameter is specified, the response // includes only records beyond the marker, up to the value specified by MaxRecords. Marker *string `type:"string"` @@ -3617,7 +6131,7 @@ func (s DescribeReservedCacheNodesInput) GoString() string { return s.String() } -// Represents the input of a DescribeReservedCacheNodesOfferings action. +// Represents the input of a DescribeReservedCacheNodesOfferings operation. type DescribeReservedCacheNodesOfferingsInput struct { _ struct{} `type:"structure"` @@ -3626,21 +6140,40 @@ type DescribeReservedCacheNodesOfferingsInput struct { // // Valid node types are as follows: // - // General purpose: Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, - // cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge Previous - // generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, - // cache.m1.xlarge Compute optimized: cache.c1.xlarge Memory optimized Current - // generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, - // cache.r3.8xlarge Previous generation: cache.m2.xlarge, cache.m2.2xlarge, - // cache.m2.4xlarge Notes: - // - // All t2 instances are created in an Amazon Virtual Private Cloud (VPC). - // Redis backup/restore is not supported for t2 instances. Redis Append-only - // files (AOF) functionality is not supported for t1 or t2 instances. For a - // complete listing of cache node types and specifications, see Amazon ElastiCache + // General purpose: + // + // Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, + // cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge, + // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge + // + // Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, + // cache.m1.large, cache.m1.xlarge + // + // Compute optimized: cache.c1.xlarge + // + // Memory optimized: + // + // Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, + // cache.r3.4xlarge, cache.r3.8xlarge + // + // Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge + // + // Notes: + // + // All T2 instances are created in an Amazon Virtual Private Cloud (Amazon + // VPC). + // + // Redis backup/restore is not supported for Redis (cluster mode disabled) + // T1 and T2 instances. Backup/restore is supported on Redis (cluster mode enabled) + // T2 instances. + // + // Redis Append-only files (AOF) functionality is not supported for T1 or + // T2 instances. + // + // For a complete listing of node types and specifications, see Amazon ElastiCache // Product Features and Details (http://aws.amazon.com/elasticache/details) - // and Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#CacheParameterGroups.Memcached.NodeSpecific) - // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.NodeSpecific). + // and either Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific) + // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific). CacheNodeType *string `type:"string"` // Duration filter value, specified in years or seconds. Use this parameter @@ -3650,7 +6183,7 @@ type DescribeReservedCacheNodesOfferingsInput struct { Duration *string `type:"string"` // An optional marker returned from a prior request. Use this marker for pagination - // of results from this action. If this parameter is specified, the response + // of results from this operation. If this parameter is specified, the response // includes only records beyond the marker, up to the value specified by MaxRecords. Marker *string `type:"string"` @@ -3690,7 +6223,7 @@ func (s DescribeReservedCacheNodesOfferingsInput) GoString() string { return s.String() } -// Represents the output of a DescribeReservedCacheNodesOfferings action. +// Represents the output of a DescribeReservedCacheNodesOfferings operation. type DescribeReservedCacheNodesOfferingsOutput struct { _ struct{} `type:"structure"` @@ -3712,7 +6245,7 @@ func (s DescribeReservedCacheNodesOfferingsOutput) GoString() string { return s.String() } -// Represents the output of a DescribeReservedCacheNodes action. +// Represents the output of a DescribeReservedCacheNodes operation. type DescribeReservedCacheNodesOutput struct { _ struct{} `type:"structure"` @@ -3734,16 +6267,16 @@ func (s DescribeReservedCacheNodesOutput) GoString() string { return s.String() } -// Represents the input of a DescribeSnapshotsMessage action. +// Represents the input of a DescribeSnapshotsMessage operation. type DescribeSnapshotsInput struct { _ struct{} `type:"structure"` // A user-supplied cluster identifier. If this parameter is specified, only - // snapshots associated with that specific cache cluster will be described. + // snapshots associated with that specific cache cluster are described. CacheClusterId *string `type:"string"` // An optional marker returned from a prior request. Use this marker for pagination - // of results from this action. If this parameter is specified, the response + // of results from this operation. If this parameter is specified, the response // includes only records beyond the marker, up to the value specified by MaxRecords. Marker *string `type:"string"` @@ -3756,8 +6289,16 @@ type DescribeSnapshotsInput struct { // Constraints: minimum 20; maximum 50. MaxRecords *int64 `type:"integer"` + // A user-supplied replication group identifier. If this parameter is specified, + // only snapshots associated with that specific replication group are described. + ReplicationGroupId *string `type:"string"` + + // A boolean value which if true, the node group (shard) configuration is included + // in the snapshot description. + ShowNodeGroupConfig *bool `type:"boolean"` + // A user-supplied name of the snapshot. If this parameter is specified, only - // this snapshot will be described. + // this snapshot are described. SnapshotName *string `type:"string"` // If set to system, the output shows snapshots that were automatically created @@ -3777,12 +6318,12 @@ func (s DescribeSnapshotsInput) GoString() string { return s.String() } -// Represents the output of a DescribeSnapshots action. +// Represents the output of a DescribeSnapshots operation. type DescribeSnapshotsOutput struct { _ struct{} `type:"structure"` // An optional marker returned from a prior request. Use this marker for pagination - // of results from this action. If this parameter is specified, the response + // of results from this operation. If this parameter is specified, the response // includes only records beyond the marker, up to the value specified by MaxRecords. Marker *string `type:"string"` @@ -3847,7 +6388,7 @@ func (s Endpoint) GoString() string { return s.String() } -// Represents the output of a DescribeEngineDefaultParameters action. +// Represents the output of a DescribeEngineDefaultParameters operation. type EngineDefaults struct { _ struct{} `type:"structure"` @@ -3857,6 +6398,8 @@ type EngineDefaults struct { // Specifies the name of the cache parameter group family to which the engine // default parameters apply. + // + // Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2 CacheParameterGroupFamily *string `type:"string"` // Provides an identifier to allow retrieval of paginated results. @@ -3908,17 +6451,16 @@ func (s Event) GoString() string { return s.String() } -// The input parameters for the ListAllowedNodeTypeModifications action. +// The input parameters for the ListAllowedNodeTypeModifications operation. type ListAllowedNodeTypeModificationsInput struct { _ struct{} `type:"structure"` // The name of the cache cluster you want to scale up to a larger node instanced // type. ElastiCache uses the cluster id to identify the current node type of - // this cluster and from that to to create a list of node types you can scale - // up to. + // this cluster and from that to create a list of node types you can scale up + // to. // - // Important: You must provide a value for either the CacheClusterId or the - // ReplicationGroupId. + // You must provide a value for either the CacheClusterId or the ReplicationGroupId. CacheClusterId *string `type:"string"` // The name of the replication group want to scale up to a larger node type. @@ -3926,8 +6468,7 @@ type ListAllowedNodeTypeModificationsInput struct { // being used by this replication group, and from that to create a list of node // types you can scale up to. // - // Important: You must provide a value for either the CacheClusterId or the - // ReplicationGroupId. + // You must provide a value for either the CacheClusterId or the ReplicationGroupId. ReplicationGroupId *string `type:"string"` } @@ -3941,17 +6482,9 @@ func (s ListAllowedNodeTypeModificationsInput) GoString() string { return s.String() } -// Represents the allowed node types you can use to modify your cache cluster -// or replication group. type ListAllowedNodeTypeModificationsOutput struct { _ struct{} `type:"structure"` - // A string list, each element of which specifies a cache node type which you - // can use to scale your cache cluster or replication group. - // - // When scaling up a Redis cluster or replication group using ModifyCacheCluster - // or ModifyReplicationGroup, use a value from this list for the CacheNodeType - // parameter. ScaleUpModifications []*string `type:"list"` } @@ -3965,7 +6498,7 @@ func (s ListAllowedNodeTypeModificationsOutput) GoString() string { return s.String() } -// The input parameters for the ListTagsForResource action. +// The input parameters for the ListTagsForResource operation. type ListTagsForResourceInput struct { _ struct{} `type:"structure"` @@ -3973,8 +6506,10 @@ type ListTagsForResourceInput struct { // of tags, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster // or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. // - // For more information on ARNs, go to Amazon Resource Names (ARNs) and AWS + // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). + // + // ResourceName is a required field ResourceName *string `type:"string" required:"true"` } @@ -4001,7 +6536,7 @@ func (s *ListTagsForResourceInput) Validate() error { return nil } -// Represents the input of a ModifyCacheCluster action. +// Represents the input of a ModifyCacheCluster operation. type ModifyCacheClusterInput struct { _ struct{} `type:"structure"` @@ -4012,12 +6547,12 @@ type ModifyCacheClusterInput struct { // // This option is only supported for Memcached cache clusters. // - // You cannot specify single-az if the Memcached cache cluster already has + // You cannot specify single-az if the Memcached cache cluster already has // cache nodes in different Availability Zones. If cross-az is specified, existing // Memcached nodes remain in their current Availability Zone. // - // Only newly created nodes will be located in different Availability Zones. - // For instructions on how to move existing Memcached nodes to different Availability + // Only newly created nodes are located in different Availability Zones. For + // instructions on how to move existing Memcached nodes to different Availability // Zones, see the Availability Zone Considerations section of Cache Node Considerations // for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheNode.Memcached.html). AZMode *string `type:"string" enum:"AZMode"` @@ -4026,12 +6561,13 @@ type ModifyCacheClusterInput struct { // pending modifications to be applied, asynchronously and as soon as possible, // regardless of the PreferredMaintenanceWindow setting for the cache cluster. // - // If false, then changes to the cache cluster are applied on the next maintenance + // If false, changes to the cache cluster are applied on the next maintenance // reboot, or the next failure reboot, whichever occurs first. // - // If you perform a ModifyCacheCluster before a pending modification is applied, - // the pending modification is replaced by the newer modification. Valid values: - // true | false + // If you perform a ModifyCacheCluster before a pending modification is applied, + // the pending modification is replaced by the newer modification. + // + // Valid values: true | false // // Default: false ApplyImmediately *bool `type:"boolean"` @@ -4040,6 +6576,8 @@ type ModifyCacheClusterInput struct { AutoMinorVersionUpgrade *bool `type:"boolean"` // The cache cluster identifier. This value is stored as a lowercase string. + // + // CacheClusterId is a required field CacheClusterId *string `type:"string" required:"true"` // A list of cache node IDs to be removed. A node ID is a numeric identifier @@ -4054,9 +6592,7 @@ type ModifyCacheClusterInput struct { // 2 (7 - 5) cache node IDs to remove. CacheNodeIdsToRemove []*string `locationNameList:"CacheNodeId" type:"list"` - // A valid cache node type that you want to scale this cache cluster to. The - // value of this parameter must be one of the ScaleUpModifications values returned - // by the ListAllowedCacheNodeTypeModification action. + // A valid cache node type that you want to scale this cache cluster up to. CacheNodeType *string `type:"string"` // The name of the cache parameter group to apply to this cache cluster. This @@ -4067,8 +6603,8 @@ type ModifyCacheClusterInput struct { // A list of cache security group names to authorize on this cache cluster. // This change is asynchronously applied as soon as possible. // - // This parameter can be used only with clusters that are created outside of - // an Amazon Virtual Private Cloud (VPC). + // You can use this parameter only with clusters that are created outside of + // an Amazon Virtual Private Cloud (Amazon VPC). // // Constraints: Must contain no more than 255 alphanumeric characters. Must // not be "Default". @@ -4076,15 +6612,14 @@ type ModifyCacheClusterInput struct { // The upgraded version of the cache engine to be run on the cache nodes. // - // Important: You can upgrade to a newer engine version (see Selecting a Cache + // Important: You can upgrade to a newer engine version (see Selecting a Cache // Engine and Version (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SelectEngine.html#VersionManagement)), // but you cannot downgrade to an earlier engine version. If you want to use // an earlier engine version, you must delete the existing cache cluster and // create it anew with the earlier engine version. EngineVersion *string `type:"string"` - // The list of Availability Zones where the new Memcached cache nodes will be - // created. + // The list of Availability Zones where the new Memcached cache nodes are created. // // This parameter is only valid when NumCacheNodes in the request is greater // than the sum of the number of active cache nodes and the number of cache @@ -4093,15 +6628,20 @@ type ModifyCacheClusterInput struct { // // This option is only supported on Memcached clusters. // - // Scenarios: Scenario 1: You have 3 active nodes and wish to add 2 nodes. - // Specify NumCacheNodes=5 (3 + 2) and optionally specify two Availability Zones - // for the two new nodes. Scenario 2: You have 3 active nodes and 2 nodes pending - // creation (from the scenario 1 call) and want to add 1 more node. Specify - // NumCacheNodes=6 ((3 + 2) + 1) and optionally specify an Availability Zone - // for the new node. Scenario 3: You want to cancel all pending actions. Specify - // NumCacheNodes=3 to cancel all pending actions. + // Scenarios: + // + // Scenario 1: You have 3 active nodes and wish to add 2 nodes. Specify + // NumCacheNodes=5 (3 + 2) and optionally specify two Availability Zones for + // the two new nodes. // - // The Availability Zone placement of nodes pending creation cannot be modified. + // Scenario 2: You have 3 active nodes and 2 nodes pending creation (from + // the scenario 1 call) and want to add 1 more node. Specify NumCacheNodes=6 + // ((3 + 2) + 1) and optionally specify an Availability Zone for the new node. + // + // Scenario 3: You want to cancel all pending operations. Specify NumCacheNodes=3 + // to cancel all pending operations. + // + // The Availability Zone placement of nodes pending creation cannot be modified. // If you wish to cancel any nodes pending creation, add 0 nodes by setting // NumCacheNodes to the number of current nodes. // @@ -4111,24 +6651,49 @@ type ModifyCacheClusterInput struct { // Availability Zones, see the Availability Zone Considerations section of Cache // Node Considerations for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheNode.Memcached.html). // - // Impact of new add/remove requests upon pending requests - // - // Scenario-1 Pending Action: Delete New Request: Delete Result: The new - // delete, pending or immediate, replaces the pending delete. Scenario-2 Pending - // Action: Delete New Request: Create Result: The new create, pending or immediate, - // replaces the pending delete. Scenario-3 Pending Action: Create New Request: - // Delete Result: The new delete, pending or immediate, replaces the pending - // create. Scenario-4 Pending Action: Create New Request: Create Result: The - // new create is added to the pending create. Important:If the new create request - // is Apply Immediately - Yes, all creates are performed immediately. If the - // new create request is Apply Immediately - No, all creates are pending. - // Example: + // Impact of new add/remove requests upon pending requests + // + // Scenario-1 + // + // Pending Action: Delete + // + // New Request: Delete + // + // Result: The new delete, pending or immediate, replaces the pending delete. + // + // Scenario-2 + // + // Pending Action: Delete + // + // New Request: Create + // + // Result: The new create, pending or immediate, replaces the pending delete. + // + // Scenario-3 + // + // Pending Action: Create + // + // New Request: Delete + // + // Result: The new delete, pending or immediate, replaces the pending create. + // + // Scenario-4 + // + // Pending Action: Create + // + // New Request: Create + // + // Result: The new create is added to the pending create. + // + // Important: If the new create request is Apply Immediately - Yes, all creates + // are performed immediately. If the new create request is Apply Immediately + // - No, all creates are pending. NewAvailabilityZones []*string `locationNameList:"PreferredAvailabilityZone" type:"list"` // The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications - // will be sent. + // are sent. // - // The Amazon SNS topic owner must be same as the cache cluster owner. + // The Amazon SNS topic owner must be same as the cache cluster owner. NotificationTopicArn *string `type:"string"` // The status of the Amazon SNS notification topic. Notifications are sent only @@ -4140,9 +6705,9 @@ type ModifyCacheClusterInput struct { // The number of cache nodes that the cache cluster should have. If the value // for NumCacheNodes is greater than the sum of the number of current cache // nodes and the number of cache nodes pending creation (which may be zero), - // then more nodes will be added. If the value is less than the number of existing - // cache nodes, then nodes will be removed. If the value is equal to the number - // of current cache nodes, then any pending add or remove requests are canceled. + // more nodes are added. If the value is less than the number of existing cache + // nodes, nodes are removed. If the value is equal to the number of current + // cache nodes, any pending add or remove requests are canceled. // // If you are removing cache nodes, you must use the CacheNodeIdsToRemove parameter // to provide the IDs of the specific cache nodes to remove. @@ -4150,50 +6715,66 @@ type ModifyCacheClusterInput struct { // For clusters running Redis, this value must be 1. For clusters running Memcached, // this value must be between 1 and 20. // - // Note:Adding or removing Memcached cache nodes can be applied immediately - // or as a pending action. See ApplyImmediately. A pending action to modify - // the number of cache nodes in a cluster during its maintenance window, whether - // by adding or removing nodes in accordance with the scale out architecture, - // is not queued. The customer's latest request to add or remove nodes to the - // cluster overrides any previous pending actions to modify the number of cache - // nodes in the cluster. For example, a request to remove 2 nodes would override - // a previous pending action to remove 3 nodes. Similarly, a request to add - // 2 nodes would override a previous pending action to remove 3 nodes and vice - // versa. As Memcached cache nodes may now be provisioned in different Availability - // Zones with flexible cache node placement, a request to add nodes does not - // automatically override a previous pending action to add nodes. The customer - // can modify the previous pending action to add more nodes or explicitly cancel - // the pending request and retry the new request. To cancel pending actions - // to modify the number of cache nodes in a cluster, use the ModifyCacheCluster - // request and set NumCacheNodes equal to the number of cache nodes currently - // in the cache cluster. + // Adding or removing Memcached cache nodes can be applied immediately or + // as a pending operation (see ApplyImmediately). + // + // A pending operation to modify the number of cache nodes in a cluster during + // its maintenance window, whether by adding or removing nodes in accordance + // with the scale out architecture, is not queued. The customer's latest request + // to add or remove nodes to the cluster overrides any previous pending operations + // to modify the number of cache nodes in the cluster. For example, a request + // to remove 2 nodes would override a previous pending operation to remove 3 + // nodes. Similarly, a request to add 2 nodes would override a previous pending + // operation to remove 3 nodes and vice versa. As Memcached cache nodes may + // now be provisioned in different Availability Zones with flexible cache node + // placement, a request to add nodes does not automatically override a previous + // pending operation to add nodes. The customer can modify the previous pending + // operation to add more nodes or explicitly cancel the pending request and + // retry the new request. To cancel pending operations to modify the number + // of cache nodes in a cluster, use the ModifyCacheCluster request and set NumCacheNodes + // equal to the number of cache nodes currently in the cache cluster. NumCacheNodes *int64 `type:"integer"` - // Specifies the weekly time range during which maintenance on the cache cluster - // is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi - // (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid - // values for ddd are: + // Specifies the weekly time range during which maintenance on the cluster is + // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi + // (24H Clock UTC). The minimum maintenance window is a 60 minute period. + // + // Valid values for ddd are: // - // sun mon tue wed thu fri sat Example: sun:05:00-sun:09:00 + // sun + // + // mon + // + // tue + // + // wed + // + // thu + // + // fri + // + // sat + // + // Example: sun:23:00-mon:01:30 PreferredMaintenanceWindow *string `type:"string"` // Specifies the VPC Security Groups associated with the cache cluster. // // This parameter can be used only with clusters that are created in an Amazon - // Virtual Private Cloud (VPC). + // Virtual Private Cloud (Amazon VPC). SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` - // The number of days for which ElastiCache will retain automatic cache cluster + // The number of days for which ElastiCache retains automatic cache cluster // snapshots before deleting them. For example, if you set SnapshotRetentionLimit - // to 5, then a snapshot that was taken today will be retained for 5 days before - // being deleted. + // to 5, a snapshot that was taken today is retained for 5 days before being + // deleted. // - // ImportantIf the value of SnapshotRetentionLimit is set to zero (0), backups - // are turned off. + // If the value of SnapshotRetentionLimit is set to zero (0), backups are + // turned off. SnapshotRetentionLimit *int64 `type:"integer"` - // The daily time range (in UTC) during which ElastiCache will begin taking - // a daily snapshot of your cache cluster. + // The daily time range (in UTC) during which ElastiCache begins taking a daily + // snapshot of your cache cluster. SnapshotWindow *string `type:"string"` } @@ -4237,16 +6818,20 @@ func (s ModifyCacheClusterOutput) GoString() string { return s.String() } -// Represents the input of a ModifyCacheParameterGroup action. +// Represents the input of a ModifyCacheParameterGroup operation. type ModifyCacheParameterGroupInput struct { _ struct{} `type:"structure"` // The name of the cache parameter group to modify. + // + // CacheParameterGroupName is a required field CacheParameterGroupName *string `type:"string" required:"true"` // An array of parameter names and values for the parameter update. You must // supply at least one parameter name and value; subsequent arguments are optional. // A maximum of 20 parameters may be modified per request. + // + // ParameterNameValues is a required field ParameterNameValues []*ParameterNameValue `locationNameList:"ParameterNameValue" type:"list" required:"true"` } @@ -4276,11 +6861,11 @@ func (s *ModifyCacheParameterGroupInput) Validate() error { return nil } -// Represents the input of a ModifyCacheSubnetGroup action. +// Represents the input of a ModifyCacheSubnetGroup operation. type ModifyCacheSubnetGroupInput struct { _ struct{} `type:"structure"` - // A description for the cache subnet group. + // A description of the cache subnet group. CacheSubnetGroupDescription *string `type:"string"` // The name for the cache subnet group. This value is stored as a lowercase @@ -4289,6 +6874,8 @@ type ModifyCacheSubnetGroupInput struct { // Constraints: Must contain no more than 255 alphanumeric characters or hyphens. // // Example: mysubnetgroup + // + // CacheSubnetGroupName is a required field CacheSubnetGroupName *string `type:"string" required:"true"` // The EC2 subnet IDs for the cache subnet group. @@ -4321,9 +6908,11 @@ func (s *ModifyCacheSubnetGroupInput) Validate() error { type ModifyCacheSubnetGroupOutput struct { _ struct{} `type:"structure"` - // Represents the output of one of the following actions: + // Represents the output of one of the following operations: + // + // CreateCacheSubnetGroup // - // CreateCacheSubnetGroup ModifyCacheSubnetGroup + // ModifyCacheSubnetGroup CacheSubnetGroup *CacheSubnetGroup `type:"structure"` } @@ -4337,7 +6926,7 @@ func (s ModifyCacheSubnetGroupOutput) GoString() string { return s.String() } -// Represents the input of a ModifyReplicationGroups action. +// Represents the input of a ModifyReplicationGroups operation. type ModifyReplicationGroupInput struct { _ struct{} `type:"structure"` @@ -4346,9 +6935,8 @@ type ModifyReplicationGroupInput struct { // regardless of the PreferredMaintenanceWindow setting for the replication // group. // - // If false, then changes to the nodes in the replication group are applied - // on the next maintenance reboot, or the next failure reboot, whichever occurs - // first. + // If false, changes to the nodes in the replication group are applied on the + // next maintenance reboot, or the next failure reboot, whichever occurs first. // // Valid values: true | false // @@ -4358,19 +6946,21 @@ type ModifyReplicationGroupInput struct { // This parameter is currently disabled. AutoMinorVersionUpgrade *bool `type:"boolean"` - // Whether a read replica will be automatically promoted to read/write primary - // if the existing primary encounters a failure. + // Determines whether a read replica is automatically promoted to read/write + // primary if the existing primary encounters a failure. // // Valid values: true | false // - // ElastiCache Multi-AZ replication groups are not supported on: + // ElastiCache Multi-AZ replication groups are not supported on: + // + // Redis versions earlier than 2.8.6. + // + // Redis (cluster mode disabled):T1 and T2 cache node types. // - // Redis versions earlier than 2.8.6. T1 and T2 cache node types. + // Redis (cluster mode enabled): T1 node types. AutomaticFailoverEnabled *bool `type:"boolean"` // A valid cache node type that you want to scale this replication group to. - // The value of this parameter must be one of the ScaleUpModifications values - // returned by the ListAllowedCacheNodeTypeModification action. CacheNodeType *string `type:"string"` // The name of the cache parameter group to apply to all of the clusters in @@ -4383,16 +6973,16 @@ type ModifyReplicationGroupInput struct { // replication group. This change is asynchronously applied as soon as possible. // // This parameter can be used only with replication group containing cache - // clusters running outside of an Amazon Virtual Private Cloud (VPC). + // clusters running outside of an Amazon Virtual Private Cloud (Amazon VPC). // // Constraints: Must contain no more than 255 alphanumeric characters. Must - // not be "Default". + // not be Default. CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"` // The upgraded version of the cache engine to be run on the cache clusters // in the replication group. // - // Important: You can upgrade to a newer engine version (see Selecting a Cache + // Important: You can upgrade to a newer engine version (see Selecting a Cache // Engine and Version (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SelectEngine.html#VersionManagement)), // but you cannot downgrade to an earlier engine version. If you want to use // an earlier engine version, you must delete the existing replication group @@ -4400,9 +6990,9 @@ type ModifyReplicationGroupInput struct { EngineVersion *string `type:"string"` // The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications - // will be sent. + // are sent. // - // The Amazon SNS topic owner must be same as the replication group owner. + // The Amazon SNS topic owner must be same as the replication group owner. NotificationTopicArn *string `type:"string"` // The status of the Amazon SNS notification topic for the replication group. @@ -4411,52 +7001,71 @@ type ModifyReplicationGroupInput struct { // Valid values: active | inactive NotificationTopicStatus *string `type:"string"` - // Specifies the weekly time range during which maintenance on the cache cluster - // is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi - // (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid - // values for ddd are: + // Specifies the weekly time range during which maintenance on the cluster is + // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi + // (24H Clock UTC). The minimum maintenance window is a 60 minute period. + // + // Valid values for ddd are: + // + // sun + // + // mon // - // sun mon tue wed thu fri sat Example: sun:05:00-sun:09:00 + // tue + // + // wed + // + // thu + // + // fri + // + // sat + // + // Example: sun:23:00-mon:01:30 PreferredMaintenanceWindow *string `type:"string"` - // If this parameter is specified, ElastiCache will promote the specified cluster - // in the specified replication group to the primary role. The nodes of all - // other clusters in the replication group will be read replicas. + // For replication groups with a single primary, if this parameter is specified, + // ElastiCache promotes the specified cluster in the specified replication group + // to the primary role. The nodes of all other clusters in the replication group + // are read replicas. PrimaryClusterId *string `type:"string"` // A description for the replication group. Maximum length is 255 characters. ReplicationGroupDescription *string `type:"string"` // The identifier of the replication group to modify. + // + // ReplicationGroupId is a required field ReplicationGroupId *string `type:"string" required:"true"` // Specifies the VPC Security Groups associated with the cache clusters in the // replication group. // // This parameter can be used only with replication group containing cache - // clusters running in an Amazon Virtual Private Cloud (VPC). + // clusters running in an Amazon Virtual Private Cloud (Amazon VPC). SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` - // The number of days for which ElastiCache will retain automatic node group + // The number of days for which ElastiCache retains automatic node group (shard) // snapshots before deleting them. For example, if you set SnapshotRetentionLimit - // to 5, then a snapshot that was taken today will be retained for 5 days before - // being deleted. + // to 5, a snapshot that was taken today is retained for 5 days before being + // deleted. // - // ImportantIf the value of SnapshotRetentionLimit is set to zero (0), backups + // Important If the value of SnapshotRetentionLimit is set to zero (0), backups // are turned off. SnapshotRetentionLimit *int64 `type:"integer"` - // The daily time range (in UTC) during which ElastiCache will begin taking - // a daily snapshot of the node group specified by SnapshottingClusterId. + // The daily time range (in UTC) during which ElastiCache begins taking a daily + // snapshot of the node group (shard) specified by SnapshottingClusterId. // // Example: 05:00-09:00 // - // If you do not specify this parameter, then ElastiCache will automatically - // choose an appropriate time range. + // If you do not specify this parameter, ElastiCache automatically chooses + // an appropriate time range. SnapshotWindow *string `type:"string"` - // The cache cluster ID that will be used as the daily snapshot source for the - // replication group. + // The cache cluster ID that is used as the daily snapshot source for the replication + // group. This parameter cannot be set for Redis (cluster mode enabled) replication + // groups. SnapshottingClusterId *string `type:"string"` } @@ -4486,7 +7095,7 @@ func (s *ModifyReplicationGroupInput) Validate() error { type ModifyReplicationGroupOutput struct { _ struct{} `type:"structure"` - // Contains all of the attributes of a specific replication group. + // Contains all of the attributes of a specific Redis replication group. ReplicationGroup *ReplicationGroup `type:"structure"` } @@ -4500,21 +7109,28 @@ func (s ModifyReplicationGroupOutput) GoString() string { return s.String() } -// Represents a collection of cache nodes in a replication group. +// Represents a collection of cache nodes in a replication group. One node in +// the node group is the read/write Primary node. All the other nodes are read-only +// Replica nodes. type NodeGroup struct { _ struct{} `type:"structure"` - // The identifier for the node group. A replication group contains only one - // node group; therefore, the node group ID is 0001. + // The identifier for the node group (shard). A Redis (cluster mode disabled) + // replication group contains only 1 node group; therefore, the node group ID + // is 0001. A Redis (cluster mode enabled) replication group contains 1 to 15 + // node groups numbered 0001 to 0015. NodeGroupId *string `type:"string"` - // A list containing information about individual nodes within the node group. + // A list containing information about individual nodes within the node group + // (shard). NodeGroupMembers []*NodeGroupMember `locationNameList:"NodeGroupMember" type:"list"` - // Represents the information required for client programs to connect to a cache - // node. + // The endpoint of the primary node in this node group (shard). PrimaryEndpoint *Endpoint `type:"structure"` + // The keyspace for this node group (shard). + Slots *string `type:"string"` + // The current state of this replication group - creating, available, etc. Status *string `type:"string"` } @@ -4529,7 +7145,42 @@ func (s NodeGroup) GoString() string { return s.String() } -// Represents a single node within a node group. +// node group (shard) configuration options. Each node group (shard) configuration +// has the following: Slots, PrimaryAvailabilityZone, ReplicaAvailabilityZones, +// ReplicaCount. +type NodeGroupConfiguration struct { + _ struct{} `type:"structure"` + + // The Availability Zone where the primary node of this node group (shard) is + // launched. + PrimaryAvailabilityZone *string `type:"string"` + + // A list of Availability Zones to be used for the read replicas. The number + // of Availability Zones in this list must match the value of ReplicaCount or + // ReplicasPerNodeGroup if not specified. + ReplicaAvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"` + + // The number of read replica nodes in this node group (shard). + ReplicaCount *int64 `type:"integer"` + + // A string that specifies the keyspaces as a series of comma separated values. + // Keyspaces are 0 to 16,383. The string is in the format startkey-endkey. + // + // Example: "0-3999" + Slots *string `type:"string"` +} + +// String returns the string representation +func (s NodeGroupConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NodeGroupConfiguration) GoString() string { + return s.String() +} + +// Represents a single node within a node group (shard). type NodeGroupMember struct { _ struct{} `type:"structure"` @@ -4565,6 +7216,9 @@ func (s NodeGroupMember) GoString() string { type NodeSnapshot struct { _ struct{} `type:"structure"` + // A unique identifier for the source cache cluster. + CacheClusterId *string `type:"string"` + // The date and time when the cache node was created in the source cache cluster. CacheNodeCreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"` @@ -4574,6 +7228,12 @@ type NodeSnapshot struct { // The size of the cache on the source cache node. CacheSize *string `type:"string"` + // The configuration for the source node group (shard). + NodeGroupConfiguration *NodeGroupConfiguration `type:"structure"` + + // A unique identifier for the source node group (shard). + NodeGroupId *string `type:"string"` + // The date and time when the source node's metadata and cache data set was // obtained for the snapshot. SnapshotCreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"` @@ -4620,6 +7280,12 @@ type Parameter struct { // The valid range of values for the parameter. AllowedValues *string `type:"string"` + // Indicates whether a change to the parameter is applied immediately or requires + // a reboot for the change to be applied. You can force a reboot or wait until + // the next maintenance window's reboot. For more information, see Rebooting + // a Cluster (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Clusters.Rebooting.html). + ChangeType *string `type:"string" enum:"ChangeType"` + // The valid data type for the parameter. DataType *string `type:"string"` @@ -4675,7 +7341,7 @@ func (s ParameterNameValue) GoString() string { return s.String() } -// A group of settings that will be applied to the cache cluster in the future, +// A group of settings that are applied to the cache cluster in the future, // or that are currently being applied. type PendingModifiedValues struct { _ struct{} `type:"structure"` @@ -4684,11 +7350,11 @@ type PendingModifiedValues struct { // the cache cluster. A node ID is a numeric identifier (0001, 0002, etc.). CacheNodeIdsToRemove []*string `locationNameList:"CacheNodeId" type:"list"` - // The cache node type that this cache cluster or replication group will be - // scaled to. + // The cache node type that this cache cluster or replication group is scaled + // to. CacheNodeType *string `type:"string"` - // The new cache engine version that the cache cluster will run. + // The new cache engine version that the cache cluster runs. EngineVersion *string `type:"string"` // The new number of cache nodes for the cache cluster. @@ -4708,7 +7374,7 @@ func (s PendingModifiedValues) GoString() string { return s.String() } -// Represents the input of a PurchaseReservedCacheNodesOffering action. +// Represents the input of a PurchaseReservedCacheNodesOffering operation. type PurchaseReservedCacheNodesOfferingInput struct { _ struct{} `type:"structure"` @@ -4719,16 +7385,18 @@ type PurchaseReservedCacheNodesOfferingInput struct { // A customer-specified identifier to track this reservation. // - // Note:The Reserved Cache Node ID is an unique customer-specified identifier - // to track this reservation. If this parameter is not specified, ElastiCache - // automatically generates an identifier for the reservation. + // The Reserved Cache Node ID is an unique customer-specified identifier to + // track this reservation. If this parameter is not specified, ElastiCache automatically + // generates an identifier for the reservation. // - // Example: myreservationID + // Example: myreservationID ReservedCacheNodeId *string `type:"string"` // The ID of the reserved cache node offering to purchase. // // Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706 + // + // ReservedCacheNodesOfferingId is a required field ReservedCacheNodesOfferingId *string `type:"string" required:"true"` } @@ -4758,7 +7426,7 @@ func (s *PurchaseReservedCacheNodesOfferingInput) Validate() error { type PurchaseReservedCacheNodesOfferingOutput struct { _ struct{} `type:"structure"` - // Represents the output of a PurchaseReservedCacheNodesOffering action. + // Represents the output of a PurchaseReservedCacheNodesOffering operation. ReservedCacheNode *ReservedCacheNode `type:"structure"` } @@ -4772,16 +7440,20 @@ func (s PurchaseReservedCacheNodesOfferingOutput) GoString() string { return s.String() } -// Represents the input of a RebootCacheCluster action. +// Represents the input of a RebootCacheCluster operation. type RebootCacheClusterInput struct { _ struct{} `type:"structure"` // The cache cluster identifier. This parameter is stored as a lowercase string. + // + // CacheClusterId is a required field CacheClusterId *string `type:"string" required:"true"` // A list of cache node IDs to reboot. A node ID is a numeric identifier (0001, // 0002, etc.). To reboot an entire cache cluster, specify all of the cache // node IDs. + // + // CacheNodeIdsToReboot is a required field CacheNodeIdsToReboot []*string `locationNameList:"CacheNodeId" type:"list" required:"true"` } @@ -4850,7 +7522,7 @@ func (s RecurringCharge) GoString() string { return s.String() } -// Represents the input of a RemoveTagsFromResource action. +// Represents the input of a RemoveTagsFromResource operation. type RemoveTagsFromResourceInput struct { _ struct{} `type:"structure"` @@ -4858,13 +7530,15 @@ type RemoveTagsFromResourceInput struct { // removed, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster // or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. // - // For more information on ARNs, go to Amazon Resource Names (ARNs) and AWS + // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). + // + // ResourceName is a required field ResourceName *string `type:"string" required:"true"` // A list of TagKeys identifying the tags you want removed from the named resource. - // For example, TagKeys.member.1=Region removes the cost allocation tag with - // the key name Region from the resource named by the ResourceName parameter. + // + // TagKeys is a required field TagKeys []*string `type:"list" required:"true"` } @@ -4894,17 +7568,25 @@ func (s *RemoveTagsFromResourceInput) Validate() error { return nil } -// Contains all of the attributes of a specific replication group. +// Contains all of the attributes of a specific Redis replication group. type ReplicationGroup struct { _ struct{} `type:"structure"` // Indicates the status of Multi-AZ for this replication group. // - // ElastiCache Multi-AZ replication groups are not supported on: + // ElastiCache Multi-AZ replication groups are not supported on: + // + // Redis versions earlier than 2.8.6. // - // Redis versions earlier than 2.8.6. T1 and T2 cache node types. + // Redis (cluster mode disabled):T1 and T2 cache node types. + // + // Redis (cluster mode enabled): T1 node types. AutomaticFailover *string `type:"string" enum:"AutomaticFailoverStatus"` + // The configuration endpoint for this replicaiton group. Use the configuration + // endpoint to connect to this replication group. + ConfigurationEndpoint *Endpoint `type:"structure"` + // The description of the replication group. Description *string `type:"string"` @@ -4922,6 +7604,26 @@ type ReplicationGroup struct { // The identifier for the replication group. ReplicationGroupId *string `type:"string"` + // The number of days for which ElastiCache retains automatic cache cluster + // snapshots before deleting them. For example, if you set SnapshotRetentionLimit + // to 5, a snapshot that was taken today is retained for 5 days before being + // deleted. + // + // If the value of SnapshotRetentionLimit is set to zero (0), backups are + // turned off. + SnapshotRetentionLimit *int64 `type:"integer"` + + // The daily time range (in UTC) during which ElastiCache begins taking a daily + // snapshot of your node group (shard). + // + // Example: 05:00-09:00 + // + // If you do not specify this parameter, ElastiCache automatically chooses + // an appropriate time range. + // + // Note: This parameter is only valid if the Engine parameter is redis. + SnapshotWindow *string `type:"string"` + // The cache cluster ID that is used as the daily snapshot source for the replication // group. SnapshottingClusterId *string `type:"string"` @@ -4940,19 +7642,23 @@ func (s ReplicationGroup) GoString() string { return s.String() } -// The settings to be applied to the replication group, either immediately or -// during the next maintenance window. +// The settings to be applied to the Redis replication group, either immediately +// or during the next maintenance window. type ReplicationGroupPendingModifiedValues struct { _ struct{} `type:"structure"` - // Indicates the status of Multi-AZ for this replication group. + // Indicates the status of Multi-AZ for this Redis replication group. + // + // ElastiCache Multi-AZ replication groups are not supported on: // - // ElastiCache Multi-AZ replication groups are not supported on: + // Redis versions earlier than 2.8.6. // - // Redis versions earlier than 2.8.6. T1 and T2 cache node types. + // Redis (cluster mode disabled):T1 and T2 cache node types. + // + // Redis (cluster mode enabled): T1 node types. AutomaticFailoverStatus *string `type:"string" enum:"PendingAutomaticFailoverStatus"` - // The primary cluster ID which will be applied immediately (if --apply-immediately + // The primary cluster ID that is applied immediately (if --apply-immediately // was specified), or during the next maintenance window. PrimaryClusterId *string `type:"string"` } @@ -4967,7 +7673,7 @@ func (s ReplicationGroupPendingModifiedValues) GoString() string { return s.String() } -// Represents the output of a PurchaseReservedCacheNodesOffering action. +// Represents the output of a PurchaseReservedCacheNodesOffering operation. type ReservedCacheNode struct { _ struct{} `type:"structure"` @@ -4978,21 +7684,40 @@ type ReservedCacheNode struct { // // Valid node types are as follows: // - // General purpose: Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, - // cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge Previous - // generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, - // cache.m1.xlarge Compute optimized: cache.c1.xlarge Memory optimized Current - // generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, - // cache.r3.8xlarge Previous generation: cache.m2.xlarge, cache.m2.2xlarge, - // cache.m2.4xlarge Notes: - // - // All t2 instances are created in an Amazon Virtual Private Cloud (VPC). - // Redis backup/restore is not supported for t2 instances. Redis Append-only - // files (AOF) functionality is not supported for t1 or t2 instances. For a - // complete listing of cache node types and specifications, see Amazon ElastiCache + // General purpose: + // + // Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, + // cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge, + // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge + // + // Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, + // cache.m1.large, cache.m1.xlarge + // + // Compute optimized: cache.c1.xlarge + // + // Memory optimized: + // + // Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, + // cache.r3.4xlarge, cache.r3.8xlarge + // + // Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge + // + // Notes: + // + // All T2 instances are created in an Amazon Virtual Private Cloud (Amazon + // VPC). + // + // Redis backup/restore is not supported for Redis (cluster mode disabled) + // T1 and T2 instances. Backup/restore is supported on Redis (cluster mode enabled) + // T2 instances. + // + // Redis Append-only files (AOF) functionality is not supported for T1 or + // T2 instances. + // + // For a complete listing of node types and specifications, see Amazon ElastiCache // Product Features and Details (http://aws.amazon.com/elasticache/details) - // and Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#CacheParameterGroups.Memcached.NodeSpecific) - // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.NodeSpecific). + // and either Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific) + // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific). CacheNodeType *string `type:"string"` // The duration of the reservation in seconds. @@ -5044,21 +7769,40 @@ type ReservedCacheNodesOffering struct { // // Valid node types are as follows: // - // General purpose: Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, - // cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge Previous - // generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, - // cache.m1.xlarge Compute optimized: cache.c1.xlarge Memory optimized Current - // generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, - // cache.r3.8xlarge Previous generation: cache.m2.xlarge, cache.m2.2xlarge, - // cache.m2.4xlarge Notes: - // - // All t2 instances are created in an Amazon Virtual Private Cloud (VPC). - // Redis backup/restore is not supported for t2 instances. Redis Append-only - // files (AOF) functionality is not supported for t1 or t2 instances. For a - // complete listing of cache node types and specifications, see Amazon ElastiCache + // General purpose: + // + // Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, + // cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge, + // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge + // + // Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, + // cache.m1.large, cache.m1.xlarge + // + // Compute optimized: cache.c1.xlarge + // + // Memory optimized: + // + // Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, + // cache.r3.4xlarge, cache.r3.8xlarge + // + // Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge + // + // Notes: + // + // All T2 instances are created in an Amazon Virtual Private Cloud (Amazon + // VPC). + // + // Redis backup/restore is not supported for Redis (cluster mode disabled) + // T1 and T2 instances. Backup/restore is supported on Redis (cluster mode enabled) + // T2 instances. + // + // Redis Append-only files (AOF) functionality is not supported for T1 or + // T2 instances. + // + // For a complete listing of node types and specifications, see Amazon ElastiCache // Product Features and Details (http://aws.amazon.com/elasticache/details) - // and Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#CacheParameterGroups.Memcached.NodeSpecific) - // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.NodeSpecific). + // and either Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific) + // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific). CacheNodeType *string `type:"string"` // The duration of the offering. in seconds. @@ -5093,19 +7837,23 @@ func (s ReservedCacheNodesOffering) GoString() string { return s.String() } -// Represents the input of a ResetCacheParameterGroup action. +// Represents the input of a ResetCacheParameterGroup operation. type ResetCacheParameterGroupInput struct { _ struct{} `type:"structure"` // The name of the cache parameter group to reset. + // + // CacheParameterGroupName is a required field CacheParameterGroupName *string `type:"string" required:"true"` - // An array of parameter names to be reset. If you are not resetting the entire - // cache parameter group, you must specify at least one parameter name. - ParameterNameValues []*ParameterNameValue `locationNameList:"ParameterNameValue" type:"list" required:"true"` + // An array of parameter names to reset to their default values. If ResetAllParameters + // is true, do not use ParameterNameValues. If ResetAllParameters is false, + // you must specify the name of at least one parameter to reset. + ParameterNameValues []*ParameterNameValue `locationNameList:"ParameterNameValue" type:"list"` - // If true, all parameters in the cache parameter group will be reset to default - // values. If false, no such action occurs. + // If true, all parameters in the cache parameter group are reset to their default + // values. If false, only the parameters listed by ParameterNameValues are reset + // to their default values. // // Valid values: true | false ResetAllParameters *bool `type:"boolean"` @@ -5127,9 +7875,6 @@ func (s *ResetCacheParameterGroupInput) Validate() error { if s.CacheParameterGroupName == nil { invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) } - if s.ParameterNameValues == nil { - invalidParams.Add(request.NewErrParamRequired("ParameterNameValues")) - } if invalidParams.Len() > 0 { return invalidParams @@ -5137,19 +7882,25 @@ func (s *ResetCacheParameterGroupInput) Validate() error { return nil } -// Represents the input of a RevokeCacheSecurityGroupIngress action. +// Represents the input of a RevokeCacheSecurityGroupIngress operation. type RevokeCacheSecurityGroupIngressInput struct { _ struct{} `type:"structure"` // The name of the cache security group to revoke ingress from. + // + // CacheSecurityGroupName is a required field CacheSecurityGroupName *string `type:"string" required:"true"` // The name of the Amazon EC2 security group to revoke access from. + // + // EC2SecurityGroupName is a required field EC2SecurityGroupName *string `type:"string" required:"true"` // The AWS account number of the Amazon EC2 security group owner. Note that // this is not the same thing as an AWS access key ID - you must provide a valid // AWS account number for this parameter. + // + // EC2SecurityGroupOwnerId is a required field EC2SecurityGroupOwnerId *string `type:"string" required:"true"` } @@ -5185,9 +7936,13 @@ func (s *RevokeCacheSecurityGroupIngressInput) Validate() error { type RevokeCacheSecurityGroupIngressOutput struct { _ struct{} `type:"structure"` - // Represents the output of one of the following actions: + // Represents the output of one of the following operations: + // + // AuthorizeCacheSecurityGroupIngress // - // AuthorizeCacheSecurityGroupIngress CreateCacheSecurityGroup RevokeCacheSecurityGroupIngress + // CreateCacheSecurityGroup + // + // RevokeCacheSecurityGroupIngress CacheSecurityGroup *CacheSecurityGroup `type:"structure"` } @@ -5224,14 +7979,25 @@ func (s SecurityGroupMembership) GoString() string { return s.String() } -// Represents a copy of an entire cache cluster as of the time when the snapshot -// was taken. +// Represents a copy of an entire Redis cache cluster as of the time when the +// snapshot was taken. type Snapshot struct { _ struct{} `type:"structure"` // This parameter is currently disabled. AutoMinorVersionUpgrade *bool `type:"boolean"` + // Indicates the status of Multi-AZ for the source replication group. + // + // ElastiCache Multi-AZ replication groups are not supported on: + // + // Redis versions earlier than 2.8.6. + // + // Redis (cluster mode disabled):T1 and T2 cache node types. + // + // Redis (cluster mode enabled): T1 node types. + AutomaticFailover *string `type:"string" enum:"AutomaticFailoverStatus"` + // The date and time when the source cache cluster was created. CacheClusterCreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"` @@ -5243,21 +8009,40 @@ type Snapshot struct { // // Valid node types are as follows: // - // General purpose: Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, - // cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge Previous - // generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, - // cache.m1.xlarge Compute optimized: cache.c1.xlarge Memory optimized Current - // generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, - // cache.r3.8xlarge Previous generation: cache.m2.xlarge, cache.m2.2xlarge, - // cache.m2.4xlarge Notes: - // - // All t2 instances are created in an Amazon Virtual Private Cloud (VPC). - // Redis backup/restore is not supported for t2 instances. Redis Append-only - // files (AOF) functionality is not supported for t1 or t2 instances. For a - // complete listing of cache node types and specifications, see Amazon ElastiCache + // General purpose: + // + // Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, + // cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge, + // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge + // + // Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, + // cache.m1.large, cache.m1.xlarge + // + // Compute optimized: cache.c1.xlarge + // + // Memory optimized: + // + // Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, + // cache.r3.4xlarge, cache.r3.8xlarge + // + // Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge + // + // Notes: + // + // All T2 instances are created in an Amazon Virtual Private Cloud (Amazon + // VPC). + // + // Redis backup/restore is not supported for Redis (cluster mode disabled) + // T1 and T2 instances. Backup/restore is supported on Redis (cluster mode enabled) + // T2 instances. + // + // Redis Append-only files (AOF) functionality is not supported for T1 or + // T2 instances. + // + // For a complete listing of node types and specifications, see Amazon ElastiCache // Product Features and Details (http://aws.amazon.com/elasticache/details) - // and Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#CacheParameterGroups.Memcached.NodeSpecific) - // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.NodeSpecific). + // and either Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#ParameterGroups.Memcached.NodeSpecific) + // or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#ParameterGroups.Redis.NodeSpecific). CacheNodeType *string `type:"string"` // The cache parameter group that is associated with the source cache cluster. @@ -5283,33 +8068,59 @@ type Snapshot struct { // this value must be between 1 and 20. NumCacheNodes *int64 `type:"integer"` + // The number of node groups (shards) in this snapshot. When restoring from + // a snapshot, the number of node groups (shards) in the snapshot and in the + // restored replication group must be the same. + NumNodeGroups *int64 `type:"integer"` + // The port number used by each cache nodes in the source cache cluster. Port *int64 `type:"integer"` // The name of the Availability Zone in which the source cache cluster is located. PreferredAvailabilityZone *string `type:"string"` - // Specifies the weekly time range during which maintenance on the cache cluster - // is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi - // (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid - // values for ddd are: + // Specifies the weekly time range during which maintenance on the cluster is + // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi + // (24H Clock UTC). The minimum maintenance window is a 60 minute period. + // + // Valid values for ddd are: // - // sun mon tue wed thu fri sat Example: sun:05:00-sun:09:00 + // sun + // + // mon + // + // tue + // + // wed + // + // thu + // + // fri + // + // sat + // + // Example: sun:23:00-mon:01:30 PreferredMaintenanceWindow *string `type:"string"` - // The name of a snapshot. For an automatic snapshot, the name is system-generated; - // for a manual snapshot, this is the user-provided name. + // A description of the source replication group. + ReplicationGroupDescription *string `type:"string"` + + // The unique identifier of the source replication group. + ReplicationGroupId *string `type:"string"` + + // The name of a snapshot. For an automatic snapshot, the name is system-generated. + // For a manual snapshot, this is the user-provided name. SnapshotName *string `type:"string"` - // For an automatic snapshot, the number of days for which ElastiCache will - // retain the snapshot before deleting it. + // For an automatic snapshot, the number of days for which ElastiCache retains + // the snapshot before deleting it. // // For manual snapshots, this field reflects the SnapshotRetentionLimit for // the source cache cluster when the snapshot was created. This field is otherwise // ignored: Manual snapshots do not expire, and can only be deleted using the - // DeleteSnapshot action. + // DeleteSnapshot operation. // - // ImportantIf the value of SnapshotRetentionLimit is set to zero (0), backups + // Important If the value of SnapshotRetentionLimit is set to zero (0), backups // are turned off. SnapshotRetentionLimit *int64 `type:"integer"` @@ -5391,7 +8202,7 @@ func (s Tag) GoString() string { } // Represents the output from the AddTagsToResource, ListTagsOnResource, and -// RemoveTagsFromResource actions. +// RemoveTagsFromResource operations. type TagListMessage struct { _ struct{} `type:"structure"` @@ -5410,37 +8221,56 @@ func (s TagListMessage) GoString() string { } const ( - // @enum AZMode + // AZModeSingleAz is a AZMode enum value AZModeSingleAz = "single-az" - // @enum AZMode + + // AZModeCrossAz is a AZMode enum value AZModeCrossAz = "cross-az" ) const ( - // @enum AutomaticFailoverStatus + // AutomaticFailoverStatusEnabled is a AutomaticFailoverStatus enum value AutomaticFailoverStatusEnabled = "enabled" - // @enum AutomaticFailoverStatus + + // AutomaticFailoverStatusDisabled is a AutomaticFailoverStatus enum value AutomaticFailoverStatusDisabled = "disabled" - // @enum AutomaticFailoverStatus + + // AutomaticFailoverStatusEnabling is a AutomaticFailoverStatus enum value AutomaticFailoverStatusEnabling = "enabling" - // @enum AutomaticFailoverStatus + + // AutomaticFailoverStatusDisabling is a AutomaticFailoverStatus enum value AutomaticFailoverStatusDisabling = "disabling" ) const ( - // @enum PendingAutomaticFailoverStatus + // ChangeTypeImmediate is a ChangeType enum value + ChangeTypeImmediate = "immediate" + + // ChangeTypeRequiresReboot is a ChangeType enum value + ChangeTypeRequiresReboot = "requires-reboot" +) + +const ( + // PendingAutomaticFailoverStatusEnabled is a PendingAutomaticFailoverStatus enum value PendingAutomaticFailoverStatusEnabled = "enabled" - // @enum PendingAutomaticFailoverStatus + + // PendingAutomaticFailoverStatusDisabled is a PendingAutomaticFailoverStatus enum value PendingAutomaticFailoverStatusDisabled = "disabled" ) const ( - // @enum SourceType + // SourceTypeCacheCluster is a SourceType enum value SourceTypeCacheCluster = "cache-cluster" - // @enum SourceType + + // SourceTypeCacheParameterGroup is a SourceType enum value SourceTypeCacheParameterGroup = "cache-parameter-group" - // @enum SourceType + + // SourceTypeCacheSecurityGroup is a SourceType enum value SourceTypeCacheSecurityGroup = "cache-security-group" - // @enum SourceType + + // SourceTypeCacheSubnetGroup is a SourceType enum value SourceTypeCacheSubnetGroup = "cache-subnet-group" + + // SourceTypeReplicationGroup is a SourceType enum value + SourceTypeReplicationGroup = "replication-group" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticache/service.go b/vendor/github.com/aws/aws-sdk-go/service/elasticache/service.go index 8e4cbb460ff6..c105b6161f79 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticache/service.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticache/service.go @@ -14,9 +14,9 @@ import ( // Amazon ElastiCache is a web service that makes it easier to set up, operate, // and scale a distributed cache in the cloud. // -// With ElastiCache, customers gain all of the benefits of a high-performance, -// in-memory cache with far less of the administrative burden of launching and -// managing a distributed cache. The service makes setup, scaling, and cluster +// With ElastiCache, customers get all of the benefits of a high-performance, +// in-memory cache with less of the administrative burden involved in launching +// and managing a distributed cache. The service makes setup, scaling, and cluster // failure handling much simpler than in a self-managed cache deployment. // // In addition, through integration with Amazon CloudWatch, customers get enhanced diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticache/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/elasticache/waiters.go index 0f594a65f1df..2e25f84d6006 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticache/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticache/waiters.go @@ -6,6 +6,10 @@ import ( "github.com/aws/aws-sdk-go/private/waiter" ) +// WaitUntilCacheClusterAvailable uses the Amazon ElastiCache API operation +// DescribeCacheClusters to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *ElastiCache) WaitUntilCacheClusterAvailable(input *DescribeCacheClustersInput) error { waiterCfg := waiter.Config{ Operation: "DescribeCacheClusters", @@ -53,6 +57,10 @@ func (c *ElastiCache) WaitUntilCacheClusterAvailable(input *DescribeCacheCluster return w.Wait() } +// WaitUntilCacheClusterDeleted uses the Amazon ElastiCache API operation +// DescribeCacheClusters to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *ElastiCache) WaitUntilCacheClusterDeleted(input *DescribeCacheClustersInput) error { waiterCfg := waiter.Config{ Operation: "DescribeCacheClusters", @@ -118,6 +126,10 @@ func (c *ElastiCache) WaitUntilCacheClusterDeleted(input *DescribeCacheClustersI return w.Wait() } +// WaitUntilReplicationGroupAvailable uses the Amazon ElastiCache API operation +// DescribeReplicationGroups to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *ElastiCache) WaitUntilReplicationGroupAvailable(input *DescribeReplicationGroupsInput) error { waiterCfg := waiter.Config{ Operation: "DescribeReplicationGroups", @@ -147,6 +159,10 @@ func (c *ElastiCache) WaitUntilReplicationGroupAvailable(input *DescribeReplicat return w.Wait() } +// WaitUntilReplicationGroupDeleted uses the Amazon ElastiCache API operation +// DescribeReplicationGroups to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *ElastiCache) WaitUntilReplicationGroupDeleted(input *DescribeReplicationGroupsInput) error { waiterCfg := waiter.Config{ Operation: "DescribeReplicationGroups", diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go b/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go index 760a82b49b52..b01fda8c450a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go @@ -15,7 +15,30 @@ import ( const opAbortEnvironmentUpdate = "AbortEnvironmentUpdate" -// AbortEnvironmentUpdateRequest generates a request for the AbortEnvironmentUpdate operation. +// AbortEnvironmentUpdateRequest generates a "aws/request.Request" representing the +// client's request for the AbortEnvironmentUpdate operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AbortEnvironmentUpdate for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AbortEnvironmentUpdate method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AbortEnvironmentUpdateRequest method. +// req, resp := client.AbortEnvironmentUpdateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) AbortEnvironmentUpdateRequest(input *AbortEnvironmentUpdateInput) (req *request.Request, output *AbortEnvironmentUpdateOutput) { op := &request.Operation{ Name: opAbortEnvironmentUpdate, @@ -35,8 +58,23 @@ func (c *ElasticBeanstalk) AbortEnvironmentUpdateRequest(input *AbortEnvironment return } +// AbortEnvironmentUpdate API operation for AWS Elastic Beanstalk. +// // Cancels in-progress environment configuration update or application version // deployment. +// +// 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 Elastic Beanstalk's +// API operation AbortEnvironmentUpdate for usage and error information. +// +// Returned Error Codes: +// * InsufficientPrivilegesException +// The specified account does not have sufficient privileges for one of more +// AWS services. +// func (c *ElasticBeanstalk) AbortEnvironmentUpdate(input *AbortEnvironmentUpdateInput) (*AbortEnvironmentUpdateOutput, error) { req, out := c.AbortEnvironmentUpdateRequest(input) err := req.Send() @@ -45,7 +83,30 @@ func (c *ElasticBeanstalk) AbortEnvironmentUpdate(input *AbortEnvironmentUpdateI const opApplyEnvironmentManagedAction = "ApplyEnvironmentManagedAction" -// ApplyEnvironmentManagedActionRequest generates a request for the ApplyEnvironmentManagedAction operation. +// ApplyEnvironmentManagedActionRequest generates a "aws/request.Request" representing the +// client's request for the ApplyEnvironmentManagedAction operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ApplyEnvironmentManagedAction for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ApplyEnvironmentManagedAction method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ApplyEnvironmentManagedActionRequest method. +// req, resp := client.ApplyEnvironmentManagedActionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) ApplyEnvironmentManagedActionRequest(input *ApplyEnvironmentManagedActionInput) (req *request.Request, output *ApplyEnvironmentManagedActionOutput) { op := &request.Operation{ Name: opApplyEnvironmentManagedAction, @@ -63,9 +124,26 @@ func (c *ElasticBeanstalk) ApplyEnvironmentManagedActionRequest(input *ApplyEnvi return } +// ApplyEnvironmentManagedAction API operation for AWS Elastic Beanstalk. +// // Applies a scheduled managed action immediately. A managed action can be applied // only if its status is Scheduled. Get the status and action ID of a managed // action with DescribeEnvironmentManagedActions. +// +// 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 Elastic Beanstalk's +// API operation ApplyEnvironmentManagedAction for usage and error information. +// +// Returned Error Codes: +// * ServiceException +// A generic service exception has occurred. +// +// * ManagedActionInvalidStateException +// Cannot modify the managed action in its current state. +// func (c *ElasticBeanstalk) ApplyEnvironmentManagedAction(input *ApplyEnvironmentManagedActionInput) (*ApplyEnvironmentManagedActionOutput, error) { req, out := c.ApplyEnvironmentManagedActionRequest(input) err := req.Send() @@ -74,7 +152,30 @@ func (c *ElasticBeanstalk) ApplyEnvironmentManagedAction(input *ApplyEnvironment const opCheckDNSAvailability = "CheckDNSAvailability" -// CheckDNSAvailabilityRequest generates a request for the CheckDNSAvailability operation. +// CheckDNSAvailabilityRequest generates a "aws/request.Request" representing the +// client's request for the CheckDNSAvailability operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CheckDNSAvailability for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CheckDNSAvailability method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CheckDNSAvailabilityRequest method. +// req, resp := client.CheckDNSAvailabilityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) CheckDNSAvailabilityRequest(input *CheckDNSAvailabilityInput) (req *request.Request, output *CheckDNSAvailabilityOutput) { op := &request.Operation{ Name: opCheckDNSAvailability, @@ -92,7 +193,16 @@ func (c *ElasticBeanstalk) CheckDNSAvailabilityRequest(input *CheckDNSAvailabili return } +// CheckDNSAvailability API operation for AWS Elastic Beanstalk. +// // Checks if the specified CNAME is available. +// +// 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 Elastic Beanstalk's +// API operation CheckDNSAvailability for usage and error information. func (c *ElasticBeanstalk) CheckDNSAvailability(input *CheckDNSAvailabilityInput) (*CheckDNSAvailabilityOutput, error) { req, out := c.CheckDNSAvailabilityRequest(input) err := req.Send() @@ -101,7 +211,30 @@ func (c *ElasticBeanstalk) CheckDNSAvailability(input *CheckDNSAvailabilityInput const opComposeEnvironments = "ComposeEnvironments" -// ComposeEnvironmentsRequest generates a request for the ComposeEnvironments operation. +// ComposeEnvironmentsRequest generates a "aws/request.Request" representing the +// client's request for the ComposeEnvironments operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ComposeEnvironments for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ComposeEnvironments method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ComposeEnvironmentsRequest method. +// req, resp := client.ComposeEnvironmentsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) ComposeEnvironmentsRequest(input *ComposeEnvironmentsInput) (req *request.Request, output *EnvironmentDescriptionsMessage) { op := &request.Operation{ Name: opComposeEnvironments, @@ -119,6 +252,8 @@ func (c *ElasticBeanstalk) ComposeEnvironmentsRequest(input *ComposeEnvironments return } +// ComposeEnvironments API operation for AWS Elastic Beanstalk. +// // Create or update a group of environments that each run a separate component // of a single application. Takes a list of version labels that specify application // source bundles for each of the environments to create or update. The name @@ -126,6 +261,22 @@ func (c *ElasticBeanstalk) ComposeEnvironmentsRequest(input *ComposeEnvironments // source bundles in an environment manifest named env.yaml. See Compose Environments // (http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-mgmt-compose.html) // for details. +// +// 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 Elastic Beanstalk's +// API operation ComposeEnvironments for usage and error information. +// +// Returned Error Codes: +// * TooManyEnvironmentsException +// The specified account has reached its limit of environments. +// +// * InsufficientPrivilegesException +// The specified account does not have sufficient privileges for one of more +// AWS services. +// func (c *ElasticBeanstalk) ComposeEnvironments(input *ComposeEnvironmentsInput) (*EnvironmentDescriptionsMessage, error) { req, out := c.ComposeEnvironmentsRequest(input) err := req.Send() @@ -134,7 +285,30 @@ func (c *ElasticBeanstalk) ComposeEnvironments(input *ComposeEnvironmentsInput) const opCreateApplication = "CreateApplication" -// CreateApplicationRequest generates a request for the CreateApplication operation. +// CreateApplicationRequest generates a "aws/request.Request" representing the +// client's request for the CreateApplication operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateApplication for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateApplication method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateApplicationRequest method. +// req, resp := client.CreateApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) CreateApplicationRequest(input *CreateApplicationInput) (req *request.Request, output *ApplicationDescriptionMessage) { op := &request.Operation{ Name: opCreateApplication, @@ -152,8 +326,22 @@ func (c *ElasticBeanstalk) CreateApplicationRequest(input *CreateApplicationInpu return } +// CreateApplication API operation for AWS Elastic Beanstalk. +// // Creates an application that has one configuration template named default // and no application versions. +// +// 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 Elastic Beanstalk's +// API operation CreateApplication for usage and error information. +// +// Returned Error Codes: +// * TooManyApplicationsException +// The specified account has reached its limit of applications. +// func (c *ElasticBeanstalk) CreateApplication(input *CreateApplicationInput) (*ApplicationDescriptionMessage, error) { req, out := c.CreateApplicationRequest(input) err := req.Send() @@ -162,7 +350,30 @@ func (c *ElasticBeanstalk) CreateApplication(input *CreateApplicationInput) (*Ap const opCreateApplicationVersion = "CreateApplicationVersion" -// CreateApplicationVersionRequest generates a request for the CreateApplicationVersion operation. +// CreateApplicationVersionRequest generates a "aws/request.Request" representing the +// client's request for the CreateApplicationVersion operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateApplicationVersion for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateApplicationVersion method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateApplicationVersionRequest method. +// req, resp := client.CreateApplicationVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) CreateApplicationVersionRequest(input *CreateApplicationVersionInput) (req *request.Request, output *ApplicationVersionDescriptionMessage) { op := &request.Operation{ Name: opCreateApplicationVersion, @@ -180,12 +391,37 @@ func (c *ElasticBeanstalk) CreateApplicationVersionRequest(input *CreateApplicat return } +// CreateApplicationVersion API operation for AWS Elastic Beanstalk. +// // Creates an application version for the specified application. // -// Once you create an application version with a specified Amazon S3 bucket +// Once you create an application version with a specified Amazon S3 bucket // and key location, you cannot change that Amazon S3 location. If you change // the Amazon S3 location, you receive an exception when you attempt to launch // an environment from the application version. +// +// 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 Elastic Beanstalk's +// API operation CreateApplicationVersion for usage and error information. +// +// Returned Error Codes: +// * TooManyApplicationsException +// The specified account has reached its limit of applications. +// +// * TooManyApplicationVersionsException +// The specified account has reached its limit of application versions. +// +// * InsufficientPrivilegesException +// The specified account does not have sufficient privileges for one of more +// AWS services. +// +// * S3LocationNotInServiceRegionException +// The specified S3 bucket does not belong to the S3 region in which the service +// is running. +// func (c *ElasticBeanstalk) CreateApplicationVersion(input *CreateApplicationVersionInput) (*ApplicationVersionDescriptionMessage, error) { req, out := c.CreateApplicationVersionRequest(input) err := req.Send() @@ -194,7 +430,30 @@ func (c *ElasticBeanstalk) CreateApplicationVersion(input *CreateApplicationVers const opCreateConfigurationTemplate = "CreateConfigurationTemplate" -// CreateConfigurationTemplateRequest generates a request for the CreateConfigurationTemplate operation. +// CreateConfigurationTemplateRequest generates a "aws/request.Request" representing the +// client's request for the CreateConfigurationTemplate operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateConfigurationTemplate for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateConfigurationTemplate method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateConfigurationTemplateRequest method. +// req, resp := client.CreateConfigurationTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) CreateConfigurationTemplateRequest(input *CreateConfigurationTemplateInput) (req *request.Request, output *ConfigurationSettingsDescription) { op := &request.Operation{ Name: opCreateConfigurationTemplate, @@ -212,13 +471,38 @@ func (c *ElasticBeanstalk) CreateConfigurationTemplateRequest(input *CreateConfi return } +// CreateConfigurationTemplate API operation for AWS Elastic Beanstalk. +// // Creates a configuration template. Templates are associated with a specific // application and are used to deploy different versions of the application // with the same configuration settings. // // Related Topics // -// DescribeConfigurationOptions DescribeConfigurationSettings ListAvailableSolutionStacks +// DescribeConfigurationOptions +// +// DescribeConfigurationSettings +// +// ListAvailableSolutionStacks +// +// 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 Elastic Beanstalk's +// API operation CreateConfigurationTemplate for usage and error information. +// +// Returned Error Codes: +// * InsufficientPrivilegesException +// The specified account does not have sufficient privileges for one of more +// AWS services. +// +// * TooManyBucketsException +// The specified account has reached its limit of Amazon S3 buckets. +// +// * TooManyConfigurationTemplatesException +// The specified account has reached its limit of configuration templates. +// func (c *ElasticBeanstalk) CreateConfigurationTemplate(input *CreateConfigurationTemplateInput) (*ConfigurationSettingsDescription, error) { req, out := c.CreateConfigurationTemplateRequest(input) err := req.Send() @@ -227,7 +511,30 @@ func (c *ElasticBeanstalk) CreateConfigurationTemplate(input *CreateConfiguratio const opCreateEnvironment = "CreateEnvironment" -// CreateEnvironmentRequest generates a request for the CreateEnvironment operation. +// CreateEnvironmentRequest generates a "aws/request.Request" representing the +// client's request for the CreateEnvironment operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateEnvironment for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateEnvironment method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateEnvironmentRequest method. +// req, resp := client.CreateEnvironmentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) CreateEnvironmentRequest(input *CreateEnvironmentInput) (req *request.Request, output *EnvironmentDescription) { op := &request.Operation{ Name: opCreateEnvironment, @@ -245,8 +552,26 @@ func (c *ElasticBeanstalk) CreateEnvironmentRequest(input *CreateEnvironmentInpu return } +// CreateEnvironment API operation for AWS Elastic Beanstalk. +// // Launches an environment for the specified application using the specified // configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elastic Beanstalk's +// API operation CreateEnvironment for usage and error information. +// +// Returned Error Codes: +// * TooManyEnvironmentsException +// The specified account has reached its limit of environments. +// +// * InsufficientPrivilegesException +// The specified account does not have sufficient privileges for one of more +// AWS services. +// func (c *ElasticBeanstalk) CreateEnvironment(input *CreateEnvironmentInput) (*EnvironmentDescription, error) { req, out := c.CreateEnvironmentRequest(input) err := req.Send() @@ -255,7 +580,30 @@ func (c *ElasticBeanstalk) CreateEnvironment(input *CreateEnvironmentInput) (*En const opCreateStorageLocation = "CreateStorageLocation" -// CreateStorageLocationRequest generates a request for the CreateStorageLocation operation. +// CreateStorageLocationRequest generates a "aws/request.Request" representing the +// client's request for the CreateStorageLocation operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateStorageLocation for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateStorageLocation method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateStorageLocationRequest method. +// req, resp := client.CreateStorageLocationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) CreateStorageLocationRequest(input *CreateStorageLocationInput) (req *request.Request, output *CreateStorageLocationOutput) { op := &request.Operation{ Name: opCreateStorageLocation, @@ -273,9 +621,30 @@ func (c *ElasticBeanstalk) CreateStorageLocationRequest(input *CreateStorageLoca return } +// CreateStorageLocation API operation for AWS Elastic Beanstalk. +// // Creates the Amazon S3 storage location for the account. // -// This location is used to store user log files. +// This location is used to store user log files. +// +// 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 Elastic Beanstalk's +// API operation CreateStorageLocation for usage and error information. +// +// Returned Error Codes: +// * TooManyBucketsException +// The specified account has reached its limit of Amazon S3 buckets. +// +// * S3SubscriptionRequiredException +// The specified account does not have a subscription to Amazon S3. +// +// * InsufficientPrivilegesException +// The specified account does not have sufficient privileges for one of more +// AWS services. +// func (c *ElasticBeanstalk) CreateStorageLocation(input *CreateStorageLocationInput) (*CreateStorageLocationOutput, error) { req, out := c.CreateStorageLocationRequest(input) err := req.Send() @@ -284,7 +653,30 @@ func (c *ElasticBeanstalk) CreateStorageLocation(input *CreateStorageLocationInp const opDeleteApplication = "DeleteApplication" -// DeleteApplicationRequest generates a request for the DeleteApplication operation. +// DeleteApplicationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteApplication operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteApplication for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteApplication method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteApplicationRequest method. +// req, resp := client.DeleteApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) DeleteApplicationRequest(input *DeleteApplicationInput) (req *request.Request, output *DeleteApplicationOutput) { op := &request.Operation{ Name: opDeleteApplication, @@ -304,11 +696,26 @@ func (c *ElasticBeanstalk) DeleteApplicationRequest(input *DeleteApplicationInpu return } +// DeleteApplication API operation for AWS Elastic Beanstalk. +// // Deletes the specified application along with all associated versions and // configurations. The application versions will not be deleted from your Amazon // S3 bucket. // -// You cannot delete an application that has a running environment. +// You cannot delete an application that has a running environment. +// +// 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 Elastic Beanstalk's +// API operation DeleteApplication for usage and error information. +// +// Returned Error Codes: +// * OperationInProgressFailure +// Unable to perform the specified operation because another operation that +// effects an element in this activity is already in progress. +// func (c *ElasticBeanstalk) DeleteApplication(input *DeleteApplicationInput) (*DeleteApplicationOutput, error) { req, out := c.DeleteApplicationRequest(input) err := req.Send() @@ -317,7 +724,30 @@ func (c *ElasticBeanstalk) DeleteApplication(input *DeleteApplicationInput) (*De const opDeleteApplicationVersion = "DeleteApplicationVersion" -// DeleteApplicationVersionRequest generates a request for the DeleteApplicationVersion operation. +// DeleteApplicationVersionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteApplicationVersion operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteApplicationVersion for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteApplicationVersion method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteApplicationVersionRequest method. +// req, resp := client.DeleteApplicationVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) DeleteApplicationVersionRequest(input *DeleteApplicationVersionInput) (req *request.Request, output *DeleteApplicationVersionOutput) { op := &request.Operation{ Name: opDeleteApplicationVersion, @@ -337,10 +767,37 @@ func (c *ElasticBeanstalk) DeleteApplicationVersionRequest(input *DeleteApplicat return } +// DeleteApplicationVersion API operation for AWS Elastic Beanstalk. +// // Deletes the specified version from the specified application. // -// You cannot delete an application version that is associated with a running +// You cannot delete an application version that is associated with a running // environment. +// +// 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 Elastic Beanstalk's +// API operation DeleteApplicationVersion for usage and error information. +// +// Returned Error Codes: +// * SourceBundleDeletionFailure +// Unable to delete the Amazon S3 source bundle associated with the application +// version. The application version was deleted successfully. +// +// * InsufficientPrivilegesException +// The specified account does not have sufficient privileges for one of more +// AWS services. +// +// * OperationInProgressFailure +// Unable to perform the specified operation because another operation that +// effects an element in this activity is already in progress. +// +// * S3LocationNotInServiceRegionException +// The specified S3 bucket does not belong to the S3 region in which the service +// is running. +// func (c *ElasticBeanstalk) DeleteApplicationVersion(input *DeleteApplicationVersionInput) (*DeleteApplicationVersionOutput, error) { req, out := c.DeleteApplicationVersionRequest(input) err := req.Send() @@ -349,7 +806,30 @@ func (c *ElasticBeanstalk) DeleteApplicationVersion(input *DeleteApplicationVers const opDeleteConfigurationTemplate = "DeleteConfigurationTemplate" -// DeleteConfigurationTemplateRequest generates a request for the DeleteConfigurationTemplate operation. +// DeleteConfigurationTemplateRequest generates a "aws/request.Request" representing the +// client's request for the DeleteConfigurationTemplate operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteConfigurationTemplate for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteConfigurationTemplate method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteConfigurationTemplateRequest method. +// req, resp := client.DeleteConfigurationTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) DeleteConfigurationTemplateRequest(input *DeleteConfigurationTemplateInput) (req *request.Request, output *DeleteConfigurationTemplateOutput) { op := &request.Operation{ Name: opDeleteConfigurationTemplate, @@ -369,11 +849,26 @@ func (c *ElasticBeanstalk) DeleteConfigurationTemplateRequest(input *DeleteConfi return } +// DeleteConfigurationTemplate API operation for AWS Elastic Beanstalk. +// // Deletes the specified configuration template. // -// When you launch an environment using a configuration template, the environment +// When you launch an environment using a configuration template, the environment // gets a copy of the template. You can delete or modify the environment's copy // of the template without affecting the running environment. +// +// 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 Elastic Beanstalk's +// API operation DeleteConfigurationTemplate for usage and error information. +// +// Returned Error Codes: +// * OperationInProgressFailure +// Unable to perform the specified operation because another operation that +// effects an element in this activity is already in progress. +// func (c *ElasticBeanstalk) DeleteConfigurationTemplate(input *DeleteConfigurationTemplateInput) (*DeleteConfigurationTemplateOutput, error) { req, out := c.DeleteConfigurationTemplateRequest(input) err := req.Send() @@ -382,7 +877,30 @@ func (c *ElasticBeanstalk) DeleteConfigurationTemplate(input *DeleteConfiguratio const opDeleteEnvironmentConfiguration = "DeleteEnvironmentConfiguration" -// DeleteEnvironmentConfigurationRequest generates a request for the DeleteEnvironmentConfiguration operation. +// DeleteEnvironmentConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteEnvironmentConfiguration operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteEnvironmentConfiguration for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteEnvironmentConfiguration method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteEnvironmentConfigurationRequest method. +// req, resp := client.DeleteEnvironmentConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) DeleteEnvironmentConfigurationRequest(input *DeleteEnvironmentConfigurationInput) (req *request.Request, output *DeleteEnvironmentConfigurationOutput) { op := &request.Operation{ Name: opDeleteEnvironmentConfiguration, @@ -402,6 +920,8 @@ func (c *ElasticBeanstalk) DeleteEnvironmentConfigurationRequest(input *DeleteEn return } +// DeleteEnvironmentConfiguration API operation for AWS Elastic Beanstalk. +// // Deletes the draft configuration associated with the running environment. // // Updating a running environment with any configuration changes creates a @@ -410,6 +930,13 @@ func (c *ElasticBeanstalk) DeleteEnvironmentConfigurationRequest(input *DeleteEn // for the draft configuration indicates whether the deployment is in process // or has failed. The draft configuration remains in existence until it is deleted // with this action. +// +// 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 Elastic Beanstalk's +// API operation DeleteEnvironmentConfiguration for usage and error information. func (c *ElasticBeanstalk) DeleteEnvironmentConfiguration(input *DeleteEnvironmentConfigurationInput) (*DeleteEnvironmentConfigurationOutput, error) { req, out := c.DeleteEnvironmentConfigurationRequest(input) err := req.Send() @@ -418,7 +945,30 @@ func (c *ElasticBeanstalk) DeleteEnvironmentConfiguration(input *DeleteEnvironme const opDescribeApplicationVersions = "DescribeApplicationVersions" -// DescribeApplicationVersionsRequest generates a request for the DescribeApplicationVersions operation. +// DescribeApplicationVersionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeApplicationVersions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeApplicationVersions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeApplicationVersions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeApplicationVersionsRequest method. +// req, resp := client.DescribeApplicationVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) DescribeApplicationVersionsRequest(input *DescribeApplicationVersionsInput) (req *request.Request, output *DescribeApplicationVersionsOutput) { op := &request.Operation{ Name: opDescribeApplicationVersions, @@ -436,8 +986,17 @@ func (c *ElasticBeanstalk) DescribeApplicationVersionsRequest(input *DescribeApp return } +// DescribeApplicationVersions API operation for AWS Elastic Beanstalk. +// // Retrieve a list of application versions stored in your AWS Elastic Beanstalk // storage 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 +// the error. +// +// See the AWS API reference guide for AWS Elastic Beanstalk's +// API operation DescribeApplicationVersions for usage and error information. func (c *ElasticBeanstalk) DescribeApplicationVersions(input *DescribeApplicationVersionsInput) (*DescribeApplicationVersionsOutput, error) { req, out := c.DescribeApplicationVersionsRequest(input) err := req.Send() @@ -446,7 +1005,30 @@ func (c *ElasticBeanstalk) DescribeApplicationVersions(input *DescribeApplicatio const opDescribeApplications = "DescribeApplications" -// DescribeApplicationsRequest generates a request for the DescribeApplications operation. +// DescribeApplicationsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeApplications operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeApplications for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeApplications method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeApplicationsRequest method. +// req, resp := client.DescribeApplicationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) DescribeApplicationsRequest(input *DescribeApplicationsInput) (req *request.Request, output *DescribeApplicationsOutput) { op := &request.Operation{ Name: opDescribeApplications, @@ -464,7 +1046,16 @@ func (c *ElasticBeanstalk) DescribeApplicationsRequest(input *DescribeApplicatio return } +// DescribeApplications API operation for AWS Elastic Beanstalk. +// // Returns the descriptions of existing applications. +// +// 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 Elastic Beanstalk's +// API operation DescribeApplications for usage and error information. func (c *ElasticBeanstalk) DescribeApplications(input *DescribeApplicationsInput) (*DescribeApplicationsOutput, error) { req, out := c.DescribeApplicationsRequest(input) err := req.Send() @@ -473,7 +1064,30 @@ func (c *ElasticBeanstalk) DescribeApplications(input *DescribeApplicationsInput const opDescribeConfigurationOptions = "DescribeConfigurationOptions" -// DescribeConfigurationOptionsRequest generates a request for the DescribeConfigurationOptions operation. +// DescribeConfigurationOptionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeConfigurationOptions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeConfigurationOptions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeConfigurationOptions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeConfigurationOptionsRequest method. +// req, resp := client.DescribeConfigurationOptionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) DescribeConfigurationOptionsRequest(input *DescribeConfigurationOptionsInput) (req *request.Request, output *DescribeConfigurationOptionsOutput) { op := &request.Operation{ Name: opDescribeConfigurationOptions, @@ -491,11 +1105,25 @@ func (c *ElasticBeanstalk) DescribeConfigurationOptionsRequest(input *DescribeCo return } +// DescribeConfigurationOptions API operation for AWS Elastic Beanstalk. +// // Describes the configuration options that are used in a particular configuration // template or environment, or that a specified solution stack defines. The // description includes the values the options, their default values, and an // indication of the required action on a running environment if an option value // is changed. +// +// 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 Elastic Beanstalk's +// API operation DescribeConfigurationOptions for usage and error information. +// +// Returned Error Codes: +// * TooManyBucketsException +// The specified account has reached its limit of Amazon S3 buckets. +// func (c *ElasticBeanstalk) DescribeConfigurationOptions(input *DescribeConfigurationOptionsInput) (*DescribeConfigurationOptionsOutput, error) { req, out := c.DescribeConfigurationOptionsRequest(input) err := req.Send() @@ -504,7 +1132,30 @@ func (c *ElasticBeanstalk) DescribeConfigurationOptions(input *DescribeConfigura const opDescribeConfigurationSettings = "DescribeConfigurationSettings" -// DescribeConfigurationSettingsRequest generates a request for the DescribeConfigurationSettings operation. +// DescribeConfigurationSettingsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeConfigurationSettings operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeConfigurationSettings for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeConfigurationSettings method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeConfigurationSettingsRequest method. +// req, resp := client.DescribeConfigurationSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) DescribeConfigurationSettingsRequest(input *DescribeConfigurationSettingsInput) (req *request.Request, output *DescribeConfigurationSettingsOutput) { op := &request.Operation{ Name: opDescribeConfigurationSettings, @@ -522,19 +1173,33 @@ func (c *ElasticBeanstalk) DescribeConfigurationSettingsRequest(input *DescribeC return } +// DescribeConfigurationSettings API operation for AWS Elastic Beanstalk. +// // Returns a description of the settings for the specified configuration set, // that is, either a configuration template or the configuration set associated // with a running environment. // -// When describing the settings for the configuration set associated with -// a running environment, it is possible to receive two sets of setting descriptions. +// When describing the settings for the configuration set associated with a +// running environment, it is possible to receive two sets of setting descriptions. // One is the deployed configuration set, and the other is a draft configuration // of an environment that is either in the process of deployment or that failed // to deploy. // // Related Topics // -// DeleteEnvironmentConfiguration +// DeleteEnvironmentConfiguration +// +// 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 Elastic Beanstalk's +// API operation DescribeConfigurationSettings for usage and error information. +// +// Returned Error Codes: +// * TooManyBucketsException +// The specified account has reached its limit of Amazon S3 buckets. +// func (c *ElasticBeanstalk) DescribeConfigurationSettings(input *DescribeConfigurationSettingsInput) (*DescribeConfigurationSettingsOutput, error) { req, out := c.DescribeConfigurationSettingsRequest(input) err := req.Send() @@ -543,7 +1208,30 @@ func (c *ElasticBeanstalk) DescribeConfigurationSettings(input *DescribeConfigur const opDescribeEnvironmentHealth = "DescribeEnvironmentHealth" -// DescribeEnvironmentHealthRequest generates a request for the DescribeEnvironmentHealth operation. +// DescribeEnvironmentHealthRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEnvironmentHealth operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeEnvironmentHealth for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeEnvironmentHealth method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeEnvironmentHealthRequest method. +// req, resp := client.DescribeEnvironmentHealthRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) DescribeEnvironmentHealthRequest(input *DescribeEnvironmentHealthInput) (req *request.Request, output *DescribeEnvironmentHealthOutput) { op := &request.Operation{ Name: opDescribeEnvironmentHealth, @@ -561,9 +1249,27 @@ func (c *ElasticBeanstalk) DescribeEnvironmentHealthRequest(input *DescribeEnvir return } +// DescribeEnvironmentHealth API operation for AWS Elastic Beanstalk. +// // Returns information about the overall health of the specified environment. // The DescribeEnvironmentHealth operation is only available with AWS Elastic // Beanstalk Enhanced Health. +// +// 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 Elastic Beanstalk's +// API operation DescribeEnvironmentHealth for usage and error information. +// +// Returned Error Codes: +// * InvalidRequestException +// One or more input parameters is not valid. Please correct the input parameters +// and try the operation again. +// +// * ServiceException +// A generic service exception has occurred. +// func (c *ElasticBeanstalk) DescribeEnvironmentHealth(input *DescribeEnvironmentHealthInput) (*DescribeEnvironmentHealthOutput, error) { req, out := c.DescribeEnvironmentHealthRequest(input) err := req.Send() @@ -572,7 +1278,30 @@ func (c *ElasticBeanstalk) DescribeEnvironmentHealth(input *DescribeEnvironmentH const opDescribeEnvironmentManagedActionHistory = "DescribeEnvironmentManagedActionHistory" -// DescribeEnvironmentManagedActionHistoryRequest generates a request for the DescribeEnvironmentManagedActionHistory operation. +// DescribeEnvironmentManagedActionHistoryRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEnvironmentManagedActionHistory operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeEnvironmentManagedActionHistory for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeEnvironmentManagedActionHistory method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeEnvironmentManagedActionHistoryRequest method. +// req, resp := client.DescribeEnvironmentManagedActionHistoryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) DescribeEnvironmentManagedActionHistoryRequest(input *DescribeEnvironmentManagedActionHistoryInput) (req *request.Request, output *DescribeEnvironmentManagedActionHistoryOutput) { op := &request.Operation{ Name: opDescribeEnvironmentManagedActionHistory, @@ -590,7 +1319,21 @@ func (c *ElasticBeanstalk) DescribeEnvironmentManagedActionHistoryRequest(input return } +// DescribeEnvironmentManagedActionHistory API operation for AWS Elastic Beanstalk. +// // Lists an environment's completed and failed managed actions. +// +// 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 Elastic Beanstalk's +// API operation DescribeEnvironmentManagedActionHistory for usage and error information. +// +// Returned Error Codes: +// * ServiceException +// A generic service exception has occurred. +// func (c *ElasticBeanstalk) DescribeEnvironmentManagedActionHistory(input *DescribeEnvironmentManagedActionHistoryInput) (*DescribeEnvironmentManagedActionHistoryOutput, error) { req, out := c.DescribeEnvironmentManagedActionHistoryRequest(input) err := req.Send() @@ -599,7 +1342,30 @@ func (c *ElasticBeanstalk) DescribeEnvironmentManagedActionHistory(input *Descri const opDescribeEnvironmentManagedActions = "DescribeEnvironmentManagedActions" -// DescribeEnvironmentManagedActionsRequest generates a request for the DescribeEnvironmentManagedActions operation. +// DescribeEnvironmentManagedActionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEnvironmentManagedActions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeEnvironmentManagedActions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeEnvironmentManagedActions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeEnvironmentManagedActionsRequest method. +// req, resp := client.DescribeEnvironmentManagedActionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) DescribeEnvironmentManagedActionsRequest(input *DescribeEnvironmentManagedActionsInput) (req *request.Request, output *DescribeEnvironmentManagedActionsOutput) { op := &request.Operation{ Name: opDescribeEnvironmentManagedActions, @@ -617,7 +1383,21 @@ func (c *ElasticBeanstalk) DescribeEnvironmentManagedActionsRequest(input *Descr return } +// DescribeEnvironmentManagedActions API operation for AWS Elastic Beanstalk. +// // Lists an environment's upcoming and in-progress managed actions. +// +// 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 Elastic Beanstalk's +// API operation DescribeEnvironmentManagedActions for usage and error information. +// +// Returned Error Codes: +// * ServiceException +// A generic service exception has occurred. +// func (c *ElasticBeanstalk) DescribeEnvironmentManagedActions(input *DescribeEnvironmentManagedActionsInput) (*DescribeEnvironmentManagedActionsOutput, error) { req, out := c.DescribeEnvironmentManagedActionsRequest(input) err := req.Send() @@ -626,7 +1406,30 @@ func (c *ElasticBeanstalk) DescribeEnvironmentManagedActions(input *DescribeEnvi const opDescribeEnvironmentResources = "DescribeEnvironmentResources" -// DescribeEnvironmentResourcesRequest generates a request for the DescribeEnvironmentResources operation. +// DescribeEnvironmentResourcesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEnvironmentResources operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeEnvironmentResources for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeEnvironmentResources method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeEnvironmentResourcesRequest method. +// req, resp := client.DescribeEnvironmentResourcesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) DescribeEnvironmentResourcesRequest(input *DescribeEnvironmentResourcesInput) (req *request.Request, output *DescribeEnvironmentResourcesOutput) { op := &request.Operation{ Name: opDescribeEnvironmentResources, @@ -644,7 +1447,22 @@ func (c *ElasticBeanstalk) DescribeEnvironmentResourcesRequest(input *DescribeEn return } +// DescribeEnvironmentResources API operation for AWS Elastic Beanstalk. +// // Returns AWS resources for this environment. +// +// 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 Elastic Beanstalk's +// API operation DescribeEnvironmentResources for usage and error information. +// +// Returned Error Codes: +// * InsufficientPrivilegesException +// The specified account does not have sufficient privileges for one of more +// AWS services. +// func (c *ElasticBeanstalk) DescribeEnvironmentResources(input *DescribeEnvironmentResourcesInput) (*DescribeEnvironmentResourcesOutput, error) { req, out := c.DescribeEnvironmentResourcesRequest(input) err := req.Send() @@ -653,7 +1471,30 @@ func (c *ElasticBeanstalk) DescribeEnvironmentResources(input *DescribeEnvironme const opDescribeEnvironments = "DescribeEnvironments" -// DescribeEnvironmentsRequest generates a request for the DescribeEnvironments operation. +// DescribeEnvironmentsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEnvironments operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeEnvironments for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeEnvironments method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeEnvironmentsRequest method. +// req, resp := client.DescribeEnvironmentsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) DescribeEnvironmentsRequest(input *DescribeEnvironmentsInput) (req *request.Request, output *EnvironmentDescriptionsMessage) { op := &request.Operation{ Name: opDescribeEnvironments, @@ -671,7 +1512,16 @@ func (c *ElasticBeanstalk) DescribeEnvironmentsRequest(input *DescribeEnvironmen return } +// DescribeEnvironments API operation for AWS Elastic Beanstalk. +// // Returns descriptions for existing environments. +// +// 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 Elastic Beanstalk's +// API operation DescribeEnvironments for usage and error information. func (c *ElasticBeanstalk) DescribeEnvironments(input *DescribeEnvironmentsInput) (*EnvironmentDescriptionsMessage, error) { req, out := c.DescribeEnvironmentsRequest(input) err := req.Send() @@ -680,7 +1530,30 @@ func (c *ElasticBeanstalk) DescribeEnvironments(input *DescribeEnvironmentsInput const opDescribeEvents = "DescribeEvents" -// DescribeEventsRequest generates a request for the DescribeEvents operation. +// DescribeEventsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEvents operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeEvents for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeEvents method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeEventsRequest method. +// req, resp := client.DescribeEventsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) { op := &request.Operation{ Name: opDescribeEvents, @@ -704,15 +1577,41 @@ func (c *ElasticBeanstalk) DescribeEventsRequest(input *DescribeEventsInput) (re return } +// DescribeEvents API operation for AWS Elastic Beanstalk. +// // Returns list of event descriptions matching criteria up to the last 6 weeks. // -// This action returns the most recent 1,000 events from the specified NextToken. +// This action returns the most recent 1,000 events from the specified NextToken. +// +// 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 Elastic Beanstalk's +// API operation DescribeEvents for usage and error information. func (c *ElasticBeanstalk) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) { req, out := c.DescribeEventsRequest(input) err := req.Send() return out, err } +// DescribeEventsPages iterates over the pages of a DescribeEvents operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeEvents 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 DescribeEvents operation. +// pageNum := 0 +// err := client.DescribeEventsPages(params, +// func(page *DescribeEventsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *ElasticBeanstalk) DescribeEventsPages(input *DescribeEventsInput, fn func(p *DescribeEventsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeEventsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -723,7 +1622,30 @@ func (c *ElasticBeanstalk) DescribeEventsPages(input *DescribeEventsInput, fn fu const opDescribeInstancesHealth = "DescribeInstancesHealth" -// DescribeInstancesHealthRequest generates a request for the DescribeInstancesHealth operation. +// DescribeInstancesHealthRequest generates a "aws/request.Request" representing the +// client's request for the DescribeInstancesHealth operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeInstancesHealth for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeInstancesHealth method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeInstancesHealthRequest method. +// req, resp := client.DescribeInstancesHealthRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) DescribeInstancesHealthRequest(input *DescribeInstancesHealthInput) (req *request.Request, output *DescribeInstancesHealthOutput) { op := &request.Operation{ Name: opDescribeInstancesHealth, @@ -741,9 +1663,27 @@ func (c *ElasticBeanstalk) DescribeInstancesHealthRequest(input *DescribeInstanc return } +// DescribeInstancesHealth API operation for AWS Elastic Beanstalk. +// // Returns more detailed information about the health of the specified instances // (for example, CPU utilization, load average, and causes). The DescribeInstancesHealth // operation is only available with AWS Elastic Beanstalk Enhanced Health. +// +// 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 Elastic Beanstalk's +// API operation DescribeInstancesHealth for usage and error information. +// +// Returned Error Codes: +// * InvalidRequestException +// One or more input parameters is not valid. Please correct the input parameters +// and try the operation again. +// +// * ServiceException +// A generic service exception has occurred. +// func (c *ElasticBeanstalk) DescribeInstancesHealth(input *DescribeInstancesHealthInput) (*DescribeInstancesHealthOutput, error) { req, out := c.DescribeInstancesHealthRequest(input) err := req.Send() @@ -752,7 +1692,30 @@ func (c *ElasticBeanstalk) DescribeInstancesHealth(input *DescribeInstancesHealt const opListAvailableSolutionStacks = "ListAvailableSolutionStacks" -// ListAvailableSolutionStacksRequest generates a request for the ListAvailableSolutionStacks operation. +// ListAvailableSolutionStacksRequest generates a "aws/request.Request" representing the +// client's request for the ListAvailableSolutionStacks operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListAvailableSolutionStacks for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListAvailableSolutionStacks method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListAvailableSolutionStacksRequest method. +// req, resp := client.ListAvailableSolutionStacksRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) ListAvailableSolutionStacksRequest(input *ListAvailableSolutionStacksInput) (req *request.Request, output *ListAvailableSolutionStacksOutput) { op := &request.Operation{ Name: opListAvailableSolutionStacks, @@ -770,7 +1733,16 @@ func (c *ElasticBeanstalk) ListAvailableSolutionStacksRequest(input *ListAvailab return } +// ListAvailableSolutionStacks API operation for AWS Elastic Beanstalk. +// // Returns a list of the available solution stack names. +// +// 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 Elastic Beanstalk's +// API operation ListAvailableSolutionStacks for usage and error information. func (c *ElasticBeanstalk) ListAvailableSolutionStacks(input *ListAvailableSolutionStacksInput) (*ListAvailableSolutionStacksOutput, error) { req, out := c.ListAvailableSolutionStacksRequest(input) err := req.Send() @@ -779,7 +1751,30 @@ func (c *ElasticBeanstalk) ListAvailableSolutionStacks(input *ListAvailableSolut const opRebuildEnvironment = "RebuildEnvironment" -// RebuildEnvironmentRequest generates a request for the RebuildEnvironment operation. +// RebuildEnvironmentRequest generates a "aws/request.Request" representing the +// client's request for the RebuildEnvironment operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RebuildEnvironment for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RebuildEnvironment method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RebuildEnvironmentRequest method. +// req, resp := client.RebuildEnvironmentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) RebuildEnvironmentRequest(input *RebuildEnvironmentInput) (req *request.Request, output *RebuildEnvironmentOutput) { op := &request.Operation{ Name: opRebuildEnvironment, @@ -799,8 +1794,23 @@ func (c *ElasticBeanstalk) RebuildEnvironmentRequest(input *RebuildEnvironmentIn return } +// RebuildEnvironment API operation for AWS Elastic Beanstalk. +// // Deletes and recreates all of the AWS resources (for example: the Auto Scaling // group, load balancer, etc.) for a specified environment and forces a restart. +// +// 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 Elastic Beanstalk's +// API operation RebuildEnvironment for usage and error information. +// +// Returned Error Codes: +// * InsufficientPrivilegesException +// The specified account does not have sufficient privileges for one of more +// AWS services. +// func (c *ElasticBeanstalk) RebuildEnvironment(input *RebuildEnvironmentInput) (*RebuildEnvironmentOutput, error) { req, out := c.RebuildEnvironmentRequest(input) err := req.Send() @@ -809,7 +1819,30 @@ func (c *ElasticBeanstalk) RebuildEnvironment(input *RebuildEnvironmentInput) (* const opRequestEnvironmentInfo = "RequestEnvironmentInfo" -// RequestEnvironmentInfoRequest generates a request for the RequestEnvironmentInfo operation. +// RequestEnvironmentInfoRequest generates a "aws/request.Request" representing the +// client's request for the RequestEnvironmentInfo operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RequestEnvironmentInfo for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RequestEnvironmentInfo method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RequestEnvironmentInfoRequest method. +// req, resp := client.RequestEnvironmentInfoRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) RequestEnvironmentInfoRequest(input *RequestEnvironmentInfoInput) (req *request.Request, output *RequestEnvironmentInfoOutput) { op := &request.Operation{ Name: opRequestEnvironmentInfo, @@ -829,6 +1862,8 @@ func (c *ElasticBeanstalk) RequestEnvironmentInfoRequest(input *RequestEnvironme return } +// RequestEnvironmentInfo API operation for AWS Elastic Beanstalk. +// // Initiates a request to compile the specified type of information of the deployed // environment. // @@ -843,7 +1878,14 @@ func (c *ElasticBeanstalk) RequestEnvironmentInfoRequest(input *RequestEnvironme // // Related Topics // -// RetrieveEnvironmentInfo +// RetrieveEnvironmentInfo +// +// 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 Elastic Beanstalk's +// API operation RequestEnvironmentInfo for usage and error information. func (c *ElasticBeanstalk) RequestEnvironmentInfo(input *RequestEnvironmentInfoInput) (*RequestEnvironmentInfoOutput, error) { req, out := c.RequestEnvironmentInfoRequest(input) err := req.Send() @@ -852,7 +1894,30 @@ func (c *ElasticBeanstalk) RequestEnvironmentInfo(input *RequestEnvironmentInfoI const opRestartAppServer = "RestartAppServer" -// RestartAppServerRequest generates a request for the RestartAppServer operation. +// RestartAppServerRequest generates a "aws/request.Request" representing the +// client's request for the RestartAppServer operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RestartAppServer for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RestartAppServer method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RestartAppServerRequest method. +// req, resp := client.RestartAppServerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) RestartAppServerRequest(input *RestartAppServerInput) (req *request.Request, output *RestartAppServerOutput) { op := &request.Operation{ Name: opRestartAppServer, @@ -872,8 +1937,17 @@ func (c *ElasticBeanstalk) RestartAppServerRequest(input *RestartAppServerInput) return } +// RestartAppServer API operation for AWS Elastic Beanstalk. +// // Causes the environment to restart the application container server running // on each Amazon EC2 instance. +// +// 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 Elastic Beanstalk's +// API operation RestartAppServer for usage and error information. func (c *ElasticBeanstalk) RestartAppServer(input *RestartAppServerInput) (*RestartAppServerOutput, error) { req, out := c.RestartAppServerRequest(input) err := req.Send() @@ -882,7 +1956,30 @@ func (c *ElasticBeanstalk) RestartAppServer(input *RestartAppServerInput) (*Rest const opRetrieveEnvironmentInfo = "RetrieveEnvironmentInfo" -// RetrieveEnvironmentInfoRequest generates a request for the RetrieveEnvironmentInfo operation. +// RetrieveEnvironmentInfoRequest generates a "aws/request.Request" representing the +// client's request for the RetrieveEnvironmentInfo operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RetrieveEnvironmentInfo for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RetrieveEnvironmentInfo method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RetrieveEnvironmentInfoRequest method. +// req, resp := client.RetrieveEnvironmentInfoRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) RetrieveEnvironmentInfoRequest(input *RetrieveEnvironmentInfoInput) (req *request.Request, output *RetrieveEnvironmentInfoOutput) { op := &request.Operation{ Name: opRetrieveEnvironmentInfo, @@ -900,11 +1997,20 @@ func (c *ElasticBeanstalk) RetrieveEnvironmentInfoRequest(input *RetrieveEnviron return } +// RetrieveEnvironmentInfo API operation for AWS Elastic Beanstalk. +// // Retrieves the compiled information from a RequestEnvironmentInfo request. // // Related Topics // -// RequestEnvironmentInfo +// RequestEnvironmentInfo +// +// 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 Elastic Beanstalk's +// API operation RetrieveEnvironmentInfo for usage and error information. func (c *ElasticBeanstalk) RetrieveEnvironmentInfo(input *RetrieveEnvironmentInfoInput) (*RetrieveEnvironmentInfoOutput, error) { req, out := c.RetrieveEnvironmentInfoRequest(input) err := req.Send() @@ -913,7 +2019,30 @@ func (c *ElasticBeanstalk) RetrieveEnvironmentInfo(input *RetrieveEnvironmentInf const opSwapEnvironmentCNAMEs = "SwapEnvironmentCNAMEs" -// SwapEnvironmentCNAMEsRequest generates a request for the SwapEnvironmentCNAMEs operation. +// SwapEnvironmentCNAMEsRequest generates a "aws/request.Request" representing the +// client's request for the SwapEnvironmentCNAMEs operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SwapEnvironmentCNAMEs for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SwapEnvironmentCNAMEs method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SwapEnvironmentCNAMEsRequest method. +// req, resp := client.SwapEnvironmentCNAMEsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) SwapEnvironmentCNAMEsRequest(input *SwapEnvironmentCNAMEsInput) (req *request.Request, output *SwapEnvironmentCNAMEsOutput) { op := &request.Operation{ Name: opSwapEnvironmentCNAMEs, @@ -933,7 +2062,16 @@ func (c *ElasticBeanstalk) SwapEnvironmentCNAMEsRequest(input *SwapEnvironmentCN return } +// SwapEnvironmentCNAMEs API operation for AWS Elastic Beanstalk. +// // Swaps the CNAMEs of two environments. +// +// 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 Elastic Beanstalk's +// API operation SwapEnvironmentCNAMEs for usage and error information. func (c *ElasticBeanstalk) SwapEnvironmentCNAMEs(input *SwapEnvironmentCNAMEsInput) (*SwapEnvironmentCNAMEsOutput, error) { req, out := c.SwapEnvironmentCNAMEsRequest(input) err := req.Send() @@ -942,7 +2080,30 @@ func (c *ElasticBeanstalk) SwapEnvironmentCNAMEs(input *SwapEnvironmentCNAMEsInp const opTerminateEnvironment = "TerminateEnvironment" -// TerminateEnvironmentRequest generates a request for the TerminateEnvironment operation. +// TerminateEnvironmentRequest generates a "aws/request.Request" representing the +// client's request for the TerminateEnvironment operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See TerminateEnvironment for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the TerminateEnvironment method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the TerminateEnvironmentRequest method. +// req, resp := client.TerminateEnvironmentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) TerminateEnvironmentRequest(input *TerminateEnvironmentInput) (req *request.Request, output *EnvironmentDescription) { op := &request.Operation{ Name: opTerminateEnvironment, @@ -960,7 +2121,22 @@ func (c *ElasticBeanstalk) TerminateEnvironmentRequest(input *TerminateEnvironme return } +// TerminateEnvironment API operation for AWS Elastic Beanstalk. +// // Terminates the specified environment. +// +// 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 Elastic Beanstalk's +// API operation TerminateEnvironment for usage and error information. +// +// Returned Error Codes: +// * InsufficientPrivilegesException +// The specified account does not have sufficient privileges for one of more +// AWS services. +// func (c *ElasticBeanstalk) TerminateEnvironment(input *TerminateEnvironmentInput) (*EnvironmentDescription, error) { req, out := c.TerminateEnvironmentRequest(input) err := req.Send() @@ -969,7 +2145,30 @@ func (c *ElasticBeanstalk) TerminateEnvironment(input *TerminateEnvironmentInput const opUpdateApplication = "UpdateApplication" -// UpdateApplicationRequest generates a request for the UpdateApplication operation. +// UpdateApplicationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateApplication operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateApplication for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateApplication method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateApplicationRequest method. +// req, resp := client.UpdateApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) UpdateApplicationRequest(input *UpdateApplicationInput) (req *request.Request, output *ApplicationDescriptionMessage) { op := &request.Operation{ Name: opUpdateApplication, @@ -987,10 +2186,19 @@ func (c *ElasticBeanstalk) UpdateApplicationRequest(input *UpdateApplicationInpu return } +// UpdateApplication API operation for AWS Elastic Beanstalk. +// // Updates the specified application to have the specified properties. // // If a property (for example, description) is not provided, the value remains // unchanged. To clear these properties, specify an empty string. +// +// 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 Elastic Beanstalk's +// API operation UpdateApplication for usage and error information. func (c *ElasticBeanstalk) UpdateApplication(input *UpdateApplicationInput) (*ApplicationDescriptionMessage, error) { req, out := c.UpdateApplicationRequest(input) err := req.Send() @@ -999,7 +2207,30 @@ func (c *ElasticBeanstalk) UpdateApplication(input *UpdateApplicationInput) (*Ap const opUpdateApplicationVersion = "UpdateApplicationVersion" -// UpdateApplicationVersionRequest generates a request for the UpdateApplicationVersion operation. +// UpdateApplicationVersionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateApplicationVersion operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateApplicationVersion for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateApplicationVersion method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateApplicationVersionRequest method. +// req, resp := client.UpdateApplicationVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) UpdateApplicationVersionRequest(input *UpdateApplicationVersionInput) (req *request.Request, output *ApplicationVersionDescriptionMessage) { op := &request.Operation{ Name: opUpdateApplicationVersion, @@ -1017,10 +2248,19 @@ func (c *ElasticBeanstalk) UpdateApplicationVersionRequest(input *UpdateApplicat return } +// UpdateApplicationVersion API operation for AWS Elastic Beanstalk. +// // Updates the specified application version to have the specified properties. // // If a property (for example, description) is not provided, the value remains // unchanged. To clear properties, specify an empty string. +// +// 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 Elastic Beanstalk's +// API operation UpdateApplicationVersion for usage and error information. func (c *ElasticBeanstalk) UpdateApplicationVersion(input *UpdateApplicationVersionInput) (*ApplicationVersionDescriptionMessage, error) { req, out := c.UpdateApplicationVersionRequest(input) err := req.Send() @@ -1029,7 +2269,30 @@ func (c *ElasticBeanstalk) UpdateApplicationVersion(input *UpdateApplicationVers const opUpdateConfigurationTemplate = "UpdateConfigurationTemplate" -// UpdateConfigurationTemplateRequest generates a request for the UpdateConfigurationTemplate operation. +// UpdateConfigurationTemplateRequest generates a "aws/request.Request" representing the +// client's request for the UpdateConfigurationTemplate operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateConfigurationTemplate for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateConfigurationTemplate method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateConfigurationTemplateRequest method. +// req, resp := client.UpdateConfigurationTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) UpdateConfigurationTemplateRequest(input *UpdateConfigurationTemplateInput) (req *request.Request, output *ConfigurationSettingsDescription) { op := &request.Operation{ Name: opUpdateConfigurationTemplate, @@ -1047,14 +2310,33 @@ func (c *ElasticBeanstalk) UpdateConfigurationTemplateRequest(input *UpdateConfi return } +// UpdateConfigurationTemplate API operation for AWS Elastic Beanstalk. +// // Updates the specified configuration template to have the specified properties // or configuration option values. // // If a property (for example, ApplicationName) is not provided, its value -// remains unchanged. To clear such properties, specify an empty string. Related -// Topics +// remains unchanged. To clear such properties, specify an empty string. +// +// Related Topics +// +// DescribeConfigurationOptions +// +// 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 Elastic Beanstalk's +// API operation UpdateConfigurationTemplate for usage and error information. +// +// Returned Error Codes: +// * InsufficientPrivilegesException +// The specified account does not have sufficient privileges for one of more +// AWS services. +// +// * TooManyBucketsException +// The specified account has reached its limit of Amazon S3 buckets. // -// DescribeConfigurationOptions func (c *ElasticBeanstalk) UpdateConfigurationTemplate(input *UpdateConfigurationTemplateInput) (*ConfigurationSettingsDescription, error) { req, out := c.UpdateConfigurationTemplateRequest(input) err := req.Send() @@ -1063,7 +2345,30 @@ func (c *ElasticBeanstalk) UpdateConfigurationTemplate(input *UpdateConfiguratio const opUpdateEnvironment = "UpdateEnvironment" -// UpdateEnvironmentRequest generates a request for the UpdateEnvironment operation. +// UpdateEnvironmentRequest generates a "aws/request.Request" representing the +// client's request for the UpdateEnvironment operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateEnvironment for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateEnvironment method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateEnvironmentRequest method. +// req, resp := client.UpdateEnvironmentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) UpdateEnvironmentRequest(input *UpdateEnvironmentInput) (req *request.Request, output *EnvironmentDescription) { op := &request.Operation{ Name: opUpdateEnvironment, @@ -1081,6 +2386,8 @@ func (c *ElasticBeanstalk) UpdateEnvironmentRequest(input *UpdateEnvironmentInpu return } +// UpdateEnvironment API operation for AWS Elastic Beanstalk. +// // Updates the environment description, deploys a new application version, updates // the configuration settings to an entirely new configuration template, or // updates select configuration option values in the running environment. @@ -1092,6 +2399,22 @@ func (c *ElasticBeanstalk) UpdateEnvironmentRequest(input *UpdateEnvironmentInpu // settings, a draft configuration is created and DescribeConfigurationSettings // for this environment returns two setting descriptions with different DeploymentStatus // values. +// +// 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 Elastic Beanstalk's +// API operation UpdateEnvironment for usage and error information. +// +// Returned Error Codes: +// * InsufficientPrivilegesException +// The specified account does not have sufficient privileges for one of more +// AWS services. +// +// * TooManyBucketsException +// The specified account has reached its limit of Amazon S3 buckets. +// func (c *ElasticBeanstalk) UpdateEnvironment(input *UpdateEnvironmentInput) (*EnvironmentDescription, error) { req, out := c.UpdateEnvironmentRequest(input) err := req.Send() @@ -1100,7 +2423,30 @@ func (c *ElasticBeanstalk) UpdateEnvironment(input *UpdateEnvironmentInput) (*En const opValidateConfigurationSettings = "ValidateConfigurationSettings" -// ValidateConfigurationSettingsRequest generates a request for the ValidateConfigurationSettings operation. +// ValidateConfigurationSettingsRequest generates a "aws/request.Request" representing the +// client's request for the ValidateConfigurationSettings operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ValidateConfigurationSettings for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ValidateConfigurationSettings method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ValidateConfigurationSettingsRequest method. +// req, resp := client.ValidateConfigurationSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticBeanstalk) ValidateConfigurationSettingsRequest(input *ValidateConfigurationSettingsInput) (req *request.Request, output *ValidateConfigurationSettingsOutput) { op := &request.Operation{ Name: opValidateConfigurationSettings, @@ -1118,11 +2464,29 @@ func (c *ElasticBeanstalk) ValidateConfigurationSettingsRequest(input *ValidateC return } +// ValidateConfigurationSettings API operation for AWS Elastic Beanstalk. +// // Takes a set of configuration settings and either a configuration template // or environment, and determines whether those values are valid. // -// This action returns a list of messages indicating any errors or warnings +// This action returns a list of messages indicating any errors or warnings // associated with the selection of option values. +// +// 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 Elastic Beanstalk's +// API operation ValidateConfigurationSettings for usage and error information. +// +// Returned Error Codes: +// * InsufficientPrivilegesException +// The specified account does not have sufficient privileges for one of more +// AWS services. +// +// * TooManyBucketsException +// The specified account has reached its limit of Amazon S3 buckets. +// func (c *ElasticBeanstalk) ValidateConfigurationSettings(input *ValidateConfigurationSettingsInput) (*ValidateConfigurationSettingsOutput, error) { req, out := c.ValidateConfigurationSettingsRequest(input) err := req.Send() @@ -1277,6 +2641,8 @@ type ApplicationVersionDescription struct { // The description of this application version. Description *string `type:"string"` + SourceBuildInformation *SourceBuildInformation `type:"structure"` + // The location where the source bundle is located for this version. SourceBundle *S3Location `type:"structure"` @@ -1320,6 +2686,8 @@ type ApplyEnvironmentManagedActionInput struct { _ struct{} `type:"structure"` // The action ID of the scheduled managed action to execute. + // + // ActionId is a required field ActionId *string `type:"string" required:"true"` // The environment ID of the target environment. @@ -1447,6 +2815,8 @@ type CheckDNSAvailabilityInput struct { _ struct{} `type:"structure"` // The prefix used when this CNAME is reserved. + // + // CNAMEPrefix is a required field CNAMEPrefix *string `min:"4" type:"string" required:"true"` } @@ -1482,7 +2852,9 @@ type CheckDNSAvailabilityOutput struct { // Indicates if the specified CNAME is available: // - // true : The CNAME is available. false : The CNAME is not available. + // true : The CNAME is available. + // + // false : The CNAME is not available. Available *bool `type:"boolean"` // The fully qualified CNAME to reserve when CreateEnvironment is called with @@ -1555,12 +2927,16 @@ type ConfigurationOptionDescription struct { // An indication of which action is required if the value for this configuration // option changes: // - // NoInterruption : There is no interruption to the environment or application - // availability. RestartEnvironment : The environment is entirely restarted, - // all AWS resources are deleted and recreated, and the environment is unavailable - // during the process. RestartApplicationServer : The environment is available - // the entire time. However, a short application outage occurs when the application - // servers on the running Amazon EC2 instances are restarted. + // NoInterruption : There is no interruption to the environment or application + // availability. + // + // RestartEnvironment : The environment is entirely restarted, all AWS resources + // are deleted and recreated, and the environment is unavailable during the + // process. + // + // RestartApplicationServer : The environment is available the entire time. + // However, a short application outage occurs when the application servers on + // the running Amazon EC2 instances are restarted. ChangeSeverity *string `type:"string"` // The default value for this configuration option. @@ -1594,8 +2970,9 @@ type ConfigurationOptionDescription struct { // choice for specifying if this as an Option to Remove when updating configuration // settings. // - // false : This configuration was not defined by the user. Constraint: - // You can remove only UserDefined options from a configuration. + // false : This configuration was not defined by the user. + // + // Constraint: You can remove only UserDefined options from a configuration. // // Valid Values: true | false UserDefined *bool `type:"boolean"` @@ -1607,11 +2984,16 @@ type ConfigurationOptionDescription struct { // An indication of which type of values this option has and whether it is allowable // to select one or more than one of the possible values: // - // Scalar : Values for this option are a single selection from the possible + // Scalar : Values for this option are a single selection from the possible // values, or an unformatted string, or numeric value governed by the MIN/MAX/Regex - // constraints. List : Values for this option are multiple selections from - // the possible values. Boolean : Values for this option are either true or - // false . Json : Values for this option are a JSON representation of a ConfigDocument. + // constraints. + // + // List : Values for this option are multiple selections from the possible + // values. + // + // Boolean : Values for this option are either true or false . + // + // Json : Values for this option are a JSON representation of a ConfigDocument. ValueType *string `type:"string" enum:"ConfigurationOptionValueType"` } @@ -1684,11 +3066,15 @@ type ConfigurationSettingsDescription struct { // If this configuration set is associated with an environment, the DeploymentStatus // parameter indicates the deployment status of this configuration set: // - // null: This configuration is not associated with a running environment. - // pending: This is a draft configuration that is not deployed to the associated - // environment but is in the process of deploying. deployed: This is the configuration - // that is currently deployed to the associated running environment. failed: - // This is a draft configuration that failed to successfully deploy. + // null: This configuration is not associated with a running environment. + // + // pending: This is a draft configuration that is not deployed to the associated + // environment but is in the process of deploying. + // + // deployed: This is the configuration that is currently deployed to the + // associated running environment. + // + // failed: This is a draft configuration that failed to successfully deploy. DeploymentStatus *string `type:"string" enum:"ConfigurationDeploymentStatus"` // Describes this configuration set. @@ -1727,6 +3113,8 @@ type CreateApplicationInput struct { // // Constraint: This name must be unique within your account. If the specified // name already exists, the action returns an InvalidParameterValue error. + // + // ApplicationName is a required field ApplicationName *string `min:"1" type:"string" required:"true"` // Describes the application. @@ -1764,15 +3152,20 @@ type CreateApplicationVersionInput struct { // The name of the application. If no application is found with this name, and // AutoCreateApplication is false, returns an InvalidParameterValue error. + // + // ApplicationName is a required field ApplicationName *string `min:"1" type:"string" required:"true"` // Determines how the system behaves if the specified application for this version // does not already exist: // - // true : Automatically creates the specified application for this release - // if it does not already exist. false : Throws an InvalidParameterValue if - // the specified application for this release does not already exist. Default: - // false + // true : Automatically creates the specified application for this release + // if it does not already exist. + // + // false : Throws an InvalidParameterValue if the specified application + // for this release does not already exist. + // + // Default: false // // Valid Values: true | false AutoCreateApplication *bool `type:"boolean"` @@ -1785,6 +3178,8 @@ type CreateApplicationVersionInput struct { // prior to deploying the application version to an environment. Process *bool `type:"boolean"` + SourceBuildInformation *SourceBuildInformation `type:"structure"` + // The Amazon S3 bucket and key that identify the location of the source bundle // for this version. // @@ -1803,6 +3198,8 @@ type CreateApplicationVersionInput struct { // Constraint: Must be unique per application. If an application version already // exists with this label for the specified application, AWS Elastic Beanstalk // returns an InvalidParameterValue error. + // + // VersionLabel is a required field VersionLabel *string `min:"1" type:"string" required:"true"` } @@ -1831,6 +3228,11 @@ func (s *CreateApplicationVersionInput) Validate() error { if s.VersionLabel != nil && len(*s.VersionLabel) < 1 { invalidParams.Add(request.NewErrParamMinLen("VersionLabel", 1)) } + if s.SourceBuildInformation != nil { + if err := s.SourceBuildInformation.Validate(); err != nil { + invalidParams.AddNested("SourceBuildInformation", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -1845,6 +3247,8 @@ type CreateConfigurationTemplateInput struct { // The name of the application to associate with this configuration template. // If no application is found with this name, AWS Elastic Beanstalk returns // an InvalidParameterValue error. + // + // ApplicationName is a required field ApplicationName *string `min:"1" type:"string" required:"true"` // Describes this configuration. @@ -1869,9 +3273,9 @@ type CreateConfigurationTemplateInput struct { // A solution stack name or a source configuration parameter must be specified, // otherwise AWS Elastic Beanstalk returns an InvalidParameterValue error. // - // If a solution stack name is not specified and the source configuration - // parameter is specified, AWS Elastic Beanstalk uses the same solution stack - // as the source configuration template. + // If a solution stack name is not specified and the source configuration parameter + // is specified, AWS Elastic Beanstalk uses the same solution stack as the source + // configuration template. SolutionStackName *string `type:"string"` // If specified, AWS Elastic Beanstalk uses the configuration values from the @@ -1895,6 +3299,8 @@ type CreateConfigurationTemplateInput struct { // // Default: If a configuration template already exists with this name, AWS // Elastic Beanstalk returns an InvalidParameterValue error. + // + // TemplateName is a required field TemplateName *string `min:"1" type:"string" required:"true"` } @@ -1952,6 +3358,8 @@ type CreateEnvironmentInput struct { // // If no application is found with this name, CreateEnvironment returns an // InvalidParameterValue error. + // + // ApplicationName is a required field ApplicationName *string `min:"1" type:"string" required:"true"` // If specified, the environment attempts to use this value as the prefix for @@ -2021,7 +3429,7 @@ type CreateEnvironmentInput struct { // If the specified application has no associated application versions, AWS // Elastic Beanstalk UpdateEnvironment returns an InvalidParameterValue error. // - // Default: If not specified, AWS Elastic Beanstalk attempts to launch the + // Default: If not specified, AWS Elastic Beanstalk attempts to launch the // sample application in the container. VersionLabel *string `min:"1" type:"string"` } @@ -2134,6 +3542,8 @@ type DeleteApplicationInput struct { _ struct{} `type:"structure"` // The name of the application to delete. + // + // ApplicationName is a required field ApplicationName *string `min:"1" type:"string" required:"true"` // When set to true, running environments will be terminated before deleting @@ -2186,16 +3596,24 @@ type DeleteApplicationVersionInput struct { _ struct{} `type:"structure"` // The name of the application to delete releases from. + // + // ApplicationName is a required field ApplicationName *string `min:"1" type:"string" required:"true"` // Indicates whether to delete the associated source bundle from Amazon S3: // - // true: An attempt is made to delete the associated Amazon S3 source bundle - // specified at time of creation. false: No action is taken on the Amazon - // S3 source bundle specified at time of creation. Valid Values: true | false + // true: An attempt is made to delete the associated Amazon S3 source bundle + // specified at time of creation. + // + // false: No action is taken on the Amazon S3 source bundle specified at + // time of creation. + // + // Valid Values: true | false DeleteSourceBundle *bool `type:"boolean"` // The label of the version to delete. + // + // VersionLabel is a required field VersionLabel *string `min:"1" type:"string" required:"true"` } @@ -2250,9 +3668,13 @@ type DeleteConfigurationTemplateInput struct { _ struct{} `type:"structure"` // The name of the application to delete the configuration template from. + // + // ApplicationName is a required field ApplicationName *string `min:"1" type:"string" required:"true"` // The name of the configuration template to delete. + // + // TemplateName is a required field TemplateName *string `min:"1" type:"string" required:"true"` } @@ -2307,9 +3729,13 @@ type DeleteEnvironmentConfigurationInput struct { _ struct{} `type:"structure"` // The name of the application the environment is associated with. + // + // ApplicationName is a required field ApplicationName *string `min:"1" type:"string" required:"true"` // The name of the environment to delete the draft configuration from. + // + // EnvironmentName is a required field EnvironmentName *string `min:"4" type:"string" required:"true"` } @@ -2374,8 +3800,11 @@ type Deployment struct { // The status of the deployment: // - // In Progress : The deployment is in progress. Deployed : The deployment - // succeeded. Failed : The deployment failed. + // In Progress : The deployment is in progress. + // + // Deployed : The deployment succeeded. + // + // Failed : The deployment failed. Status *string `type:"string"` // The version label of the application version in the deployment. @@ -2400,6 +3829,12 @@ type DescribeApplicationVersionsInput struct { // only include ones that are associated with the specified application. ApplicationName *string `min:"1" type:"string"` + // Specify a maximum number of application versions to paginate in the request. + MaxRecords *int64 `min:"1" type:"integer"` + + // Specify a next token to retrieve the next page in a paginated request. + NextToken *string `type:"string"` + // If specified, restricts the returned descriptions to only include ones that // have the specified version labels. VersionLabels []*string `type:"list"` @@ -2421,6 +3856,9 @@ func (s *DescribeApplicationVersionsInput) Validate() error { if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) } + if s.MaxRecords != nil && *s.MaxRecords < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -2434,6 +3872,10 @@ type DescribeApplicationVersionsOutput struct { // List of ApplicationVersionDescription objects sorted by order of creation. ApplicationVersions []*ApplicationVersionDescription `type:"list"` + + // For a paginated request, the token that you can pass in a subsequent request + // to get the next page. + NextToken *string `type:"string"` } // String returns the string representation @@ -2572,6 +4014,8 @@ type DescribeConfigurationSettingsInput struct { _ struct{} `type:"structure"` // The application for the environment or configuration template. + // + // ApplicationName is a required field ApplicationName *string `min:"1" type:"string" required:"true"` // The name of the environment to describe. @@ -3168,13 +4612,19 @@ type EnvironmentDescription struct { // Describes the health status of the environment. AWS Elastic Beanstalk indicates // the failure levels for a running environment: // - // Red: Indicates the environment is not responsive. Occurs when three or - // more consecutive failures occur for an environment. Yellow: Indicates that - // something is wrong. Occurs when two consecutive failures occur for an environment. - // Green: Indicates the environment is healthy and fully functional. Grey: - // Default health for a new environment. The environment is not fully launched - // and health checks have not started or health checks are suspended during - // an UpdateEnvironment or RestartEnvironement request. Default: Grey + // Red: Indicates the environment is not responsive. Occurs when three or + // more consecutive failures occur for an environment. + // + // Yellow: Indicates that something is wrong. Occurs when two consecutive + // failures occur for an environment. + // + // Green: Indicates the environment is healthy and fully functional. + // + // Grey: Default health for a new environment. The environment is not fully + // launched and health checks have not started or health checks are suspended + // during an UpdateEnvironment or RestartEnvironement request. + // + // Default: Grey Health *string `type:"string" enum:"EnvironmentHealth"` // Returns the health status of the application running in your environment. @@ -3189,11 +4639,17 @@ type EnvironmentDescription struct { // The current operational status of the environment: // - // Launching: Environment is in the process of initial deployment. Updating: - // Environment is in the process of updating its configuration settings or application - // version. Ready: Environment is available to have an action performed on - // it, such as update or terminate. Terminating: Environment is in the shut-down - // process. Terminated: Environment is not running. + // Launching: Environment is in the process of initial deployment. + // + // Updating: Environment is in the process of updating its configuration + // settings or application version. + // + // Ready: Environment is available to have an action performed on it, such + // as update or terminate. + // + // Terminating: Environment is in the shut-down process. + // + // Terminated: Environment is not running. Status *string `type:"string" enum:"EnvironmentStatus"` // The name of the configuration template used to originally launch this environment. @@ -3865,6 +5321,8 @@ type RequestEnvironmentInfoInput struct { EnvironmentName *string `min:"4" type:"string"` // The type of information to request. + // + // InfoType is a required field InfoType *string `type:"string" required:"true" enum:"EnvironmentInfoType"` } @@ -3986,6 +5444,8 @@ type RetrieveEnvironmentInfoInput struct { EnvironmentName *string `min:"4" type:"string"` // The type of information to retrieve. + // + // InfoType is a required field InfoType *string `type:"string" required:"true" enum:"EnvironmentInfoType"` } @@ -4127,6 +5587,51 @@ func (s SolutionStackDescription) GoString() string { return s.String() } +type SourceBuildInformation struct { + _ struct{} `type:"structure"` + + // SourceLocation is a required field + SourceLocation *string `min:"3" type:"string" required:"true"` + + // SourceRepository is a required field + SourceRepository *string `type:"string" required:"true" enum:"SourceRepository"` + + // SourceType is a required field + SourceType *string `type:"string" required:"true" enum:"SourceType"` +} + +// String returns the string representation +func (s SourceBuildInformation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SourceBuildInformation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SourceBuildInformation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SourceBuildInformation"} + if s.SourceLocation == nil { + invalidParams.Add(request.NewErrParamRequired("SourceLocation")) + } + if s.SourceLocation != nil && len(*s.SourceLocation) < 3 { + invalidParams.Add(request.NewErrParamMinLen("SourceLocation", 3)) + } + if s.SourceRepository == nil { + invalidParams.Add(request.NewErrParamRequired("SourceRepository")) + } + if s.SourceType == nil { + invalidParams.Add(request.NewErrParamRequired("SourceType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // A specification for an environment configuration type SourceConfiguration struct { _ struct{} `type:"structure"` @@ -4357,11 +5862,13 @@ type TerminateEnvironmentInput struct { // Indicates whether the associated AWS resources should shut down when the // environment is terminated: // - // true: The specified environment as well as the associated AWS resources, - // such as Auto Scaling group and LoadBalancer, are terminated. false: AWS - // Elastic Beanstalk resource management is removed from the environment, but - // the AWS resources continue to operate. For more information, see the - // AWS Elastic Beanstalk User Guide. (http://docs.aws.amazon.com/elasticbeanstalk/latest/ug/) + // true: The specified environment as well as the associated AWS resources, + // such as Auto Scaling group and LoadBalancer, are terminated. + // + // false: AWS Elastic Beanstalk resource management is removed from the + // environment, but the AWS resources continue to operate. + // + // For more information, see the AWS Elastic Beanstalk User Guide. (http://docs.aws.amazon.com/elasticbeanstalk/latest/ug/) // // Default: true // @@ -4416,6 +5923,8 @@ type UpdateApplicationInput struct { // The name of the application to update. If no such application is found, UpdateApplication // returns an InvalidParameterValue error. + // + // ApplicationName is a required field ApplicationName *string `min:"1" type:"string" required:"true"` // A new description for the application. @@ -4457,6 +5966,8 @@ type UpdateApplicationVersionInput struct { // // If no application is found with this name, UpdateApplication returns an // InvalidParameterValue error. + // + // ApplicationName is a required field ApplicationName *string `min:"1" type:"string" required:"true"` // A new description for this release. @@ -4466,6 +5977,8 @@ type UpdateApplicationVersionInput struct { // // If no application version is found with this label, UpdateApplication returns // an InvalidParameterValue error. + // + // VersionLabel is a required field VersionLabel *string `min:"1" type:"string" required:"true"` } @@ -4510,6 +6023,8 @@ type UpdateConfigurationTemplateInput struct { // // If no application is found with this name, UpdateConfigurationTemplate // returns an InvalidParameterValue error. + // + // ApplicationName is a required field ApplicationName *string `min:"1" type:"string" required:"true"` // A new description for the configuration. @@ -4528,6 +6043,8 @@ type UpdateConfigurationTemplateInput struct { // // If no configuration template is found with this name, UpdateConfigurationTemplate // returns an InvalidParameterValue error. + // + // TemplateName is a required field TemplateName *string `min:"1" type:"string" required:"true"` } @@ -4710,19 +6227,23 @@ type ValidateConfigurationSettingsInput struct { // The name of the application that the configuration template or environment // belongs to. + // + // ApplicationName is a required field ApplicationName *string `min:"1" type:"string" required:"true"` // The name of the environment to validate the settings against. // - // Condition: You cannot specify both this and a configuration template name. + // Condition: You cannot specify both this and a configuration template name. EnvironmentName *string `min:"4" type:"string"` // A list of the options and desired values to evaluate. + // + // OptionSettings is a required field OptionSettings []*ConfigurationOptionSetting `type:"list" required:"true"` // The name of the configuration template to validate the settings against. // - // Condition: You cannot specify both this and an environment name. + // Condition: You cannot specify both this and an environment name. TemplateName *string `min:"1" type:"string"` } @@ -4802,9 +6323,10 @@ type ValidationMessage struct { // An indication of the severity of this message: // - // error: This message indicates that this is not a valid setting for an - // option. warning: This message is providing information you should take - // into account. + // error: This message indicates that this is not a valid setting for an + // option. + // + // warning: This message is providing information you should take into account. Severity *string `type:"string" enum:"ValidationSeverity"` } @@ -4819,190 +6341,257 @@ func (s ValidationMessage) GoString() string { } const ( - // @enum ActionHistoryStatus + // ActionHistoryStatusCompleted is a ActionHistoryStatus enum value ActionHistoryStatusCompleted = "Completed" - // @enum ActionHistoryStatus + + // ActionHistoryStatusFailed is a ActionHistoryStatus enum value ActionHistoryStatusFailed = "Failed" - // @enum ActionHistoryStatus + + // ActionHistoryStatusUnknown is a ActionHistoryStatus enum value ActionHistoryStatusUnknown = "Unknown" ) const ( - // @enum ActionStatus + // ActionStatusScheduled is a ActionStatus enum value ActionStatusScheduled = "Scheduled" - // @enum ActionStatus + + // ActionStatusPending is a ActionStatus enum value ActionStatusPending = "Pending" - // @enum ActionStatus + + // ActionStatusRunning is a ActionStatus enum value ActionStatusRunning = "Running" - // @enum ActionStatus + + // ActionStatusUnknown is a ActionStatus enum value ActionStatusUnknown = "Unknown" ) const ( - // @enum ActionType + // ActionTypeInstanceRefresh is a ActionType enum value ActionTypeInstanceRefresh = "InstanceRefresh" - // @enum ActionType + + // ActionTypePlatformUpdate is a ActionType enum value ActionTypePlatformUpdate = "PlatformUpdate" - // @enum ActionType + + // ActionTypeUnknown is a ActionType enum value ActionTypeUnknown = "Unknown" ) const ( - // @enum ApplicationVersionStatus + // ApplicationVersionStatusProcessed is a ApplicationVersionStatus enum value ApplicationVersionStatusProcessed = "Processed" - // @enum ApplicationVersionStatus + + // ApplicationVersionStatusUnprocessed is a ApplicationVersionStatus enum value ApplicationVersionStatusUnprocessed = "Unprocessed" - // @enum ApplicationVersionStatus + + // ApplicationVersionStatusFailed is a ApplicationVersionStatus enum value ApplicationVersionStatusFailed = "Failed" - // @enum ApplicationVersionStatus + + // ApplicationVersionStatusProcessing is a ApplicationVersionStatus enum value ApplicationVersionStatusProcessing = "Processing" ) const ( - // @enum ConfigurationDeploymentStatus + // ConfigurationDeploymentStatusDeployed is a ConfigurationDeploymentStatus enum value ConfigurationDeploymentStatusDeployed = "deployed" - // @enum ConfigurationDeploymentStatus + + // ConfigurationDeploymentStatusPending is a ConfigurationDeploymentStatus enum value ConfigurationDeploymentStatusPending = "pending" - // @enum ConfigurationDeploymentStatus + + // ConfigurationDeploymentStatusFailed is a ConfigurationDeploymentStatus enum value ConfigurationDeploymentStatusFailed = "failed" ) const ( - // @enum ConfigurationOptionValueType + // ConfigurationOptionValueTypeScalar is a ConfigurationOptionValueType enum value ConfigurationOptionValueTypeScalar = "Scalar" - // @enum ConfigurationOptionValueType + + // ConfigurationOptionValueTypeList is a ConfigurationOptionValueType enum value ConfigurationOptionValueTypeList = "List" ) const ( - // @enum EnvironmentHealth + // EnvironmentHealthGreen is a EnvironmentHealth enum value EnvironmentHealthGreen = "Green" - // @enum EnvironmentHealth + + // EnvironmentHealthYellow is a EnvironmentHealth enum value EnvironmentHealthYellow = "Yellow" - // @enum EnvironmentHealth + + // EnvironmentHealthRed is a EnvironmentHealth enum value EnvironmentHealthRed = "Red" - // @enum EnvironmentHealth + + // EnvironmentHealthGrey is a EnvironmentHealth enum value EnvironmentHealthGrey = "Grey" ) const ( - // @enum EnvironmentHealthAttribute + // EnvironmentHealthAttributeStatus is a EnvironmentHealthAttribute enum value EnvironmentHealthAttributeStatus = "Status" - // @enum EnvironmentHealthAttribute + + // EnvironmentHealthAttributeColor is a EnvironmentHealthAttribute enum value EnvironmentHealthAttributeColor = "Color" - // @enum EnvironmentHealthAttribute + + // EnvironmentHealthAttributeCauses is a EnvironmentHealthAttribute enum value EnvironmentHealthAttributeCauses = "Causes" - // @enum EnvironmentHealthAttribute + + // EnvironmentHealthAttributeApplicationMetrics is a EnvironmentHealthAttribute enum value EnvironmentHealthAttributeApplicationMetrics = "ApplicationMetrics" - // @enum EnvironmentHealthAttribute + + // EnvironmentHealthAttributeInstancesHealth is a EnvironmentHealthAttribute enum value EnvironmentHealthAttributeInstancesHealth = "InstancesHealth" - // @enum EnvironmentHealthAttribute + + // EnvironmentHealthAttributeAll is a EnvironmentHealthAttribute enum value EnvironmentHealthAttributeAll = "All" - // @enum EnvironmentHealthAttribute + + // EnvironmentHealthAttributeHealthStatus is a EnvironmentHealthAttribute enum value EnvironmentHealthAttributeHealthStatus = "HealthStatus" - // @enum EnvironmentHealthAttribute + + // EnvironmentHealthAttributeRefreshedAt is a EnvironmentHealthAttribute enum value EnvironmentHealthAttributeRefreshedAt = "RefreshedAt" ) const ( - // @enum EnvironmentHealthStatus + // EnvironmentHealthStatusNoData is a EnvironmentHealthStatus enum value EnvironmentHealthStatusNoData = "NoData" - // @enum EnvironmentHealthStatus + + // EnvironmentHealthStatusUnknown is a EnvironmentHealthStatus enum value EnvironmentHealthStatusUnknown = "Unknown" - // @enum EnvironmentHealthStatus + + // EnvironmentHealthStatusPending is a EnvironmentHealthStatus enum value EnvironmentHealthStatusPending = "Pending" - // @enum EnvironmentHealthStatus + + // EnvironmentHealthStatusOk is a EnvironmentHealthStatus enum value EnvironmentHealthStatusOk = "Ok" - // @enum EnvironmentHealthStatus + + // EnvironmentHealthStatusInfo is a EnvironmentHealthStatus enum value EnvironmentHealthStatusInfo = "Info" - // @enum EnvironmentHealthStatus + + // EnvironmentHealthStatusWarning is a EnvironmentHealthStatus enum value EnvironmentHealthStatusWarning = "Warning" - // @enum EnvironmentHealthStatus + + // EnvironmentHealthStatusDegraded is a EnvironmentHealthStatus enum value EnvironmentHealthStatusDegraded = "Degraded" - // @enum EnvironmentHealthStatus + + // EnvironmentHealthStatusSevere is a EnvironmentHealthStatus enum value EnvironmentHealthStatusSevere = "Severe" ) const ( - // @enum EnvironmentInfoType + // EnvironmentInfoTypeTail is a EnvironmentInfoType enum value EnvironmentInfoTypeTail = "tail" - // @enum EnvironmentInfoType + + // EnvironmentInfoTypeBundle is a EnvironmentInfoType enum value EnvironmentInfoTypeBundle = "bundle" ) const ( - // @enum EnvironmentStatus + // EnvironmentStatusLaunching is a EnvironmentStatus enum value EnvironmentStatusLaunching = "Launching" - // @enum EnvironmentStatus + + // EnvironmentStatusUpdating is a EnvironmentStatus enum value EnvironmentStatusUpdating = "Updating" - // @enum EnvironmentStatus + + // EnvironmentStatusReady is a EnvironmentStatus enum value EnvironmentStatusReady = "Ready" - // @enum EnvironmentStatus + + // EnvironmentStatusTerminating is a EnvironmentStatus enum value EnvironmentStatusTerminating = "Terminating" - // @enum EnvironmentStatus + + // EnvironmentStatusTerminated is a EnvironmentStatus enum value EnvironmentStatusTerminated = "Terminated" ) const ( - // @enum EventSeverity + // EventSeverityTrace is a EventSeverity enum value EventSeverityTrace = "TRACE" - // @enum EventSeverity + + // EventSeverityDebug is a EventSeverity enum value EventSeverityDebug = "DEBUG" - // @enum EventSeverity + + // EventSeverityInfo is a EventSeverity enum value EventSeverityInfo = "INFO" - // @enum EventSeverity + + // EventSeverityWarn is a EventSeverity enum value EventSeverityWarn = "WARN" - // @enum EventSeverity + + // EventSeverityError is a EventSeverity enum value EventSeverityError = "ERROR" - // @enum EventSeverity + + // EventSeverityFatal is a EventSeverity enum value EventSeverityFatal = "FATAL" ) const ( - // @enum FailureType + // FailureTypeUpdateCancelled is a FailureType enum value FailureTypeUpdateCancelled = "UpdateCancelled" - // @enum FailureType + + // FailureTypeCancellationFailed is a FailureType enum value FailureTypeCancellationFailed = "CancellationFailed" - // @enum FailureType + + // FailureTypeRollbackFailed is a FailureType enum value FailureTypeRollbackFailed = "RollbackFailed" - // @enum FailureType + + // FailureTypeRollbackSuccessful is a FailureType enum value FailureTypeRollbackSuccessful = "RollbackSuccessful" - // @enum FailureType + + // FailureTypeInternalFailure is a FailureType enum value FailureTypeInternalFailure = "InternalFailure" - // @enum FailureType + + // FailureTypeInvalidEnvironmentState is a FailureType enum value FailureTypeInvalidEnvironmentState = "InvalidEnvironmentState" - // @enum FailureType + + // FailureTypePermissionsError is a FailureType enum value FailureTypePermissionsError = "PermissionsError" ) const ( - // @enum InstancesHealthAttribute + // InstancesHealthAttributeHealthStatus is a InstancesHealthAttribute enum value InstancesHealthAttributeHealthStatus = "HealthStatus" - // @enum InstancesHealthAttribute + + // InstancesHealthAttributeColor is a InstancesHealthAttribute enum value InstancesHealthAttributeColor = "Color" - // @enum InstancesHealthAttribute + + // InstancesHealthAttributeCauses is a InstancesHealthAttribute enum value InstancesHealthAttributeCauses = "Causes" - // @enum InstancesHealthAttribute + + // InstancesHealthAttributeApplicationMetrics is a InstancesHealthAttribute enum value InstancesHealthAttributeApplicationMetrics = "ApplicationMetrics" - // @enum InstancesHealthAttribute + + // InstancesHealthAttributeRefreshedAt is a InstancesHealthAttribute enum value InstancesHealthAttributeRefreshedAt = "RefreshedAt" - // @enum InstancesHealthAttribute + + // InstancesHealthAttributeLaunchedAt is a InstancesHealthAttribute enum value InstancesHealthAttributeLaunchedAt = "LaunchedAt" - // @enum InstancesHealthAttribute + + // InstancesHealthAttributeSystem is a InstancesHealthAttribute enum value InstancesHealthAttributeSystem = "System" - // @enum InstancesHealthAttribute + + // InstancesHealthAttributeDeployment is a InstancesHealthAttribute enum value InstancesHealthAttributeDeployment = "Deployment" - // @enum InstancesHealthAttribute + + // InstancesHealthAttributeAvailabilityZone is a InstancesHealthAttribute enum value InstancesHealthAttributeAvailabilityZone = "AvailabilityZone" - // @enum InstancesHealthAttribute + + // InstancesHealthAttributeInstanceType is a InstancesHealthAttribute enum value InstancesHealthAttributeInstanceType = "InstanceType" - // @enum InstancesHealthAttribute + + // InstancesHealthAttributeAll is a InstancesHealthAttribute enum value InstancesHealthAttributeAll = "All" ) const ( - // @enum ValidationSeverity + // SourceRepositoryCodeCommit is a SourceRepository enum value + SourceRepositoryCodeCommit = "CodeCommit" +) + +const ( + // SourceTypeGit is a SourceType enum value + SourceTypeGit = "Git" +) + +const ( + // ValidationSeverityError is a ValidationSeverity enum value ValidationSeverityError = "error" - // @enum ValidationSeverity + + // ValidationSeverityWarning is a ValidationSeverity enum value ValidationSeverityWarning = "warning" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/service.go b/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/service.go index 5e6d4236d5d8..2b43a542852f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/service.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/service.go @@ -21,9 +21,9 @@ import ( // (http://elasticbeanstalk.s3.amazonaws.com/doc/2010-12-01/AWSElasticBeanstalk.wsdl). // To install the Software Development Kits (SDKs), Integrated Development Environment // (IDE) Toolkits, and command line tools that enable you to access the API, -// go to Tools for Amazon Web Services (https://aws.amazon.com/tools/). +// go to Tools for Amazon Web Services (http://aws.amazon.com/tools/). // -// Endpoints +// Endpoints // // For a list of region-specific endpoints that AWS Elastic Beanstalk supports, // go to Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#elasticbeanstalk_region) diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/api.go b/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/api.go index 756a84d6f741..665553687eb9 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/api.go @@ -15,7 +15,30 @@ import ( const opAddTags = "AddTags" -// AddTagsRequest generates a request for the AddTags operation. +// AddTagsRequest generates a "aws/request.Request" representing the +// client's request for the AddTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AddTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AddTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AddTagsRequest method. +// req, resp := client.AddTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticsearchService) AddTagsRequest(input *AddTagsInput) (req *request.Request, output *AddTagsOutput) { op := &request.Operation{ Name: opAddTags, @@ -35,10 +58,37 @@ func (c *ElasticsearchService) AddTagsRequest(input *AddTagsInput) (req *request return } +// AddTags API operation for Amazon Elasticsearch Service. +// // Attaches tags to an existing Elasticsearch domain. Tags are a set of case-sensitive // key value pairs. An Elasticsearch domain may have up to 10 tags. See Tagging // Amazon Elasticsearch Service Domains for more information. (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains.html#es-managedomains-awsresorcetagging" // target="_blank) +// +// 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 Elasticsearch Service's +// API operation AddTags for usage and error information. +// +// Returned Error Codes: +// * BaseException +// An error occurred while processing the request. +// +// * LimitExceededException +// An exception for trying to create more than allowed resources or sub-resources. +// Gives http status code of 409. +// +// * ValidationException +// An exception for missing / invalid input fields. Gives http status code of +// 400. +// +// * InternalException +// The request processing has failed because of an unknown error, exception +// or failure (the failure is internal to the service) . Gives http status code +// of 500. +// func (c *ElasticsearchService) AddTags(input *AddTagsInput) (*AddTagsOutput, error) { req, out := c.AddTagsRequest(input) err := req.Send() @@ -47,7 +97,30 @@ func (c *ElasticsearchService) AddTags(input *AddTagsInput) (*AddTagsOutput, err const opCreateElasticsearchDomain = "CreateElasticsearchDomain" -// CreateElasticsearchDomainRequest generates a request for the CreateElasticsearchDomain operation. +// CreateElasticsearchDomainRequest generates a "aws/request.Request" representing the +// client's request for the CreateElasticsearchDomain operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateElasticsearchDomain for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateElasticsearchDomain method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateElasticsearchDomainRequest method. +// req, resp := client.CreateElasticsearchDomainRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticsearchService) CreateElasticsearchDomainRequest(input *CreateElasticsearchDomainInput) (req *request.Request, output *CreateElasticsearchDomainOutput) { op := &request.Operation{ Name: opCreateElasticsearchDomain, @@ -65,9 +138,48 @@ func (c *ElasticsearchService) CreateElasticsearchDomainRequest(input *CreateEla return } +// CreateElasticsearchDomain API operation for Amazon Elasticsearch Service. +// // Creates a new Elasticsearch domain. For more information, see Creating Elasticsearch // Domains (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomains" // target="_blank) in the Amazon Elasticsearch Service Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon Elasticsearch Service's +// API operation CreateElasticsearchDomain for usage and error information. +// +// Returned Error Codes: +// * BaseException +// An error occurred while processing the request. +// +// * DisabledOperationException +// An error occured because the client wanted to access a not supported operation. +// Gives http status code of 409. +// +// * InternalException +// The request processing has failed because of an unknown error, exception +// or failure (the failure is internal to the service) . Gives http status code +// of 500. +// +// * InvalidTypeException +// An exception for trying to create or access sub-resource that is either invalid +// or not supported. Gives http status code of 409. +// +// * LimitExceededException +// An exception for trying to create more than allowed resources or sub-resources. +// Gives http status code of 409. +// +// * ResourceAlreadyExistsException +// An exception for creating a resource that already exists. Gives http status +// code of 400. +// +// * ValidationException +// An exception for missing / invalid input fields. Gives http status code of +// 400. +// func (c *ElasticsearchService) CreateElasticsearchDomain(input *CreateElasticsearchDomainInput) (*CreateElasticsearchDomainOutput, error) { req, out := c.CreateElasticsearchDomainRequest(input) err := req.Send() @@ -76,7 +188,30 @@ func (c *ElasticsearchService) CreateElasticsearchDomain(input *CreateElasticsea const opDeleteElasticsearchDomain = "DeleteElasticsearchDomain" -// DeleteElasticsearchDomainRequest generates a request for the DeleteElasticsearchDomain operation. +// DeleteElasticsearchDomainRequest generates a "aws/request.Request" representing the +// client's request for the DeleteElasticsearchDomain operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteElasticsearchDomain for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteElasticsearchDomain method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteElasticsearchDomainRequest method. +// req, resp := client.DeleteElasticsearchDomainRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticsearchService) DeleteElasticsearchDomainRequest(input *DeleteElasticsearchDomainInput) (req *request.Request, output *DeleteElasticsearchDomainOutput) { op := &request.Operation{ Name: opDeleteElasticsearchDomain, @@ -94,8 +229,35 @@ func (c *ElasticsearchService) DeleteElasticsearchDomainRequest(input *DeleteEla return } +// DeleteElasticsearchDomain API operation for Amazon Elasticsearch Service. +// // Permanently deletes the specified Elasticsearch domain and all of its data. // Once a domain is deleted, it cannot be recovered. +// +// 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 Elasticsearch Service's +// API operation DeleteElasticsearchDomain for usage and error information. +// +// Returned Error Codes: +// * BaseException +// An error occurred while processing the request. +// +// * InternalException +// The request processing has failed because of an unknown error, exception +// or failure (the failure is internal to the service) . Gives http status code +// of 500. +// +// * ResourceNotFoundException +// An exception for accessing or deleting a resource that does not exist. Gives +// http status code of 400. +// +// * ValidationException +// An exception for missing / invalid input fields. Gives http status code of +// 400. +// func (c *ElasticsearchService) DeleteElasticsearchDomain(input *DeleteElasticsearchDomainInput) (*DeleteElasticsearchDomainOutput, error) { req, out := c.DeleteElasticsearchDomainRequest(input) err := req.Send() @@ -104,7 +266,30 @@ func (c *ElasticsearchService) DeleteElasticsearchDomain(input *DeleteElasticsea const opDescribeElasticsearchDomain = "DescribeElasticsearchDomain" -// DescribeElasticsearchDomainRequest generates a request for the DescribeElasticsearchDomain operation. +// DescribeElasticsearchDomainRequest generates a "aws/request.Request" representing the +// client's request for the DescribeElasticsearchDomain operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeElasticsearchDomain for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeElasticsearchDomain method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeElasticsearchDomainRequest method. +// req, resp := client.DescribeElasticsearchDomainRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticsearchService) DescribeElasticsearchDomainRequest(input *DescribeElasticsearchDomainInput) (req *request.Request, output *DescribeElasticsearchDomainOutput) { op := &request.Operation{ Name: opDescribeElasticsearchDomain, @@ -122,8 +307,35 @@ func (c *ElasticsearchService) DescribeElasticsearchDomainRequest(input *Describ return } +// DescribeElasticsearchDomain API operation for Amazon Elasticsearch Service. +// // Returns domain configuration information about the specified Elasticsearch // domain, including the domain ID, domain endpoint, and domain ARN. +// +// 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 Elasticsearch Service's +// API operation DescribeElasticsearchDomain for usage and error information. +// +// Returned Error Codes: +// * BaseException +// An error occurred while processing the request. +// +// * InternalException +// The request processing has failed because of an unknown error, exception +// or failure (the failure is internal to the service) . Gives http status code +// of 500. +// +// * ResourceNotFoundException +// An exception for accessing or deleting a resource that does not exist. Gives +// http status code of 400. +// +// * ValidationException +// An exception for missing / invalid input fields. Gives http status code of +// 400. +// func (c *ElasticsearchService) DescribeElasticsearchDomain(input *DescribeElasticsearchDomainInput) (*DescribeElasticsearchDomainOutput, error) { req, out := c.DescribeElasticsearchDomainRequest(input) err := req.Send() @@ -132,7 +344,30 @@ func (c *ElasticsearchService) DescribeElasticsearchDomain(input *DescribeElasti const opDescribeElasticsearchDomainConfig = "DescribeElasticsearchDomainConfig" -// DescribeElasticsearchDomainConfigRequest generates a request for the DescribeElasticsearchDomainConfig operation. +// DescribeElasticsearchDomainConfigRequest generates a "aws/request.Request" representing the +// client's request for the DescribeElasticsearchDomainConfig operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeElasticsearchDomainConfig for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeElasticsearchDomainConfig method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeElasticsearchDomainConfigRequest method. +// req, resp := client.DescribeElasticsearchDomainConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticsearchService) DescribeElasticsearchDomainConfigRequest(input *DescribeElasticsearchDomainConfigInput) (req *request.Request, output *DescribeElasticsearchDomainConfigOutput) { op := &request.Operation{ Name: opDescribeElasticsearchDomainConfig, @@ -150,9 +385,36 @@ func (c *ElasticsearchService) DescribeElasticsearchDomainConfigRequest(input *D return } +// DescribeElasticsearchDomainConfig API operation for Amazon Elasticsearch Service. +// // Provides cluster configuration information about the specified Elasticsearch // domain, such as the state, creation date, update version, and update date // for cluster options. +// +// 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 Elasticsearch Service's +// API operation DescribeElasticsearchDomainConfig for usage and error information. +// +// Returned Error Codes: +// * BaseException +// An error occurred while processing the request. +// +// * InternalException +// The request processing has failed because of an unknown error, exception +// or failure (the failure is internal to the service) . Gives http status code +// of 500. +// +// * ResourceNotFoundException +// An exception for accessing or deleting a resource that does not exist. Gives +// http status code of 400. +// +// * ValidationException +// An exception for missing / invalid input fields. Gives http status code of +// 400. +// func (c *ElasticsearchService) DescribeElasticsearchDomainConfig(input *DescribeElasticsearchDomainConfigInput) (*DescribeElasticsearchDomainConfigOutput, error) { req, out := c.DescribeElasticsearchDomainConfigRequest(input) err := req.Send() @@ -161,7 +423,30 @@ func (c *ElasticsearchService) DescribeElasticsearchDomainConfig(input *Describe const opDescribeElasticsearchDomains = "DescribeElasticsearchDomains" -// DescribeElasticsearchDomainsRequest generates a request for the DescribeElasticsearchDomains operation. +// DescribeElasticsearchDomainsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeElasticsearchDomains operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeElasticsearchDomains for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeElasticsearchDomains method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeElasticsearchDomainsRequest method. +// req, resp := client.DescribeElasticsearchDomainsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticsearchService) DescribeElasticsearchDomainsRequest(input *DescribeElasticsearchDomainsInput) (req *request.Request, output *DescribeElasticsearchDomainsOutput) { op := &request.Operation{ Name: opDescribeElasticsearchDomains, @@ -179,8 +464,31 @@ func (c *ElasticsearchService) DescribeElasticsearchDomainsRequest(input *Descri return } +// DescribeElasticsearchDomains API operation for Amazon Elasticsearch Service. +// // Returns domain configuration information about the specified Elasticsearch // domains, including the domain ID, domain endpoint, and domain ARN. +// +// 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 Elasticsearch Service's +// API operation DescribeElasticsearchDomains for usage and error information. +// +// Returned Error Codes: +// * BaseException +// An error occurred while processing the request. +// +// * InternalException +// The request processing has failed because of an unknown error, exception +// or failure (the failure is internal to the service) . Gives http status code +// of 500. +// +// * ValidationException +// An exception for missing / invalid input fields. Gives http status code of +// 400. +// func (c *ElasticsearchService) DescribeElasticsearchDomains(input *DescribeElasticsearchDomainsInput) (*DescribeElasticsearchDomainsOutput, error) { req, out := c.DescribeElasticsearchDomainsRequest(input) err := req.Send() @@ -189,7 +497,30 @@ func (c *ElasticsearchService) DescribeElasticsearchDomains(input *DescribeElast const opListDomainNames = "ListDomainNames" -// ListDomainNamesRequest generates a request for the ListDomainNames operation. +// ListDomainNamesRequest generates a "aws/request.Request" representing the +// client's request for the ListDomainNames operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListDomainNames for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListDomainNames method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListDomainNamesRequest method. +// req, resp := client.ListDomainNamesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticsearchService) ListDomainNamesRequest(input *ListDomainNamesInput) (req *request.Request, output *ListDomainNamesOutput) { op := &request.Operation{ Name: opListDomainNames, @@ -207,8 +538,26 @@ func (c *ElasticsearchService) ListDomainNamesRequest(input *ListDomainNamesInpu return } +// ListDomainNames API operation for Amazon Elasticsearch Service. +// // Returns the name of all Elasticsearch domains owned by the current user's // 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 Elasticsearch Service's +// API operation ListDomainNames for usage and error information. +// +// Returned Error Codes: +// * BaseException +// An error occurred while processing the request. +// +// * ValidationException +// An exception for missing / invalid input fields. Gives http status code of +// 400. +// func (c *ElasticsearchService) ListDomainNames(input *ListDomainNamesInput) (*ListDomainNamesOutput, error) { req, out := c.ListDomainNamesRequest(input) err := req.Send() @@ -217,7 +566,30 @@ func (c *ElasticsearchService) ListDomainNames(input *ListDomainNamesInput) (*Li const opListTags = "ListTags" -// ListTagsRequest generates a request for the ListTags operation. +// ListTagsRequest generates a "aws/request.Request" representing the +// client's request for the ListTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListTagsRequest method. +// req, resp := client.ListTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticsearchService) ListTagsRequest(input *ListTagsInput) (req *request.Request, output *ListTagsOutput) { op := &request.Operation{ Name: opListTags, @@ -235,7 +607,34 @@ func (c *ElasticsearchService) ListTagsRequest(input *ListTagsInput) (req *reque return } +// ListTags API operation for Amazon Elasticsearch Service. +// // Returns all tags for the given Elasticsearch domain. +// +// 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 Elasticsearch Service's +// API operation ListTags for usage and error information. +// +// Returned Error Codes: +// * BaseException +// An error occurred while processing the request. +// +// * ResourceNotFoundException +// An exception for accessing or deleting a resource that does not exist. Gives +// http status code of 400. +// +// * ValidationException +// An exception for missing / invalid input fields. Gives http status code of +// 400. +// +// * InternalException +// The request processing has failed because of an unknown error, exception +// or failure (the failure is internal to the service) . Gives http status code +// of 500. +// func (c *ElasticsearchService) ListTags(input *ListTagsInput) (*ListTagsOutput, error) { req, out := c.ListTagsRequest(input) err := req.Send() @@ -244,7 +643,30 @@ func (c *ElasticsearchService) ListTags(input *ListTagsInput) (*ListTagsOutput, const opRemoveTags = "RemoveTags" -// RemoveTagsRequest generates a request for the RemoveTags operation. +// RemoveTagsRequest generates a "aws/request.Request" representing the +// client's request for the RemoveTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RemoveTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RemoveTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RemoveTagsRequest method. +// req, resp := client.RemoveTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticsearchService) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, output *RemoveTagsOutput) { op := &request.Operation{ Name: opRemoveTags, @@ -264,7 +686,30 @@ func (c *ElasticsearchService) RemoveTagsRequest(input *RemoveTagsInput) (req *r return } +// RemoveTags API operation for Amazon Elasticsearch Service. +// // Removes the specified set of tags from the specified Elasticsearch domain. +// +// 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 Elasticsearch Service's +// API operation RemoveTags for usage and error information. +// +// Returned Error Codes: +// * BaseException +// An error occurred while processing the request. +// +// * ValidationException +// An exception for missing / invalid input fields. Gives http status code of +// 400. +// +// * InternalException +// The request processing has failed because of an unknown error, exception +// or failure (the failure is internal to the service) . Gives http status code +// of 500. +// func (c *ElasticsearchService) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, error) { req, out := c.RemoveTagsRequest(input) err := req.Send() @@ -273,7 +718,30 @@ func (c *ElasticsearchService) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOu const opUpdateElasticsearchDomainConfig = "UpdateElasticsearchDomainConfig" -// UpdateElasticsearchDomainConfigRequest generates a request for the UpdateElasticsearchDomainConfig operation. +// UpdateElasticsearchDomainConfigRequest generates a "aws/request.Request" representing the +// client's request for the UpdateElasticsearchDomainConfig operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateElasticsearchDomainConfig for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateElasticsearchDomainConfig method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateElasticsearchDomainConfigRequest method. +// req, resp := client.UpdateElasticsearchDomainConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ElasticsearchService) UpdateElasticsearchDomainConfigRequest(input *UpdateElasticsearchDomainConfigInput) (req *request.Request, output *UpdateElasticsearchDomainConfigOutput) { op := &request.Operation{ Name: opUpdateElasticsearchDomainConfig, @@ -291,8 +759,43 @@ func (c *ElasticsearchService) UpdateElasticsearchDomainConfigRequest(input *Upd return } +// UpdateElasticsearchDomainConfig API operation for Amazon Elasticsearch Service. +// // Modifies the cluster configuration of the specified Elasticsearch domain, // setting as setting the instance type and the number of instances. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elasticsearch Service's +// API operation UpdateElasticsearchDomainConfig for usage and error information. +// +// Returned Error Codes: +// * BaseException +// An error occurred while processing the request. +// +// * InternalException +// The request processing has failed because of an unknown error, exception +// or failure (the failure is internal to the service) . Gives http status code +// of 500. +// +// * InvalidTypeException +// An exception for trying to create or access sub-resource that is either invalid +// or not supported. Gives http status code of 409. +// +// * LimitExceededException +// An exception for trying to create more than allowed resources or sub-resources. +// Gives http status code of 409. +// +// * ResourceNotFoundException +// An exception for accessing or deleting a resource that does not exist. Gives +// http status code of 400. +// +// * ValidationException +// An exception for missing / invalid input fields. Gives http status code of +// 400. +// func (c *ElasticsearchService) UpdateElasticsearchDomainConfig(input *UpdateElasticsearchDomainConfigInput) (*UpdateElasticsearchDomainConfigOutput, error) { req, out := c.UpdateElasticsearchDomainConfigRequest(input) err := req.Send() @@ -308,10 +811,14 @@ type AccessPoliciesStatus struct { // may be resource-based, IP-based, or IAM-based. See Configuring Access Policies // (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-access-policies" // target="_blank)for more information. + // + // Options is a required field Options *string `type:"string" required:"true"` // The status of the access policy for the Elasticsearch domain. See OptionStatus // for the status information that's included. + // + // Status is a required field Status *OptionStatus `type:"structure" required:"true"` } @@ -331,9 +838,13 @@ type AddTagsInput struct { _ struct{} `type:"structure"` // Specify the ARN for which you want to add the tags. + // + // ARN is a required field ARN *string `type:"string" required:"true"` // List of Tag that need to be added for the Elasticsearch domain. + // + // TagList is a required field TagList []*Tag `type:"list" required:"true"` } @@ -401,10 +912,14 @@ type AdvancedOptionsStatus struct { // Specifies the status of advanced options for the specified Elasticsearch // domain. + // + // Options is a required field Options map[string]*string `type:"map" required:"true"` // Specifies the status of OptionStatus for advanced options for the specified // Elasticsearch domain. + // + // Status is a required field Status *OptionStatus `type:"structure" required:"true"` } @@ -434,6 +949,8 @@ type CreateElasticsearchDomainInput struct { // are unique across the domains owned by an account within an AWS region. Domain // names must start with a letter or number and can contain the following characters: // a-z (lowercase), 0-9, and - (hyphen). + // + // DomainName is a required field DomainName *string `min:"3" type:"string" required:"true"` // Options to enable, disable and specify the type and size of EBS storage volumes. @@ -443,6 +960,12 @@ type CreateElasticsearchDomainInput struct { // type and number of instances in the domain cluster. ElasticsearchClusterConfig *ElasticsearchClusterConfig `type:"structure"` + // String of format X.Y to specify version for the Elasticsearch domain eg. + // "1.5" or "2.3". For more information, see Creating Elasticsearch Domains + // (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomains" + // target="_blank) in the Amazon Elasticsearch Service Developer Guide. + ElasticsearchVersion *string `type:"string"` + // Option to set time, in UTC format, of the daily automated snapshot. Default // value is 0 hours. SnapshotOptions *SnapshotOptions `type:"structure"` @@ -499,6 +1022,8 @@ type DeleteElasticsearchDomainInput struct { _ struct{} `type:"structure"` // The name of the Elasticsearch domain that you want to permanently delete. + // + // DomainName is a required field DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"` } @@ -554,6 +1079,8 @@ type DescribeElasticsearchDomainConfigInput struct { _ struct{} `type:"structure"` // The Elasticsearch domain that you want to get information about. + // + // DomainName is a required field DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"` } @@ -590,6 +1117,8 @@ type DescribeElasticsearchDomainConfigOutput struct { // The configuration information of the domain requested in the DescribeElasticsearchDomainConfig // request. + // + // DomainConfig is a required field DomainConfig *ElasticsearchDomainConfig `type:"structure" required:"true"` } @@ -608,6 +1137,8 @@ type DescribeElasticsearchDomainInput struct { _ struct{} `type:"structure"` // The name of the Elasticsearch domain for which you want information. + // + // DomainName is a required field DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"` } @@ -643,6 +1174,8 @@ type DescribeElasticsearchDomainOutput struct { _ struct{} `type:"structure"` // The current status of the Elasticsearch domain. + // + // DomainStatus is a required field DomainStatus *ElasticsearchDomainStatus `type:"structure" required:"true"` } @@ -662,6 +1195,8 @@ type DescribeElasticsearchDomainsInput struct { _ struct{} `type:"structure"` // The Elasticsearch domains for which you want information. + // + // DomainNames is a required field DomainNames []*string `type:"list" required:"true"` } @@ -694,6 +1229,8 @@ type DescribeElasticsearchDomainsOutput struct { _ struct{} `type:"structure"` // The status of the domains requested in the DescribeElasticsearchDomains request. + // + // DomainStatusList is a required field DomainStatusList []*ElasticsearchDomainStatus `type:"list" required:"true"` } @@ -758,9 +1295,13 @@ type EBSOptionsStatus struct { _ struct{} `type:"structure"` // Specifies the EBS options for the specified Elasticsearch domain. + // + // Options is a required field Options *EBSOptions `type:"structure" required:"true"` // Specifies the status of the EBS options for the specified Elasticsearch domain. + // + // Status is a required field Status *OptionStatus `type:"structure" required:"true"` } @@ -817,10 +1358,14 @@ type ElasticsearchClusterConfigStatus struct { _ struct{} `type:"structure"` // Specifies the cluster configuration for the specified Elasticsearch domain. + // + // Options is a required field Options *ElasticsearchClusterConfig `type:"structure" required:"true"` // Specifies the status of the configuration for the specified Elasticsearch // domain. + // + // Status is a required field Status *OptionStatus `type:"structure" required:"true"` } @@ -852,6 +1397,9 @@ type ElasticsearchDomainConfig struct { // Specifies the ElasticsearchClusterConfig for the Elasticsearch domain. ElasticsearchClusterConfig *ElasticsearchClusterConfigStatus `type:"structure"` + // String of format X.Y to specify version for the Elasticsearch domain. + ElasticsearchVersion *ElasticsearchVersionStatus `type:"structure"` + // Specifies the SnapshotOptions for the Elasticsearch domain. SnapshotOptions *SnapshotOptionsStatus `type:"structure"` } @@ -873,6 +1421,8 @@ type ElasticsearchDomainStatus struct { // The Amazon resource name (ARN) of an Elasticsearch domain. See Identifiers // for IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/index.html?Using_Identifiers.html" // target="_blank) in Using AWS Identity and Access Management for more information. + // + // ARN is a required field ARN *string `type:"string" required:"true"` // IAM access policy as a JSON-formatted string. @@ -892,12 +1442,16 @@ type ElasticsearchDomainStatus struct { Deleted *bool `type:"boolean"` // The unique identifier for the specified Elasticsearch domain. + // + // DomainId is a required field DomainId *string `min:"1" type:"string" required:"true"` // The name of an Elasticsearch domain. Domain names are unique across the domains // owned by an account within an AWS region. Domain names start with a letter // or number and can contain the following characters: a-z (lowercase), 0-9, // and - (hyphen). + // + // DomainName is a required field DomainName *string `min:"3" type:"string" required:"true"` // The EBSOptions for the specified domain. See Configuring EBS-based Storage @@ -906,8 +1460,12 @@ type ElasticsearchDomainStatus struct { EBSOptions *EBSOptions `type:"structure"` // The type and number of instances in the domain cluster. + // + // ElasticsearchClusterConfig is a required field ElasticsearchClusterConfig *ElasticsearchClusterConfig `type:"structure" required:"true"` + ElasticsearchVersion *string `type:"string"` + // The Elasticsearch domain endpoint that you use to submit index and search // requests. Endpoint *string `type:"string"` @@ -931,6 +1489,33 @@ func (s ElasticsearchDomainStatus) GoString() string { return s.String() } +// Status of the Elasticsearch version options for the specified Elasticsearch +// domain. +type ElasticsearchVersionStatus struct { + _ struct{} `type:"structure"` + + // Specifies the Elasticsearch version for the specified Elasticsearch domain. + // + // Options is a required field + Options *string `type:"string" required:"true"` + + // Specifies the status of the Elasticsearch version options for the specified + // Elasticsearch domain. + // + // Status is a required field + Status *OptionStatus `type:"structure" required:"true"` +} + +// String returns the string representation +func (s ElasticsearchVersionStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ElasticsearchVersionStatus) GoString() string { + return s.String() +} + type ListDomainNamesInput struct { _ struct{} `type:"structure"` } @@ -972,6 +1557,8 @@ type ListTagsInput struct { // Specify the ARN for the Elasticsearch domain to which the tags are attached // that you want to view. + // + // ARN is a required field ARN *string `location:"querystring" locationName:"arn" type:"string" required:"true"` } @@ -1022,15 +1609,21 @@ type OptionStatus struct { _ struct{} `type:"structure"` // Timestamp which tells the creation date for the entity. + // + // CreationDate is a required field CreationDate *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"` // Indicates whether the Elasticsearch domain is being deleted. PendingDeletion *bool `type:"boolean"` // Provides the OptionState for the Elasticsearch domain. + // + // State is a required field State *string `type:"string" required:"true" enum:"OptionState"` // Timestamp which tells the last updated time for the entity. + // + // UpdateDate is a required field UpdateDate *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"` // Specifies the latest version for the entity. @@ -1055,10 +1648,14 @@ type RemoveTagsInput struct { // Specifies the ARN for the Elasticsearch domain from which you want to delete // the specified tags. + // + // ARN is a required field ARN *string `type:"string" required:"true"` // Specifies the TagKey list which you want to remove from the Elasticsearch // domain. + // + // TagKeys is a required field TagKeys []*string `type:"list" required:"true"` } @@ -1127,9 +1724,13 @@ type SnapshotOptionsStatus struct { _ struct{} `type:"structure"` // Specifies the daily snapshot options specified for the Elasticsearch domain. + // + // Options is a required field Options *SnapshotOptions `type:"structure" required:"true"` // Specifies the status of a daily automated snapshot. + // + // Status is a required field Status *OptionStatus `type:"structure" required:"true"` } @@ -1149,12 +1750,16 @@ type Tag struct { // Specifies the TagKey, the name of the tag. Tag keys must be unique for the // Elasticsearch domain to which they are attached. + // + // Key is a required field Key *string `min:"1" type:"string" required:"true"` // Specifies the TagValue, the value assigned to the corresponding tag key. // Tag values can be null and do not have to be unique in a tag set. For example, // you can have a key value pair in a tag set of project : Trinity and cost-center // : Trinity + // + // Value is a required field Value *string `type:"string" required:"true"` } @@ -1202,6 +1807,8 @@ type UpdateElasticsearchDomainConfigInput struct { AdvancedOptions map[string]*string `type:"map"` // The name of the Elasticsearch domain that you are updating. + // + // DomainName is a required field DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"` // Specify the type and size of the EBS volume that you want to use. @@ -1247,6 +1854,8 @@ type UpdateElasticsearchDomainConfigOutput struct { _ struct{} `type:"structure"` // The status of the updated Elasticsearch domain. + // + // DomainConfig is a required field DomainConfig *ElasticsearchDomainConfig `type:"structure" required:"true"` } @@ -1261,33 +1870,61 @@ func (s UpdateElasticsearchDomainConfigOutput) GoString() string { } const ( - // @enum ESPartitionInstanceType + // ESPartitionInstanceTypeM3MediumElasticsearch is a ESPartitionInstanceType enum value ESPartitionInstanceTypeM3MediumElasticsearch = "m3.medium.elasticsearch" - // @enum ESPartitionInstanceType + + // ESPartitionInstanceTypeM3LargeElasticsearch is a ESPartitionInstanceType enum value ESPartitionInstanceTypeM3LargeElasticsearch = "m3.large.elasticsearch" - // @enum ESPartitionInstanceType + + // ESPartitionInstanceTypeM3XlargeElasticsearch is a ESPartitionInstanceType enum value ESPartitionInstanceTypeM3XlargeElasticsearch = "m3.xlarge.elasticsearch" - // @enum ESPartitionInstanceType + + // ESPartitionInstanceTypeM32xlargeElasticsearch is a ESPartitionInstanceType enum value ESPartitionInstanceTypeM32xlargeElasticsearch = "m3.2xlarge.elasticsearch" - // @enum ESPartitionInstanceType + + // ESPartitionInstanceTypeM4LargeElasticsearch is a ESPartitionInstanceType enum value + ESPartitionInstanceTypeM4LargeElasticsearch = "m4.large.elasticsearch" + + // ESPartitionInstanceTypeM4XlargeElasticsearch is a ESPartitionInstanceType enum value + ESPartitionInstanceTypeM4XlargeElasticsearch = "m4.xlarge.elasticsearch" + + // ESPartitionInstanceTypeM42xlargeElasticsearch is a ESPartitionInstanceType enum value + ESPartitionInstanceTypeM42xlargeElasticsearch = "m4.2xlarge.elasticsearch" + + // ESPartitionInstanceTypeM44xlargeElasticsearch is a ESPartitionInstanceType enum value + ESPartitionInstanceTypeM44xlargeElasticsearch = "m4.4xlarge.elasticsearch" + + // ESPartitionInstanceTypeM410xlargeElasticsearch is a ESPartitionInstanceType enum value + ESPartitionInstanceTypeM410xlargeElasticsearch = "m4.10xlarge.elasticsearch" + + // ESPartitionInstanceTypeT2MicroElasticsearch is a ESPartitionInstanceType enum value ESPartitionInstanceTypeT2MicroElasticsearch = "t2.micro.elasticsearch" - // @enum ESPartitionInstanceType + + // ESPartitionInstanceTypeT2SmallElasticsearch is a ESPartitionInstanceType enum value ESPartitionInstanceTypeT2SmallElasticsearch = "t2.small.elasticsearch" - // @enum ESPartitionInstanceType + + // ESPartitionInstanceTypeT2MediumElasticsearch is a ESPartitionInstanceType enum value ESPartitionInstanceTypeT2MediumElasticsearch = "t2.medium.elasticsearch" - // @enum ESPartitionInstanceType + + // ESPartitionInstanceTypeR3LargeElasticsearch is a ESPartitionInstanceType enum value ESPartitionInstanceTypeR3LargeElasticsearch = "r3.large.elasticsearch" - // @enum ESPartitionInstanceType + + // ESPartitionInstanceTypeR3XlargeElasticsearch is a ESPartitionInstanceType enum value ESPartitionInstanceTypeR3XlargeElasticsearch = "r3.xlarge.elasticsearch" - // @enum ESPartitionInstanceType + + // ESPartitionInstanceTypeR32xlargeElasticsearch is a ESPartitionInstanceType enum value ESPartitionInstanceTypeR32xlargeElasticsearch = "r3.2xlarge.elasticsearch" - // @enum ESPartitionInstanceType + + // ESPartitionInstanceTypeR34xlargeElasticsearch is a ESPartitionInstanceType enum value ESPartitionInstanceTypeR34xlargeElasticsearch = "r3.4xlarge.elasticsearch" - // @enum ESPartitionInstanceType + + // ESPartitionInstanceTypeR38xlargeElasticsearch is a ESPartitionInstanceType enum value ESPartitionInstanceTypeR38xlargeElasticsearch = "r3.8xlarge.elasticsearch" - // @enum ESPartitionInstanceType + + // ESPartitionInstanceTypeI2XlargeElasticsearch is a ESPartitionInstanceType enum value ESPartitionInstanceTypeI2XlargeElasticsearch = "i2.xlarge.elasticsearch" - // @enum ESPartitionInstanceType + + // ESPartitionInstanceTypeI22xlargeElasticsearch is a ESPartitionInstanceType enum value ESPartitionInstanceTypeI22xlargeElasticsearch = "i2.2xlarge.elasticsearch" ) @@ -1296,11 +1933,13 @@ const ( // Processing: The request change is still in-process. Active: The request // change is processed and deployed to the Elasticsearch domain. const ( - // @enum OptionState + // OptionStateRequiresIndexDocuments is a OptionState enum value OptionStateRequiresIndexDocuments = "RequiresIndexDocuments" - // @enum OptionState + + // OptionStateProcessing is a OptionState enum value OptionStateProcessing = "Processing" - // @enum OptionState + + // OptionStateActive is a OptionState enum value OptionStateActive = "Active" ) @@ -1308,10 +1947,12 @@ const ( // Storage (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-ebs" // target="_blank)for more information. const ( - // @enum VolumeType + // VolumeTypeStandard is a VolumeType enum value VolumeTypeStandard = "standard" - // @enum VolumeType + + // VolumeTypeGp2 is a VolumeType enum value VolumeTypeGp2 = "gp2" - // @enum VolumeType + + // VolumeTypeIo1 is a VolumeType enum value VolumeTypeIo1 = "io1" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/elastictranscoder/api.go b/vendor/github.com/aws/aws-sdk-go/service/elastictranscoder/api.go new file mode 100644 index 000000000000..5d60f2c00d4a --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/elastictranscoder/api.go @@ -0,0 +1,5533 @@ +// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. + +// Package elastictranscoder provides a client for Amazon Elastic Transcoder. +package elastictranscoder + +import ( + "fmt" + + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" +) + +const opCancelJob = "CancelJob" + +// CancelJobRequest generates a "aws/request.Request" representing the +// client's request for the CancelJob operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CancelJob for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CancelJob method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CancelJobRequest method. +// req, resp := client.CancelJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ElasticTranscoder) CancelJobRequest(input *CancelJobInput) (req *request.Request, output *CancelJobOutput) { + op := &request.Operation{ + Name: opCancelJob, + HTTPMethod: "DELETE", + HTTPPath: "/2012-09-25/jobs/{Id}", + } + + if input == nil { + input = &CancelJobInput{} + } + + req = c.newRequest(op, input, output) + output = &CancelJobOutput{} + req.Data = output + return +} + +// CancelJob API operation for Amazon Elastic Transcoder. +// +// The CancelJob operation cancels an unfinished job. +// +// You can only cancel a job that has a status of Submitted. To prevent a pipeline +// from starting to process a job while you're getting the job identifier, use +// UpdatePipelineStatus to temporarily pause the pipeline. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Transcoder's +// API operation CancelJob for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// One or more required parameter values were not provided in the request. +// +// * IncompatibleVersionException + +// +// * ResourceNotFoundException +// The requested resource does not exist or is not available. For example, the +// pipeline to which you're trying to add a job doesn't exist or is still being +// created. +// +// * ResourceInUseException +// The resource you are attempting to change is in use. For example, you are +// attempting to delete a pipeline that is currently in use. +// +// * AccessDeniedException +// General authentication failure. The request was not signed correctly. +// +// * InternalServiceException +// Elastic Transcoder encountered an unexpected exception while trying to fulfill +// the request. +// +func (c *ElasticTranscoder) CancelJob(input *CancelJobInput) (*CancelJobOutput, error) { + req, out := c.CancelJobRequest(input) + err := req.Send() + return out, err +} + +const opCreateJob = "CreateJob" + +// CreateJobRequest generates a "aws/request.Request" representing the +// client's request for the CreateJob operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateJob for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateJob method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateJobRequest method. +// req, resp := client.CreateJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ElasticTranscoder) CreateJobRequest(input *CreateJobInput) (req *request.Request, output *CreateJobResponse) { + op := &request.Operation{ + Name: opCreateJob, + HTTPMethod: "POST", + HTTPPath: "/2012-09-25/jobs", + } + + if input == nil { + input = &CreateJobInput{} + } + + req = c.newRequest(op, input, output) + output = &CreateJobResponse{} + req.Data = output + return +} + +// CreateJob API operation for Amazon Elastic Transcoder. +// +// When you create a job, Elastic Transcoder returns JSON data that includes +// the values that you specified plus information about the job that is created. +// +// If you have specified more than one output for your jobs (for example, one +// output for the Kindle Fire and another output for the Apple iPhone 4s), you +// currently must use the Elastic Transcoder API to list the jobs (as opposed +// to the AWS Console). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Transcoder's +// API operation CreateJob for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// One or more required parameter values were not provided in the request. +// +// * IncompatibleVersionException + +// +// * ResourceNotFoundException +// The requested resource does not exist or is not available. For example, the +// pipeline to which you're trying to add a job doesn't exist or is still being +// created. +// +// * AccessDeniedException +// General authentication failure. The request was not signed correctly. +// +// * LimitExceededException +// Too many operations for a given AWS account. For example, the number of pipelines +// exceeds the maximum allowed. +// +// * InternalServiceException +// Elastic Transcoder encountered an unexpected exception while trying to fulfill +// the request. +// +func (c *ElasticTranscoder) CreateJob(input *CreateJobInput) (*CreateJobResponse, error) { + req, out := c.CreateJobRequest(input) + err := req.Send() + return out, err +} + +const opCreatePipeline = "CreatePipeline" + +// CreatePipelineRequest generates a "aws/request.Request" representing the +// client's request for the CreatePipeline operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreatePipeline for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreatePipeline method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreatePipelineRequest method. +// req, resp := client.CreatePipelineRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ElasticTranscoder) CreatePipelineRequest(input *CreatePipelineInput) (req *request.Request, output *CreatePipelineOutput) { + op := &request.Operation{ + Name: opCreatePipeline, + HTTPMethod: "POST", + HTTPPath: "/2012-09-25/pipelines", + } + + if input == nil { + input = &CreatePipelineInput{} + } + + req = c.newRequest(op, input, output) + output = &CreatePipelineOutput{} + req.Data = output + return +} + +// CreatePipeline API operation for Amazon Elastic Transcoder. +// +// The CreatePipeline operation creates a pipeline with settings that you specify. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Transcoder's +// API operation CreatePipeline for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// One or more required parameter values were not provided in the request. +// +// * IncompatibleVersionException + +// +// * AccessDeniedException +// General authentication failure. The request was not signed correctly. +// +// * ResourceNotFoundException +// The requested resource does not exist or is not available. For example, the +// pipeline to which you're trying to add a job doesn't exist or is still being +// created. +// +// * LimitExceededException +// Too many operations for a given AWS account. For example, the number of pipelines +// exceeds the maximum allowed. +// +// * InternalServiceException +// Elastic Transcoder encountered an unexpected exception while trying to fulfill +// the request. +// +func (c *ElasticTranscoder) CreatePipeline(input *CreatePipelineInput) (*CreatePipelineOutput, error) { + req, out := c.CreatePipelineRequest(input) + err := req.Send() + return out, err +} + +const opCreatePreset = "CreatePreset" + +// CreatePresetRequest generates a "aws/request.Request" representing the +// client's request for the CreatePreset operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreatePreset for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreatePreset method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreatePresetRequest method. +// req, resp := client.CreatePresetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ElasticTranscoder) CreatePresetRequest(input *CreatePresetInput) (req *request.Request, output *CreatePresetOutput) { + op := &request.Operation{ + Name: opCreatePreset, + HTTPMethod: "POST", + HTTPPath: "/2012-09-25/presets", + } + + if input == nil { + input = &CreatePresetInput{} + } + + req = c.newRequest(op, input, output) + output = &CreatePresetOutput{} + req.Data = output + return +} + +// CreatePreset API operation for Amazon Elastic Transcoder. +// +// The CreatePreset operation creates a preset with settings that you specify. +// +// Elastic Transcoder checks the CreatePreset settings to ensure that they +// meet Elastic Transcoder requirements and to determine whether they comply +// with H.264 standards. If your settings are not valid for Elastic Transcoder, +// Elastic Transcoder returns an HTTP 400 response (ValidationException) and +// does not create the preset. If the settings are valid for Elastic Transcoder +// but aren't strictly compliant with the H.264 standard, Elastic Transcoder +// creates the preset and returns a warning message in the response. This helps +// you determine whether your settings comply with the H.264 standard while +// giving you greater flexibility with respect to the video that Elastic Transcoder +// produces. Elastic Transcoder uses the H.264 video-compression format. For +// more information, see the International Telecommunication Union publication +// Recommendation ITU-T H.264: Advanced video coding for generic audiovisual +// services. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Transcoder's +// API operation CreatePreset for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// One or more required parameter values were not provided in the request. +// +// * IncompatibleVersionException + +// +// * AccessDeniedException +// General authentication failure. The request was not signed correctly. +// +// * LimitExceededException +// Too many operations for a given AWS account. For example, the number of pipelines +// exceeds the maximum allowed. +// +// * InternalServiceException +// Elastic Transcoder encountered an unexpected exception while trying to fulfill +// the request. +// +func (c *ElasticTranscoder) CreatePreset(input *CreatePresetInput) (*CreatePresetOutput, error) { + req, out := c.CreatePresetRequest(input) + err := req.Send() + return out, err +} + +const opDeletePipeline = "DeletePipeline" + +// DeletePipelineRequest generates a "aws/request.Request" representing the +// client's request for the DeletePipeline operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeletePipeline for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeletePipeline method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeletePipelineRequest method. +// req, resp := client.DeletePipelineRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ElasticTranscoder) DeletePipelineRequest(input *DeletePipelineInput) (req *request.Request, output *DeletePipelineOutput) { + op := &request.Operation{ + Name: opDeletePipeline, + HTTPMethod: "DELETE", + HTTPPath: "/2012-09-25/pipelines/{Id}", + } + + if input == nil { + input = &DeletePipelineInput{} + } + + req = c.newRequest(op, input, output) + output = &DeletePipelineOutput{} + req.Data = output + return +} + +// DeletePipeline API operation for Amazon Elastic Transcoder. +// +// The DeletePipeline operation removes a pipeline. +// +// You can only delete a pipeline that has never been used or that is not +// currently in use (doesn't contain any active jobs). If the pipeline is currently +// in use, DeletePipeline returns an error. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Transcoder's +// API operation DeletePipeline for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// One or more required parameter values were not provided in the request. +// +// * IncompatibleVersionException + +// +// * ResourceNotFoundException +// The requested resource does not exist or is not available. For example, the +// pipeline to which you're trying to add a job doesn't exist or is still being +// created. +// +// * ResourceInUseException +// The resource you are attempting to change is in use. For example, you are +// attempting to delete a pipeline that is currently in use. +// +// * AccessDeniedException +// General authentication failure. The request was not signed correctly. +// +// * InternalServiceException +// Elastic Transcoder encountered an unexpected exception while trying to fulfill +// the request. +// +func (c *ElasticTranscoder) DeletePipeline(input *DeletePipelineInput) (*DeletePipelineOutput, error) { + req, out := c.DeletePipelineRequest(input) + err := req.Send() + return out, err +} + +const opDeletePreset = "DeletePreset" + +// DeletePresetRequest generates a "aws/request.Request" representing the +// client's request for the DeletePreset operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeletePreset for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeletePreset method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeletePresetRequest method. +// req, resp := client.DeletePresetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ElasticTranscoder) DeletePresetRequest(input *DeletePresetInput) (req *request.Request, output *DeletePresetOutput) { + op := &request.Operation{ + Name: opDeletePreset, + HTTPMethod: "DELETE", + HTTPPath: "/2012-09-25/presets/{Id}", + } + + if input == nil { + input = &DeletePresetInput{} + } + + req = c.newRequest(op, input, output) + output = &DeletePresetOutput{} + req.Data = output + return +} + +// DeletePreset API operation for Amazon Elastic Transcoder. +// +// The DeletePreset operation removes a preset that you've added in an AWS region. +// +// You can't delete the default presets that are included with Elastic Transcoder. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Transcoder's +// API operation DeletePreset for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// One or more required parameter values were not provided in the request. +// +// * IncompatibleVersionException + +// +// * ResourceNotFoundException +// The requested resource does not exist or is not available. For example, the +// pipeline to which you're trying to add a job doesn't exist or is still being +// created. +// +// * AccessDeniedException +// General authentication failure. The request was not signed correctly. +// +// * InternalServiceException +// Elastic Transcoder encountered an unexpected exception while trying to fulfill +// the request. +// +func (c *ElasticTranscoder) DeletePreset(input *DeletePresetInput) (*DeletePresetOutput, error) { + req, out := c.DeletePresetRequest(input) + err := req.Send() + return out, err +} + +const opListJobsByPipeline = "ListJobsByPipeline" + +// ListJobsByPipelineRequest generates a "aws/request.Request" representing the +// client's request for the ListJobsByPipeline operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListJobsByPipeline for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListJobsByPipeline method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListJobsByPipelineRequest method. +// req, resp := client.ListJobsByPipelineRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ElasticTranscoder) ListJobsByPipelineRequest(input *ListJobsByPipelineInput) (req *request.Request, output *ListJobsByPipelineOutput) { + op := &request.Operation{ + Name: opListJobsByPipeline, + HTTPMethod: "GET", + HTTPPath: "/2012-09-25/jobsByPipeline/{PipelineId}", + Paginator: &request.Paginator{ + InputTokens: []string{"PageToken"}, + OutputTokens: []string{"NextPageToken"}, + LimitToken: "", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListJobsByPipelineInput{} + } + + req = c.newRequest(op, input, output) + output = &ListJobsByPipelineOutput{} + req.Data = output + return +} + +// ListJobsByPipeline API operation for Amazon Elastic Transcoder. +// +// The ListJobsByPipeline operation gets a list of the jobs currently in a pipeline. +// +// Elastic Transcoder returns all of the jobs currently in the specified pipeline. +// The response body contains one element for each job that satisfies the search +// criteria. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Transcoder's +// API operation ListJobsByPipeline for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// One or more required parameter values were not provided in the request. +// +// * IncompatibleVersionException + +// +// * ResourceNotFoundException +// The requested resource does not exist or is not available. For example, the +// pipeline to which you're trying to add a job doesn't exist or is still being +// created. +// +// * AccessDeniedException +// General authentication failure. The request was not signed correctly. +// +// * InternalServiceException +// Elastic Transcoder encountered an unexpected exception while trying to fulfill +// the request. +// +func (c *ElasticTranscoder) ListJobsByPipeline(input *ListJobsByPipelineInput) (*ListJobsByPipelineOutput, error) { + req, out := c.ListJobsByPipelineRequest(input) + err := req.Send() + return out, err +} + +// ListJobsByPipelinePages iterates over the pages of a ListJobsByPipeline operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListJobsByPipeline 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 ListJobsByPipeline operation. +// pageNum := 0 +// err := client.ListJobsByPipelinePages(params, +// func(page *ListJobsByPipelineOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ElasticTranscoder) ListJobsByPipelinePages(input *ListJobsByPipelineInput, fn func(p *ListJobsByPipelineOutput, lastPage bool) (shouldContinue bool)) error { + page, _ := c.ListJobsByPipelineRequest(input) + page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) + return page.EachPage(func(p interface{}, lastPage bool) bool { + return fn(p.(*ListJobsByPipelineOutput), lastPage) + }) +} + +const opListJobsByStatus = "ListJobsByStatus" + +// ListJobsByStatusRequest generates a "aws/request.Request" representing the +// client's request for the ListJobsByStatus operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListJobsByStatus for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListJobsByStatus method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListJobsByStatusRequest method. +// req, resp := client.ListJobsByStatusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ElasticTranscoder) ListJobsByStatusRequest(input *ListJobsByStatusInput) (req *request.Request, output *ListJobsByStatusOutput) { + op := &request.Operation{ + Name: opListJobsByStatus, + HTTPMethod: "GET", + HTTPPath: "/2012-09-25/jobsByStatus/{Status}", + Paginator: &request.Paginator{ + InputTokens: []string{"PageToken"}, + OutputTokens: []string{"NextPageToken"}, + LimitToken: "", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListJobsByStatusInput{} + } + + req = c.newRequest(op, input, output) + output = &ListJobsByStatusOutput{} + req.Data = output + return +} + +// ListJobsByStatus API operation for Amazon Elastic Transcoder. +// +// The ListJobsByStatus operation gets a list of jobs that have a specified +// status. The response body contains one element for each job that satisfies +// the search criteria. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Transcoder's +// API operation ListJobsByStatus for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// One or more required parameter values were not provided in the request. +// +// * IncompatibleVersionException + +// +// * ResourceNotFoundException +// The requested resource does not exist or is not available. For example, the +// pipeline to which you're trying to add a job doesn't exist or is still being +// created. +// +// * AccessDeniedException +// General authentication failure. The request was not signed correctly. +// +// * InternalServiceException +// Elastic Transcoder encountered an unexpected exception while trying to fulfill +// the request. +// +func (c *ElasticTranscoder) ListJobsByStatus(input *ListJobsByStatusInput) (*ListJobsByStatusOutput, error) { + req, out := c.ListJobsByStatusRequest(input) + err := req.Send() + return out, err +} + +// ListJobsByStatusPages iterates over the pages of a ListJobsByStatus operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListJobsByStatus 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 ListJobsByStatus operation. +// pageNum := 0 +// err := client.ListJobsByStatusPages(params, +// func(page *ListJobsByStatusOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ElasticTranscoder) ListJobsByStatusPages(input *ListJobsByStatusInput, fn func(p *ListJobsByStatusOutput, lastPage bool) (shouldContinue bool)) error { + page, _ := c.ListJobsByStatusRequest(input) + page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) + return page.EachPage(func(p interface{}, lastPage bool) bool { + return fn(p.(*ListJobsByStatusOutput), lastPage) + }) +} + +const opListPipelines = "ListPipelines" + +// ListPipelinesRequest generates a "aws/request.Request" representing the +// client's request for the ListPipelines operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListPipelines for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListPipelines method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListPipelinesRequest method. +// req, resp := client.ListPipelinesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ElasticTranscoder) ListPipelinesRequest(input *ListPipelinesInput) (req *request.Request, output *ListPipelinesOutput) { + op := &request.Operation{ + Name: opListPipelines, + HTTPMethod: "GET", + HTTPPath: "/2012-09-25/pipelines", + Paginator: &request.Paginator{ + InputTokens: []string{"PageToken"}, + OutputTokens: []string{"NextPageToken"}, + LimitToken: "", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListPipelinesInput{} + } + + req = c.newRequest(op, input, output) + output = &ListPipelinesOutput{} + req.Data = output + return +} + +// ListPipelines API operation for Amazon Elastic Transcoder. +// +// The ListPipelines operation gets a list of the pipelines associated with +// the current AWS 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 Elastic Transcoder's +// API operation ListPipelines for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// One or more required parameter values were not provided in the request. +// +// * IncompatibleVersionException + +// +// * AccessDeniedException +// General authentication failure. The request was not signed correctly. +// +// * InternalServiceException +// Elastic Transcoder encountered an unexpected exception while trying to fulfill +// the request. +// +func (c *ElasticTranscoder) ListPipelines(input *ListPipelinesInput) (*ListPipelinesOutput, error) { + req, out := c.ListPipelinesRequest(input) + err := req.Send() + return out, err +} + +// ListPipelinesPages iterates over the pages of a ListPipelines operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPipelines 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 ListPipelines operation. +// pageNum := 0 +// err := client.ListPipelinesPages(params, +// func(page *ListPipelinesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ElasticTranscoder) ListPipelinesPages(input *ListPipelinesInput, fn func(p *ListPipelinesOutput, lastPage bool) (shouldContinue bool)) error { + page, _ := c.ListPipelinesRequest(input) + page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) + return page.EachPage(func(p interface{}, lastPage bool) bool { + return fn(p.(*ListPipelinesOutput), lastPage) + }) +} + +const opListPresets = "ListPresets" + +// ListPresetsRequest generates a "aws/request.Request" representing the +// client's request for the ListPresets operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListPresets for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListPresets method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListPresetsRequest method. +// req, resp := client.ListPresetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ElasticTranscoder) ListPresetsRequest(input *ListPresetsInput) (req *request.Request, output *ListPresetsOutput) { + op := &request.Operation{ + Name: opListPresets, + HTTPMethod: "GET", + HTTPPath: "/2012-09-25/presets", + Paginator: &request.Paginator{ + InputTokens: []string{"PageToken"}, + OutputTokens: []string{"NextPageToken"}, + LimitToken: "", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListPresetsInput{} + } + + req = c.newRequest(op, input, output) + output = &ListPresetsOutput{} + req.Data = output + return +} + +// ListPresets API operation for Amazon Elastic Transcoder. +// +// The ListPresets operation gets a list of the default presets included with +// Elastic Transcoder and the presets that you've added in an AWS 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic Transcoder's +// API operation ListPresets for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// One or more required parameter values were not provided in the request. +// +// * IncompatibleVersionException + +// +// * AccessDeniedException +// General authentication failure. The request was not signed correctly. +// +// * InternalServiceException +// Elastic Transcoder encountered an unexpected exception while trying to fulfill +// the request. +// +func (c *ElasticTranscoder) ListPresets(input *ListPresetsInput) (*ListPresetsOutput, error) { + req, out := c.ListPresetsRequest(input) + err := req.Send() + return out, err +} + +// ListPresetsPages iterates over the pages of a ListPresets operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPresets 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 ListPresets operation. +// pageNum := 0 +// err := client.ListPresetsPages(params, +// func(page *ListPresetsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ElasticTranscoder) ListPresetsPages(input *ListPresetsInput, fn func(p *ListPresetsOutput, lastPage bool) (shouldContinue bool)) error { + page, _ := c.ListPresetsRequest(input) + page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) + return page.EachPage(func(p interface{}, lastPage bool) bool { + return fn(p.(*ListPresetsOutput), lastPage) + }) +} + +const opReadJob = "ReadJob" + +// ReadJobRequest generates a "aws/request.Request" representing the +// client's request for the ReadJob operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ReadJob for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ReadJob method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ReadJobRequest method. +// req, resp := client.ReadJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ElasticTranscoder) ReadJobRequest(input *ReadJobInput) (req *request.Request, output *ReadJobOutput) { + op := &request.Operation{ + Name: opReadJob, + HTTPMethod: "GET", + HTTPPath: "/2012-09-25/jobs/{Id}", + } + + if input == nil { + input = &ReadJobInput{} + } + + req = c.newRequest(op, input, output) + output = &ReadJobOutput{} + req.Data = output + return +} + +// ReadJob API operation for Amazon Elastic Transcoder. +// +// The ReadJob operation returns detailed information about a job. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Transcoder's +// API operation ReadJob for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// One or more required parameter values were not provided in the request. +// +// * IncompatibleVersionException + +// +// * ResourceNotFoundException +// The requested resource does not exist or is not available. For example, the +// pipeline to which you're trying to add a job doesn't exist or is still being +// created. +// +// * AccessDeniedException +// General authentication failure. The request was not signed correctly. +// +// * InternalServiceException +// Elastic Transcoder encountered an unexpected exception while trying to fulfill +// the request. +// +func (c *ElasticTranscoder) ReadJob(input *ReadJobInput) (*ReadJobOutput, error) { + req, out := c.ReadJobRequest(input) + err := req.Send() + return out, err +} + +const opReadPipeline = "ReadPipeline" + +// ReadPipelineRequest generates a "aws/request.Request" representing the +// client's request for the ReadPipeline operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ReadPipeline for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ReadPipeline method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ReadPipelineRequest method. +// req, resp := client.ReadPipelineRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ElasticTranscoder) ReadPipelineRequest(input *ReadPipelineInput) (req *request.Request, output *ReadPipelineOutput) { + op := &request.Operation{ + Name: opReadPipeline, + HTTPMethod: "GET", + HTTPPath: "/2012-09-25/pipelines/{Id}", + } + + if input == nil { + input = &ReadPipelineInput{} + } + + req = c.newRequest(op, input, output) + output = &ReadPipelineOutput{} + req.Data = output + return +} + +// ReadPipeline API operation for Amazon Elastic Transcoder. +// +// The ReadPipeline operation gets detailed information about a pipeline. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Transcoder's +// API operation ReadPipeline for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// One or more required parameter values were not provided in the request. +// +// * IncompatibleVersionException + +// +// * ResourceNotFoundException +// The requested resource does not exist or is not available. For example, the +// pipeline to which you're trying to add a job doesn't exist or is still being +// created. +// +// * AccessDeniedException +// General authentication failure. The request was not signed correctly. +// +// * InternalServiceException +// Elastic Transcoder encountered an unexpected exception while trying to fulfill +// the request. +// +func (c *ElasticTranscoder) ReadPipeline(input *ReadPipelineInput) (*ReadPipelineOutput, error) { + req, out := c.ReadPipelineRequest(input) + err := req.Send() + return out, err +} + +const opReadPreset = "ReadPreset" + +// ReadPresetRequest generates a "aws/request.Request" representing the +// client's request for the ReadPreset operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ReadPreset for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ReadPreset method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ReadPresetRequest method. +// req, resp := client.ReadPresetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ElasticTranscoder) ReadPresetRequest(input *ReadPresetInput) (req *request.Request, output *ReadPresetOutput) { + op := &request.Operation{ + Name: opReadPreset, + HTTPMethod: "GET", + HTTPPath: "/2012-09-25/presets/{Id}", + } + + if input == nil { + input = &ReadPresetInput{} + } + + req = c.newRequest(op, input, output) + output = &ReadPresetOutput{} + req.Data = output + return +} + +// ReadPreset API operation for Amazon Elastic Transcoder. +// +// The ReadPreset operation gets detailed information about a preset. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Transcoder's +// API operation ReadPreset for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// One or more required parameter values were not provided in the request. +// +// * IncompatibleVersionException + +// +// * ResourceNotFoundException +// The requested resource does not exist or is not available. For example, the +// pipeline to which you're trying to add a job doesn't exist or is still being +// created. +// +// * AccessDeniedException +// General authentication failure. The request was not signed correctly. +// +// * InternalServiceException +// Elastic Transcoder encountered an unexpected exception while trying to fulfill +// the request. +// +func (c *ElasticTranscoder) ReadPreset(input *ReadPresetInput) (*ReadPresetOutput, error) { + req, out := c.ReadPresetRequest(input) + err := req.Send() + return out, err +} + +const opTestRole = "TestRole" + +// TestRoleRequest generates a "aws/request.Request" representing the +// client's request for the TestRole operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See TestRole for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the TestRole method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the TestRoleRequest method. +// req, resp := client.TestRoleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ElasticTranscoder) TestRoleRequest(input *TestRoleInput) (req *request.Request, output *TestRoleOutput) { + op := &request.Operation{ + Name: opTestRole, + HTTPMethod: "POST", + HTTPPath: "/2012-09-25/roleTests", + } + + if input == nil { + input = &TestRoleInput{} + } + + req = c.newRequest(op, input, output) + output = &TestRoleOutput{} + req.Data = output + return +} + +// TestRole API operation for Amazon Elastic Transcoder. +// +// The TestRole operation tests the IAM role used to create the pipeline. +// +// The TestRole action lets you determine whether the IAM role you are using +// has sufficient permissions to let Elastic Transcoder perform tasks associated +// with the transcoding process. The action attempts to assume the specified +// IAM role, checks read access to the input and output buckets, and tries to +// send a test notification to Amazon SNS topics that you specify. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Transcoder's +// API operation TestRole for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// One or more required parameter values were not provided in the request. +// +// * IncompatibleVersionException + +// +// * ResourceNotFoundException +// The requested resource does not exist or is not available. For example, the +// pipeline to which you're trying to add a job doesn't exist or is still being +// created. +// +// * AccessDeniedException +// General authentication failure. The request was not signed correctly. +// +// * InternalServiceException +// Elastic Transcoder encountered an unexpected exception while trying to fulfill +// the request. +// +func (c *ElasticTranscoder) TestRole(input *TestRoleInput) (*TestRoleOutput, error) { + req, out := c.TestRoleRequest(input) + err := req.Send() + return out, err +} + +const opUpdatePipeline = "UpdatePipeline" + +// UpdatePipelineRequest generates a "aws/request.Request" representing the +// client's request for the UpdatePipeline operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdatePipeline for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdatePipeline method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdatePipelineRequest method. +// req, resp := client.UpdatePipelineRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ElasticTranscoder) UpdatePipelineRequest(input *UpdatePipelineInput) (req *request.Request, output *UpdatePipelineOutput) { + op := &request.Operation{ + Name: opUpdatePipeline, + HTTPMethod: "PUT", + HTTPPath: "/2012-09-25/pipelines/{Id}", + } + + if input == nil { + input = &UpdatePipelineInput{} + } + + req = c.newRequest(op, input, output) + output = &UpdatePipelineOutput{} + req.Data = output + return +} + +// UpdatePipeline API operation for Amazon Elastic Transcoder. +// +// Use the UpdatePipeline operation to update settings for a pipeline. When +// you change pipeline settings, your changes take effect immediately. Jobs +// that you have already submitted and that Elastic Transcoder has not started +// to process are affected in addition to jobs that you submit after you change +// settings. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Transcoder's +// API operation UpdatePipeline for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// One or more required parameter values were not provided in the request. +// +// * IncompatibleVersionException + +// +// * AccessDeniedException +// General authentication failure. The request was not signed correctly. +// +// * ResourceInUseException +// The resource you are attempting to change is in use. For example, you are +// attempting to delete a pipeline that is currently in use. +// +// * ResourceNotFoundException +// The requested resource does not exist or is not available. For example, the +// pipeline to which you're trying to add a job doesn't exist or is still being +// created. +// +// * InternalServiceException +// Elastic Transcoder encountered an unexpected exception while trying to fulfill +// the request. +// +func (c *ElasticTranscoder) UpdatePipeline(input *UpdatePipelineInput) (*UpdatePipelineOutput, error) { + req, out := c.UpdatePipelineRequest(input) + err := req.Send() + return out, err +} + +const opUpdatePipelineNotifications = "UpdatePipelineNotifications" + +// UpdatePipelineNotificationsRequest generates a "aws/request.Request" representing the +// client's request for the UpdatePipelineNotifications operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdatePipelineNotifications for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdatePipelineNotifications method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdatePipelineNotificationsRequest method. +// req, resp := client.UpdatePipelineNotificationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ElasticTranscoder) UpdatePipelineNotificationsRequest(input *UpdatePipelineNotificationsInput) (req *request.Request, output *UpdatePipelineNotificationsOutput) { + op := &request.Operation{ + Name: opUpdatePipelineNotifications, + HTTPMethod: "POST", + HTTPPath: "/2012-09-25/pipelines/{Id}/notifications", + } + + if input == nil { + input = &UpdatePipelineNotificationsInput{} + } + + req = c.newRequest(op, input, output) + output = &UpdatePipelineNotificationsOutput{} + req.Data = output + return +} + +// UpdatePipelineNotifications API operation for Amazon Elastic Transcoder. +// +// With the UpdatePipelineNotifications operation, you can update Amazon Simple +// Notification Service (Amazon SNS) notifications for a pipeline. +// +// When you update notifications for a pipeline, Elastic Transcoder returns +// the values that you specified in the request. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Transcoder's +// API operation UpdatePipelineNotifications for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// One or more required parameter values were not provided in the request. +// +// * IncompatibleVersionException + +// +// * ResourceNotFoundException +// The requested resource does not exist or is not available. For example, the +// pipeline to which you're trying to add a job doesn't exist or is still being +// created. +// +// * ResourceInUseException +// The resource you are attempting to change is in use. For example, you are +// attempting to delete a pipeline that is currently in use. +// +// * AccessDeniedException +// General authentication failure. The request was not signed correctly. +// +// * InternalServiceException +// Elastic Transcoder encountered an unexpected exception while trying to fulfill +// the request. +// +func (c *ElasticTranscoder) UpdatePipelineNotifications(input *UpdatePipelineNotificationsInput) (*UpdatePipelineNotificationsOutput, error) { + req, out := c.UpdatePipelineNotificationsRequest(input) + err := req.Send() + return out, err +} + +const opUpdatePipelineStatus = "UpdatePipelineStatus" + +// UpdatePipelineStatusRequest generates a "aws/request.Request" representing the +// client's request for the UpdatePipelineStatus operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdatePipelineStatus for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdatePipelineStatus method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdatePipelineStatusRequest method. +// req, resp := client.UpdatePipelineStatusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ElasticTranscoder) UpdatePipelineStatusRequest(input *UpdatePipelineStatusInput) (req *request.Request, output *UpdatePipelineStatusOutput) { + op := &request.Operation{ + Name: opUpdatePipelineStatus, + HTTPMethod: "POST", + HTTPPath: "/2012-09-25/pipelines/{Id}/status", + } + + if input == nil { + input = &UpdatePipelineStatusInput{} + } + + req = c.newRequest(op, input, output) + output = &UpdatePipelineStatusOutput{} + req.Data = output + return +} + +// UpdatePipelineStatus API operation for Amazon Elastic Transcoder. +// +// The UpdatePipelineStatus operation pauses or reactivates a pipeline, so that +// the pipeline stops or restarts the processing of jobs. +// +// Changing the pipeline status is useful if you want to cancel one or more +// jobs. You can't cancel jobs after Elastic Transcoder has started processing +// them; if you pause the pipeline to which you submitted the jobs, you have +// more time to get the job IDs for the jobs that you want to cancel, and to +// send a CancelJob request. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Transcoder's +// API operation UpdatePipelineStatus for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// One or more required parameter values were not provided in the request. +// +// * IncompatibleVersionException + +// +// * ResourceNotFoundException +// The requested resource does not exist or is not available. For example, the +// pipeline to which you're trying to add a job doesn't exist or is still being +// created. +// +// * ResourceInUseException +// The resource you are attempting to change is in use. For example, you are +// attempting to delete a pipeline that is currently in use. +// +// * AccessDeniedException +// General authentication failure. The request was not signed correctly. +// +// * InternalServiceException +// Elastic Transcoder encountered an unexpected exception while trying to fulfill +// the request. +// +func (c *ElasticTranscoder) UpdatePipelineStatus(input *UpdatePipelineStatusInput) (*UpdatePipelineStatusOutput, error) { + req, out := c.UpdatePipelineStatusRequest(input) + err := req.Send() + return out, err +} + +// The file to be used as album art. There can be multiple artworks associated +// with an audio file, to a maximum of 20. +// +// To remove artwork or leave the artwork empty, you can either set Artwork +// to null, or set the Merge Policy to "Replace" and use an empty Artwork array. +// +// To pass through existing artwork unchanged, set the Merge Policy to "Prepend", +// "Append", or "Fallback", and use an empty Artwork array. +type Artwork struct { + _ struct{} `type:"structure"` + + // The format of album art, if any. Valid formats are .jpg and .png. + AlbumArtFormat *string `type:"string"` + + // The encryption settings, if any, that you want Elastic Transcoder to apply + // to your artwork. + Encryption *Encryption `type:"structure"` + + // The name of the file to be used as album art. To determine which Amazon S3 + // bucket contains the specified file, Elastic Transcoder checks the pipeline + // specified by PipelineId; the InputBucket object in that pipeline identifies + // the bucket. + // + // If the file name includes a prefix, for example, cooking/pie.jpg, include + // the prefix in the key. If the file isn't in the specified bucket, Elastic + // Transcoder returns an error. + InputKey *string `min:"1" type:"string"` + + // The maximum height of the output album art in pixels. If you specify auto, + // Elastic Transcoder uses 600 as the default value. If you specify a numeric + // value, enter an even integer between 32 and 3072, inclusive. + MaxHeight *string `type:"string"` + + // The maximum width of the output album art in pixels. If you specify auto, + // Elastic Transcoder uses 600 as the default value. If you specify a numeric + // value, enter an even integer between 32 and 4096, inclusive. + MaxWidth *string `type:"string"` + + // When you set PaddingPolicy to Pad, Elastic Transcoder may add white bars + // to the top and bottom and/or left and right sides of the output album art + // to make the total size of the output art match the values that you specified + // for MaxWidth and MaxHeight. + PaddingPolicy *string `type:"string"` + + // Specify one of the following values to control scaling of the output album + // art: + // + // Fit: Elastic Transcoder scales the output art so it matches the value + // that you specified in either MaxWidth or MaxHeight without exceeding the + // other value. Fill: Elastic Transcoder scales the output art so it matches + // the value that you specified in either MaxWidth or MaxHeight and matches + // or exceeds the other value. Elastic Transcoder centers the output art and + // then crops it in the dimension (if any) that exceeds the maximum value. + // Stretch: Elastic Transcoder stretches the output art to match the values + // that you specified for MaxWidth and MaxHeight. If the relative proportions + // of the input art and the output art are different, the output art will be + // distorted. Keep: Elastic Transcoder does not scale the output art. If either + // dimension of the input art exceeds the values that you specified for MaxWidth + // and MaxHeight, Elastic Transcoder crops the output art. ShrinkToFit: Elastic + // Transcoder scales the output art down so that its dimensions match the values + // that you specified for at least one of MaxWidth and MaxHeight without exceeding + // either value. If you specify this option, Elastic Transcoder does not scale + // the art up. ShrinkToFill Elastic Transcoder scales the output art down so + // that its dimensions match the values that you specified for at least one + // of MaxWidth and MaxHeight without dropping below either value. If you specify + // this option, Elastic Transcoder does not scale the art up. + SizingPolicy *string `type:"string"` +} + +// String returns the string representation +func (s Artwork) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Artwork) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Artwork) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Artwork"} + if s.InputKey != nil && len(*s.InputKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputKey", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Options associated with your audio codec. +type AudioCodecOptions struct { + _ struct{} `type:"structure"` + + // You can only choose an audio bit depth when you specify flac or pcm for the + // value of Audio:Codec. + // + // The bit depth of a sample is how many bits of information are included in + // the audio samples. The higher the bit depth, the better the audio, but the + // larger the file. + // + // Valid values are 16 and 24. + // + // The most common bit depth is 24. + BitDepth *string `type:"string"` + + // You can only choose an audio bit order when you specify pcm for the value + // of Audio:Codec. + // + // The order the bits of a PCM sample are stored in. + // + // The supported value is LittleEndian. + BitOrder *string `type:"string"` + + // You can only choose an audio profile when you specify AAC for the value of + // Audio:Codec. + // + // Specify the AAC profile for the output file. Elastic Transcoder supports + // the following profiles: + // + // auto: If you specify auto, Elastic Transcoder will select the profile based + // on the bit rate selected for the output file. AAC-LC: The most common AAC + // profile. Use for bit rates larger than 64 kbps. HE-AAC: Not supported on + // some older players and devices. Use for bit rates between 40 and 80 kbps. + // HE-AACv2: Not supported on some players and devices. Use for bit rates less + // than 48 kbps. All outputs in a Smooth playlist must have the same value + // for Profile. + // + // If you created any presets before AAC profiles were added, Elastic Transcoder + // automatically updated your presets to use AAC-LC. You can change the value + // as required. + Profile *string `type:"string"` + + // You can only choose whether an audio sample is signed when you specify pcm + // for the value of Audio:Codec. + // + // Whether audio samples are represented with negative and positive numbers + // (signed) or only positive numbers (unsigned). + // + // The supported value is Signed. + Signed *string `type:"string"` +} + +// String returns the string representation +func (s AudioCodecOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioCodecOptions) GoString() string { + return s.String() +} + +// Parameters required for transcoding audio. +type AudioParameters struct { + _ struct{} `type:"structure"` + + // The method of organizing audio channels and tracks. Use Audio:Channels to + // specify the number of channels in your output, and Audio:AudioPackingMode + // to specify the number of tracks and their relation to the channels. If you + // do not specify an Audio:AudioPackingMode, Elastic Transcoder uses SingleTrack. + // + // The following values are valid: + // + // SingleTrack, OneChannelPerTrack, and OneChannelPerTrackWithMosTo8Tracks + // + // When you specify SingleTrack, Elastic Transcoder creates a single track + // for your output. The track can have up to eight channels. Use SingleTrack + // for all non-mxf containers. + // + // The outputs of SingleTrack for a specific channel value and inputs are as + // follows: + // + // 0 channels with any input: Audio omitted from the output 1, 2, or auto + // channels with no audio input: Audio omitted from the output 1 channel with + // any input with audio: One track with one channel, downmixed if necessary + // 2 channels with one track with one channel: One track with two identical + // channels 2 or auto channels with two tracks with one channel each: One track + // with two channels 2 or auto channels with one track with two channels: One + // track with two channels 2 channels with one track with multiple channels: + // One track with two channels auto channels with one track with one channel: + // One track with one channel auto channels with one track with multiple channels: + // One track with multiple channels When you specify OneChannelPerTrack, Elastic + // Transcoder creates a new track for every channel in your output. Your output + // can have up to eight single-channel tracks. + // + // The outputs of OneChannelPerTrack for a specific channel value and inputs + // are as follows: + // + // 0 channels with any input: Audio omitted from the output 1, 2, or auto + // channels with no audio input: Audio omitted from the output 1 channel with + // any input with audio: One track with one channel, downmixed if necessary + // 2 channels with one track with one channel: Two tracks with one identical + // channel each 2 or auto channels with two tracks with one channel each: Two + // tracks with one channel each 2 or auto channels with one track with two + // channels: Two tracks with one channel each 2 channels with one track with + // multiple channels: Two tracks with one channel each auto channels with one + // track with one channel: One track with one channel auto channels with one + // track with multiple channels: Up to eight tracks with one channel each When + // you specify OneChannelPerTrackWithMosTo8Tracks, Elastic Transcoder creates + // eight single-channel tracks for your output. All tracks that do not contain + // audio data from an input channel are MOS, or Mit Out Sound, tracks. + // + // The outputs of OneChannelPerTrackWithMosTo8Tracks for a specific channel + // value and inputs are as follows: + // + // 0 channels with any input: Audio omitted from the output 1, 2, or auto + // channels with no audio input: Audio omitted from the output 1 channel with + // any input with audio: One track with one channel, downmixed if necessary, + // plus six MOS tracks 2 channels with one track with one channel: Two tracks + // with one identical channel each, plus six MOS tracks 2 or auto channels + // with two tracks with one channel each: Two tracks with one channel each, + // plus six MOS tracks 2 or auto channels with one track with two channels: + // Two tracks with one channel each, plus six MOS tracks 2 channels with one + // track with multiple channels: Two tracks with one channel each, plus six + // MOS tracks auto channels with one track with one channel: One track with + // one channel, plus seven MOS tracks auto channels with one track with multiple + // channels: Up to eight tracks with one channel each, plus MOS tracks until + // there are eight tracks in all + AudioPackingMode *string `type:"string"` + + // The bit rate of the audio stream in the output file, in kilobits/second. + // Enter an integer between 64 and 320, inclusive. + BitRate *string `type:"string"` + + // The number of audio channels in the output file. The following values are + // valid: + // + // auto, 0, 1, 2 + // + // One channel carries the information played by a single speaker. For example, + // a stereo track with two channels sends one channel to the left speaker, and + // the other channel to the right speaker. The output channels are organized + // into tracks. If you want Elastic Transcoder to automatically detect the number + // of audio channels in the input file and use that value for the output file, + // select auto. + // + // The output of a specific channel value and inputs are as follows: + // + // auto channel specified, with any input: Pass through up to eight input + // channels. 0 channels specified, with any input: Audio omitted from the output. + // 1 channel specified, with at least one input channel: Mono sound. 2 channels + // specified, with any input: Two identical mono channels or stereo. For more + // information about tracks, see Audio:AudioPackingMode. For more information + // about how Elastic Transcoder organizes channels and tracks, see Audio:AudioPackingMode. + Channels *string `type:"string"` + + // The audio codec for the output file. Valid values include aac, flac, mp2, + // mp3, pcm, and vorbis. + Codec *string `type:"string"` + + // If you specified AAC for Audio:Codec, this is the AAC compression profile + // to use. Valid values include: + // + // auto, AAC-LC, HE-AAC, HE-AACv2 + // + // If you specify auto, Elastic Transcoder chooses a profile based on the bit + // rate of the output file. + CodecOptions *AudioCodecOptions `type:"structure"` + + // The sample rate of the audio stream in the output file, in Hertz. Valid values + // include: + // + // auto, 22050, 32000, 44100, 48000, 96000 + // + // If you specify auto, Elastic Transcoder automatically detects the sample + // rate. + SampleRate *string `type:"string"` +} + +// String returns the string representation +func (s AudioParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioParameters) GoString() string { + return s.String() +} + +// The CancelJobRequest structure. +type CancelJobInput struct { + _ struct{} `type:"structure"` + + // The identifier of the job that you want to cancel. + // + // To get a list of the jobs (including their jobId) that have a status of + // Submitted, use the ListJobsByStatus API action. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` +} + +// String returns the string representation +func (s CancelJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CancelJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CancelJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CancelJobInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The response body contains a JSON object. If the job is successfully canceled, +// the value of Success is true. +type CancelJobOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CancelJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CancelJobOutput) GoString() string { + return s.String() +} + +// The file format of the output captions. If you leave this value blank, Elastic +// Transcoder returns an error. +type CaptionFormat struct { + _ struct{} `type:"structure"` + + // The encryption settings, if any, that you want Elastic Transcoder to apply + // to your caption formats. + Encryption *Encryption `type:"structure"` + + // The format you specify determines whether Elastic Transcoder generates an + // embedded or sidecar caption for this output. + // + // Valid Embedded Caption Formats: + // + // for FLAC: None + // + // For MP3: None + // + // For MP4: mov-text + // + // For MPEG-TS: None + // + // For ogg: None + // + // For webm: None + // + // Valid Sidecar Caption Formats: Elastic Transcoder supports dfxp (first + // div element only), scc, srt, and webvtt. If you want ttml or smpte-tt compatible + // captions, specify dfxp as your output format. + // + // For FMP4: dfxp + // + // Non-FMP4 outputs: All sidecar types + // + // fmp4 captions have an extension of .ismt + Format *string `type:"string"` + + // The prefix for caption filenames, in the form description-{language}, where: + // + // description is a description of the video. {language} is a literal value + // that Elastic Transcoder replaces with the two- or three-letter code for the + // language of the caption in the output file names. If you don't include {language} + // in the file name pattern, Elastic Transcoder automatically appends "{language}" + // to the value that you specify for the description. In addition, Elastic Transcoder + // automatically appends the count to the end of the segment files. + // + // For example, suppose you're transcoding into srt format. When you enter + // "Sydney-{language}-sunrise", and the language of the captions is English + // (en), the name of the first caption file will be Sydney-en-sunrise00000.srt. + Pattern *string `type:"string"` +} + +// String returns the string representation +func (s CaptionFormat) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CaptionFormat) GoString() string { + return s.String() +} + +// A source file for the input sidecar captions used during the transcoding +// process. +type CaptionSource struct { + _ struct{} `type:"structure"` + + // The encryption settings, if any, that you want Elastic Transcoder to apply + // to your caption sources. + Encryption *Encryption `type:"structure"` + + // The name of the sidecar caption file that you want Elastic Transcoder to + // include in the output file. + Key *string `min:"1" type:"string"` + + // The label of the caption shown in the player when choosing a language. We + // recommend that you put the caption language name here, in the language of + // the captions. + Label *string `min:"1" type:"string"` + + // A string that specifies the language of the caption. Specify this as one + // of: + // + // 2-character ISO 639-1 code + // + // 3-character ISO 639-2 code + // + // For more information on ISO language codes and language names, see the + // List of ISO 639-1 codes. + Language *string `min:"1" type:"string"` + + // For clip generation or captions that do not start at the same time as the + // associated video file, the TimeOffset tells Elastic Transcoder how much of + // the video to encode before including captions. + // + // Specify the TimeOffset in the form [+-]SS.sss or [+-]HH:mm:SS.ss. + TimeOffset *string `type:"string"` +} + +// String returns the string representation +func (s CaptionSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CaptionSource) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CaptionSource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptionSource"} + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Label != nil && len(*s.Label) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Label", 1)) + } + if s.Language != nil && len(*s.Language) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Language", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The captions to be created, if any. +type Captions struct { + _ struct{} `type:"structure"` + + // The array of file formats for the output captions. If you leave this value + // blank, Elastic Transcoder returns an error. + CaptionFormats []*CaptionFormat `type:"list"` + + // Source files for the input sidecar captions used during the transcoding process. + // To omit all sidecar captions, leave CaptionSources blank. + CaptionSources []*CaptionSource `type:"list"` + + // A policy that determines how Elastic Transcoder handles the existence of + // multiple captions. + // + // MergeOverride: Elastic Transcoder transcodes both embedded and sidecar + // captions into outputs. If captions for a language are embedded in the input + // file and also appear in a sidecar file, Elastic Transcoder uses the sidecar + // captions and ignores the embedded captions for that language. + // + // MergeRetain: Elastic Transcoder transcodes both embedded and sidecar captions + // into outputs. If captions for a language are embedded in the input file and + // also appear in a sidecar file, Elastic Transcoder uses the embedded captions + // and ignores the sidecar captions for that language. If CaptionSources is + // empty, Elastic Transcoder omits all sidecar captions from the output files. + // + // Override: Elastic Transcoder transcodes only the sidecar captions that you + // specify in CaptionSources. + // + // MergePolicy cannot be null. + MergePolicy *string `type:"string"` +} + +// String returns the string representation +func (s Captions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Captions) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Captions) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Captions"} + if s.CaptionSources != nil { + for i, v := range s.CaptionSources { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionSources", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Settings for one clip in a composition. All jobs in a playlist must have +// the same clip settings. +type Clip struct { + _ struct{} `type:"structure"` + + // Settings that determine when a clip begins and how long it lasts. + TimeSpan *TimeSpan `type:"structure"` +} + +// String returns the string representation +func (s Clip) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Clip) GoString() string { + return s.String() +} + +// The CreateJobRequest structure. +type CreateJobInput struct { + _ struct{} `type:"structure"` + + // A section of the request body that provides information about the file that + // is being transcoded. + // + // Input is a required field + Input *JobInput `type:"structure" required:"true"` + + // The CreateJobOutput structure. + Output *CreateJobOutput `type:"structure"` + + // The value, if any, that you want Elastic Transcoder to prepend to the names + // of all files that this job creates, including output files, thumbnails, and + // playlists. + OutputKeyPrefix *string `min:"1" type:"string"` + + // A section of the request body that provides information about the transcoded + // (target) files. We recommend that you use the Outputs syntax instead of the + // Output syntax. + Outputs []*CreateJobOutput `type:"list"` + + // The Id of the pipeline that you want Elastic Transcoder to use for transcoding. + // The pipeline determines several settings, including the Amazon S3 bucket + // from which Elastic Transcoder gets the files to transcode and the bucket + // into which Elastic Transcoder puts the transcoded files. + // + // PipelineId is a required field + PipelineId *string `type:"string" required:"true"` + + // If you specify a preset in PresetId for which the value of Container is fmp4 + // (Fragmented MP4) or ts (MPEG-TS), Playlists contains information about the + // master playlists that you want Elastic Transcoder to create. + // + // The maximum number of master playlists in a job is 30. + Playlists []*CreateJobPlaylist `type:"list"` + + // User-defined metadata that you want to associate with an Elastic Transcoder + // job. You specify metadata in key/value pairs, and you can add up to 10 key/value + // pairs per job. Elastic Transcoder does not guarantee that key/value pairs + // will be returned in the same order in which you specify them. + UserMetadata map[string]*string `type:"map"` +} + +// String returns the string representation +func (s CreateJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateJobInput"} + if s.Input == nil { + invalidParams.Add(request.NewErrParamRequired("Input")) + } + if s.OutputKeyPrefix != nil && len(*s.OutputKeyPrefix) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OutputKeyPrefix", 1)) + } + if s.PipelineId == nil { + invalidParams.Add(request.NewErrParamRequired("PipelineId")) + } + if s.Input != nil { + if err := s.Input.Validate(); err != nil { + invalidParams.AddNested("Input", err.(request.ErrInvalidParams)) + } + } + if s.Output != nil { + if err := s.Output.Validate(); err != nil { + invalidParams.AddNested("Output", err.(request.ErrInvalidParams)) + } + } + if s.Outputs != nil { + for i, v := range s.Outputs { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Outputs", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Playlists != nil { + for i, v := range s.Playlists { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Playlists", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The CreateJobOutput structure. +type CreateJobOutput struct { + _ struct{} `type:"structure"` + + // Information about the album art that you want Elastic Transcoder to add to + // the file during transcoding. You can specify up to twenty album artworks + // for each output. Settings for each artwork must be defined in the job for + // the current output. + AlbumArt *JobAlbumArt `type:"structure"` + + // You can configure Elastic Transcoder to transcode captions, or subtitles, + // from one format to another. All captions must be in UTF-8. Elastic Transcoder + // supports two types of captions: + // + // Embedded: Embedded captions are included in the same file as the audio + // and video. Elastic Transcoder supports only one embedded caption per language, + // to a maximum of 300 embedded captions per file. + // + // Valid input values include: CEA-608 (EIA-608, first non-empty channel only), + // CEA-708 (EIA-708, first non-empty channel only), and mov-text + // + // Valid outputs include: mov-text + // + // Elastic Transcoder supports a maximum of one embedded format per output. + // + // Sidecar: Sidecar captions are kept in a separate metadata file from the + // audio and video data. Sidecar captions require a player that is capable of + // understanding the relationship between the video file and the sidecar file. + // Elastic Transcoder supports only one sidecar caption per language, to a maximum + // of 20 sidecar captions per file. + // + // Valid input values include: dfxp (first div element only), ebu-tt, scc, + // smpt, srt, ttml (first div element only), and webvtt + // + // Valid outputs include: dfxp (first div element only), scc, srt, and webvtt. + // + // If you want ttml or smpte-tt compatible captions, specify dfxp as your + // output format. + // + // Elastic Transcoder does not support OCR (Optical Character Recognition), + // does not accept pictures as a valid input for captions, and is not available + // for audio-only transcoding. Elastic Transcoder does not preserve text formatting + // (for example, italics) during the transcoding process. + // + // To remove captions or leave the captions empty, set Captions to null. To + // pass through existing captions unchanged, set the MergePolicy to MergeRetain, + // and pass in a null CaptionSources array. + // + // For more information on embedded files, see the Subtitles Wikipedia page. + // + // For more information on sidecar files, see the Extensible Metadata Platform + // and Sidecar file Wikipedia pages. + Captions *Captions `type:"structure"` + + // You can create an output file that contains an excerpt from the input file. + // This excerpt, called a clip, can come from the beginning, middle, or end + // of the file. The Composition object contains settings for the clips that + // make up an output file. For the current release, you can only specify settings + // for a single clip per output file. The Composition object cannot be null. + Composition []*Clip `type:"list"` + + // You can specify encryption settings for any output files that you want to + // use for a transcoding job. This includes the output file and any watermarks, + // thumbnails, album art, or captions that you want to use. You must specify + // encryption settings for each file individually. + Encryption *Encryption `type:"structure"` + + // The name to assign to the transcoded file. Elastic Transcoder saves the file + // in the Amazon S3 bucket specified by the OutputBucket object in the pipeline + // that is specified by the pipeline ID. If a file with the specified name already + // exists in the output bucket, the job fails. + Key *string `min:"1" type:"string"` + + // The Id of the preset to use for this job. The preset determines the audio, + // video, and thumbnail settings that Elastic Transcoder uses for transcoding. + PresetId *string `type:"string"` + + // The number of degrees clockwise by which you want Elastic Transcoder to rotate + // the output relative to the input. Enter one of the following values: auto, + // 0, 90, 180, 270. The value auto generally works only if the file that you're + // transcoding contains rotation metadata. + Rotate *string `type:"string"` + + // (Outputs in Fragmented MP4 or MPEG-TS format only.If you specify a preset + // in PresetId for which the value of Container is fmp4 (Fragmented MP4) or + // ts (MPEG-TS), SegmentDuration is the target maximum duration of each segment + // in seconds. For HLSv3 format playlists, each media segment is stored in a + // separate .ts file. For HLSv4 and Smooth playlists, all media segments for + // an output are stored in a single file. Each segment is approximately the + // length of the SegmentDuration, though individual segments might be shorter + // or longer. + // + // The range of valid values is 1 to 60 seconds. If the duration of the video + // is not evenly divisible by SegmentDuration, the duration of the last segment + // is the remainder of total length/SegmentDuration. + // + // Elastic Transcoder creates an output-specific playlist for each output HLS + // output that you specify in OutputKeys. To add an output to the master playlist + // for this job, include it in the OutputKeys of the associated playlist. + SegmentDuration *string `type:"string"` + + // The encryption settings, if any, that you want Elastic Transcoder to apply + // to your thumbnail. + ThumbnailEncryption *Encryption `type:"structure"` + + // Whether you want Elastic Transcoder to create thumbnails for your videos + // and, if so, how you want Elastic Transcoder to name the files. + // + // If you don't want Elastic Transcoder to create thumbnails, specify "". + // + // If you do want Elastic Transcoder to create thumbnails, specify the information + // that you want to include in the file name for each thumbnail. You can specify + // the following values in any sequence: + // + // {count} (Required): If you want to create thumbnails, you must include + // {count} in the ThumbnailPattern object. Wherever you specify {count}, Elastic + // Transcoder adds a five-digit sequence number (beginning with 00001) to thumbnail + // file names. The number indicates where a given thumbnail appears in the sequence + // of thumbnails for a transcoded file. + // + // If you specify a literal value and/or {resolution} but you omit {count}, + // Elastic Transcoder returns a validation error and does not create the job. + // Literal values (Optional): You can specify literal values anywhere in + // the ThumbnailPattern object. For example, you can include them as a file + // name prefix or as a delimiter between {resolution} and {count}. + // + // {resolution} (Optional): If you want Elastic Transcoder to include the + // resolution in the file name, include {resolution} in the ThumbnailPattern + // object. + // + // When creating thumbnails, Elastic Transcoder automatically saves the files + // in the format (.jpg or .png) that appears in the preset that you specified + // in the PresetID value of CreateJobOutput. Elastic Transcoder also appends + // the applicable file name extension. + ThumbnailPattern *string `type:"string"` + + // Information about the watermarks that you want Elastic Transcoder to add + // to the video during transcoding. You can specify up to four watermarks for + // each output. Settings for each watermark must be defined in the preset for + // the current output. + Watermarks []*JobWatermark `type:"list"` +} + +// String returns the string representation +func (s CreateJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateJobOutput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateJobOutput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateJobOutput"} + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.AlbumArt != nil { + if err := s.AlbumArt.Validate(); err != nil { + invalidParams.AddNested("AlbumArt", err.(request.ErrInvalidParams)) + } + } + if s.Captions != nil { + if err := s.Captions.Validate(); err != nil { + invalidParams.AddNested("Captions", err.(request.ErrInvalidParams)) + } + } + if s.Watermarks != nil { + for i, v := range s.Watermarks { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Watermarks", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Information about the master playlist. +type CreateJobPlaylist struct { + _ struct{} `type:"structure"` + + // The format of the output playlist. Valid formats include HLSv3, HLSv4, and + // Smooth. + Format *string `type:"string"` + + // The HLS content protection settings, if any, that you want Elastic Transcoder + // to apply to the output files associated with this playlist. + HlsContentProtection *HlsContentProtection `type:"structure"` + + // The name that you want Elastic Transcoder to assign to the master playlist, + // for example, nyc-vacation.m3u8. If the name includes a / character, the section + // of the name before the last / must be identical for all Name objects. If + // you create more than one master playlist, the values of all Name objects + // must be unique. + // + // Note: Elastic Transcoder automatically appends the relevant file extension + // to the file name (.m3u8 for HLSv3 and HLSv4 playlists, and .ism and .ismc + // for Smooth playlists). If you include a file extension in Name, the file + // name will have two extensions. + Name *string `min:"1" type:"string"` + + // For each output in this job that you want to include in a master playlist, + // the value of the Outputs:Key object. + // + // If your output is not HLS or does not have a segment duration set, the + // name of the output file is a concatenation of OutputKeyPrefix and Outputs:Key: + // + // OutputKeyPrefixOutputs:Key + // + // If your output is HLSv3 and has a segment duration set, or is not included + // in a playlist, Elastic Transcoder creates an output playlist file with a + // file extension of .m3u8, and a series of .ts files that include a five-digit + // sequential counter beginning with 00000: + // + // OutputKeyPrefixOutputs:Key.m3u8 + // + // OutputKeyPrefixOutputs:Key00000.ts + // + // If your output is HLSv4, has a segment duration set, and is included in + // an HLSv4 playlist, Elastic Transcoder creates an output playlist file with + // a file extension of _v4.m3u8. If the output is video, Elastic Transcoder + // also creates an output file with an extension of _iframe.m3u8: + // + // OutputKeyPrefixOutputs:Key_v4.m3u8 + // + // OutputKeyPrefixOutputs:Key_iframe.m3u8 + // + // OutputKeyPrefixOutputs:Key.ts + // + // Elastic Transcoder automatically appends the relevant file extension to + // the file name. If you include a file extension in Output Key, the file name + // will have two extensions. + // + // If you include more than one output in a playlist, any segment duration + // settings, clip settings, or caption settings must be the same for all outputs + // in the playlist. For Smooth playlists, the Audio:Profile, Video:Profile, + // and Video:FrameRate to Video:KeyframesMaxDist ratio must be the same for + // all outputs. + OutputKeys []*string `type:"list"` + + // The DRM settings, if any, that you want Elastic Transcoder to apply to the + // output files associated with this playlist. + PlayReadyDrm *PlayReadyDrm `type:"structure"` +} + +// String returns the string representation +func (s CreateJobPlaylist) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateJobPlaylist) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateJobPlaylist) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateJobPlaylist"} + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.PlayReadyDrm != nil { + if err := s.PlayReadyDrm.Validate(); err != nil { + invalidParams.AddNested("PlayReadyDrm", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The CreateJobResponse structure. +type CreateJobResponse struct { + _ struct{} `type:"structure"` + + // A section of the response body that provides information about the job that + // is created. + Job *Job `type:"structure"` +} + +// String returns the string representation +func (s CreateJobResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateJobResponse) GoString() string { + return s.String() +} + +// The CreatePipelineRequest structure. +type CreatePipelineInput struct { + _ struct{} `type:"structure"` + + // The AWS Key Management Service (AWS KMS) key that you want to use with this + // pipeline. + // + // If you use either S3 or S3-AWS-KMS as your Encryption:Mode, you don't need + // to provide a key with your job because a default key, known as an AWS-KMS + // key, is created for you automatically. You need to provide an AWS-KMS key + // only if you want to use a non-default AWS-KMS key, or if you are using an + // Encryption:Mode of AES-PKCS7, AES-CTR, or AES-GCM. + AwsKmsKeyArn *string `type:"string"` + + // The optional ContentConfig object specifies information about the Amazon + // S3 bucket in which you want Elastic Transcoder to save transcoded files and + // playlists: which bucket to use, which users you want to have access to the + // files, the type of access you want users to have, and the storage class that + // you want to assign to the files. + // + // If you specify values for ContentConfig, you must also specify values for + // ThumbnailConfig. + // + // If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket + // object. + // + // Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save + // transcoded files and playlists. Permissions (Optional): The Permissions object + // specifies which users you want to have access to transcoded files and the + // type of access you want them to have. You can grant permissions to a maximum + // of 30 users and/or predefined Amazon S3 groups. Grantee Type: Specify the + // type of value that appears in the Grantee object: Canonical: The value in + // the Grantee object is either the canonical user ID for an AWS account or + // an origin access identity for an Amazon CloudFront distribution. For more + // information about canonical user IDs, see Access Control List (ACL) Overview + // in the Amazon Simple Storage Service Developer Guide. For more information + // about using CloudFront origin access identities to require that users use + // CloudFront URLs instead of Amazon S3 URLs, see Using an Origin Access Identity + // to Restrict Access to Your Amazon S3 Content. A canonical user ID is not + // the same as an AWS account number. Email: The value in the Grantee object + // is the registered email address of an AWS account. Group: The value in the + // Grantee object is one of the following predefined Amazon S3 groups: AllUsers, + // AuthenticatedUsers, or LogDelivery. Grantee: The AWS user or group that + // you want to have access to transcoded files and playlists. To identify the + // user or group, you can specify the canonical user ID for an AWS account, + // an origin access identity for a CloudFront distribution, the registered email + // address of an AWS account, or a predefined Amazon S3 group Access: The + // permission that you want to give to the AWS user that you specified in Grantee. + // Permissions are granted on the files that Elastic Transcoder adds to the + // bucket, including playlists and video files. Valid values include: READ: + // The grantee can read the objects and metadata for objects that Elastic Transcoder + // adds to the Amazon S3 bucket. READ_ACP: The grantee can read the object ACL + // for objects that Elastic Transcoder adds to the Amazon S3 bucket. WRITE_ACP: + // The grantee can write the ACL for the objects that Elastic Transcoder adds + // to the Amazon S3 bucket. FULL_CONTROL: The grantee has READ, READ_ACP, and + // WRITE_ACP permissions for the objects that Elastic Transcoder adds to the + // Amazon S3 bucket. StorageClass: The Amazon S3 storage class, Standard + // or ReducedRedundancy, that you want Elastic Transcoder to assign to the video + // files and playlists that it stores in your Amazon S3 bucket. + ContentConfig *PipelineOutputConfig `type:"structure"` + + // The Amazon S3 bucket in which you saved the media files that you want to + // transcode. + // + // InputBucket is a required field + InputBucket *string `type:"string" required:"true"` + + // The name of the pipeline. We recommend that the name be unique within the + // AWS account, but uniqueness is not enforced. + // + // Constraints: Maximum 40 characters. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The Amazon Simple Notification Service (Amazon SNS) topic that you want to + // notify to report job status. + // + // To receive notifications, you must also subscribe to the new topic in the + // Amazon SNS console. Progressing: The topic ARN for the Amazon Simple Notification + // Service (Amazon SNS) topic that you want to notify when Elastic Transcoder + // has started to process a job in this pipeline. This is the ARN that Amazon + // SNS returned when you created the topic. For more information, see Create + // a Topic in the Amazon Simple Notification Service Developer Guide. Completed: + // The topic ARN for the Amazon SNS topic that you want to notify when Elastic + // Transcoder has finished processing a job in this pipeline. This is the ARN + // that Amazon SNS returned when you created the topic. Warning: The topic ARN + // for the Amazon SNS topic that you want to notify when Elastic Transcoder + // encounters a warning condition while processing a job in this pipeline. This + // is the ARN that Amazon SNS returned when you created the topic. Error: The + // topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder + // encounters an error condition while processing a job in this pipeline. This + // is the ARN that Amazon SNS returned when you created the topic. + Notifications *Notifications `type:"structure"` + + // The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded + // files. (Use this, or use ContentConfig:Bucket plus ThumbnailConfig:Bucket.) + // + // Specify this value when all of the following are true: You want to save + // transcoded files, thumbnails (if any), and playlists (if any) together in + // one bucket. You do not want to specify the users or groups who have access + // to the transcoded files, thumbnails, and playlists. You do not want to specify + // the permissions that Elastic Transcoder grants to the files. When Elastic + // Transcoder saves files in OutputBucket, it grants full control over the files + // only to the AWS account that owns the role that is specified by Role. You + // want to associate the transcoded files and thumbnails with the Amazon S3 + // Standard storage class. + // + // If you want to save transcoded files and playlists in one bucket and thumbnails + // in another bucket, specify which users can access the transcoded files or + // the permissions the users have, or change the Amazon S3 storage class, omit + // OutputBucket and specify values for ContentConfig and ThumbnailConfig instead. + OutputBucket *string `type:"string"` + + // The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder + // to use to create the pipeline. + // + // Role is a required field + Role *string `type:"string" required:"true"` + + // The ThumbnailConfig object specifies several values, including the Amazon + // S3 bucket in which you want Elastic Transcoder to save thumbnail files, which + // users you want to have access to the files, the type of access you want users + // to have, and the storage class that you want to assign to the files. + // + // If you specify values for ContentConfig, you must also specify values for + // ThumbnailConfig even if you don't want to create thumbnails. + // + // If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket + // object. + // + // Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save + // thumbnail files. Permissions (Optional): The Permissions object specifies + // which users and/or predefined Amazon S3 groups you want to have access to + // thumbnail files, and the type of access you want them to have. You can grant + // permissions to a maximum of 30 users and/or predefined Amazon S3 groups. + // GranteeType: Specify the type of value that appears in the Grantee object: + // Canonical: The value in the Grantee object is either the canonical user + // ID for an AWS account or an origin access identity for an Amazon CloudFront + // distribution. A canonical user ID is not the same as an AWS account number. + // Email: The value in the Grantee object is the registered email address of + // an AWS account. Group: The value in the Grantee object is one of the following + // predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery. + // Grantee: The AWS user or group that you want to have access to thumbnail + // files. To identify the user or group, you can specify the canonical user + // ID for an AWS account, an origin access identity for a CloudFront distribution, + // the registered email address of an AWS account, or a predefined Amazon S3 + // group. Access: The permission that you want to give to the AWS user that + // you specified in Grantee. Permissions are granted on the thumbnail files + // that Elastic Transcoder adds to the bucket. Valid values include: READ: + // The grantee can read the thumbnails and metadata for objects that Elastic + // Transcoder adds to the Amazon S3 bucket. READ_ACP: The grantee can read the + // object ACL for thumbnails that Elastic Transcoder adds to the Amazon S3 bucket. + // WRITE_ACP: The grantee can write the ACL for the thumbnails that Elastic + // Transcoder adds to the Amazon S3 bucket. FULL_CONTROL: The grantee has READ, + // READ_ACP, and WRITE_ACP permissions for the thumbnails that Elastic Transcoder + // adds to the Amazon S3 bucket. StorageClass: The Amazon S3 storage class, + // Standard or ReducedRedundancy, that you want Elastic Transcoder to assign + // to the thumbnails that it stores in your Amazon S3 bucket. + ThumbnailConfig *PipelineOutputConfig `type:"structure"` +} + +// String returns the string representation +func (s CreatePipelineInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePipelineInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreatePipelineInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePipelineInput"} + if s.InputBucket == nil { + invalidParams.Add(request.NewErrParamRequired("InputBucket")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Role == nil { + invalidParams.Add(request.NewErrParamRequired("Role")) + } + if s.ContentConfig != nil { + if err := s.ContentConfig.Validate(); err != nil { + invalidParams.AddNested("ContentConfig", err.(request.ErrInvalidParams)) + } + } + if s.ThumbnailConfig != nil { + if err := s.ThumbnailConfig.Validate(); err != nil { + invalidParams.AddNested("ThumbnailConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// When you create a pipeline, Elastic Transcoder returns the values that you +// specified in the request. +type CreatePipelineOutput struct { + _ struct{} `type:"structure"` + + // A section of the response body that provides information about the pipeline + // that is created. + Pipeline *Pipeline `type:"structure"` + + // Elastic Transcoder returns a warning if the resources used by your pipeline + // are not in the same region as the pipeline. + // + // Using resources in the same region, such as your Amazon S3 buckets, Amazon + // SNS notification topics, and AWS KMS key, reduces processing time and prevents + // cross-regional charges. + Warnings []*Warning `type:"list"` +} + +// String returns the string representation +func (s CreatePipelineOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePipelineOutput) GoString() string { + return s.String() +} + +// The CreatePresetRequest structure. +type CreatePresetInput struct { + _ struct{} `type:"structure"` + + // A section of the request body that specifies the audio parameters. + Audio *AudioParameters `type:"structure"` + + // The container type for the output file. Valid values include flac, flv, fmp4, + // gif, mp3, mp4, mpg, mxf, oga, ogg, ts, and webm. + // + // Container is a required field + Container *string `type:"string" required:"true"` + + // A description of the preset. + Description *string `type:"string"` + + // The name of the preset. We recommend that the name be unique within the AWS + // account, but uniqueness is not enforced. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A section of the request body that specifies the thumbnail parameters, if + // any. + Thumbnails *Thumbnails `type:"structure"` + + // A section of the request body that specifies the video parameters. + Video *VideoParameters `type:"structure"` +} + +// String returns the string representation +func (s CreatePresetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePresetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreatePresetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePresetInput"} + if s.Container == nil { + invalidParams.Add(request.NewErrParamRequired("Container")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Video != nil { + if err := s.Video.Validate(); err != nil { + invalidParams.AddNested("Video", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The CreatePresetResponse structure. +type CreatePresetOutput struct { + _ struct{} `type:"structure"` + + // A section of the response body that provides information about the preset + // that is created. + Preset *Preset `type:"structure"` + + // If the preset settings don't comply with the standards for the video codec + // but Elastic Transcoder created the preset, this message explains the reason + // the preset settings don't meet the standard. Elastic Transcoder created the + // preset because the settings might produce acceptable output. + Warning *string `type:"string"` +} + +// String returns the string representation +func (s CreatePresetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePresetOutput) GoString() string { + return s.String() +} + +// The DeletePipelineRequest structure. +type DeletePipelineInput struct { + _ struct{} `type:"structure"` + + // The identifier of the pipeline that you want to delete. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeletePipelineInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePipelineInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeletePipelineInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePipelineInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The DeletePipelineResponse structure. +type DeletePipelineOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeletePipelineOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePipelineOutput) GoString() string { + return s.String() +} + +// The DeletePresetRequest structure. +type DeletePresetInput struct { + _ struct{} `type:"structure"` + + // The identifier of the preset for which you want to get detailed information. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeletePresetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePresetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeletePresetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePresetInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The DeletePresetResponse structure. +type DeletePresetOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeletePresetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePresetOutput) GoString() string { + return s.String() +} + +// The detected properties of the input file. Elastic Transcoder identifies +// these values from the input file. +type DetectedProperties struct { + _ struct{} `type:"structure"` + + // The detected duration of the input file, in milliseconds. + DurationMillis *int64 `type:"long"` + + // The detected file size of the input file, in bytes. + FileSize *int64 `type:"long"` + + // The detected frame rate of the input file, in frames per second. + FrameRate *string `type:"string"` + + // The detected height of the input file, in pixels. + Height *int64 `type:"integer"` + + // The detected width of the input file, in pixels. + Width *int64 `type:"integer"` +} + +// String returns the string representation +func (s DetectedProperties) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DetectedProperties) GoString() string { + return s.String() +} + +// The encryption settings, if any, that are used for decrypting your input +// files or encrypting your output files. If your input file is encrypted, you +// must specify the mode that Elastic Transcoder will use to decrypt your file, +// otherwise you must specify the mode you want Elastic Transcoder to use to +// encrypt your output files. +type Encryption struct { + _ struct{} `type:"structure"` + + // The series of random bits created by a random bit generator, unique for every + // encryption operation, that you used to encrypt your input files or that you + // want Elastic Transcoder to use to encrypt your output files. The initialization + // vector must be base64-encoded, and it must be exactly 16 bytes long before + // being base64-encoded. + InitializationVector *string `type:"string"` + + // The data encryption key that you want Elastic Transcoder to use to encrypt + // your output file, or that was used to encrypt your input file. The key must + // be base64-encoded and it must be one of the following bit lengths before + // being base64-encoded: + // + // 128, 192, or 256. + // + // The key must also be encrypted by using the Amazon Key Management Service. + Key *string `type:"string"` + + // The MD5 digest of the key that you used to encrypt your input file, or that + // you want Elastic Transcoder to use to encrypt your output file. Elastic Transcoder + // uses the key digest as a checksum to make sure your key was not corrupted + // in transit. The key MD5 must be base64-encoded, and it must be exactly 16 + // bytes long before being base64-encoded. + KeyMd5 *string `type:"string"` + + // The specific server-side encryption mode that you want Elastic Transcoder + // to use when decrypting your input files or encrypting your output files. + // Elastic Transcoder supports the following options: + // + // S3: Amazon S3 creates and manages the keys used for encrypting your files. + // + // S3-AWS-KMS: Amazon S3 calls the Amazon Key Management Service, which creates + // and manages the keys that are used for encrypting your files. If you specify + // S3-AWS-KMS and you don't want to use the default key, you must add the AWS-KMS + // key that you want to use to your pipeline. + // + // AES-CBC-PKCS7: A padded cipher-block mode of operation originally used for + // HLS files. + // + // AES-CTR: AES Counter Mode. + // + // AES-GCM: AES Galois Counter Mode, a mode of operation that is an authenticated + // encryption format, meaning that a file, key, or initialization vector that + // has been tampered with will fail the decryption process. + // + // For all three AES options, you must provide the following settings, which + // must be base64-encoded: + // + // Key + // + // Key MD5 + // + // Initialization Vector + // + // For the AES modes, your private encryption keys and your unencrypted data + // are never stored by AWS; therefore, it is important that you safely manage + // your encryption keys. If you lose them, you won't be able to unencrypt your + // data. + Mode *string `type:"string"` +} + +// String returns the string representation +func (s Encryption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Encryption) GoString() string { + return s.String() +} + +// The HLS content protection settings, if any, that you want Elastic Transcoder +// to apply to your output files. +type HlsContentProtection struct { + _ struct{} `type:"structure"` + + // If Elastic Transcoder is generating your key for you, you must leave this + // field blank. + // + // The series of random bits created by a random bit generator, unique for + // every encryption operation, that you want Elastic Transcoder to use to encrypt + // your output files. The initialization vector must be base64-encoded, and + // it must be exactly 16 bytes before being base64-encoded. + InitializationVector *string `type:"string"` + + // If you want Elastic Transcoder to generate a key for you, leave this field + // blank. + // + // If you choose to supply your own key, you must encrypt the key by using + // AWS KMS. The key must be base64-encoded, and it must be one of the following + // bit lengths before being base64-encoded: + // + // 128, 192, or 256. + Key *string `type:"string"` + + // If Elastic Transcoder is generating your key for you, you must leave this + // field blank. + // + // The MD5 digest of the key that you want Elastic Transcoder to use to encrypt + // your output file, and that you want Elastic Transcoder to use as a checksum + // to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, + // and it must be exactly 16 bytes before being base64- encoded. + KeyMd5 *string `type:"string"` + + // Specify whether you want Elastic Transcoder to write your HLS license key + // to an Amazon S3 bucket. If you choose WithVariantPlaylists, LicenseAcquisitionUrl + // must be left blank and Elastic Transcoder writes your data key into the same + // bucket as the associated playlist. + KeyStoragePolicy *string `type:"string"` + + // The location of the license key required to decrypt your HLS playlist. The + // URL must be an absolute path, and is referenced in the URI attribute of the + // EXT-X-KEY metadata tag in the playlist file. + LicenseAcquisitionUrl *string `type:"string"` + + // The content protection method for your output. The only valid value is: aes-128. + // + // This value will be written into the method attribute of the EXT-X-KEY metadata + // tag in the output playlist. + Method *string `type:"string"` +} + +// String returns the string representation +func (s HlsContentProtection) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsContentProtection) GoString() string { + return s.String() +} + +// A section of the response body that provides information about the job that +// is created. +type Job struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the job. + Arn *string `type:"string"` + + // The identifier that Elastic Transcoder assigned to the job. You use this + // value to get settings for the job or to delete the job. + Id *string `type:"string"` + + // A section of the request or response body that provides information about + // the file that is being transcoded. + Input *JobInput `type:"structure"` + + // If you specified one output for a job, information about that output. If + // you specified multiple outputs for a job, the Output object lists information + // about the first output. This duplicates the information that is listed for + // the first output in the Outputs object. + // + // Outputs recommended instead. A section of the request or response body that + // provides information about the transcoded (target) file. + Output *JobOutput `type:"structure"` + + // The value, if any, that you want Elastic Transcoder to prepend to the names + // of all files that this job creates, including output files, thumbnails, and + // playlists. We recommend that you add a / or some other delimiter to the end + // of the OutputKeyPrefix. + OutputKeyPrefix *string `min:"1" type:"string"` + + // Information about the output files. We recommend that you use the Outputs + // syntax for all jobs, even when you want Elastic Transcoder to transcode a + // file into only one format. Do not use both the Outputs and Output syntaxes + // in the same request. You can create a maximum of 30 outputs per job. + // + // If you specify more than one output for a job, Elastic Transcoder creates + // the files for each output in the order in which you specify them in the job. + Outputs []*JobOutput `type:"list"` + + // The Id of the pipeline that you want Elastic Transcoder to use for transcoding. + // The pipeline determines several settings, including the Amazon S3 bucket + // from which Elastic Transcoder gets the files to transcode and the bucket + // into which Elastic Transcoder puts the transcoded files. + PipelineId *string `type:"string"` + + // Outputs in Fragmented MP4 or MPEG-TS format only.If you specify a preset + // in PresetId for which the value of Container is fmp4 (Fragmented MP4) or + // ts (MPEG-TS), Playlists contains information about the master playlists that + // you want Elastic Transcoder to create. + // + // The maximum number of master playlists in a job is 30. + Playlists []*Playlist `type:"list"` + + // The status of the job: Submitted, Progressing, Complete, Canceled, or Error. + Status *string `type:"string"` + + // Details about the timing of a job. + Timing *Timing `type:"structure"` + + // User-defined metadata that you want to associate with an Elastic Transcoder + // job. You specify metadata in key/value pairs, and you can add up to 10 key/value + // pairs per job. Elastic Transcoder does not guarantee that key/value pairs + // will be returned in the same order in which you specify them. + // + // Metadata keys and values must use characters from the following list: + // + // 0-9 + // + // A-Z and a-z + // + // Space + // + // The following symbols: _.:/=+-%@ + UserMetadata map[string]*string `type:"map"` +} + +// String returns the string representation +func (s Job) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Job) GoString() string { + return s.String() +} + +// The .jpg or .png file associated with an audio file. +type JobAlbumArt struct { + _ struct{} `type:"structure"` + + // The file to be used as album art. There can be multiple artworks associated + // with an audio file, to a maximum of 20. Valid formats are .jpg and .png + Artwork []*Artwork `type:"list"` + + // A policy that determines how Elastic Transcoder will handle the existence + // of multiple album artwork files. + // + // Replace: The specified album art will replace any existing album art. + // Prepend: The specified album art will be placed in front of any existing + // album art. Append: The specified album art will be placed after any existing + // album art. Fallback: If the original input file contains artwork, Elastic + // Transcoder will use that artwork for the output. If the original input does + // not contain artwork, Elastic Transcoder will use the specified album art + // file. + MergePolicy *string `type:"string"` +} + +// String returns the string representation +func (s JobAlbumArt) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s JobAlbumArt) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *JobAlbumArt) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "JobAlbumArt"} + if s.Artwork != nil { + for i, v := range s.Artwork { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Artwork", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Information about the file that you're transcoding. +type JobInput struct { + _ struct{} `type:"structure"` + + // The aspect ratio of the input file. If you want Elastic Transcoder to automatically + // detect the aspect ratio of the input file, specify auto. If you want to specify + // the aspect ratio for the output file, enter one of the following values: + // + // 1:1, 4:3, 3:2, 16:9 + // + // If you specify a value other than auto, Elastic Transcoder disables automatic + // detection of the aspect ratio. + AspectRatio *string `type:"string"` + + // The container type for the input file. If you want Elastic Transcoder to + // automatically detect the container type of the input file, specify auto. + // If you want to specify the container type for the input file, enter one of + // the following values: + // + // 3gp, aac, asf, avi, divx, flv, m4a, mkv, mov, mp3, mp4, mpeg, mpeg-ps, + // mpeg-ts, mxf, ogg, vob, wav, webm + Container *string `type:"string"` + + // The detected properties of the input file. + DetectedProperties *DetectedProperties `type:"structure"` + + // The encryption settings, if any, that are used for decrypting your input + // files. If your input file is encrypted, you must specify the mode that Elastic + // Transcoder will use to decrypt your file. + Encryption *Encryption `type:"structure"` + + // The frame rate of the input file. If you want Elastic Transcoder to automatically + // detect the frame rate of the input file, specify auto. If you want to specify + // the frame rate for the input file, enter one of the following values: + // + // 10, 15, 23.97, 24, 25, 29.97, 30, 60 + // + // If you specify a value other than auto, Elastic Transcoder disables automatic + // detection of the frame rate. + FrameRate *string `type:"string"` + + // Whether the input file is interlaced. If you want Elastic Transcoder to automatically + // detect whether the input file is interlaced, specify auto. If you want to + // specify whether the input file is interlaced, enter one of the following + // values: + // + // true, false + // + // If you specify a value other than auto, Elastic Transcoder disables automatic + // detection of interlacing. + Interlaced *string `type:"string"` + + // The name of the file to transcode. Elsewhere in the body of the JSON block + // is the the ID of the pipeline to use for processing the job. The InputBucket + // object in that pipeline tells Elastic Transcoder which Amazon S3 bucket to + // get the file from. + // + // If the file name includes a prefix, such as cooking/lasagna.mpg, include + // the prefix in the key. If the file isn't in the specified bucket, Elastic + // Transcoder returns an error. + Key *string `min:"1" type:"string"` + + // This value must be auto, which causes Elastic Transcoder to automatically + // detect the resolution of the input file. + Resolution *string `type:"string"` +} + +// String returns the string representation +func (s JobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s JobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *JobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "JobInput"} + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Outputs recommended instead.If you specified one output for a job, information +// about that output. If you specified multiple outputs for a job, the Output +// object lists information about the first output. This duplicates the information +// that is listed for the first output in the Outputs object. +type JobOutput struct { + _ struct{} `type:"structure"` + + // The album art to be associated with the output file, if any. + AlbumArt *JobAlbumArt `type:"structure"` + + // If Elastic Transcoder used a preset with a ColorSpaceConversionMode to transcode + // the output file, the AppliedColorSpaceConversion parameter shows the conversion + // used. If no ColorSpaceConversionMode was defined in the preset, this parameter + // will not be included in the job response. + AppliedColorSpaceConversion *string `type:"string"` + + // You can configure Elastic Transcoder to transcode captions, or subtitles, + // from one format to another. All captions must be in UTF-8. Elastic Transcoder + // supports two types of captions: + // + // Embedded: Embedded captions are included in the same file as the audio + // and video. Elastic Transcoder supports only one embedded caption per language, + // to a maximum of 300 embedded captions per file. + // + // Valid input values include: CEA-608 (EIA-608, first non-empty channel only), + // CEA-708 (EIA-708, first non-empty channel only), and mov-text + // + // Valid outputs include: mov-text + // + // Elastic Transcoder supports a maximum of one embedded format per output. + // + // Sidecar: Sidecar captions are kept in a separate metadata file from the + // audio and video data. Sidecar captions require a player that is capable of + // understanding the relationship between the video file and the sidecar file. + // Elastic Transcoder supports only one sidecar caption per language, to a maximum + // of 20 sidecar captions per file. + // + // Valid input values include: dfxp (first div element only), ebu-tt, scc, + // smpt, srt, ttml (first div element only), and webvtt + // + // Valid outputs include: dfxp (first div element only), scc, srt, and webvtt. + // + // If you want ttml or smpte-tt compatible captions, specify dfxp as your + // output format. + // + // Elastic Transcoder does not support OCR (Optical Character Recognition), + // does not accept pictures as a valid input for captions, and is not available + // for audio-only transcoding. Elastic Transcoder does not preserve text formatting + // (for example, italics) during the transcoding process. + // + // To remove captions or leave the captions empty, set Captions to null. To + // pass through existing captions unchanged, set the MergePolicy to MergeRetain, + // and pass in a null CaptionSources array. + // + // For more information on embedded files, see the Subtitles Wikipedia page. + // + // For more information on sidecar files, see the Extensible Metadata Platform + // and Sidecar file Wikipedia pages. + Captions *Captions `type:"structure"` + + // You can create an output file that contains an excerpt from the input file. + // This excerpt, called a clip, can come from the beginning, middle, or end + // of the file. The Composition object contains settings for the clips that + // make up an output file. For the current release, you can only specify settings + // for a single clip per output file. The Composition object cannot be null. + Composition []*Clip `type:"list"` + + // Duration of the output file, in seconds. + Duration *int64 `type:"long"` + + // Duration of the output file, in milliseconds. + DurationMillis *int64 `type:"long"` + + // The encryption settings, if any, that you want Elastic Transcoder to apply + // to your output files. If you choose to use encryption, you must specify a + // mode to use. If you choose not to use encryption, Elastic Transcoder will + // write an unencrypted file to your Amazon S3 bucket. + Encryption *Encryption `type:"structure"` + + // File size of the output file, in bytes. + FileSize *int64 `type:"long"` + + // Frame rate of the output file, in frames per second. + FrameRate *string `type:"string"` + + // Height of the output file, in pixels. + Height *int64 `type:"integer"` + + // A sequential counter, starting with 1, that identifies an output among the + // outputs from the current job. In the Output syntax, this value is always + // 1. + Id *string `type:"string"` + + // The name to assign to the transcoded file. Elastic Transcoder saves the file + // in the Amazon S3 bucket specified by the OutputBucket object in the pipeline + // that is specified by the pipeline ID. + Key *string `min:"1" type:"string"` + + // The value of the Id object for the preset that you want to use for this job. + // The preset determines the audio, video, and thumbnail settings that Elastic + // Transcoder uses for transcoding. To use a preset that you created, specify + // the preset ID that Elastic Transcoder returned in the response when you created + // the preset. You can also use the Elastic Transcoder system presets, which + // you can get with ListPresets. + PresetId *string `type:"string"` + + // The number of degrees clockwise by which you want Elastic Transcoder to rotate + // the output relative to the input. Enter one of the following values: + // + // auto, 0, 90, 180, 270 + // + // The value auto generally works only if the file that you're transcoding + // contains rotation metadata. + Rotate *string `type:"string"` + + // (Outputs in Fragmented MP4 or MPEG-TS format only.If you specify a preset + // in PresetId for which the value of Container is fmp4 (Fragmented MP4) or + // ts (MPEG-TS), SegmentDuration is the target maximum duration of each segment + // in seconds. For HLSv3 format playlists, each media segment is stored in a + // separate .ts file. For HLSv4 and Smooth playlists, all media segments for + // an output are stored in a single file. Each segment is approximately the + // length of the SegmentDuration, though individual segments might be shorter + // or longer. + // + // The range of valid values is 1 to 60 seconds. If the duration of the video + // is not evenly divisible by SegmentDuration, the duration of the last segment + // is the remainder of total length/SegmentDuration. + // + // Elastic Transcoder creates an output-specific playlist for each output HLS + // output that you specify in OutputKeys. To add an output to the master playlist + // for this job, include it in the OutputKeys of the associated playlist. + SegmentDuration *string `type:"string"` + + // The status of one output in a job. If you specified only one output for the + // job, Outputs:Status is always the same as Job:Status. If you specified more + // than one output: Job:Status and Outputs:Status for all of the outputs is + // Submitted until Elastic Transcoder starts to process the first output. When + // Elastic Transcoder starts to process the first output, Outputs:Status for + // that output and Job:Status both change to Progressing. For each output, the + // value of Outputs:Status remains Submitted until Elastic Transcoder starts + // to process the output. Job:Status remains Progressing until all of the outputs + // reach a terminal status, either Complete or Error. When all of the outputs + // reach a terminal status, Job:Status changes to Complete only if Outputs:Status + // for all of the outputs is Complete. If Outputs:Status for one or more outputs + // is Error, the terminal status for Job:Status is also Error. The value of + // Status is one of the following: Submitted, Progressing, Complete, Canceled, + // or Error. + Status *string `type:"string"` + + // Information that further explains Status. + StatusDetail *string `type:"string"` + + // The encryption settings, if any, that you want Elastic Transcoder to apply + // to your thumbnail. + ThumbnailEncryption *Encryption `type:"structure"` + + // Whether you want Elastic Transcoder to create thumbnails for your videos + // and, if so, how you want Elastic Transcoder to name the files. + // + // If you don't want Elastic Transcoder to create thumbnails, specify "". + // + // If you do want Elastic Transcoder to create thumbnails, specify the information + // that you want to include in the file name for each thumbnail. You can specify + // the following values in any sequence: + // + // {count} (Required): If you want to create thumbnails, you must include + // {count} in the ThumbnailPattern object. Wherever you specify {count}, Elastic + // Transcoder adds a five-digit sequence number (beginning with 00001) to thumbnail + // file names. The number indicates where a given thumbnail appears in the sequence + // of thumbnails for a transcoded file. + // + // If you specify a literal value and/or {resolution} but you omit {count}, + // Elastic Transcoder returns a validation error and does not create the job. + // Literal values (Optional): You can specify literal values anywhere in + // the ThumbnailPattern object. For example, you can include them as a file + // name prefix or as a delimiter between {resolution} and {count}. + // + // {resolution} (Optional): If you want Elastic Transcoder to include the + // resolution in the file name, include {resolution} in the ThumbnailPattern + // object. + // + // When creating thumbnails, Elastic Transcoder automatically saves the files + // in the format (.jpg or .png) that appears in the preset that you specified + // in the PresetID value of CreateJobOutput. Elastic Transcoder also appends + // the applicable file name extension. + ThumbnailPattern *string `type:"string"` + + // Information about the watermarks that you want Elastic Transcoder to add + // to the video during transcoding. You can specify up to four watermarks for + // each output. Settings for each watermark must be defined in the preset that + // you specify in Preset for the current output. + // + // Watermarks are added to the output video in the sequence in which you list + // them in the job output—the first watermark in the list is added to the output + // video first, the second watermark in the list is added next, and so on. As + // a result, if the settings in a preset cause Elastic Transcoder to place all + // watermarks in the same location, the second watermark that you add will cover + // the first one, the third one will cover the second, and the fourth one will + // cover the third. + Watermarks []*JobWatermark `type:"list"` + + // Specifies the width of the output file in pixels. + Width *int64 `type:"integer"` +} + +// String returns the string representation +func (s JobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s JobOutput) GoString() string { + return s.String() +} + +// Watermarks can be in .png or .jpg format. If you want to display a watermark +// that is not rectangular, use the .png format, which supports transparency. +type JobWatermark struct { + _ struct{} `type:"structure"` + + // The encryption settings, if any, that you want Elastic Transcoder to apply + // to your watermarks. + Encryption *Encryption `type:"structure"` + + // The name of the .png or .jpg file that you want to use for the watermark. + // To determine which Amazon S3 bucket contains the specified file, Elastic + // Transcoder checks the pipeline specified by Pipeline; the Input Bucket object + // in that pipeline identifies the bucket. + // + // If the file name includes a prefix, for example, logos/128x64.png, include + // the prefix in the key. If the file isn't in the specified bucket, Elastic + // Transcoder returns an error. + InputKey *string `min:"1" type:"string"` + + // The ID of the watermark settings that Elastic Transcoder uses to add watermarks + // to the video during transcoding. The settings are in the preset specified + // by Preset for the current output. In that preset, the value of Watermarks + // Id tells Elastic Transcoder which settings to use. + PresetWatermarkId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s JobWatermark) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s JobWatermark) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *JobWatermark) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "JobWatermark"} + if s.InputKey != nil && len(*s.InputKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputKey", 1)) + } + if s.PresetWatermarkId != nil && len(*s.PresetWatermarkId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PresetWatermarkId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The ListJobsByPipelineRequest structure. +type ListJobsByPipelineInput struct { + _ struct{} `type:"structure"` + + // To list jobs in chronological order by the date and time that they were submitted, + // enter true. To list jobs in reverse chronological order, enter false. + Ascending *string `location:"querystring" locationName:"Ascending" type:"string"` + + // When Elastic Transcoder returns more than one page of results, use pageToken + // in subsequent GET requests to get each successive page of results. + PageToken *string `location:"querystring" locationName:"PageToken" type:"string"` + + // The ID of the pipeline for which you want to get job information. + // + // PipelineId is a required field + PipelineId *string `location:"uri" locationName:"PipelineId" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListJobsByPipelineInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListJobsByPipelineInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListJobsByPipelineInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListJobsByPipelineInput"} + if s.PipelineId == nil { + invalidParams.Add(request.NewErrParamRequired("PipelineId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The ListJobsByPipelineResponse structure. +type ListJobsByPipelineOutput struct { + _ struct{} `type:"structure"` + + // An array of Job objects that are in the specified pipeline. + Jobs []*Job `type:"list"` + + // A value that you use to access the second and subsequent pages of results, + // if any. When the jobs in the specified pipeline fit on one page or when you've + // reached the last page of results, the value of NextPageToken is null. + NextPageToken *string `type:"string"` +} + +// String returns the string representation +func (s ListJobsByPipelineOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListJobsByPipelineOutput) GoString() string { + return s.String() +} + +// The ListJobsByStatusRequest structure. +type ListJobsByStatusInput struct { + _ struct{} `type:"structure"` + + // To list jobs in chronological order by the date and time that they were submitted, + // enter true. To list jobs in reverse chronological order, enter false. + Ascending *string `location:"querystring" locationName:"Ascending" type:"string"` + + // When Elastic Transcoder returns more than one page of results, use pageToken + // in subsequent GET requests to get each successive page of results. + PageToken *string `location:"querystring" locationName:"PageToken" type:"string"` + + // To get information about all of the jobs associated with the current AWS + // account that have a given status, specify the following status: Submitted, + // Progressing, Complete, Canceled, or Error. + // + // Status is a required field + Status *string `location:"uri" locationName:"Status" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListJobsByStatusInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListJobsByStatusInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListJobsByStatusInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListJobsByStatusInput"} + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The ListJobsByStatusResponse structure. +type ListJobsByStatusOutput struct { + _ struct{} `type:"structure"` + + // An array of Job objects that have the specified status. + Jobs []*Job `type:"list"` + + // A value that you use to access the second and subsequent pages of results, + // if any. When the jobs in the specified pipeline fit on one page or when you've + // reached the last page of results, the value of NextPageToken is null. + NextPageToken *string `type:"string"` +} + +// String returns the string representation +func (s ListJobsByStatusOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListJobsByStatusOutput) GoString() string { + return s.String() +} + +// The ListPipelineRequest structure. +type ListPipelinesInput struct { + _ struct{} `type:"structure"` + + // To list pipelines in chronological order by the date and time that they were + // created, enter true. To list pipelines in reverse chronological order, enter + // false. + Ascending *string `location:"querystring" locationName:"Ascending" type:"string"` + + // When Elastic Transcoder returns more than one page of results, use pageToken + // in subsequent GET requests to get each successive page of results. + PageToken *string `location:"querystring" locationName:"PageToken" type:"string"` +} + +// String returns the string representation +func (s ListPipelinesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPipelinesInput) GoString() string { + return s.String() +} + +// A list of the pipelines associated with the current AWS account. +type ListPipelinesOutput struct { + _ struct{} `type:"structure"` + + // A value that you use to access the second and subsequent pages of results, + // if any. When the pipelines fit on one page or when you've reached the last + // page of results, the value of NextPageToken is null. + NextPageToken *string `type:"string"` + + // An array of Pipeline objects. + Pipelines []*Pipeline `type:"list"` +} + +// String returns the string representation +func (s ListPipelinesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPipelinesOutput) GoString() string { + return s.String() +} + +// The ListPresetsRequest structure. +type ListPresetsInput struct { + _ struct{} `type:"structure"` + + // To list presets in chronological order by the date and time that they were + // created, enter true. To list presets in reverse chronological order, enter + // false. + Ascending *string `location:"querystring" locationName:"Ascending" type:"string"` + + // When Elastic Transcoder returns more than one page of results, use pageToken + // in subsequent GET requests to get each successive page of results. + PageToken *string `location:"querystring" locationName:"PageToken" type:"string"` +} + +// String returns the string representation +func (s ListPresetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPresetsInput) GoString() string { + return s.String() +} + +// The ListPresetsResponse structure. +type ListPresetsOutput struct { + _ struct{} `type:"structure"` + + // A value that you use to access the second and subsequent pages of results, + // if any. When the presets fit on one page or when you've reached the last + // page of results, the value of NextPageToken is null. + NextPageToken *string `type:"string"` + + // An array of Preset objects. + Presets []*Preset `type:"list"` +} + +// String returns the string representation +func (s ListPresetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPresetsOutput) GoString() string { + return s.String() +} + +// The Amazon Simple Notification Service (Amazon SNS) topic or topics to notify +// in order to report job status. +// +// To receive notifications, you must also subscribe to the new topic in the +// Amazon SNS console. +type Notifications struct { + _ struct{} `type:"structure"` + + // The Amazon SNS topic that you want to notify when Elastic Transcoder has + // finished processing the job. + Completed *string `type:"string"` + + // The Amazon SNS topic that you want to notify when Elastic Transcoder encounters + // an error condition. + Error *string `type:"string"` + + // The Amazon Simple Notification Service (Amazon SNS) topic that you want to + // notify when Elastic Transcoder has started to process the job. + Progressing *string `type:"string"` + + // The Amazon SNS topic that you want to notify when Elastic Transcoder encounters + // a warning condition. + Warning *string `type:"string"` +} + +// String returns the string representation +func (s Notifications) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Notifications) GoString() string { + return s.String() +} + +// The Permission structure. +type Permission struct { + _ struct{} `type:"structure"` + + // The permission that you want to give to the AWS user that is listed in Grantee. + // Valid values include: READ: The grantee can read the thumbnails and metadata + // for thumbnails that Elastic Transcoder adds to the Amazon S3 bucket. READ_ACP: + // The grantee can read the object ACL for thumbnails that Elastic Transcoder + // adds to the Amazon S3 bucket. WRITE_ACP: The grantee can write the ACL for + // the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket. FULL_CONTROL: + // The grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails + // that Elastic Transcoder adds to the Amazon S3 bucket. + Access []*string `type:"list"` + + // The AWS user or group that you want to have access to transcoded files and + // playlists. To identify the user or group, you can specify the canonical user + // ID for an AWS account, an origin access identity for a CloudFront distribution, + // the registered email address of an AWS account, or a predefined Amazon S3 + // group. + Grantee *string `min:"1" type:"string"` + + // The type of value that appears in the Grantee object: Canonical: Either + // the canonical user ID for an AWS account or an origin access identity for + // an Amazon CloudFront distribution. A canonical user ID is not the same as + // an AWS account number. Email: The registered email address of an AWS account. + // Group: One of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, + // or LogDelivery. + GranteeType *string `type:"string"` +} + +// String returns the string representation +func (s Permission) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Permission) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Permission) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Permission"} + if s.Grantee != nil && len(*s.Grantee) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Grantee", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The pipeline (queue) that is used to manage jobs. +type Pipeline struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the pipeline. + Arn *string `type:"string"` + + // The AWS Key Management Service (AWS KMS) key that you want to use with this + // pipeline. + // + // If you use either S3 or S3-AWS-KMS as your Encryption:Mode, you don't need + // to provide a key with your job because a default key, known as an AWS-KMS + // key, is created for you automatically. You need to provide an AWS-KMS key + // only if you want to use a non-default AWS-KMS key, or if you are using an + // Encryption:Mode of AES-PKCS7, AES-CTR, or AES-GCM. + AwsKmsKeyArn *string `type:"string"` + + // Information about the Amazon S3 bucket in which you want Elastic Transcoder + // to save transcoded files and playlists. Either you specify both ContentConfig + // and ThumbnailConfig, or you specify OutputBucket. + // + // Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save + // transcoded files and playlists. Permissions: A list of the users and/or predefined + // Amazon S3 groups you want to have access to transcoded files and playlists, + // and the type of access that you want them to have. GranteeType: The type + // of value that appears in the Grantee object: Canonical: Either the canonical + // user ID for an AWS account or an origin access identity for an Amazon CloudFront + // distribution. Email: The registered email address of an AWS account. Group: + // One of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, + // or LogDelivery. Grantee: The AWS user or group that you want to have access + // to transcoded files and playlists. Access: The permission that you want to + // give to the AWS user that is listed in Grantee. Valid values include: READ: + // The grantee can read the objects and metadata for objects that Elastic Transcoder + // adds to the Amazon S3 bucket. READ_ACP: The grantee can read the object ACL + // for objects that Elastic Transcoder adds to the Amazon S3 bucket. WRITE_ACP: + // The grantee can write the ACL for the objects that Elastic Transcoder adds + // to the Amazon S3 bucket. FULL_CONTROL: The grantee has READ, READ_ACP, and + // WRITE_ACP permissions for the objects that Elastic Transcoder adds to the + // Amazon S3 bucket. StorageClass: The Amazon S3 storage class, Standard + // or ReducedRedundancy, that you want Elastic Transcoder to assign to the video + // files and playlists that it stores in your Amazon S3 bucket. + ContentConfig *PipelineOutputConfig `type:"structure"` + + // The identifier for the pipeline. You use this value to identify the pipeline + // in which you want to perform a variety of operations, such as creating a + // job or a preset. + Id *string `type:"string"` + + // The Amazon S3 bucket from which Elastic Transcoder gets media files for transcoding + // and the graphics files, if any, that you want to use for watermarks. + InputBucket *string `type:"string"` + + // The name of the pipeline. We recommend that the name be unique within the + // AWS account, but uniqueness is not enforced. + // + // Constraints: Maximum 40 characters + Name *string `min:"1" type:"string"` + + // The Amazon Simple Notification Service (Amazon SNS) topic that you want to + // notify to report job status. + // + // To receive notifications, you must also subscribe to the new topic in the + // Amazon SNS console. Progressing (optional): The Amazon Simple Notification + // Service (Amazon SNS) topic that you want to notify when Elastic Transcoder + // has started to process the job. Completed (optional): The Amazon SNS topic + // that you want to notify when Elastic Transcoder has finished processing the + // job. Warning (optional): The Amazon SNS topic that you want to notify when + // Elastic Transcoder encounters a warning condition. Error (optional): The + // Amazon SNS topic that you want to notify when Elastic Transcoder encounters + // an error condition. + Notifications *Notifications `type:"structure"` + + // The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded + // files, thumbnails, and playlists. Either you specify this value, or you specify + // both ContentConfig and ThumbnailConfig. + OutputBucket *string `type:"string"` + + // The IAM Amazon Resource Name (ARN) for the role that Elastic Transcoder uses + // to transcode jobs for this pipeline. + Role *string `type:"string"` + + // The current status of the pipeline: + // + // Active: The pipeline is processing jobs. Paused: The pipeline is not currently + // processing jobs. + Status *string `type:"string"` + + // Information about the Amazon S3 bucket in which you want Elastic Transcoder + // to save thumbnail files. Either you specify both ContentConfig and ThumbnailConfig, + // or you specify OutputBucket. + // + // Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save + // thumbnail files. Permissions: A list of the users and/or predefined Amazon + // S3 groups you want to have access to thumbnail files, and the type of access + // that you want them to have. GranteeType: The type of value that appears + // in the Grantee object: Canonical: Either the canonical user ID for an AWS + // account or an origin access identity for an Amazon CloudFront distribution. + // A canonical user ID is not the same as an AWS account number. Email: The + // registered email address of an AWS account. Group: One of the following predefined + // Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery. Grantee: + // The AWS user or group that you want to have access to thumbnail files. Access: + // The permission that you want to give to the AWS user that is listed in Grantee. + // Valid values include: READ: The grantee can read the thumbnails and metadata + // for thumbnails that Elastic Transcoder adds to the Amazon S3 bucket. READ_ACP: + // The grantee can read the object ACL for thumbnails that Elastic Transcoder + // adds to the Amazon S3 bucket. WRITE_ACP: The grantee can write the ACL for + // the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket. FULL_CONTROL: + // The grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails + // that Elastic Transcoder adds to the Amazon S3 bucket. StorageClass: The + // Amazon S3 storage class, Standard or ReducedRedundancy, that you want Elastic + // Transcoder to assign to the thumbnails that it stores in your Amazon S3 bucket. + ThumbnailConfig *PipelineOutputConfig `type:"structure"` +} + +// String returns the string representation +func (s Pipeline) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Pipeline) GoString() string { + return s.String() +} + +// The PipelineOutputConfig structure. +type PipelineOutputConfig struct { + _ struct{} `type:"structure"` + + // The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded + // files. Specify this value when all of the following are true: You want to + // save transcoded files, thumbnails (if any), and playlists (if any) together + // in one bucket. You do not want to specify the users or groups who have access + // to the transcoded files, thumbnails, and playlists. You do not want to specify + // the permissions that Elastic Transcoder grants to the files. You want to + // associate the transcoded files and thumbnails with the Amazon S3 Standard + // storage class. If you want to save transcoded files and playlists in one + // bucket and thumbnails in another bucket, specify which users can access the + // transcoded files or the permissions the users have, or change the Amazon + // S3 storage class, omit OutputBucket and specify values for ContentConfig + // and ThumbnailConfig instead. + Bucket *string `type:"string"` + + // Optional. The Permissions object specifies which users and/or predefined + // Amazon S3 groups you want to have access to transcoded files and playlists, + // and the type of access you want them to have. You can grant permissions to + // a maximum of 30 users and/or predefined Amazon S3 groups. + // + // If you include Permissions, Elastic Transcoder grants only the permissions + // that you specify. It does not grant full permissions to the owner of the + // role specified by Role. If you want that user to have full control, you must + // explicitly grant full control to the user. + // + // If you omit Permissions, Elastic Transcoder grants full control over the + // transcoded files and playlists to the owner of the role specified by Role, + // and grants no other permissions to any other user or group. + Permissions []*Permission `type:"list"` + + // The Amazon S3 storage class, Standard or ReducedRedundancy, that you want + // Elastic Transcoder to assign to the video files and playlists that it stores + // in your Amazon S3 bucket. + StorageClass *string `type:"string"` +} + +// String returns the string representation +func (s PipelineOutputConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PipelineOutputConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PipelineOutputConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PipelineOutputConfig"} + if s.Permissions != nil { + for i, v := range s.Permissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Permissions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The PlayReady DRM settings, if any, that you want Elastic Transcoder to apply +// to the output files associated with this playlist. +// +// PlayReady DRM encrypts your media files using AES-CTR encryption. +// +// If you use DRM for an HLSv3 playlist, your outputs must have a master playlist. +type PlayReadyDrm struct { + _ struct{} `type:"structure"` + + // The type of DRM, if any, that you want Elastic Transcoder to apply to the + // output files associated with this playlist. + Format *string `type:"string"` + + // The series of random bits created by a random bit generator, unique for every + // encryption operation, that you want Elastic Transcoder to use to encrypt + // your files. The initialization vector must be base64-encoded, and it must + // be exactly 8 bytes long before being base64-encoded. If no initialization + // vector is provided, Elastic Transcoder generates one for you. + InitializationVector *string `type:"string"` + + // The DRM key for your file, provided by your DRM license provider. The key + // must be base64-encoded, and it must be one of the following bit lengths before + // being base64-encoded: + // + // 128, 192, or 256. + // + // The key must also be encrypted by using AWS KMS. + Key *string `type:"string"` + + // The ID for your DRM key, so that your DRM license provider knows which key + // to provide. + // + // The key ID must be provided in big endian, and Elastic Transcoder will convert + // it to little endian before inserting it into the PlayReady DRM headers. If + // you are unsure whether your license server provides your key ID in big or + // little endian, check with your DRM provider. + KeyId *string `type:"string"` + + // The MD5 digest of the key used for DRM on your file, and that you want Elastic + // Transcoder to use as a checksum to make sure your key was not corrupted in + // transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes + // before being base64-encoded. + KeyMd5 *string `type:"string"` + + // The location of the license key required to play DRM content. The URL must + // be an absolute path, and is referenced by the PlayReady header. The PlayReady + // header is referenced in the protection header of the client manifest for + // Smooth Streaming outputs, and in the EXT-X-DXDRM and EXT-XDXDRMINFO metadata + // tags for HLS playlist outputs. An example URL looks like this: https://www.example.com/exampleKey/ + LicenseAcquisitionUrl *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s PlayReadyDrm) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PlayReadyDrm) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PlayReadyDrm) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PlayReadyDrm"} + if s.LicenseAcquisitionUrl != nil && len(*s.LicenseAcquisitionUrl) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LicenseAcquisitionUrl", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Use Only for Fragmented MP4 or MPEG-TS Outputs. If you specify a preset for +// which the value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), Playlists +// contains information about the master playlists that you want Elastic Transcoder +// to create. We recommend that you create only one master playlist per output +// format. The maximum number of master playlists in a job is 30. +type Playlist struct { + _ struct{} `type:"structure"` + + // The format of the output playlist. Valid formats include HLSv3, HLSv4, and + // Smooth. + Format *string `type:"string"` + + // The HLS content protection settings, if any, that you want Elastic Transcoder + // to apply to the output files associated with this playlist. + HlsContentProtection *HlsContentProtection `type:"structure"` + + // The name that you want Elastic Transcoder to assign to the master playlist, + // for example, nyc-vacation.m3u8. If the name includes a / character, the section + // of the name before the last / must be identical for all Name objects. If + // you create more than one master playlist, the values of all Name objects + // must be unique. + // + // Note: Elastic Transcoder automatically appends the relevant file extension + // to the file name (.m3u8 for HLSv3 and HLSv4 playlists, and .ism and .ismc + // for Smooth playlists). If you include a file extension in Name, the file + // name will have two extensions. + Name *string `min:"1" type:"string"` + + // For each output in this job that you want to include in a master playlist, + // the value of the Outputs:Key object. + // + // If your output is not HLS or does not have a segment duration set, the + // name of the output file is a concatenation of OutputKeyPrefix and Outputs:Key: + // + // OutputKeyPrefixOutputs:Key + // + // If your output is HLSv3 and has a segment duration set, or is not included + // in a playlist, Elastic Transcoder creates an output playlist file with a + // file extension of .m3u8, and a series of .ts files that include a five-digit + // sequential counter beginning with 00000: + // + // OutputKeyPrefixOutputs:Key.m3u8 + // + // OutputKeyPrefixOutputs:Key00000.ts + // + // If your output is HLSv4, has a segment duration set, and is included in + // an HLSv4 playlist, Elastic Transcoder creates an output playlist file with + // a file extension of _v4.m3u8. If the output is video, Elastic Transcoder + // also creates an output file with an extension of _iframe.m3u8: + // + // OutputKeyPrefixOutputs:Key_v4.m3u8 + // + // OutputKeyPrefixOutputs:Key_iframe.m3u8 + // + // OutputKeyPrefixOutputs:Key.ts + // + // Elastic Transcoder automatically appends the relevant file extension to + // the file name. If you include a file extension in Output Key, the file name + // will have two extensions. + // + // If you include more than one output in a playlist, any segment duration + // settings, clip settings, or caption settings must be the same for all outputs + // in the playlist. For Smooth playlists, the Audio:Profile, Video:Profile, + // and Video:FrameRate to Video:KeyframesMaxDist ratio must be the same for + // all outputs. + OutputKeys []*string `type:"list"` + + // The DRM settings, if any, that you want Elastic Transcoder to apply to the + // output files associated with this playlist. + PlayReadyDrm *PlayReadyDrm `type:"structure"` + + // The status of the job with which the playlist is associated. + Status *string `type:"string"` + + // Information that further explains the status. + StatusDetail *string `type:"string"` +} + +// String returns the string representation +func (s Playlist) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Playlist) GoString() string { + return s.String() +} + +// Presets are templates that contain most of the settings for transcoding media +// files from one format to another. Elastic Transcoder includes some default +// presets for common formats, for example, several iPod and iPhone versions. +// You can also create your own presets for formats that aren't included among +// the default presets. You specify which preset you want to use when you create +// a job. +type Preset struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the preset. + Arn *string `type:"string"` + + // A section of the response body that provides information about the audio + // preset values. + Audio *AudioParameters `type:"structure"` + + // The container type for the output file. Valid values include flac, flv, fmp4, + // gif, mp3, mp4, mpg, mxf, oga, ogg, ts, and webm. + Container *string `type:"string"` + + // A description of the preset. + Description *string `type:"string"` + + // Identifier for the new preset. You use this value to get settings for the + // preset or to delete it. + Id *string `type:"string"` + + // The name of the preset. + Name *string `min:"1" type:"string"` + + // A section of the response body that provides information about the thumbnail + // preset values, if any. + Thumbnails *Thumbnails `type:"structure"` + + // Whether the preset is a default preset provided by Elastic Transcoder (System) + // or a preset that you have defined (Custom). + Type *string `type:"string"` + + // A section of the response body that provides information about the video + // preset values. + Video *VideoParameters `type:"structure"` +} + +// String returns the string representation +func (s Preset) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Preset) GoString() string { + return s.String() +} + +// Settings for the size, location, and opacity of graphics that you want Elastic +// Transcoder to overlay over videos that are transcoded using this preset. +// You can specify settings for up to four watermarks. Watermarks appear in +// the specified size and location, and with the specified opacity for the duration +// of the transcoded video. +// +// Watermarks can be in .png or .jpg format. If you want to display a watermark +// that is not rectangular, use the .png format, which supports transparency. +// +// When you create a job that uses this preset, you specify the .png or .jpg +// graphics that you want Elastic Transcoder to include in the transcoded videos. +// You can specify fewer graphics in the job than you specify watermark settings +// in the preset, which allows you to use the same preset for up to four watermarks +// that have different dimensions. +type PresetWatermark struct { + _ struct{} `type:"structure"` + + // The horizontal position of the watermark unless you specify a non-zero value + // for HorizontalOffset: Left: The left edge of the watermark is aligned with + // the left border of the video. Right: The right edge of the watermark is aligned + // with the right border of the video. Center: The watermark is centered between + // the left and right borders. + HorizontalAlign *string `type:"string"` + + // The amount by which you want the horizontal position of the watermark to + // be offset from the position specified by HorizontalAlign: number of pixels + // (px): The minimum value is 0 pixels, and the maximum value is the value of + // MaxWidth. integer percentage (%): The range of valid values is 0 to 100. + // For example, if you specify Left for HorizontalAlign and 5px for HorizontalOffset, + // the left side of the watermark appears 5 pixels from the left border of the + // output video. + // + // HorizontalOffset is only valid when the value of HorizontalAlign is Left + // or Right. If you specify an offset that causes the watermark to extend beyond + // the left or right border and Elastic Transcoder has not added black bars, + // the watermark is cropped. If Elastic Transcoder has added black bars, the + // watermark extends into the black bars. If the watermark extends beyond the + // black bars, it is cropped. + // + // Use the value of Target to specify whether you want to include the black + // bars that are added by Elastic Transcoder, if any, in the offset calculation. + HorizontalOffset *string `type:"string"` + + // A unique identifier for the settings for one watermark. The value of Id can + // be up to 40 characters long. + Id *string `min:"1" type:"string"` + + // The maximum height of the watermark in one of the following formats: number + // of pixels (px): The minimum value is 16 pixels, and the maximum value is + // the value of MaxHeight. integer percentage (%): The range of valid values + // is 0 to 100. Use the value of Target to specify whether you want Elastic + // Transcoder to include the black bars that are added by Elastic Transcoder, + // if any, in the calculation. If you specify the value in pixels, it must + // be less than or equal to the value of MaxHeight. + MaxHeight *string `type:"string"` + + // The maximum width of the watermark in one of the following formats: number + // of pixels (px): The minimum value is 16 pixels, and the maximum value is + // the value of MaxWidth. integer percentage (%): The range of valid values + // is 0 to 100. Use the value of Target to specify whether you want Elastic + // Transcoder to include the black bars that are added by Elastic Transcoder, + // if any, in the calculation. If you specify the value in pixels, it must be + // less than or equal to the value of MaxWidth. + MaxWidth *string `type:"string"` + + // A percentage that indicates how much you want a watermark to obscure the + // video in the location where it appears. Valid values are 0 (the watermark + // is invisible) to 100 (the watermark completely obscures the video in the + // specified location). The datatype of Opacity is float. + // + // Elastic Transcoder supports transparent .png graphics. If you use a transparent + // .png, the transparent portion of the video appears as if you had specified + // a value of 0 for Opacity. The .jpg file format doesn't support transparency. + Opacity *string `type:"string"` + + // A value that controls scaling of the watermark: Fit: Elastic Transcoder + // scales the watermark so it matches the value that you specified in either + // MaxWidth or MaxHeight without exceeding the other value. Stretch: Elastic + // Transcoder stretches the watermark to match the values that you specified + // for MaxWidth and MaxHeight. If the relative proportions of the watermark + // and the values of MaxWidth and MaxHeight are different, the watermark will + // be distorted. ShrinkToFit: Elastic Transcoder scales the watermark down so + // that its dimensions match the values that you specified for at least one + // of MaxWidth and MaxHeight without exceeding either value. If you specify + // this option, Elastic Transcoder does not scale the watermark up. + SizingPolicy *string `type:"string"` + + // A value that determines how Elastic Transcoder interprets values that you + // specified for HorizontalOffset, VerticalOffset, MaxWidth, and MaxHeight: + // Content: HorizontalOffset and VerticalOffset values are calculated based + // on the borders of the video excluding black bars added by Elastic Transcoder, + // if any. In addition, MaxWidth and MaxHeight, if specified as a percentage, + // are calculated based on the borders of the video excluding black bars added + // by Elastic Transcoder, if any. Frame: HorizontalOffset and VerticalOffset + // values are calculated based on the borders of the video including black bars + // added by Elastic Transcoder, if any. In addition, MaxWidth and MaxHeight, + // if specified as a percentage, are calculated based on the borders of the + // video including black bars added by Elastic Transcoder, if any. + Target *string `type:"string"` + + // The vertical position of the watermark unless you specify a non-zero value + // for VerticalOffset: Top: The top edge of the watermark is aligned with the + // top border of the video. Bottom: The bottom edge of the watermark is aligned + // with the bottom border of the video. Center: The watermark is centered between + // the top and bottom borders. + VerticalAlign *string `type:"string"` + + // VerticalOffset The amount by which you want the vertical position of the + // watermark to be offset from the position specified by VerticalAlign: number + // of pixels (px): The minimum value is 0 pixels, and the maximum value is the + // value of MaxHeight. integer percentage (%): The range of valid values is + // 0 to 100. For example, if you specify Top for VerticalAlign and 5px for + // VerticalOffset, the top of the watermark appears 5 pixels from the top border + // of the output video. + // + // VerticalOffset is only valid when the value of VerticalAlign is Top or Bottom. + // + // If you specify an offset that causes the watermark to extend beyond the + // top or bottom border and Elastic Transcoder has not added black bars, the + // watermark is cropped. If Elastic Transcoder has added black bars, the watermark + // extends into the black bars. If the watermark extends beyond the black bars, + // it is cropped. + // + // Use the value of Target to specify whether you want Elastic Transcoder to + // include the black bars that are added by Elastic Transcoder, if any, in the + // offset calculation. + VerticalOffset *string `type:"string"` +} + +// String returns the string representation +func (s PresetWatermark) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PresetWatermark) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PresetWatermark) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PresetWatermark"} + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The ReadJobRequest structure. +type ReadJobInput struct { + _ struct{} `type:"structure"` + + // The identifier of the job for which you want to get detailed information. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` +} + +// String returns the string representation +func (s ReadJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReadJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReadJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReadJobInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The ReadJobResponse structure. +type ReadJobOutput struct { + _ struct{} `type:"structure"` + + // A section of the response body that provides information about the job. + Job *Job `type:"structure"` +} + +// String returns the string representation +func (s ReadJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReadJobOutput) GoString() string { + return s.String() +} + +// The ReadPipelineRequest structure. +type ReadPipelineInput struct { + _ struct{} `type:"structure"` + + // The identifier of the pipeline to read. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` +} + +// String returns the string representation +func (s ReadPipelineInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReadPipelineInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReadPipelineInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReadPipelineInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The ReadPipelineResponse structure. +type ReadPipelineOutput struct { + _ struct{} `type:"structure"` + + // A section of the response body that provides information about the pipeline. + Pipeline *Pipeline `type:"structure"` + + // Elastic Transcoder returns a warning if the resources used by your pipeline + // are not in the same region as the pipeline. + // + // Using resources in the same region, such as your Amazon S3 buckets, Amazon + // SNS notification topics, and AWS KMS key, reduces processing time and prevents + // cross-regional charges. + Warnings []*Warning `type:"list"` +} + +// String returns the string representation +func (s ReadPipelineOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReadPipelineOutput) GoString() string { + return s.String() +} + +// The ReadPresetRequest structure. +type ReadPresetInput struct { + _ struct{} `type:"structure"` + + // The identifier of the preset for which you want to get detailed information. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` +} + +// String returns the string representation +func (s ReadPresetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReadPresetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReadPresetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReadPresetInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The ReadPresetResponse structure. +type ReadPresetOutput struct { + _ struct{} `type:"structure"` + + // A section of the response body that provides information about the preset. + Preset *Preset `type:"structure"` +} + +// String returns the string representation +func (s ReadPresetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReadPresetOutput) GoString() string { + return s.String() +} + +// The TestRoleRequest structure. +type TestRoleInput struct { + _ struct{} `type:"structure"` + + // The Amazon S3 bucket that contains media files to be transcoded. The action + // attempts to read from this bucket. + // + // InputBucket is a required field + InputBucket *string `type:"string" required:"true"` + + // The Amazon S3 bucket that Elastic Transcoder will write transcoded media + // files to. The action attempts to read from this bucket. + // + // OutputBucket is a required field + OutputBucket *string `type:"string" required:"true"` + + // The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder + // to test. + // + // Role is a required field + Role *string `type:"string" required:"true"` + + // The ARNs of one or more Amazon Simple Notification Service (Amazon SNS) topics + // that you want the action to send a test notification to. + // + // Topics is a required field + Topics []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s TestRoleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TestRoleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TestRoleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TestRoleInput"} + if s.InputBucket == nil { + invalidParams.Add(request.NewErrParamRequired("InputBucket")) + } + if s.OutputBucket == nil { + invalidParams.Add(request.NewErrParamRequired("OutputBucket")) + } + if s.Role == nil { + invalidParams.Add(request.NewErrParamRequired("Role")) + } + if s.Topics == nil { + invalidParams.Add(request.NewErrParamRequired("Topics")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The TestRoleResponse structure. +type TestRoleOutput struct { + _ struct{} `type:"structure"` + + // If the Success element contains false, this value is an array of one or more + // error messages that were generated during the test process. + Messages []*string `type:"list"` + + // If the operation is successful, this value is true; otherwise, the value + // is false. + Success *string `type:"string"` +} + +// String returns the string representation +func (s TestRoleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TestRoleOutput) GoString() string { + return s.String() +} + +// Thumbnails for videos. +type Thumbnails struct { + _ struct{} `type:"structure"` + + // To better control resolution and aspect ratio of thumbnails, we recommend + // that you use the values MaxWidth, MaxHeight, SizingPolicy, and PaddingPolicy + // instead of Resolution and AspectRatio. The two groups of settings are mutually + // exclusive. Do not use them together. + // + // The aspect ratio of thumbnails. Valid values include: + // + // auto, 1:1, 4:3, 3:2, 16:9 + // + // If you specify auto, Elastic Transcoder tries to preserve the aspect ratio + // of the video in the output file. + AspectRatio *string `type:"string"` + + // The format of thumbnails, if any. Valid values are jpg and png. + // + // You specify whether you want Elastic Transcoder to create thumbnails when + // you create a job. + Format *string `type:"string"` + + // The approximate number of seconds between thumbnails. Specify an integer + // value. + Interval *string `type:"string"` + + // The maximum height of thumbnails in pixels. If you specify auto, Elastic + // Transcoder uses 1080 (Full HD) as the default value. If you specify a numeric + // value, enter an even integer between 32 and 3072. + MaxHeight *string `type:"string"` + + // The maximum width of thumbnails in pixels. If you specify auto, Elastic Transcoder + // uses 1920 (Full HD) as the default value. If you specify a numeric value, + // enter an even integer between 32 and 4096. + MaxWidth *string `type:"string"` + + // When you set PaddingPolicy to Pad, Elastic Transcoder may add black bars + // to the top and bottom and/or left and right sides of thumbnails to make the + // total size of the thumbnails match the values that you specified for thumbnail + // MaxWidth and MaxHeight settings. + PaddingPolicy *string `type:"string"` + + // To better control resolution and aspect ratio of thumbnails, we recommend + // that you use the values MaxWidth, MaxHeight, SizingPolicy, and PaddingPolicy + // instead of Resolution and AspectRatio. The two groups of settings are mutually + // exclusive. Do not use them together. + // + // The width and height of thumbnail files in pixels. Specify a value in the + // format width x height where both values are even integers. The values cannot + // exceed the width and height that you specified in the Video:Resolution object. + Resolution *string `type:"string"` + + // Specify one of the following values to control scaling of thumbnails: + // + // Fit: Elastic Transcoder scales thumbnails so they match the value that + // you specified in thumbnail MaxWidth or MaxHeight settings without exceeding + // the other value. Fill: Elastic Transcoder scales thumbnails so they match + // the value that you specified in thumbnail MaxWidth or MaxHeight settings + // and matches or exceeds the other value. Elastic Transcoder centers the image + // in thumbnails and then crops in the dimension (if any) that exceeds the maximum + // value. Stretch: Elastic Transcoder stretches thumbnails to match the values + // that you specified for thumbnail MaxWidth and MaxHeight settings. If the + // relative proportions of the input video and thumbnails are different, the + // thumbnails will be distorted. Keep: Elastic Transcoder does not scale thumbnails. + // If either dimension of the input video exceeds the values that you specified + // for thumbnail MaxWidth and MaxHeight settings, Elastic Transcoder crops the + // thumbnails. ShrinkToFit: Elastic Transcoder scales thumbnails down so that + // their dimensions match the values that you specified for at least one of + // thumbnail MaxWidth and MaxHeight without exceeding either value. If you specify + // this option, Elastic Transcoder does not scale thumbnails up. ShrinkToFill: + // Elastic Transcoder scales thumbnails down so that their dimensions match + // the values that you specified for at least one of MaxWidth and MaxHeight + // without dropping below either value. If you specify this option, Elastic + // Transcoder does not scale thumbnails up. + SizingPolicy *string `type:"string"` +} + +// String returns the string representation +func (s Thumbnails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Thumbnails) GoString() string { + return s.String() +} + +// Settings that determine when a clip begins and how long it lasts. +type TimeSpan struct { + _ struct{} `type:"structure"` + + // The duration of the clip. The format can be either HH:mm:ss.SSS (maximum + // value: 23:59:59.999; SSS is thousandths of a second) or sssss.SSS (maximum + // value: 86399.999). If you don't specify a value, Elastic Transcoder creates + // an output file from StartTime to the end of the file. + // + // If you specify a value longer than the duration of the input file, Elastic + // Transcoder transcodes the file and returns a warning message. + Duration *string `type:"string"` + + // The place in the input file where you want a clip to start. The format can + // be either HH:mm:ss.SSS (maximum value: 23:59:59.999; SSS is thousandths of + // a second) or sssss.SSS (maximum value: 86399.999). If you don't specify a + // value, Elastic Transcoder starts at the beginning of the input file. + StartTime *string `type:"string"` +} + +// String returns the string representation +func (s TimeSpan) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TimeSpan) GoString() string { + return s.String() +} + +// Details about the timing of a job. +type Timing struct { + _ struct{} `type:"structure"` + + // The time the job finished transcoding, in epoch milliseconds. + FinishTimeMillis *int64 `type:"long"` + + // The time the job began transcoding, in epoch milliseconds. + StartTimeMillis *int64 `type:"long"` + + // The time the job was submitted to Elastic Transcoder, in epoch milliseconds. + SubmitTimeMillis *int64 `type:"long"` +} + +// String returns the string representation +func (s Timing) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Timing) GoString() string { + return s.String() +} + +// The UpdatePipelineRequest structure. +type UpdatePipelineInput struct { + _ struct{} `type:"structure"` + + // The AWS Key Management Service (AWS KMS) key that you want to use with this + // pipeline. + // + // If you use either S3 or S3-AWS-KMS as your Encryption:Mode, you don't need + // to provide a key with your job because a default key, known as an AWS-KMS + // key, is created for you automatically. You need to provide an AWS-KMS key + // only if you want to use a non-default AWS-KMS key, or if you are using an + // Encryption:Mode of AES-PKCS7, AES-CTR, or AES-GCM. + AwsKmsKeyArn *string `type:"string"` + + // The optional ContentConfig object specifies information about the Amazon + // S3 bucket in which you want Elastic Transcoder to save transcoded files and + // playlists: which bucket to use, which users you want to have access to the + // files, the type of access you want users to have, and the storage class that + // you want to assign to the files. + // + // If you specify values for ContentConfig, you must also specify values for + // ThumbnailConfig. + // + // If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket + // object. + // + // Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save + // transcoded files and playlists. Permissions (Optional): The Permissions object + // specifies which users you want to have access to transcoded files and the + // type of access you want them to have. You can grant permissions to a maximum + // of 30 users and/or predefined Amazon S3 groups. Grantee Type: Specify the + // type of value that appears in the Grantee object: Canonical: The value in + // the Grantee object is either the canonical user ID for an AWS account or + // an origin access identity for an Amazon CloudFront distribution. For more + // information about canonical user IDs, see Access Control List (ACL) Overview + // in the Amazon Simple Storage Service Developer Guide. For more information + // about using CloudFront origin access identities to require that users use + // CloudFront URLs instead of Amazon S3 URLs, see Using an Origin Access Identity + // to Restrict Access to Your Amazon S3 Content. A canonical user ID is not + // the same as an AWS account number. Email: The value in the Grantee object + // is the registered email address of an AWS account. Group: The value in the + // Grantee object is one of the following predefined Amazon S3 groups: AllUsers, + // AuthenticatedUsers, or LogDelivery. Grantee: The AWS user or group that + // you want to have access to transcoded files and playlists. To identify the + // user or group, you can specify the canonical user ID for an AWS account, + // an origin access identity for a CloudFront distribution, the registered email + // address of an AWS account, or a predefined Amazon S3 group Access: The + // permission that you want to give to the AWS user that you specified in Grantee. + // Permissions are granted on the files that Elastic Transcoder adds to the + // bucket, including playlists and video files. Valid values include: READ: + // The grantee can read the objects and metadata for objects that Elastic Transcoder + // adds to the Amazon S3 bucket. READ_ACP: The grantee can read the object ACL + // for objects that Elastic Transcoder adds to the Amazon S3 bucket. WRITE_ACP: + // The grantee can write the ACL for the objects that Elastic Transcoder adds + // to the Amazon S3 bucket. FULL_CONTROL: The grantee has READ, READ_ACP, and + // WRITE_ACP permissions for the objects that Elastic Transcoder adds to the + // Amazon S3 bucket. StorageClass: The Amazon S3 storage class, Standard + // or ReducedRedundancy, that you want Elastic Transcoder to assign to the video + // files and playlists that it stores in your Amazon S3 bucket. + ContentConfig *PipelineOutputConfig `type:"structure"` + + // The ID of the pipeline that you want to update. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The Amazon S3 bucket in which you saved the media files that you want to + // transcode and the graphics that you want to use as watermarks. + InputBucket *string `type:"string"` + + // The name of the pipeline. We recommend that the name be unique within the + // AWS account, but uniqueness is not enforced. + // + // Constraints: Maximum 40 characters + Name *string `min:"1" type:"string"` + + // The Amazon Simple Notification Service (Amazon SNS) topic or topics to notify + // in order to report job status. + // + // To receive notifications, you must also subscribe to the new topic in the + // Amazon SNS console. + Notifications *Notifications `type:"structure"` + + // The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder + // to use to transcode jobs for this pipeline. + Role *string `type:"string"` + + // The ThumbnailConfig object specifies several values, including the Amazon + // S3 bucket in which you want Elastic Transcoder to save thumbnail files, which + // users you want to have access to the files, the type of access you want users + // to have, and the storage class that you want to assign to the files. + // + // If you specify values for ContentConfig, you must also specify values for + // ThumbnailConfig even if you don't want to create thumbnails. + // + // If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket + // object. + // + // Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save + // thumbnail files. Permissions (Optional): The Permissions object specifies + // which users and/or predefined Amazon S3 groups you want to have access to + // thumbnail files, and the type of access you want them to have. You can grant + // permissions to a maximum of 30 users and/or predefined Amazon S3 groups. + // GranteeType: Specify the type of value that appears in the Grantee object: + // Canonical: The value in the Grantee object is either the canonical user + // ID for an AWS account or an origin access identity for an Amazon CloudFront + // distribution. A canonical user ID is not the same as an AWS account number. + // Email: The value in the Grantee object is the registered email address of + // an AWS account. Group: The value in the Grantee object is one of the following + // predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery. + // Grantee: The AWS user or group that you want to have access to thumbnail + // files. To identify the user or group, you can specify the canonical user + // ID for an AWS account, an origin access identity for a CloudFront distribution, + // the registered email address of an AWS account, or a predefined Amazon S3 + // group. Access: The permission that you want to give to the AWS user that + // you specified in Grantee. Permissions are granted on the thumbnail files + // that Elastic Transcoder adds to the bucket. Valid values include: READ: + // The grantee can read the thumbnails and metadata for objects that Elastic + // Transcoder adds to the Amazon S3 bucket. READ_ACP: The grantee can read the + // object ACL for thumbnails that Elastic Transcoder adds to the Amazon S3 bucket. + // WRITE_ACP: The grantee can write the ACL for the thumbnails that Elastic + // Transcoder adds to the Amazon S3 bucket. FULL_CONTROL: The grantee has READ, + // READ_ACP, and WRITE_ACP permissions for the thumbnails that Elastic Transcoder + // adds to the Amazon S3 bucket. StorageClass: The Amazon S3 storage class, + // Standard or ReducedRedundancy, that you want Elastic Transcoder to assign + // to the thumbnails that it stores in your Amazon S3 bucket. + ThumbnailConfig *PipelineOutputConfig `type:"structure"` +} + +// String returns the string representation +func (s UpdatePipelineInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdatePipelineInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdatePipelineInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdatePipelineInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.ContentConfig != nil { + if err := s.ContentConfig.Validate(); err != nil { + invalidParams.AddNested("ContentConfig", err.(request.ErrInvalidParams)) + } + } + if s.ThumbnailConfig != nil { + if err := s.ThumbnailConfig.Validate(); err != nil { + invalidParams.AddNested("ThumbnailConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The UpdatePipelineNotificationsRequest structure. +type UpdatePipelineNotificationsInput struct { + _ struct{} `type:"structure"` + + // The identifier of the pipeline for which you want to change notification + // settings. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic + // that you want to notify to report job status. + // + // To receive notifications, you must also subscribe to the new topic in the + // Amazon SNS console. Progressing: The topic ARN for the Amazon Simple Notification + // Service (Amazon SNS) topic that you want to notify when Elastic Transcoder + // has started to process jobs that are added to this pipeline. This is the + // ARN that Amazon SNS returned when you created the topic. Completed: The topic + // ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder + // has finished processing a job. This is the ARN that Amazon SNS returned when + // you created the topic. Warning: The topic ARN for the Amazon SNS topic that + // you want to notify when Elastic Transcoder encounters a warning condition. + // This is the ARN that Amazon SNS returned when you created the topic. Error: + // The topic ARN for the Amazon SNS topic that you want to notify when Elastic + // Transcoder encounters an error condition. This is the ARN that Amazon SNS + // returned when you created the topic. + // + // Notifications is a required field + Notifications *Notifications `type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdatePipelineNotificationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdatePipelineNotificationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdatePipelineNotificationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdatePipelineNotificationsInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Notifications == nil { + invalidParams.Add(request.NewErrParamRequired("Notifications")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The UpdatePipelineNotificationsResponse structure. +type UpdatePipelineNotificationsOutput struct { + _ struct{} `type:"structure"` + + // A section of the response body that provides information about the pipeline. + Pipeline *Pipeline `type:"structure"` +} + +// String returns the string representation +func (s UpdatePipelineNotificationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdatePipelineNotificationsOutput) GoString() string { + return s.String() +} + +// When you update a pipeline, Elastic Transcoder returns the values that you +// specified in the request. +type UpdatePipelineOutput struct { + _ struct{} `type:"structure"` + + // The pipeline (queue) that is used to manage jobs. + Pipeline *Pipeline `type:"structure"` + + // Elastic Transcoder returns a warning if the resources used by your pipeline + // are not in the same region as the pipeline. + // + // Using resources in the same region, such as your Amazon S3 buckets, Amazon + // SNS notification topics, and AWS KMS key, reduces processing time and prevents + // cross-regional charges. + Warnings []*Warning `type:"list"` +} + +// String returns the string representation +func (s UpdatePipelineOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdatePipelineOutput) GoString() string { + return s.String() +} + +// The UpdatePipelineStatusRequest structure. +type UpdatePipelineStatusInput struct { + _ struct{} `type:"structure"` + + // The identifier of the pipeline to update. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The desired status of the pipeline: + // + // Active: The pipeline is processing jobs. Paused: The pipeline is not + // currently processing jobs. + // + // Status is a required field + Status *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdatePipelineStatusInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdatePipelineStatusInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdatePipelineStatusInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdatePipelineStatusInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// When you update status for a pipeline, Elastic Transcoder returns the values +// that you specified in the request. +type UpdatePipelineStatusOutput struct { + _ struct{} `type:"structure"` + + // A section of the response body that provides information about the pipeline. + Pipeline *Pipeline `type:"structure"` +} + +// String returns the string representation +func (s UpdatePipelineStatusOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdatePipelineStatusOutput) GoString() string { + return s.String() +} + +// The VideoParameters structure. +type VideoParameters struct { + _ struct{} `type:"structure"` + + // To better control resolution and aspect ratio of output videos, we recommend + // that you use the values MaxWidth, MaxHeight, SizingPolicy, PaddingPolicy, + // and DisplayAspectRatio instead of Resolution and AspectRatio. The two groups + // of settings are mutually exclusive. Do not use them together. + // + // The display aspect ratio of the video in the output file. Valid values + // include: + // + // auto, 1:1, 4:3, 3:2, 16:9 + // + // If you specify auto, Elastic Transcoder tries to preserve the aspect ratio + // of the input file. + // + // If you specify an aspect ratio for the output file that differs from aspect + // ratio of the input file, Elastic Transcoder adds pillarboxing (black bars + // on the sides) or letterboxing (black bars on the top and bottom) to maintain + // the aspect ratio of the active region of the video. + AspectRatio *string `type:"string"` + + // The bit rate of the video stream in the output file, in kilobits/second. + // Valid values depend on the values of Level and Profile. If you specify auto, + // Elastic Transcoder uses the detected bit rate of the input source. If you + // specify a value other than auto, we recommend that you specify a value less + // than or equal to the maximum H.264-compliant value listed for your level + // and profile: + // + // Level - Maximum video bit rate in kilobits/second (baseline and main Profile) + // : maximum video bit rate in kilobits/second (high Profile) + // + // 1 - 64 : 80 1b - 128 : 160 1.1 - 192 : 240 1.2 - 384 : 480 1.3 - 768 : + // 960 2 - 2000 : 2500 3 - 10000 : 12500 3.1 - 14000 : 17500 3.2 - 20000 : 25000 + // 4 - 20000 : 25000 4.1 - 50000 : 62500 + BitRate *string `type:"string"` + + // The video codec for the output file. Valid values include gif, H.264, mpeg2, + // and vp8. You can only specify vp8 when the container type is webm, gif when + // the container type is gif, and mpeg2 when the container type is mpg. + Codec *string `type:"string"` + + // Profile (H.264/VP8 Only) + // + // The H.264 profile that you want to use for the output file. Elastic Transcoder + // supports the following profiles: + // + // baseline: The profile most commonly used for videoconferencing and for + // mobile applications. main: The profile used for standard-definition digital + // TV broadcasts. high: The profile used for high-definition digital TV broadcasts + // and for Blu-ray discs. Level (H.264 Only) + // + // The H.264 level that you want to use for the output file. Elastic Transcoder + // supports the following levels: + // + // 1, 1b, 1.1, 1.2, 1.3, 2, 2.1, 2.2, 3, 3.1, 3.2, 4, 4.1 + // + // MaxReferenceFrames (H.264 Only) + // + // Applicable only when the value of Video:Codec is H.264. The maximum number + // of previously decoded frames to use as a reference for decoding future frames. + // Valid values are integers 0 through 16, but we recommend that you not use + // a value greater than the following: + // + // Min(Floor(Maximum decoded picture buffer in macroblocks * 256 / (Width + // in pixels * Height in pixels)), 16) + // + // where Width in pixels and Height in pixels represent either MaxWidth and + // MaxHeight, or Resolution. Maximum decoded picture buffer in macroblocks depends + // on the value of the Level object. See the list below. (A macroblock is a + // block of pixels measuring 16x16.) + // + // 1 - 396 1b - 396 1.1 - 900 1.2 - 2376 1.3 - 2376 2 - 2376 2.1 - 4752 2.2 + // - 8100 3 - 8100 3.1 - 18000 3.2 - 20480 4 - 32768 4.1 - 32768 MaxBitRate + // (Optional, H.264/MPEG2/VP8 only) + // + // The maximum number of bits per second in a video buffer; the size of the + // buffer is specified by BufferSize. Specify a value between 16 and 62,500. + // You can reduce the bandwidth required to stream a video by reducing the maximum + // bit rate, but this also reduces the quality of the video. + // + // BufferSize (Optional, H.264/MPEG2/VP8 only) + // + // The maximum number of bits in any x seconds of the output video. This window + // is commonly 10 seconds, the standard segment duration when you're using FMP4 + // or MPEG-TS for the container type of the output video. Specify an integer + // greater than 0. If you specify MaxBitRate and omit BufferSize, Elastic Transcoder + // sets BufferSize to 10 times the value of MaxBitRate. + // + // InterlacedMode (Optional, H.264/MPEG2 Only) + // + // The interlace mode for the output video. + // + // Interlaced video is used to double the perceived frame rate for a video + // by interlacing two fields (one field on every other line, the other field + // on the other lines) so that the human eye registers multiple pictures per + // frame. Interlacing reduces the bandwidth required for transmitting a video, + // but can result in blurred images and flickering. + // + // Valid values include Progressive (no interlacing, top to bottom), TopFirst + // (top field first), BottomFirst (bottom field first), and Auto. + // + // If InterlaceMode is not specified, Elastic Transcoder uses Progressive for + // the output. If Auto is specified, Elastic Transcoder interlaces the output. + // + // ColorSpaceConversionMode (Optional, H.264/MPEG2 Only) + // + // The color space conversion Elastic Transcoder applies to the output video. + // Color spaces are the algorithms used by the computer to store information + // about how to render color. Bt.601 is the standard for standard definition + // video, while Bt.709 is the standard for high definition video. + // + // Valid values include None, Bt709toBt601, Bt601toBt709, and Auto. + // + // If you chose Auto for ColorSpaceConversionMode and your output is interlaced, + // your frame rate is one of 23.97, 24, 25, 29.97, 50, or 60, your SegmentDuration + // is null, and you are using one of the resolution changes from the list below, + // Elastic Transcoder applies the following color space conversions: + // + // Standard to HD, 720x480 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709 + // Standard to HD, 720x576 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709 + // HD to Standard, 1920x1080 to 720x480 - Elastic Transcoder applies Bt709ToBt601 + // HD to Standard, 1920x1080 to 720x576 - Elastic Transcoder applies Bt709ToBt601 + // Elastic Transcoder may change the behavior of the ColorspaceConversionMode + // Auto mode in the future. All outputs in a playlist must use the same ColorSpaceConversionMode. + // If you do not specify a ColorSpaceConversionMode, Elastic Transcoder does + // not change the color space of a file. If you are unsure what ColorSpaceConversionMode + // was applied to your output file, you can check the AppliedColorSpaceConversion + // parameter included in your job response. If your job does not have an AppliedColorSpaceConversion + // in its response, no ColorSpaceConversionMode was applied. + // + // ChromaSubsampling + // + // The sampling pattern for the chroma (color) channels of the output video. + // Valid values include yuv420p and yuv422p. + // + // yuv420p samples the chroma information of every other horizontal and every + // other vertical line, yuv422p samples the color information of every horizontal + // line and every other vertical line. + // + // LoopCount (Gif Only) + // + // The number of times you want the output gif to loop. Valid values include + // Infinite and integers between 0 and 100, inclusive. + CodecOptions map[string]*string `type:"map"` + + // The value that Elastic Transcoder adds to the metadata in the output file. + DisplayAspectRatio *string `type:"string"` + + // Applicable only when the value of Video:Codec is one of H.264, MPEG2, or + // VP8. + // + // Whether to use a fixed value for FixedGOP. Valid values are true and false: + // + // true: Elastic Transcoder uses the value of KeyframesMaxDist for the distance + // between key frames (the number of frames in a group of pictures, or GOP). + // false: The distance between key frames can vary. FixedGOP must be set to + // true for fmp4 containers. + FixedGOP *string `type:"string"` + + // The frames per second for the video stream in the output file. Valid values + // include: + // + // auto, 10, 15, 23.97, 24, 25, 29.97, 30, 60 + // + // If you specify auto, Elastic Transcoder uses the detected frame rate of + // the input source. If you specify a frame rate, we recommend that you perform + // the following calculation: + // + // Frame rate = maximum recommended decoding speed in luma samples/second + // / (width in pixels * height in pixels) + // + // where: + // + // width in pixels and height in pixels represent the Resolution of the output + // video. maximum recommended decoding speed in Luma samples/second is less + // than or equal to the maximum value listed in the following table, based on + // the value that you specified for Level. The maximum recommended decoding + // speed in Luma samples/second for each level is described in the following + // list (Level - Decoding speed): + // + // 1 - 380160 1b - 380160 1.1 - 76800 1.2 - 1536000 1.3 - 3041280 2 - 3041280 + // 2.1 - 5068800 2.2 - 5184000 3 - 10368000 3.1 - 27648000 3.2 - 55296000 4 + // - 62914560 4.1 - 62914560 + FrameRate *string `type:"string"` + + // Applicable only when the value of Video:Codec is one of H.264, MPEG2, or + // VP8. + // + // The maximum number of frames between key frames. Key frames are fully encoded + // frames; the frames between key frames are encoded based, in part, on the + // content of the key frames. The value is an integer formatted as a string; + // valid values are between 1 (every frame is a key frame) and 100000, inclusive. + // A higher value results in higher compression but may also discernibly decrease + // video quality. + // + // For Smooth outputs, the FrameRate must have a constant ratio to the KeyframesMaxDist. + // This allows Smooth playlists to switch between different quality levels while + // the file is being played. + // + // For example, an input file can have a FrameRate of 30 with a KeyframesMaxDist + // of 90. The output file then needs to have a ratio of 1:3. Valid outputs would + // have FrameRate of 30, 25, and 10, and KeyframesMaxDist of 90, 75, and 30, + // respectively. + // + // Alternately, this can be achieved by setting FrameRate to auto and having + // the same values for MaxFrameRate and KeyframesMaxDist. + KeyframesMaxDist *string `type:"string"` + + // If you specify auto for FrameRate, Elastic Transcoder uses the frame rate + // of the input video for the frame rate of the output video. Specify the maximum + // frame rate that you want Elastic Transcoder to use when the frame rate of + // the input video is greater than the desired maximum frame rate of the output + // video. Valid values include: 10, 15, 23.97, 24, 25, 29.97, 30, 60. + MaxFrameRate *string `type:"string"` + + // The maximum height of the output video in pixels. If you specify auto, Elastic + // Transcoder uses 1080 (Full HD) as the default value. If you specify a numeric + // value, enter an even integer between 96 and 3072. + MaxHeight *string `type:"string"` + + // The maximum width of the output video in pixels. If you specify auto, Elastic + // Transcoder uses 1920 (Full HD) as the default value. If you specify a numeric + // value, enter an even integer between 128 and 4096. + MaxWidth *string `type:"string"` + + // When you set PaddingPolicy to Pad, Elastic Transcoder may add black bars + // to the top and bottom and/or left and right sides of the output video to + // make the total size of the output video match the values that you specified + // for MaxWidth and MaxHeight. + PaddingPolicy *string `type:"string"` + + // To better control resolution and aspect ratio of output videos, we recommend + // that you use the values MaxWidth, MaxHeight, SizingPolicy, PaddingPolicy, + // and DisplayAspectRatio instead of Resolution and AspectRatio. The two groups + // of settings are mutually exclusive. Do not use them together. + // + // The width and height of the video in the output file, in pixels. Valid + // values are auto and width x height: + // + // auto: Elastic Transcoder attempts to preserve the width and height of the + // input file, subject to the following rules. width x height: The width and + // height of the output video in pixels. Note the following about specifying + // the width and height: + // + // The width must be an even integer between 128 and 4096, inclusive. The + // height must be an even integer between 96 and 3072, inclusive. If you specify + // a resolution that is less than the resolution of the input file, Elastic + // Transcoder rescales the output file to the lower resolution. If you specify + // a resolution that is greater than the resolution of the input file, Elastic + // Transcoder rescales the output to the higher resolution. We recommend that + // you specify a resolution for which the product of width and height is less + // than or equal to the applicable value in the following list (List - Max width + // x height value): 1 - 25344 1b - 25344 1.1 - 101376 1.2 - 101376 1.3 - 101376 + // 2 - 101376 2.1 - 202752 2.2 - 404720 3 - 404720 3.1 - 921600 3.2 - 1310720 + // 4 - 2097152 4.1 - 2097152 + Resolution *string `type:"string"` + + // Specify one of the following values to control scaling of the output video: + // + // Fit: Elastic Transcoder scales the output video so it matches the value + // that you specified in either MaxWidth or MaxHeight without exceeding the + // other value. Fill: Elastic Transcoder scales the output video so it matches + // the value that you specified in either MaxWidth or MaxHeight and matches + // or exceeds the other value. Elastic Transcoder centers the output video and + // then crops it in the dimension (if any) that exceeds the maximum value. Stretch: + // Elastic Transcoder stretches the output video to match the values that you + // specified for MaxWidth and MaxHeight. If the relative proportions of the + // input video and the output video are different, the output video will be + // distorted. Keep: Elastic Transcoder does not scale the output video. If either + // dimension of the input video exceeds the values that you specified for MaxWidth + // and MaxHeight, Elastic Transcoder crops the output video. ShrinkToFit: Elastic + // Transcoder scales the output video down so that its dimensions match the + // values that you specified for at least one of MaxWidth and MaxHeight without + // exceeding either value. If you specify this option, Elastic Transcoder does + // not scale the video up. ShrinkToFill: Elastic Transcoder scales the output + // video down so that its dimensions match the values that you specified for + // at least one of MaxWidth and MaxHeight without dropping below either value. + // If you specify this option, Elastic Transcoder does not scale the video up. + SizingPolicy *string `type:"string"` + + // Settings for the size, location, and opacity of graphics that you want Elastic + // Transcoder to overlay over videos that are transcoded using this preset. + // You can specify settings for up to four watermarks. Watermarks appear in + // the specified size and location, and with the specified opacity for the duration + // of the transcoded video. + // + // Watermarks can be in .png or .jpg format. If you want to display a watermark + // that is not rectangular, use the .png format, which supports transparency. + // + // When you create a job that uses this preset, you specify the .png or .jpg + // graphics that you want Elastic Transcoder to include in the transcoded videos. + // You can specify fewer graphics in the job than you specify watermark settings + // in the preset, which allows you to use the same preset for up to four watermarks + // that have different dimensions. + Watermarks []*PresetWatermark `type:"list"` +} + +// String returns the string representation +func (s VideoParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VideoParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VideoParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VideoParameters"} + if s.Watermarks != nil { + for i, v := range s.Watermarks { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Watermarks", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Elastic Transcoder returns a warning if the resources used by your pipeline +// are not in the same region as the pipeline. +// +// Using resources in the same region, such as your Amazon S3 buckets, Amazon +// SNS notification topics, and AWS KMS key, reduces processing time and prevents +// cross-regional charges. +type Warning struct { + _ struct{} `type:"structure"` + + // The code of the cross-regional warning. + Code *string `type:"string"` + + // The message explaining what resources are in a different region from the + // pipeline. + // + // Note: AWS KMS keys must be in the same region as the pipeline. + Message *string `type:"string"` +} + +// String returns the string representation +func (s Warning) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Warning) GoString() string { + return s.String() +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/elastictranscoder/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/elastictranscoder/waiters.go new file mode 100644 index 000000000000..76746204152f --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/elastictranscoder/waiters.go @@ -0,0 +1,46 @@ +// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. + +package elastictranscoder + +import ( + "github.com/aws/aws-sdk-go/private/waiter" +) + +// WaitUntilJobComplete uses the Amazon Elastic Transcoder API operation +// ReadJob to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. +func (c *ElasticTranscoder) WaitUntilJobComplete(input *ReadJobInput) error { + waiterCfg := waiter.Config{ + Operation: "ReadJob", + Delay: 30, + MaxAttempts: 120, + Acceptors: []waiter.WaitAcceptor{ + { + State: "success", + Matcher: "path", + Argument: "Job.Status", + Expected: "Complete", + }, + { + State: "failure", + Matcher: "path", + Argument: "Job.Status", + Expected: "Canceled", + }, + { + State: "failure", + Matcher: "path", + Argument: "Job.Status", + Expected: "Error", + }, + }, + } + + w := waiter.Waiter{ + Client: c, + Input: input, + Config: waiterCfg, + } + return w.Wait() +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/elb/api.go b/vendor/github.com/aws/aws-sdk-go/service/elb/api.go index ed4293f27daf..025f5e53e6bf 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elb/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elb/api.go @@ -13,7 +13,30 @@ import ( const opAddTags = "AddTags" -// AddTagsRequest generates a request for the AddTags operation. +// AddTagsRequest generates a "aws/request.Request" representing the +// client's request for the AddTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AddTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AddTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AddTagsRequest method. +// req, resp := client.AddTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) AddTagsRequest(input *AddTagsInput) (req *request.Request, output *AddTagsOutput) { op := &request.Operation{ Name: opAddTags, @@ -31,14 +54,35 @@ func (c *ELB) AddTagsRequest(input *AddTagsInput) (req *request.Request, output return } +// AddTags API operation for Elastic Load Balancing. +// // Adds the specified tags to the specified load balancer. Each load balancer // can have a maximum of 10 tags. // // Each tag consists of a key and an optional value. If a tag with the same // key is already associated with the load balancer, AddTags updates its value. // -// For more information, see Tag Your Load Balancer (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/add-remove-tags.html) -// in the Elastic Load Balancing Developer Guide. +// For more information, see Tag Your Classic Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/add-remove-tags.html) +// in the Classic Load Balancers 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 +// the error. +// +// See the AWS API reference guide for Elastic Load Balancing's +// API operation AddTags for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * TooManyTags +// The quota for the number of tags that can be assigned to a load balancer +// has been reached. +// +// * DuplicateTagKeys +// A tag key was specified more than once. +// func (c *ELB) AddTags(input *AddTagsInput) (*AddTagsOutput, error) { req, out := c.AddTagsRequest(input) err := req.Send() @@ -47,7 +91,30 @@ func (c *ELB) AddTags(input *AddTagsInput) (*AddTagsOutput, error) { const opApplySecurityGroupsToLoadBalancer = "ApplySecurityGroupsToLoadBalancer" -// ApplySecurityGroupsToLoadBalancerRequest generates a request for the ApplySecurityGroupsToLoadBalancer operation. +// ApplySecurityGroupsToLoadBalancerRequest generates a "aws/request.Request" representing the +// client's request for the ApplySecurityGroupsToLoadBalancer operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ApplySecurityGroupsToLoadBalancer for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ApplySecurityGroupsToLoadBalancer method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ApplySecurityGroupsToLoadBalancerRequest method. +// req, resp := client.ApplySecurityGroupsToLoadBalancerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) ApplySecurityGroupsToLoadBalancerRequest(input *ApplySecurityGroupsToLoadBalancerInput) (req *request.Request, output *ApplySecurityGroupsToLoadBalancerOutput) { op := &request.Operation{ Name: opApplySecurityGroupsToLoadBalancer, @@ -65,12 +132,32 @@ func (c *ELB) ApplySecurityGroupsToLoadBalancerRequest(input *ApplySecurityGroup return } +// ApplySecurityGroupsToLoadBalancer API operation for Elastic Load Balancing. +// // Associates one or more security groups with your load balancer in a virtual // private cloud (VPC). The specified security groups override the previously // associated security groups. // -// For more information, see Security Groups for Load Balancers in a VPC (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elb-security-groups.html#elb-vpc-security-groups) -// in the Elastic Load Balancing Developer Guide. +// For more information, see Security Groups for Load Balancers in a VPC (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-security-groups.html#elb-vpc-security-groups) +// in the Classic Load Balancers 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 +// the error. +// +// See the AWS API reference guide for Elastic Load Balancing's +// API operation ApplySecurityGroupsToLoadBalancer for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * InvalidConfigurationRequest +// The requested configuration change is not valid. +// +// * InvalidSecurityGroup +// One or more of the specified security groups do not exist. +// func (c *ELB) ApplySecurityGroupsToLoadBalancer(input *ApplySecurityGroupsToLoadBalancerInput) (*ApplySecurityGroupsToLoadBalancerOutput, error) { req, out := c.ApplySecurityGroupsToLoadBalancerRequest(input) err := req.Send() @@ -79,7 +166,30 @@ func (c *ELB) ApplySecurityGroupsToLoadBalancer(input *ApplySecurityGroupsToLoad const opAttachLoadBalancerToSubnets = "AttachLoadBalancerToSubnets" -// AttachLoadBalancerToSubnetsRequest generates a request for the AttachLoadBalancerToSubnets operation. +// AttachLoadBalancerToSubnetsRequest generates a "aws/request.Request" representing the +// client's request for the AttachLoadBalancerToSubnets operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AttachLoadBalancerToSubnets for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AttachLoadBalancerToSubnets method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AttachLoadBalancerToSubnetsRequest method. +// req, resp := client.AttachLoadBalancerToSubnetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) AttachLoadBalancerToSubnetsRequest(input *AttachLoadBalancerToSubnetsInput) (req *request.Request, output *AttachLoadBalancerToSubnetsOutput) { op := &request.Operation{ Name: opAttachLoadBalancerToSubnets, @@ -97,13 +207,36 @@ func (c *ELB) AttachLoadBalancerToSubnetsRequest(input *AttachLoadBalancerToSubn return } +// AttachLoadBalancerToSubnets API operation for Elastic Load Balancing. +// // Adds one or more subnets to the set of configured subnets for the specified // load balancer. // // The load balancer evenly distributes requests across all registered subnets. // For more information, see Add or Remove Subnets for Your Load Balancer in -// a VPC (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elb-manage-subnets.html) -// in the Elastic Load Balancing Developer Guide. +// a VPC (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-manage-subnets.html) +// in the Classic Load Balancers 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 +// the error. +// +// See the AWS API reference guide for Elastic Load Balancing's +// API operation AttachLoadBalancerToSubnets for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * InvalidConfigurationRequest +// The requested configuration change is not valid. +// +// * SubnetNotFound +// One or more of the specified subnets do not exist. +// +// * InvalidSubnet +// The specified VPC has no associated Internet gateway. +// func (c *ELB) AttachLoadBalancerToSubnets(input *AttachLoadBalancerToSubnetsInput) (*AttachLoadBalancerToSubnetsOutput, error) { req, out := c.AttachLoadBalancerToSubnetsRequest(input) err := req.Send() @@ -112,7 +245,30 @@ func (c *ELB) AttachLoadBalancerToSubnets(input *AttachLoadBalancerToSubnetsInpu const opConfigureHealthCheck = "ConfigureHealthCheck" -// ConfigureHealthCheckRequest generates a request for the ConfigureHealthCheck operation. +// ConfigureHealthCheckRequest generates a "aws/request.Request" representing the +// client's request for the ConfigureHealthCheck operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ConfigureHealthCheck for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ConfigureHealthCheck method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ConfigureHealthCheckRequest method. +// req, resp := client.ConfigureHealthCheckRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) ConfigureHealthCheckRequest(input *ConfigureHealthCheckInput) (req *request.Request, output *ConfigureHealthCheckOutput) { op := &request.Operation{ Name: opConfigureHealthCheck, @@ -130,11 +286,26 @@ func (c *ELB) ConfigureHealthCheckRequest(input *ConfigureHealthCheckInput) (req return } +// ConfigureHealthCheck API operation for Elastic Load Balancing. +// // Specifies the health check settings to use when evaluating the health state -// of your back-end instances. +// of your EC2 instances. +// +// For more information, see Configure Health Checks for Your Load Balancer +// (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-healthchecks.html) +// in the Classic Load Balancers 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 +// the error. +// +// See the AWS API reference guide for Elastic Load Balancing's +// API operation ConfigureHealthCheck for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. // -// For more information, see Configure Health Checks (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elb-healthchecks.html) -// in the Elastic Load Balancing Developer Guide. func (c *ELB) ConfigureHealthCheck(input *ConfigureHealthCheckInput) (*ConfigureHealthCheckOutput, error) { req, out := c.ConfigureHealthCheckRequest(input) err := req.Send() @@ -143,7 +314,30 @@ func (c *ELB) ConfigureHealthCheck(input *ConfigureHealthCheckInput) (*Configure const opCreateAppCookieStickinessPolicy = "CreateAppCookieStickinessPolicy" -// CreateAppCookieStickinessPolicyRequest generates a request for the CreateAppCookieStickinessPolicy operation. +// CreateAppCookieStickinessPolicyRequest generates a "aws/request.Request" representing the +// client's request for the CreateAppCookieStickinessPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateAppCookieStickinessPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateAppCookieStickinessPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateAppCookieStickinessPolicyRequest method. +// req, resp := client.CreateAppCookieStickinessPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) CreateAppCookieStickinessPolicyRequest(input *CreateAppCookieStickinessPolicyInput) (req *request.Request, output *CreateAppCookieStickinessPolicyOutput) { op := &request.Operation{ Name: opCreateAppCookieStickinessPolicy, @@ -161,6 +355,8 @@ func (c *ELB) CreateAppCookieStickinessPolicyRequest(input *CreateAppCookieStick return } +// CreateAppCookieStickinessPolicy API operation for Elastic Load Balancing. +// // Generates a stickiness policy with sticky session lifetimes that follow that // of an application-generated cookie. This policy can be associated only with // HTTP/HTTPS listeners. @@ -174,8 +370,29 @@ func (c *ELB) CreateAppCookieStickinessPolicyRequest(input *CreateAppCookieStick // If the application cookie is explicitly removed or expires, the session // stops being sticky until a new application cookie is issued. // -// For more information, see Application-Controlled Session Stickiness (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elb-sticky-sessions.html#enable-sticky-sessions-application) -// in the Elastic Load Balancing Developer Guide. +// For more information, see Application-Controlled Session Stickiness (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-application) +// in the Classic Load Balancers 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 +// the error. +// +// See the AWS API reference guide for Elastic Load Balancing's +// API operation CreateAppCookieStickinessPolicy for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * DuplicatePolicyName +// A policy with the specified name already exists for this load balancer. +// +// * TooManyPolicies +// The quota for the number of policies for this load balancer has been reached. +// +// * InvalidConfigurationRequest +// The requested configuration change is not valid. +// func (c *ELB) CreateAppCookieStickinessPolicy(input *CreateAppCookieStickinessPolicyInput) (*CreateAppCookieStickinessPolicyOutput, error) { req, out := c.CreateAppCookieStickinessPolicyRequest(input) err := req.Send() @@ -184,7 +401,30 @@ func (c *ELB) CreateAppCookieStickinessPolicy(input *CreateAppCookieStickinessPo const opCreateLBCookieStickinessPolicy = "CreateLBCookieStickinessPolicy" -// CreateLBCookieStickinessPolicyRequest generates a request for the CreateLBCookieStickinessPolicy operation. +// CreateLBCookieStickinessPolicyRequest generates a "aws/request.Request" representing the +// client's request for the CreateLBCookieStickinessPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateLBCookieStickinessPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateLBCookieStickinessPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateLBCookieStickinessPolicyRequest method. +// req, resp := client.CreateLBCookieStickinessPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) CreateLBCookieStickinessPolicyRequest(input *CreateLBCookieStickinessPolicyInput) (req *request.Request, output *CreateLBCookieStickinessPolicyOutput) { op := &request.Operation{ Name: opCreateLBCookieStickinessPolicy, @@ -202,23 +442,46 @@ func (c *ELB) CreateLBCookieStickinessPolicyRequest(input *CreateLBCookieStickin return } +// CreateLBCookieStickinessPolicy API operation for Elastic Load Balancing. +// // Generates a stickiness policy with sticky session lifetimes controlled by // the lifetime of the browser (user-agent) or a specified expiration period. // This policy can be associated only with HTTP/HTTPS listeners. // // When a load balancer implements this policy, the load balancer uses a special -// cookie to track the back-end server instance for each request. When the load -// balancer receives a request, it first checks to see if this cookie is present -// in the request. If so, the load balancer sends the request to the application -// server specified in the cookie. If not, the load balancer sends the request -// to a server that is chosen based on the existing load-balancing algorithm. +// cookie to track the instance for each request. When the load balancer receives +// a request, it first checks to see if this cookie is present in the request. +// If so, the load balancer sends the request to the application server specified +// in the cookie. If not, the load balancer sends the request to a server that +// is chosen based on the existing load-balancing algorithm. // // A cookie is inserted into the response for binding subsequent requests from // the same user to that server. The validity of the cookie is based on the // cookie expiration time, which is specified in the policy configuration. // -// For more information, see Duration-Based Session Stickiness (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elb-sticky-sessions.html#enable-sticky-sessions-duration) -// in the Elastic Load Balancing Developer Guide. +// For more information, see Duration-Based Session Stickiness (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-duration) +// in the Classic Load Balancers 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 +// the error. +// +// See the AWS API reference guide for Elastic Load Balancing's +// API operation CreateLBCookieStickinessPolicy for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * DuplicatePolicyName +// A policy with the specified name already exists for this load balancer. +// +// * TooManyPolicies +// The quota for the number of policies for this load balancer has been reached. +// +// * InvalidConfigurationRequest +// The requested configuration change is not valid. +// func (c *ELB) CreateLBCookieStickinessPolicy(input *CreateLBCookieStickinessPolicyInput) (*CreateLBCookieStickinessPolicyOutput, error) { req, out := c.CreateLBCookieStickinessPolicyRequest(input) err := req.Send() @@ -227,7 +490,30 @@ func (c *ELB) CreateLBCookieStickinessPolicy(input *CreateLBCookieStickinessPoli const opCreateLoadBalancer = "CreateLoadBalancer" -// CreateLoadBalancerRequest generates a request for the CreateLoadBalancer operation. +// CreateLoadBalancerRequest generates a "aws/request.Request" representing the +// client's request for the CreateLoadBalancer operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateLoadBalancer for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateLoadBalancer method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateLoadBalancerRequest method. +// req, resp := client.CreateLoadBalancerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) CreateLoadBalancerRequest(input *CreateLoadBalancerInput) (req *request.Request, output *CreateLoadBalancerOutput) { op := &request.Operation{ Name: opCreateLoadBalancer, @@ -245,18 +531,68 @@ func (c *ELB) CreateLoadBalancerRequest(input *CreateLoadBalancerInput) (req *re return } -// Creates a load balancer. +// CreateLoadBalancer API operation for Elastic Load Balancing. +// +// Creates a Classic load balancer. // -// If the call completes successfully, a new load balancer is created with -// a unique Domain Name Service (DNS) name. The load balancer receives incoming -// traffic and routes it to the registered instances. For more information, -// see How Elastic Load Balancing Works (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/how-elb-works.html) -// in the Elastic Load Balancing Developer Guide. +// You can add listeners, security groups, subnets, and tags when you create +// your load balancer, or you can add them later using CreateLoadBalancerListeners, +// ApplySecurityGroupsToLoadBalancer, AttachLoadBalancerToSubnets, and AddTags. +// +// To describe your current load balancers, see DescribeLoadBalancers. When +// you are finished with a load balancer, you can delete it using DeleteLoadBalancer. // // You can create up to 20 load balancers per region per account. You can request // an increase for the number of load balancers for your account. For more information, -// see Elastic Load Balancing Limits (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elb-limits.html) -// in the Elastic Load Balancing Developer Guide. +// see Limits for Your Classic Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-limits.html) +// in the Classic Load Balancers 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 +// the error. +// +// See the AWS API reference guide for Elastic Load Balancing's +// API operation CreateLoadBalancer for usage and error information. +// +// Returned Error Codes: +// * DuplicateLoadBalancerName +// The specified load balancer name already exists for this account. +// +// * TooManyLoadBalancers +// The quota for the number of load balancers has been reached. +// +// * CertificateNotFound +// The specified ARN does not refer to a valid SSL certificate in AWS Identity +// and Access Management (IAM) or AWS Certificate Manager (ACM). Note that if +// you recently uploaded the certificate to IAM, this error might indicate that +// the certificate is not fully available yet. +// +// * InvalidConfigurationRequest +// The requested configuration change is not valid. +// +// * SubnetNotFound +// One or more of the specified subnets do not exist. +// +// * InvalidSubnet +// The specified VPC has no associated Internet gateway. +// +// * InvalidSecurityGroup +// One or more of the specified security groups do not exist. +// +// * InvalidScheme +// The specified value for the schema is not valid. You can only specify a scheme +// for load balancers in a VPC. +// +// * TooManyTags +// The quota for the number of tags that can be assigned to a load balancer +// has been reached. +// +// * DuplicateTagKeys +// A tag key was specified more than once. +// +// * UnsupportedProtocol + +// func (c *ELB) CreateLoadBalancer(input *CreateLoadBalancerInput) (*CreateLoadBalancerOutput, error) { req, out := c.CreateLoadBalancerRequest(input) err := req.Send() @@ -265,7 +601,30 @@ func (c *ELB) CreateLoadBalancer(input *CreateLoadBalancerInput) (*CreateLoadBal const opCreateLoadBalancerListeners = "CreateLoadBalancerListeners" -// CreateLoadBalancerListenersRequest generates a request for the CreateLoadBalancerListeners operation. +// CreateLoadBalancerListenersRequest generates a "aws/request.Request" representing the +// client's request for the CreateLoadBalancerListeners operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateLoadBalancerListeners for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateLoadBalancerListeners method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateLoadBalancerListenersRequest method. +// req, resp := client.CreateLoadBalancerListenersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) CreateLoadBalancerListenersRequest(input *CreateLoadBalancerListenersInput) (req *request.Request, output *CreateLoadBalancerListenersOutput) { op := &request.Operation{ Name: opCreateLoadBalancerListeners, @@ -283,13 +642,43 @@ func (c *ELB) CreateLoadBalancerListenersRequest(input *CreateLoadBalancerListen return } +// CreateLoadBalancerListeners API operation for Elastic Load Balancing. +// // Creates one or more listeners for the specified load balancer. If a listener // with the specified port does not already exist, it is created; otherwise, // the properties of the new listener must match the properties of the existing // listener. // -// For more information, see Add a Listener to Your Load Balancer (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/us-add-listener.html) -// in the Elastic Load Balancing Developer Guide. +// For more information, see Listeners for Your Classic Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html) +// in the Classic Load Balancers 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 +// the error. +// +// See the AWS API reference guide for Elastic Load Balancing's +// API operation CreateLoadBalancerListeners for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * DuplicateListener +// A listener already exists for the specified load balancer name and port, +// but with a different instance port, protocol, or SSL certificate. +// +// * CertificateNotFound +// The specified ARN does not refer to a valid SSL certificate in AWS Identity +// and Access Management (IAM) or AWS Certificate Manager (ACM). Note that if +// you recently uploaded the certificate to IAM, this error might indicate that +// the certificate is not fully available yet. +// +// * InvalidConfigurationRequest +// The requested configuration change is not valid. +// +// * UnsupportedProtocol + +// func (c *ELB) CreateLoadBalancerListeners(input *CreateLoadBalancerListenersInput) (*CreateLoadBalancerListenersOutput, error) { req, out := c.CreateLoadBalancerListenersRequest(input) err := req.Send() @@ -298,7 +687,30 @@ func (c *ELB) CreateLoadBalancerListeners(input *CreateLoadBalancerListenersInpu const opCreateLoadBalancerPolicy = "CreateLoadBalancerPolicy" -// CreateLoadBalancerPolicyRequest generates a request for the CreateLoadBalancerPolicy operation. +// CreateLoadBalancerPolicyRequest generates a "aws/request.Request" representing the +// client's request for the CreateLoadBalancerPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateLoadBalancerPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateLoadBalancerPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateLoadBalancerPolicyRequest method. +// req, resp := client.CreateLoadBalancerPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) CreateLoadBalancerPolicyRequest(input *CreateLoadBalancerPolicyInput) (req *request.Request, output *CreateLoadBalancerPolicyOutput) { op := &request.Operation{ Name: opCreateLoadBalancerPolicy, @@ -316,11 +728,37 @@ func (c *ELB) CreateLoadBalancerPolicyRequest(input *CreateLoadBalancerPolicyInp return } +// CreateLoadBalancerPolicy API operation for Elastic Load Balancing. +// // Creates a policy with the specified attributes for the specified load balancer. // // Policies are settings that are saved for your load balancer and that can -// be applied to the front-end listener or the back-end application server, -// depending on the policy type. +// be applied to the listener or the application server, depending on the policy +// type. +// +// 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 Elastic Load Balancing's +// API operation CreateLoadBalancerPolicy for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * PolicyTypeNotFound +// One or more of the specified policy types do not exist. +// +// * DuplicatePolicyName +// A policy with the specified name already exists for this load balancer. +// +// * TooManyPolicies +// The quota for the number of policies for this load balancer has been reached. +// +// * InvalidConfigurationRequest +// The requested configuration change is not valid. +// func (c *ELB) CreateLoadBalancerPolicy(input *CreateLoadBalancerPolicyInput) (*CreateLoadBalancerPolicyOutput, error) { req, out := c.CreateLoadBalancerPolicyRequest(input) err := req.Send() @@ -329,7 +767,30 @@ func (c *ELB) CreateLoadBalancerPolicy(input *CreateLoadBalancerPolicyInput) (*C const opDeleteLoadBalancer = "DeleteLoadBalancer" -// DeleteLoadBalancerRequest generates a request for the DeleteLoadBalancer operation. +// DeleteLoadBalancerRequest generates a "aws/request.Request" representing the +// client's request for the DeleteLoadBalancer operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteLoadBalancer for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteLoadBalancer method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteLoadBalancerRequest method. +// req, resp := client.DeleteLoadBalancerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) DeleteLoadBalancerRequest(input *DeleteLoadBalancerInput) (req *request.Request, output *DeleteLoadBalancerOutput) { op := &request.Operation{ Name: opDeleteLoadBalancer, @@ -347,16 +808,25 @@ func (c *ELB) DeleteLoadBalancerRequest(input *DeleteLoadBalancerInput) (req *re return } +// DeleteLoadBalancer API operation for Elastic Load Balancing. +// // Deletes the specified load balancer. // // If you are attempting to recreate a load balancer, you must reconfigure // all settings. The DNS name associated with a deleted load balancer are no // longer usable. The name and associated DNS record of the deleted load balancer // no longer exist and traffic sent to any of its IP addresses is no longer -// delivered to back-end instances. +// delivered to your instances. // // If the load balancer does not exist or has already been deleted, the call // to DeleteLoadBalancer still succeeds. +// +// 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 Elastic Load Balancing's +// API operation DeleteLoadBalancer for usage and error information. func (c *ELB) DeleteLoadBalancer(input *DeleteLoadBalancerInput) (*DeleteLoadBalancerOutput, error) { req, out := c.DeleteLoadBalancerRequest(input) err := req.Send() @@ -365,7 +835,30 @@ func (c *ELB) DeleteLoadBalancer(input *DeleteLoadBalancerInput) (*DeleteLoadBal const opDeleteLoadBalancerListeners = "DeleteLoadBalancerListeners" -// DeleteLoadBalancerListenersRequest generates a request for the DeleteLoadBalancerListeners operation. +// DeleteLoadBalancerListenersRequest generates a "aws/request.Request" representing the +// client's request for the DeleteLoadBalancerListeners operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteLoadBalancerListeners for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteLoadBalancerListeners method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteLoadBalancerListenersRequest method. +// req, resp := client.DeleteLoadBalancerListenersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) DeleteLoadBalancerListenersRequest(input *DeleteLoadBalancerListenersInput) (req *request.Request, output *DeleteLoadBalancerListenersOutput) { op := &request.Operation{ Name: opDeleteLoadBalancerListeners, @@ -383,7 +876,21 @@ func (c *ELB) DeleteLoadBalancerListenersRequest(input *DeleteLoadBalancerListen return } +// DeleteLoadBalancerListeners API operation for Elastic Load Balancing. +// // Deletes the specified listeners from the specified load balancer. +// +// 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 Elastic Load Balancing's +// API operation DeleteLoadBalancerListeners for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// func (c *ELB) DeleteLoadBalancerListeners(input *DeleteLoadBalancerListenersInput) (*DeleteLoadBalancerListenersOutput, error) { req, out := c.DeleteLoadBalancerListenersRequest(input) err := req.Send() @@ -392,7 +899,30 @@ func (c *ELB) DeleteLoadBalancerListeners(input *DeleteLoadBalancerListenersInpu const opDeleteLoadBalancerPolicy = "DeleteLoadBalancerPolicy" -// DeleteLoadBalancerPolicyRequest generates a request for the DeleteLoadBalancerPolicy operation. +// DeleteLoadBalancerPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteLoadBalancerPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteLoadBalancerPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteLoadBalancerPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteLoadBalancerPolicyRequest method. +// req, resp := client.DeleteLoadBalancerPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) DeleteLoadBalancerPolicyRequest(input *DeleteLoadBalancerPolicyInput) (req *request.Request, output *DeleteLoadBalancerPolicyOutput) { op := &request.Operation{ Name: opDeleteLoadBalancerPolicy, @@ -410,8 +940,25 @@ func (c *ELB) DeleteLoadBalancerPolicyRequest(input *DeleteLoadBalancerPolicyInp return } +// DeleteLoadBalancerPolicy API operation for Elastic Load Balancing. +// // Deletes the specified policy from the specified load balancer. This policy // must not be enabled for any listeners. +// +// 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 Elastic Load Balancing's +// API operation DeleteLoadBalancerPolicy for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * InvalidConfigurationRequest +// The requested configuration change is not valid. +// func (c *ELB) DeleteLoadBalancerPolicy(input *DeleteLoadBalancerPolicyInput) (*DeleteLoadBalancerPolicyOutput, error) { req, out := c.DeleteLoadBalancerPolicyRequest(input) err := req.Send() @@ -420,7 +967,30 @@ func (c *ELB) DeleteLoadBalancerPolicy(input *DeleteLoadBalancerPolicyInput) (*D const opDeregisterInstancesFromLoadBalancer = "DeregisterInstancesFromLoadBalancer" -// DeregisterInstancesFromLoadBalancerRequest generates a request for the DeregisterInstancesFromLoadBalancer operation. +// DeregisterInstancesFromLoadBalancerRequest generates a "aws/request.Request" representing the +// client's request for the DeregisterInstancesFromLoadBalancer operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeregisterInstancesFromLoadBalancer for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeregisterInstancesFromLoadBalancer method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeregisterInstancesFromLoadBalancerRequest method. +// req, resp := client.DeregisterInstancesFromLoadBalancerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) DeregisterInstancesFromLoadBalancerRequest(input *DeregisterInstancesFromLoadBalancerInput) (req *request.Request, output *DeregisterInstancesFromLoadBalancerOutput) { op := &request.Operation{ Name: opDeregisterInstancesFromLoadBalancer, @@ -438,6 +1008,8 @@ func (c *ELB) DeregisterInstancesFromLoadBalancerRequest(input *DeregisterInstan return } +// DeregisterInstancesFromLoadBalancer API operation for Elastic Load Balancing. +// // Deregisters the specified instances from the specified load balancer. After // the instance is deregistered, it no longer receives traffic from the load // balancer. @@ -445,8 +1017,23 @@ func (c *ELB) DeregisterInstancesFromLoadBalancerRequest(input *DeregisterInstan // You can use DescribeLoadBalancers to verify that the instance is deregistered // from the load balancer. // -// For more information, see Deregister and Register Amazon EC2 Instances (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_DeReg_Reg_Instances.html) -// in the Elastic Load Balancing Developer Guide. +// For more information, see Register or De-Register EC2 Instances (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-deregister-register-instances.html) +// in the Classic Load Balancers 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 +// the error. +// +// See the AWS API reference guide for Elastic Load Balancing's +// API operation DeregisterInstancesFromLoadBalancer for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * InvalidInstance +// The specified endpoint is not valid. +// func (c *ELB) DeregisterInstancesFromLoadBalancer(input *DeregisterInstancesFromLoadBalancerInput) (*DeregisterInstancesFromLoadBalancerOutput, error) { req, out := c.DeregisterInstancesFromLoadBalancerRequest(input) err := req.Send() @@ -455,7 +1042,30 @@ func (c *ELB) DeregisterInstancesFromLoadBalancer(input *DeregisterInstancesFrom const opDescribeInstanceHealth = "DescribeInstanceHealth" -// DescribeInstanceHealthRequest generates a request for the DescribeInstanceHealth operation. +// DescribeInstanceHealthRequest generates a "aws/request.Request" representing the +// client's request for the DescribeInstanceHealth operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeInstanceHealth for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeInstanceHealth method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeInstanceHealthRequest method. +// req, resp := client.DescribeInstanceHealthRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) DescribeInstanceHealthRequest(input *DescribeInstanceHealthInput) (req *request.Request, output *DescribeInstanceHealthOutput) { op := &request.Operation{ Name: opDescribeInstanceHealth, @@ -473,12 +1083,29 @@ func (c *ELB) DescribeInstanceHealthRequest(input *DescribeInstanceHealthInput) return } +// DescribeInstanceHealth API operation for Elastic Load Balancing. +// // Describes the state of the specified instances with respect to the specified // load balancer. If no instances are specified, the call describes the state // of all instances that are currently registered with the load balancer. If // instances are specified, their state is returned even if they are no longer // registered with the load balancer. The state of terminated instances is not // returned. +// +// 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 Elastic Load Balancing's +// API operation DescribeInstanceHealth for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * InvalidInstance +// The specified endpoint is not valid. +// func (c *ELB) DescribeInstanceHealth(input *DescribeInstanceHealthInput) (*DescribeInstanceHealthOutput, error) { req, out := c.DescribeInstanceHealthRequest(input) err := req.Send() @@ -487,7 +1114,30 @@ func (c *ELB) DescribeInstanceHealth(input *DescribeInstanceHealthInput) (*Descr const opDescribeLoadBalancerAttributes = "DescribeLoadBalancerAttributes" -// DescribeLoadBalancerAttributesRequest generates a request for the DescribeLoadBalancerAttributes operation. +// DescribeLoadBalancerAttributesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeLoadBalancerAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeLoadBalancerAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeLoadBalancerAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeLoadBalancerAttributesRequest method. +// req, resp := client.DescribeLoadBalancerAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) DescribeLoadBalancerAttributesRequest(input *DescribeLoadBalancerAttributesInput) (req *request.Request, output *DescribeLoadBalancerAttributesOutput) { op := &request.Operation{ Name: opDescribeLoadBalancerAttributes, @@ -505,7 +1155,24 @@ func (c *ELB) DescribeLoadBalancerAttributesRequest(input *DescribeLoadBalancerA return } +// DescribeLoadBalancerAttributes API operation for Elastic Load Balancing. +// // Describes the attributes for the specified load balancer. +// +// 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 Elastic Load Balancing's +// API operation DescribeLoadBalancerAttributes for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * LoadBalancerAttributeNotFound +// The specified load balancer attribute does not exist. +// func (c *ELB) DescribeLoadBalancerAttributes(input *DescribeLoadBalancerAttributesInput) (*DescribeLoadBalancerAttributesOutput, error) { req, out := c.DescribeLoadBalancerAttributesRequest(input) err := req.Send() @@ -514,7 +1181,30 @@ func (c *ELB) DescribeLoadBalancerAttributes(input *DescribeLoadBalancerAttribut const opDescribeLoadBalancerPolicies = "DescribeLoadBalancerPolicies" -// DescribeLoadBalancerPoliciesRequest generates a request for the DescribeLoadBalancerPolicies operation. +// DescribeLoadBalancerPoliciesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeLoadBalancerPolicies operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeLoadBalancerPolicies for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeLoadBalancerPolicies method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeLoadBalancerPoliciesRequest method. +// req, resp := client.DescribeLoadBalancerPoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) DescribeLoadBalancerPoliciesRequest(input *DescribeLoadBalancerPoliciesInput) (req *request.Request, output *DescribeLoadBalancerPoliciesOutput) { op := &request.Operation{ Name: opDescribeLoadBalancerPolicies, @@ -532,6 +1222,8 @@ func (c *ELB) DescribeLoadBalancerPoliciesRequest(input *DescribeLoadBalancerPol return } +// DescribeLoadBalancerPolicies API operation for Elastic Load Balancing. +// // Describes the specified policies. // // If you specify a load balancer name, the action returns the descriptions @@ -540,6 +1232,21 @@ func (c *ELB) DescribeLoadBalancerPoliciesRequest(input *DescribeLoadBalancerPol // that policy. If you don't specify a load balancer name, the action returns // descriptions of the specified sample policies, or descriptions of all sample // policies. The names of the sample policies have the ELBSample- prefix. +// +// 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 Elastic Load Balancing's +// API operation DescribeLoadBalancerPolicies for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * PolicyNotFound +// One or more of the specified policies do not exist. +// func (c *ELB) DescribeLoadBalancerPolicies(input *DescribeLoadBalancerPoliciesInput) (*DescribeLoadBalancerPoliciesOutput, error) { req, out := c.DescribeLoadBalancerPoliciesRequest(input) err := req.Send() @@ -548,7 +1255,30 @@ func (c *ELB) DescribeLoadBalancerPolicies(input *DescribeLoadBalancerPoliciesIn const opDescribeLoadBalancerPolicyTypes = "DescribeLoadBalancerPolicyTypes" -// DescribeLoadBalancerPolicyTypesRequest generates a request for the DescribeLoadBalancerPolicyTypes operation. +// DescribeLoadBalancerPolicyTypesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeLoadBalancerPolicyTypes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeLoadBalancerPolicyTypes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeLoadBalancerPolicyTypes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeLoadBalancerPolicyTypesRequest method. +// req, resp := client.DescribeLoadBalancerPolicyTypesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) DescribeLoadBalancerPolicyTypesRequest(input *DescribeLoadBalancerPolicyTypesInput) (req *request.Request, output *DescribeLoadBalancerPolicyTypesOutput) { op := &request.Operation{ Name: opDescribeLoadBalancerPolicyTypes, @@ -566,10 +1296,32 @@ func (c *ELB) DescribeLoadBalancerPolicyTypesRequest(input *DescribeLoadBalancer return } -// Describes the specified load balancer policy types. +// DescribeLoadBalancerPolicyTypes API operation for Elastic Load Balancing. +// +// Describes the specified load balancer policy types or all load balancer policy +// types. +// +// The description of each type indicates how it can be used. For example, +// some policies can be used only with layer 7 listeners, some policies can +// be used only with layer 4 listeners, and some policies can be used only with +// your EC2 instances. +// +// You can use CreateLoadBalancerPolicy to create a policy configuration for +// any of these policy types. Then, depending on the policy type, use either +// SetLoadBalancerPoliciesOfListener or SetLoadBalancerPoliciesForBackendServer +// to set the policy. +// +// 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 Elastic Load Balancing's +// API operation DescribeLoadBalancerPolicyTypes for usage and error information. +// +// Returned Error Codes: +// * PolicyTypeNotFound +// One or more of the specified policy types do not exist. // -// You can use these policy types with CreateLoadBalancerPolicy to create policy -// configurations for a load balancer. func (c *ELB) DescribeLoadBalancerPolicyTypes(input *DescribeLoadBalancerPolicyTypesInput) (*DescribeLoadBalancerPolicyTypesOutput, error) { req, out := c.DescribeLoadBalancerPolicyTypesRequest(input) err := req.Send() @@ -578,7 +1330,30 @@ func (c *ELB) DescribeLoadBalancerPolicyTypes(input *DescribeLoadBalancerPolicyT const opDescribeLoadBalancers = "DescribeLoadBalancers" -// DescribeLoadBalancersRequest generates a request for the DescribeLoadBalancers operation. +// DescribeLoadBalancersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeLoadBalancers operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeLoadBalancers for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeLoadBalancers method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeLoadBalancersRequest method. +// req, resp := client.DescribeLoadBalancersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) DescribeLoadBalancersRequest(input *DescribeLoadBalancersInput) (req *request.Request, output *DescribeLoadBalancersOutput) { op := &request.Operation{ Name: opDescribeLoadBalancers, @@ -602,14 +1377,48 @@ func (c *ELB) DescribeLoadBalancersRequest(input *DescribeLoadBalancersInput) (r return } +// DescribeLoadBalancers API operation for Elastic Load Balancing. +// // Describes the specified the load balancers. If no load balancers are specified, // the call describes all of your load balancers. +// +// 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 Elastic Load Balancing's +// API operation DescribeLoadBalancers for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * DependencyThrottle + +// func (c *ELB) DescribeLoadBalancers(input *DescribeLoadBalancersInput) (*DescribeLoadBalancersOutput, error) { req, out := c.DescribeLoadBalancersRequest(input) err := req.Send() return out, err } +// DescribeLoadBalancersPages iterates over the pages of a DescribeLoadBalancers operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeLoadBalancers 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 DescribeLoadBalancers operation. +// pageNum := 0 +// err := client.DescribeLoadBalancersPages(params, +// func(page *DescribeLoadBalancersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *ELB) DescribeLoadBalancersPages(input *DescribeLoadBalancersInput, fn func(p *DescribeLoadBalancersOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeLoadBalancersRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -620,7 +1429,30 @@ func (c *ELB) DescribeLoadBalancersPages(input *DescribeLoadBalancersInput, fn f const opDescribeTags = "DescribeTags" -// DescribeTagsRequest generates a request for the DescribeTags operation. +// DescribeTagsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeTagsRequest method. +// req, resp := client.DescribeTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) { op := &request.Operation{ Name: opDescribeTags, @@ -638,7 +1470,21 @@ func (c *ELB) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Reques return } +// DescribeTags API operation for Elastic Load Balancing. +// // Describes the tags associated with the specified load balancers. +// +// 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 Elastic Load Balancing's +// API operation DescribeTags for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// func (c *ELB) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) { req, out := c.DescribeTagsRequest(input) err := req.Send() @@ -647,7 +1493,30 @@ func (c *ELB) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error const opDetachLoadBalancerFromSubnets = "DetachLoadBalancerFromSubnets" -// DetachLoadBalancerFromSubnetsRequest generates a request for the DetachLoadBalancerFromSubnets operation. +// DetachLoadBalancerFromSubnetsRequest generates a "aws/request.Request" representing the +// client's request for the DetachLoadBalancerFromSubnets operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DetachLoadBalancerFromSubnets for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DetachLoadBalancerFromSubnets method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DetachLoadBalancerFromSubnetsRequest method. +// req, resp := client.DetachLoadBalancerFromSubnetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) DetachLoadBalancerFromSubnetsRequest(input *DetachLoadBalancerFromSubnetsInput) (req *request.Request, output *DetachLoadBalancerFromSubnetsOutput) { op := &request.Operation{ Name: opDetachLoadBalancerFromSubnets, @@ -665,12 +1534,29 @@ func (c *ELB) DetachLoadBalancerFromSubnetsRequest(input *DetachLoadBalancerFrom return } +// DetachLoadBalancerFromSubnets API operation for Elastic Load Balancing. +// // Removes the specified subnets from the set of configured subnets for the // load balancer. // // After a subnet is removed, all EC2 instances registered with the load balancer // in the removed subnet go into the OutOfService state. Then, the load balancer // balances the traffic among the remaining routable subnets. +// +// 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 Elastic Load Balancing's +// API operation DetachLoadBalancerFromSubnets for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * InvalidConfigurationRequest +// The requested configuration change is not valid. +// func (c *ELB) DetachLoadBalancerFromSubnets(input *DetachLoadBalancerFromSubnetsInput) (*DetachLoadBalancerFromSubnetsOutput, error) { req, out := c.DetachLoadBalancerFromSubnetsRequest(input) err := req.Send() @@ -679,7 +1565,30 @@ func (c *ELB) DetachLoadBalancerFromSubnets(input *DetachLoadBalancerFromSubnets const opDisableAvailabilityZonesForLoadBalancer = "DisableAvailabilityZonesForLoadBalancer" -// DisableAvailabilityZonesForLoadBalancerRequest generates a request for the DisableAvailabilityZonesForLoadBalancer operation. +// DisableAvailabilityZonesForLoadBalancerRequest generates a "aws/request.Request" representing the +// client's request for the DisableAvailabilityZonesForLoadBalancer operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DisableAvailabilityZonesForLoadBalancer for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DisableAvailabilityZonesForLoadBalancer method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DisableAvailabilityZonesForLoadBalancerRequest method. +// req, resp := client.DisableAvailabilityZonesForLoadBalancerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) DisableAvailabilityZonesForLoadBalancerRequest(input *DisableAvailabilityZonesForLoadBalancerInput) (req *request.Request, output *DisableAvailabilityZonesForLoadBalancerOutput) { op := &request.Operation{ Name: opDisableAvailabilityZonesForLoadBalancer, @@ -697,6 +1606,8 @@ func (c *ELB) DisableAvailabilityZonesForLoadBalancerRequest(input *DisableAvail return } +// DisableAvailabilityZonesForLoadBalancer API operation for Elastic Load Balancing. +// // Removes the specified Availability Zones from the set of Availability Zones // for the specified load balancer. // @@ -706,9 +1617,23 @@ func (c *ELB) DisableAvailabilityZonesForLoadBalancerRequest(input *DisableAvail // the OutOfService state. Then, the load balancer attempts to equally balance // the traffic among its remaining Availability Zones. // -// For more information, see Disable an Availability Zone from a Load-Balanced -// Application (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_ShrinkLBApp04.html) -// in the Elastic Load Balancing Developer Guide. +// For more information, see Add or Remove Availability Zones (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-az.html) +// in the Classic Load Balancers 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 +// the error. +// +// See the AWS API reference guide for Elastic Load Balancing's +// API operation DisableAvailabilityZonesForLoadBalancer for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * InvalidConfigurationRequest +// The requested configuration change is not valid. +// func (c *ELB) DisableAvailabilityZonesForLoadBalancer(input *DisableAvailabilityZonesForLoadBalancerInput) (*DisableAvailabilityZonesForLoadBalancerOutput, error) { req, out := c.DisableAvailabilityZonesForLoadBalancerRequest(input) err := req.Send() @@ -717,7 +1642,30 @@ func (c *ELB) DisableAvailabilityZonesForLoadBalancer(input *DisableAvailability const opEnableAvailabilityZonesForLoadBalancer = "EnableAvailabilityZonesForLoadBalancer" -// EnableAvailabilityZonesForLoadBalancerRequest generates a request for the EnableAvailabilityZonesForLoadBalancer operation. +// EnableAvailabilityZonesForLoadBalancerRequest generates a "aws/request.Request" representing the +// client's request for the EnableAvailabilityZonesForLoadBalancer operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See EnableAvailabilityZonesForLoadBalancer for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the EnableAvailabilityZonesForLoadBalancer method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the EnableAvailabilityZonesForLoadBalancerRequest method. +// req, resp := client.EnableAvailabilityZonesForLoadBalancerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) EnableAvailabilityZonesForLoadBalancerRequest(input *EnableAvailabilityZonesForLoadBalancerInput) (req *request.Request, output *EnableAvailabilityZonesForLoadBalancerOutput) { op := &request.Operation{ Name: opEnableAvailabilityZonesForLoadBalancer, @@ -735,14 +1683,28 @@ func (c *ELB) EnableAvailabilityZonesForLoadBalancerRequest(input *EnableAvailab return } +// EnableAvailabilityZonesForLoadBalancer API operation for Elastic Load Balancing. +// // Adds the specified Availability Zones to the set of Availability Zones for // the specified load balancer. // // The load balancer evenly distributes requests across all its registered // Availability Zones that contain instances. // -// For more information, see Add Availability Zone (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_AddLBAvailabilityZone.html) -// in the Elastic Load Balancing Developer Guide. +// For more information, see Add or Remove Availability Zones (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-az.html) +// in the Classic Load Balancers 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 +// the error. +// +// See the AWS API reference guide for Elastic Load Balancing's +// API operation EnableAvailabilityZonesForLoadBalancer for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// func (c *ELB) EnableAvailabilityZonesForLoadBalancer(input *EnableAvailabilityZonesForLoadBalancerInput) (*EnableAvailabilityZonesForLoadBalancerOutput, error) { req, out := c.EnableAvailabilityZonesForLoadBalancerRequest(input) err := req.Send() @@ -751,7 +1713,30 @@ func (c *ELB) EnableAvailabilityZonesForLoadBalancer(input *EnableAvailabilityZo const opModifyLoadBalancerAttributes = "ModifyLoadBalancerAttributes" -// ModifyLoadBalancerAttributesRequest generates a request for the ModifyLoadBalancerAttributes operation. +// ModifyLoadBalancerAttributesRequest generates a "aws/request.Request" representing the +// client's request for the ModifyLoadBalancerAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyLoadBalancerAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyLoadBalancerAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyLoadBalancerAttributesRequest method. +// req, resp := client.ModifyLoadBalancerAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) ModifyLoadBalancerAttributesRequest(input *ModifyLoadBalancerAttributesInput) (req *request.Request, output *ModifyLoadBalancerAttributesOutput) { op := &request.Operation{ Name: opModifyLoadBalancerAttributes, @@ -769,6 +1754,8 @@ func (c *ELB) ModifyLoadBalancerAttributesRequest(input *ModifyLoadBalancerAttri return } +// ModifyLoadBalancerAttributes API operation for Elastic Load Balancing. +// // Modifies the attributes of the specified load balancer. // // You can modify the load balancer attributes, such as AccessLogs, ConnectionDraining, @@ -776,13 +1763,33 @@ func (c *ELB) ModifyLoadBalancerAttributesRequest(input *ModifyLoadBalancerAttri // can modify the load balancer attribute ConnectionSettings by specifying an // idle connection timeout value for your load balancer. // -// For more information, see the following in the Elastic Load Balancing Developer -// Guide: +// For more information, see the following in the Classic Load Balancers Guide: +// +// Cross-Zone Load Balancing (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-crosszone-lb.html) +// +// Connection Draining (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-conn-drain.html) +// +// Access Logs (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/access-log-collection.html) +// +// Idle Connection Timeout (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.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. +// +// See the AWS API reference guide for Elastic Load Balancing's +// API operation ModifyLoadBalancerAttributes for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * LoadBalancerAttributeNotFound +// The specified load balancer attribute does not exist. +// +// * InvalidConfigurationRequest +// The requested configuration change is not valid. // -// Cross-Zone Load Balancing (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/TerminologyandKeyConcepts.html#request-routing) -// Connection Draining (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/TerminologyandKeyConcepts.html#conn-drain) -// Access Logs (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/access-log-collection.html) -// Idle Connection Timeout (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/TerminologyandKeyConcepts.html#idle-timeout) func (c *ELB) ModifyLoadBalancerAttributes(input *ModifyLoadBalancerAttributesInput) (*ModifyLoadBalancerAttributesOutput, error) { req, out := c.ModifyLoadBalancerAttributesRequest(input) err := req.Send() @@ -791,7 +1798,30 @@ func (c *ELB) ModifyLoadBalancerAttributes(input *ModifyLoadBalancerAttributesIn const opRegisterInstancesWithLoadBalancer = "RegisterInstancesWithLoadBalancer" -// RegisterInstancesWithLoadBalancerRequest generates a request for the RegisterInstancesWithLoadBalancer operation. +// RegisterInstancesWithLoadBalancerRequest generates a "aws/request.Request" representing the +// client's request for the RegisterInstancesWithLoadBalancer operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RegisterInstancesWithLoadBalancer for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RegisterInstancesWithLoadBalancer method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RegisterInstancesWithLoadBalancerRequest method. +// req, resp := client.RegisterInstancesWithLoadBalancerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) RegisterInstancesWithLoadBalancerRequest(input *RegisterInstancesWithLoadBalancerInput) (req *request.Request, output *RegisterInstancesWithLoadBalancerOutput) { op := &request.Operation{ Name: opRegisterInstancesWithLoadBalancer, @@ -809,6 +1839,8 @@ func (c *ELB) RegisterInstancesWithLoadBalancerRequest(input *RegisterInstancesW return } +// RegisterInstancesWithLoadBalancer API operation for Elastic Load Balancing. +// // Adds the specified instances to the specified load balancer. // // The instance must be a running instance in the same network as the load @@ -828,15 +1860,25 @@ func (c *ELB) RegisterInstancesWithLoadBalancerRequest(input *RegisterInstancesW // If an Availability Zone is added to the load balancer later, any instances // registered with the load balancer move to the InService state. // -// If you stop an instance registered with a load balancer and then start it, -// the IP addresses associated with the instance changes. Elastic Load Balancing -// cannot recognize the new IP address, which prevents it from routing traffic -// to the instances. We recommend that you use the following sequence: stop -// the instance, deregister the instance, start the instance, and then register -// the instance. To deregister instances from a load balancer, use DeregisterInstancesFromLoadBalancer. +// To deregister instances from a load balancer, use DeregisterInstancesFromLoadBalancer. +// +// For more information, see Register or De-Register EC2 Instances (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-deregister-register-instances.html) +// in the Classic Load Balancers 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 +// the error. +// +// See the AWS API reference guide for Elastic Load Balancing's +// API operation RegisterInstancesWithLoadBalancer for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * InvalidInstance +// The specified endpoint is not valid. // -// For more information, see Deregister and Register EC2 Instances (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_DeReg_Reg_Instances.html) -// in the Elastic Load Balancing Developer Guide. func (c *ELB) RegisterInstancesWithLoadBalancer(input *RegisterInstancesWithLoadBalancerInput) (*RegisterInstancesWithLoadBalancerOutput, error) { req, out := c.RegisterInstancesWithLoadBalancerRequest(input) err := req.Send() @@ -845,7 +1887,30 @@ func (c *ELB) RegisterInstancesWithLoadBalancer(input *RegisterInstancesWithLoad const opRemoveTags = "RemoveTags" -// RemoveTagsRequest generates a request for the RemoveTags operation. +// RemoveTagsRequest generates a "aws/request.Request" representing the +// client's request for the RemoveTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RemoveTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RemoveTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RemoveTagsRequest method. +// req, resp := client.RemoveTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, output *RemoveTagsOutput) { op := &request.Operation{ Name: opRemoveTags, @@ -863,7 +1928,21 @@ func (c *ELB) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, o return } +// RemoveTags API operation for Elastic Load Balancing. +// // Removes one or more tags from the specified load balancer. +// +// 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 Elastic Load Balancing's +// API operation RemoveTags for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// func (c *ELB) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, error) { req, out := c.RemoveTagsRequest(input) err := req.Send() @@ -872,7 +1951,30 @@ func (c *ELB) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, error) { const opSetLoadBalancerListenerSSLCertificate = "SetLoadBalancerListenerSSLCertificate" -// SetLoadBalancerListenerSSLCertificateRequest generates a request for the SetLoadBalancerListenerSSLCertificate operation. +// SetLoadBalancerListenerSSLCertificateRequest generates a "aws/request.Request" representing the +// client's request for the SetLoadBalancerListenerSSLCertificate operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetLoadBalancerListenerSSLCertificate for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetLoadBalancerListenerSSLCertificate method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetLoadBalancerListenerSSLCertificateRequest method. +// req, resp := client.SetLoadBalancerListenerSSLCertificateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) SetLoadBalancerListenerSSLCertificateRequest(input *SetLoadBalancerListenerSSLCertificateInput) (req *request.Request, output *SetLoadBalancerListenerSSLCertificateOutput) { op := &request.Operation{ Name: opSetLoadBalancerListenerSSLCertificate, @@ -890,13 +1992,42 @@ func (c *ELB) SetLoadBalancerListenerSSLCertificateRequest(input *SetLoadBalance return } +// SetLoadBalancerListenerSSLCertificate API operation for Elastic Load Balancing. +// // Sets the certificate that terminates the specified listener's SSL connections. // The specified certificate replaces any prior certificate that was used on // the same load balancer and port. // -// For more information about updating your SSL certificate, see Updating an -// SSL Certificate for a Load Balancer (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_UpdatingLoadBalancerSSL.html) -// in the Elastic Load Balancing Developer Guide. +// For more information about updating your SSL certificate, see Replace the +// SSL Certificate for Your Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-update-ssl-cert.html) +// in the Classic Load Balancers 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 +// the error. +// +// See the AWS API reference guide for Elastic Load Balancing's +// API operation SetLoadBalancerListenerSSLCertificate for usage and error information. +// +// Returned Error Codes: +// * CertificateNotFound +// The specified ARN does not refer to a valid SSL certificate in AWS Identity +// and Access Management (IAM) or AWS Certificate Manager (ACM). Note that if +// you recently uploaded the certificate to IAM, this error might indicate that +// the certificate is not fully available yet. +// +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * ListenerNotFound +// The load balancer does not have a listener configured at the specified port. +// +// * InvalidConfigurationRequest +// The requested configuration change is not valid. +// +// * UnsupportedProtocol + +// func (c *ELB) SetLoadBalancerListenerSSLCertificate(input *SetLoadBalancerListenerSSLCertificateInput) (*SetLoadBalancerListenerSSLCertificateOutput, error) { req, out := c.SetLoadBalancerListenerSSLCertificateRequest(input) err := req.Send() @@ -905,7 +2036,30 @@ func (c *ELB) SetLoadBalancerListenerSSLCertificate(input *SetLoadBalancerListen const opSetLoadBalancerPoliciesForBackendServer = "SetLoadBalancerPoliciesForBackendServer" -// SetLoadBalancerPoliciesForBackendServerRequest generates a request for the SetLoadBalancerPoliciesForBackendServer operation. +// SetLoadBalancerPoliciesForBackendServerRequest generates a "aws/request.Request" representing the +// client's request for the SetLoadBalancerPoliciesForBackendServer operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetLoadBalancerPoliciesForBackendServer for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetLoadBalancerPoliciesForBackendServer method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetLoadBalancerPoliciesForBackendServerRequest method. +// req, resp := client.SetLoadBalancerPoliciesForBackendServerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) SetLoadBalancerPoliciesForBackendServerRequest(input *SetLoadBalancerPoliciesForBackendServerInput) (req *request.Request, output *SetLoadBalancerPoliciesForBackendServerOutput) { op := &request.Operation{ Name: opSetLoadBalancerPoliciesForBackendServer, @@ -923,17 +2077,43 @@ func (c *ELB) SetLoadBalancerPoliciesForBackendServerRequest(input *SetLoadBalan return } +// SetLoadBalancerPoliciesForBackendServer API operation for Elastic Load Balancing. +// // Replaces the set of policies associated with the specified port on which -// the back-end server is listening with a new set of policies. At this time, -// only the back-end server authentication policy type can be applied to the -// back-end ports; this policy type is composed of multiple public key policies. +// the EC2 instance is listening with a new set of policies. At this time, only +// the back-end server authentication policy type can be applied to the instance +// ports; this policy type is composed of multiple public key policies. // // Each time you use SetLoadBalancerPoliciesForBackendServer to enable the // policies, use the PolicyNames parameter to list the policies that you want // to enable. // // You can use DescribeLoadBalancers or DescribeLoadBalancerPolicies to verify -// that the policy is associated with the back-end server. +// that the policy is associated with the EC2 instance. +// +// For more information about enabling back-end instance authentication, see +// Configure Back-end Instance Authentication (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-create-https-ssl-load-balancer.html#configure_backendauth_clt) +// in the Classic Load Balancers Guide. For more information about Proxy Protocol, +// see Configure Proxy Protocol Support (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-proxy-protocol.html) +// in the Classic Load Balancers 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 +// the error. +// +// See the AWS API reference guide for Elastic Load Balancing's +// API operation SetLoadBalancerPoliciesForBackendServer for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * PolicyNotFound +// One or more of the specified policies do not exist. +// +// * InvalidConfigurationRequest +// The requested configuration change is not valid. +// func (c *ELB) SetLoadBalancerPoliciesForBackendServer(input *SetLoadBalancerPoliciesForBackendServerInput) (*SetLoadBalancerPoliciesForBackendServerOutput, error) { req, out := c.SetLoadBalancerPoliciesForBackendServerRequest(input) err := req.Send() @@ -942,7 +2122,30 @@ func (c *ELB) SetLoadBalancerPoliciesForBackendServer(input *SetLoadBalancerPoli const opSetLoadBalancerPoliciesOfListener = "SetLoadBalancerPoliciesOfListener" -// SetLoadBalancerPoliciesOfListenerRequest generates a request for the SetLoadBalancerPoliciesOfListener operation. +// SetLoadBalancerPoliciesOfListenerRequest generates a "aws/request.Request" representing the +// client's request for the SetLoadBalancerPoliciesOfListener operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetLoadBalancerPoliciesOfListener for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetLoadBalancerPoliciesOfListener method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetLoadBalancerPoliciesOfListenerRequest method. +// req, resp := client.SetLoadBalancerPoliciesOfListenerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *ELB) SetLoadBalancerPoliciesOfListenerRequest(input *SetLoadBalancerPoliciesOfListenerInput) (req *request.Request, output *SetLoadBalancerPoliciesOfListenerOutput) { op := &request.Operation{ Name: opSetLoadBalancerPoliciesOfListener, @@ -960,8 +2163,39 @@ func (c *ELB) SetLoadBalancerPoliciesOfListenerRequest(input *SetLoadBalancerPol return } -// Associates, updates, or disables a policy with a listener for the specified -// load balancer. You can associate multiple policies with a listener. +// SetLoadBalancerPoliciesOfListener API operation for Elastic Load Balancing. +// +// Replaces the current set of policies for the specified load balancer port +// with the specified set of policies. +// +// To enable back-end server authentication, use SetLoadBalancerPoliciesForBackendServer. +// +// For more information about setting policies, see Update the SSL Negotiation +// Configuration (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/ssl-config-update.html), +// Duration-Based Session Stickiness (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-duration), +// and Application-Controlled Session Stickiness (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-application) +// in the Classic Load Balancers 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 +// the error. +// +// See the AWS API reference guide for Elastic Load Balancing's +// API operation SetLoadBalancerPoliciesOfListener for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * PolicyNotFound +// One or more of the specified policies do not exist. +// +// * ListenerNotFound +// The load balancer does not have a listener configured at the specified port. +// +// * InvalidConfigurationRequest +// The requested configuration change is not valid. +// func (c *ELB) SetLoadBalancerPoliciesOfListener(input *SetLoadBalancerPoliciesOfListenerInput) (*SetLoadBalancerPoliciesOfListenerOutput, error) { req, out := c.SetLoadBalancerPoliciesOfListenerRequest(input) err := req.Send() @@ -978,7 +2212,9 @@ type AccessLog struct { // Default: 60 minutes EmitInterval *int64 `type:"integer"` - // Specifies whether access log is enabled for the load balancer. + // Specifies whether access logs are enabled for the load balancer. + // + // Enabled is a required field Enabled *bool `type:"boolean" required:"true"` // The name of the Amazon S3 bucket where the access logs are stored. @@ -1013,13 +2249,18 @@ func (s *AccessLog) Validate() error { return nil } +// Contains the parameters for AddTags. type AddTagsInput struct { _ struct{} `type:"structure"` // The name of the load balancer. You can specify one load balancer only. + // + // LoadBalancerNames is a required field LoadBalancerNames []*string `type:"list" required:"true"` // The tags. + // + // Tags is a required field Tags []*Tag `min:"1" type:"list" required:"true"` } @@ -1062,6 +2303,7 @@ func (s *AddTagsInput) Validate() error { return nil } +// Contains the output of AddTags. type AddTagsOutput struct { _ struct{} `type:"structure"` } @@ -1119,14 +2361,19 @@ func (s AppCookieStickinessPolicy) GoString() string { return s.String() } +// Contains the parameters for ApplySecurityGroupsToLoadBalancer. type ApplySecurityGroupsToLoadBalancerInput struct { _ struct{} `type:"structure"` // The name of the load balancer. + // + // LoadBalancerName is a required field LoadBalancerName *string `type:"string" required:"true"` // The IDs of the security groups to associate with the load balancer. Note // that you cannot specify the name of the security group. + // + // SecurityGroups is a required field SecurityGroups []*string `type:"list" required:"true"` } @@ -1156,6 +2403,7 @@ func (s *ApplySecurityGroupsToLoadBalancerInput) Validate() error { return nil } +// Contains the output of ApplySecurityGroupsToLoadBalancer. type ApplySecurityGroupsToLoadBalancerOutput struct { _ struct{} `type:"structure"` @@ -1173,14 +2421,19 @@ func (s ApplySecurityGroupsToLoadBalancerOutput) GoString() string { return s.String() } +// Contains the parameters for AttachLoaBalancerToSubnets. type AttachLoadBalancerToSubnetsInput struct { _ struct{} `type:"structure"` // The name of the load balancer. + // + // LoadBalancerName is a required field LoadBalancerName *string `type:"string" required:"true"` - // The IDs of the subnets to add for the load balancer. You can add only one - // subnet per Availability Zone. + // The IDs of the subnets to add. You can add only one subnet per Availability + // Zone. + // + // Subnets is a required field Subnets []*string `type:"list" required:"true"` } @@ -1210,6 +2463,7 @@ func (s *AttachLoadBalancerToSubnetsInput) Validate() error { return nil } +// Contains the output of AttachLoadBalancerToSubnets. type AttachLoadBalancerToSubnetsOutput struct { _ struct{} `type:"structure"` @@ -1227,14 +2481,14 @@ func (s AttachLoadBalancerToSubnetsOutput) GoString() string { return s.String() } -// Information about the configuration of a back-end server. +// Information about the configuration of an EC2 instance. type BackendServerDescription struct { _ struct{} `type:"structure"` - // The port on which the back-end server is listening. + // The port on which the EC2 instance is listening. InstancePort *int64 `min:"1" type:"integer"` - // The names of the policies enabled for the back-end server. + // The names of the policies enabled for the EC2 instance. PolicyNames []*string `type:"list"` } @@ -1248,13 +2502,18 @@ func (s BackendServerDescription) GoString() string { return s.String() } +// Contains the parameters for ConfigureHealthCheck. type ConfigureHealthCheckInput struct { _ struct{} `type:"structure"` - // The configuration information for the new health check. + // The configuration information. + // + // HealthCheck is a required field HealthCheck *HealthCheck `type:"structure" required:"true"` // The name of the load balancer. + // + // LoadBalancerName is a required field LoadBalancerName *string `type:"string" required:"true"` } @@ -1289,6 +2548,7 @@ func (s *ConfigureHealthCheckInput) Validate() error { return nil } +// Contains the output of ConfigureHealthCheck. type ConfigureHealthCheckOutput struct { _ struct{} `type:"structure"` @@ -1311,6 +2571,8 @@ type ConnectionDraining struct { _ struct{} `type:"structure"` // Specifies whether connection draining is enabled for the load balancer. + // + // Enabled is a required field Enabled *bool `type:"boolean" required:"true"` // The maximum time, in seconds, to keep the existing connections open before @@ -1347,6 +2609,8 @@ type ConnectionSettings struct { // The time, in seconds, that the connection is allowed to be idle (no data // has been sent over the connection) before it is closed by the load balancer. + // + // IdleTimeout is a required field IdleTimeout *int64 `min:"1" type:"integer" required:"true"` } @@ -1376,18 +2640,25 @@ func (s *ConnectionSettings) Validate() error { return nil } +// Contains the parameters for CreateAppCookieStickinessPolicy. type CreateAppCookieStickinessPolicyInput struct { _ struct{} `type:"structure"` // The name of the application cookie used for stickiness. + // + // CookieName is a required field CookieName *string `type:"string" required:"true"` // The name of the load balancer. + // + // LoadBalancerName is a required field LoadBalancerName *string `type:"string" required:"true"` // The name of the policy being created. Policy names must consist of alphanumeric // characters and dashes (-). This name must be unique within the set of policies // for this load balancer. + // + // PolicyName is a required field PolicyName *string `type:"string" required:"true"` } @@ -1420,6 +2691,7 @@ func (s *CreateAppCookieStickinessPolicyInput) Validate() error { return nil } +// Contains the output for CreateAppCookieStickinessPolicy. type CreateAppCookieStickinessPolicyOutput struct { _ struct{} `type:"structure"` } @@ -1434,20 +2706,26 @@ func (s CreateAppCookieStickinessPolicyOutput) GoString() string { return s.String() } +// Contains the parameters for CreateLBCookieStickinessPolicy. type CreateLBCookieStickinessPolicyInput struct { _ struct{} `type:"structure"` // The time period, in seconds, after which the cookie should be considered - // stale. If you do not specify this parameter, the sticky session lasts for - // the duration of the browser session. + // stale. If you do not specify this parameter, the default value is 0, which + // indicates that the sticky session should last for the duration of the browser + // session. CookieExpirationPeriod *int64 `type:"long"` // The name of the load balancer. + // + // LoadBalancerName is a required field LoadBalancerName *string `type:"string" required:"true"` // The name of the policy being created. Policy names must consist of alphanumeric // characters and dashes (-). This name must be unique within the set of policies // for this load balancer. + // + // PolicyName is a required field PolicyName *string `type:"string" required:"true"` } @@ -1477,6 +2755,7 @@ func (s *CreateLBCookieStickinessPolicyInput) Validate() error { return nil } +// Contains the output for CreateLBCookieStickinessPolicy. type CreateLBCookieStickinessPolicyOutput struct { _ struct{} `type:"structure"` } @@ -1491,11 +2770,11 @@ func (s CreateLBCookieStickinessPolicyOutput) GoString() string { return s.String() } +// Contains the parameters for CreateLoadBalancer. type CreateLoadBalancerInput struct { _ struct{} `type:"structure"` // One or more Availability Zones from the same region as the load balancer. - // Traffic is equally distributed across all specified Availability Zones. // // You must specify at least one Availability Zone. // @@ -1505,8 +2784,10 @@ type CreateLoadBalancerInput struct { // The listeners. // - // For more information, see Listeners for Your Load Balancer (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elb-listener-config.html) - // in the Elastic Load Balancing Developer Guide. + // For more information, see Listeners for Your Classic Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html) + // in the Classic Load Balancers Guide. + // + // Listeners is a required field Listeners []*Listener `type:"list" required:"true"` // The name of the load balancer. @@ -1514,18 +2795,20 @@ type CreateLoadBalancerInput struct { // This name must be unique within your set of load balancers for the region, // must have a maximum of 32 characters, must contain only alphanumeric characters // or hyphens, and cannot begin or end with a hyphen. + // + // LoadBalancerName is a required field LoadBalancerName *string `type:"string" required:"true"` // The type of a load balancer. Valid only for load balancers in a VPC. // // By default, Elastic Load Balancing creates an Internet-facing load balancer - // with a publicly resolvable DNS name, which resolves to public IP addresses. - // For more information about Internet-facing and Internal load balancers, see - // Internet-facing and Internal Load Balancers (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/vpc-loadbalancer-types.html) - // in the Elastic Load Balancing Developer Guide. + // with a DNS name that resolves to public IP addresses. For more information + // about Internet-facing and Internal load balancers, see Load Balancer Scheme + // (http://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#load-balancer-scheme) + // in the Elastic Load Balancing User Guide. // - // Specify internal to create an internal load balancer with a DNS name that - // resolves to private IP addresses. + // Specify internal to create a load balancer with a DNS name that resolves + // to private IP addresses. Scheme *string `type:"string"` // The IDs of the security groups to assign to the load balancer. @@ -1537,8 +2820,9 @@ type CreateLoadBalancerInput struct { // A list of tags to assign to the load balancer. // - // For more information about tagging your load balancer, see Tagging (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/TerminologyandKeyConcepts.html#tagging-elb) - // in the Elastic Load Balancing Developer Guide. + // For more information about tagging your load balancer, see Tag Your Classic + // Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/add-remove-tags.html) + // in the Classic Load Balancers Guide. Tags []*Tag `min:"1" type:"list"` } @@ -1591,13 +2875,18 @@ func (s *CreateLoadBalancerInput) Validate() error { return nil } +// Contains the parameters for CreateLoadBalancerListeners. type CreateLoadBalancerListenersInput struct { _ struct{} `type:"structure"` // The listeners. + // + // Listeners is a required field Listeners []*Listener `type:"list" required:"true"` // The name of the load balancer. + // + // LoadBalancerName is a required field LoadBalancerName *string `type:"string" required:"true"` } @@ -1637,6 +2926,7 @@ func (s *CreateLoadBalancerListenersInput) Validate() error { return nil } +// Contains the parameters for CreateLoadBalancerListener. type CreateLoadBalancerListenersOutput struct { _ struct{} `type:"structure"` } @@ -1651,6 +2941,7 @@ func (s CreateLoadBalancerListenersOutput) GoString() string { return s.String() } +// Contains the output for CreateLoadBalancer. type CreateLoadBalancerOutput struct { _ struct{} `type:"structure"` @@ -1668,20 +2959,27 @@ func (s CreateLoadBalancerOutput) GoString() string { return s.String() } +// Contains the parameters for CreateLoadBalancerPolicy. type CreateLoadBalancerPolicyInput struct { _ struct{} `type:"structure"` // The name of the load balancer. + // + // LoadBalancerName is a required field LoadBalancerName *string `type:"string" required:"true"` - // The attributes for the policy. + // The policy attributes. PolicyAttributes []*PolicyAttribute `type:"list"` // The name of the load balancer policy to be created. This name must be unique // within the set of policies for this load balancer. + // + // PolicyName is a required field PolicyName *string `type:"string" required:"true"` // The name of the base policy type. To get the list of policy types, use DescribeLoadBalancerPolicyTypes. + // + // PolicyTypeName is a required field PolicyTypeName *string `type:"string" required:"true"` } @@ -1714,6 +3012,7 @@ func (s *CreateLoadBalancerPolicyInput) Validate() error { return nil } +// Contains the output of CreateLoadBalancerPolicy. type CreateLoadBalancerPolicyOutput struct { _ struct{} `type:"structure"` } @@ -1733,6 +3032,8 @@ type CrossZoneLoadBalancing struct { _ struct{} `type:"structure"` // Specifies whether cross-zone load balancing is enabled for the load balancer. + // + // Enabled is a required field Enabled *bool `type:"boolean" required:"true"` } @@ -1759,10 +3060,13 @@ func (s *CrossZoneLoadBalancing) Validate() error { return nil } +// Contains the parameters for DeleteLoadBalancer. type DeleteLoadBalancerInput struct { _ struct{} `type:"structure"` // The name of the load balancer. + // + // LoadBalancerName is a required field LoadBalancerName *string `type:"string" required:"true"` } @@ -1789,13 +3093,18 @@ func (s *DeleteLoadBalancerInput) Validate() error { return nil } +// Contains the parameters for DeleteLoadBalancerListeners. type DeleteLoadBalancerListenersInput struct { _ struct{} `type:"structure"` // The name of the load balancer. + // + // LoadBalancerName is a required field LoadBalancerName *string `type:"string" required:"true"` // The client port numbers of the listeners. + // + // LoadBalancerPorts is a required field LoadBalancerPorts []*int64 `type:"list" required:"true"` } @@ -1825,6 +3134,7 @@ func (s *DeleteLoadBalancerListenersInput) Validate() error { return nil } +// Contains the output of DeleteLoadBalancerListeners. type DeleteLoadBalancerListenersOutput struct { _ struct{} `type:"structure"` } @@ -1839,6 +3149,7 @@ func (s DeleteLoadBalancerListenersOutput) GoString() string { return s.String() } +// Contains the output of DeleteLoadBalancer. type DeleteLoadBalancerOutput struct { _ struct{} `type:"structure"` } @@ -1853,14 +3164,18 @@ func (s DeleteLoadBalancerOutput) GoString() string { return s.String() } -// = +// Contains the parameters for DeleteLoadBalancerPolicy. type DeleteLoadBalancerPolicyInput struct { _ struct{} `type:"structure"` // The name of the load balancer. + // + // LoadBalancerName is a required field LoadBalancerName *string `type:"string" required:"true"` // The name of the policy. + // + // PolicyName is a required field PolicyName *string `type:"string" required:"true"` } @@ -1890,6 +3205,7 @@ func (s *DeleteLoadBalancerPolicyInput) Validate() error { return nil } +// Contains the output of DeleteLoadBalancerPolicy. type DeleteLoadBalancerPolicyOutput struct { _ struct{} `type:"structure"` } @@ -1904,13 +3220,18 @@ func (s DeleteLoadBalancerPolicyOutput) GoString() string { return s.String() } +// Contains the parameters for DeregisterInstancesFromLoadBalancer. type DeregisterInstancesFromLoadBalancerInput struct { _ struct{} `type:"structure"` // The IDs of the instances. + // + // Instances is a required field Instances []*Instance `type:"list" required:"true"` // The name of the load balancer. + // + // LoadBalancerName is a required field LoadBalancerName *string `type:"string" required:"true"` } @@ -1940,6 +3261,7 @@ func (s *DeregisterInstancesFromLoadBalancerInput) Validate() error { return nil } +// Contains the output of DeregisterInstancesFromLoadBalancer. type DeregisterInstancesFromLoadBalancerOutput struct { _ struct{} `type:"structure"` @@ -1957,6 +3279,7 @@ func (s DeregisterInstancesFromLoadBalancerOutput) GoString() string { return s.String() } +// Contains the parameters for DescribeInstanceHealth. type DescribeInstanceHealthInput struct { _ struct{} `type:"structure"` @@ -1964,6 +3287,8 @@ type DescribeInstanceHealthInput struct { Instances []*Instance `type:"list"` // The name of the load balancer. + // + // LoadBalancerName is a required field LoadBalancerName *string `type:"string" required:"true"` } @@ -1990,6 +3315,7 @@ func (s *DescribeInstanceHealthInput) Validate() error { return nil } +// Contains the output for DescribeInstanceHealth. type DescribeInstanceHealthOutput struct { _ struct{} `type:"structure"` @@ -2007,10 +3333,13 @@ func (s DescribeInstanceHealthOutput) GoString() string { return s.String() } +// Contains the parameters for DescribeLoadBalancerAttributes. type DescribeLoadBalancerAttributesInput struct { _ struct{} `type:"structure"` // The name of the load balancer. + // + // LoadBalancerName is a required field LoadBalancerName *string `type:"string" required:"true"` } @@ -2037,6 +3366,7 @@ func (s *DescribeLoadBalancerAttributesInput) Validate() error { return nil } +// Contains the output of DescribeLoadBalancerAttributes. type DescribeLoadBalancerAttributesOutput struct { _ struct{} `type:"structure"` @@ -2054,6 +3384,7 @@ func (s DescribeLoadBalancerAttributesOutput) GoString() string { return s.String() } +// Contains the parameters for DescribeLoadBalancerPolicies. type DescribeLoadBalancerPoliciesInput struct { _ struct{} `type:"structure"` @@ -2074,6 +3405,7 @@ func (s DescribeLoadBalancerPoliciesInput) GoString() string { return s.String() } +// Contains the output of DescribeLoadBalancerPolicies. type DescribeLoadBalancerPoliciesOutput struct { _ struct{} `type:"structure"` @@ -2091,6 +3423,7 @@ func (s DescribeLoadBalancerPoliciesOutput) GoString() string { return s.String() } +// Contains the parameters for DescribeLoadBalancerPolicyTypes. type DescribeLoadBalancerPolicyTypesInput struct { _ struct{} `type:"structure"` @@ -2109,6 +3442,7 @@ func (s DescribeLoadBalancerPolicyTypesInput) GoString() string { return s.String() } +// Contains the output of DescribeLoadBalancerPolicyTypes. type DescribeLoadBalancerPolicyTypesOutput struct { _ struct{} `type:"structure"` @@ -2126,6 +3460,7 @@ func (s DescribeLoadBalancerPolicyTypesOutput) GoString() string { return s.String() } +// Contains the parameters for DescribeLoadBalancers. type DescribeLoadBalancersInput struct { _ struct{} `type:"structure"` @@ -2164,6 +3499,7 @@ func (s *DescribeLoadBalancersInput) Validate() error { return nil } +// Contains the parameters for DescribeLoadBalancers. type DescribeLoadBalancersOutput struct { _ struct{} `type:"structure"` @@ -2185,10 +3521,13 @@ func (s DescribeLoadBalancersOutput) GoString() string { return s.String() } +// Contains the parameters for DescribeTags. type DescribeTagsInput struct { _ struct{} `type:"structure"` // The names of the load balancers. + // + // LoadBalancerNames is a required field LoadBalancerNames []*string `min:"1" type:"list" required:"true"` } @@ -2218,6 +3557,7 @@ func (s *DescribeTagsInput) Validate() error { return nil } +// Contains the output for DescribeTags. type DescribeTagsOutput struct { _ struct{} `type:"structure"` @@ -2235,13 +3575,18 @@ func (s DescribeTagsOutput) GoString() string { return s.String() } +// Contains the parameters for DetachLoadBalancerFromSubnets. type DetachLoadBalancerFromSubnetsInput struct { _ struct{} `type:"structure"` // The name of the load balancer. + // + // LoadBalancerName is a required field LoadBalancerName *string `type:"string" required:"true"` // The IDs of the subnets. + // + // Subnets is a required field Subnets []*string `type:"list" required:"true"` } @@ -2271,6 +3616,7 @@ func (s *DetachLoadBalancerFromSubnetsInput) Validate() error { return nil } +// Contains the output of DetachLoadBalancerFromSubnets. type DetachLoadBalancerFromSubnetsOutput struct { _ struct{} `type:"structure"` @@ -2288,13 +3634,18 @@ func (s DetachLoadBalancerFromSubnetsOutput) GoString() string { return s.String() } +// Contains the parameters for DisableAvailabilityZonesForLoadBalancer. type DisableAvailabilityZonesForLoadBalancerInput struct { _ struct{} `type:"structure"` // The Availability Zones. + // + // AvailabilityZones is a required field AvailabilityZones []*string `type:"list" required:"true"` // The name of the load balancer. + // + // LoadBalancerName is a required field LoadBalancerName *string `type:"string" required:"true"` } @@ -2324,6 +3675,7 @@ func (s *DisableAvailabilityZonesForLoadBalancerInput) Validate() error { return nil } +// Contains the output for DisableAvailabilityZonesForLoadBalancer. type DisableAvailabilityZonesForLoadBalancerOutput struct { _ struct{} `type:"structure"` @@ -2341,13 +3693,18 @@ func (s DisableAvailabilityZonesForLoadBalancerOutput) GoString() string { return s.String() } +// Contains the parameters for EnableAvailabilityZonesForLoadBalancer. type EnableAvailabilityZonesForLoadBalancerInput struct { _ struct{} `type:"structure"` // The Availability Zones. These must be in the same region as the load balancer. + // + // AvailabilityZones is a required field AvailabilityZones []*string `type:"list" required:"true"` // The name of the load balancer. + // + // LoadBalancerName is a required field LoadBalancerName *string `type:"string" required:"true"` } @@ -2377,6 +3734,7 @@ func (s *EnableAvailabilityZonesForLoadBalancerInput) Validate() error { return nil } +// Contains the output of EnableAvailabilityZonesForLoadBalancer. type EnableAvailabilityZonesForLoadBalancerOutput struct { _ struct{} `type:"structure"` @@ -2400,11 +3758,15 @@ type HealthCheck struct { // The number of consecutive health checks successes required before moving // the instance to the Healthy state. + // + // HealthyThreshold is a required field HealthyThreshold *int64 `min:"2" type:"integer" required:"true"` // The approximate interval, in seconds, between health checks of an individual // instance. - Interval *int64 `min:"1" type:"integer" required:"true"` + // + // Interval is a required field + Interval *int64 `min:"5" type:"integer" required:"true"` // The instance being checked. The protocol is either TCP, HTTP, HTTPS, or SSL. // The range of valid ports is one (1) through 65535. @@ -2424,16 +3786,22 @@ type HealthCheck struct { // // The total length of the HTTP ping target must be 1024 16-bit Unicode characters // or less. + // + // Target is a required field Target *string `type:"string" required:"true"` // The amount of time, in seconds, during which no response means a failed health // check. // // This value must be less than the Interval value. - Timeout *int64 `min:"1" type:"integer" required:"true"` + // + // Timeout is a required field + Timeout *int64 `min:"2" type:"integer" required:"true"` // The number of consecutive health check failures required before moving the // instance to the Unhealthy state. + // + // UnhealthyThreshold is a required field UnhealthyThreshold *int64 `min:"2" type:"integer" required:"true"` } @@ -2459,8 +3827,8 @@ func (s *HealthCheck) Validate() error { if s.Interval == nil { invalidParams.Add(request.NewErrParamRequired("Interval")) } - if s.Interval != nil && *s.Interval < 1 { - invalidParams.Add(request.NewErrParamMinValue("Interval", 1)) + if s.Interval != nil && *s.Interval < 5 { + invalidParams.Add(request.NewErrParamMinValue("Interval", 5)) } if s.Target == nil { invalidParams.Add(request.NewErrParamRequired("Target")) @@ -2468,8 +3836,8 @@ func (s *HealthCheck) Validate() error { if s.Timeout == nil { invalidParams.Add(request.NewErrParamRequired("Timeout")) } - if s.Timeout != nil && *s.Timeout < 1 { - invalidParams.Add(request.NewErrParamMinValue("Timeout", 1)) + if s.Timeout != nil && *s.Timeout < 2 { + invalidParams.Add(request.NewErrParamMinValue("Timeout", 2)) } if s.UnhealthyThreshold == nil { invalidParams.Add(request.NewErrParamRequired("UnhealthyThreshold")) @@ -2484,11 +3852,11 @@ func (s *HealthCheck) Validate() error { return nil } -// The ID of a back-end instance. +// The ID of an EC2 instance. type Instance struct { _ struct{} `type:"structure"` - // The ID of the instance. + // The instance ID. InstanceId *string `type:"string"` } @@ -2502,39 +3870,39 @@ func (s Instance) GoString() string { return s.String() } -// Information about the state of a back-end instance. +// Information about the state of an EC2 instance. type InstanceState struct { _ struct{} `type:"structure"` // A description of the instance state. This string can contain one or more // of the following messages. // - // N/A + // N/A // - // A transient error occurred. Please try again later. + // A transient error occurred. Please try again later. // - // Instance has failed at least the UnhealthyThreshold number of health checks - // consecutively. + // Instance has failed at least the UnhealthyThreshold number of health + // checks consecutively. // - // Instance has not passed the configured HealthyThreshold number of health + // Instance has not passed the configured HealthyThreshold number of health // checks consecutively. // - // Instance registration is still in progress. + // Instance registration is still in progress. // - // Instance is in the EC2 Availability Zone for which LoadBalancer is not + // Instance is in the EC2 Availability Zone for which LoadBalancer is not // configured to route traffic to. // - // Instance is not currently registered with the LoadBalancer. + // Instance is not currently registered with the LoadBalancer. // - // Instance deregistration currently in progress. + // Instance deregistration currently in progress. // - // Disable Availability Zone is currently in progress. + // Disable Availability Zone is currently in progress. // - // Instance is in pending state. + // Instance is in pending state. // - // Instance is in stopped state. + // Instance is in stopped state. // - // Instance is in terminated state. + // Instance is in terminated state. Description *string `type:"string"` // The ID of the instance. @@ -2571,8 +3939,8 @@ type LBCookieStickinessPolicy struct { // the duration of the browser session. CookieExpirationPeriod *int64 `type:"long"` - // The name for the policy being created. The name must be unique within the - // set of policies for this load balancer. + // The name of the policy. This name must be unique within the set of policies + // for this load balancer. PolicyName *string `type:"string"` } @@ -2589,16 +3957,18 @@ func (s LBCookieStickinessPolicy) GoString() string { // Information about a listener. // // For information about the protocols and the ports supported by Elastic Load -// Balancing, see Listener Configurations for Elastic Load Balancing (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elb-listener-config.html) -// in the Elastic Load Balancing Developer Guide. +// Balancing, see Listeners for Your Classic Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html) +// in the Classic Load Balancers Guide. type Listener struct { _ struct{} `type:"structure"` // The port on which the instance is listening. + // + // InstancePort is a required field InstancePort *int64 `min:"1" type:"integer" required:"true"` - // The protocol to use for routing traffic to back-end instances: HTTP, HTTPS, - // TCP, or SSL. + // The protocol to use for routing traffic to instances: HTTP, HTTPS, TCP, or + // SSL. // // If the front-end protocol is HTTP, HTTPS, TCP, or SSL, InstanceProtocol // must be at the same protocol. @@ -2613,10 +3983,14 @@ type Listener struct { // The port on which the load balancer is listening. On EC2-VPC, you can specify // any port from the range 1-65535. On EC2-Classic, you can specify any port // from the following list: 25, 80, 443, 465, 587, 1024-65535. + // + // LoadBalancerPort is a required field LoadBalancerPort *int64 `type:"integer" required:"true"` // The load balancer transport protocol to use for routing: HTTP, HTTPS, TCP, // or SSL. + // + // Protocol is a required field Protocol *string `type:"string" required:"true"` // The Amazon Resource Name (ARN) of the server certificate. @@ -2662,8 +4036,8 @@ type ListenerDescription struct { // Information about a listener. // // For information about the protocols and the ports supported by Elastic Load - // Balancing, see Listener Configurations for Elastic Load Balancing (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elb-listener-config.html) - // in the Elastic Load Balancing Developer Guide. + // Balancing, see Listeners for Your Classic Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html) + // in the Classic Load Balancers Guide. Listener *Listener `type:"structure"` // The policies. If there are no policies enabled, the list is empty. @@ -2687,19 +4061,18 @@ type LoadBalancerAttributes struct { // If enabled, the load balancer captures detailed information of all requests // and delivers the information to the Amazon S3 bucket that you specify. // - // For more information, see Enable Access Logs (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/enable-access-logs.html) - // in the Elastic Load Balancing Developer Guide. + // For more information, see Enable Access Logs (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html) + // in the Classic Load Balancers Guide. AccessLog *AccessLog `type:"structure"` // This parameter is reserved. AdditionalAttributes []*AdditionalAttribute `type:"list"` // If enabled, the load balancer allows existing requests to complete before - // the load balancer shifts traffic away from a deregistered or unhealthy back-end - // instance. + // the load balancer shifts traffic away from a deregistered or unhealthy instance. // - // For more information, see Enable Connection Draining (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/config-conn-drain.html) - // in the Elastic Load Balancing Developer Guide. + // For more information, see Configure Connection Draining (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-conn-drain.html) + // in the Classic Load Balancers Guide. ConnectionDraining *ConnectionDraining `type:"structure"` // If enabled, the load balancer allows the connections to remain idle (no data @@ -2707,15 +4080,15 @@ type LoadBalancerAttributes struct { // // By default, Elastic Load Balancing maintains a 60-second idle connection // timeout for both front-end and back-end connections of your load balancer. - // For more information, see Configure Idle Connection Timeout (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/config-idle-timeout.html) - // in the Elastic Load Balancing Developer Guide. + // For more information, see Configure Idle Connection Timeout (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.html) + // in the Classic Load Balancers Guide. ConnectionSettings *ConnectionSettings `type:"structure"` // If enabled, the load balancer routes the request traffic evenly across all - // back-end instances regardless of the Availability Zones. + // instances regardless of the Availability Zones. // - // For more information, see Enable Cross-Zone Load Balancing (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/enable-disable-crosszone-lb.html) - // in the Elastic Load Balancing Developer Guide. + // For more information, see Configure Cross-Zone Load Balancing (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-crosszone-lb.html) + // in the Classic Load Balancers Guide. CrossZoneLoadBalancing *CrossZoneLoadBalancing `type:"structure"` } @@ -2766,23 +4139,22 @@ type LoadBalancerDescription struct { // The Availability Zones for the load balancer. AvailabilityZones []*string `type:"list"` - // Information about the back-end servers. + // Information about your EC2 instances. BackendServerDescriptions []*BackendServerDescription `type:"list"` - // The Amazon Route 53 hosted zone associated with the load balancer. + // The DNS name of the load balancer. // - // For more information, see Using Domain Names With Elastic Load Balancing - // (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/using-domain-names-with-elb.html) - // in the Elastic Load Balancing Developer Guide. + // For more information, see Configure a Custom Domain Name (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/using-domain-names-with-elb.html) + // in the Classic Load Balancers Guide. CanonicalHostedZoneName *string `type:"string"` - // The ID of the Amazon Route 53 hosted zone name associated with the load balancer. + // The ID of the Amazon Route 53 hosted zone for the load balancer. CanonicalHostedZoneNameID *string `type:"string"` // The date and time the load balancer was created. CreatedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"` - // The external DNS name of the load balancer. + // The DNS name of the load balancer. DNSName *string `type:"string"` // Information about the health checks conducted on the load balancer. @@ -2813,10 +4185,10 @@ type LoadBalancerDescription struct { // in a VPC. SecurityGroups []*string `type:"list"` - // The security group that you can use as part of your inbound rules for your - // load balancer's back-end application instances. To only allow traffic from - // load balancers, add a security group rule to your back end instance that - // specifies this source security group as the inbound source. + // The security group for the load balancer, which you can use as part of your + // inbound rules for your registered instances. To only allow traffic from load + // balancers, add a security group rule that specifies this source security + // group as the inbound source. SourceSecurityGroup *SourceSecurityGroup `type:"structure"` // The IDs of the subnets for the load balancer. @@ -2836,13 +4208,18 @@ func (s LoadBalancerDescription) GoString() string { return s.String() } +// Contains the parameters for ModifyLoadBalancerAttributes. type ModifyLoadBalancerAttributesInput struct { _ struct{} `type:"structure"` // The attributes of the load balancer. + // + // LoadBalancerAttributes is a required field LoadBalancerAttributes *LoadBalancerAttributes `type:"structure" required:"true"` // The name of the load balancer. + // + // LoadBalancerName is a required field LoadBalancerName *string `type:"string" required:"true"` } @@ -2877,6 +4254,7 @@ func (s *ModifyLoadBalancerAttributesInput) Validate() error { return nil } +// Contains the output of ModifyLoadBalancerAttributes. type ModifyLoadBalancerAttributesOutput struct { _ struct{} `type:"structure"` @@ -2977,9 +4355,13 @@ type PolicyAttributeTypeDescription struct { // // Valid values: // - // ONE(1) : Single value required ZERO_OR_ONE(0..1) : Up to one value can - // be supplied ZERO_OR_MORE(0..*) : Optional. Multiple values are allowed ONE_OR_MORE(1..*0) - // : Required. Multiple values are allowed + // ONE(1) : Single value required + // + // ZERO_OR_ONE(0..1) : Up to one value is allowed + // + // ZERO_OR_MORE(0..*) : Optional. Multiple values are allowed + // + // ONE_OR_MORE(1..*0) : Required. Multiple values are allowed Cardinality *string `type:"string"` // The default value of the attribute, if applicable. @@ -3048,13 +4430,18 @@ func (s PolicyTypeDescription) GoString() string { return s.String() } +// Contains the parameters for RegisterInstancesWithLoadBalancer. type RegisterInstancesWithLoadBalancerInput struct { _ struct{} `type:"structure"` // The IDs of the instances. + // + // Instances is a required field Instances []*Instance `type:"list" required:"true"` // The name of the load balancer. + // + // LoadBalancerName is a required field LoadBalancerName *string `type:"string" required:"true"` } @@ -3084,6 +4471,7 @@ func (s *RegisterInstancesWithLoadBalancerInput) Validate() error { return nil } +// Contains the output of RegisterInstancesWithLoadBalancer. type RegisterInstancesWithLoadBalancerOutput struct { _ struct{} `type:"structure"` @@ -3101,14 +4489,19 @@ func (s RegisterInstancesWithLoadBalancerOutput) GoString() string { return s.String() } +// Contains the parameters for RemoveTags. type RemoveTagsInput struct { _ struct{} `type:"structure"` // The name of the load balancer. You can specify a maximum of one load balancer // name. + // + // LoadBalancerNames is a required field LoadBalancerNames []*string `type:"list" required:"true"` // The list of tag keys to remove. + // + // Tags is a required field Tags []*TagKeyOnly `min:"1" type:"list" required:"true"` } @@ -3151,6 +4544,7 @@ func (s *RemoveTagsInput) Validate() error { return nil } +// Contains the output of RemoveTags. type RemoveTagsOutput struct { _ struct{} `type:"structure"` } @@ -3165,16 +4559,23 @@ func (s RemoveTagsOutput) GoString() string { return s.String() } +// Contains the parameters for SetLoadBalancerListenerSSLCertificate. type SetLoadBalancerListenerSSLCertificateInput struct { _ struct{} `type:"structure"` // The name of the load balancer. + // + // LoadBalancerName is a required field LoadBalancerName *string `type:"string" required:"true"` // The port that uses the specified SSL certificate. + // + // LoadBalancerPort is a required field LoadBalancerPort *int64 `type:"integer" required:"true"` // The Amazon Resource Name (ARN) of the SSL certificate. + // + // SSLCertificateId is a required field SSLCertificateId *string `type:"string" required:"true"` } @@ -3207,6 +4608,7 @@ func (s *SetLoadBalancerListenerSSLCertificateInput) Validate() error { return nil } +// Contains the output of SetLoadBalancerListenerSSLCertificate. type SetLoadBalancerListenerSSLCertificateOutput struct { _ struct{} `type:"structure"` } @@ -3221,17 +4623,24 @@ func (s SetLoadBalancerListenerSSLCertificateOutput) GoString() string { return s.String() } +// Contains the parameters for SetLoadBalancerPoliciesForBackendServer. type SetLoadBalancerPoliciesForBackendServerInput struct { _ struct{} `type:"structure"` - // The port number associated with the back-end server. + // The port number associated with the EC2 instance. + // + // InstancePort is a required field InstancePort *int64 `type:"integer" required:"true"` // The name of the load balancer. + // + // LoadBalancerName is a required field LoadBalancerName *string `type:"string" required:"true"` // The names of the policies. If the list is empty, then all current polices - // are removed from the back-end server. + // are removed from the EC2 instance. + // + // PolicyNames is a required field PolicyNames []*string `type:"list" required:"true"` } @@ -3264,6 +4673,7 @@ func (s *SetLoadBalancerPoliciesForBackendServerInput) Validate() error { return nil } +// Contains the output of SetLoadBalancerPoliciesForBackendServer. type SetLoadBalancerPoliciesForBackendServerOutput struct { _ struct{} `type:"structure"` } @@ -3278,17 +4688,25 @@ func (s SetLoadBalancerPoliciesForBackendServerOutput) GoString() string { return s.String() } +// Contains the parameters for SetLoadBalancePoliciesOfListener. type SetLoadBalancerPoliciesOfListenerInput struct { _ struct{} `type:"structure"` // The name of the load balancer. + // + // LoadBalancerName is a required field LoadBalancerName *string `type:"string" required:"true"` - // The external port of the load balancer for the policy. + // The external port of the load balancer. + // + // LoadBalancerPort is a required field LoadBalancerPort *int64 `type:"integer" required:"true"` - // The names of the policies. If the list is empty, the current policy is removed - // from the listener. + // The names of the policies. This list must include all policies to be enabled. + // If you omit a policy that is currently enabled, it is disabled. If the list + // is empty, all current policies are disabled. + // + // PolicyNames is a required field PolicyNames []*string `type:"list" required:"true"` } @@ -3321,6 +4739,7 @@ func (s *SetLoadBalancerPoliciesOfListenerInput) Validate() error { return nil } +// Contains the output of SetLoadBalancePoliciesOfListener. type SetLoadBalancerPoliciesOfListenerOutput struct { _ struct{} `type:"structure"` } @@ -3361,6 +4780,8 @@ type Tag struct { _ struct{} `type:"structure"` // The key of the tag. + // + // Key is a required field Key *string `min:"1" type:"string" required:"true"` // The value of the tag. diff --git a/vendor/github.com/aws/aws-sdk-go/service/elb/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/elb/waiters.go index b1c9a526aaec..89fc1d85b655 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elb/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elb/waiters.go @@ -6,6 +6,10 @@ import ( "github.com/aws/aws-sdk-go/private/waiter" ) +// WaitUntilAnyInstanceInService uses the Elastic Load Balancing API operation +// DescribeInstanceHealth to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *ELB) WaitUntilAnyInstanceInService(input *DescribeInstanceHealthInput) error { waiterCfg := waiter.Config{ Operation: "DescribeInstanceHealth", @@ -29,6 +33,10 @@ func (c *ELB) WaitUntilAnyInstanceInService(input *DescribeInstanceHealthInput) return w.Wait() } +// WaitUntilInstanceDeregistered uses the Elastic Load Balancing API operation +// DescribeInstanceHealth to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *ELB) WaitUntilInstanceDeregistered(input *DescribeInstanceHealthInput) error { waiterCfg := waiter.Config{ Operation: "DescribeInstanceHealth", @@ -58,6 +66,10 @@ func (c *ELB) WaitUntilInstanceDeregistered(input *DescribeInstanceHealthInput) return w.Wait() } +// WaitUntilInstanceInService uses the Elastic Load Balancing API operation +// DescribeInstanceHealth to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *ELB) WaitUntilInstanceInService(input *DescribeInstanceHealthInput) error { waiterCfg := waiter.Config{ Operation: "DescribeInstanceHealth", diff --git a/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go b/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go new file mode 100644 index 000000000000..b1b7acb94abb --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go @@ -0,0 +1,4988 @@ +// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. + +// Package elbv2 provides a client for Elastic Load Balancing. +package elbv2 + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" +) + +const opAddTags = "AddTags" + +// AddTagsRequest generates a "aws/request.Request" representing the +// client's request for the AddTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AddTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AddTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AddTagsRequest method. +// req, resp := client.AddTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) AddTagsRequest(input *AddTagsInput) (req *request.Request, output *AddTagsOutput) { + op := &request.Operation{ + Name: opAddTags, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AddTagsInput{} + } + + req = c.newRequest(op, input, output) + output = &AddTagsOutput{} + req.Data = output + return +} + +// AddTags API operation for Elastic Load Balancing. +// +// Adds the specified tags to the specified resource. You can tag your Application +// load balancers and your target groups. +// +// Each tag consists of a key and an optional value. If a resource already +// has a tag with the same key, AddTags updates its value. +// +// To list the current tags for your resources, use DescribeTags. To remove +// tags from your resources, use RemoveTags. +// +// 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 Elastic Load Balancing's +// API operation AddTags for usage and error information. +// +// Returned Error Codes: +// * DuplicateTagKeys +// A tag key was specified more than once. +// +// * TooManyTags +// You've reached the limit on the number of tags per load balancer. +// +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * TargetGroupNotFound +// The specified target group does not exist. +// +func (c *ELBV2) AddTags(input *AddTagsInput) (*AddTagsOutput, error) { + req, out := c.AddTagsRequest(input) + err := req.Send() + return out, err +} + +const opCreateListener = "CreateListener" + +// CreateListenerRequest generates a "aws/request.Request" representing the +// client's request for the CreateListener operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateListener for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateListener method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateListenerRequest method. +// req, resp := client.CreateListenerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) CreateListenerRequest(input *CreateListenerInput) (req *request.Request, output *CreateListenerOutput) { + op := &request.Operation{ + Name: opCreateListener, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateListenerInput{} + } + + req = c.newRequest(op, input, output) + output = &CreateListenerOutput{} + req.Data = output + return +} + +// CreateListener API operation for Elastic Load Balancing. +// +// Creates a listener for the specified Application load balancer. +// +// To update a listener, use ModifyListener. When you are finished with a listener, +// you can delete it using DeleteListener. If you are finished with both the +// listener and the load balancer, you can delete them both using DeleteLoadBalancer. +// +// For more information, see Listeners for Your Application Load Balancers +// (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html) +// in the Application Load Balancers 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 +// the error. +// +// See the AWS API reference guide for Elastic Load Balancing's +// API operation CreateListener for usage and error information. +// +// Returned Error Codes: +// * DuplicateListener +// A listener with the specified port already exists. +// +// * TooManyListeners +// You've reached the limit on the number of listeners per load balancer. +// +// * TooManyCertificates +// You've reached the limit on the number of certificates per listener. +// +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * TargetGroupNotFound +// The specified target group does not exist. +// +// * TargetGroupAssociationLimit +// You've reached the limit on the number of load balancers per target group. +// +// * InvalidConfigurationRequest +// The requested configuration is not valid. +// +// * IncompatibleProtocols +// The specified configuration is not valid with this protocol. +// +// * SSLPolicyNotFound +// The specified SSL policy does not exist. +// +// * CertificateNotFound +// The specified certificate does not exist. +// +// * UnsupportedProtocol +// The specified protocol is not supported. +// +// * TooManyRegistrationsForTargetId +// You've reached the limit on the number of times a target can be registered +// with a load balancer. +// +func (c *ELBV2) CreateListener(input *CreateListenerInput) (*CreateListenerOutput, error) { + req, out := c.CreateListenerRequest(input) + err := req.Send() + return out, err +} + +const opCreateLoadBalancer = "CreateLoadBalancer" + +// CreateLoadBalancerRequest generates a "aws/request.Request" representing the +// client's request for the CreateLoadBalancer operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateLoadBalancer for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateLoadBalancer method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateLoadBalancerRequest method. +// req, resp := client.CreateLoadBalancerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) CreateLoadBalancerRequest(input *CreateLoadBalancerInput) (req *request.Request, output *CreateLoadBalancerOutput) { + op := &request.Operation{ + Name: opCreateLoadBalancer, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateLoadBalancerInput{} + } + + req = c.newRequest(op, input, output) + output = &CreateLoadBalancerOutput{} + req.Data = output + return +} + +// CreateLoadBalancer API operation for Elastic Load Balancing. +// +// Creates an Application load balancer. +// +// To create listeners for your load balancer, use CreateListener. You can +// add security groups, subnets, and tags when you create your load balancer, +// or you can add them later using SetSecurityGroups, SetSubnets, and AddTags. +// +// To describe your current load balancers, see DescribeLoadBalancers. When +// you are finished with a load balancer, you can delete it using DeleteLoadBalancer. +// +// You can create up to 20 load balancers per region per account. You can request +// an increase for the number of load balancers for your account. For more information, +// see Limits for Your Application Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html) +// in the Application Load Balancers 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 +// the error. +// +// See the AWS API reference guide for Elastic Load Balancing's +// API operation CreateLoadBalancer for usage and error information. +// +// Returned Error Codes: +// * DuplicateLoadBalancerName +// A load balancer with the specified name already exists for this account. +// +// * TooManyLoadBalancers +// You've reached the limit on the number of load balancers for your AWS account. +// +// * InvalidConfigurationRequest +// The requested configuration is not valid. +// +// * SubnetNotFound +// The specified subnet does not exist. +// +// * InvalidSubnet +// The specified subnet is out of available addresses. +// +// * InvalidSecurityGroup +// The specified security group does not exist. +// +// * InvalidScheme +// The requested scheme is not valid. +// +// * TooManyTags +// You've reached the limit on the number of tags per load balancer. +// +// * DuplicateTagKeys +// A tag key was specified more than once. +// +func (c *ELBV2) CreateLoadBalancer(input *CreateLoadBalancerInput) (*CreateLoadBalancerOutput, error) { + req, out := c.CreateLoadBalancerRequest(input) + err := req.Send() + return out, err +} + +const opCreateRule = "CreateRule" + +// CreateRuleRequest generates a "aws/request.Request" representing the +// client's request for the CreateRule operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateRule for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateRule method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateRuleRequest method. +// req, resp := client.CreateRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) CreateRuleRequest(input *CreateRuleInput) (req *request.Request, output *CreateRuleOutput) { + op := &request.Operation{ + Name: opCreateRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateRuleInput{} + } + + req = c.newRequest(op, input, output) + output = &CreateRuleOutput{} + req.Data = output + return +} + +// CreateRule API operation for Elastic Load Balancing. +// +// Creates a rule for the specified listener. +// +// A rule consists conditions and actions. Rules are evaluated in priority +// order, from the lowest value to the highest value. When the conditions for +// a rule are met, the specified actions are taken. If no rule's conditions +// are met, the default actions for the listener are taken. +// +// To view your current rules, use DescribeRules. To update a rule, use ModifyRule. +// To set the priorities of your rules, use SetRulePriorities. To delete a rule, +// use DeleteRule. +// +// 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 Elastic Load Balancing's +// API operation CreateRule for usage and error information. +// +// Returned Error Codes: +// * PriorityInUse +// The specified priority is in use. +// +// * TooManyTargetGroups +// You've reached the limit on the number of target groups for your AWS account. +// +// * TooManyRules +// You've reached the limit on the number of rules per load balancer. +// +// * TargetGroupAssociationLimit +// You've reached the limit on the number of load balancers per target group. +// +// * ListenerNotFound +// The specified listener does not exist. +// +// * TargetGroupNotFound +// The specified target group does not exist. +// +// * InvalidConfigurationRequest +// The requested configuration is not valid. +// +// * TooManyRegistrationsForTargetId +// You've reached the limit on the number of times a target can be registered +// with a load balancer. +// +func (c *ELBV2) CreateRule(input *CreateRuleInput) (*CreateRuleOutput, error) { + req, out := c.CreateRuleRequest(input) + err := req.Send() + return out, err +} + +const opCreateTargetGroup = "CreateTargetGroup" + +// CreateTargetGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateTargetGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateTargetGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateTargetGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateTargetGroupRequest method. +// req, resp := client.CreateTargetGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) CreateTargetGroupRequest(input *CreateTargetGroupInput) (req *request.Request, output *CreateTargetGroupOutput) { + op := &request.Operation{ + Name: opCreateTargetGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateTargetGroupInput{} + } + + req = c.newRequest(op, input, output) + output = &CreateTargetGroupOutput{} + req.Data = output + return +} + +// CreateTargetGroup API operation for Elastic Load Balancing. +// +// Creates a target group. +// +// To register targets with the target group, use RegisterTargets. To update +// the health check settings for the target group, use ModifyTargetGroup. To +// monitor the health of targets in the target group, use DescribeTargetHealth. +// +// To route traffic to the targets in a target group, specify the target group +// in an action using CreateListener or CreateRule. +// +// To delete a target group, use DeleteTargetGroup. +// +// For more information, see Target Groups for Your Application Load Balancers +// (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html) +// in the Application Load Balancers 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 +// the error. +// +// See the AWS API reference guide for Elastic Load Balancing's +// API operation CreateTargetGroup for usage and error information. +// +// Returned Error Codes: +// * DuplicateTargetGroupName +// A target group with the specified name already exists. +// +// * TooManyTargetGroups +// You've reached the limit on the number of target groups for your AWS account. +// +func (c *ELBV2) CreateTargetGroup(input *CreateTargetGroupInput) (*CreateTargetGroupOutput, error) { + req, out := c.CreateTargetGroupRequest(input) + err := req.Send() + return out, err +} + +const opDeleteListener = "DeleteListener" + +// DeleteListenerRequest generates a "aws/request.Request" representing the +// client's request for the DeleteListener operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteListener for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteListener method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteListenerRequest method. +// req, resp := client.DeleteListenerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) DeleteListenerRequest(input *DeleteListenerInput) (req *request.Request, output *DeleteListenerOutput) { + op := &request.Operation{ + Name: opDeleteListener, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteListenerInput{} + } + + req = c.newRequest(op, input, output) + output = &DeleteListenerOutput{} + req.Data = output + return +} + +// DeleteListener API operation for Elastic Load Balancing. +// +// Deletes the specified listener. +// +// Alternatively, your listener is deleted when you delete the load balancer +// it is attached to using DeleteLoadBalancer. +// +// 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 Elastic Load Balancing's +// API operation DeleteListener for usage and error information. +// +// Returned Error Codes: +// * ListenerNotFound +// The specified listener does not exist. +// +func (c *ELBV2) DeleteListener(input *DeleteListenerInput) (*DeleteListenerOutput, error) { + req, out := c.DeleteListenerRequest(input) + err := req.Send() + return out, err +} + +const opDeleteLoadBalancer = "DeleteLoadBalancer" + +// DeleteLoadBalancerRequest generates a "aws/request.Request" representing the +// client's request for the DeleteLoadBalancer operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteLoadBalancer for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteLoadBalancer method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteLoadBalancerRequest method. +// req, resp := client.DeleteLoadBalancerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) DeleteLoadBalancerRequest(input *DeleteLoadBalancerInput) (req *request.Request, output *DeleteLoadBalancerOutput) { + op := &request.Operation{ + Name: opDeleteLoadBalancer, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteLoadBalancerInput{} + } + + req = c.newRequest(op, input, output) + output = &DeleteLoadBalancerOutput{} + req.Data = output + return +} + +// DeleteLoadBalancer API operation for Elastic Load Balancing. +// +// Deletes the specified load balancer and its attached listeners. +// +// You can't delete a load balancer if deletion protection is enabled. If the +// load balancer does not exist or has already been deleted, the call succeeds. +// +// Deleting a load balancer does not affect its registered targets. For example, +// your EC2 instances continue to run and are still registered to their target +// groups. If you no longer need these EC2 instances, you can stop or terminate +// them. +// +// 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 Elastic Load Balancing's +// API operation DeleteLoadBalancer for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * OperationNotPermitted +// This operation is not allowed. +// +func (c *ELBV2) DeleteLoadBalancer(input *DeleteLoadBalancerInput) (*DeleteLoadBalancerOutput, error) { + req, out := c.DeleteLoadBalancerRequest(input) + err := req.Send() + return out, err +} + +const opDeleteRule = "DeleteRule" + +// DeleteRuleRequest generates a "aws/request.Request" representing the +// client's request for the DeleteRule operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteRule for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteRule method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteRuleRequest method. +// req, resp := client.DeleteRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) DeleteRuleRequest(input *DeleteRuleInput) (req *request.Request, output *DeleteRuleOutput) { + op := &request.Operation{ + Name: opDeleteRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteRuleInput{} + } + + req = c.newRequest(op, input, output) + output = &DeleteRuleOutput{} + req.Data = output + return +} + +// DeleteRule API operation for Elastic Load Balancing. +// +// Deletes the specified rule. +// +// 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 Elastic Load Balancing's +// API operation DeleteRule for usage and error information. +// +// Returned Error Codes: +// * RuleNotFound +// The specified rule does not exist. +// +// * OperationNotPermitted +// This operation is not allowed. +// +func (c *ELBV2) DeleteRule(input *DeleteRuleInput) (*DeleteRuleOutput, error) { + req, out := c.DeleteRuleRequest(input) + err := req.Send() + return out, err +} + +const opDeleteTargetGroup = "DeleteTargetGroup" + +// DeleteTargetGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTargetGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteTargetGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteTargetGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteTargetGroupRequest method. +// req, resp := client.DeleteTargetGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) DeleteTargetGroupRequest(input *DeleteTargetGroupInput) (req *request.Request, output *DeleteTargetGroupOutput) { + op := &request.Operation{ + Name: opDeleteTargetGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteTargetGroupInput{} + } + + req = c.newRequest(op, input, output) + output = &DeleteTargetGroupOutput{} + req.Data = output + return +} + +// DeleteTargetGroup API operation for Elastic Load Balancing. +// +// Deletes the specified target group. +// +// You can delete a target group if it is not referenced by any actions. Deleting +// a target group also deletes any associated health checks. +// +// 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 Elastic Load Balancing's +// API operation DeleteTargetGroup for usage and error information. +// +// Returned Error Codes: +// * ResourceInUse +// A specified resource is in use. +// +func (c *ELBV2) DeleteTargetGroup(input *DeleteTargetGroupInput) (*DeleteTargetGroupOutput, error) { + req, out := c.DeleteTargetGroupRequest(input) + err := req.Send() + return out, err +} + +const opDeregisterTargets = "DeregisterTargets" + +// DeregisterTargetsRequest generates a "aws/request.Request" representing the +// client's request for the DeregisterTargets operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeregisterTargets for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeregisterTargets method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeregisterTargetsRequest method. +// req, resp := client.DeregisterTargetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) DeregisterTargetsRequest(input *DeregisterTargetsInput) (req *request.Request, output *DeregisterTargetsOutput) { + op := &request.Operation{ + Name: opDeregisterTargets, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeregisterTargetsInput{} + } + + req = c.newRequest(op, input, output) + output = &DeregisterTargetsOutput{} + req.Data = output + return +} + +// DeregisterTargets API operation for Elastic Load Balancing. +// +// Deregisters the specified targets from the specified target group. After +// the targets are deregistered, they no longer receive traffic from the load +// balancer. +// +// 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 Elastic Load Balancing's +// API operation DeregisterTargets for usage and error information. +// +// Returned Error Codes: +// * TargetGroupNotFound +// The specified target group does not exist. +// +// * InvalidTarget +// The specified target does not exist or is not in the same VPC as the target +// group. +// +func (c *ELBV2) DeregisterTargets(input *DeregisterTargetsInput) (*DeregisterTargetsOutput, error) { + req, out := c.DeregisterTargetsRequest(input) + err := req.Send() + return out, err +} + +const opDescribeListeners = "DescribeListeners" + +// DescribeListenersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeListeners operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeListeners for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeListeners method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeListenersRequest method. +// req, resp := client.DescribeListenersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) DescribeListenersRequest(input *DescribeListenersInput) (req *request.Request, output *DescribeListenersOutput) { + op := &request.Operation{ + Name: opDescribeListeners, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"NextMarker"}, + LimitToken: "", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeListenersInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeListenersOutput{} + req.Data = output + return +} + +// DescribeListeners API operation for Elastic Load Balancing. +// +// Describes the specified listeners or the listeners for the specified load +// balancer. You must specify either a load balancer or one or more listeners. +// +// 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 Elastic Load Balancing's +// API operation DescribeListeners for usage and error information. +// +// Returned Error Codes: +// * ListenerNotFound +// The specified listener does not exist. +// +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +func (c *ELBV2) DescribeListeners(input *DescribeListenersInput) (*DescribeListenersOutput, error) { + req, out := c.DescribeListenersRequest(input) + err := req.Send() + return out, err +} + +// DescribeListenersPages iterates over the pages of a DescribeListeners operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeListeners 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 DescribeListeners operation. +// pageNum := 0 +// err := client.DescribeListenersPages(params, +// func(page *DescribeListenersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ELBV2) DescribeListenersPages(input *DescribeListenersInput, fn func(p *DescribeListenersOutput, lastPage bool) (shouldContinue bool)) error { + page, _ := c.DescribeListenersRequest(input) + page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) + return page.EachPage(func(p interface{}, lastPage bool) bool { + return fn(p.(*DescribeListenersOutput), lastPage) + }) +} + +const opDescribeLoadBalancerAttributes = "DescribeLoadBalancerAttributes" + +// DescribeLoadBalancerAttributesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeLoadBalancerAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeLoadBalancerAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeLoadBalancerAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeLoadBalancerAttributesRequest method. +// req, resp := client.DescribeLoadBalancerAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) DescribeLoadBalancerAttributesRequest(input *DescribeLoadBalancerAttributesInput) (req *request.Request, output *DescribeLoadBalancerAttributesOutput) { + op := &request.Operation{ + Name: opDescribeLoadBalancerAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeLoadBalancerAttributesInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeLoadBalancerAttributesOutput{} + req.Data = output + return +} + +// DescribeLoadBalancerAttributes API operation for Elastic Load Balancing. +// +// Describes the attributes for the specified load balancer. +// +// 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 Elastic Load Balancing's +// API operation DescribeLoadBalancerAttributes for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +func (c *ELBV2) DescribeLoadBalancerAttributes(input *DescribeLoadBalancerAttributesInput) (*DescribeLoadBalancerAttributesOutput, error) { + req, out := c.DescribeLoadBalancerAttributesRequest(input) + err := req.Send() + return out, err +} + +const opDescribeLoadBalancers = "DescribeLoadBalancers" + +// DescribeLoadBalancersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeLoadBalancers operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeLoadBalancers for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeLoadBalancers method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeLoadBalancersRequest method. +// req, resp := client.DescribeLoadBalancersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) DescribeLoadBalancersRequest(input *DescribeLoadBalancersInput) (req *request.Request, output *DescribeLoadBalancersOutput) { + op := &request.Operation{ + Name: opDescribeLoadBalancers, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"NextMarker"}, + LimitToken: "", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeLoadBalancersInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeLoadBalancersOutput{} + req.Data = output + return +} + +// DescribeLoadBalancers API operation for Elastic Load Balancing. +// +// Describes the specified Application load balancers or all of your Application +// load balancers. +// +// To describe the listeners for a load balancer, use DescribeListeners. To +// describe the attributes for a load balancer, use DescribeLoadBalancerAttributes. +// +// 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 Elastic Load Balancing's +// API operation DescribeLoadBalancers for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +func (c *ELBV2) DescribeLoadBalancers(input *DescribeLoadBalancersInput) (*DescribeLoadBalancersOutput, error) { + req, out := c.DescribeLoadBalancersRequest(input) + err := req.Send() + return out, err +} + +// DescribeLoadBalancersPages iterates over the pages of a DescribeLoadBalancers operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeLoadBalancers 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 DescribeLoadBalancers operation. +// pageNum := 0 +// err := client.DescribeLoadBalancersPages(params, +// func(page *DescribeLoadBalancersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ELBV2) DescribeLoadBalancersPages(input *DescribeLoadBalancersInput, fn func(p *DescribeLoadBalancersOutput, lastPage bool) (shouldContinue bool)) error { + page, _ := c.DescribeLoadBalancersRequest(input) + page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) + return page.EachPage(func(p interface{}, lastPage bool) bool { + return fn(p.(*DescribeLoadBalancersOutput), lastPage) + }) +} + +const opDescribeRules = "DescribeRules" + +// DescribeRulesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeRules operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeRules for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeRules method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeRulesRequest method. +// req, resp := client.DescribeRulesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) DescribeRulesRequest(input *DescribeRulesInput) (req *request.Request, output *DescribeRulesOutput) { + op := &request.Operation{ + Name: opDescribeRules, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeRulesInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeRulesOutput{} + req.Data = output + return +} + +// DescribeRules API operation for Elastic Load Balancing. +// +// Describes the specified rules or the rules for the specified listener. You +// must specify either a listener or one or more rules. +// +// 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 Elastic Load Balancing's +// API operation DescribeRules for usage and error information. +// +// Returned Error Codes: +// * ListenerNotFound +// The specified listener does not exist. +// +// * RuleNotFound +// The specified rule does not exist. +// +func (c *ELBV2) DescribeRules(input *DescribeRulesInput) (*DescribeRulesOutput, error) { + req, out := c.DescribeRulesRequest(input) + err := req.Send() + return out, err +} + +const opDescribeSSLPolicies = "DescribeSSLPolicies" + +// DescribeSSLPoliciesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSSLPolicies operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeSSLPolicies for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeSSLPolicies method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeSSLPoliciesRequest method. +// req, resp := client.DescribeSSLPoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) DescribeSSLPoliciesRequest(input *DescribeSSLPoliciesInput) (req *request.Request, output *DescribeSSLPoliciesOutput) { + op := &request.Operation{ + Name: opDescribeSSLPolicies, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeSSLPoliciesInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeSSLPoliciesOutput{} + req.Data = output + return +} + +// DescribeSSLPolicies API operation for Elastic Load Balancing. +// +// Describes the specified policies or all policies used for SSL negotiation. +// +// Note that the only supported policy at this time is ELBSecurityPolicy-2015-05. +// +// 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 Elastic Load Balancing's +// API operation DescribeSSLPolicies for usage and error information. +// +// Returned Error Codes: +// * SSLPolicyNotFound +// The specified SSL policy does not exist. +// +func (c *ELBV2) DescribeSSLPolicies(input *DescribeSSLPoliciesInput) (*DescribeSSLPoliciesOutput, error) { + req, out := c.DescribeSSLPoliciesRequest(input) + err := req.Send() + return out, err +} + +const opDescribeTags = "DescribeTags" + +// DescribeTagsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeTagsRequest method. +// req, resp := client.DescribeTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) { + op := &request.Operation{ + Name: opDescribeTags, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeTagsInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeTagsOutput{} + req.Data = output + return +} + +// DescribeTags API operation for Elastic Load Balancing. +// +// Describes the tags for the specified resources. +// +// 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 Elastic Load Balancing's +// API operation DescribeTags for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * TargetGroupNotFound +// The specified target group does not exist. +// +// * ListenerNotFound +// The specified listener does not exist. +// +// * RuleNotFound +// The specified rule does not exist. +// +func (c *ELBV2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) { + req, out := c.DescribeTagsRequest(input) + err := req.Send() + return out, err +} + +const opDescribeTargetGroupAttributes = "DescribeTargetGroupAttributes" + +// DescribeTargetGroupAttributesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTargetGroupAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeTargetGroupAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeTargetGroupAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeTargetGroupAttributesRequest method. +// req, resp := client.DescribeTargetGroupAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) DescribeTargetGroupAttributesRequest(input *DescribeTargetGroupAttributesInput) (req *request.Request, output *DescribeTargetGroupAttributesOutput) { + op := &request.Operation{ + Name: opDescribeTargetGroupAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeTargetGroupAttributesInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeTargetGroupAttributesOutput{} + req.Data = output + return +} + +// DescribeTargetGroupAttributes API operation for Elastic Load Balancing. +// +// Describes the attributes for the specified target group. +// +// 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 Elastic Load Balancing's +// API operation DescribeTargetGroupAttributes for usage and error information. +// +// Returned Error Codes: +// * TargetGroupNotFound +// The specified target group does not exist. +// +func (c *ELBV2) DescribeTargetGroupAttributes(input *DescribeTargetGroupAttributesInput) (*DescribeTargetGroupAttributesOutput, error) { + req, out := c.DescribeTargetGroupAttributesRequest(input) + err := req.Send() + return out, err +} + +const opDescribeTargetGroups = "DescribeTargetGroups" + +// DescribeTargetGroupsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTargetGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeTargetGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeTargetGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeTargetGroupsRequest method. +// req, resp := client.DescribeTargetGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) DescribeTargetGroupsRequest(input *DescribeTargetGroupsInput) (req *request.Request, output *DescribeTargetGroupsOutput) { + op := &request.Operation{ + Name: opDescribeTargetGroups, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"NextMarker"}, + LimitToken: "", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeTargetGroupsInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeTargetGroupsOutput{} + req.Data = output + return +} + +// DescribeTargetGroups API operation for Elastic Load Balancing. +// +// Describes the specified target groups or all of your target groups. By default, +// all target groups are described. Alternatively, you can specify one of the +// following to filter the results: the ARN of the load balancer, the names +// of one or more target groups, or the ARNs of one or more target groups. +// +// To describe the targets for a target group, use DescribeTargetHealth. To +// describe the attributes of a target group, use DescribeTargetGroupAttributes. +// +// 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 Elastic Load Balancing's +// API operation DescribeTargetGroups for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * TargetGroupNotFound +// The specified target group does not exist. +// +func (c *ELBV2) DescribeTargetGroups(input *DescribeTargetGroupsInput) (*DescribeTargetGroupsOutput, error) { + req, out := c.DescribeTargetGroupsRequest(input) + err := req.Send() + return out, err +} + +// DescribeTargetGroupsPages iterates over the pages of a DescribeTargetGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeTargetGroups 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 DescribeTargetGroups operation. +// pageNum := 0 +// err := client.DescribeTargetGroupsPages(params, +// func(page *DescribeTargetGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ELBV2) DescribeTargetGroupsPages(input *DescribeTargetGroupsInput, fn func(p *DescribeTargetGroupsOutput, lastPage bool) (shouldContinue bool)) error { + page, _ := c.DescribeTargetGroupsRequest(input) + page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) + return page.EachPage(func(p interface{}, lastPage bool) bool { + return fn(p.(*DescribeTargetGroupsOutput), lastPage) + }) +} + +const opDescribeTargetHealth = "DescribeTargetHealth" + +// DescribeTargetHealthRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTargetHealth operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeTargetHealth for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeTargetHealth method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeTargetHealthRequest method. +// req, resp := client.DescribeTargetHealthRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) DescribeTargetHealthRequest(input *DescribeTargetHealthInput) (req *request.Request, output *DescribeTargetHealthOutput) { + op := &request.Operation{ + Name: opDescribeTargetHealth, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeTargetHealthInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeTargetHealthOutput{} + req.Data = output + return +} + +// DescribeTargetHealth API operation for Elastic Load Balancing. +// +// Describes the health of the specified targets or all of your targets. +// +// 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 Elastic Load Balancing's +// API operation DescribeTargetHealth for usage and error information. +// +// Returned Error Codes: +// * InvalidTarget +// The specified target does not exist or is not in the same VPC as the target +// group. +// +// * TargetGroupNotFound +// The specified target group does not exist. +// +// * HealthUnavailable +// The health of the specified targets could not be retrieved due to an internal +// error. +// +func (c *ELBV2) DescribeTargetHealth(input *DescribeTargetHealthInput) (*DescribeTargetHealthOutput, error) { + req, out := c.DescribeTargetHealthRequest(input) + err := req.Send() + return out, err +} + +const opModifyListener = "ModifyListener" + +// ModifyListenerRequest generates a "aws/request.Request" representing the +// client's request for the ModifyListener operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyListener for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyListener method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyListenerRequest method. +// req, resp := client.ModifyListenerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) ModifyListenerRequest(input *ModifyListenerInput) (req *request.Request, output *ModifyListenerOutput) { + op := &request.Operation{ + Name: opModifyListener, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyListenerInput{} + } + + req = c.newRequest(op, input, output) + output = &ModifyListenerOutput{} + req.Data = output + return +} + +// ModifyListener API operation for Elastic Load Balancing. +// +// Modifies the specified properties of the specified listener. +// +// Any properties that you do not specify retain their current values. However, +// changing the protocol from HTTPS to HTTP removes the security policy and +// SSL certificate properties. If you change the protocol from HTTP to HTTPS, +// you must add the security policy. +// +// 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 Elastic Load Balancing's +// API operation ModifyListener for usage and error information. +// +// Returned Error Codes: +// * DuplicateListener +// A listener with the specified port already exists. +// +// * TooManyListeners +// You've reached the limit on the number of listeners per load balancer. +// +// * TooManyCertificates +// You've reached the limit on the number of certificates per listener. +// +// * ListenerNotFound +// The specified listener does not exist. +// +// * TargetGroupNotFound +// The specified target group does not exist. +// +// * TargetGroupAssociationLimit +// You've reached the limit on the number of load balancers per target group. +// +// * IncompatibleProtocols +// The specified configuration is not valid with this protocol. +// +// * SSLPolicyNotFound +// The specified SSL policy does not exist. +// +// * CertificateNotFound +// The specified certificate does not exist. +// +// * InvalidConfigurationRequest +// The requested configuration is not valid. +// +// * UnsupportedProtocol +// The specified protocol is not supported. +// +// * TooManyRegistrationsForTargetId +// You've reached the limit on the number of times a target can be registered +// with a load balancer. +// +func (c *ELBV2) ModifyListener(input *ModifyListenerInput) (*ModifyListenerOutput, error) { + req, out := c.ModifyListenerRequest(input) + err := req.Send() + return out, err +} + +const opModifyLoadBalancerAttributes = "ModifyLoadBalancerAttributes" + +// ModifyLoadBalancerAttributesRequest generates a "aws/request.Request" representing the +// client's request for the ModifyLoadBalancerAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyLoadBalancerAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyLoadBalancerAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyLoadBalancerAttributesRequest method. +// req, resp := client.ModifyLoadBalancerAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) ModifyLoadBalancerAttributesRequest(input *ModifyLoadBalancerAttributesInput) (req *request.Request, output *ModifyLoadBalancerAttributesOutput) { + op := &request.Operation{ + Name: opModifyLoadBalancerAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyLoadBalancerAttributesInput{} + } + + req = c.newRequest(op, input, output) + output = &ModifyLoadBalancerAttributesOutput{} + req.Data = output + return +} + +// ModifyLoadBalancerAttributes API operation for Elastic Load Balancing. +// +// Modifies the specified attributes of the specified load balancer. +// +// If any of the specified attributes can't be modified as requested, the call +// fails. Any existing attributes that you do not modify retain their current +// values. +// +// 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 Elastic Load Balancing's +// API operation ModifyLoadBalancerAttributes for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * InvalidConfigurationRequest +// The requested configuration is not valid. +// +func (c *ELBV2) ModifyLoadBalancerAttributes(input *ModifyLoadBalancerAttributesInput) (*ModifyLoadBalancerAttributesOutput, error) { + req, out := c.ModifyLoadBalancerAttributesRequest(input) + err := req.Send() + return out, err +} + +const opModifyRule = "ModifyRule" + +// ModifyRuleRequest generates a "aws/request.Request" representing the +// client's request for the ModifyRule operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyRule for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyRule method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyRuleRequest method. +// req, resp := client.ModifyRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) ModifyRuleRequest(input *ModifyRuleInput) (req *request.Request, output *ModifyRuleOutput) { + op := &request.Operation{ + Name: opModifyRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyRuleInput{} + } + + req = c.newRequest(op, input, output) + output = &ModifyRuleOutput{} + req.Data = output + return +} + +// ModifyRule API operation for Elastic Load Balancing. +// +// Modifies the specified rule. +// +// Any existing properties that you do not modify retain their current values. +// +// To modify the default action, use ModifyListener. +// +// 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 Elastic Load Balancing's +// API operation ModifyRule for usage and error information. +// +// Returned Error Codes: +// * TargetGroupAssociationLimit +// You've reached the limit on the number of load balancers per target group. +// +// * RuleNotFound +// The specified rule does not exist. +// +// * OperationNotPermitted +// This operation is not allowed. +// +// * TooManyRegistrationsForTargetId +// You've reached the limit on the number of times a target can be registered +// with a load balancer. +// +func (c *ELBV2) ModifyRule(input *ModifyRuleInput) (*ModifyRuleOutput, error) { + req, out := c.ModifyRuleRequest(input) + err := req.Send() + return out, err +} + +const opModifyTargetGroup = "ModifyTargetGroup" + +// ModifyTargetGroupRequest generates a "aws/request.Request" representing the +// client's request for the ModifyTargetGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyTargetGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyTargetGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyTargetGroupRequest method. +// req, resp := client.ModifyTargetGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) ModifyTargetGroupRequest(input *ModifyTargetGroupInput) (req *request.Request, output *ModifyTargetGroupOutput) { + op := &request.Operation{ + Name: opModifyTargetGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyTargetGroupInput{} + } + + req = c.newRequest(op, input, output) + output = &ModifyTargetGroupOutput{} + req.Data = output + return +} + +// ModifyTargetGroup API operation for Elastic Load Balancing. +// +// Modifies the health checks used when evaluating the health state of the targets +// in the specified target group. +// +// To monitor the health of the targets, use DescribeTargetHealth. +// +// 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 Elastic Load Balancing's +// API operation ModifyTargetGroup for usage and error information. +// +// Returned Error Codes: +// * TargetGroupNotFound +// The specified target group does not exist. +// +func (c *ELBV2) ModifyTargetGroup(input *ModifyTargetGroupInput) (*ModifyTargetGroupOutput, error) { + req, out := c.ModifyTargetGroupRequest(input) + err := req.Send() + return out, err +} + +const opModifyTargetGroupAttributes = "ModifyTargetGroupAttributes" + +// ModifyTargetGroupAttributesRequest generates a "aws/request.Request" representing the +// client's request for the ModifyTargetGroupAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyTargetGroupAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyTargetGroupAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyTargetGroupAttributesRequest method. +// req, resp := client.ModifyTargetGroupAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) ModifyTargetGroupAttributesRequest(input *ModifyTargetGroupAttributesInput) (req *request.Request, output *ModifyTargetGroupAttributesOutput) { + op := &request.Operation{ + Name: opModifyTargetGroupAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyTargetGroupAttributesInput{} + } + + req = c.newRequest(op, input, output) + output = &ModifyTargetGroupAttributesOutput{} + req.Data = output + return +} + +// ModifyTargetGroupAttributes API operation for Elastic Load Balancing. +// +// Modifies the specified attributes of the specified target group. +// +// 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 Elastic Load Balancing's +// API operation ModifyTargetGroupAttributes for usage and error information. +// +// Returned Error Codes: +// * TargetGroupNotFound +// The specified target group does not exist. +// +func (c *ELBV2) ModifyTargetGroupAttributes(input *ModifyTargetGroupAttributesInput) (*ModifyTargetGroupAttributesOutput, error) { + req, out := c.ModifyTargetGroupAttributesRequest(input) + err := req.Send() + return out, err +} + +const opRegisterTargets = "RegisterTargets" + +// RegisterTargetsRequest generates a "aws/request.Request" representing the +// client's request for the RegisterTargets operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RegisterTargets for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RegisterTargets method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RegisterTargetsRequest method. +// req, resp := client.RegisterTargetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) RegisterTargetsRequest(input *RegisterTargetsInput) (req *request.Request, output *RegisterTargetsOutput) { + op := &request.Operation{ + Name: opRegisterTargets, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RegisterTargetsInput{} + } + + req = c.newRequest(op, input, output) + output = &RegisterTargetsOutput{} + req.Data = output + return +} + +// RegisterTargets API operation for Elastic Load Balancing. +// +// Registers the specified targets with the specified target group. +// +// The target must be in the virtual private cloud (VPC) that you specified +// for the target group. +// +// To remove a target from a target group, use DeregisterTargets. +// +// 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 Elastic Load Balancing's +// API operation RegisterTargets for usage and error information. +// +// Returned Error Codes: +// * TargetGroupNotFound +// The specified target group does not exist. +// +// * TooManyTargets +// You've reached the limit on the number of targets. +// +// * InvalidTarget +// The specified target does not exist or is not in the same VPC as the target +// group. +// +// * TooManyRegistrationsForTargetId +// You've reached the limit on the number of times a target can be registered +// with a load balancer. +// +func (c *ELBV2) RegisterTargets(input *RegisterTargetsInput) (*RegisterTargetsOutput, error) { + req, out := c.RegisterTargetsRequest(input) + err := req.Send() + return out, err +} + +const opRemoveTags = "RemoveTags" + +// RemoveTagsRequest generates a "aws/request.Request" representing the +// client's request for the RemoveTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RemoveTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RemoveTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RemoveTagsRequest method. +// req, resp := client.RemoveTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, output *RemoveTagsOutput) { + op := &request.Operation{ + Name: opRemoveTags, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RemoveTagsInput{} + } + + req = c.newRequest(op, input, output) + output = &RemoveTagsOutput{} + req.Data = output + return +} + +// RemoveTags API operation for Elastic Load Balancing. +// +// Removes the specified tags from the specified resource. +// +// To list the current tags for your resources, use DescribeTags. +// +// 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 Elastic Load Balancing's +// API operation RemoveTags for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * TargetGroupNotFound +// The specified target group does not exist. +// +// * ListenerNotFound +// The specified listener does not exist. +// +// * RuleNotFound +// The specified rule does not exist. +// +// * TooManyTags +// You've reached the limit on the number of tags per load balancer. +// +func (c *ELBV2) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, error) { + req, out := c.RemoveTagsRequest(input) + err := req.Send() + return out, err +} + +const opSetRulePriorities = "SetRulePriorities" + +// SetRulePrioritiesRequest generates a "aws/request.Request" representing the +// client's request for the SetRulePriorities operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetRulePriorities for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetRulePriorities method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetRulePrioritiesRequest method. +// req, resp := client.SetRulePrioritiesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) SetRulePrioritiesRequest(input *SetRulePrioritiesInput) (req *request.Request, output *SetRulePrioritiesOutput) { + op := &request.Operation{ + Name: opSetRulePriorities, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SetRulePrioritiesInput{} + } + + req = c.newRequest(op, input, output) + output = &SetRulePrioritiesOutput{} + req.Data = output + return +} + +// SetRulePriorities API operation for Elastic Load Balancing. +// +// Sets the priorities of the specified rules. +// +// You can reorder the rules as long as there are no priority conflicts in +// the new order. Any existing rules that you do not specify retain their current +// priority. +// +// 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 Elastic Load Balancing's +// API operation SetRulePriorities for usage and error information. +// +// Returned Error Codes: +// * RuleNotFound +// The specified rule does not exist. +// +// * PriorityInUse +// The specified priority is in use. +// +// * OperationNotPermitted +// This operation is not allowed. +// +func (c *ELBV2) SetRulePriorities(input *SetRulePrioritiesInput) (*SetRulePrioritiesOutput, error) { + req, out := c.SetRulePrioritiesRequest(input) + err := req.Send() + return out, err +} + +const opSetSecurityGroups = "SetSecurityGroups" + +// SetSecurityGroupsRequest generates a "aws/request.Request" representing the +// client's request for the SetSecurityGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetSecurityGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetSecurityGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetSecurityGroupsRequest method. +// req, resp := client.SetSecurityGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) SetSecurityGroupsRequest(input *SetSecurityGroupsInput) (req *request.Request, output *SetSecurityGroupsOutput) { + op := &request.Operation{ + Name: opSetSecurityGroups, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SetSecurityGroupsInput{} + } + + req = c.newRequest(op, input, output) + output = &SetSecurityGroupsOutput{} + req.Data = output + return +} + +// SetSecurityGroups API operation for Elastic Load Balancing. +// +// Associates the specified security groups with the specified load balancer. +// The specified security groups override the previously associated security +// groups. +// +// 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 Elastic Load Balancing's +// API operation SetSecurityGroups for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * InvalidConfigurationRequest +// The requested configuration is not valid. +// +// * InvalidSecurityGroup +// The specified security group does not exist. +// +func (c *ELBV2) SetSecurityGroups(input *SetSecurityGroupsInput) (*SetSecurityGroupsOutput, error) { + req, out := c.SetSecurityGroupsRequest(input) + err := req.Send() + return out, err +} + +const opSetSubnets = "SetSubnets" + +// SetSubnetsRequest generates a "aws/request.Request" representing the +// client's request for the SetSubnets operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetSubnets for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetSubnets method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetSubnetsRequest method. +// req, resp := client.SetSubnetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *ELBV2) SetSubnetsRequest(input *SetSubnetsInput) (req *request.Request, output *SetSubnetsOutput) { + op := &request.Operation{ + Name: opSetSubnets, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SetSubnetsInput{} + } + + req = c.newRequest(op, input, output) + output = &SetSubnetsOutput{} + req.Data = output + return +} + +// SetSubnets API operation for Elastic Load Balancing. +// +// Enables the Availability Zone for the specified subnets for the specified +// load balancer. The specified subnets replace the previously enabled subnets. +// +// 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 Elastic Load Balancing's +// API operation SetSubnets for usage and error information. +// +// Returned Error Codes: +// * LoadBalancerNotFound +// The specified load balancer does not exist. +// +// * InvalidConfigurationRequest +// The requested configuration is not valid. +// +// * SubnetNotFound +// The specified subnet does not exist. +// +// * InvalidSubnet +// The specified subnet is out of available addresses. +// +func (c *ELBV2) SetSubnets(input *SetSubnetsInput) (*SetSubnetsOutput, error) { + req, out := c.SetSubnetsRequest(input) + err := req.Send() + return out, err +} + +// Information about an action. +type Action struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the target group. + // + // TargetGroupArn is a required field + TargetGroupArn *string `type:"string" required:"true"` + + // The type of action. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"ActionTypeEnum"` +} + +// String returns the string representation +func (s Action) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Action) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Action) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Action"} + if s.TargetGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("TargetGroupArn")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the parameters for AddTags. +type AddTagsInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource. + // + // ResourceArns is a required field + ResourceArns []*string `type:"list" required:"true"` + + // The tags. Each resource can have a maximum of 10 tags. + // + // Tags is a required field + Tags []*Tag `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s AddTagsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddTagsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddTagsInput"} + if s.ResourceArns == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArns")) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of AddTags. +type AddTagsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AddTagsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddTagsOutput) GoString() string { + return s.String() +} + +// Information about an Availability Zone. +type AvailabilityZone struct { + _ struct{} `type:"structure"` + + // The ID of the subnet. + SubnetId *string `type:"string"` + + // The name of the Availability Zone. + ZoneName *string `type:"string"` +} + +// String returns the string representation +func (s AvailabilityZone) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AvailabilityZone) GoString() string { + return s.String() +} + +// Information about an SSL server certificate deployed on a load balancer. +type Certificate struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the certificate. + CertificateArn *string `type:"string"` +} + +// String returns the string representation +func (s Certificate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Certificate) GoString() string { + return s.String() +} + +// Information about a cipher used in a policy. +type Cipher struct { + _ struct{} `type:"structure"` + + // The name of the cipher. + Name *string `type:"string"` + + // The priority of the cipher. + Priority *int64 `type:"integer"` +} + +// String returns the string representation +func (s Cipher) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Cipher) GoString() string { + return s.String() +} + +// Contains the parameters for CreateListener. +type CreateListenerInput struct { + _ struct{} `type:"structure"` + + // The SSL server certificate. You must provide exactly one certificate if the + // protocol is HTTPS. + Certificates []*Certificate `type:"list"` + + // The default actions for the listener. + // + // DefaultActions is a required field + DefaultActions []*Action `type:"list" required:"true"` + + // The Amazon Resource Name (ARN) of the load balancer. + // + // LoadBalancerArn is a required field + LoadBalancerArn *string `type:"string" required:"true"` + + // The port on which the load balancer is listening. + // + // Port is a required field + Port *int64 `min:"1" type:"integer" required:"true"` + + // The protocol for connections from clients to the load balancer. + // + // Protocol is a required field + Protocol *string `type:"string" required:"true" enum:"ProtocolEnum"` + + // The security policy that defines which ciphers and protocols are supported. + // The default is the current predefined security policy. + SslPolicy *string `type:"string"` +} + +// String returns the string representation +func (s CreateListenerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateListenerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateListenerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateListenerInput"} + if s.DefaultActions == nil { + invalidParams.Add(request.NewErrParamRequired("DefaultActions")) + } + if s.LoadBalancerArn == nil { + invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn")) + } + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) + } + if s.DefaultActions != nil { + for i, v := range s.DefaultActions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultActions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of CreateListener. +type CreateListenerOutput struct { + _ struct{} `type:"structure"` + + // Information about the listener. + Listeners []*Listener `type:"list"` +} + +// String returns the string representation +func (s CreateListenerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateListenerOutput) GoString() string { + return s.String() +} + +// Contains the parameters for CreateLoadBalancer. +type CreateLoadBalancerInput struct { + _ struct{} `type:"structure"` + + // The name of the load balancer. + // + // This name must be unique within your AWS account, can have a maximum of + // 32 characters, must contain only alphanumeric characters or hyphens, and + // must not begin or end with a hyphen. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The nodes of an Internet-facing load balancer have public IP addresses. The + // DNS name of an Internet-facing load balancer is publicly resolvable to the + // public IP addresses of the nodes. Therefore, Internet-facing load balancers + // can route requests from clients over the Internet. + // + // The nodes of an internal load balancer have only private IP addresses. The + // DNS name of an internal load balancer is publicly resolvable to the private + // IP addresses of the nodes. Therefore, internal load balancers can only route + // requests from clients with access to the VPC for the load balancer. + // + // The default is an Internet-facing load balancer. + Scheme *string `type:"string" enum:"LoadBalancerSchemeEnum"` + + // The IDs of the security groups to assign to the load balancer. + SecurityGroups []*string `type:"list"` + + // The IDs of the subnets to attach to the load balancer. You can specify only + // one subnet per Availability Zone. You must specify subnets from at least + // two Availability Zones. + // + // Subnets is a required field + Subnets []*string `type:"list" required:"true"` + + // One or more tags to assign to the load balancer. + Tags []*Tag `min:"1" type:"list"` +} + +// String returns the string representation +func (s CreateLoadBalancerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateLoadBalancerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateLoadBalancerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Subnets == nil { + invalidParams.Add(request.NewErrParamRequired("Subnets")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of CreateLoadBalancer. +type CreateLoadBalancerOutput struct { + _ struct{} `type:"structure"` + + // Information about the load balancer. + LoadBalancers []*LoadBalancer `type:"list"` +} + +// String returns the string representation +func (s CreateLoadBalancerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateLoadBalancerOutput) GoString() string { + return s.String() +} + +// Contains the parameters for CreateRule. +type CreateRuleInput struct { + _ struct{} `type:"structure"` + + // The actions for the rule. + // + // Actions is a required field + Actions []*Action `type:"list" required:"true"` + + // The conditions. + // + // Conditions is a required field + Conditions []*RuleCondition `type:"list" required:"true"` + + // The Amazon Resource Name (ARN) of the listener. + // + // ListenerArn is a required field + ListenerArn *string `type:"string" required:"true"` + + // The priority for the rule. A listener can't have multiple rules with the + // same priority. + // + // Priority is a required field + Priority *int64 `min:"1" type:"integer" required:"true"` +} + +// String returns the string representation +func (s CreateRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateRuleInput"} + if s.Actions == nil { + invalidParams.Add(request.NewErrParamRequired("Actions")) + } + if s.Conditions == nil { + invalidParams.Add(request.NewErrParamRequired("Conditions")) + } + if s.ListenerArn == nil { + invalidParams.Add(request.NewErrParamRequired("ListenerArn")) + } + if s.Priority == nil { + invalidParams.Add(request.NewErrParamRequired("Priority")) + } + if s.Priority != nil && *s.Priority < 1 { + invalidParams.Add(request.NewErrParamMinValue("Priority", 1)) + } + if s.Actions != nil { + for i, v := range s.Actions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of CreateRule. +type CreateRuleOutput struct { + _ struct{} `type:"structure"` + + // Information about the rule. + Rules []*Rule `type:"list"` +} + +// String returns the string representation +func (s CreateRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateRuleOutput) GoString() string { + return s.String() +} + +// Contains the parameters for CreateTargetGroup. +type CreateTargetGroupInput struct { + _ struct{} `type:"structure"` + + // The approximate amount of time, in seconds, between health checks of an individual + // target. The default is 30 seconds. + HealthCheckIntervalSeconds *int64 `min:"5" type:"integer"` + + // The ping path that is the destination on the targets for health checks. The + // default is /. + HealthCheckPath *string `min:"1" type:"string"` + + // The port the load balancer uses when performing health checks on targets. + // The default is traffic-port, which indicates the port on which each target + // receives traffic from the load balancer. + HealthCheckPort *string `type:"string"` + + // The protocol the load balancer uses when performing health checks on targets. + // The default is the HTTP protocol. + HealthCheckProtocol *string `type:"string" enum:"ProtocolEnum"` + + // The amount of time, in seconds, during which no response from a target means + // a failed health check. The default is 5 seconds. + HealthCheckTimeoutSeconds *int64 `min:"2" type:"integer"` + + // The number of consecutive health checks successes required before considering + // an unhealthy target healthy. The default is 5. + HealthyThresholdCount *int64 `min:"2" type:"integer"` + + // The HTTP codes to use when checking for a successful response from a target. + // The default is 200. + Matcher *Matcher `type:"structure"` + + // The name of the target group. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The port on which the targets receive traffic. This port is used unless you + // specify a port override when registering the target. + // + // Port is a required field + Port *int64 `min:"1" type:"integer" required:"true"` + + // The protocol to use for routing traffic to the targets. + // + // Protocol is a required field + Protocol *string `type:"string" required:"true" enum:"ProtocolEnum"` + + // The number of consecutive health check failures required before considering + // a target unhealthy. The default is 2. + UnhealthyThresholdCount *int64 `min:"2" type:"integer"` + + // The identifier of the virtual private cloud (VPC). + // + // VpcId is a required field + VpcId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateTargetGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTargetGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateTargetGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTargetGroupInput"} + if s.HealthCheckIntervalSeconds != nil && *s.HealthCheckIntervalSeconds < 5 { + invalidParams.Add(request.NewErrParamMinValue("HealthCheckIntervalSeconds", 5)) + } + if s.HealthCheckPath != nil && len(*s.HealthCheckPath) < 1 { + invalidParams.Add(request.NewErrParamMinLen("HealthCheckPath", 1)) + } + if s.HealthCheckTimeoutSeconds != nil && *s.HealthCheckTimeoutSeconds < 2 { + invalidParams.Add(request.NewErrParamMinValue("HealthCheckTimeoutSeconds", 2)) + } + if s.HealthyThresholdCount != nil && *s.HealthyThresholdCount < 2 { + invalidParams.Add(request.NewErrParamMinValue("HealthyThresholdCount", 2)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) + } + if s.UnhealthyThresholdCount != nil && *s.UnhealthyThresholdCount < 2 { + invalidParams.Add(request.NewErrParamMinValue("UnhealthyThresholdCount", 2)) + } + if s.VpcId == nil { + invalidParams.Add(request.NewErrParamRequired("VpcId")) + } + if s.Matcher != nil { + if err := s.Matcher.Validate(); err != nil { + invalidParams.AddNested("Matcher", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of CreateTargetGroup. +type CreateTargetGroupOutput struct { + _ struct{} `type:"structure"` + + // Information about the target group. + TargetGroups []*TargetGroup `type:"list"` +} + +// String returns the string representation +func (s CreateTargetGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTargetGroupOutput) GoString() string { + return s.String() +} + +// Contains the parameters for DeleteListener. +type DeleteListenerInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the listener. + // + // ListenerArn is a required field + ListenerArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteListenerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteListenerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteListenerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteListenerInput"} + if s.ListenerArn == nil { + invalidParams.Add(request.NewErrParamRequired("ListenerArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of DeleteListener. +type DeleteListenerOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteListenerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteListenerOutput) GoString() string { + return s.String() +} + +// Contains the parameters for DeleteLoadBalancer. +type DeleteLoadBalancerInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the load balancer. + // + // LoadBalancerArn is a required field + LoadBalancerArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteLoadBalancerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteLoadBalancerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteLoadBalancerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerInput"} + if s.LoadBalancerArn == nil { + invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of DeleteLoadBalancer. +type DeleteLoadBalancerOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteLoadBalancerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteLoadBalancerOutput) GoString() string { + return s.String() +} + +// Contains the parameters for DeleteRule. +type DeleteRuleInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the rule. + // + // RuleArn is a required field + RuleArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteRuleInput"} + if s.RuleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RuleArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of DeleteRule. +type DeleteRuleOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteRuleOutput) GoString() string { + return s.String() +} + +// Contains the parameters for DeleteTargetGroup. +type DeleteTargetGroupInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the target group. + // + // TargetGroupArn is a required field + TargetGroupArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteTargetGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTargetGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteTargetGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTargetGroupInput"} + if s.TargetGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("TargetGroupArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of DeleteTargetGroup. +type DeleteTargetGroupOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteTargetGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTargetGroupOutput) GoString() string { + return s.String() +} + +// Contains the parameters for DeregisterTargets. +type DeregisterTargetsInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the target group. + // + // TargetGroupArn is a required field + TargetGroupArn *string `type:"string" required:"true"` + + // The targets. + // + // Targets is a required field + Targets []*TargetDescription `type:"list" required:"true"` +} + +// String returns the string representation +func (s DeregisterTargetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeregisterTargetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeregisterTargetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeregisterTargetsInput"} + if s.TargetGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("TargetGroupArn")) + } + if s.Targets == nil { + invalidParams.Add(request.NewErrParamRequired("Targets")) + } + if s.Targets != nil { + for i, v := range s.Targets { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of DeregisterTargets. +type DeregisterTargetsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeregisterTargetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeregisterTargetsOutput) GoString() string { + return s.String() +} + +// Contains the parameters for DescribeListeners. +type DescribeListenersInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Names (ARN) of the listeners. + ListenerArns []*string `type:"list"` + + // The Amazon Resource Name (ARN) of the load balancer. + LoadBalancerArn *string `type:"string"` + + // The marker for the next set of results. (You received this marker from a + // previous call.) + Marker *string `type:"string"` + + // The maximum number of results to return with this call. + PageSize *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s DescribeListenersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeListenersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeListenersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeListenersInput"} + if s.PageSize != nil && *s.PageSize < 1 { + invalidParams.Add(request.NewErrParamMinValue("PageSize", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of DescribeListeners. +type DescribeListenersOutput struct { + _ struct{} `type:"structure"` + + // Information about the listeners. + Listeners []*Listener `type:"list"` + + // The marker to use when requesting the next set of results. If there are no + // additional results, the string is empty. + NextMarker *string `type:"string"` +} + +// String returns the string representation +func (s DescribeListenersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeListenersOutput) GoString() string { + return s.String() +} + +// Contains the parameters for DescribeLoadBalancerAttributes. +type DescribeLoadBalancerAttributesInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the load balancer. + // + // LoadBalancerArn is a required field + LoadBalancerArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeLoadBalancerAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeLoadBalancerAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeLoadBalancerAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeLoadBalancerAttributesInput"} + if s.LoadBalancerArn == nil { + invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of DescribeLoadBalancerAttributes. +type DescribeLoadBalancerAttributesOutput struct { + _ struct{} `type:"structure"` + + // Information about the load balancer attributes. + Attributes []*LoadBalancerAttribute `type:"list"` +} + +// String returns the string representation +func (s DescribeLoadBalancerAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeLoadBalancerAttributesOutput) GoString() string { + return s.String() +} + +// Contains the parameters for DescribeLoadBalancers. +type DescribeLoadBalancersInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Names (ARN) of the load balancers. + LoadBalancerArns []*string `type:"list"` + + // The marker for the next set of results. (You received this marker from a + // previous call.) + Marker *string `type:"string"` + + // The names of the load balancers. + Names []*string `type:"list"` + + // The maximum number of results to return with this call. + PageSize *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s DescribeLoadBalancersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeLoadBalancersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeLoadBalancersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeLoadBalancersInput"} + if s.PageSize != nil && *s.PageSize < 1 { + invalidParams.Add(request.NewErrParamMinValue("PageSize", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of DescribeLoadBalancers. +type DescribeLoadBalancersOutput struct { + _ struct{} `type:"structure"` + + // Information about the load balancers. + LoadBalancers []*LoadBalancer `type:"list"` + + // The marker to use when requesting the next set of results. If there are no + // additional results, the string is empty. + NextMarker *string `type:"string"` +} + +// String returns the string representation +func (s DescribeLoadBalancersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeLoadBalancersOutput) GoString() string { + return s.String() +} + +// Contains the parameters for DescribeRules. +type DescribeRulesInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the listener. + ListenerArn *string `type:"string"` + + // The Amazon Resource Names (ARN) of the rules. + RuleArns []*string `type:"list"` +} + +// String returns the string representation +func (s DescribeRulesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeRulesInput) GoString() string { + return s.String() +} + +// Contains the output of DescribeRules. +type DescribeRulesOutput struct { + _ struct{} `type:"structure"` + + // Information about the rules. + Rules []*Rule `type:"list"` +} + +// String returns the string representation +func (s DescribeRulesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeRulesOutput) GoString() string { + return s.String() +} + +// Contains the parameters for DescribeSSLPolicies. +type DescribeSSLPoliciesInput struct { + _ struct{} `type:"structure"` + + // The marker for the next set of results. (You received this marker from a + // previous call.) + Marker *string `type:"string"` + + // The names of the policies. + Names []*string `type:"list"` + + // The maximum number of results to return with this call. + PageSize *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s DescribeSSLPoliciesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSSLPoliciesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeSSLPoliciesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeSSLPoliciesInput"} + if s.PageSize != nil && *s.PageSize < 1 { + invalidParams.Add(request.NewErrParamMinValue("PageSize", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of DescribeSSLPolicies. +type DescribeSSLPoliciesOutput struct { + _ struct{} `type:"structure"` + + // The marker to use when requesting the next set of results. If there are no + // additional results, the string is empty. + NextMarker *string `type:"string"` + + // Information about the policies. + SslPolicies []*SslPolicy `type:"list"` +} + +// String returns the string representation +func (s DescribeSSLPoliciesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSSLPoliciesOutput) GoString() string { + return s.String() +} + +// Contains the parameters for DescribeTags. +type DescribeTagsInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Names (ARN) of the resources. + // + // ResourceArns is a required field + ResourceArns []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s DescribeTagsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTagsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTagsInput"} + if s.ResourceArns == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArns")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of DescribeTags. +type DescribeTagsOutput struct { + _ struct{} `type:"structure"` + + // Information about the tags. + TagDescriptions []*TagDescription `type:"list"` +} + +// String returns the string representation +func (s DescribeTagsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTagsOutput) GoString() string { + return s.String() +} + +// Contains the parameters for DescribeTargetGroupAttributes. +type DescribeTargetGroupAttributesInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the target group. + // + // TargetGroupArn is a required field + TargetGroupArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeTargetGroupAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTargetGroupAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeTargetGroupAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTargetGroupAttributesInput"} + if s.TargetGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("TargetGroupArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of DescribeTargetGroupAttributes. +type DescribeTargetGroupAttributesOutput struct { + _ struct{} `type:"structure"` + + // Information about the target group attributes + Attributes []*TargetGroupAttribute `type:"list"` +} + +// String returns the string representation +func (s DescribeTargetGroupAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTargetGroupAttributesOutput) GoString() string { + return s.String() +} + +// Contains the parameters for DescribeTargetGroups. +type DescribeTargetGroupsInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the load balancer. + LoadBalancerArn *string `type:"string"` + + // The marker for the next set of results. (You received this marker from a + // previous call.) + Marker *string `type:"string"` + + // The names of the target groups. + Names []*string `type:"list"` + + // The maximum number of results to return with this call. + PageSize *int64 `min:"1" type:"integer"` + + // The Amazon Resource Names (ARN) of the target groups. + TargetGroupArns []*string `type:"list"` +} + +// String returns the string representation +func (s DescribeTargetGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTargetGroupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeTargetGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTargetGroupsInput"} + if s.PageSize != nil && *s.PageSize < 1 { + invalidParams.Add(request.NewErrParamMinValue("PageSize", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of DescribeTargetGroups. +type DescribeTargetGroupsOutput struct { + _ struct{} `type:"structure"` + + // The marker to use when requesting the next set of results. If there are no + // additional results, the string is empty. + NextMarker *string `type:"string"` + + // Information about the target groups. + TargetGroups []*TargetGroup `type:"list"` +} + +// String returns the string representation +func (s DescribeTargetGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTargetGroupsOutput) GoString() string { + return s.String() +} + +// Contains the parameters for DescribeTargetHealth. +type DescribeTargetHealthInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the target group. + // + // TargetGroupArn is a required field + TargetGroupArn *string `type:"string" required:"true"` + + // The targets. + Targets []*TargetDescription `type:"list"` +} + +// String returns the string representation +func (s DescribeTargetHealthInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTargetHealthInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeTargetHealthInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTargetHealthInput"} + if s.TargetGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("TargetGroupArn")) + } + if s.Targets != nil { + for i, v := range s.Targets { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of DescribeTargetHealth. +type DescribeTargetHealthOutput struct { + _ struct{} `type:"structure"` + + // Information about the health of the targets. + TargetHealthDescriptions []*TargetHealthDescription `type:"list"` +} + +// String returns the string representation +func (s DescribeTargetHealthOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTargetHealthOutput) GoString() string { + return s.String() +} + +// Information about a listener. +type Listener struct { + _ struct{} `type:"structure"` + + // The SSL server certificate. You must provide a certificate if the protocol + // is HTTPS. + Certificates []*Certificate `type:"list"` + + // The default actions for the listener. + DefaultActions []*Action `type:"list"` + + // The Amazon Resource Name (ARN) of the listener. + ListenerArn *string `type:"string"` + + // The Amazon Resource Name (ARN) of the load balancer. + LoadBalancerArn *string `type:"string"` + + // The port on which the load balancer is listening. + Port *int64 `min:"1" type:"integer"` + + // The protocol for connections from clients to the load balancer. + Protocol *string `type:"string" enum:"ProtocolEnum"` + + // The security policy that defines which ciphers and protocols are supported. + // The default is the current predefined security policy. + SslPolicy *string `type:"string"` +} + +// String returns the string representation +func (s Listener) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Listener) GoString() string { + return s.String() +} + +// Information about a load balancer. +type LoadBalancer struct { + _ struct{} `type:"structure"` + + // The Availability Zones for the load balancer. + AvailabilityZones []*AvailabilityZone `type:"list"` + + // The ID of the Amazon Route 53 hosted zone associated with the load balancer. + CanonicalHostedZoneId *string `type:"string"` + + // The date and time the load balancer was created. + CreatedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + // The public DNS name of the load balancer. + DNSName *string `type:"string"` + + // The Amazon Resource Name (ARN) of the load balancer. + LoadBalancerArn *string `type:"string"` + + // The name of the load balancer. + LoadBalancerName *string `type:"string"` + + // The nodes of an Internet-facing load balancer have public IP addresses. The + // DNS name of an Internet-facing load balancer is publicly resolvable to the + // public IP addresses of the nodes. Therefore, Internet-facing load balancers + // can route requests from clients over the Internet. + // + // The nodes of an internal load balancer have only private IP addresses. The + // DNS name of an internal load balancer is publicly resolvable to the private + // IP addresses of the nodes. Therefore, internal load balancers can only route + // requests from clients with access to the VPC for the load balancer. + Scheme *string `type:"string" enum:"LoadBalancerSchemeEnum"` + + // The IDs of the security groups for the load balancer. + SecurityGroups []*string `type:"list"` + + // The state of the load balancer. + State *LoadBalancerState `type:"structure"` + + // The type of load balancer. + Type *string `type:"string" enum:"LoadBalancerTypeEnum"` + + // The ID of the VPC for the load balancer. + VpcId *string `type:"string"` +} + +// String returns the string representation +func (s LoadBalancer) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LoadBalancer) GoString() string { + return s.String() +} + +// Information about a load balancer attribute. +type LoadBalancerAttribute struct { + _ struct{} `type:"structure"` + + // The name of the attribute. + // + // access_logs.s3.enabled - Indicates whether access logs stored in Amazon + // S3 are enabled. + // + // access_logs.s3.bucket - The name of the S3 bucket for the access logs. + // This attribute is required if access logs in Amazon S3 are enabled. The bucket + // must exist in the same region as the load balancer and have a bucket policy + // that grants Elastic Load Balancing permission to write to the bucket. + // + // access_logs.s3.prefix - The prefix for the location in the S3 bucket. + // If you don't specify a prefix, the access logs are stored in the root of + // the bucket. + // + // deletion_protection.enabled - Indicates whether deletion protection is + // enabled. + // + // idle_timeout.timeout_seconds - The idle timeout value, in seconds. The + // valid range is 1-3600. The default is 60 seconds. + Key *string `type:"string"` + + // The value of the attribute. + Value *string `type:"string"` +} + +// String returns the string representation +func (s LoadBalancerAttribute) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LoadBalancerAttribute) GoString() string { + return s.String() +} + +// Information about the state of the load balancer. +type LoadBalancerState struct { + _ struct{} `type:"structure"` + + // The state code. The initial state of the load balancer is provisioning. After + // the load balancer is fully set up and ready to route traffic, its state is + // active. If the load balancer could not be set up, its state is failed. + Code *string `type:"string" enum:"LoadBalancerStateEnum"` + + // A description of the state. + Reason *string `type:"string"` +} + +// String returns the string representation +func (s LoadBalancerState) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LoadBalancerState) GoString() string { + return s.String() +} + +// Information to use when checking for a successful response from a target. +type Matcher struct { + _ struct{} `type:"structure"` + + // The HTTP codes. The default value is 200. You can specify multiple values + // (for example, "200,202") or a range of values (for example, "200-299"). + // + // HttpCode is a required field + HttpCode *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s Matcher) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Matcher) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Matcher) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Matcher"} + if s.HttpCode == nil { + invalidParams.Add(request.NewErrParamRequired("HttpCode")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the parameters for ModifyListener. +type ModifyListenerInput struct { + _ struct{} `type:"structure"` + + // The SSL server certificate. + Certificates []*Certificate `type:"list"` + + // The default actions. + DefaultActions []*Action `type:"list"` + + // The Amazon Resource Name (ARN) of the listener. + // + // ListenerArn is a required field + ListenerArn *string `type:"string" required:"true"` + + // The port for connections from clients to the load balancer. + Port *int64 `min:"1" type:"integer"` + + // The protocol for connections from clients to the load balancer. + Protocol *string `type:"string" enum:"ProtocolEnum"` + + // The security policy that defines which ciphers and protocols are supported. + SslPolicy *string `type:"string"` +} + +// String returns the string representation +func (s ModifyListenerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyListenerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyListenerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyListenerInput"} + if s.ListenerArn == nil { + invalidParams.Add(request.NewErrParamRequired("ListenerArn")) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } + if s.DefaultActions != nil { + for i, v := range s.DefaultActions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultActions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of ModifyListener. +type ModifyListenerOutput struct { + _ struct{} `type:"structure"` + + // Information about the modified listeners. + Listeners []*Listener `type:"list"` +} + +// String returns the string representation +func (s ModifyListenerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyListenerOutput) GoString() string { + return s.String() +} + +// Contains the parameters for ModifyLoadBalancerAttributes. +type ModifyLoadBalancerAttributesInput struct { + _ struct{} `type:"structure"` + + // The load balancer attributes. + // + // Attributes is a required field + Attributes []*LoadBalancerAttribute `type:"list" required:"true"` + + // The Amazon Resource Name (ARN) of the load balancer. + // + // LoadBalancerArn is a required field + LoadBalancerArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ModifyLoadBalancerAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyLoadBalancerAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyLoadBalancerAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyLoadBalancerAttributesInput"} + if s.Attributes == nil { + invalidParams.Add(request.NewErrParamRequired("Attributes")) + } + if s.LoadBalancerArn == nil { + invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of ModifyLoadBalancerAttributes. +type ModifyLoadBalancerAttributesOutput struct { + _ struct{} `type:"structure"` + + // Information about the load balancer attributes. + Attributes []*LoadBalancerAttribute `type:"list"` +} + +// String returns the string representation +func (s ModifyLoadBalancerAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyLoadBalancerAttributesOutput) GoString() string { + return s.String() +} + +// Contains the parameters for ModifyRules. +type ModifyRuleInput struct { + _ struct{} `type:"structure"` + + // The actions. + Actions []*Action `type:"list"` + + // The conditions. + Conditions []*RuleCondition `type:"list"` + + // The Amazon Resource Name (ARN) of the rule. + // + // RuleArn is a required field + RuleArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ModifyRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyRuleInput"} + if s.RuleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RuleArn")) + } + if s.Actions != nil { + for i, v := range s.Actions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of ModifyRules. +type ModifyRuleOutput struct { + _ struct{} `type:"structure"` + + // Information about the rule. + Rules []*Rule `type:"list"` +} + +// String returns the string representation +func (s ModifyRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyRuleOutput) GoString() string { + return s.String() +} + +// Contains the parameters for ModifyTargetGroupAttributes. +type ModifyTargetGroupAttributesInput struct { + _ struct{} `type:"structure"` + + // The attributes. + // + // Attributes is a required field + Attributes []*TargetGroupAttribute `type:"list" required:"true"` + + // The Amazon Resource Name (ARN) of the target group. + // + // TargetGroupArn is a required field + TargetGroupArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ModifyTargetGroupAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyTargetGroupAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyTargetGroupAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyTargetGroupAttributesInput"} + if s.Attributes == nil { + invalidParams.Add(request.NewErrParamRequired("Attributes")) + } + if s.TargetGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("TargetGroupArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of ModifyTargetGroupAttributes. +type ModifyTargetGroupAttributesOutput struct { + _ struct{} `type:"structure"` + + // Information about the attributes. + Attributes []*TargetGroupAttribute `type:"list"` +} + +// String returns the string representation +func (s ModifyTargetGroupAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyTargetGroupAttributesOutput) GoString() string { + return s.String() +} + +// Contains the parameters for ModifyTargetGroup. +type ModifyTargetGroupInput struct { + _ struct{} `type:"structure"` + + // The approximate amount of time, in seconds, between health checks of an individual + // target. + HealthCheckIntervalSeconds *int64 `min:"5" type:"integer"` + + // The ping path that is the destination for the health check request. + HealthCheckPath *string `min:"1" type:"string"` + + // The port to use to connect with the target. + HealthCheckPort *string `type:"string"` + + // The protocol to use to connect with the target. + HealthCheckProtocol *string `type:"string" enum:"ProtocolEnum"` + + // The amount of time, in seconds, during which no response means a failed health + // check. + HealthCheckTimeoutSeconds *int64 `min:"2" type:"integer"` + + // The number of consecutive health checks successes required before considering + // an unhealthy target healthy. + HealthyThresholdCount *int64 `min:"2" type:"integer"` + + // The HTTP codes to use when checking for a successful response from a target. + Matcher *Matcher `type:"structure"` + + // The Amazon Resource Name (ARN) of the target group. + // + // TargetGroupArn is a required field + TargetGroupArn *string `type:"string" required:"true"` + + // The number of consecutive health check failures required before considering + // the target unhealthy. + UnhealthyThresholdCount *int64 `min:"2" type:"integer"` +} + +// String returns the string representation +func (s ModifyTargetGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyTargetGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyTargetGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyTargetGroupInput"} + if s.HealthCheckIntervalSeconds != nil && *s.HealthCheckIntervalSeconds < 5 { + invalidParams.Add(request.NewErrParamMinValue("HealthCheckIntervalSeconds", 5)) + } + if s.HealthCheckPath != nil && len(*s.HealthCheckPath) < 1 { + invalidParams.Add(request.NewErrParamMinLen("HealthCheckPath", 1)) + } + if s.HealthCheckTimeoutSeconds != nil && *s.HealthCheckTimeoutSeconds < 2 { + invalidParams.Add(request.NewErrParamMinValue("HealthCheckTimeoutSeconds", 2)) + } + if s.HealthyThresholdCount != nil && *s.HealthyThresholdCount < 2 { + invalidParams.Add(request.NewErrParamMinValue("HealthyThresholdCount", 2)) + } + if s.TargetGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("TargetGroupArn")) + } + if s.UnhealthyThresholdCount != nil && *s.UnhealthyThresholdCount < 2 { + invalidParams.Add(request.NewErrParamMinValue("UnhealthyThresholdCount", 2)) + } + if s.Matcher != nil { + if err := s.Matcher.Validate(); err != nil { + invalidParams.AddNested("Matcher", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of ModifyTargetGroup. +type ModifyTargetGroupOutput struct { + _ struct{} `type:"structure"` + + // Information about the target group. + TargetGroups []*TargetGroup `type:"list"` +} + +// String returns the string representation +func (s ModifyTargetGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyTargetGroupOutput) GoString() string { + return s.String() +} + +// Contains the parameters for RegisterTargets. +type RegisterTargetsInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the target group. + // + // TargetGroupArn is a required field + TargetGroupArn *string `type:"string" required:"true"` + + // The targets. + // + // Targets is a required field + Targets []*TargetDescription `type:"list" required:"true"` +} + +// String returns the string representation +func (s RegisterTargetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RegisterTargetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RegisterTargetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RegisterTargetsInput"} + if s.TargetGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("TargetGroupArn")) + } + if s.Targets == nil { + invalidParams.Add(request.NewErrParamRequired("Targets")) + } + if s.Targets != nil { + for i, v := range s.Targets { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of RegisterTargets. +type RegisterTargetsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s RegisterTargetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RegisterTargetsOutput) GoString() string { + return s.String() +} + +// Contains the parameters for RemoveTags. +type RemoveTagsInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource. + // + // ResourceArns is a required field + ResourceArns []*string `type:"list" required:"true"` + + // The tag keys for the tags to remove. + // + // TagKeys is a required field + TagKeys []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s RemoveTagsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RemoveTagsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RemoveTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RemoveTagsInput"} + if s.ResourceArns == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArns")) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of RemoveTags. +type RemoveTagsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s RemoveTagsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RemoveTagsOutput) GoString() string { + return s.String() +} + +// Information about a rule. +type Rule struct { + _ struct{} `type:"structure"` + + // The actions. + Actions []*Action `type:"list"` + + // The conditions. + Conditions []*RuleCondition `type:"list"` + + // Indicates whether this is the default rule. + IsDefault *bool `type:"boolean"` + + // The priority. + Priority *string `type:"string"` + + // The Amazon Resource Name (ARN) of the rule. + RuleArn *string `type:"string"` +} + +// String returns the string representation +func (s Rule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Rule) GoString() string { + return s.String() +} + +// Information about a condition for a rule. +type RuleCondition struct { + _ struct{} `type:"structure"` + + // The name of the field. The possible value is path-pattern. + Field *string `type:"string"` + + // The values for the field. + // + // A path pattern is case sensitive, can be up to 255 characters in length, + // and can contain any of the following characters: + // + // A-Z, a-z, 0-9 + // + // _ - . $ / ~ " ' @ : + + // + // & (using &amp;) + // + // * (matches 0 or more characters) + // + // ? (matches exactly 1 character) + Values []*string `type:"list"` +} + +// String returns the string representation +func (s RuleCondition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RuleCondition) GoString() string { + return s.String() +} + +// Information about the priorities for the rules for a listener. +type RulePriorityPair struct { + _ struct{} `type:"structure"` + + // The rule priority. + Priority *int64 `min:"1" type:"integer"` + + // The Amazon Resource Name (ARN) of the rule. + RuleArn *string `type:"string"` +} + +// String returns the string representation +func (s RulePriorityPair) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RulePriorityPair) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RulePriorityPair) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RulePriorityPair"} + if s.Priority != nil && *s.Priority < 1 { + invalidParams.Add(request.NewErrParamMinValue("Priority", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the parameters for SetRulePriorities. +type SetRulePrioritiesInput struct { + _ struct{} `type:"structure"` + + // The rule priorities. + // + // RulePriorities is a required field + RulePriorities []*RulePriorityPair `type:"list" required:"true"` +} + +// String returns the string representation +func (s SetRulePrioritiesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetRulePrioritiesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SetRulePrioritiesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SetRulePrioritiesInput"} + if s.RulePriorities == nil { + invalidParams.Add(request.NewErrParamRequired("RulePriorities")) + } + if s.RulePriorities != nil { + for i, v := range s.RulePriorities { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RulePriorities", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of SetRulePriorities. +type SetRulePrioritiesOutput struct { + _ struct{} `type:"structure"` + + // Information about the rules. + Rules []*Rule `type:"list"` +} + +// String returns the string representation +func (s SetRulePrioritiesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetRulePrioritiesOutput) GoString() string { + return s.String() +} + +// Contains the parameters for SetSecurityGroups. +type SetSecurityGroupsInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the load balancer. + // + // LoadBalancerArn is a required field + LoadBalancerArn *string `type:"string" required:"true"` + + // The IDs of the security groups. + // + // SecurityGroups is a required field + SecurityGroups []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s SetSecurityGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetSecurityGroupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SetSecurityGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SetSecurityGroupsInput"} + if s.LoadBalancerArn == nil { + invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn")) + } + if s.SecurityGroups == nil { + invalidParams.Add(request.NewErrParamRequired("SecurityGroups")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of SetSecurityGroups. +type SetSecurityGroupsOutput struct { + _ struct{} `type:"structure"` + + // The IDs of the security groups associated with the load balancer. + SecurityGroupIds []*string `type:"list"` +} + +// String returns the string representation +func (s SetSecurityGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetSecurityGroupsOutput) GoString() string { + return s.String() +} + +// Contains the parameters for SetSubnets. +type SetSubnetsInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the load balancer. + // + // LoadBalancerArn is a required field + LoadBalancerArn *string `type:"string" required:"true"` + + // The IDs of the subnets. You must specify at least two subnets. You can add + // only one subnet per Availability Zone. + // + // Subnets is a required field + Subnets []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s SetSubnetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetSubnetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SetSubnetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SetSubnetsInput"} + if s.LoadBalancerArn == nil { + invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn")) + } + if s.Subnets == nil { + invalidParams.Add(request.NewErrParamRequired("Subnets")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the output of SetSubnets. +type SetSubnetsOutput struct { + _ struct{} `type:"structure"` + + // Information about the subnet and Availability Zone. + AvailabilityZones []*AvailabilityZone `type:"list"` +} + +// String returns the string representation +func (s SetSubnetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetSubnetsOutput) GoString() string { + return s.String() +} + +// Information about a policy used for SSL negotiation. +type SslPolicy struct { + _ struct{} `type:"structure"` + + // The ciphers. + Ciphers []*Cipher `type:"list"` + + // The name of the policy. + Name *string `type:"string"` + + // The protocols. + SslProtocols []*string `type:"list"` +} + +// String returns the string representation +func (s SslPolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SslPolicy) GoString() string { + return s.String() +} + +// Information about a tag. +type Tag struct { + _ struct{} `type:"structure"` + + // The key of the tag. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // The value of the tag. + Value *string `type:"string"` +} + +// String returns the string representation +func (s Tag) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Tag) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tag"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The tags associated with a resource. +type TagDescription struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource. + ResourceArn *string `type:"string"` + + // Information about the tags. + Tags []*Tag `min:"1" type:"list"` +} + +// String returns the string representation +func (s TagDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagDescription) GoString() string { + return s.String() +} + +// Information about a target. +type TargetDescription struct { + _ struct{} `type:"structure"` + + // The ID of the target. + // + // Id is a required field + Id *string `type:"string" required:"true"` + + // The port on which the target is listening. + Port *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s TargetDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TargetDescription) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TargetDescription) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TargetDescription"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Information about a target group. +type TargetGroup struct { + _ struct{} `type:"structure"` + + // The approximate amount of time, in seconds, between health checks of an individual + // target. + HealthCheckIntervalSeconds *int64 `min:"5" type:"integer"` + + // The destination for the health check request. + HealthCheckPath *string `min:"1" type:"string"` + + // The port to use to connect with the target. + HealthCheckPort *string `type:"string"` + + // The protocol to use to connect with the target. + HealthCheckProtocol *string `type:"string" enum:"ProtocolEnum"` + + // The amount of time, in seconds, during which no response means a failed health + // check. + HealthCheckTimeoutSeconds *int64 `min:"2" type:"integer"` + + // The number of consecutive health checks successes required before considering + // an unhealthy target healthy. + HealthyThresholdCount *int64 `min:"2" type:"integer"` + + // The Amazon Resource Names (ARN) of the load balancers that route traffic + // to this target group. + LoadBalancerArns []*string `type:"list"` + + // The HTTP codes to use when checking for a successful response from a target. + Matcher *Matcher `type:"structure"` + + // The port on which the targets are listening. + Port *int64 `min:"1" type:"integer"` + + // The protocol to use for routing traffic to the targets. + Protocol *string `type:"string" enum:"ProtocolEnum"` + + // The Amazon Resource Name (ARN) of the target group. + TargetGroupArn *string `type:"string"` + + // The name of the target group. + TargetGroupName *string `type:"string"` + + // The number of consecutive health check failures required before considering + // the target unhealthy. + UnhealthyThresholdCount *int64 `min:"2" type:"integer"` + + // The ID of the VPC for the targets. + VpcId *string `type:"string"` +} + +// String returns the string representation +func (s TargetGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TargetGroup) GoString() string { + return s.String() +} + +// Information about a target group attribute. +type TargetGroupAttribute struct { + _ struct{} `type:"structure"` + + // The name of the attribute. + // + // deregistration_delay.timeout_seconds - The amount time for Elastic Load + // Balancing to wait before changing the state of a deregistering target from + // draining to unused. The range is 0-3600 seconds. The default value is 300 + // seconds. + // + // stickiness.enabled - Indicates whether sticky sessions are enabled. + // + // stickiness.type - The type of sticky sessions. The possible value is + // lb_cookie. + // + // stickiness.lb_cookie.duration_seconds - The time period, in seconds, + // during which requests from a client should be routed to the same target. + // After this time period expires, the load balancer-generated cookie is considered + // stale. The range is 1 second to 1 week (604800 seconds). The default value + // is 1 day (86400 seconds). + Key *string `type:"string"` + + // The value of the attribute. + Value *string `type:"string"` +} + +// String returns the string representation +func (s TargetGroupAttribute) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TargetGroupAttribute) GoString() string { + return s.String() +} + +// Information about the current health of a target. +type TargetHealth struct { + _ struct{} `type:"structure"` + + // A description of the target health that provides additional details. If the + // state is healthy, a description is not provided. + Description *string `type:"string"` + + // The reason code. If the target state is healthy, a reason code is not provided. + // + // If the target state is initial, the reason code can be one of the following + // values: + // + // Elb.RegistrationInProgress - The target is in the process of being registered + // with the load balancer. + // + // Elb.InitialHealthChecking - The load balancer is still sending the target + // the minimum number of health checks required to determine its health status. + // + // If the target state is unhealthy, the reason code can be one of the following + // values: + // + // Target.ResponseCodeMismatch - The health checks did not return an expected + // HTTP code. + // + // Target.Timeout - The health check requests timed out. + // + // Target.FailedHealthChecks - The health checks failed because the connection + // to the target timed out, the target response was malformed, or the target + // failed the health check for an unknown reason. + // + // Elb.InternalError - The health checks failed due to an internal error. + // + // If the target state is unused, the reason code can be one of the following + // values: + // + // Target.NotRegistered - The target is not registered with the target group. + // + // Target.NotInUse - The target group is not used by any load balancer or + // the target is in an Availability Zone that is not enabled for its load balancer. + // + // Target.InvalidState - The target is in the stopped or terminated state. + // + // If the target state is draining, the reason code can be the following + // value: + // + // Target.DeregistrationInProgress - The target is in the process of being + // deregistered and the deregistration delay period has not expired. + Reason *string `type:"string" enum:"TargetHealthReasonEnum"` + + // The state of the target. + State *string `type:"string" enum:"TargetHealthStateEnum"` +} + +// String returns the string representation +func (s TargetHealth) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TargetHealth) GoString() string { + return s.String() +} + +// Information about the health of a target. +type TargetHealthDescription struct { + _ struct{} `type:"structure"` + + // The port to use to connect with the target. + HealthCheckPort *string `type:"string"` + + // The description of the target. + Target *TargetDescription `type:"structure"` + + // The health information for the target. + TargetHealth *TargetHealth `type:"structure"` +} + +// String returns the string representation +func (s TargetHealthDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TargetHealthDescription) GoString() string { + return s.String() +} + +const ( + // ActionTypeEnumForward is a ActionTypeEnum enum value + ActionTypeEnumForward = "forward" +) + +const ( + // LoadBalancerSchemeEnumInternetFacing is a LoadBalancerSchemeEnum enum value + LoadBalancerSchemeEnumInternetFacing = "internet-facing" + + // LoadBalancerSchemeEnumInternal is a LoadBalancerSchemeEnum enum value + LoadBalancerSchemeEnumInternal = "internal" +) + +const ( + // LoadBalancerStateEnumActive is a LoadBalancerStateEnum enum value + LoadBalancerStateEnumActive = "active" + + // LoadBalancerStateEnumProvisioning is a LoadBalancerStateEnum enum value + LoadBalancerStateEnumProvisioning = "provisioning" + + // LoadBalancerStateEnumFailed is a LoadBalancerStateEnum enum value + LoadBalancerStateEnumFailed = "failed" +) + +const ( + // LoadBalancerTypeEnumApplication is a LoadBalancerTypeEnum enum value + LoadBalancerTypeEnumApplication = "application" +) + +const ( + // ProtocolEnumHttp is a ProtocolEnum enum value + ProtocolEnumHttp = "HTTP" + + // ProtocolEnumHttps is a ProtocolEnum enum value + ProtocolEnumHttps = "HTTPS" +) + +const ( + // TargetHealthReasonEnumElbRegistrationInProgress is a TargetHealthReasonEnum enum value + TargetHealthReasonEnumElbRegistrationInProgress = "Elb.RegistrationInProgress" + + // TargetHealthReasonEnumElbInitialHealthChecking is a TargetHealthReasonEnum enum value + TargetHealthReasonEnumElbInitialHealthChecking = "Elb.InitialHealthChecking" + + // TargetHealthReasonEnumTargetResponseCodeMismatch is a TargetHealthReasonEnum enum value + TargetHealthReasonEnumTargetResponseCodeMismatch = "Target.ResponseCodeMismatch" + + // TargetHealthReasonEnumTargetTimeout is a TargetHealthReasonEnum enum value + TargetHealthReasonEnumTargetTimeout = "Target.Timeout" + + // TargetHealthReasonEnumTargetFailedHealthChecks is a TargetHealthReasonEnum enum value + TargetHealthReasonEnumTargetFailedHealthChecks = "Target.FailedHealthChecks" + + // TargetHealthReasonEnumTargetNotRegistered is a TargetHealthReasonEnum enum value + TargetHealthReasonEnumTargetNotRegistered = "Target.NotRegistered" + + // TargetHealthReasonEnumTargetNotInUse is a TargetHealthReasonEnum enum value + TargetHealthReasonEnumTargetNotInUse = "Target.NotInUse" + + // TargetHealthReasonEnumTargetDeregistrationInProgress is a TargetHealthReasonEnum enum value + TargetHealthReasonEnumTargetDeregistrationInProgress = "Target.DeregistrationInProgress" + + // TargetHealthReasonEnumTargetInvalidState is a TargetHealthReasonEnum enum value + TargetHealthReasonEnumTargetInvalidState = "Target.InvalidState" + + // TargetHealthReasonEnumElbInternalError is a TargetHealthReasonEnum enum value + TargetHealthReasonEnumElbInternalError = "Elb.InternalError" +) + +const ( + // TargetHealthStateEnumInitial is a TargetHealthStateEnum enum value + TargetHealthStateEnumInitial = "initial" + + // TargetHealthStateEnumHealthy is a TargetHealthStateEnum enum value + TargetHealthStateEnumHealthy = "healthy" + + // TargetHealthStateEnumUnhealthy is a TargetHealthStateEnum enum value + TargetHealthStateEnumUnhealthy = "unhealthy" + + // TargetHealthStateEnumUnused is a TargetHealthStateEnum enum value + TargetHealthStateEnumUnused = "unused" + + // TargetHealthStateEnumDraining is a TargetHealthStateEnum enum value + TargetHealthStateEnumDraining = "draining" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/emr/api.go b/vendor/github.com/aws/aws-sdk-go/service/emr/api.go index b1a5a7890c52..70a874f9fbdc 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/emr/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/emr/api.go @@ -4,6 +4,7 @@ package emr import ( + "fmt" "time" "github.com/aws/aws-sdk-go/aws/awsutil" @@ -14,7 +15,30 @@ import ( const opAddInstanceGroups = "AddInstanceGroups" -// AddInstanceGroupsRequest generates a request for the AddInstanceGroups operation. +// AddInstanceGroupsRequest generates a "aws/request.Request" representing the +// client's request for the AddInstanceGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AddInstanceGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AddInstanceGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AddInstanceGroupsRequest method. +// req, resp := client.AddInstanceGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EMR) AddInstanceGroupsRequest(input *AddInstanceGroupsInput) (req *request.Request, output *AddInstanceGroupsOutput) { op := &request.Operation{ Name: opAddInstanceGroups, @@ -32,7 +56,22 @@ func (c *EMR) AddInstanceGroupsRequest(input *AddInstanceGroupsInput) (req *requ return } +// AddInstanceGroups API operation for Amazon Elastic MapReduce. +// // AddInstanceGroups adds an instance group to a running cluster. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic MapReduce's +// API operation AddInstanceGroups for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// Indicates that an error occurred while processing the request and that the +// request was not completed. +// func (c *EMR) AddInstanceGroups(input *AddInstanceGroupsInput) (*AddInstanceGroupsOutput, error) { req, out := c.AddInstanceGroupsRequest(input) err := req.Send() @@ -41,7 +80,30 @@ func (c *EMR) AddInstanceGroups(input *AddInstanceGroupsInput) (*AddInstanceGrou const opAddJobFlowSteps = "AddJobFlowSteps" -// AddJobFlowStepsRequest generates a request for the AddJobFlowSteps operation. +// AddJobFlowStepsRequest generates a "aws/request.Request" representing the +// client's request for the AddJobFlowSteps operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AddJobFlowSteps for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AddJobFlowSteps method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AddJobFlowStepsRequest method. +// req, resp := client.AddJobFlowStepsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EMR) AddJobFlowStepsRequest(input *AddJobFlowStepsInput) (req *request.Request, output *AddJobFlowStepsOutput) { op := &request.Operation{ Name: opAddJobFlowSteps, @@ -59,6 +121,8 @@ func (c *EMR) AddJobFlowStepsRequest(input *AddJobFlowStepsInput) (req *request. return } +// AddJobFlowSteps API operation for Amazon Elastic MapReduce. +// // AddJobFlowSteps adds new steps to a running job flow. A maximum of 256 steps // are allowed in each job flow. // @@ -70,19 +134,32 @@ func (c *EMR) AddJobFlowStepsRequest(input *AddJobFlowStepsInput) (req *request. // on how to do this, go to Add More than 256 Steps to a Job Flow (http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/AddMoreThan256Steps.html) // in the Amazon Elastic MapReduce Developer's Guide. // -// A step specifies the location of a JAR file stored either on the master +// A step specifies the location of a JAR file stored either on the master // node of the job flow or in Amazon S3. Each step is performed by the main // function of the main class of the JAR file. The main class can be specified // either in the manifest of the JAR or by using the MainFunction parameter // of the step. // -// Elastic MapReduce executes each step in the order listed. For a step to +// Elastic MapReduce executes each step in the order listed. For a step to // be considered complete, the main function must exit with a zero exit code // and all Hadoop jobs started while the step was running must have completed // and run successfully. // -// You can only add steps to a job flow that is in one of the following states: +// You can only add steps to a job flow that is in one of the following states: // STARTING, BOOTSTRAPPING, RUNNING, or WAITING. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic MapReduce's +// API operation AddJobFlowSteps for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// Indicates that an error occurred while processing the request and that the +// request was not completed. +// func (c *EMR) AddJobFlowSteps(input *AddJobFlowStepsInput) (*AddJobFlowStepsOutput, error) { req, out := c.AddJobFlowStepsRequest(input) err := req.Send() @@ -91,7 +168,30 @@ func (c *EMR) AddJobFlowSteps(input *AddJobFlowStepsInput) (*AddJobFlowStepsOutp const opAddTags = "AddTags" -// AddTagsRequest generates a request for the AddTags operation. +// AddTagsRequest generates a "aws/request.Request" representing the +// client's request for the AddTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AddTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AddTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AddTagsRequest method. +// req, resp := client.AddTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EMR) AddTagsRequest(input *AddTagsInput) (req *request.Request, output *AddTagsOutput) { op := &request.Operation{ Name: opAddTags, @@ -109,19 +209,195 @@ func (c *EMR) AddTagsRequest(input *AddTagsInput) (req *request.Request, output return } +// AddTags API operation for Amazon Elastic MapReduce. +// // Adds tags to an Amazon EMR resource. Tags make it easier to associate clusters // in various ways, such as grouping clusters to track your Amazon EMR resource // allocation costs. For more information, see Tagging Amazon EMR Resources // (http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-tags.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. +// +// See the AWS API reference guide for Amazon Elastic MapReduce's +// API operation AddTags for usage and error information. +// +// Returned Error Codes: +// * InternalServerException +// This exception occurs when there is an internal failure in the EMR service. +// +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. +// func (c *EMR) AddTags(input *AddTagsInput) (*AddTagsOutput, error) { req, out := c.AddTagsRequest(input) err := req.Send() return out, err } +const opCreateSecurityConfiguration = "CreateSecurityConfiguration" + +// CreateSecurityConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the CreateSecurityConfiguration operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateSecurityConfiguration for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateSecurityConfiguration method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateSecurityConfigurationRequest method. +// req, resp := client.CreateSecurityConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *EMR) CreateSecurityConfigurationRequest(input *CreateSecurityConfigurationInput) (req *request.Request, output *CreateSecurityConfigurationOutput) { + op := &request.Operation{ + Name: opCreateSecurityConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateSecurityConfigurationInput{} + } + + req = c.newRequest(op, input, output) + output = &CreateSecurityConfigurationOutput{} + req.Data = output + return +} + +// CreateSecurityConfiguration API operation for Amazon Elastic MapReduce. +// +// Creates a security configuration using EMR Security Configurations, which +// are stored in the service. Security Configurations enable you to more easily +// create a configuration, reuse it, and apply it whenever a cluster is created. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic MapReduce's +// API operation CreateSecurityConfiguration for usage and error information. +// +// Returned Error Codes: +// * InternalServerException +// This exception occurs when there is an internal failure in the EMR service. +// +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. +// +func (c *EMR) CreateSecurityConfiguration(input *CreateSecurityConfigurationInput) (*CreateSecurityConfigurationOutput, error) { + req, out := c.CreateSecurityConfigurationRequest(input) + err := req.Send() + return out, err +} + +const opDeleteSecurityConfiguration = "DeleteSecurityConfiguration" + +// DeleteSecurityConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSecurityConfiguration operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteSecurityConfiguration for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteSecurityConfiguration method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteSecurityConfigurationRequest method. +// req, resp := client.DeleteSecurityConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *EMR) DeleteSecurityConfigurationRequest(input *DeleteSecurityConfigurationInput) (req *request.Request, output *DeleteSecurityConfigurationOutput) { + op := &request.Operation{ + Name: opDeleteSecurityConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteSecurityConfigurationInput{} + } + + req = c.newRequest(op, input, output) + output = &DeleteSecurityConfigurationOutput{} + req.Data = output + return +} + +// DeleteSecurityConfiguration API operation for Amazon Elastic MapReduce. +// +// Deletes a security configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic MapReduce's +// API operation DeleteSecurityConfiguration for usage and error information. +// +// Returned Error Codes: +// * InternalServerException +// This exception occurs when there is an internal failure in the EMR service. +// +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. +// +func (c *EMR) DeleteSecurityConfiguration(input *DeleteSecurityConfigurationInput) (*DeleteSecurityConfigurationOutput, error) { + req, out := c.DeleteSecurityConfigurationRequest(input) + err := req.Send() + return out, err +} + const opDescribeCluster = "DescribeCluster" -// DescribeClusterRequest generates a request for the DescribeCluster operation. +// DescribeClusterRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCluster operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeCluster for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeCluster method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeClusterRequest method. +// req, resp := client.DescribeClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EMR) DescribeClusterRequest(input *DescribeClusterInput) (req *request.Request, output *DescribeClusterOutput) { op := &request.Operation{ Name: opDescribeCluster, @@ -139,8 +415,25 @@ func (c *EMR) DescribeClusterRequest(input *DescribeClusterInput) (req *request. return } +// DescribeCluster API operation for Amazon Elastic MapReduce. +// // Provides cluster-level details including status, hardware and software configuration, // VPC settings, and so on. For information about the cluster steps, see ListSteps. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic MapReduce's +// API operation DescribeCluster for usage and error information. +// +// Returned Error Codes: +// * InternalServerException +// This exception occurs when there is an internal failure in the EMR service. +// +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. +// func (c *EMR) DescribeCluster(input *DescribeClusterInput) (*DescribeClusterOutput, error) { req, out := c.DescribeClusterRequest(input) err := req.Send() @@ -149,7 +442,30 @@ func (c *EMR) DescribeCluster(input *DescribeClusterInput) (*DescribeClusterOutp const opDescribeJobFlows = "DescribeJobFlows" -// DescribeJobFlowsRequest generates a request for the DescribeJobFlows operation. +// DescribeJobFlowsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeJobFlows operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeJobFlows for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeJobFlows method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeJobFlowsRequest method. +// req, resp := client.DescribeJobFlowsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EMR) DescribeJobFlowsRequest(input *DescribeJobFlowsInput) (req *request.Request, output *DescribeJobFlowsOutput) { if c.Client.Config.Logger != nil { c.Client.Config.Logger.Log("This operation, DescribeJobFlows, has been deprecated") @@ -170,33 +486,141 @@ func (c *EMR) DescribeJobFlowsRequest(input *DescribeJobFlowsInput) (req *reques return } +// DescribeJobFlows API operation for Amazon Elastic MapReduce. +// // This API is deprecated and will eventually be removed. We recommend you use // ListClusters, DescribeCluster, ListSteps, ListInstanceGroups and ListBootstrapActions // instead. // -// DescribeJobFlows returns a list of job flows that match all of the supplied +// DescribeJobFlows returns a list of job flows that match all of the supplied // parameters. The parameters can include a list of job flow IDs, job flow states, // and restrictions on job flow creation date and time. // -// Regardless of supplied parameters, only job flows created within the last +// Regardless of supplied parameters, only job flows created within the last // two months are returned. // -// If no parameters are supplied, then job flows matching either of the following +// If no parameters are supplied, then job flows matching either of the following // criteria are returned: // -// Job flows created and completed in the last two weeks Job flows created -// within the last two months that are in one of the following states: RUNNING, -// WAITING, SHUTTING_DOWN, STARTING Amazon Elastic MapReduce can return a -// maximum of 512 job flow descriptions. +// Job flows created and completed in the last two weeks +// +// Job flows created within the last two months that are in one of the following +// states: RUNNING, WAITING, SHUTTING_DOWN, STARTING +// +// Amazon Elastic MapReduce can return a maximum of 512 job flow descriptions. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic MapReduce's +// API operation DescribeJobFlows for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// Indicates that an error occurred while processing the request and that the +// request was not completed. +// func (c *EMR) DescribeJobFlows(input *DescribeJobFlowsInput) (*DescribeJobFlowsOutput, error) { req, out := c.DescribeJobFlowsRequest(input) err := req.Send() return out, err } +const opDescribeSecurityConfiguration = "DescribeSecurityConfiguration" + +// DescribeSecurityConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSecurityConfiguration operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeSecurityConfiguration for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeSecurityConfiguration method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeSecurityConfigurationRequest method. +// req, resp := client.DescribeSecurityConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *EMR) DescribeSecurityConfigurationRequest(input *DescribeSecurityConfigurationInput) (req *request.Request, output *DescribeSecurityConfigurationOutput) { + op := &request.Operation{ + Name: opDescribeSecurityConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeSecurityConfigurationInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeSecurityConfigurationOutput{} + req.Data = output + return +} + +// DescribeSecurityConfiguration API operation for Amazon Elastic MapReduce. +// +// Provides the details of a security configuration by returning the configuration +// JSON. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic MapReduce's +// API operation DescribeSecurityConfiguration for usage and error information. +// +// Returned Error Codes: +// * InternalServerException +// This exception occurs when there is an internal failure in the EMR service. +// +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. +// +func (c *EMR) DescribeSecurityConfiguration(input *DescribeSecurityConfigurationInput) (*DescribeSecurityConfigurationOutput, error) { + req, out := c.DescribeSecurityConfigurationRequest(input) + err := req.Send() + return out, err +} + const opDescribeStep = "DescribeStep" -// DescribeStepRequest generates a request for the DescribeStep operation. +// DescribeStepRequest generates a "aws/request.Request" representing the +// client's request for the DescribeStep operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeStep for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeStep method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeStepRequest method. +// req, resp := client.DescribeStepRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EMR) DescribeStepRequest(input *DescribeStepInput) (req *request.Request, output *DescribeStepOutput) { op := &request.Operation{ Name: opDescribeStep, @@ -214,7 +638,24 @@ func (c *EMR) DescribeStepRequest(input *DescribeStepInput) (req *request.Reques return } +// DescribeStep API operation for Amazon Elastic MapReduce. +// // Provides more detail about the cluster step. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic MapReduce's +// API operation DescribeStep for usage and error information. +// +// Returned Error Codes: +// * InternalServerException +// This exception occurs when there is an internal failure in the EMR service. +// +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. +// func (c *EMR) DescribeStep(input *DescribeStepInput) (*DescribeStepOutput, error) { req, out := c.DescribeStepRequest(input) err := req.Send() @@ -223,7 +664,30 @@ func (c *EMR) DescribeStep(input *DescribeStepInput) (*DescribeStepOutput, error const opListBootstrapActions = "ListBootstrapActions" -// ListBootstrapActionsRequest generates a request for the ListBootstrapActions operation. +// ListBootstrapActionsRequest generates a "aws/request.Request" representing the +// client's request for the ListBootstrapActions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListBootstrapActions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListBootstrapActions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListBootstrapActionsRequest method. +// req, resp := client.ListBootstrapActionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EMR) ListBootstrapActionsRequest(input *ListBootstrapActionsInput) (req *request.Request, output *ListBootstrapActionsOutput) { op := &request.Operation{ Name: opListBootstrapActions, @@ -247,13 +711,47 @@ func (c *EMR) ListBootstrapActionsRequest(input *ListBootstrapActionsInput) (req return } +// ListBootstrapActions API operation for Amazon Elastic MapReduce. +// // Provides information about the bootstrap actions associated with a cluster. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic MapReduce's +// API operation ListBootstrapActions for usage and error information. +// +// Returned Error Codes: +// * InternalServerException +// This exception occurs when there is an internal failure in the EMR service. +// +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. +// func (c *EMR) ListBootstrapActions(input *ListBootstrapActionsInput) (*ListBootstrapActionsOutput, error) { req, out := c.ListBootstrapActionsRequest(input) err := req.Send() return out, err } +// ListBootstrapActionsPages iterates over the pages of a ListBootstrapActions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListBootstrapActions 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 ListBootstrapActions operation. +// pageNum := 0 +// err := client.ListBootstrapActionsPages(params, +// func(page *ListBootstrapActionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *EMR) ListBootstrapActionsPages(input *ListBootstrapActionsInput, fn func(p *ListBootstrapActionsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListBootstrapActionsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -264,7 +762,30 @@ func (c *EMR) ListBootstrapActionsPages(input *ListBootstrapActionsInput, fn fun const opListClusters = "ListClusters" -// ListClustersRequest generates a request for the ListClusters operation. +// ListClustersRequest generates a "aws/request.Request" representing the +// client's request for the ListClusters operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListClusters for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListClusters method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListClustersRequest method. +// req, resp := client.ListClustersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EMR) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) { op := &request.Operation{ Name: opListClusters, @@ -288,17 +809,51 @@ func (c *EMR) ListClustersRequest(input *ListClustersInput) (req *request.Reques return } +// ListClusters API operation for Amazon Elastic MapReduce. +// // Provides the status of all clusters visible to this AWS account. Allows you // to filter the list of clusters based on certain criteria; for example, filtering // by cluster creation date and time or by status. This call returns a maximum // of 50 clusters per call, but returns a marker to track the paging of the // cluster list across multiple ListClusters calls. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic MapReduce's +// API operation ListClusters for usage and error information. +// +// Returned Error Codes: +// * InternalServerException +// This exception occurs when there is an internal failure in the EMR service. +// +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. +// func (c *EMR) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) { req, out := c.ListClustersRequest(input) err := req.Send() return out, err } +// ListClustersPages iterates over the pages of a ListClusters operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListClusters 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 ListClusters operation. +// pageNum := 0 +// err := client.ListClustersPages(params, +// func(page *ListClustersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *EMR) ListClustersPages(input *ListClustersInput, fn func(p *ListClustersOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListClustersRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -309,7 +864,30 @@ func (c *EMR) ListClustersPages(input *ListClustersInput, fn func(p *ListCluster const opListInstanceGroups = "ListInstanceGroups" -// ListInstanceGroupsRequest generates a request for the ListInstanceGroups operation. +// ListInstanceGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ListInstanceGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListInstanceGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListInstanceGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListInstanceGroupsRequest method. +// req, resp := client.ListInstanceGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EMR) ListInstanceGroupsRequest(input *ListInstanceGroupsInput) (req *request.Request, output *ListInstanceGroupsOutput) { op := &request.Operation{ Name: opListInstanceGroups, @@ -333,13 +911,47 @@ func (c *EMR) ListInstanceGroupsRequest(input *ListInstanceGroupsInput) (req *re return } +// ListInstanceGroups API operation for Amazon Elastic MapReduce. +// // Provides all available details about the instance groups in a cluster. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic MapReduce's +// API operation ListInstanceGroups for usage and error information. +// +// Returned Error Codes: +// * InternalServerException +// This exception occurs when there is an internal failure in the EMR service. +// +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. +// func (c *EMR) ListInstanceGroups(input *ListInstanceGroupsInput) (*ListInstanceGroupsOutput, error) { req, out := c.ListInstanceGroupsRequest(input) err := req.Send() return out, err } +// ListInstanceGroupsPages iterates over the pages of a ListInstanceGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListInstanceGroups 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 ListInstanceGroups operation. +// pageNum := 0 +// err := client.ListInstanceGroupsPages(params, +// func(page *ListInstanceGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *EMR) ListInstanceGroupsPages(input *ListInstanceGroupsInput, fn func(p *ListInstanceGroupsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListInstanceGroupsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -350,7 +962,30 @@ func (c *EMR) ListInstanceGroupsPages(input *ListInstanceGroupsInput, fn func(p const opListInstances = "ListInstances" -// ListInstancesRequest generates a request for the ListInstances operation. +// ListInstancesRequest generates a "aws/request.Request" representing the +// client's request for the ListInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListInstancesRequest method. +// req, resp := client.ListInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EMR) ListInstancesRequest(input *ListInstancesInput) (req *request.Request, output *ListInstancesOutput) { op := &request.Operation{ Name: opListInstances, @@ -374,17 +1009,51 @@ func (c *EMR) ListInstancesRequest(input *ListInstancesInput) (req *request.Requ return } +// ListInstances API operation for Amazon Elastic MapReduce. +// // Provides information about the cluster instances that Amazon EMR provisions // on behalf of a user when it creates the cluster. For example, this operation // indicates when the EC2 instances reach the Ready state, when instances become // available to Amazon EMR to use for jobs, and the IP addresses for cluster // instances, etc. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic MapReduce's +// API operation ListInstances for usage and error information. +// +// Returned Error Codes: +// * InternalServerException +// This exception occurs when there is an internal failure in the EMR service. +// +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. +// func (c *EMR) ListInstances(input *ListInstancesInput) (*ListInstancesOutput, error) { req, out := c.ListInstancesRequest(input) err := req.Send() return out, err } +// ListInstancesPages iterates over the pages of a ListInstances operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListInstances 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 ListInstances operation. +// pageNum := 0 +// err := client.ListInstancesPages(params, +// func(page *ListInstancesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *EMR) ListInstancesPages(input *ListInstancesInput, fn func(p *ListInstancesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListInstancesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -393,9 +1062,102 @@ func (c *EMR) ListInstancesPages(input *ListInstancesInput, fn func(p *ListInsta }) } +const opListSecurityConfigurations = "ListSecurityConfigurations" + +// ListSecurityConfigurationsRequest generates a "aws/request.Request" representing the +// client's request for the ListSecurityConfigurations operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListSecurityConfigurations for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListSecurityConfigurations method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListSecurityConfigurationsRequest method. +// req, resp := client.ListSecurityConfigurationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *EMR) ListSecurityConfigurationsRequest(input *ListSecurityConfigurationsInput) (req *request.Request, output *ListSecurityConfigurationsOutput) { + op := &request.Operation{ + Name: opListSecurityConfigurations, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListSecurityConfigurationsInput{} + } + + req = c.newRequest(op, input, output) + output = &ListSecurityConfigurationsOutput{} + req.Data = output + return +} + +// ListSecurityConfigurations API operation for Amazon Elastic MapReduce. +// +// Lists all the security configurations visible to this account, providing +// their creation dates and times, and their names. This call returns a maximum +// of 50 clusters per call, but returns a marker to track the paging of the +// cluster list across multiple ListSecurityConfigurations calls. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic MapReduce's +// API operation ListSecurityConfigurations for usage and error information. +// +// Returned Error Codes: +// * InternalServerException +// This exception occurs when there is an internal failure in the EMR service. +// +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. +// +func (c *EMR) ListSecurityConfigurations(input *ListSecurityConfigurationsInput) (*ListSecurityConfigurationsOutput, error) { + req, out := c.ListSecurityConfigurationsRequest(input) + err := req.Send() + return out, err +} + const opListSteps = "ListSteps" -// ListStepsRequest generates a request for the ListSteps operation. +// ListStepsRequest generates a "aws/request.Request" representing the +// client's request for the ListSteps operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListSteps for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListSteps method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListStepsRequest method. +// req, resp := client.ListStepsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EMR) ListStepsRequest(input *ListStepsInput) (req *request.Request, output *ListStepsOutput) { op := &request.Operation{ Name: opListSteps, @@ -419,13 +1181,47 @@ func (c *EMR) ListStepsRequest(input *ListStepsInput) (req *request.Request, out return } +// ListSteps API operation for Amazon Elastic MapReduce. +// // Provides a list of steps for the cluster. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic MapReduce's +// API operation ListSteps for usage and error information. +// +// Returned Error Codes: +// * InternalServerException +// This exception occurs when there is an internal failure in the EMR service. +// +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. +// func (c *EMR) ListSteps(input *ListStepsInput) (*ListStepsOutput, error) { req, out := c.ListStepsRequest(input) err := req.Send() return out, err } +// ListStepsPages iterates over the pages of a ListSteps operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSteps 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 ListSteps operation. +// pageNum := 0 +// err := client.ListStepsPages(params, +// func(page *ListStepsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *EMR) ListStepsPages(input *ListStepsInput, fn func(p *ListStepsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListStepsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -436,7 +1232,30 @@ func (c *EMR) ListStepsPages(input *ListStepsInput, fn func(p *ListStepsOutput, const opModifyInstanceGroups = "ModifyInstanceGroups" -// ModifyInstanceGroupsRequest generates a request for the ModifyInstanceGroups operation. +// ModifyInstanceGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ModifyInstanceGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyInstanceGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyInstanceGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyInstanceGroupsRequest method. +// req, resp := client.ModifyInstanceGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EMR) ModifyInstanceGroupsRequest(input *ModifyInstanceGroupsInput) (req *request.Request, output *ModifyInstanceGroupsOutput) { op := &request.Operation{ Name: opModifyInstanceGroups, @@ -456,10 +1275,25 @@ func (c *EMR) ModifyInstanceGroupsRequest(input *ModifyInstanceGroupsInput) (req return } +// ModifyInstanceGroups API operation for Amazon Elastic MapReduce. +// // ModifyInstanceGroups modifies the number of nodes and configuration settings // of an instance group. The input parameters include the new target instance // count for the group and the instance group ID. The call will either succeed // or fail atomically. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic MapReduce's +// API operation ModifyInstanceGroups for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// Indicates that an error occurred while processing the request and that the +// request was not completed. +// func (c *EMR) ModifyInstanceGroups(input *ModifyInstanceGroupsInput) (*ModifyInstanceGroupsOutput, error) { req, out := c.ModifyInstanceGroupsRequest(input) err := req.Send() @@ -468,7 +1302,30 @@ func (c *EMR) ModifyInstanceGroups(input *ModifyInstanceGroupsInput) (*ModifyIns const opRemoveTags = "RemoveTags" -// RemoveTagsRequest generates a request for the RemoveTags operation. +// RemoveTagsRequest generates a "aws/request.Request" representing the +// client's request for the RemoveTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RemoveTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RemoveTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RemoveTagsRequest method. +// req, resp := client.RemoveTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EMR) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, output *RemoveTagsOutput) { op := &request.Operation{ Name: opRemoveTags, @@ -486,12 +1343,29 @@ func (c *EMR) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, o return } +// RemoveTags API operation for Amazon Elastic MapReduce. +// // Removes tags from an Amazon EMR resource. Tags make it easier to associate // clusters in various ways, such as grouping clusters to track your Amazon // EMR resource allocation costs. For more information, see Tagging Amazon EMR // Resources (http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-tags.html). // // The following example removes the stack tag with value Prod from a cluster: +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic MapReduce's +// API operation RemoveTags for usage and error information. +// +// Returned Error Codes: +// * InternalServerException +// This exception occurs when there is an internal failure in the EMR service. +// +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. +// func (c *EMR) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, error) { req, out := c.RemoveTagsRequest(input) err := req.Send() @@ -500,7 +1374,30 @@ func (c *EMR) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, error) { const opRunJobFlow = "RunJobFlow" -// RunJobFlowRequest generates a request for the RunJobFlow operation. +// RunJobFlowRequest generates a "aws/request.Request" representing the +// client's request for the RunJobFlow operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RunJobFlow for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RunJobFlow method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RunJobFlowRequest method. +// req, resp := client.RunJobFlowRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EMR) RunJobFlowRequest(input *RunJobFlowInput) (req *request.Request, output *RunJobFlowOutput) { op := &request.Operation{ Name: opRunJobFlow, @@ -518,6 +1415,8 @@ func (c *EMR) RunJobFlowRequest(input *RunJobFlowInput) (req *request.Request, o return } +// RunJobFlow API operation for Amazon Elastic MapReduce. +// // RunJobFlow creates and starts running a new job flow. The job flow will run // the steps specified. Once the job flow completes, the cluster is stopped // and the HDFS partition is lost. To prevent loss of data, configure the last @@ -541,6 +1440,19 @@ func (c *EMR) RunJobFlowRequest(input *RunJobFlowInput) (req *request.Request, o // // For long running job flows, we recommend that you periodically store your // results. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic MapReduce's +// API operation RunJobFlow for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// Indicates that an error occurred while processing the request and that the +// request was not completed. +// func (c *EMR) RunJobFlow(input *RunJobFlowInput) (*RunJobFlowOutput, error) { req, out := c.RunJobFlowRequest(input) err := req.Send() @@ -549,7 +1461,30 @@ func (c *EMR) RunJobFlow(input *RunJobFlowInput) (*RunJobFlowOutput, error) { const opSetTerminationProtection = "SetTerminationProtection" -// SetTerminationProtectionRequest generates a request for the SetTerminationProtection operation. +// SetTerminationProtectionRequest generates a "aws/request.Request" representing the +// client's request for the SetTerminationProtection operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetTerminationProtection for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetTerminationProtection method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetTerminationProtectionRequest method. +// req, resp := client.SetTerminationProtectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EMR) SetTerminationProtectionRequest(input *SetTerminationProtectionInput) (req *request.Request, output *SetTerminationProtectionOutput) { op := &request.Operation{ Name: opSetTerminationProtection, @@ -569,6 +1504,8 @@ func (c *EMR) SetTerminationProtectionRequest(input *SetTerminationProtectionInp return } +// SetTerminationProtection API operation for Amazon Elastic MapReduce. +// // SetTerminationProtection locks a job flow so the Amazon EC2 instances in // the cluster cannot be terminated by user intervention, an API call, or in // the event of a job-flow error. The cluster still terminates upon successful @@ -576,7 +1513,7 @@ func (c *EMR) SetTerminationProtectionRequest(input *SetTerminationProtectionInp // is analogous to calling the Amazon EC2 DisableAPITermination API on all of // the EC2 instances in a cluster. // -// SetTerminationProtection is used to prevent accidental termination of a +// SetTerminationProtection is used to prevent accidental termination of a // job flow and to ensure that in the event of an error, the instances will // persist so you can recover any data stored in their ephemeral instance storage. // @@ -586,6 +1523,19 @@ func (c *EMR) SetTerminationProtectionRequest(input *SetTerminationProtectionInp // // For more information, go to Protecting a Job Flow from Termination (http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/UsingEMR_TerminationProtection.html) // in the Amazon Elastic MapReduce Developer's 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 +// the error. +// +// See the AWS API reference guide for Amazon Elastic MapReduce's +// API operation SetTerminationProtection for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// Indicates that an error occurred while processing the request and that the +// request was not completed. +// func (c *EMR) SetTerminationProtection(input *SetTerminationProtectionInput) (*SetTerminationProtectionOutput, error) { req, out := c.SetTerminationProtectionRequest(input) err := req.Send() @@ -594,7 +1544,30 @@ func (c *EMR) SetTerminationProtection(input *SetTerminationProtectionInput) (*S const opSetVisibleToAllUsers = "SetVisibleToAllUsers" -// SetVisibleToAllUsersRequest generates a request for the SetVisibleToAllUsers operation. +// SetVisibleToAllUsersRequest generates a "aws/request.Request" representing the +// client's request for the SetVisibleToAllUsers operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetVisibleToAllUsers for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetVisibleToAllUsers method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetVisibleToAllUsersRequest method. +// req, resp := client.SetVisibleToAllUsersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EMR) SetVisibleToAllUsersRequest(input *SetVisibleToAllUsersInput) (req *request.Request, output *SetVisibleToAllUsersOutput) { op := &request.Operation{ Name: opSetVisibleToAllUsers, @@ -614,12 +1587,27 @@ func (c *EMR) SetVisibleToAllUsersRequest(input *SetVisibleToAllUsersInput) (req return } +// SetVisibleToAllUsers API operation for Amazon Elastic MapReduce. +// // Sets whether all AWS Identity and Access Management (IAM) users under your // account can access the specified job flows. This action works on running // job flows. You can also set the visibility of a job flow when you launch // it using the VisibleToAllUsers parameter of RunJobFlow. The SetVisibleToAllUsers // action can be called only by an IAM user who created the job flow or the // AWS account that owns the job flow. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic MapReduce's +// API operation SetVisibleToAllUsers for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// Indicates that an error occurred while processing the request and that the +// request was not completed. +// func (c *EMR) SetVisibleToAllUsers(input *SetVisibleToAllUsersInput) (*SetVisibleToAllUsersOutput, error) { req, out := c.SetVisibleToAllUsersRequest(input) err := req.Send() @@ -628,7 +1616,30 @@ func (c *EMR) SetVisibleToAllUsers(input *SetVisibleToAllUsersInput) (*SetVisibl const opTerminateJobFlows = "TerminateJobFlows" -// TerminateJobFlowsRequest generates a request for the TerminateJobFlows operation. +// TerminateJobFlowsRequest generates a "aws/request.Request" representing the +// client's request for the TerminateJobFlows operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See TerminateJobFlows for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the TerminateJobFlows method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the TerminateJobFlowsRequest method. +// req, resp := client.TerminateJobFlowsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *EMR) TerminateJobFlowsRequest(input *TerminateJobFlowsInput) (req *request.Request, output *TerminateJobFlowsOutput) { op := &request.Operation{ Name: opTerminateJobFlows, @@ -648,15 +1659,30 @@ func (c *EMR) TerminateJobFlowsRequest(input *TerminateJobFlowsInput) (req *requ return } +// TerminateJobFlows API operation for Amazon Elastic MapReduce. +// // TerminateJobFlows shuts a list of job flows down. When a job flow is shut // down, any step not yet completed is canceled and the EC2 instances on which // the job flow is running are stopped. Any log files not already saved are // uploaded to Amazon S3 if a LogUri was specified when the job flow was created. // -// The maximum number of JobFlows allowed is 10. The call to TerminateJobFlows +// The maximum number of JobFlows allowed is 10. The call to TerminateJobFlows // is asynchronous. Depending on the configuration of the job flow, it may take // up to 5-20 minutes for the job flow to completely terminate and release allocated // resources, such as Amazon EC2 instances. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic MapReduce's +// API operation TerminateJobFlows for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// Indicates that an error occurred while processing the request and that the +// request was not completed. +// func (c *EMR) TerminateJobFlows(input *TerminateJobFlowsInput) (*TerminateJobFlowsOutput, error) { req, out := c.TerminateJobFlowsRequest(input) err := req.Send() @@ -668,9 +1694,13 @@ type AddInstanceGroupsInput struct { _ struct{} `type:"structure"` // Instance Groups to add. + // + // InstanceGroups is a required field InstanceGroups []*InstanceGroupConfig `type:"list" required:"true"` // Job flow in which to add the instance groups. + // + // JobFlowId is a required field JobFlowId *string `type:"string" required:"true"` } @@ -684,6 +1714,32 @@ func (s AddInstanceGroupsInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddInstanceGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddInstanceGroupsInput"} + if s.InstanceGroups == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceGroups")) + } + if s.JobFlowId == nil { + invalidParams.Add(request.NewErrParamRequired("JobFlowId")) + } + if s.InstanceGroups != nil { + for i, v := range s.InstanceGroups { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceGroups", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // Output from an AddInstanceGroups call. type AddInstanceGroupsOutput struct { _ struct{} `type:"structure"` @@ -711,9 +1767,13 @@ type AddJobFlowStepsInput struct { // A string that uniquely identifies the job flow. This identifier is returned // by RunJobFlow and can also be obtained from ListClusters. + // + // JobFlowId is a required field JobFlowId *string `type:"string" required:"true"` // A list of StepConfig to be executed by the job flow. + // + // Steps is a required field Steps []*StepConfig `type:"list" required:"true"` } @@ -727,6 +1787,32 @@ func (s AddJobFlowStepsInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddJobFlowStepsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddJobFlowStepsInput"} + if s.JobFlowId == nil { + invalidParams.Add(request.NewErrParamRequired("JobFlowId")) + } + if s.Steps == nil { + invalidParams.Add(request.NewErrParamRequired("Steps")) + } + if s.Steps != nil { + for i, v := range s.Steps { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Steps", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // The output for the AddJobFlowSteps operation. type AddJobFlowStepsOutput struct { _ struct{} `type:"structure"` @@ -751,12 +1837,16 @@ type AddTagsInput struct { // The Amazon EMR resource identifier to which tags will be added. This value // must be a cluster identifier. + // + // ResourceId is a required field ResourceId *string `type:"string" required:"true"` // A list of tags to associate with a cluster and propagate to Amazon EC2 instances. // Tags are user-defined key/value pairs that consist of a required key string // with a maximum of 128 characters, and an optional value string with a maximum // of 256 characters. + // + // Tags is a required field Tags []*Tag `type:"list" required:"true"` } @@ -770,6 +1860,22 @@ func (s AddTagsInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddTagsInput"} + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // This output indicates the result of adding tags to a resource. type AddTagsOutput struct { _ struct{} `type:"structure"` @@ -793,12 +1899,16 @@ func (s AddTagsOutput) GoString() string { // Flow on the MapR Distribution for Hadoop (http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-mapr.html). // Currently supported values are: // -// "mapr-m3" - launch the job flow using MapR M3 Edition. "mapr-m5" - launch -// the job flow using MapR M5 Edition. "mapr" with the user arguments specifying -// "--edition,m3" or "--edition,m5" - launch the job flow using MapR M3 or M5 -// Edition, respectively. In Amazon EMR releases 4.0 and greater, the only -// accepted parameter is the application name. To pass arguments to applications, -// you supply a configuration for each application. +// "mapr-m3" - launch the job flow using MapR M3 Edition. +// +// "mapr-m5" - launch the job flow using MapR M5 Edition. +// +// "mapr" with the user arguments specifying "--edition,m3" or "--edition,m5" +// - launch the job flow using MapR M3 or M5 Edition, respectively. +// +// In Amazon EMR releases 4.0 and greater, the only accepted parameter is +// the application name. To pass arguments to applications, you supply a configuration +// for each application. type Application struct { _ struct{} `type:"structure"` @@ -826,14 +1936,13 @@ func (s Application) GoString() string { return s.String() } -// Configuration of a bootstrap action. type BootstrapActionConfig struct { _ struct{} `type:"structure"` - // The name of the bootstrap action. + // Name is a required field Name *string `type:"string" required:"true"` - // The script run by the bootstrap action. + // ScriptBootstrapAction is a required field ScriptBootstrapAction *ScriptBootstrapActionConfig `type:"structure" required:"true"` } @@ -847,6 +1956,27 @@ func (s BootstrapActionConfig) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *BootstrapActionConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BootstrapActionConfig"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.ScriptBootstrapAction == nil { + invalidParams.Add(request.NewErrParamRequired("ScriptBootstrapAction")) + } + if s.ScriptBootstrapAction != nil { + if err := s.ScriptBootstrapAction.Validate(); err != nil { + invalidParams.AddNested("ScriptBootstrapAction", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // Reports the configuration of a bootstrap action in a job flow. type BootstrapActionDetail struct { _ struct{} `type:"structure"` @@ -877,7 +2007,7 @@ type Cluster struct { // Amazon EMR releases 4.x or later. // - // The list of Configurations supplied to the EMR cluster. + // The list of Configurations supplied to the EMR cluster. Configurations []*Configuration `type:"list"` // Provides information about the EC2 instances in a cluster grouped by category. @@ -914,6 +2044,9 @@ type Cluster struct { // The AMI version running on this cluster. RunningAmiVersion *string `type:"string"` + // The name of the security configuration applied to the cluster. + SecurityConfiguration *string `type:"string"` + // The IAM role that will be assumed by the Amazon EMR service to access AWS // resources on your behalf. ServiceRole *string `type:"string"` @@ -1076,7 +2209,7 @@ func (s Command) GoString() string { // Amazon EMR releases 4.x or later. // -// Specifies a hardware and software configuration of the EMR cluster. This +// Specifies a hardware and software configuration of the EMR cluster. This // includes configurations for applications and software bundled with Amazon // EMR. The Configuration object is a JSON object which is defined by a classification // and a set of properties. Configurations can be nested, so a configuration @@ -1105,11 +2238,123 @@ func (s Configuration) GoString() string { return s.String() } +type CreateSecurityConfigurationInput struct { + _ struct{} `type:"structure"` + + // The name of the security configuration. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The security configuration details in JSON format. + // + // SecurityConfiguration is a required field + SecurityConfiguration *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateSecurityConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSecurityConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSecurityConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSecurityConfigurationInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.SecurityConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("SecurityConfiguration")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type CreateSecurityConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The date and time the security configuration was created. + // + // CreationDateTime is a required field + CreationDateTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"` + + // The name of the security configuration. + // + // Name is a required field + Name *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateSecurityConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSecurityConfigurationOutput) GoString() string { + return s.String() +} + +type DeleteSecurityConfigurationInput struct { + _ struct{} `type:"structure"` + + // The name of the security configuration. + // + // Name is a required field + Name *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteSecurityConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSecurityConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteSecurityConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSecurityConfigurationInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DeleteSecurityConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteSecurityConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSecurityConfigurationOutput) GoString() string { + return s.String() +} + // This input determines which cluster to describe. type DescribeClusterInput struct { _ struct{} `type:"structure"` // The identifier of the cluster to describe. + // + // ClusterId is a required field ClusterId *string `type:"string" required:"true"` } @@ -1123,6 +2368,19 @@ func (s DescribeClusterInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeClusterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeClusterInput"} + if s.ClusterId == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // This output contains the description of the cluster. type DescribeClusterOutput struct { _ struct{} `type:"structure"` @@ -1186,14 +2444,73 @@ func (s DescribeJobFlowsOutput) GoString() string { return s.String() } +type DescribeSecurityConfigurationInput struct { + _ struct{} `type:"structure"` + + // The name of the security configuration. + // + // Name is a required field + Name *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeSecurityConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSecurityConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeSecurityConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityConfigurationInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DescribeSecurityConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The date and time the security configuration was created + CreationDateTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The name of the security configuration. + Name *string `type:"string"` + + // The security configuration details in JSON format. + SecurityConfiguration *string `type:"string"` +} + +// String returns the string representation +func (s DescribeSecurityConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSecurityConfigurationOutput) GoString() string { + return s.String() +} + // This input determines which step to describe. type DescribeStepInput struct { _ struct{} `type:"structure"` // The identifier of the cluster with steps to describe. + // + // ClusterId is a required field ClusterId *string `type:"string" required:"true"` // The identifier of the step to describe. + // + // StepId is a required field StepId *string `type:"string" required:"true"` } @@ -1207,6 +2524,22 @@ func (s DescribeStepInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeStepInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeStepInput"} + if s.ClusterId == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterId")) + } + if s.StepId == nil { + invalidParams.Add(request.NewErrParamRequired("StepId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // This output contains the description of the cluster step. type DescribeStepOutput struct { _ struct{} `type:"structure"` @@ -1255,6 +2588,8 @@ type EbsBlockDeviceConfig struct { // EBS volume specifications such as volume type, IOPS, and size(GiB) that will // be requested for the EBS volume attached to an EC2 instance in the cluster. + // + // VolumeSpecification is a required field VolumeSpecification *VolumeSpecification `type:"structure" required:"true"` // Number of EBS volumes with specific volume configuration, that will be associated @@ -1272,6 +2607,24 @@ func (s EbsBlockDeviceConfig) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *EbsBlockDeviceConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EbsBlockDeviceConfig"} + if s.VolumeSpecification == nil { + invalidParams.Add(request.NewErrParamRequired("VolumeSpecification")) + } + if s.VolumeSpecification != nil { + if err := s.VolumeSpecification.Validate(); err != nil { + invalidParams.AddNested("VolumeSpecification", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + type EbsConfiguration struct { _ struct{} `type:"structure"` @@ -1290,6 +2643,26 @@ func (s EbsConfiguration) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *EbsConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EbsConfiguration"} + if s.EbsBlockDeviceConfigs != nil { + for i, v := range s.EbsBlockDeviceConfigs { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EbsBlockDeviceConfigs", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // EBS block device that's attached to an EC2 instance. type EbsVolume struct { _ struct{} `type:"structure"` @@ -1334,7 +2707,7 @@ type Ec2InstanceAttributes struct { // not specify this value, the job flow is launched in the normal AWS cloud, // outside of a VPC. // - // Amazon VPC currently does not support cluster compute quadruple extra large + // Amazon VPC currently does not support cluster compute quadruple extra large // (cc1.4xlarge) instances. Thus, you cannot specify the cc1.4xlarge instance // type for nodes of a job flow launched in a VPC. Ec2SubnetId *string `type:"string"` @@ -1364,6 +2737,36 @@ func (s Ec2InstanceAttributes) GoString() string { return s.String() } +// The details of the step failure. The service attempts to detect the root +// cause for many common failures. +type FailureDetails struct { + _ struct{} `type:"structure"` + + // The path to the log file where the step failure root cause was originally + // recorded. + LogFile *string `type:"string"` + + // The descriptive message including the error the EMR service has identified + // as the cause of step failure. This is text from an error log that describes + // the root cause of the failure. + Message *string `type:"string"` + + // The reason for the step failure. In the case where the service cannot successfully + // determine the root cause of the failure, it returns "Unknown Error" as a + // reason. + Reason *string `type:"string"` +} + +// String returns the string representation +func (s FailureDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FailureDetails) GoString() string { + return s.String() +} + // A job flow step consisting of a JAR file whose main function will be executed. // The main function submits a job for Hadoop to execute and waits for the job // to finish or fail. @@ -1375,6 +2778,8 @@ type HadoopJarStepConfig struct { Args []*string `type:"list"` // A path to a JAR file run during the step. + // + // Jar is a required field Jar *string `type:"string" required:"true"` // The name of the main class in the specified Java file. If not specified, @@ -1396,6 +2801,19 @@ func (s HadoopJarStepConfig) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *HadoopJarStepConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HadoopJarStepConfig"} + if s.Jar == nil { + invalidParams.Add(request.NewErrParamRequired("Jar")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // A cluster step consisting of a JAR file whose main function will be executed. // The main function submits a job for Hadoop to execute and waits for the job // to finish or fail. @@ -1481,15 +2899,15 @@ type InstanceGroup struct { // Amazon EMR releases 4.x or later. // - // The list of configurations supplied for an EMR cluster instance group. You - // can specify a separate configuration for each instance group (master, core, - // and task). + // The list of configurations supplied for an EMR cluster instance group. + // You can specify a separate configuration for each instance group (master, + // core, and task). Configurations []*Configuration `type:"list"` // The EBS block devices that are mapped to this instance group. EbsBlockDevices []*EbsBlockDevice `type:"list"` - // If the instance group is EBS-optimized. An Amazon EBS–optimized instance + // If the instance group is EBS-optimized. An Amazon EBS-optimized instance // uses an optimized configuration stack and provides additional, dedicated // capacity for Amazon EBS I/O. EbsOptimized *bool `type:"boolean"` @@ -1516,6 +2934,9 @@ type InstanceGroup struct { // The number of instances currently running in this instance group. RunningInstanceCount *int64 `type:"integer"` + // Policy for customizing shrink operations. + ShrinkPolicy *ShrinkPolicy `type:"structure"` + // The current status of the instance group. Status *InstanceGroupStatus `type:"structure"` } @@ -1540,9 +2961,9 @@ type InstanceGroupConfig struct { // Amazon EMR releases 4.x or later. // - // The list of configurations supplied for an EMR cluster instance group. You - // can specify a separate configuration for each instance group (master, core, - // and task). + // The list of configurations supplied for an EMR cluster instance group. + // You can specify a separate configuration for each instance group (master, + // core, and task). Configurations []*Configuration `type:"list"` // EBS configurations that will be attached to each Amazon EC2 instance in the @@ -1550,12 +2971,18 @@ type InstanceGroupConfig struct { EbsConfiguration *EbsConfiguration `type:"structure"` // Target number of instances for the instance group. + // + // InstanceCount is a required field InstanceCount *int64 `type:"integer" required:"true"` // The role of the instance group in the cluster. + // + // InstanceRole is a required field InstanceRole *string `type:"string" required:"true" enum:"InstanceRoleType"` // The Amazon EC2 instance type for all instances in the instance group. + // + // InstanceType is a required field InstanceType *string `min:"1" type:"string" required:"true"` // Market type of the Amazon EC2 instances used to create a cluster node. @@ -1575,6 +3002,33 @@ func (s InstanceGroupConfig) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *InstanceGroupConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InstanceGroupConfig"} + if s.InstanceCount == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceCount")) + } + if s.InstanceRole == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceRole")) + } + if s.InstanceType == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceType")) + } + if s.InstanceType != nil && len(*s.InstanceType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceType", 1)) + } + if s.EbsConfiguration != nil { + if err := s.EbsConfiguration.Validate(); err != nil { + invalidParams.AddNested("EbsConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // Detailed information about an instance group. type InstanceGroupDetail struct { _ struct{} `type:"structure"` @@ -1584,6 +3038,8 @@ type InstanceGroupDetail struct { BidPrice *string `type:"string"` // The date/time the instance group was created. + // + // CreationDateTime is a required field CreationDateTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"` // The date/time the instance group was terminated. @@ -1593,21 +3049,31 @@ type InstanceGroupDetail struct { InstanceGroupId *string `type:"string"` // Target number of instances to run in the instance group. + // + // InstanceRequestCount is a required field InstanceRequestCount *int64 `type:"integer" required:"true"` // Instance group role in the cluster + // + // InstanceRole is a required field InstanceRole *string `type:"string" required:"true" enum:"InstanceRoleType"` // Actual count of running instances. + // + // InstanceRunningCount is a required field InstanceRunningCount *int64 `type:"integer" required:"true"` // Amazon EC2 Instance type. + // + // InstanceType is a required field InstanceType *string `min:"1" type:"string" required:"true"` // Details regarding the state of the instance group. LastStateChangeReason *string `type:"string"` // Market type of the Amazon EC2 instances used to create a cluster node. + // + // Market is a required field Market *string `type:"string" required:"true" enum:"MarketType"` // Friendly name for the instance group. @@ -1621,6 +3087,8 @@ type InstanceGroupDetail struct { // State of instance group. The following values are deprecated: STARTING, TERMINATED, // and FAILED. + // + // State is a required field State *string `type:"string" required:"true" enum:"InstanceGroupState"` } @@ -1638,16 +3106,20 @@ func (s InstanceGroupDetail) GoString() string { type InstanceGroupModifyConfig struct { _ struct{} `type:"structure"` - // The EC2 InstanceIds to terminate. For advanced users only. Once you terminate - // the instances, the instance group will not return to its original requested - // size. + // The EC2 InstanceIds to terminate. Once you terminate the instances, the instance + // group will not return to its original requested size. EC2InstanceIdsToTerminate []*string `type:"list"` // Target size for the instance group. InstanceCount *int64 `type:"integer"` // Unique ID of the instance group to expand or shrink. + // + // InstanceGroupId is a required field InstanceGroupId *string `type:"string" required:"true"` + + // Policy for customizing shrink operations. + ShrinkPolicy *ShrinkPolicy `type:"structure"` } // String returns the string representation @@ -1660,6 +3132,19 @@ func (s InstanceGroupModifyConfig) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *InstanceGroupModifyConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InstanceGroupModifyConfig"} + if s.InstanceGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceGroupId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // The status change reason details for the instance group. type InstanceGroupStateChangeReason struct { _ struct{} `type:"structure"` @@ -1712,20 +3197,46 @@ type InstanceGroupTimeline struct { // The creation date and time of the instance group. CreationDateTime *time.Time `type:"timestamp" timestampFormat:"unix"` - // The date and time when the instance group terminated. - EndDateTime *time.Time `type:"timestamp" timestampFormat:"unix"` + // The date and time when the instance group terminated. + EndDateTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The date and time when the instance group became ready to perform tasks. + ReadyDateTime *time.Time `type:"timestamp" timestampFormat:"unix"` +} + +// String returns the string representation +func (s InstanceGroupTimeline) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstanceGroupTimeline) GoString() string { + return s.String() +} + +// Custom policy for requesting termination protection or termination of specific +// instances when shrinking an instance group. +type InstanceResizePolicy struct { + _ struct{} `type:"structure"` + + // Decommissioning timeout override for the specific list of instances to be + // terminated. + InstanceTerminationTimeout *int64 `type:"integer"` - // The date and time when the instance group became ready to perform tasks. - ReadyDateTime *time.Time `type:"timestamp" timestampFormat:"unix"` + // Specific list of instances to be protected when shrinking an instance group. + InstancesToProtect []*string `type:"list"` + + // Specific list of instances to be terminated when shrinking an instance group. + InstancesToTerminate []*string `type:"list"` } // String returns the string representation -func (s InstanceGroupTimeline) String() string { +func (s InstanceResizePolicy) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InstanceGroupTimeline) GoString() string { +func (s InstanceResizePolicy) GoString() string { return s.String() } @@ -1812,12 +3323,18 @@ type JobFlowDetail struct { BootstrapActions []*BootstrapActionDetail `type:"list"` // Describes the execution status of the job flow. + // + // ExecutionStatusDetail is a required field ExecutionStatusDetail *JobFlowExecutionStatusDetail `type:"structure" required:"true"` // Describes the Amazon EC2 instances of the job flow. + // + // Instances is a required field Instances *JobFlowInstancesDetail `type:"structure" required:"true"` // The job flow identifier. + // + // JobFlowId is a required field JobFlowId *string `type:"string" required:"true"` // The IAM role that was specified when the job flow was launched. The EC2 instances @@ -1828,6 +3345,8 @@ type JobFlowDetail struct { LogUri *string `type:"string"` // The name of the job flow. + // + // Name is a required field Name *string `type:"string" required:"true"` // The IAM role that will be assumed by the Amazon EMR service to access AWS @@ -1866,6 +3385,8 @@ type JobFlowExecutionStatusDetail struct { _ struct{} `type:"structure"` // The creation date and time of the job flow. + // + // CreationDateTime is a required field CreationDateTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"` // The completion date and time of the job flow. @@ -1882,6 +3403,8 @@ type JobFlowExecutionStatusDetail struct { StartDateTime *time.Time `type:"timestamp" timestampFormat:"unix"` // The state of the job flow. + // + // State is a required field State *string `type:"string" required:"true" enum:"JobFlowExecutionState"` } @@ -1917,7 +3440,7 @@ type JobFlowInstancesConfig struct { // the job flow to launch. If you do not specify this value, the job flow is // launched in the normal Amazon Web Services cloud, outside of an Amazon VPC. // - // Amazon VPC currently does not support cluster compute quadruple extra large + // Amazon VPC currently does not support cluster compute quadruple extra large // (cc1.4xlarge) instances. Thus you cannot specify the cc1.4xlarge instance // type for nodes of a job flow launched in a Amazon VPC. Ec2SubnetId *string `type:"string"` @@ -1974,6 +3497,37 @@ func (s JobFlowInstancesConfig) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *JobFlowInstancesConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "JobFlowInstancesConfig"} + if s.MasterInstanceType != nil && len(*s.MasterInstanceType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MasterInstanceType", 1)) + } + if s.SlaveInstanceType != nil && len(*s.SlaveInstanceType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SlaveInstanceType", 1)) + } + if s.InstanceGroups != nil { + for i, v := range s.InstanceGroups { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceGroups", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Placement != nil { + if err := s.Placement.Validate(); err != nil { + invalidParams.AddNested("Placement", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // Specify the type of Amazon EC2 instances to run the job flow on. type JobFlowInstancesDetail struct { _ struct{} `type:"structure"` @@ -1992,6 +3546,8 @@ type JobFlowInstancesDetail struct { // The number of Amazon EC2 instances in the cluster. If the value is 1, the // same instance serves as both the master and slave node. If the value is greater // than 1, one instance is the master node and all others are slave nodes. + // + // InstanceCount is a required field InstanceCount *int64 `type:"integer" required:"true"` // Details about the job flow's instance groups. @@ -2004,6 +3560,8 @@ type JobFlowInstancesDetail struct { MasterInstanceId *string `type:"string"` // The Amazon EC2 master node instance type. + // + // MasterInstanceType is a required field MasterInstanceType *string `min:"1" type:"string" required:"true"` // The DNS name of the master node. @@ -2021,6 +3579,8 @@ type JobFlowInstancesDetail struct { Placement *PlacementType `type:"structure"` // The Amazon EC2 slave node instance type. + // + // SlaveInstanceType is a required field SlaveInstanceType *string `min:"1" type:"string" required:"true"` // Specifies whether the Amazon EC2 instances in the cluster are protected from @@ -2065,9 +3625,11 @@ type ListBootstrapActionsInput struct { _ struct{} `type:"structure"` // The cluster identifier for the bootstrap actions to list . + // + // ClusterId is a required field ClusterId *string `type:"string" required:"true"` - // The pagination token that indicates the next set of results to retrieve . + // The pagination token that indicates the next set of results to retrieve. Marker *string `type:"string"` } @@ -2081,6 +3643,19 @@ func (s ListBootstrapActionsInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListBootstrapActionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListBootstrapActionsInput"} + if s.ClusterId == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // This output contains the boostrap actions detail . type ListBootstrapActionsOutput struct { _ struct{} `type:"structure"` @@ -2088,7 +3663,7 @@ type ListBootstrapActionsOutput struct { // The bootstrap actions associated with the cluster . BootstrapActions []*Command `type:"list"` - // The pagination token that indicates the next set of results to retrieve . + // The pagination token that indicates the next set of results to retrieve. Marker *string `type:"string"` } @@ -2157,6 +3732,8 @@ type ListInstanceGroupsInput struct { _ struct{} `type:"structure"` // The identifier of the cluster for which to list the instance groups. + // + // ClusterId is a required field ClusterId *string `type:"string" required:"true"` // The pagination token that indicates the next set of results to retrieve. @@ -2173,6 +3750,19 @@ func (s ListInstanceGroupsInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListInstanceGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListInstanceGroupsInput"} + if s.ClusterId == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // This input determines which instance groups to retrieve. type ListInstanceGroupsOutput struct { _ struct{} `type:"structure"` @@ -2199,6 +3789,8 @@ type ListInstancesInput struct { _ struct{} `type:"structure"` // The identifier of the cluster for which to list the instances. + // + // ClusterId is a required field ClusterId *string `type:"string" required:"true"` // The identifier of the instance group for which to list the instances. @@ -2207,6 +3799,10 @@ type ListInstancesInput struct { // The type of instance group for which to list the instances. InstanceGroupTypes []*string `type:"list"` + // A list of instance states that will filter the instances returned with this + // request. + InstanceStates []*string `type:"list"` + // The pagination token that indicates the next set of results to retrieve. Marker *string `type:"string"` } @@ -2221,6 +3817,19 @@ func (s ListInstancesInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListInstancesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListInstancesInput"} + if s.ClusterId == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // This output contains the list of instances. type ListInstancesOutput struct { _ struct{} `type:"structure"` @@ -2242,11 +3851,52 @@ func (s ListInstancesOutput) GoString() string { return s.String() } +type ListSecurityConfigurationsInput struct { + _ struct{} `type:"structure"` + + // The pagination token that indicates the set of results to retrieve. + Marker *string `type:"string"` +} + +// String returns the string representation +func (s ListSecurityConfigurationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSecurityConfigurationsInput) GoString() string { + return s.String() +} + +type ListSecurityConfigurationsOutput struct { + _ struct{} `type:"structure"` + + // A pagination token that indicates the next set of results to retrieve. Include + // the marker in the next ListSecurityConfiguration call to retrieve the next + // page of results, if required. + Marker *string `type:"string"` + + // The creation date and time, and name, of each security configuration. + SecurityConfigurations []*SecurityConfigurationSummary `type:"list"` +} + +// String returns the string representation +func (s ListSecurityConfigurationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSecurityConfigurationsOutput) GoString() string { + return s.String() +} + // This input determines which steps to list. type ListStepsInput struct { _ struct{} `type:"structure"` // The identifier of the cluster for which to list the steps. + // + // ClusterId is a required field ClusterId *string `type:"string" required:"true"` // The pagination token that indicates the next set of results to retrieve. @@ -2269,7 +3919,21 @@ func (s ListStepsInput) GoString() string { return s.String() } -// This output contains the list of steps. +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListStepsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListStepsInput"} + if s.ClusterId == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// This output contains the list of steps returned in reverse order. This means +// that the last step is the first element in the list. type ListStepsOutput struct { _ struct{} `type:"structure"` @@ -2308,6 +3972,26 @@ func (s ModifyInstanceGroupsInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyInstanceGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceGroupsInput"} + if s.InstanceGroups != nil { + for i, v := range s.InstanceGroups { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceGroups", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + type ModifyInstanceGroupsOutput struct { _ struct{} `type:"structure"` } @@ -2327,6 +4011,8 @@ type PlacementType struct { _ struct{} `type:"structure"` // The Amazon EC2 Availability Zone for the job flow. + // + // AvailabilityZone is a required field AvailabilityZone *string `type:"string" required:"true"` } @@ -2340,15 +4026,32 @@ func (s PlacementType) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *PlacementType) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PlacementType"} + if s.AvailabilityZone == nil { + invalidParams.Add(request.NewErrParamRequired("AvailabilityZone")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // This input identifies a cluster and a list of tags to remove. type RemoveTagsInput struct { _ struct{} `type:"structure"` // The Amazon EMR resource identifier from which tags will be removed. This // value must be a cluster identifier. + // + // ResourceId is a required field ResourceId *string `type:"string" required:"true"` // A list of tag keys to remove from a resource. + // + // TagKeys is a required field TagKeys []*string `type:"list" required:"true"` } @@ -2362,6 +4065,22 @@ func (s RemoveTagsInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *RemoveTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RemoveTagsInput"} + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // This output indicates the result of removing tags from a resource. type RemoveTagsOutput struct { _ struct{} `type:"structure"` @@ -2387,13 +4106,15 @@ type RunJobFlowInput struct { // For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and greater, // use ReleaseLabel. // - // The version of the Amazon Machine Image (AMI) to use when launching Amazon + // The version of the Amazon Machine Image (AMI) to use when launching Amazon // EC2 instances in the job flow. The following values are valid: // - // The version number of the AMI to use, for example, "2.0." If the AMI supports - // multiple versions of Hadoop (for example, AMI 1.0 supports both Hadoop 0.18 - // and 0.20) you can use the JobFlowInstancesConfig HadoopVersion parameter - // to modify the version of Hadoop from the defaults shown above. + // The version number of the AMI to use, for example, "2.0." + // + // If the AMI supports multiple versions of Hadoop (for example, AMI 1.0 + // supports both Hadoop 0.18 and 0.20) you can use the JobFlowInstancesConfig + // HadoopVersion parameter to modify the version of Hadoop from the defaults + // shown above. // // For details about the AMI versions currently supported by Amazon Elastic // MapReduce, go to AMI Versions Supported in Elastic MapReduce (http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/EnvironmentConfig_AMIVersion.html#ami-versions-supported) @@ -2402,7 +4123,7 @@ type RunJobFlowInput struct { // Amazon EMR releases 4.x or later. // - // A list of applications for the cluster. Valid values are: "Hadoop", "Hive", + // A list of applications for the cluster. Valid values are: "Hadoop", "Hive", // "Mahout", "Pig", and "Spark." They are case insensitive. Applications []*Application `type:"list"` @@ -2412,11 +4133,13 @@ type RunJobFlowInput struct { // Amazon EMR releases 4.x or later. // - // The list of configurations supplied for the EMR cluster you are creating. + // The list of configurations supplied for the EMR cluster you are creating. Configurations []*Configuration `type:"list"` // A specification of the number and type of Amazon EC2 instances on which to // run the job flow. + // + // Instances is a required field Instances *JobFlowInstancesConfig `type:"structure" required:"true"` // Also called instance profile and EC2 role. An IAM role for an EMR cluster. @@ -2430,34 +4153,47 @@ type RunJobFlowInput struct { LogUri *string `type:"string"` // The name of the job flow. + // + // Name is a required field Name *string `type:"string" required:"true"` // For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and greater, // use Applications. // - // A list of strings that indicates third-party software to use with the job + // A list of strings that indicates third-party software to use with the job // flow that accepts a user argument list. EMR accepts and forwards the argument // list to the corresponding installation script as bootstrap action arguments. // For more information, see Launch a Job Flow on the MapR Distribution for // Hadoop (http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-mapr.html). // Currently supported values are: // - // "mapr-m3" - launch the cluster using MapR M3 Edition. "mapr-m5" - launch - // the cluster using MapR M5 Edition. "mapr" with the user arguments specifying - // "--edition,m3" or "--edition,m5" - launch the job flow using MapR M3 or M5 - // Edition respectively. "mapr-m7" - launch the cluster using MapR M7 Edition. - // "hunk" - launch the cluster with the Hunk Big Data Analtics Platform. "hue"- - // launch the cluster with Hue installed. "spark" - launch the cluster with - // Apache Spark installed. "ganglia" - launch the cluster with the Ganglia Monitoring - // System installed. + // "mapr-m3" - launch the cluster using MapR M3 Edition. + // + // "mapr-m5" - launch the cluster using MapR M5 Edition. + // + // "mapr" with the user arguments specifying "--edition,m3" or "--edition,m5" + // - launch the job flow using MapR M3 or M5 Edition respectively. + // + // "mapr-m7" - launch the cluster using MapR M7 Edition. + // + // "hunk" - launch the cluster with the Hunk Big Data Analtics Platform. + // + // "hue"- launch the cluster with Hue installed. + // + // "spark" - launch the cluster with Apache Spark installed. + // + // "ganglia" - launch the cluster with the Ganglia Monitoring System installed. NewSupportedProducts []*SupportedProductConfig `type:"list"` // Amazon EMR releases 4.x or later. // - // The release label for the Amazon EMR release. For Amazon EMR 3.x and 2.x + // The release label for the Amazon EMR release. For Amazon EMR 3.x and 2.x // AMIs, use amiVersion instead instead of ReleaseLabel. ReleaseLabel *string `type:"string"` + // The name of a security configuration to apply to the cluster. + SecurityConfiguration *string `type:"string"` + // The IAM role that will be assumed by the Amazon EMR service to access AWS // resources on your behalf. ServiceRole *string `type:"string"` @@ -2468,13 +4204,14 @@ type RunJobFlowInput struct { // For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and greater, // use Applications. // - // A list of strings that indicates third-party software to use with the job + // A list of strings that indicates third-party software to use with the job // flow. For more information, go to Use Third Party Applications with Amazon // EMR (http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-supported-products.html). // Currently supported values are: // - // "mapr-m3" - launch the job flow using MapR M3 Edition. "mapr-m5" - launch - // the job flow using MapR M5 Edition. + // "mapr-m3" - launch the job flow using MapR M3 Edition. + // + // "mapr-m5" - launch the job flow using MapR M5 Edition. SupportedProducts []*string `type:"list"` // A list of tags to associate with a cluster and propagate to Amazon EC2 instances. @@ -2498,6 +4235,47 @@ func (s RunJobFlowInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *RunJobFlowInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RunJobFlowInput"} + if s.Instances == nil { + invalidParams.Add(request.NewErrParamRequired("Instances")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.BootstrapActions != nil { + for i, v := range s.BootstrapActions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BootstrapActions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Instances != nil { + if err := s.Instances.Validate(); err != nil { + invalidParams.AddNested("Instances", err.(request.ErrInvalidParams)) + } + } + if s.Steps != nil { + for i, v := range s.Steps { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Steps", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // The result of the RunJobFlow operation. type RunJobFlowOutput struct { _ struct{} `type:"structure"` @@ -2516,15 +4294,12 @@ func (s RunJobFlowOutput) GoString() string { return s.String() } -// Configuration of the script to run during a bootstrap action. type ScriptBootstrapActionConfig struct { _ struct{} `type:"structure"` - // A list of command line arguments to pass to the bootstrap action script. Args []*string `type:"list"` - // Location of the script to run during a bootstrap action. Can be either a - // location in Amazon S3 or on a local file system. + // Path is a required field Path *string `type:"string" required:"true"` } @@ -2538,6 +4313,40 @@ func (s ScriptBootstrapActionConfig) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *ScriptBootstrapActionConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ScriptBootstrapActionConfig"} + if s.Path == nil { + invalidParams.Add(request.NewErrParamRequired("Path")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The creation date and time, and name, of a security configuration. +type SecurityConfigurationSummary struct { + _ struct{} `type:"structure"` + + // The date and time the security configuration was created. + CreationDateTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The name of the security configuration. + Name *string `type:"string"` +} + +// String returns the string representation +func (s SecurityConfigurationSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SecurityConfigurationSummary) GoString() string { + return s.String() +} + // The input argument to the TerminationProtection operation. type SetTerminationProtectionInput struct { _ struct{} `type:"structure"` @@ -2545,11 +4354,15 @@ type SetTerminationProtectionInput struct { // A list of strings that uniquely identify the job flows to protect. This identifier // is returned by RunJobFlow and can also be obtained from DescribeJobFlows // . + // + // JobFlowIds is a required field JobFlowIds []*string `type:"list" required:"true"` // A Boolean that indicates whether to protect the job flow and prevent the // Amazon EC2 instances in the cluster from shutting down due to API calls, // user intervention, or job-flow error. + // + // TerminationProtected is a required field TerminationProtected *bool `type:"boolean" required:"true"` } @@ -2563,6 +4376,22 @@ func (s SetTerminationProtectionInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *SetTerminationProtectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SetTerminationProtectionInput"} + if s.JobFlowIds == nil { + invalidParams.Add(request.NewErrParamRequired("JobFlowIds")) + } + if s.TerminationProtected == nil { + invalidParams.Add(request.NewErrParamRequired("TerminationProtected")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + type SetTerminationProtectionOutput struct { _ struct{} `type:"structure"` } @@ -2582,6 +4411,8 @@ type SetVisibleToAllUsersInput struct { _ struct{} `type:"structure"` // Identifiers of the job flows to receive the new visibility setting. + // + // JobFlowIds is a required field JobFlowIds []*string `type:"list" required:"true"` // Whether the specified job flows are visible to all IAM users of the AWS account @@ -2589,6 +4420,8 @@ type SetVisibleToAllUsersInput struct { // of that AWS account can view and, if they have the proper IAM policy permissions // set, manage the job flows. If it is set to False, only the IAM user that // created a job flow can view and manage it. + // + // VisibleToAllUsers is a required field VisibleToAllUsers *bool `type:"boolean" required:"true"` } @@ -2602,6 +4435,22 @@ func (s SetVisibleToAllUsersInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *SetVisibleToAllUsersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SetVisibleToAllUsersInput"} + if s.JobFlowIds == nil { + invalidParams.Add(request.NewErrParamRequired("JobFlowIds")) + } + if s.VisibleToAllUsers == nil { + invalidParams.Add(request.NewErrParamRequired("VisibleToAllUsers")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + type SetVisibleToAllUsersOutput struct { _ struct{} `type:"structure"` } @@ -2616,6 +4465,30 @@ func (s SetVisibleToAllUsersOutput) GoString() string { return s.String() } +// Policy for customizing shrink operations. Allows configuration of decommissioning +// timeout and targeted instance shrinking. +type ShrinkPolicy struct { + _ struct{} `type:"structure"` + + // The desired timeout for decommissioning an instance. Overrides the default + // YARN decommissioning timeout. + DecommissionTimeout *int64 `type:"integer"` + + // Custom policy for requesting termination protection or termination of specific + // instances when shrinking an instance group. + InstanceResizePolicy *InstanceResizePolicy `type:"structure"` +} + +// String returns the string representation +func (s ShrinkPolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ShrinkPolicy) GoString() string { + return s.String() +} + // This represents a step in a cluster. type Step struct { _ struct{} `type:"structure"` @@ -2655,9 +4528,13 @@ type StepConfig struct { ActionOnFailure *string `type:"string" enum:"ActionOnFailure"` // The JAR file used for the job flow step. + // + // HadoopJarStep is a required field HadoopJarStep *HadoopJarStepConfig `type:"structure" required:"true"` // The name of the job flow step. + // + // Name is a required field Name *string `type:"string" required:"true"` } @@ -2671,14 +4548,39 @@ func (s StepConfig) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *StepConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StepConfig"} + if s.HadoopJarStep == nil { + invalidParams.Add(request.NewErrParamRequired("HadoopJarStep")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.HadoopJarStep != nil { + if err := s.HadoopJarStep.Validate(); err != nil { + invalidParams.AddNested("HadoopJarStep", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // Combines the execution state and configuration of a step. type StepDetail struct { _ struct{} `type:"structure"` // The description of the step status. + // + // ExecutionStatusDetail is a required field ExecutionStatusDetail *StepExecutionStatusDetail `type:"structure" required:"true"` // The step configuration. + // + // StepConfig is a required field StepConfig *StepConfig `type:"structure" required:"true"` } @@ -2697,6 +4599,8 @@ type StepExecutionStatusDetail struct { _ struct{} `type:"structure"` // The creation date and time of the step. + // + // CreationDateTime is a required field CreationDateTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"` // The completion date and time of the step. @@ -2709,6 +4613,8 @@ type StepExecutionStatusDetail struct { StartDateTime *time.Time `type:"timestamp" timestampFormat:"unix"` // The state of the job flow step. + // + // State is a required field State *string `type:"string" required:"true" enum:"StepExecutionState"` } @@ -2748,6 +4654,10 @@ func (s StepStateChangeReason) GoString() string { type StepStatus struct { _ struct{} `type:"structure"` + // The details for the step failure including reason, message, and log file + // path where the root cause was identified. + FailureDetails *FailureDetails `type:"structure"` + // The execution state of the cluster step. State *string `type:"string" enum:"StepState"` @@ -2878,6 +4788,8 @@ type TerminateJobFlowsInput struct { _ struct{} `type:"structure"` // A list of job flows to be shutdown. + // + // JobFlowIds is a required field JobFlowIds []*string `type:"list" required:"true"` } @@ -2891,6 +4803,19 @@ func (s TerminateJobFlowsInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *TerminateJobFlowsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TerminateJobFlowsInput"} + if s.JobFlowIds == nil { + invalidParams.Add(request.NewErrParamRequired("JobFlowIds")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + type TerminateJobFlowsOutput struct { _ struct{} `type:"structure"` } @@ -2913,11 +4838,15 @@ type VolumeSpecification struct { // The number of I/O operations per second (IOPS) that the volume supports. Iops *int64 `type:"integer"` - // The volume size, in gibibytes (GiB). This can be a number from 1 – 1024. + // The volume size, in gibibytes (GiB). This can be a number from 1 - 1024. // If the volume type is EBS-optimized, the minimum value is 10. + // + // SizeInGB is a required field SizeInGB *int64 `type:"integer" required:"true"` // The volume type. Volume types supported are gp2, io1, standard. + // + // VolumeType is a required field VolumeType *string `type:"string" required:"true"` } @@ -2931,193 +4860,263 @@ func (s VolumeSpecification) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *VolumeSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VolumeSpecification"} + if s.SizeInGB == nil { + invalidParams.Add(request.NewErrParamRequired("SizeInGB")) + } + if s.VolumeType == nil { + invalidParams.Add(request.NewErrParamRequired("VolumeType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + const ( - // @enum ActionOnFailure + // ActionOnFailureTerminateJobFlow is a ActionOnFailure enum value ActionOnFailureTerminateJobFlow = "TERMINATE_JOB_FLOW" - // @enum ActionOnFailure + + // ActionOnFailureTerminateCluster is a ActionOnFailure enum value ActionOnFailureTerminateCluster = "TERMINATE_CLUSTER" - // @enum ActionOnFailure + + // ActionOnFailureCancelAndWait is a ActionOnFailure enum value ActionOnFailureCancelAndWait = "CANCEL_AND_WAIT" - // @enum ActionOnFailure + + // ActionOnFailureContinue is a ActionOnFailure enum value ActionOnFailureContinue = "CONTINUE" ) const ( - // @enum ClusterState + // ClusterStateStarting is a ClusterState enum value ClusterStateStarting = "STARTING" - // @enum ClusterState + + // ClusterStateBootstrapping is a ClusterState enum value ClusterStateBootstrapping = "BOOTSTRAPPING" - // @enum ClusterState + + // ClusterStateRunning is a ClusterState enum value ClusterStateRunning = "RUNNING" - // @enum ClusterState + + // ClusterStateWaiting is a ClusterState enum value ClusterStateWaiting = "WAITING" - // @enum ClusterState + + // ClusterStateTerminating is a ClusterState enum value ClusterStateTerminating = "TERMINATING" - // @enum ClusterState + + // ClusterStateTerminated is a ClusterState enum value ClusterStateTerminated = "TERMINATED" - // @enum ClusterState + + // ClusterStateTerminatedWithErrors is a ClusterState enum value ClusterStateTerminatedWithErrors = "TERMINATED_WITH_ERRORS" ) const ( - // @enum ClusterStateChangeReasonCode + // ClusterStateChangeReasonCodeInternalError is a ClusterStateChangeReasonCode enum value ClusterStateChangeReasonCodeInternalError = "INTERNAL_ERROR" - // @enum ClusterStateChangeReasonCode + + // ClusterStateChangeReasonCodeValidationError is a ClusterStateChangeReasonCode enum value ClusterStateChangeReasonCodeValidationError = "VALIDATION_ERROR" - // @enum ClusterStateChangeReasonCode + + // ClusterStateChangeReasonCodeInstanceFailure is a ClusterStateChangeReasonCode enum value ClusterStateChangeReasonCodeInstanceFailure = "INSTANCE_FAILURE" - // @enum ClusterStateChangeReasonCode + + // ClusterStateChangeReasonCodeBootstrapFailure is a ClusterStateChangeReasonCode enum value ClusterStateChangeReasonCodeBootstrapFailure = "BOOTSTRAP_FAILURE" - // @enum ClusterStateChangeReasonCode + + // ClusterStateChangeReasonCodeUserRequest is a ClusterStateChangeReasonCode enum value ClusterStateChangeReasonCodeUserRequest = "USER_REQUEST" - // @enum ClusterStateChangeReasonCode + + // ClusterStateChangeReasonCodeStepFailure is a ClusterStateChangeReasonCode enum value ClusterStateChangeReasonCodeStepFailure = "STEP_FAILURE" - // @enum ClusterStateChangeReasonCode + + // ClusterStateChangeReasonCodeAllStepsCompleted is a ClusterStateChangeReasonCode enum value ClusterStateChangeReasonCodeAllStepsCompleted = "ALL_STEPS_COMPLETED" ) const ( - // @enum InstanceGroupState + // InstanceGroupStateProvisioning is a InstanceGroupState enum value InstanceGroupStateProvisioning = "PROVISIONING" - // @enum InstanceGroupState + + // InstanceGroupStateBootstrapping is a InstanceGroupState enum value InstanceGroupStateBootstrapping = "BOOTSTRAPPING" - // @enum InstanceGroupState + + // InstanceGroupStateRunning is a InstanceGroupState enum value InstanceGroupStateRunning = "RUNNING" - // @enum InstanceGroupState + + // InstanceGroupStateResizing is a InstanceGroupState enum value InstanceGroupStateResizing = "RESIZING" - // @enum InstanceGroupState + + // InstanceGroupStateSuspended is a InstanceGroupState enum value InstanceGroupStateSuspended = "SUSPENDED" - // @enum InstanceGroupState + + // InstanceGroupStateTerminating is a InstanceGroupState enum value InstanceGroupStateTerminating = "TERMINATING" - // @enum InstanceGroupState + + // InstanceGroupStateTerminated is a InstanceGroupState enum value InstanceGroupStateTerminated = "TERMINATED" - // @enum InstanceGroupState + + // InstanceGroupStateArrested is a InstanceGroupState enum value InstanceGroupStateArrested = "ARRESTED" - // @enum InstanceGroupState + + // InstanceGroupStateShuttingDown is a InstanceGroupState enum value InstanceGroupStateShuttingDown = "SHUTTING_DOWN" - // @enum InstanceGroupState + + // InstanceGroupStateEnded is a InstanceGroupState enum value InstanceGroupStateEnded = "ENDED" ) const ( - // @enum InstanceGroupStateChangeReasonCode + // InstanceGroupStateChangeReasonCodeInternalError is a InstanceGroupStateChangeReasonCode enum value InstanceGroupStateChangeReasonCodeInternalError = "INTERNAL_ERROR" - // @enum InstanceGroupStateChangeReasonCode + + // InstanceGroupStateChangeReasonCodeValidationError is a InstanceGroupStateChangeReasonCode enum value InstanceGroupStateChangeReasonCodeValidationError = "VALIDATION_ERROR" - // @enum InstanceGroupStateChangeReasonCode + + // InstanceGroupStateChangeReasonCodeInstanceFailure is a InstanceGroupStateChangeReasonCode enum value InstanceGroupStateChangeReasonCodeInstanceFailure = "INSTANCE_FAILURE" - // @enum InstanceGroupStateChangeReasonCode + + // InstanceGroupStateChangeReasonCodeClusterTerminated is a InstanceGroupStateChangeReasonCode enum value InstanceGroupStateChangeReasonCodeClusterTerminated = "CLUSTER_TERMINATED" ) const ( - // @enum InstanceGroupType + // InstanceGroupTypeMaster is a InstanceGroupType enum value InstanceGroupTypeMaster = "MASTER" - // @enum InstanceGroupType + + // InstanceGroupTypeCore is a InstanceGroupType enum value InstanceGroupTypeCore = "CORE" - // @enum InstanceGroupType + + // InstanceGroupTypeTask is a InstanceGroupType enum value InstanceGroupTypeTask = "TASK" ) const ( - // @enum InstanceRoleType + // InstanceRoleTypeMaster is a InstanceRoleType enum value InstanceRoleTypeMaster = "MASTER" - // @enum InstanceRoleType + + // InstanceRoleTypeCore is a InstanceRoleType enum value InstanceRoleTypeCore = "CORE" - // @enum InstanceRoleType + + // InstanceRoleTypeTask is a InstanceRoleType enum value InstanceRoleTypeTask = "TASK" ) const ( - // @enum InstanceState + // InstanceStateAwaitingFulfillment is a InstanceState enum value InstanceStateAwaitingFulfillment = "AWAITING_FULFILLMENT" - // @enum InstanceState + + // InstanceStateProvisioning is a InstanceState enum value InstanceStateProvisioning = "PROVISIONING" - // @enum InstanceState + + // InstanceStateBootstrapping is a InstanceState enum value InstanceStateBootstrapping = "BOOTSTRAPPING" - // @enum InstanceState + + // InstanceStateRunning is a InstanceState enum value InstanceStateRunning = "RUNNING" - // @enum InstanceState + + // InstanceStateTerminated is a InstanceState enum value InstanceStateTerminated = "TERMINATED" ) const ( - // @enum InstanceStateChangeReasonCode + // InstanceStateChangeReasonCodeInternalError is a InstanceStateChangeReasonCode enum value InstanceStateChangeReasonCodeInternalError = "INTERNAL_ERROR" - // @enum InstanceStateChangeReasonCode + + // InstanceStateChangeReasonCodeValidationError is a InstanceStateChangeReasonCode enum value InstanceStateChangeReasonCodeValidationError = "VALIDATION_ERROR" - // @enum InstanceStateChangeReasonCode + + // InstanceStateChangeReasonCodeInstanceFailure is a InstanceStateChangeReasonCode enum value InstanceStateChangeReasonCodeInstanceFailure = "INSTANCE_FAILURE" - // @enum InstanceStateChangeReasonCode + + // InstanceStateChangeReasonCodeBootstrapFailure is a InstanceStateChangeReasonCode enum value InstanceStateChangeReasonCodeBootstrapFailure = "BOOTSTRAP_FAILURE" - // @enum InstanceStateChangeReasonCode + + // InstanceStateChangeReasonCodeClusterTerminated is a InstanceStateChangeReasonCode enum value InstanceStateChangeReasonCodeClusterTerminated = "CLUSTER_TERMINATED" ) // The type of instance. -// -// A small instance -// -// A large instance const ( - // @enum JobFlowExecutionState + // JobFlowExecutionStateStarting is a JobFlowExecutionState enum value JobFlowExecutionStateStarting = "STARTING" - // @enum JobFlowExecutionState + + // JobFlowExecutionStateBootstrapping is a JobFlowExecutionState enum value JobFlowExecutionStateBootstrapping = "BOOTSTRAPPING" - // @enum JobFlowExecutionState + + // JobFlowExecutionStateRunning is a JobFlowExecutionState enum value JobFlowExecutionStateRunning = "RUNNING" - // @enum JobFlowExecutionState + + // JobFlowExecutionStateWaiting is a JobFlowExecutionState enum value JobFlowExecutionStateWaiting = "WAITING" - // @enum JobFlowExecutionState + + // JobFlowExecutionStateShuttingDown is a JobFlowExecutionState enum value JobFlowExecutionStateShuttingDown = "SHUTTING_DOWN" - // @enum JobFlowExecutionState + + // JobFlowExecutionStateTerminated is a JobFlowExecutionState enum value JobFlowExecutionStateTerminated = "TERMINATED" - // @enum JobFlowExecutionState + + // JobFlowExecutionStateCompleted is a JobFlowExecutionState enum value JobFlowExecutionStateCompleted = "COMPLETED" - // @enum JobFlowExecutionState + + // JobFlowExecutionStateFailed is a JobFlowExecutionState enum value JobFlowExecutionStateFailed = "FAILED" ) const ( - // @enum MarketType + // MarketTypeOnDemand is a MarketType enum value MarketTypeOnDemand = "ON_DEMAND" - // @enum MarketType + + // MarketTypeSpot is a MarketType enum value MarketTypeSpot = "SPOT" ) const ( - // @enum StepExecutionState + // StepExecutionStatePending is a StepExecutionState enum value StepExecutionStatePending = "PENDING" - // @enum StepExecutionState + + // StepExecutionStateRunning is a StepExecutionState enum value StepExecutionStateRunning = "RUNNING" - // @enum StepExecutionState + + // StepExecutionStateContinue is a StepExecutionState enum value StepExecutionStateContinue = "CONTINUE" - // @enum StepExecutionState + + // StepExecutionStateCompleted is a StepExecutionState enum value StepExecutionStateCompleted = "COMPLETED" - // @enum StepExecutionState + + // StepExecutionStateCancelled is a StepExecutionState enum value StepExecutionStateCancelled = "CANCELLED" - // @enum StepExecutionState + + // StepExecutionStateFailed is a StepExecutionState enum value StepExecutionStateFailed = "FAILED" - // @enum StepExecutionState + + // StepExecutionStateInterrupted is a StepExecutionState enum value StepExecutionStateInterrupted = "INTERRUPTED" ) const ( - // @enum StepState + // StepStatePending is a StepState enum value StepStatePending = "PENDING" - // @enum StepState + + // StepStateRunning is a StepState enum value StepStateRunning = "RUNNING" - // @enum StepState + + // StepStateCompleted is a StepState enum value StepStateCompleted = "COMPLETED" - // @enum StepState + + // StepStateCancelled is a StepState enum value StepStateCancelled = "CANCELLED" - // @enum StepState + + // StepStateFailed is a StepState enum value StepStateFailed = "FAILED" - // @enum StepState + + // StepStateInterrupted is a StepState enum value StepStateInterrupted = "INTERRUPTED" ) const ( - // @enum StepStateChangeReasonCode + // StepStateChangeReasonCodeNone is a StepStateChangeReasonCode enum value StepStateChangeReasonCodeNone = "NONE" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/emr/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/emr/waiters.go index 07c30c5ccb33..ccf17eb96339 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/emr/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/emr/waiters.go @@ -6,6 +6,10 @@ import ( "github.com/aws/aws-sdk-go/private/waiter" ) +// WaitUntilClusterRunning uses the Amazon EMR API operation +// DescribeCluster to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EMR) WaitUntilClusterRunning(input *DescribeClusterInput) error { waiterCfg := waiter.Config{ Operation: "DescribeCluster", @@ -53,6 +57,10 @@ func (c *EMR) WaitUntilClusterRunning(input *DescribeClusterInput) error { return w.Wait() } +// WaitUntilStepComplete uses the Amazon EMR API operation +// DescribeStep to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *EMR) WaitUntilStepComplete(input *DescribeStepInput) error { waiterCfg := waiter.Config{ Operation: "DescribeStep", diff --git a/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go b/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go index ddead2447366..6147933731f2 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go @@ -13,7 +13,30 @@ import ( const opCreateDeliveryStream = "CreateDeliveryStream" -// CreateDeliveryStreamRequest generates a request for the CreateDeliveryStream operation. +// CreateDeliveryStreamRequest generates a "aws/request.Request" representing the +// client's request for the CreateDeliveryStream operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateDeliveryStream for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateDeliveryStream method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateDeliveryStreamRequest method. +// req, resp := client.CreateDeliveryStreamRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Firehose) CreateDeliveryStreamRequest(input *CreateDeliveryStreamInput) (req *request.Request, output *CreateDeliveryStreamOutput) { op := &request.Operation{ Name: opCreateDeliveryStream, @@ -31,9 +54,11 @@ func (c *Firehose) CreateDeliveryStreamRequest(input *CreateDeliveryStreamInput) return } +// CreateDeliveryStream API operation for Amazon Kinesis Firehose. +// // Creates a delivery stream. // -// CreateDeliveryStream is an asynchronous operation that immediately returns. +// CreateDeliveryStream is an asynchronous operation that immediately returns. // The initial status of the delivery stream is CREATING. After the delivery // stream is created, its status is ACTIVE and it now accepts data. Attempts // to send data to a delivery stream that is not in the ACTIVE state cause an @@ -47,9 +72,9 @@ func (c *Firehose) CreateDeliveryStreamRequest(input *CreateDeliveryStreamInput) // By default, you can create up to 20 delivery streams per region. // // A delivery stream can only be configured with a single destination, Amazon -// S3 or Amazon Redshift. For correct CreateDeliveryStream request syntax, specify -// only one destination configuration parameter: either ElasticsearchDestinationConfiguration, -// RedshiftDestinationConfiguration or S3DestinationConfiguration +// S3, Amazon Elasticsearch Service, or Amazon Redshift. For correct CreateDeliveryStream +// request syntax, specify only one destination configuration parameter: either +// S3DestinationConfiguration, ElasticsearchDestinationConfiguration, or RedshiftDestinationConfiguration. // // As part of S3DestinationConfiguration, optional values BufferingHints, EncryptionConfiguration, // and CompressionFormat can be provided. By default, if no BufferingHints value @@ -63,20 +88,42 @@ func (c *Firehose) CreateDeliveryStreamRequest(input *CreateDeliveryStreamInput) // // A few notes about RedshiftDestinationConfiguration: // -// An Amazon Redshift destination requires an S3 bucket as intermediate location, +// An Amazon Redshift destination requires an S3 bucket as intermediate location, // as Firehose first delivers data to S3 and then uses COPY syntax to load data // into an Amazon Redshift table. This is specified in the RedshiftDestinationConfiguration.S3Configuration -// parameter element. The compression formats SNAPPY or ZIP cannot be specified -// in RedshiftDestinationConfiguration.S3Configuration because the Amazon Redshift -// COPY operation that reads from the S3 bucket doesn't support these compression -// formats. We strongly recommend that the username and password provided is -// used exclusively for Firehose purposes, and that the permissions for the -// account are restricted for Amazon Redshift INSERT permissions. Firehose -// assumes the IAM role that is configured as part of destinations. The IAM -// role should allow the Firehose principal to assume the role, and the role -// should have permissions that allows the service to deliver the data. For -// more information, see Amazon S3 Bucket Access (http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3) +// parameter element. +// +// The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationConfiguration.S3Configuration +// because the Amazon Redshift COPY operation that reads from the S3 bucket +// doesn't support these compression formats. +// +// We strongly recommend that the username and password provided is used +// exclusively for Firehose purposes, and that the permissions for the account +// are restricted for Amazon Redshift INSERT permissions. +// +// Firehose assumes the IAM role that is configured as part of destinations. +// The IAM role should allow the Firehose principal to assume the role, and +// the role should have permissions that allows the service to deliver the data. +// For more information, see Amazon S3 Bucket Access (http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3) // in the Amazon Kinesis Firehose Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Firehose's +// API operation CreateDeliveryStream for usage and error information. +// +// Returned Error Codes: +// * InvalidArgumentException +// The specified input parameter has an value that is not valid. +// +// * LimitExceededException +// You have already reached the limit for a requested resource. +// +// * ResourceInUseException +// The resource is already in use and not available for this operation. +// func (c *Firehose) CreateDeliveryStream(input *CreateDeliveryStreamInput) (*CreateDeliveryStreamOutput, error) { req, out := c.CreateDeliveryStreamRequest(input) err := req.Send() @@ -85,7 +132,30 @@ func (c *Firehose) CreateDeliveryStream(input *CreateDeliveryStreamInput) (*Crea const opDeleteDeliveryStream = "DeleteDeliveryStream" -// DeleteDeliveryStreamRequest generates a request for the DeleteDeliveryStream operation. +// DeleteDeliveryStreamRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDeliveryStream operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteDeliveryStream for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteDeliveryStream method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteDeliveryStreamRequest method. +// req, resp := client.DeleteDeliveryStreamRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Firehose) DeleteDeliveryStreamRequest(input *DeleteDeliveryStreamInput) (req *request.Request, output *DeleteDeliveryStreamOutput) { op := &request.Operation{ Name: opDeleteDeliveryStream, @@ -103,6 +173,8 @@ func (c *Firehose) DeleteDeliveryStreamRequest(input *DeleteDeliveryStreamInput) return } +// DeleteDeliveryStream API operation for Amazon Kinesis Firehose. +// // Deletes a delivery stream and its data. // // You can delete a delivery stream only if it is in ACTIVE or DELETING state, @@ -115,6 +187,21 @@ func (c *Firehose) DeleteDeliveryStreamRequest(input *DeleteDeliveryStreamInput) // accept the records, but the service doesn't make any guarantees with respect // to delivering the data. Therefore, as a best practice, you should first stop // any applications that are sending records before deleting a delivery stream. +// +// 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 Kinesis Firehose's +// API operation DeleteDeliveryStream for usage and error information. +// +// Returned Error Codes: +// * ResourceInUseException +// The resource is already in use and not available for this operation. +// +// * ResourceNotFoundException +// The specified resource could not be found. +// func (c *Firehose) DeleteDeliveryStream(input *DeleteDeliveryStreamInput) (*DeleteDeliveryStreamOutput, error) { req, out := c.DeleteDeliveryStreamRequest(input) err := req.Send() @@ -123,7 +210,30 @@ func (c *Firehose) DeleteDeliveryStream(input *DeleteDeliveryStreamInput) (*Dele const opDescribeDeliveryStream = "DescribeDeliveryStream" -// DescribeDeliveryStreamRequest generates a request for the DescribeDeliveryStream operation. +// DescribeDeliveryStreamRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDeliveryStream operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeDeliveryStream for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeDeliveryStream method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeDeliveryStreamRequest method. +// req, resp := client.DescribeDeliveryStreamRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Firehose) DescribeDeliveryStreamRequest(input *DescribeDeliveryStreamInput) (req *request.Request, output *DescribeDeliveryStreamOutput) { op := &request.Operation{ Name: opDescribeDeliveryStream, @@ -141,10 +251,24 @@ func (c *Firehose) DescribeDeliveryStreamRequest(input *DescribeDeliveryStreamIn return } +// DescribeDeliveryStream API operation for Amazon Kinesis Firehose. +// // Describes the specified delivery stream and gets the status. For example, // after your delivery stream is created, call DescribeDeliveryStream to see // if the delivery stream is ACTIVE and therefore ready for data to be sent // to it. +// +// 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 Kinesis Firehose's +// API operation DescribeDeliveryStream for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// The specified resource could not be found. +// func (c *Firehose) DescribeDeliveryStream(input *DescribeDeliveryStreamInput) (*DescribeDeliveryStreamOutput, error) { req, out := c.DescribeDeliveryStreamRequest(input) err := req.Send() @@ -153,7 +277,30 @@ func (c *Firehose) DescribeDeliveryStream(input *DescribeDeliveryStreamInput) (* const opListDeliveryStreams = "ListDeliveryStreams" -// ListDeliveryStreamsRequest generates a request for the ListDeliveryStreams operation. +// ListDeliveryStreamsRequest generates a "aws/request.Request" representing the +// client's request for the ListDeliveryStreams operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListDeliveryStreams for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListDeliveryStreams method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListDeliveryStreamsRequest method. +// req, resp := client.ListDeliveryStreamsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Firehose) ListDeliveryStreamsRequest(input *ListDeliveryStreamsInput) (req *request.Request, output *ListDeliveryStreamsOutput) { op := &request.Operation{ Name: opListDeliveryStreams, @@ -171,6 +318,8 @@ func (c *Firehose) ListDeliveryStreamsRequest(input *ListDeliveryStreamsInput) ( return } +// ListDeliveryStreams API operation for Amazon Kinesis Firehose. +// // Lists your delivery streams. // // The number of delivery streams might be too large to return using a single @@ -180,6 +329,13 @@ func (c *Firehose) ListDeliveryStreamsRequest(input *ListDeliveryStreamsInput) ( // output. If there are more delivery streams to list, you can request them // by specifying the name of the last delivery stream returned in the call in // the ExclusiveStartDeliveryStreamName parameter of a subsequent call. +// +// 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 Kinesis Firehose's +// API operation ListDeliveryStreams for usage and error information. func (c *Firehose) ListDeliveryStreams(input *ListDeliveryStreamsInput) (*ListDeliveryStreamsOutput, error) { req, out := c.ListDeliveryStreamsRequest(input) err := req.Send() @@ -188,7 +344,30 @@ func (c *Firehose) ListDeliveryStreams(input *ListDeliveryStreamsInput) (*ListDe const opPutRecord = "PutRecord" -// PutRecordRequest generates a request for the PutRecord operation. +// PutRecordRequest generates a "aws/request.Request" representing the +// client's request for the PutRecord operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutRecord for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutRecord method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutRecordRequest method. +// req, resp := client.PutRecordRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Firehose) PutRecordRequest(input *PutRecordInput) (req *request.Request, output *PutRecordOutput) { op := &request.Operation{ Name: opPutRecord, @@ -206,6 +385,8 @@ func (c *Firehose) PutRecordRequest(input *PutRecordInput) (req *request.Request return } +// PutRecord API operation for Amazon Kinesis Firehose. +// // Writes a single data record into an Amazon Kinesis Firehose delivery stream. // To write multiple data records into a delivery stream, use PutRecordBatch. // Applications using these operations are referred to as producers. @@ -239,6 +420,27 @@ func (c *Firehose) PutRecordRequest(input *PutRecordInput) (req *request.Request // are added to a delivery stream as it attempts to send the records to the // destination. If the destination is unreachable for more than 24 hours, the // data is no longer available. +// +// 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 Kinesis Firehose's +// API operation PutRecord for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// The specified resource could not be found. +// +// * InvalidArgumentException +// The specified input parameter has an value that is not valid. +// +// * ServiceUnavailableException +// The service is unavailable, back off and retry the operation. If you continue +// to see the exception, throughput limits for the delivery stream may have +// been exceeded. For more information about limits and how to request an increase, +// see Amazon Kinesis Firehose Limits (http://docs.aws.amazon.com/firehose/latest/dev/limits.html). +// func (c *Firehose) PutRecord(input *PutRecordInput) (*PutRecordOutput, error) { req, out := c.PutRecordRequest(input) err := req.Send() @@ -247,7 +449,30 @@ func (c *Firehose) PutRecord(input *PutRecordInput) (*PutRecordOutput, error) { const opPutRecordBatch = "PutRecordBatch" -// PutRecordBatchRequest generates a request for the PutRecordBatch operation. +// PutRecordBatchRequest generates a "aws/request.Request" representing the +// client's request for the PutRecordBatch operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutRecordBatch for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutRecordBatch method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutRecordBatchRequest method. +// req, resp := client.PutRecordBatchRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Firehose) PutRecordBatchRequest(input *PutRecordBatchInput) (req *request.Request, output *PutRecordBatchOutput) { op := &request.Operation{ Name: opPutRecordBatch, @@ -265,6 +490,8 @@ func (c *Firehose) PutRecordBatchRequest(input *PutRecordBatchInput) (req *reque return } +// PutRecordBatch API operation for Amazon Kinesis Firehose. +// // Writes multiple data records into a delivery stream in a single call, which // can achieve higher throughput per producer than when writing single records. // To write single data records into a delivery stream, use PutRecord. Applications @@ -321,6 +548,27 @@ func (c *Firehose) PutRecordBatchRequest(input *PutRecordBatchInput) (req *reque // are added to a delivery stream as it attempts to send the records to the // destination. If the destination is unreachable for more than 24 hours, the // data is no longer available. +// +// 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 Kinesis Firehose's +// API operation PutRecordBatch for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// The specified resource could not be found. +// +// * InvalidArgumentException +// The specified input parameter has an value that is not valid. +// +// * ServiceUnavailableException +// The service is unavailable, back off and retry the operation. If you continue +// to see the exception, throughput limits for the delivery stream may have +// been exceeded. For more information about limits and how to request an increase, +// see Amazon Kinesis Firehose Limits (http://docs.aws.amazon.com/firehose/latest/dev/limits.html). +// func (c *Firehose) PutRecordBatch(input *PutRecordBatchInput) (*PutRecordBatchOutput, error) { req, out := c.PutRecordBatchRequest(input) err := req.Send() @@ -329,7 +577,30 @@ func (c *Firehose) PutRecordBatch(input *PutRecordBatchInput) (*PutRecordBatchOu const opUpdateDestination = "UpdateDestination" -// UpdateDestinationRequest generates a request for the UpdateDestination operation. +// UpdateDestinationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDestination operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateDestination for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateDestination method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateDestinationRequest method. +// req, resp := client.UpdateDestinationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Firehose) UpdateDestinationRequest(input *UpdateDestinationInput) (req *request.Request, output *UpdateDestinationOutput) { op := &request.Operation{ Name: opUpdateDestination, @@ -347,6 +618,8 @@ func (c *Firehose) UpdateDestinationRequest(input *UpdateDestinationInput) (req return } +// UpdateDestination API operation for Amazon Kinesis Firehose. +// // Updates the specified destination of the specified delivery stream. Note: // Switching between Elasticsearch and other services is not supported. For // Elasticsearch destination, you can only update an existing Elasticsearch @@ -379,6 +652,28 @@ func (c *Firehose) UpdateDestinationRequest(input *UpdateDestinationInput) (req // updated, which can be retrieved with the DescribeDeliveryStream operation. // The new VersionId should be uses to set CurrentDeliveryStreamVersionId in // the next UpdateDestination operation. +// +// 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 Kinesis Firehose's +// API operation UpdateDestination for usage and error information. +// +// Returned Error Codes: +// * InvalidArgumentException +// The specified input parameter has an value that is not valid. +// +// * ResourceInUseException +// The resource is already in use and not available for this operation. +// +// * ResourceNotFoundException +// The specified resource could not be found. +// +// * ConcurrentModificationException +// Another modification has already happened. Fetch VersionId again and use +// it to update the destination. +// func (c *Firehose) UpdateDestination(input *UpdateDestinationInput) (*UpdateDestinationOutput, error) { req, out := c.UpdateDestinationRequest(input) err := req.Send() @@ -465,14 +760,14 @@ type CopyCommand struct { // command (http://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html). Some // possible examples that would apply to Firehose are as follows. // - // delimiter '\t' lzop; - fields are delimited with "\t" (TAB character) and + // delimiter '\t' lzop; - fields are delimited with "\t" (TAB character) and // compressed using lzop. // - // delimiter '| - fields are delimited with "|" (this is the default delimiter). + // delimiter '| - fields are delimited with "|" (this is the default delimiter). // - // delimiter '|' escape - the delimiter should be escaped. + // delimiter '|' escape - the delimiter should be escaped. // - // fixedwidth 'venueid:3,venuename:25,venuecity:12,venuestate:2,venueseats:6' + // fixedwidth 'venueid:3,venuename:25,venuecity:12,venuestate:2,venueseats:6' // - fields are fixed width in the source, with each width specified after every // column in the table. // @@ -486,6 +781,8 @@ type CopyCommand struct { DataTableColumns *string `type:"string"` // The name of the target table. The table must already exist in the database. + // + // DataTableName is a required field DataTableName *string `min:"1" type:"string" required:"true"` } @@ -520,6 +817,8 @@ type CreateDeliveryStreamInput struct { _ struct{} `type:"structure"` // The name of the delivery stream. + // + // DeliveryStreamName is a required field DeliveryStreamName *string `min:"1" type:"string" required:"true"` // The destination in Amazon ES. This value cannot be specified if Amazon S3 @@ -601,6 +900,8 @@ type DeleteDeliveryStreamInput struct { _ struct{} `type:"structure"` // The name of the delivery stream. + // + // DeliveryStreamName is a required field DeliveryStreamName *string `min:"1" type:"string" required:"true"` } @@ -653,18 +954,28 @@ type DeliveryStreamDescription struct { CreateTimestamp *time.Time `type:"timestamp" timestampFormat:"unix"` // The Amazon Resource Name (ARN) of the delivery stream. + // + // DeliveryStreamARN is a required field DeliveryStreamARN *string `type:"string" required:"true"` // The name of the delivery stream. + // + // DeliveryStreamName is a required field DeliveryStreamName *string `min:"1" type:"string" required:"true"` // The status of the delivery stream. + // + // DeliveryStreamStatus is a required field DeliveryStreamStatus *string `type:"string" required:"true" enum:"DeliveryStreamStatus"` // The destinations. + // + // Destinations is a required field Destinations []*DestinationDescription `type:"list" required:"true"` // Indicates whether there are more destinations available to list. + // + // HasMoreDestinations is a required field HasMoreDestinations *bool `type:"boolean" required:"true"` // The date and time that the delivery stream was last updated. @@ -675,6 +986,8 @@ type DeliveryStreamDescription struct { // VersionId is required when updating the destination. This is so that the // service knows it is applying the changes to the correct version of the delivery // stream. + // + // VersionId is a required field VersionId *string `min:"1" type:"string" required:"true"` } @@ -693,6 +1006,8 @@ type DescribeDeliveryStreamInput struct { _ struct{} `type:"structure"` // The name of the delivery stream. + // + // DeliveryStreamName is a required field DeliveryStreamName *string `min:"1" type:"string" required:"true"` // Specifies the destination ID to start returning the destination information. @@ -741,6 +1056,8 @@ type DescribeDeliveryStreamOutput struct { _ struct{} `type:"structure"` // Information about the delivery stream. + // + // DeliveryStreamDescription is a required field DeliveryStreamDescription *DeliveryStreamDescription `type:"structure" required:"true"` } @@ -759,6 +1076,8 @@ type DestinationDescription struct { _ struct{} `type:"structure"` // The ID of the destination. + // + // DestinationId is a required field DestinationId *string `min:"1" type:"string" required:"true"` // The destination in Amazon ES. @@ -839,9 +1158,13 @@ type ElasticsearchDestinationConfiguration struct { // The ARN of the Amazon ES domain. The IAM role must have permission for DescribeElasticsearchDomain, // DescribeElasticsearchDomains , and DescribeElasticsearchDomainConfig after // assuming RoleARN. + // + // DomainARN is a required field DomainARN *string `min:"1" type:"string" required:"true"` // The Elasticsearch index name. + // + // IndexName is a required field IndexName *string `min:"1" type:"string" required:"true"` // The Elasticsearch index rotation period. Index rotation appends a timestamp @@ -857,6 +1180,8 @@ type ElasticsearchDestinationConfiguration struct { // The ARN of the IAM role to be assumed by Firehose for calling the Amazon // ES Configuration API and for indexing documents. For more information, see // Amazon S3 Bucket Access (http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3). + // + // RoleARN is a required field RoleARN *string `min:"1" type:"string" required:"true"` // Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, @@ -870,9 +1195,13 @@ type ElasticsearchDestinationConfiguration struct { S3BackupMode *string `type:"string" enum:"ElasticsearchS3BackupMode"` // Describes the configuration of a destination in Amazon S3. + // + // S3Configuration is a required field S3Configuration *S3DestinationConfiguration `type:"structure" required:"true"` // The Elasticsearch type name. + // + // TypeName is a required field TypeName *string `min:"1" type:"string" required:"true"` } @@ -1067,9 +1396,10 @@ type ElasticsearchRetryOptions struct { _ struct{} `type:"structure"` // After an initial failure to deliver to Amazon ES, the total amount of time - // during which Firehose re-attempts delivery. After this time has elapsed, - // the failed documents are written to Amazon S3. Default value is 300 seconds. - // A value of 0 (zero) results in no retries. + // during which Firehose re-attempts delivery (including the first attempt). + // After this time has elapsed, the failed documents are written to Amazon S3. + // Default value is 300 seconds (5 minutes). A value of 0 (zero) results in + // no retries. DurationInSeconds *int64 `type:"integer"` } @@ -1126,6 +1456,8 @@ type KMSEncryptionConfig struct { // The ARN of the encryption key. Must belong to the same region as the destination // Amazon S3 bucket. + // + // AWSKMSKeyARN is a required field AWSKMSKeyARN *string `min:"1" type:"string" required:"true"` } @@ -1197,9 +1529,13 @@ type ListDeliveryStreamsOutput struct { _ struct{} `type:"structure"` // The names of the delivery streams. + // + // DeliveryStreamNames is a required field DeliveryStreamNames []*string `type:"list" required:"true"` // Indicates whether there are more delivery streams available to list. + // + // HasMoreDeliveryStreams is a required field HasMoreDeliveryStreams *bool `type:"boolean" required:"true"` } @@ -1218,9 +1554,13 @@ type PutRecordBatchInput struct { _ struct{} `type:"structure"` // The name of the delivery stream. + // + // DeliveryStreamName is a required field DeliveryStreamName *string `min:"1" type:"string" required:"true"` // One or more records. + // + // Records is a required field Records []*Record `min:"1" type:"list" required:"true"` } @@ -1271,10 +1611,14 @@ type PutRecordBatchOutput struct { _ struct{} `type:"structure"` // The number of unsuccessfully written records. + // + // FailedPutCount is a required field FailedPutCount *int64 `type:"integer" required:"true"` // The results for the individual records. The index of each element matches // the same index in which records were sent. + // + // RequestResponses is a required field RequestResponses []*PutRecordBatchResponseEntry `min:"1" type:"list" required:"true"` } @@ -1320,9 +1664,13 @@ type PutRecordInput struct { _ struct{} `type:"structure"` // The name of the delivery stream. + // + // DeliveryStreamName is a required field DeliveryStreamName *string `min:"1" type:"string" required:"true"` // The record. + // + // Record is a required field Record *Record `type:"structure" required:"true"` } @@ -1365,6 +1713,8 @@ type PutRecordOutput struct { _ struct{} `type:"structure"` // The ID of the record. + // + // RecordId is a required field RecordId *string `min:"1" type:"string" required:"true"` } @@ -1386,6 +1736,8 @@ type Record struct { // size of the data blob, before base64-encoding, is 1,000 KB. // // Data is automatically base64 encoded/decoded by the SDK. + // + // Data is a required field Data []byte `type:"blob" required:"true"` } @@ -1420,15 +1772,27 @@ type RedshiftDestinationConfiguration struct { CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` // The database connection string. + // + // ClusterJDBCURL is a required field ClusterJDBCURL *string `min:"1" type:"string" required:"true"` // The COPY command. + // + // CopyCommand is a required field CopyCommand *CopyCommand `type:"structure" required:"true"` // The user password. + // + // Password is a required field Password *string `min:"6" type:"string" required:"true"` + // Configures retry behavior in the event that Firehose is unable to deliver + // documents to Amazon Redshift. Default value is 3600 (60 minutes). + RetryOptions *RedshiftRetryOptions `type:"structure"` + // The ARN of the AWS credentials. + // + // RoleARN is a required field RoleARN *string `min:"1" type:"string" required:"true"` // The S3 configuration for the intermediate location from which Amazon Redshift @@ -1437,9 +1801,13 @@ type RedshiftDestinationConfiguration struct { // The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationConfiguration.S3Configuration // because the Amazon Redshift COPY operation that reads from the S3 bucket // doesn't support these compression formats. + // + // S3Configuration is a required field S3Configuration *S3DestinationConfiguration `type:"structure" required:"true"` // The name of the user. + // + // Username is a required field Username *string `min:"1" type:"string" required:"true"` } @@ -1511,18 +1879,32 @@ type RedshiftDestinationDescription struct { CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` // The database connection string. + // + // ClusterJDBCURL is a required field ClusterJDBCURL *string `min:"1" type:"string" required:"true"` // The COPY command. + // + // CopyCommand is a required field CopyCommand *CopyCommand `type:"structure" required:"true"` + // Configures retry behavior in the event that Firehose is unable to deliver + // documents to Amazon Redshift. Default value is 3600 (60 minutes). + RetryOptions *RedshiftRetryOptions `type:"structure"` + // The ARN of the AWS credentials. + // + // RoleARN is a required field RoleARN *string `min:"1" type:"string" required:"true"` // The Amazon S3 destination. + // + // S3DestinationDescription is a required field S3DestinationDescription *S3DestinationDescription `type:"structure" required:"true"` // The name of the user. + // + // Username is a required field Username *string `min:"1" type:"string" required:"true"` } @@ -1552,6 +1934,10 @@ type RedshiftDestinationUpdate struct { // The user password. Password *string `min:"6" type:"string"` + // Configures retry behavior in the event that Firehose is unable to deliver + // documents to Amazon Redshift. Default value is 3600 (60 minutes). + RetryOptions *RedshiftRetryOptions `type:"structure"` + // The ARN of the AWS credentials. RoleARN *string `min:"1" type:"string"` @@ -1608,11 +1994,36 @@ func (s *RedshiftDestinationUpdate) Validate() error { return nil } +// Configures retry behavior in the event that Firehose is unable to deliver +// documents to Amazon Redshift. +type RedshiftRetryOptions struct { + _ struct{} `type:"structure"` + + // The length of time during which Firehose retries delivery after a failure, + // starting from the initial request and including the first attempt. The default + // value is 3600 seconds (60 minutes). Firehose does not retry if the value + // of DurationInSeconds is 0 (zero) or if the first delivery attempt takes longer + // than the current value. + DurationInSeconds *int64 `type:"integer"` +} + +// String returns the string representation +func (s RedshiftRetryOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RedshiftRetryOptions) GoString() string { + return s.String() +} + // Describes the configuration of a destination in Amazon S3. type S3DestinationConfiguration struct { _ struct{} `type:"structure"` // The ARN of the S3 bucket. + // + // BucketARN is a required field BucketARN *string `min:"1" type:"string" required:"true"` // The buffering option. If no value is specified, BufferingHints object default @@ -1638,10 +2049,12 @@ type S3DestinationConfiguration struct { // format prefix. Note that if the prefix ends with a slash, it appears as a // folder in the S3 bucket. For more information, see Amazon S3 Object Name // Format (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html) - // in the guide-fh-dev (http://docs.aws.amazon.com/firehose/latest/dev/). + // in the Amazon Kinesis Firehose Developer Guide (http://docs.aws.amazon.com/firehose/latest/dev/). Prefix *string `type:"string"` // The ARN of the AWS credentials. + // + // RoleARN is a required field RoleARN *string `min:"1" type:"string" required:"true"` } @@ -1692,20 +2105,28 @@ type S3DestinationDescription struct { _ struct{} `type:"structure"` // The ARN of the S3 bucket. + // + // BucketARN is a required field BucketARN *string `min:"1" type:"string" required:"true"` // The buffering option. If no value is specified, BufferingHints object default // values are used. + // + // BufferingHints is a required field BufferingHints *BufferingHints `type:"structure" required:"true"` // Describes CloudWatch logging options for your delivery stream. CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` // The compression format. If no value is specified, the default is NOCOMPRESSION. + // + // CompressionFormat is a required field CompressionFormat *string `type:"string" required:"true" enum:"CompressionFormat"` // The encryption configuration. If no value is specified, the default is no // encryption. + // + // EncryptionConfiguration is a required field EncryptionConfiguration *EncryptionConfiguration `type:"structure" required:"true"` // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered @@ -1713,10 +2134,12 @@ type S3DestinationDescription struct { // format prefix. Note that if the prefix ends with a slash, it appears as a // folder in the S3 bucket. For more information, see Amazon S3 Object Name // Format (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html) - // in the guide-fh-dev (http://docs.aws.amazon.com/firehose/latest/dev/). + // in the Amazon Kinesis Firehose Developer Guide (http://docs.aws.amazon.com/firehose/latest/dev/). Prefix *string `type:"string"` // The ARN of the AWS credentials. + // + // RoleARN is a required field RoleARN *string `min:"1" type:"string" required:"true"` } @@ -1760,7 +2183,7 @@ type S3DestinationUpdate struct { // format prefix. Note that if the prefix ends with a slash, it appears as a // folder in the S3 bucket. For more information, see Amazon S3 Object Name // Format (http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html) - // in the guide-fh-dev (http://docs.aws.amazon.com/firehose/latest/dev/). + // in the Amazon Kinesis Firehose Developer Guide (http://docs.aws.amazon.com/firehose/latest/dev/). Prefix *string `type:"string"` // The ARN of the AWS credentials. @@ -1813,12 +2236,18 @@ type UpdateDestinationInput struct { // is null, then the update destination fails. After the update is successful, // the VersionId value is updated. The service then performs a merge of the // old configuration with the new configuration. + // + // CurrentDeliveryStreamVersionId is a required field CurrentDeliveryStreamVersionId *string `min:"1" type:"string" required:"true"` // The name of the delivery stream. + // + // DeliveryStreamName is a required field DeliveryStreamName *string `min:"1" type:"string" required:"true"` // The ID of the destination. + // + // DestinationId is a required field DestinationId *string `min:"1" type:"string" required:"true"` // Describes an update for a destination in Amazon ES. @@ -1900,46 +2329,56 @@ func (s UpdateDestinationOutput) GoString() string { } const ( - // @enum CompressionFormat + // CompressionFormatUncompressed is a CompressionFormat enum value CompressionFormatUncompressed = "UNCOMPRESSED" - // @enum CompressionFormat + + // CompressionFormatGzip is a CompressionFormat enum value CompressionFormatGzip = "GZIP" - // @enum CompressionFormat + + // CompressionFormatZip is a CompressionFormat enum value CompressionFormatZip = "ZIP" - // @enum CompressionFormat + + // CompressionFormatSnappy is a CompressionFormat enum value CompressionFormatSnappy = "Snappy" ) const ( - // @enum DeliveryStreamStatus + // DeliveryStreamStatusCreating is a DeliveryStreamStatus enum value DeliveryStreamStatusCreating = "CREATING" - // @enum DeliveryStreamStatus + + // DeliveryStreamStatusDeleting is a DeliveryStreamStatus enum value DeliveryStreamStatusDeleting = "DELETING" - // @enum DeliveryStreamStatus + + // DeliveryStreamStatusActive is a DeliveryStreamStatus enum value DeliveryStreamStatusActive = "ACTIVE" ) const ( - // @enum ElasticsearchIndexRotationPeriod + // ElasticsearchIndexRotationPeriodNoRotation is a ElasticsearchIndexRotationPeriod enum value ElasticsearchIndexRotationPeriodNoRotation = "NoRotation" - // @enum ElasticsearchIndexRotationPeriod + + // ElasticsearchIndexRotationPeriodOneHour is a ElasticsearchIndexRotationPeriod enum value ElasticsearchIndexRotationPeriodOneHour = "OneHour" - // @enum ElasticsearchIndexRotationPeriod + + // ElasticsearchIndexRotationPeriodOneDay is a ElasticsearchIndexRotationPeriod enum value ElasticsearchIndexRotationPeriodOneDay = "OneDay" - // @enum ElasticsearchIndexRotationPeriod + + // ElasticsearchIndexRotationPeriodOneWeek is a ElasticsearchIndexRotationPeriod enum value ElasticsearchIndexRotationPeriodOneWeek = "OneWeek" - // @enum ElasticsearchIndexRotationPeriod + + // ElasticsearchIndexRotationPeriodOneMonth is a ElasticsearchIndexRotationPeriod enum value ElasticsearchIndexRotationPeriodOneMonth = "OneMonth" ) const ( - // @enum ElasticsearchS3BackupMode + // ElasticsearchS3BackupModeFailedDocumentsOnly is a ElasticsearchS3BackupMode enum value ElasticsearchS3BackupModeFailedDocumentsOnly = "FailedDocumentsOnly" - // @enum ElasticsearchS3BackupMode + + // ElasticsearchS3BackupModeAllDocuments is a ElasticsearchS3BackupMode enum value ElasticsearchS3BackupModeAllDocuments = "AllDocuments" ) const ( - // @enum NoEncryptionConfig + // NoEncryptionConfigNoEncryption is a NoEncryptionConfig enum value NoEncryptionConfigNoEncryption = "NoEncryption" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/glacier/api.go b/vendor/github.com/aws/aws-sdk-go/service/glacier/api.go index dedf76f4269e..fd3d333ecdb5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/glacier/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/glacier/api.go @@ -14,7 +14,30 @@ import ( const opAbortMultipartUpload = "AbortMultipartUpload" -// AbortMultipartUploadRequest generates a request for the AbortMultipartUpload operation. +// AbortMultipartUploadRequest generates a "aws/request.Request" representing the +// client's request for the AbortMultipartUpload operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AbortMultipartUpload for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AbortMultipartUpload method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AbortMultipartUploadRequest method. +// req, resp := client.AbortMultipartUploadRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) AbortMultipartUploadRequest(input *AbortMultipartUploadInput) (req *request.Request, output *AbortMultipartUploadOutput) { op := &request.Operation{ Name: opAbortMultipartUpload, @@ -34,6 +57,8 @@ func (c *Glacier) AbortMultipartUploadRequest(input *AbortMultipartUploadInput) return } +// AbortMultipartUpload API operation for Amazon Glacier. +// // This operation aborts a multipart upload identified by the upload ID. // // After the Abort Multipart Upload request succeeds, you cannot upload any @@ -54,6 +79,28 @@ func (c *Glacier) AbortMultipartUploadRequest(input *AbortMultipartUploadInput) // Archives in Amazon Glacier (http://docs.aws.amazon.com/amazonglacier/latest/dev/working-with-archives.html) // and Abort Multipart Upload (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-multipart-abort-upload.html) // in the Amazon Glacier Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon Glacier's +// API operation AbortMultipartUpload for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) AbortMultipartUpload(input *AbortMultipartUploadInput) (*AbortMultipartUploadOutput, error) { req, out := c.AbortMultipartUploadRequest(input) err := req.Send() @@ -62,7 +109,30 @@ func (c *Glacier) AbortMultipartUpload(input *AbortMultipartUploadInput) (*Abort const opAbortVaultLock = "AbortVaultLock" -// AbortVaultLockRequest generates a request for the AbortVaultLock operation. +// AbortVaultLockRequest generates a "aws/request.Request" representing the +// client's request for the AbortVaultLock operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AbortVaultLock for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AbortVaultLock method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AbortVaultLockRequest method. +// req, resp := client.AbortVaultLockRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) AbortVaultLockRequest(input *AbortVaultLockInput) (req *request.Request, output *AbortVaultLockOutput) { op := &request.Operation{ Name: opAbortVaultLock, @@ -82,6 +152,8 @@ func (c *Glacier) AbortVaultLockRequest(input *AbortVaultLockInput) (req *reques return } +// AbortVaultLock API operation for Amazon Glacier. +// // This operation aborts the vault locking process if the vault lock is not // in the Locked state. If the vault lock is in the Locked state when this operation // is requested, the operation returns an AccessDeniedException error. Aborting @@ -98,6 +170,28 @@ func (c *Glacier) AbortVaultLockRequest(input *AbortVaultLockInput) (req *reques // This operation is idempotent. You can successfully invoke this operation // multiple times, if the vault lock is in the InProgress state or if there // is no policy associated with the vault. +// +// 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 Glacier's +// API operation AbortVaultLock for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) AbortVaultLock(input *AbortVaultLockInput) (*AbortVaultLockOutput, error) { req, out := c.AbortVaultLockRequest(input) err := req.Send() @@ -106,7 +200,30 @@ func (c *Glacier) AbortVaultLock(input *AbortVaultLockInput) (*AbortVaultLockOut const opAddTagsToVault = "AddTagsToVault" -// AddTagsToVaultRequest generates a request for the AddTagsToVault operation. +// AddTagsToVaultRequest generates a "aws/request.Request" representing the +// client's request for the AddTagsToVault operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AddTagsToVault for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AddTagsToVault method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AddTagsToVaultRequest method. +// req, resp := client.AddTagsToVaultRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) AddTagsToVaultRequest(input *AddTagsToVaultInput) (req *request.Request, output *AddTagsToVaultOutput) { op := &request.Operation{ Name: opAddTagsToVault, @@ -126,12 +243,39 @@ func (c *Glacier) AddTagsToVaultRequest(input *AddTagsToVaultInput) (req *reques return } +// AddTagsToVault API operation for Amazon Glacier. +// // This operation adds the specified tags to a vault. Each tag is composed of // a key and a value. Each vault can have up to 10 tags. If your request would // cause the tag limit for the vault to be exceeded, the operation throws the // LimitExceededException error. If a tag already exists on the vault under // a specified key, the existing key value will be overwritten. For more information // about tags, see Tagging Amazon Glacier Resources (http://docs.aws.amazon.com/amazonglacier/latest/dev/tagging.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. +// +// See the AWS API reference guide for Amazon Glacier's +// API operation AddTagsToVault for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * LimitExceededException +// Returned if the request results in a vault or account limit being exceeded. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) AddTagsToVault(input *AddTagsToVaultInput) (*AddTagsToVaultOutput, error) { req, out := c.AddTagsToVaultRequest(input) err := req.Send() @@ -140,7 +284,30 @@ func (c *Glacier) AddTagsToVault(input *AddTagsToVaultInput) (*AddTagsToVaultOut const opCompleteMultipartUpload = "CompleteMultipartUpload" -// CompleteMultipartUploadRequest generates a request for the CompleteMultipartUpload operation. +// CompleteMultipartUploadRequest generates a "aws/request.Request" representing the +// client's request for the CompleteMultipartUpload operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CompleteMultipartUpload for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CompleteMultipartUpload method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CompleteMultipartUploadRequest method. +// req, resp := client.CompleteMultipartUploadRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) CompleteMultipartUploadRequest(input *CompleteMultipartUploadInput) (req *request.Request, output *ArchiveCreationOutput) { op := &request.Operation{ Name: opCompleteMultipartUpload, @@ -158,6 +325,8 @@ func (c *Glacier) CompleteMultipartUploadRequest(input *CompleteMultipartUploadI return } +// CompleteMultipartUpload API operation for Amazon Glacier. +// // You call this operation to inform Amazon Glacier that all the archive parts // have been uploaded and that Amazon Glacier can now assemble the archive from // the uploaded parts. After assembling and saving the archive to the vault, @@ -202,6 +371,28 @@ func (c *Glacier) CompleteMultipartUploadRequest(input *CompleteMultipartUploadI // Archives in Parts (Multipart Upload) (http://docs.aws.amazon.com/amazonglacier/latest/dev/uploading-archive-mpu.html) // and Complete Multipart Upload (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-multipart-complete-upload.html) // in the Amazon Glacier Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon Glacier's +// API operation CompleteMultipartUpload for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) CompleteMultipartUpload(input *CompleteMultipartUploadInput) (*ArchiveCreationOutput, error) { req, out := c.CompleteMultipartUploadRequest(input) err := req.Send() @@ -210,7 +401,30 @@ func (c *Glacier) CompleteMultipartUpload(input *CompleteMultipartUploadInput) ( const opCompleteVaultLock = "CompleteVaultLock" -// CompleteVaultLockRequest generates a request for the CompleteVaultLock operation. +// CompleteVaultLockRequest generates a "aws/request.Request" representing the +// client's request for the CompleteVaultLock operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CompleteVaultLock for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CompleteVaultLock method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CompleteVaultLockRequest method. +// req, resp := client.CompleteVaultLockRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) CompleteVaultLockRequest(input *CompleteVaultLockInput) (req *request.Request, output *CompleteVaultLockOutput) { op := &request.Operation{ Name: opCompleteVaultLock, @@ -230,6 +444,8 @@ func (c *Glacier) CompleteVaultLockRequest(input *CompleteVaultLockInput) (req * return } +// CompleteVaultLock API operation for Amazon Glacier. +// // This operation completes the vault locking process by transitioning the vault // lock from the InProgress state to the Locked state, which causes the vault // lock policy to become unchangeable. A vault lock is put into the InProgress @@ -245,6 +461,28 @@ func (c *Glacier) CompleteVaultLockRequest(input *CompleteVaultLockInput) (req * // the Locked state, the operation returns an AccessDeniedException error. If // an invalid lock ID is passed in the request when the vault lock is in the // InProgress state, the operation throws an InvalidParameter error. +// +// 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 Glacier's +// API operation CompleteVaultLock for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) CompleteVaultLock(input *CompleteVaultLockInput) (*CompleteVaultLockOutput, error) { req, out := c.CompleteVaultLockRequest(input) err := req.Send() @@ -253,7 +491,30 @@ func (c *Glacier) CompleteVaultLock(input *CompleteVaultLockInput) (*CompleteVau const opCreateVault = "CreateVault" -// CreateVaultRequest generates a request for the CreateVault operation. +// CreateVaultRequest generates a "aws/request.Request" representing the +// client's request for the CreateVault operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateVault for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateVault method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateVaultRequest method. +// req, resp := client.CreateVaultRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) CreateVaultRequest(input *CreateVaultInput) (req *request.Request, output *CreateVaultOutput) { op := &request.Operation{ Name: opCreateVault, @@ -271,6 +532,8 @@ func (c *Glacier) CreateVaultRequest(input *CreateVaultInput) (req *request.Requ return } +// CreateVault API operation for Amazon Glacier. +// // This operation creates a new vault with the specified name. The name of the // vault must be unique within a region for an AWS account. You can create up // to 1,000 vaults per account. If you need to create more vaults, contact Amazon @@ -295,6 +558,27 @@ func (c *Glacier) CreateVaultRequest(input *CreateVaultInput) (req *request.Requ // in Amazon Glacier (http://docs.aws.amazon.com/amazonglacier/latest/dev/creating-vaults.html) // and Create Vault (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-put.html) // in the Amazon Glacier Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon Glacier's +// API operation CreateVault for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// +// * LimitExceededException +// Returned if the request results in a vault or account limit being exceeded. +// func (c *Glacier) CreateVault(input *CreateVaultInput) (*CreateVaultOutput, error) { req, out := c.CreateVaultRequest(input) err := req.Send() @@ -303,7 +587,30 @@ func (c *Glacier) CreateVault(input *CreateVaultInput) (*CreateVaultOutput, erro const opDeleteArchive = "DeleteArchive" -// DeleteArchiveRequest generates a request for the DeleteArchive operation. +// DeleteArchiveRequest generates a "aws/request.Request" representing the +// client's request for the DeleteArchive operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteArchive for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteArchive method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteArchiveRequest method. +// req, resp := client.DeleteArchiveRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) DeleteArchiveRequest(input *DeleteArchiveInput) (req *request.Request, output *DeleteArchiveOutput) { op := &request.Operation{ Name: opDeleteArchive, @@ -323,6 +630,8 @@ func (c *Glacier) DeleteArchiveRequest(input *DeleteArchiveInput) (req *request. return } +// DeleteArchive API operation for Amazon Glacier. +// // This operation deletes an archive from a vault. Subsequent requests to initiate // a retrieval of this archive will fail. Archive retrievals that are in progress // for this archive ID may or may not succeed according to the following scenarios: @@ -344,6 +653,28 @@ func (c *Glacier) DeleteArchiveRequest(input *DeleteArchiveInput) (req *request. // in Amazon Glacier (http://docs.aws.amazon.com/amazonglacier/latest/dev/deleting-an-archive.html) // and Delete Archive (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-archive-delete.html) // in the Amazon Glacier Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon Glacier's +// API operation DeleteArchive for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) DeleteArchive(input *DeleteArchiveInput) (*DeleteArchiveOutput, error) { req, out := c.DeleteArchiveRequest(input) err := req.Send() @@ -352,7 +683,30 @@ func (c *Glacier) DeleteArchive(input *DeleteArchiveInput) (*DeleteArchiveOutput const opDeleteVault = "DeleteVault" -// DeleteVaultRequest generates a request for the DeleteVault operation. +// DeleteVaultRequest generates a "aws/request.Request" representing the +// client's request for the DeleteVault operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteVault for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteVault method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteVaultRequest method. +// req, resp := client.DeleteVaultRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) DeleteVaultRequest(input *DeleteVaultInput) (req *request.Request, output *DeleteVaultOutput) { op := &request.Operation{ Name: opDeleteVault, @@ -372,6 +726,8 @@ func (c *Glacier) DeleteVaultRequest(input *DeleteVaultInput) (req *request.Requ return } +// DeleteVault API operation for Amazon Glacier. +// // This operation deletes a vault. Amazon Glacier will delete a vault only if // there are no archives in the vault as of the last inventory and there have // been no writes to the vault since the last inventory. If either of these @@ -395,6 +751,28 @@ func (c *Glacier) DeleteVaultRequest(input *DeleteVaultInput) (req *request.Requ // in Amazon Glacier (http://docs.aws.amazon.com/amazonglacier/latest/dev/deleting-vaults.html) // and Delete Vault (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-delete.html) // in the Amazon Glacier Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon Glacier's +// API operation DeleteVault for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) DeleteVault(input *DeleteVaultInput) (*DeleteVaultOutput, error) { req, out := c.DeleteVaultRequest(input) err := req.Send() @@ -403,7 +781,30 @@ func (c *Glacier) DeleteVault(input *DeleteVaultInput) (*DeleteVaultOutput, erro const opDeleteVaultAccessPolicy = "DeleteVaultAccessPolicy" -// DeleteVaultAccessPolicyRequest generates a request for the DeleteVaultAccessPolicy operation. +// DeleteVaultAccessPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteVaultAccessPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteVaultAccessPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteVaultAccessPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteVaultAccessPolicyRequest method. +// req, resp := client.DeleteVaultAccessPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) DeleteVaultAccessPolicyRequest(input *DeleteVaultAccessPolicyInput) (req *request.Request, output *DeleteVaultAccessPolicyOutput) { op := &request.Operation{ Name: opDeleteVaultAccessPolicy, @@ -423,6 +824,8 @@ func (c *Glacier) DeleteVaultAccessPolicyRequest(input *DeleteVaultAccessPolicyI return } +// DeleteVaultAccessPolicy API operation for Amazon Glacier. +// // This operation deletes the access policy associated with the specified vault. // The operation is eventually consistent; that is, it might take some time // for Amazon Glacier to completely remove the access policy, and you might @@ -433,6 +836,28 @@ func (c *Glacier) DeleteVaultAccessPolicyRequest(input *DeleteVaultAccessPolicyI // if there is no policy associated with the vault. For more information about // vault access policies, see Amazon Glacier Access Control with Vault Access // Policies (http://docs.aws.amazon.com/amazonglacier/latest/dev/vault-access-policy.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. +// +// See the AWS API reference guide for Amazon Glacier's +// API operation DeleteVaultAccessPolicy for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) DeleteVaultAccessPolicy(input *DeleteVaultAccessPolicyInput) (*DeleteVaultAccessPolicyOutput, error) { req, out := c.DeleteVaultAccessPolicyRequest(input) err := req.Send() @@ -441,7 +866,30 @@ func (c *Glacier) DeleteVaultAccessPolicy(input *DeleteVaultAccessPolicyInput) ( const opDeleteVaultNotifications = "DeleteVaultNotifications" -// DeleteVaultNotificationsRequest generates a request for the DeleteVaultNotifications operation. +// DeleteVaultNotificationsRequest generates a "aws/request.Request" representing the +// client's request for the DeleteVaultNotifications operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteVaultNotifications for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteVaultNotifications method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteVaultNotificationsRequest method. +// req, resp := client.DeleteVaultNotificationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) DeleteVaultNotificationsRequest(input *DeleteVaultNotificationsInput) (req *request.Request, output *DeleteVaultNotificationsOutput) { op := &request.Operation{ Name: opDeleteVaultNotifications, @@ -461,6 +909,8 @@ func (c *Glacier) DeleteVaultNotificationsRequest(input *DeleteVaultNotification return } +// DeleteVaultNotifications API operation for Amazon Glacier. +// // This operation deletes the notification configuration set for a vault. The // operation is eventually consistent; that is, it might take some time for // Amazon Glacier to completely disable the notifications and you might still @@ -476,6 +926,28 @@ func (c *Glacier) DeleteVaultNotificationsRequest(input *DeleteVaultNotification // Notifications in Amazon Glacier (http://docs.aws.amazon.com/amazonglacier/latest/dev/configuring-notifications.html) // and Delete Vault Notification Configuration (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-notifications-delete.html) // in the Amazon Glacier Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon Glacier's +// API operation DeleteVaultNotifications for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) DeleteVaultNotifications(input *DeleteVaultNotificationsInput) (*DeleteVaultNotificationsOutput, error) { req, out := c.DeleteVaultNotificationsRequest(input) err := req.Send() @@ -484,7 +956,30 @@ func (c *Glacier) DeleteVaultNotifications(input *DeleteVaultNotificationsInput) const opDescribeJob = "DescribeJob" -// DescribeJobRequest generates a request for the DescribeJob operation. +// DescribeJobRequest generates a "aws/request.Request" representing the +// client's request for the DescribeJob operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeJob for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeJob method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeJobRequest method. +// req, resp := client.DescribeJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) DescribeJobRequest(input *DescribeJobInput) (req *request.Request, output *JobDescription) { op := &request.Operation{ Name: opDescribeJob, @@ -502,6 +997,8 @@ func (c *Glacier) DescribeJobRequest(input *DescribeJobInput) (req *request.Requ return } +// DescribeJob API operation for Amazon Glacier. +// // This operation returns information about a job you previously initiated, // including the job initiation date, the user who initiated the job, the job // status code/message and the Amazon SNS topic to notify after Amazon Glacier @@ -524,6 +1021,28 @@ func (c *Glacier) DescribeJobRequest(input *DescribeJobInput) (req *request.Requ // For information about the underlying REST API, go to Working with Archives // in Amazon Glacier (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-describe-job-get.html) // in the Amazon Glacier Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon Glacier's +// API operation DescribeJob for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) DescribeJob(input *DescribeJobInput) (*JobDescription, error) { req, out := c.DescribeJobRequest(input) err := req.Send() @@ -532,7 +1051,30 @@ func (c *Glacier) DescribeJob(input *DescribeJobInput) (*JobDescription, error) const opDescribeVault = "DescribeVault" -// DescribeVaultRequest generates a request for the DescribeVault operation. +// DescribeVaultRequest generates a "aws/request.Request" representing the +// client's request for the DescribeVault operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeVault for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeVault method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeVaultRequest method. +// req, resp := client.DescribeVaultRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) DescribeVaultRequest(input *DescribeVaultInput) (req *request.Request, output *DescribeVaultOutput) { op := &request.Operation{ Name: opDescribeVault, @@ -550,6 +1092,8 @@ func (c *Glacier) DescribeVaultRequest(input *DescribeVaultInput) (req *request. return } +// DescribeVault API operation for Amazon Glacier. +// // This operation returns information about a vault, including the vault's Amazon // Resource Name (ARN), the date the vault was created, the number of archives // it contains, and the total size of all the archives in the vault. The number @@ -570,6 +1114,28 @@ func (c *Glacier) DescribeVaultRequest(input *DescribeVaultInput) (req *request. // Metadata in Amazon Glacier (http://docs.aws.amazon.com/amazonglacier/latest/dev/retrieving-vault-info.html) // and Describe Vault (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-get.html) // in the Amazon Glacier Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon Glacier's +// API operation DescribeVault for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) DescribeVault(input *DescribeVaultInput) (*DescribeVaultOutput, error) { req, out := c.DescribeVaultRequest(input) err := req.Send() @@ -578,7 +1144,30 @@ func (c *Glacier) DescribeVault(input *DescribeVaultInput) (*DescribeVaultOutput const opGetDataRetrievalPolicy = "GetDataRetrievalPolicy" -// GetDataRetrievalPolicyRequest generates a request for the GetDataRetrievalPolicy operation. +// GetDataRetrievalPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetDataRetrievalPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetDataRetrievalPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetDataRetrievalPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetDataRetrievalPolicyRequest method. +// req, resp := client.GetDataRetrievalPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) GetDataRetrievalPolicyRequest(input *GetDataRetrievalPolicyInput) (req *request.Request, output *GetDataRetrievalPolicyOutput) { op := &request.Operation{ Name: opGetDataRetrievalPolicy, @@ -596,9 +1185,29 @@ func (c *Glacier) GetDataRetrievalPolicyRequest(input *GetDataRetrievalPolicyInp return } +// GetDataRetrievalPolicy API operation for Amazon Glacier. +// // This operation returns the current data retrieval policy for the account // and region specified in the GET request. For more information about data // retrieval policies, see Amazon Glacier Data Retrieval Policies (http://docs.aws.amazon.com/amazonglacier/latest/dev/data-retrieval-policy.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. +// +// See the AWS API reference guide for Amazon Glacier's +// API operation GetDataRetrievalPolicy for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) GetDataRetrievalPolicy(input *GetDataRetrievalPolicyInput) (*GetDataRetrievalPolicyOutput, error) { req, out := c.GetDataRetrievalPolicyRequest(input) err := req.Send() @@ -607,7 +1216,30 @@ func (c *Glacier) GetDataRetrievalPolicy(input *GetDataRetrievalPolicyInput) (*G const opGetJobOutput = "GetJobOutput" -// GetJobOutputRequest generates a request for the GetJobOutput operation. +// GetJobOutputRequest generates a "aws/request.Request" representing the +// client's request for the GetJobOutput operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetJobOutput for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetJobOutput method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetJobOutputRequest method. +// req, resp := client.GetJobOutputRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) GetJobOutputRequest(input *GetJobOutputInput) (req *request.Request, output *GetJobOutputOutput) { op := &request.Operation{ Name: opGetJobOutput, @@ -625,6 +1257,8 @@ func (c *Glacier) GetJobOutputRequest(input *GetJobOutputInput) (req *request.Re return } +// GetJobOutput API operation for Amazon Glacier. +// // This operation downloads the output of the job you initiated using InitiateJob. // Depending on the job type you specified when you initiated the job, the output // will be either the content of an archive or a vault inventory. @@ -669,6 +1303,28 @@ func (c *Glacier) GetJobOutputRequest(input *GetJobOutputInput) (req *request.Re // a Vault Inventory (http://docs.aws.amazon.com/amazonglacier/latest/dev/vault-inventory.html), // Downloading an Archive (http://docs.aws.amazon.com/amazonglacier/latest/dev/downloading-an-archive.html), // and Get Job Output (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-job-output-get.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. +// +// See the AWS API reference guide for Amazon Glacier's +// API operation GetJobOutput for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) GetJobOutput(input *GetJobOutputInput) (*GetJobOutputOutput, error) { req, out := c.GetJobOutputRequest(input) err := req.Send() @@ -677,7 +1333,30 @@ func (c *Glacier) GetJobOutput(input *GetJobOutputInput) (*GetJobOutputOutput, e const opGetVaultAccessPolicy = "GetVaultAccessPolicy" -// GetVaultAccessPolicyRequest generates a request for the GetVaultAccessPolicy operation. +// GetVaultAccessPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetVaultAccessPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetVaultAccessPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetVaultAccessPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetVaultAccessPolicyRequest method. +// req, resp := client.GetVaultAccessPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) GetVaultAccessPolicyRequest(input *GetVaultAccessPolicyInput) (req *request.Request, output *GetVaultAccessPolicyOutput) { op := &request.Operation{ Name: opGetVaultAccessPolicy, @@ -695,12 +1374,36 @@ func (c *Glacier) GetVaultAccessPolicyRequest(input *GetVaultAccessPolicyInput) return } +// GetVaultAccessPolicy API operation for Amazon Glacier. +// // This operation retrieves the access-policy subresource set on the vault; // for more information on setting this subresource, see Set Vault Access Policy // (PUT access-policy) (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-SetVaultAccessPolicy.html). // If there is no access policy set on the vault, the operation returns a 404 // Not found error. For more information about vault access policies, see Amazon // Glacier Access Control with Vault Access Policies (http://docs.aws.amazon.com/amazonglacier/latest/dev/vault-access-policy.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. +// +// See the AWS API reference guide for Amazon Glacier's +// API operation GetVaultAccessPolicy for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) GetVaultAccessPolicy(input *GetVaultAccessPolicyInput) (*GetVaultAccessPolicyOutput, error) { req, out := c.GetVaultAccessPolicyRequest(input) err := req.Send() @@ -709,7 +1412,30 @@ func (c *Glacier) GetVaultAccessPolicy(input *GetVaultAccessPolicyInput) (*GetVa const opGetVaultLock = "GetVaultLock" -// GetVaultLockRequest generates a request for the GetVaultLock operation. +// GetVaultLockRequest generates a "aws/request.Request" representing the +// client's request for the GetVaultLock operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetVaultLock for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetVaultLock method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetVaultLockRequest method. +// req, resp := client.GetVaultLockRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) GetVaultLockRequest(input *GetVaultLockInput) (req *request.Request, output *GetVaultLockOutput) { op := &request.Operation{ Name: opGetVaultLock, @@ -727,6 +1453,8 @@ func (c *Glacier) GetVaultLockRequest(input *GetVaultLockInput) (req *request.Re return } +// GetVaultLock API operation for Amazon Glacier. +// // This operation retrieves the following attributes from the lock-policy subresource // set on the specified vault: The vault lock policy set on the vault. // @@ -745,6 +1473,28 @@ func (c *Glacier) GetVaultLockRequest(input *GetVaultLockInput) (req *request.Re // If there is no vault lock policy set on the vault, the operation returns // a 404 Not found error. For more information about vault lock policies, Amazon // Glacier Access Control with Vault Lock Policies (http://docs.aws.amazon.com/amazonglacier/latest/dev/vault-lock-policy.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. +// +// See the AWS API reference guide for Amazon Glacier's +// API operation GetVaultLock for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) GetVaultLock(input *GetVaultLockInput) (*GetVaultLockOutput, error) { req, out := c.GetVaultLockRequest(input) err := req.Send() @@ -753,7 +1503,30 @@ func (c *Glacier) GetVaultLock(input *GetVaultLockInput) (*GetVaultLockOutput, e const opGetVaultNotifications = "GetVaultNotifications" -// GetVaultNotificationsRequest generates a request for the GetVaultNotifications operation. +// GetVaultNotificationsRequest generates a "aws/request.Request" representing the +// client's request for the GetVaultNotifications operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetVaultNotifications for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetVaultNotifications method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetVaultNotificationsRequest method. +// req, resp := client.GetVaultNotificationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) GetVaultNotificationsRequest(input *GetVaultNotificationsInput) (req *request.Request, output *GetVaultNotificationsOutput) { op := &request.Operation{ Name: opGetVaultNotifications, @@ -771,6 +1544,8 @@ func (c *Glacier) GetVaultNotificationsRequest(input *GetVaultNotificationsInput return } +// GetVaultNotifications API operation for Amazon Glacier. +// // This operation retrieves the notification-configuration subresource of the // specified vault. // @@ -790,6 +1565,28 @@ func (c *Glacier) GetVaultNotificationsRequest(input *GetVaultNotificationsInput // Notifications in Amazon Glacier (http://docs.aws.amazon.com/amazonglacier/latest/dev/configuring-notifications.html) // and Get Vault Notification Configuration (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-notifications-get.html) // in the Amazon Glacier Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon Glacier's +// API operation GetVaultNotifications for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) GetVaultNotifications(input *GetVaultNotificationsInput) (*GetVaultNotificationsOutput, error) { req, out := c.GetVaultNotificationsRequest(input) err := req.Send() @@ -798,7 +1595,30 @@ func (c *Glacier) GetVaultNotifications(input *GetVaultNotificationsInput) (*Get const opInitiateJob = "InitiateJob" -// InitiateJobRequest generates a request for the InitiateJob operation. +// InitiateJobRequest generates a "aws/request.Request" representing the +// client's request for the InitiateJob operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See InitiateJob for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the InitiateJob method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the InitiateJobRequest method. +// req, resp := client.InitiateJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) InitiateJobRequest(input *InitiateJobInput) (req *request.Request, output *InitiateJobOutput) { op := &request.Operation{ Name: opInitiateJob, @@ -816,6 +1636,8 @@ func (c *Glacier) InitiateJobRequest(input *InitiateJobInput) (req *request.Requ return } +// InitiateJob API operation for Amazon Glacier. +// // This operation initiates a job of the specified type. In this release, you // can initiate a job to retrieve either an archive or a vault inventory (a // list of archives in a vault). @@ -932,6 +1754,32 @@ func (c *Glacier) InitiateJobRequest(input *InitiateJobInput) (req *request.Requ // For conceptual information and the underlying REST API, go to Initiate a // Job (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-initiate-job-post.html) // and Downloading a Vault Inventory (http://docs.aws.amazon.com/amazonglacier/latest/dev/vault-inventory.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. +// +// See the AWS API reference guide for Amazon Glacier's +// API operation InitiateJob for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * PolicyEnforcedException +// Returned if a retrieval job would exceed the current data policy's retrieval +// rate limit. For more information about data retrieval policies, +// +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) InitiateJob(input *InitiateJobInput) (*InitiateJobOutput, error) { req, out := c.InitiateJobRequest(input) err := req.Send() @@ -940,7 +1788,30 @@ func (c *Glacier) InitiateJob(input *InitiateJobInput) (*InitiateJobOutput, erro const opInitiateMultipartUpload = "InitiateMultipartUpload" -// InitiateMultipartUploadRequest generates a request for the InitiateMultipartUpload operation. +// InitiateMultipartUploadRequest generates a "aws/request.Request" representing the +// client's request for the InitiateMultipartUpload operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See InitiateMultipartUpload for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the InitiateMultipartUpload method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the InitiateMultipartUploadRequest method. +// req, resp := client.InitiateMultipartUploadRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) InitiateMultipartUploadRequest(input *InitiateMultipartUploadInput) (req *request.Request, output *InitiateMultipartUploadOutput) { op := &request.Operation{ Name: opInitiateMultipartUpload, @@ -958,6 +1829,8 @@ func (c *Glacier) InitiateMultipartUploadRequest(input *InitiateMultipartUploadI return } +// InitiateMultipartUpload API operation for Amazon Glacier. +// // This operation initiates a multipart upload. Amazon Glacier creates a multipart // upload resource and returns its ID in the response. The multipart upload // ID is used in subsequent requests to upload parts of an archive (see UploadMultipartPart). @@ -993,6 +1866,28 @@ func (c *Glacier) InitiateMultipartUploadRequest(input *InitiateMultipartUploadI // Archives in Parts (Multipart Upload) (http://docs.aws.amazon.com/amazonglacier/latest/dev/uploading-archive-mpu.html) // and Initiate Multipart Upload (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-multipart-initiate-upload.html) // in the Amazon Glacier Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon Glacier's +// API operation InitiateMultipartUpload for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) InitiateMultipartUpload(input *InitiateMultipartUploadInput) (*InitiateMultipartUploadOutput, error) { req, out := c.InitiateMultipartUploadRequest(input) err := req.Send() @@ -1001,7 +1896,30 @@ func (c *Glacier) InitiateMultipartUpload(input *InitiateMultipartUploadInput) ( const opInitiateVaultLock = "InitiateVaultLock" -// InitiateVaultLockRequest generates a request for the InitiateVaultLock operation. +// InitiateVaultLockRequest generates a "aws/request.Request" representing the +// client's request for the InitiateVaultLock operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See InitiateVaultLock for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the InitiateVaultLock method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the InitiateVaultLockRequest method. +// req, resp := client.InitiateVaultLockRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) InitiateVaultLockRequest(input *InitiateVaultLockInput) (req *request.Request, output *InitiateVaultLockOutput) { op := &request.Operation{ Name: opInitiateVaultLock, @@ -1019,6 +1937,8 @@ func (c *Glacier) InitiateVaultLockRequest(input *InitiateVaultLockInput) (req * return } +// InitiateVaultLock API operation for Amazon Glacier. +// // This operation initiates the vault locking process by doing the following: // Installing a vault lock policy on the specified vault. // @@ -1047,6 +1967,28 @@ func (c *Glacier) InitiateVaultLockRequest(input *InitiateVaultLockInput) (req * // the operation returns an AccessDeniedException error. When the vault lock // is in the InProgress state you must call AbortVaultLock before you can initiate // a new vault lock policy. +// +// 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 Glacier's +// API operation InitiateVaultLock for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) InitiateVaultLock(input *InitiateVaultLockInput) (*InitiateVaultLockOutput, error) { req, out := c.InitiateVaultLockRequest(input) err := req.Send() @@ -1055,7 +1997,30 @@ func (c *Glacier) InitiateVaultLock(input *InitiateVaultLockInput) (*InitiateVau const opListJobs = "ListJobs" -// ListJobsRequest generates a request for the ListJobs operation. +// ListJobsRequest generates a "aws/request.Request" representing the +// client's request for the ListJobs operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListJobs for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListJobs method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListJobsRequest method. +// req, resp := client.ListJobsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) ListJobsRequest(input *ListJobsInput) (req *request.Request, output *ListJobsOutput) { op := &request.Operation{ Name: opListJobs, @@ -1079,6 +2044,8 @@ func (c *Glacier) ListJobsRequest(input *ListJobsInput) (req *request.Request, o return } +// ListJobs API operation for Amazon Glacier. +// // This operation lists jobs for a vault, including jobs that are in-progress // and jobs that have recently finished. // @@ -1119,12 +2086,51 @@ func (c *Glacier) ListJobsRequest(input *ListJobsInput) (req *request.Request, o // (IAM) (http://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html). // // For the underlying REST API, go to List Jobs (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-jobs-get.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. +// +// See the AWS API reference guide for Amazon Glacier's +// API operation ListJobs for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) ListJobs(input *ListJobsInput) (*ListJobsOutput, error) { req, out := c.ListJobsRequest(input) err := req.Send() return out, err } +// ListJobsPages iterates over the pages of a ListJobs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListJobs 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 ListJobs operation. +// pageNum := 0 +// err := client.ListJobsPages(params, +// func(page *ListJobsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *Glacier) ListJobsPages(input *ListJobsInput, fn func(p *ListJobsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListJobsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1135,7 +2141,30 @@ func (c *Glacier) ListJobsPages(input *ListJobsInput, fn func(p *ListJobsOutput, const opListMultipartUploads = "ListMultipartUploads" -// ListMultipartUploadsRequest generates a request for the ListMultipartUploads operation. +// ListMultipartUploadsRequest generates a "aws/request.Request" representing the +// client's request for the ListMultipartUploads operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListMultipartUploads for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListMultipartUploads method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListMultipartUploadsRequest method. +// req, resp := client.ListMultipartUploadsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) ListMultipartUploadsRequest(input *ListMultipartUploadsInput) (req *request.Request, output *ListMultipartUploadsOutput) { op := &request.Operation{ Name: opListMultipartUploads, @@ -1159,6 +2188,8 @@ func (c *Glacier) ListMultipartUploadsRequest(input *ListMultipartUploadsInput) return } +// ListMultipartUploads API operation for Amazon Glacier. +// // This operation lists in-progress multipart uploads for the specified vault. // An in-progress multipart upload is a multipart upload that has been initiated // by an InitiateMultipartUpload request, but has not yet been completed or @@ -1189,12 +2220,51 @@ func (c *Glacier) ListMultipartUploadsRequest(input *ListMultipartUploadsInput) // Archives in Amazon Glacier (http://docs.aws.amazon.com/amazonglacier/latest/dev/working-with-archives.html) // and List Multipart Uploads (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-multipart-list-uploads.html) // in the Amazon Glacier Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon Glacier's +// API operation ListMultipartUploads for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) ListMultipartUploads(input *ListMultipartUploadsInput) (*ListMultipartUploadsOutput, error) { req, out := c.ListMultipartUploadsRequest(input) err := req.Send() return out, err } +// ListMultipartUploadsPages iterates over the pages of a ListMultipartUploads operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListMultipartUploads 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 ListMultipartUploads operation. +// pageNum := 0 +// err := client.ListMultipartUploadsPages(params, +// func(page *ListMultipartUploadsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *Glacier) ListMultipartUploadsPages(input *ListMultipartUploadsInput, fn func(p *ListMultipartUploadsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListMultipartUploadsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1205,7 +2275,30 @@ func (c *Glacier) ListMultipartUploadsPages(input *ListMultipartUploadsInput, fn const opListParts = "ListParts" -// ListPartsRequest generates a request for the ListParts operation. +// ListPartsRequest generates a "aws/request.Request" representing the +// client's request for the ListParts operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListParts for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListParts method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListPartsRequest method. +// req, resp := client.ListPartsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) ListPartsRequest(input *ListPartsInput) (req *request.Request, output *ListPartsOutput) { op := &request.Operation{ Name: opListParts, @@ -1229,6 +2322,8 @@ func (c *Glacier) ListPartsRequest(input *ListPartsInput) (req *request.Request, return } +// ListParts API operation for Amazon Glacier. +// // This operation lists the parts of an archive that have been uploaded in a // specific multipart upload. You can make this request at any time during an // in-progress multipart upload before you complete the upload (see CompleteMultipartUpload. @@ -1253,12 +2348,51 @@ func (c *Glacier) ListPartsRequest(input *ListPartsInput) (req *request.Request, // Archives in Amazon Glacier (http://docs.aws.amazon.com/amazonglacier/latest/dev/working-with-archives.html) // and List Parts (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-multipart-list-parts.html) // in the Amazon Glacier Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon Glacier's +// API operation ListParts for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) ListParts(input *ListPartsInput) (*ListPartsOutput, error) { req, out := c.ListPartsRequest(input) err := req.Send() return out, err } +// ListPartsPages iterates over the pages of a ListParts operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListParts 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 ListParts operation. +// pageNum := 0 +// err := client.ListPartsPages(params, +// func(page *ListPartsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *Glacier) ListPartsPages(input *ListPartsInput, fn func(p *ListPartsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListPartsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1269,7 +2403,30 @@ func (c *Glacier) ListPartsPages(input *ListPartsInput, fn func(p *ListPartsOutp const opListTagsForVault = "ListTagsForVault" -// ListTagsForVaultRequest generates a request for the ListTagsForVault operation. +// ListTagsForVaultRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForVault operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListTagsForVault for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListTagsForVault method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListTagsForVaultRequest method. +// req, resp := client.ListTagsForVaultRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) ListTagsForVaultRequest(input *ListTagsForVaultInput) (req *request.Request, output *ListTagsForVaultOutput) { op := &request.Operation{ Name: opListTagsForVault, @@ -1287,9 +2444,33 @@ func (c *Glacier) ListTagsForVaultRequest(input *ListTagsForVaultInput) (req *re return } +// ListTagsForVault API operation for Amazon Glacier. +// // This operation lists all the tags attached to a vault. The operation returns // an empty map if there are no tags. For more information about tags, see Tagging // Amazon Glacier Resources (http://docs.aws.amazon.com/amazonglacier/latest/dev/tagging.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. +// +// See the AWS API reference guide for Amazon Glacier's +// API operation ListTagsForVault for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) ListTagsForVault(input *ListTagsForVaultInput) (*ListTagsForVaultOutput, error) { req, out := c.ListTagsForVaultRequest(input) err := req.Send() @@ -1298,7 +2479,30 @@ func (c *Glacier) ListTagsForVault(input *ListTagsForVaultInput) (*ListTagsForVa const opListVaults = "ListVaults" -// ListVaultsRequest generates a request for the ListVaults operation. +// ListVaultsRequest generates a "aws/request.Request" representing the +// client's request for the ListVaults operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListVaults for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListVaults method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListVaultsRequest method. +// req, resp := client.ListVaultsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) ListVaultsRequest(input *ListVaultsInput) (req *request.Request, output *ListVaultsOutput) { op := &request.Operation{ Name: opListVaults, @@ -1322,6 +2526,8 @@ func (c *Glacier) ListVaultsRequest(input *ListVaultsInput) (req *request.Reques return } +// ListVaults API operation for Amazon Glacier. +// // This operation lists all vaults owned by the calling user's account. The // list returned in the response is ASCII-sorted by vault name. // @@ -1344,12 +2550,51 @@ func (c *Glacier) ListVaultsRequest(input *ListVaultsInput) (req *request.Reques // Metadata in Amazon Glacier (http://docs.aws.amazon.com/amazonglacier/latest/dev/retrieving-vault-info.html) // and List Vaults (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-vaults-get.html) // in the Amazon Glacier Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon Glacier's +// API operation ListVaults for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) ListVaults(input *ListVaultsInput) (*ListVaultsOutput, error) { req, out := c.ListVaultsRequest(input) err := req.Send() return out, err } +// ListVaultsPages iterates over the pages of a ListVaults operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListVaults 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 ListVaults operation. +// pageNum := 0 +// err := client.ListVaultsPages(params, +// func(page *ListVaultsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *Glacier) ListVaultsPages(input *ListVaultsInput, fn func(p *ListVaultsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListVaultsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1360,7 +2605,30 @@ func (c *Glacier) ListVaultsPages(input *ListVaultsInput, fn func(p *ListVaultsO const opRemoveTagsFromVault = "RemoveTagsFromVault" -// RemoveTagsFromVaultRequest generates a request for the RemoveTagsFromVault operation. +// RemoveTagsFromVaultRequest generates a "aws/request.Request" representing the +// client's request for the RemoveTagsFromVault operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RemoveTagsFromVault for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RemoveTagsFromVault method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RemoveTagsFromVaultRequest method. +// req, resp := client.RemoveTagsFromVaultRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) RemoveTagsFromVaultRequest(input *RemoveTagsFromVaultInput) (req *request.Request, output *RemoveTagsFromVaultOutput) { op := &request.Operation{ Name: opRemoveTagsFromVault, @@ -1380,11 +2648,35 @@ func (c *Glacier) RemoveTagsFromVaultRequest(input *RemoveTagsFromVaultInput) (r return } +// RemoveTagsFromVault API operation for Amazon Glacier. +// // This operation removes one or more tags from the set of tags attached to // a vault. For more information about tags, see Tagging Amazon Glacier Resources // (http://docs.aws.amazon.com/amazonglacier/latest/dev/tagging.html). This // operation is idempotent. The operation will be successful, even if there // are no tags attached to the vault. +// +// 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 Glacier's +// API operation RemoveTagsFromVault for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) RemoveTagsFromVault(input *RemoveTagsFromVaultInput) (*RemoveTagsFromVaultOutput, error) { req, out := c.RemoveTagsFromVaultRequest(input) err := req.Send() @@ -1393,7 +2685,30 @@ func (c *Glacier) RemoveTagsFromVault(input *RemoveTagsFromVaultInput) (*RemoveT const opSetDataRetrievalPolicy = "SetDataRetrievalPolicy" -// SetDataRetrievalPolicyRequest generates a request for the SetDataRetrievalPolicy operation. +// SetDataRetrievalPolicyRequest generates a "aws/request.Request" representing the +// client's request for the SetDataRetrievalPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetDataRetrievalPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetDataRetrievalPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetDataRetrievalPolicyRequest method. +// req, resp := client.SetDataRetrievalPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) SetDataRetrievalPolicyRequest(input *SetDataRetrievalPolicyInput) (req *request.Request, output *SetDataRetrievalPolicyOutput) { op := &request.Operation{ Name: opSetDataRetrievalPolicy, @@ -1413,6 +2728,8 @@ func (c *Glacier) SetDataRetrievalPolicyRequest(input *SetDataRetrievalPolicyInp return } +// SetDataRetrievalPolicy API operation for Amazon Glacier. +// // This operation sets and then enacts a data retrieval policy in the region // specified in the PUT request. You can set one policy per region for an AWS // account. The policy is enacted within a few minutes of a successful PUT operation. @@ -1420,6 +2737,24 @@ func (c *Glacier) SetDataRetrievalPolicyRequest(input *SetDataRetrievalPolicyInp // The set policy operation does not affect retrieval jobs that were in progress // before the policy was enacted. For more information about data retrieval // policies, see Amazon Glacier Data Retrieval Policies (http://docs.aws.amazon.com/amazonglacier/latest/dev/data-retrieval-policy.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. +// +// See the AWS API reference guide for Amazon Glacier's +// API operation SetDataRetrievalPolicy for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) SetDataRetrievalPolicy(input *SetDataRetrievalPolicyInput) (*SetDataRetrievalPolicyOutput, error) { req, out := c.SetDataRetrievalPolicyRequest(input) err := req.Send() @@ -1428,7 +2763,30 @@ func (c *Glacier) SetDataRetrievalPolicy(input *SetDataRetrievalPolicyInput) (*S const opSetVaultAccessPolicy = "SetVaultAccessPolicy" -// SetVaultAccessPolicyRequest generates a request for the SetVaultAccessPolicy operation. +// SetVaultAccessPolicyRequest generates a "aws/request.Request" representing the +// client's request for the SetVaultAccessPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetVaultAccessPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetVaultAccessPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetVaultAccessPolicyRequest method. +// req, resp := client.SetVaultAccessPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) SetVaultAccessPolicyRequest(input *SetVaultAccessPolicyInput) (req *request.Request, output *SetVaultAccessPolicyOutput) { op := &request.Operation{ Name: opSetVaultAccessPolicy, @@ -1448,6 +2806,8 @@ func (c *Glacier) SetVaultAccessPolicyRequest(input *SetVaultAccessPolicyInput) return } +// SetVaultAccessPolicy API operation for Amazon Glacier. +// // This operation configures an access policy for a vault and will overwrite // an existing policy. To configure a vault access policy, send a PUT request // to the access-policy subresource of the vault. An access policy is specific @@ -1455,6 +2815,28 @@ func (c *Glacier) SetVaultAccessPolicyRequest(input *SetVaultAccessPolicyInput) // policy per vault and the policy can be up to 20 KB in size. For more information // about vault access policies, see Amazon Glacier Access Control with Vault // Access Policies (http://docs.aws.amazon.com/amazonglacier/latest/dev/vault-access-policy.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. +// +// See the AWS API reference guide for Amazon Glacier's +// API operation SetVaultAccessPolicy for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) SetVaultAccessPolicy(input *SetVaultAccessPolicyInput) (*SetVaultAccessPolicyOutput, error) { req, out := c.SetVaultAccessPolicyRequest(input) err := req.Send() @@ -1463,7 +2845,30 @@ func (c *Glacier) SetVaultAccessPolicy(input *SetVaultAccessPolicyInput) (*SetVa const opSetVaultNotifications = "SetVaultNotifications" -// SetVaultNotificationsRequest generates a request for the SetVaultNotifications operation. +// SetVaultNotificationsRequest generates a "aws/request.Request" representing the +// client's request for the SetVaultNotifications operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetVaultNotifications for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetVaultNotifications method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetVaultNotificationsRequest method. +// req, resp := client.SetVaultNotificationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) SetVaultNotificationsRequest(input *SetVaultNotificationsInput) (req *request.Request, output *SetVaultNotificationsOutput) { op := &request.Operation{ Name: opSetVaultNotifications, @@ -1483,6 +2888,8 @@ func (c *Glacier) SetVaultNotificationsRequest(input *SetVaultNotificationsInput return } +// SetVaultNotifications API operation for Amazon Glacier. +// // This operation configures notifications that will be sent when specific events // happen to a vault. By default, you don't get any notifications. // @@ -1512,6 +2919,28 @@ func (c *Glacier) SetVaultNotificationsRequest(input *SetVaultNotificationsInput // Notifications in Amazon Glacier (http://docs.aws.amazon.com/amazonglacier/latest/dev/configuring-notifications.html) // and Set Vault Notification Configuration (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-notifications-put.html) // in the Amazon Glacier Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon Glacier's +// API operation SetVaultNotifications for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) SetVaultNotifications(input *SetVaultNotificationsInput) (*SetVaultNotificationsOutput, error) { req, out := c.SetVaultNotificationsRequest(input) err := req.Send() @@ -1520,7 +2949,30 @@ func (c *Glacier) SetVaultNotifications(input *SetVaultNotificationsInput) (*Set const opUploadArchive = "UploadArchive" -// UploadArchiveRequest generates a request for the UploadArchive operation. +// UploadArchiveRequest generates a "aws/request.Request" representing the +// client's request for the UploadArchive operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UploadArchive for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UploadArchive method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UploadArchiveRequest method. +// req, resp := client.UploadArchiveRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) UploadArchiveRequest(input *UploadArchiveInput) (req *request.Request, output *ArchiveCreationOutput) { op := &request.Operation{ Name: opUploadArchive, @@ -1538,6 +2990,8 @@ func (c *Glacier) UploadArchiveRequest(input *UploadArchiveInput) (req *request. return } +// UploadArchive API operation for Amazon Glacier. +// // This operation adds an archive to a vault. This is a synchronous operation, // and for a successful upload, your data is durably persisted. Amazon Glacier // returns the archive ID in the x-amz-archive-id header of the response. @@ -1574,6 +3028,32 @@ func (c *Glacier) UploadArchiveRequest(input *UploadArchiveInput) (req *request. // Archive in Amazon Glacier (http://docs.aws.amazon.com/amazonglacier/latest/dev/uploading-an-archive.html) // and Upload Archive (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-archive-post.html) // in the Amazon Glacier Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon Glacier's +// API operation UploadArchive for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * RequestTimeoutException +// Returned if, when uploading an archive, Amazon Glacier times out while receiving +// the upload. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) UploadArchive(input *UploadArchiveInput) (*ArchiveCreationOutput, error) { req, out := c.UploadArchiveRequest(input) err := req.Send() @@ -1582,7 +3062,30 @@ func (c *Glacier) UploadArchive(input *UploadArchiveInput) (*ArchiveCreationOutp const opUploadMultipartPart = "UploadMultipartPart" -// UploadMultipartPartRequest generates a request for the UploadMultipartPart operation. +// UploadMultipartPartRequest generates a "aws/request.Request" representing the +// client's request for the UploadMultipartPart operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UploadMultipartPart for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UploadMultipartPart method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UploadMultipartPartRequest method. +// req, resp := client.UploadMultipartPartRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Glacier) UploadMultipartPartRequest(input *UploadMultipartPartInput) (req *request.Request, output *UploadMultipartPartOutput) { op := &request.Operation{ Name: opUploadMultipartPart, @@ -1600,6 +3103,8 @@ func (c *Glacier) UploadMultipartPartRequest(input *UploadMultipartPartInput) (r return } +// UploadMultipartPart API operation for Amazon Glacier. +// // This operation uploads a part of an archive. You can upload archive parts // in any order. You can also upload them in parallel. You can upload up to // 10,000 parts for a multipart upload. @@ -1643,6 +3148,32 @@ func (c *Glacier) UploadMultipartPartRequest(input *UploadMultipartPartInput) (r // Archives in Parts (Multipart Upload) (http://docs.aws.amazon.com/amazonglacier/latest/dev/uploading-archive-mpu.html) // and Upload Part (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-upload-part.html) // in the Amazon Glacier Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon Glacier's +// API operation UploadMultipartPart for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// Returned if the specified resource, such as a vault, upload ID, or job ID, +// does not exist. +// +// * InvalidParameterValueException +// Returned if a parameter of the request is incorrectly specified. +// +// * MissingParameterValueException +// Returned if a required header or parameter is missing from the request. +// +// * RequestTimeoutException +// Returned if, when uploading an archive, Amazon Glacier times out while receiving +// the upload. +// +// * ServiceUnavailableException +// Returned if the service cannot complete the request. +// func (c *Glacier) UploadMultipartPart(input *UploadMultipartPartInput) (*UploadMultipartPartOutput, error) { req, out := c.UploadMultipartPartRequest(input) err := req.Send() @@ -1663,12 +3194,18 @@ type AbortMultipartUploadInput struct { // (hyphen), in which case Amazon Glacier uses the AWS account ID associated // with the credentials used to sign the request. If you use an account ID, // do not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // The upload ID of the multipart upload to delete. + // + // UploadId is a required field UploadId *string `location:"uri" locationName:"uploadId" type:"string" required:"true"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` } @@ -1725,9 +3262,13 @@ type AbortVaultLockInput struct { // in which case Amazon Glacier uses the AWS account ID associated with the // credentials used to sign the request. If you specify your account ID, do // not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` } @@ -1780,6 +3321,8 @@ type AddTagsToVaultInput struct { // (hyphen), in which case Amazon Glacier uses the AWS account ID associated // with the credentials used to sign the request. If you use an account ID, // do not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // The tags to add to the vault. Each tag is composed of a key and a value. @@ -1787,6 +3330,8 @@ type AddTagsToVaultInput struct { Tags map[string]*string `type:"map"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` } @@ -1871,6 +3416,8 @@ type CompleteMultipartUploadInput struct { // (hyphen), in which case Amazon Glacier uses the AWS account ID associated // with the credentials used to sign the request. If you use an account ID, // do not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // The total size, in bytes, of the entire archive. This value should be the @@ -1884,9 +3431,13 @@ type CompleteMultipartUploadInput struct { Checksum *string `location:"header" locationName:"x-amz-sha256-tree-hash" type:"string"` // The upload ID of the multipart upload. + // + // UploadId is a required field UploadId *string `location:"uri" locationName:"uploadId" type:"string" required:"true"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` } @@ -1929,12 +3480,18 @@ type CompleteVaultLockInput struct { // in which case Amazon Glacier uses the AWS account ID associated with the // credentials used to sign the request. If you specify your account ID, do // not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // The lockId value is the lock ID obtained from a InitiateVaultLock request. + // + // LockId is a required field LockId *string `location:"uri" locationName:"lockId" type:"string" required:"true"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` } @@ -1991,9 +3548,13 @@ type CreateVaultInput struct { // in which case Amazon Glacier uses the AWS account ID associated with the // credentials used to sign the request. If you specify your account ID, do // not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` } @@ -2096,12 +3657,18 @@ type DeleteArchiveInput struct { // (hyphen), in which case Amazon Glacier uses the AWS account ID associated // with the credentials used to sign the request. If you use an account ID, // do not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // The ID of the archive to delete. + // + // ArchiveId is a required field ArchiveId *string `location:"uri" locationName:"archiveId" type:"string" required:"true"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` } @@ -2157,9 +3724,13 @@ type DeleteVaultAccessPolicyInput struct { // (hyphen), in which case Amazon Glacier uses the AWS account ID associated // with the credentials used to sign the request. If you use an account ID, // do not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` } @@ -2212,9 +3783,13 @@ type DeleteVaultInput struct { // (hyphen), in which case Amazon Glacier uses the AWS account ID associated // with the credentials used to sign the request. If you use an account ID, // do not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` } @@ -2254,9 +3829,13 @@ type DeleteVaultNotificationsInput struct { // (hyphen), in which case Amazon Glacier uses the AWS account ID associated // with the credentials used to sign the request. If you use an account ID, // do not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` } @@ -2323,12 +3902,18 @@ type DescribeJobInput struct { // (hyphen), in which case Amazon Glacier uses the AWS account ID associated // with the credentials used to sign the request. If you use an account ID, // do not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // The ID of the job to describe. + // + // JobId is a required field JobId *string `location:"uri" locationName:"jobId" type:"string" required:"true"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` } @@ -2370,9 +3955,13 @@ type DescribeVaultInput struct { // (hyphen), in which case Amazon Glacier uses the AWS account ID associated // with the credentials used to sign the request. If you use an account ID, // do not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` } @@ -2451,6 +4040,8 @@ type GetDataRetrievalPolicyInput struct { // in which case Amazon Glacier uses the AWS account ID associated with the // credentials used to sign the request. If you specify your account ID, do // not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` } @@ -2504,9 +4095,13 @@ type GetJobOutputInput struct { // (hyphen), in which case Amazon Glacier uses the AWS account ID associated // with the credentials used to sign the request. If you use an account ID, // do not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // The job ID whose data is downloaded. + // + // JobId is a required field JobId *string `location:"uri" locationName:"jobId" type:"string" required:"true"` // The range of bytes to retrieve from the output. For example, if you want @@ -2515,6 +4110,8 @@ type GetJobOutputInput struct { Range *string `location:"header" locationName:"Range" type:"string"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` } @@ -2609,9 +4206,13 @@ type GetVaultAccessPolicyInput struct { // (hyphen), in which case Amazon Glacier uses the AWS account ID associated // with the credentials used to sign the request. If you use an account ID, // do not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` } @@ -2668,9 +4269,13 @@ type GetVaultLockInput struct { // (hyphen), in which case Amazon Glacier uses the AWS account ID associated // with the credentials used to sign the request. If you use an account ID, // do not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` } @@ -2739,9 +4344,13 @@ type GetVaultNotificationsInput struct { // (hyphen), in which case Amazon Glacier uses the AWS account ID associated // with the credentials used to sign the request. If you use an account ID, // do not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` } @@ -2798,12 +4407,16 @@ type InitiateJobInput struct { // (hyphen), in which case Amazon Glacier uses the AWS account ID associated // with the credentials used to sign the request. If you use an account ID, // do not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // Provides options for specifying job information. JobParameters *JobParameters `locationName:"jobParameters" type:"structure"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` } @@ -2863,6 +4476,8 @@ type InitiateMultipartUploadInput struct { // (hyphen), in which case Amazon Glacier uses the AWS account ID associated // with the credentials used to sign the request. If you use an account ID, // do not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // The archive description that you are uploading in parts. @@ -2878,6 +4493,8 @@ type InitiateMultipartUploadInput struct { PartSize *string `location:"header" locationName:"x-amz-part-size" type:"string"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` } @@ -2939,12 +4556,16 @@ type InitiateVaultLockInput struct { // in which case Amazon Glacier uses the AWS account ID associated with the // credentials used to sign the request. If you specify your account ID, do // not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // The vault lock policy as a JSON string, which uses "\" as an escape character. Policy *VaultLockPolicy `locationName:"policy" type:"structure"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` } @@ -3226,6 +4847,8 @@ type ListJobsInput struct { // (hyphen), in which case Amazon Glacier uses the AWS account ID associated // with the credentials used to sign the request. If you use an account ID, // do not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // Specifies the state of the jobs to return. You can specify true or false. @@ -3246,6 +4869,8 @@ type ListJobsInput struct { Statuscode *string `location:"querystring" locationName:"statuscode" type:"string"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` } @@ -3308,6 +4933,8 @@ type ListMultipartUploadsInput struct { // (hyphen), in which case Amazon Glacier uses the AWS account ID associated // with the credentials used to sign the request. If you use an account ID, // do not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // Specifies the maximum number of uploads returned in the response body. If @@ -3322,6 +4949,8 @@ type ListMultipartUploadsInput struct { Marker *string `location:"querystring" locationName:"marker" type:"string"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` } @@ -3384,6 +5013,8 @@ type ListPartsInput struct { // (hyphen), in which case Amazon Glacier uses the AWS account ID associated // with the credentials used to sign the request. If you use an account ID, // do not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // Specifies the maximum number of parts returned in the response body. If this @@ -3398,9 +5029,13 @@ type ListPartsInput struct { Marker *string `location:"querystring" locationName:"marker" type:"string"` // The upload ID of the multipart upload. + // + // UploadId is a required field UploadId *string `location:"uri" locationName:"uploadId" type:"string" required:"true"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` } @@ -3482,9 +5117,13 @@ type ListTagsForVaultInput struct { // (hyphen), in which case Amazon Glacier uses the AWS account ID associated // with the credentials used to sign the request. If you use an account ID, // do not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` } @@ -3543,6 +5182,8 @@ type ListVaultsInput struct { // in which case Amazon Glacier uses the AWS account ID associated with the // credentials used to sign the request. If you specify your account ID, do // not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // The maximum number of items returned in the response. If you don't specify @@ -3630,12 +5271,16 @@ type RemoveTagsFromVaultInput struct { // (hyphen), in which case Amazon Glacier uses the AWS account ID associated // with the credentials used to sign the request. If you use an account ID, // do not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // A list of tag keys. Each corresponding tag is removed from the vault. TagKeys []*string `type:"list"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` } @@ -3689,6 +5334,8 @@ type SetDataRetrievalPolicyInput struct { // in which case Amazon Glacier uses the AWS account ID associated with the // credentials used to sign the request. If you specify your account ID, do // not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // The data retrieval policy in JSON format. @@ -3741,12 +5388,16 @@ type SetVaultAccessPolicyInput struct { // (hyphen), in which case Amazon Glacier uses the AWS account ID associated // with the credentials used to sign the request. If you use an account ID, // do not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // The vault access policy as a JSON string. Policy *VaultAccessPolicy `locationName:"policy" type:"structure"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` } @@ -3800,9 +5451,13 @@ type SetVaultNotificationsInput struct { // (hyphen), in which case Amazon Glacier uses the AWS account ID associated // with the credentials used to sign the request. If you use an account ID, // do not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` // Provides options for specifying notification configuration. @@ -3858,6 +5513,8 @@ type UploadArchiveInput struct { // (hyphen), in which case Amazon Glacier uses the AWS account ID associated // with the credentials used to sign the request. If you use an account ID, // do not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // The optional description of the archive you are uploading. @@ -3870,6 +5527,8 @@ type UploadArchiveInput struct { Checksum *string `location:"header" locationName:"x-amz-sha256-tree-hash" type:"string"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` } @@ -3941,6 +5600,8 @@ type UploadMultipartPartInput struct { // (hyphen), in which case Amazon Glacier uses the AWS account ID associated // with the credentials used to sign the request. If you use an account ID, // do not include any hyphens (apos-apos) in the ID. + // + // AccountId is a required field AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` // The data to upload. @@ -3956,9 +5617,13 @@ type UploadMultipartPartInput struct { Range *string `location:"header" locationName:"Content-Range" type:"string"` // The upload ID of the multipart upload. + // + // UploadId is a required field UploadId *string `location:"uri" locationName:"uploadId" type:"string" required:"true"` // The name of the vault. + // + // VaultName is a required field VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` } @@ -4069,17 +5734,20 @@ func (s VaultNotificationConfig) GoString() string { } const ( - // @enum ActionCode + // ActionCodeArchiveRetrieval is a ActionCode enum value ActionCodeArchiveRetrieval = "ArchiveRetrieval" - // @enum ActionCode + + // ActionCodeInventoryRetrieval is a ActionCode enum value ActionCodeInventoryRetrieval = "InventoryRetrieval" ) const ( - // @enum StatusCode + // StatusCodeInProgress is a StatusCode enum value StatusCodeInProgress = "InProgress" - // @enum StatusCode + + // StatusCodeSucceeded is a StatusCode enum value StatusCodeSucceeded = "Succeeded" - // @enum StatusCode + + // StatusCodeFailed is a StatusCode enum value StatusCodeFailed = "Failed" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/glacier/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/glacier/waiters.go index e6fbedfa15be..fd33dc977f79 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/glacier/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/glacier/waiters.go @@ -6,6 +6,10 @@ import ( "github.com/aws/aws-sdk-go/private/waiter" ) +// WaitUntilVaultExists uses the Amazon Glacier API operation +// DescribeVault to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *Glacier) WaitUntilVaultExists(input *DescribeVaultInput) error { waiterCfg := waiter.Config{ Operation: "DescribeVault", @@ -35,6 +39,10 @@ func (c *Glacier) WaitUntilVaultExists(input *DescribeVaultInput) error { return w.Wait() } +// WaitUntilVaultNotExists uses the Amazon Glacier API operation +// DescribeVault to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *Glacier) WaitUntilVaultNotExists(input *DescribeVaultInput) error { waiterCfg := waiter.Config{ Operation: "DescribeVault", diff --git a/vendor/github.com/aws/aws-sdk-go/service/iam/api.go b/vendor/github.com/aws/aws-sdk-go/service/iam/api.go index 0a1b93adc03d..0e506cbdc6ff 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/iam/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/iam/api.go @@ -15,7 +15,30 @@ import ( const opAddClientIDToOpenIDConnectProvider = "AddClientIDToOpenIDConnectProvider" -// AddClientIDToOpenIDConnectProviderRequest generates a request for the AddClientIDToOpenIDConnectProvider operation. +// AddClientIDToOpenIDConnectProviderRequest generates a "aws/request.Request" representing the +// client's request for the AddClientIDToOpenIDConnectProvider operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AddClientIDToOpenIDConnectProvider for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AddClientIDToOpenIDConnectProvider method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AddClientIDToOpenIDConnectProviderRequest method. +// req, resp := client.AddClientIDToOpenIDConnectProviderRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) AddClientIDToOpenIDConnectProviderRequest(input *AddClientIDToOpenIDConnectProviderInput) (req *request.Request, output *AddClientIDToOpenIDConnectProviderOutput) { op := &request.Operation{ Name: opAddClientIDToOpenIDConnectProvider, @@ -35,11 +58,38 @@ func (c *IAM) AddClientIDToOpenIDConnectProviderRequest(input *AddClientIDToOpen return } +// AddClientIDToOpenIDConnectProvider API operation for AWS Identity and Access Management. +// // Adds a new client ID (also known as audience) to the list of client IDs already -// registered for the specified IAM OpenID Connect provider. +// registered for the specified IAM OpenID Connect (OIDC) provider resource. // // This action is idempotent; it does not fail or return an error if you add // an existing client ID to the provider. +// +// 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 Identity and Access Management's +// API operation AddClientIDToOpenIDConnectProvider for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) AddClientIDToOpenIDConnectProvider(input *AddClientIDToOpenIDConnectProviderInput) (*AddClientIDToOpenIDConnectProviderOutput, error) { req, out := c.AddClientIDToOpenIDConnectProviderRequest(input) err := req.Send() @@ -48,7 +98,30 @@ func (c *IAM) AddClientIDToOpenIDConnectProvider(input *AddClientIDToOpenIDConne const opAddRoleToInstanceProfile = "AddRoleToInstanceProfile" -// AddRoleToInstanceProfileRequest generates a request for the AddRoleToInstanceProfile operation. +// AddRoleToInstanceProfileRequest generates a "aws/request.Request" representing the +// client's request for the AddRoleToInstanceProfile operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AddRoleToInstanceProfile for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AddRoleToInstanceProfile method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AddRoleToInstanceProfileRequest method. +// req, resp := client.AddRoleToInstanceProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) AddRoleToInstanceProfileRequest(input *AddRoleToInstanceProfileInput) (req *request.Request, output *AddRoleToInstanceProfileOutput) { op := &request.Operation{ Name: opAddRoleToInstanceProfile, @@ -68,10 +141,41 @@ func (c *IAM) AddRoleToInstanceProfileRequest(input *AddRoleToInstanceProfileInp return } -// Adds the specified role to the specified instance profile. For more information -// about roles, go to Working with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html). +// AddRoleToInstanceProfile API operation for AWS Identity and Access Management. +// +// Adds the specified IAM role to the specified instance profile. +// +// The caller of this API must be granted the PassRole permission on the IAM +// role by a permission policy. +// +// For more information about roles, go to Working with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html). // For more information about instance profiles, go to About Instance Profiles // (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.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. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation AddRoleToInstanceProfile for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * EntityAlreadyExists +// The request was rejected because it attempted to create a resource that already +// exists. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) AddRoleToInstanceProfile(input *AddRoleToInstanceProfileInput) (*AddRoleToInstanceProfileOutput, error) { req, out := c.AddRoleToInstanceProfileRequest(input) err := req.Send() @@ -80,7 +184,30 @@ func (c *IAM) AddRoleToInstanceProfile(input *AddRoleToInstanceProfileInput) (*A const opAddUserToGroup = "AddUserToGroup" -// AddUserToGroupRequest generates a request for the AddUserToGroup operation. +// AddUserToGroupRequest generates a "aws/request.Request" representing the +// client's request for the AddUserToGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AddUserToGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AddUserToGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AddUserToGroupRequest method. +// req, resp := client.AddUserToGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) AddUserToGroupRequest(input *AddUserToGroupInput) (req *request.Request, output *AddUserToGroupOutput) { op := &request.Operation{ Name: opAddUserToGroup, @@ -100,7 +227,30 @@ func (c *IAM) AddUserToGroupRequest(input *AddUserToGroupInput) (req *request.Re return } +// AddUserToGroup API operation for AWS Identity and Access Management. +// // Adds the specified user to the specified group. +// +// 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 Identity and Access Management's +// API operation AddUserToGroup for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) AddUserToGroup(input *AddUserToGroupInput) (*AddUserToGroupOutput, error) { req, out := c.AddUserToGroupRequest(input) err := req.Send() @@ -109,7 +259,30 @@ func (c *IAM) AddUserToGroup(input *AddUserToGroupInput) (*AddUserToGroupOutput, const opAttachGroupPolicy = "AttachGroupPolicy" -// AttachGroupPolicyRequest generates a request for the AttachGroupPolicy operation. +// AttachGroupPolicyRequest generates a "aws/request.Request" representing the +// client's request for the AttachGroupPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AttachGroupPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AttachGroupPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AttachGroupPolicyRequest method. +// req, resp := client.AttachGroupPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) AttachGroupPolicyRequest(input *AttachGroupPolicyInput) (req *request.Request, output *AttachGroupPolicyOutput) { op := &request.Operation{ Name: opAttachGroupPolicy, @@ -129,14 +302,41 @@ func (c *IAM) AttachGroupPolicyRequest(input *AttachGroupPolicyInput) (req *requ return } -// Attaches the specified managed policy to the specified group. +// AttachGroupPolicy API operation for AWS Identity and Access Management. +// +// Attaches the specified managed policy to the specified IAM group. // // You use this API to attach a managed policy to a group. To embed an inline // policy in a group, use PutGroupPolicy. // -// For more information about policies, refer to Managed Policies and Inline -// Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) +// For more information about policies, see Managed Policies and Inline Policies +// (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation AttachGroupPolicy for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) AttachGroupPolicy(input *AttachGroupPolicyInput) (*AttachGroupPolicyOutput, error) { req, out := c.AttachGroupPolicyRequest(input) err := req.Send() @@ -145,7 +345,30 @@ func (c *IAM) AttachGroupPolicy(input *AttachGroupPolicyInput) (*AttachGroupPoli const opAttachRolePolicy = "AttachRolePolicy" -// AttachRolePolicyRequest generates a request for the AttachRolePolicy operation. +// AttachRolePolicyRequest generates a "aws/request.Request" representing the +// client's request for the AttachRolePolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AttachRolePolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AttachRolePolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AttachRolePolicyRequest method. +// req, resp := client.AttachRolePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) AttachRolePolicyRequest(input *AttachRolePolicyInput) (req *request.Request, output *AttachRolePolicyOutput) { op := &request.Operation{ Name: opAttachRolePolicy, @@ -165,18 +388,45 @@ func (c *IAM) AttachRolePolicyRequest(input *AttachRolePolicyInput) (req *reques return } -// Attaches the specified managed policy to the specified role. +// AttachRolePolicy API operation for AWS Identity and Access Management. // -// When you attach a managed policy to a role, the managed policy is used as -// the role's access (permissions) policy. You cannot use a managed policy as -// the role's trust policy. The role's trust policy is created at the same time -// as the role, using CreateRole. You can update a role's trust policy using -// UpdateAssumeRolePolicy. +// Attaches the specified managed policy to the specified IAM role. +// +// When you attach a managed policy to a role, the managed policy becomes part +// of the role's permission (access) policy. You cannot use a managed policy +// as the role's trust policy. The role's trust policy is created at the same +// time as the role, using CreateRole. You can update a role's trust policy +// using UpdateAssumeRolePolicy. // // Use this API to attach a managed policy to a role. To embed an inline policy -// in a role, use PutRolePolicy. For more information about policies, refer -// to Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) +// in a role, use PutRolePolicy. For more information about policies, see Managed +// Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation AttachRolePolicy for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) AttachRolePolicy(input *AttachRolePolicyInput) (*AttachRolePolicyOutput, error) { req, out := c.AttachRolePolicyRequest(input) err := req.Send() @@ -185,7 +435,30 @@ func (c *IAM) AttachRolePolicy(input *AttachRolePolicyInput) (*AttachRolePolicyO const opAttachUserPolicy = "AttachUserPolicy" -// AttachUserPolicyRequest generates a request for the AttachUserPolicy operation. +// AttachUserPolicyRequest generates a "aws/request.Request" representing the +// client's request for the AttachUserPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AttachUserPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AttachUserPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AttachUserPolicyRequest method. +// req, resp := client.AttachUserPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) AttachUserPolicyRequest(input *AttachUserPolicyInput) (req *request.Request, output *AttachUserPolicyOutput) { op := &request.Operation{ Name: opAttachUserPolicy, @@ -205,14 +478,41 @@ func (c *IAM) AttachUserPolicyRequest(input *AttachUserPolicyInput) (req *reques return } +// AttachUserPolicy API operation for AWS Identity and Access Management. +// // Attaches the specified managed policy to the specified user. // // You use this API to attach a managed policy to a user. To embed an inline // policy in a user, use PutUserPolicy. // -// For more information about policies, refer to Managed Policies and Inline -// Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) +// For more information about policies, see Managed Policies and Inline Policies +// (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation AttachUserPolicy for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) AttachUserPolicy(input *AttachUserPolicyInput) (*AttachUserPolicyOutput, error) { req, out := c.AttachUserPolicyRequest(input) err := req.Send() @@ -221,7 +521,30 @@ func (c *IAM) AttachUserPolicy(input *AttachUserPolicyInput) (*AttachUserPolicyO const opChangePassword = "ChangePassword" -// ChangePasswordRequest generates a request for the ChangePassword operation. +// ChangePasswordRequest generates a "aws/request.Request" representing the +// client's request for the ChangePassword operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ChangePassword for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ChangePassword method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ChangePasswordRequest method. +// req, resp := client.ChangePasswordRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) ChangePasswordRequest(input *ChangePasswordInput) (req *request.Request, output *ChangePasswordOutput) { op := &request.Operation{ Name: opChangePassword, @@ -241,12 +564,49 @@ func (c *IAM) ChangePasswordRequest(input *ChangePasswordInput) (req *request.Re return } +// ChangePassword API operation for AWS Identity and Access Management. +// // Changes the password of the IAM user who is calling this action. The root // account password is not affected by this action. // // To change the password for a different user, see UpdateLoginProfile. For // more information about modifying passwords, see Managing Passwords (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingLogins.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation ChangePassword for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * InvalidUserType +// The request was rejected because the type of user for the transaction was +// incorrect. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * EntityTemporarilyUnmodifiable +// The request was rejected because it referenced an entity that is temporarily +// unmodifiable, such as a user name that was deleted and then recreated. The +// error indicates that the request is likely to succeed if you try again after +// waiting several minutes. The error message describes the entity. +// +// * PasswordPolicyViolation +// The request was rejected because the provided password did not meet the requirements +// imposed by the account password policy. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) ChangePassword(input *ChangePasswordInput) (*ChangePasswordOutput, error) { req, out := c.ChangePasswordRequest(input) err := req.Send() @@ -255,7 +615,30 @@ func (c *IAM) ChangePassword(input *ChangePasswordInput) (*ChangePasswordOutput, const opCreateAccessKey = "CreateAccessKey" -// CreateAccessKeyRequest generates a request for the CreateAccessKey operation. +// CreateAccessKeyRequest generates a "aws/request.Request" representing the +// client's request for the CreateAccessKey operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateAccessKey for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateAccessKey method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateAccessKeyRequest method. +// req, resp := client.CreateAccessKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) CreateAccessKeyRequest(input *CreateAccessKeyInput) (req *request.Request, output *CreateAccessKeyOutput) { op := &request.Operation{ Name: opCreateAccessKey, @@ -273,10 +656,12 @@ func (c *IAM) CreateAccessKeyRequest(input *CreateAccessKeyInput) (req *request. return } +// CreateAccessKey API operation for AWS Identity and Access Management. +// // Creates a new AWS secret access key and corresponding AWS access key ID for // the specified user. The default status for new keys is Active. // -// If you do not specify a user name, IAM determines the user name implicitly +// If you do not specify a user name, IAM determines the user name implicitly // based on the AWS access key ID signing the request. Because this action works // for access keys under the AWS account, you can use this action to manage // root credentials even if the AWS account has no associated users. @@ -290,6 +675,27 @@ func (c *IAM) CreateAccessKeyRequest(input *CreateAccessKeyInput) (req *request. // a text file) if you want to be able to access it again. If a secret key is // lost, you can delete the access keys for the associated user and then create // new keys. +// +// 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 Identity and Access Management's +// API operation CreateAccessKey for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) CreateAccessKey(input *CreateAccessKeyInput) (*CreateAccessKeyOutput, error) { req, out := c.CreateAccessKeyRequest(input) err := req.Send() @@ -298,7 +704,30 @@ func (c *IAM) CreateAccessKey(input *CreateAccessKeyInput) (*CreateAccessKeyOutp const opCreateAccountAlias = "CreateAccountAlias" -// CreateAccountAliasRequest generates a request for the CreateAccountAlias operation. +// CreateAccountAliasRequest generates a "aws/request.Request" representing the +// client's request for the CreateAccountAlias operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateAccountAlias for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateAccountAlias method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateAccountAliasRequest method. +// req, resp := client.CreateAccountAliasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) CreateAccountAliasRequest(input *CreateAccountAliasInput) (req *request.Request, output *CreateAccountAliasOutput) { op := &request.Operation{ Name: opCreateAccountAlias, @@ -318,9 +747,32 @@ func (c *IAM) CreateAccountAliasRequest(input *CreateAccountAliasInput) (req *re return } +// CreateAccountAlias API operation for AWS Identity and Access Management. +// // Creates an alias for your AWS account. For information about using an AWS // account alias, see Using an Alias for Your AWS Account ID (http://docs.aws.amazon.com/IAM/latest/UserGuide/AccountAlias.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation CreateAccountAlias for usage and error information. +// +// Returned Error Codes: +// * EntityAlreadyExists +// The request was rejected because it attempted to create a resource that already +// exists. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) CreateAccountAlias(input *CreateAccountAliasInput) (*CreateAccountAliasOutput, error) { req, out := c.CreateAccountAliasRequest(input) err := req.Send() @@ -329,7 +781,30 @@ func (c *IAM) CreateAccountAlias(input *CreateAccountAliasInput) (*CreateAccount const opCreateGroup = "CreateGroup" -// CreateGroupRequest generates a request for the CreateGroup operation. +// CreateGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateGroupRequest method. +// req, resp := client.CreateGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) CreateGroupRequest(input *CreateGroupInput) (req *request.Request, output *CreateGroupOutput) { op := &request.Operation{ Name: opCreateGroup, @@ -347,11 +822,38 @@ func (c *IAM) CreateGroupRequest(input *CreateGroupInput) (req *request.Request, return } +// CreateGroup API operation for AWS Identity and Access Management. +// // Creates a new group. // // For information about the number of groups you can create, see Limitations // on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation CreateGroup for usage and error information. +// +// Returned Error Codes: +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * EntityAlreadyExists +// The request was rejected because it attempted to create a resource that already +// exists. +// +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) CreateGroup(input *CreateGroupInput) (*CreateGroupOutput, error) { req, out := c.CreateGroupRequest(input) err := req.Send() @@ -360,7 +862,30 @@ func (c *IAM) CreateGroup(input *CreateGroupInput) (*CreateGroupOutput, error) { const opCreateInstanceProfile = "CreateInstanceProfile" -// CreateInstanceProfileRequest generates a request for the CreateInstanceProfile operation. +// CreateInstanceProfileRequest generates a "aws/request.Request" representing the +// client's request for the CreateInstanceProfile operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateInstanceProfile for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateInstanceProfile method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateInstanceProfileRequest method. +// req, resp := client.CreateInstanceProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) CreateInstanceProfileRequest(input *CreateInstanceProfileInput) (req *request.Request, output *CreateInstanceProfileOutput) { op := &request.Operation{ Name: opCreateInstanceProfile, @@ -378,12 +903,35 @@ func (c *IAM) CreateInstanceProfileRequest(input *CreateInstanceProfileInput) (r return } +// CreateInstanceProfile API operation for AWS Identity and Access Management. +// // Creates a new instance profile. For information about instance profiles, // go to About Instance Profiles (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html). // // For information about the number of instance profiles you can create, see // Limitations on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation CreateInstanceProfile for usage and error information. +// +// Returned Error Codes: +// * EntityAlreadyExists +// The request was rejected because it attempted to create a resource that already +// exists. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) CreateInstanceProfile(input *CreateInstanceProfileInput) (*CreateInstanceProfileOutput, error) { req, out := c.CreateInstanceProfileRequest(input) err := req.Send() @@ -392,7 +940,30 @@ func (c *IAM) CreateInstanceProfile(input *CreateInstanceProfileInput) (*CreateI const opCreateLoginProfile = "CreateLoginProfile" -// CreateLoginProfileRequest generates a request for the CreateLoginProfile operation. +// CreateLoginProfileRequest generates a "aws/request.Request" representing the +// client's request for the CreateLoginProfile operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateLoginProfile for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateLoginProfile method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateLoginProfileRequest method. +// req, resp := client.CreateLoginProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) CreateLoginProfileRequest(input *CreateLoginProfileInput) (req *request.Request, output *CreateLoginProfileOutput) { op := &request.Operation{ Name: opCreateLoginProfile, @@ -410,10 +981,41 @@ func (c *IAM) CreateLoginProfileRequest(input *CreateLoginProfileInput) (req *re return } +// CreateLoginProfile API operation for AWS Identity and Access Management. +// // Creates a password for the specified user, giving the user the ability to // access AWS services through the AWS Management Console. For more information // about managing passwords, see Managing Passwords (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingLogins.html) -// in the Using IAM guide. +// in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation CreateLoginProfile for usage and error information. +// +// Returned Error Codes: +// * EntityAlreadyExists +// The request was rejected because it attempted to create a resource that already +// exists. +// +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * PasswordPolicyViolation +// The request was rejected because the provided password did not meet the requirements +// imposed by the account password policy. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) CreateLoginProfile(input *CreateLoginProfileInput) (*CreateLoginProfileOutput, error) { req, out := c.CreateLoginProfileRequest(input) err := req.Send() @@ -422,7 +1024,30 @@ func (c *IAM) CreateLoginProfile(input *CreateLoginProfileInput) (*CreateLoginPr const opCreateOpenIDConnectProvider = "CreateOpenIDConnectProvider" -// CreateOpenIDConnectProviderRequest generates a request for the CreateOpenIDConnectProvider operation. +// CreateOpenIDConnectProviderRequest generates a "aws/request.Request" representing the +// client's request for the CreateOpenIDConnectProvider operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateOpenIDConnectProvider for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateOpenIDConnectProvider method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateOpenIDConnectProviderRequest method. +// req, resp := client.CreateOpenIDConnectProviderRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) CreateOpenIDConnectProviderRequest(input *CreateOpenIDConnectProviderInput) (req *request.Request, output *CreateOpenIDConnectProviderOutput) { op := &request.Operation{ Name: opCreateOpenIDConnectProvider, @@ -440,6 +1065,8 @@ func (c *IAM) CreateOpenIDConnectProviderRequest(input *CreateOpenIDConnectProvi return } +// CreateOpenIDConnectProvider API operation for AWS Identity and Access Management. +// // Creates an IAM entity to describe an identity provider (IdP) that supports // OpenID Connect (OIDC) (http://openid.net/connect/). // @@ -454,9 +1081,34 @@ func (c *IAM) CreateOpenIDConnectProviderRequest(input *CreateOpenIDConnectProvi // that the IdP uses. You get all of this information from the OIDC IdP that // you want to use for access to AWS. // -// Because trust for the OIDC provider is ultimately derived from the IAM provider -// that this action creates, it is a best practice to limit access to the CreateOpenIDConnectProvider -// action to highly-privileged users. +// Because trust for the OIDC provider is ultimately derived from the IAM +// provider that this action creates, it is a best practice to limit access +// to the CreateOpenIDConnectProvider action to highly-privileged 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 AWS Identity and Access Management's +// API operation CreateOpenIDConnectProvider for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * EntityAlreadyExists +// The request was rejected because it attempted to create a resource that already +// exists. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) CreateOpenIDConnectProvider(input *CreateOpenIDConnectProviderInput) (*CreateOpenIDConnectProviderOutput, error) { req, out := c.CreateOpenIDConnectProviderRequest(input) err := req.Send() @@ -465,7 +1117,30 @@ func (c *IAM) CreateOpenIDConnectProvider(input *CreateOpenIDConnectProviderInpu const opCreatePolicy = "CreatePolicy" -// CreatePolicyRequest generates a request for the CreatePolicy operation. +// CreatePolicyRequest generates a "aws/request.Request" representing the +// client's request for the CreatePolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreatePolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreatePolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreatePolicyRequest method. +// req, resp := client.CreatePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) CreatePolicyRequest(input *CreatePolicyInput) (req *request.Request, output *CreatePolicyOutput) { op := &request.Operation{ Name: opCreatePolicy, @@ -483,6 +1158,8 @@ func (c *IAM) CreatePolicyRequest(input *CreatePolicyInput) (req *request.Reques return } +// CreatePolicy API operation for AWS Identity and Access Management. +// // Creates a new managed policy for your AWS account. // // This operation creates a policy version with a version identifier of v1 @@ -490,9 +1167,38 @@ func (c *IAM) CreatePolicyRequest(input *CreatePolicyInput) (req *request.Reques // versions, see Versioning for Managed Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html) // in the IAM User Guide. // -// For more information about managed policies in general, refer to Managed -// Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) +// For more information about managed policies in general, see Managed Policies +// and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation CreatePolicy for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * EntityAlreadyExists +// The request was rejected because it attempted to create a resource that already +// exists. +// +// * MalformedPolicyDocument +// The request was rejected because the policy document was malformed. The error +// message describes the specific error. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) CreatePolicy(input *CreatePolicyInput) (*CreatePolicyOutput, error) { req, out := c.CreatePolicyRequest(input) err := req.Send() @@ -501,7 +1207,30 @@ func (c *IAM) CreatePolicy(input *CreatePolicyInput) (*CreatePolicyOutput, error const opCreatePolicyVersion = "CreatePolicyVersion" -// CreatePolicyVersionRequest generates a request for the CreatePolicyVersion operation. +// CreatePolicyVersionRequest generates a "aws/request.Request" representing the +// client's request for the CreatePolicyVersion operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreatePolicyVersion for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreatePolicyVersion method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreatePolicyVersionRequest method. +// req, resp := client.CreatePolicyVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) CreatePolicyVersionRequest(input *CreatePolicyVersionInput) (req *request.Request, output *CreatePolicyVersionOutput) { op := &request.Operation{ Name: opCreatePolicyVersion, @@ -519,19 +1248,49 @@ func (c *IAM) CreatePolicyVersionRequest(input *CreatePolicyVersionInput) (req * return } +// CreatePolicyVersion API operation for AWS Identity and Access Management. +// // Creates a new version of the specified managed policy. To update a managed // policy, you create a new policy version. A managed policy can have up to // five versions. If the policy has five versions, you must delete an existing // version using DeletePolicyVersion before you create a new version. // // Optionally, you can set the new version as the policy's default version. -// The default version is the operative version; that is, the version that is -// in effect for the IAM users, groups, and roles that the policy is attached -// to. +// The default version is the version that is in effect for the IAM users, groups, +// and roles to which the policy is attached. // // For more information about managed policy versions, see Versioning for Managed // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation CreatePolicyVersion for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * MalformedPolicyDocument +// The request was rejected because the policy document was malformed. The error +// message describes the specific error. +// +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) CreatePolicyVersion(input *CreatePolicyVersionInput) (*CreatePolicyVersionOutput, error) { req, out := c.CreatePolicyVersionRequest(input) err := req.Send() @@ -540,7 +1299,30 @@ func (c *IAM) CreatePolicyVersion(input *CreatePolicyVersionInput) (*CreatePolic const opCreateRole = "CreateRole" -// CreateRoleRequest generates a request for the CreateRole operation. +// CreateRoleRequest generates a "aws/request.Request" representing the +// client's request for the CreateRole operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateRole for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateRole method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateRoleRequest method. +// req, resp := client.CreateRoleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) CreateRoleRequest(input *CreateRoleInput) (req *request.Request, output *CreateRoleOutput) { op := &request.Operation{ Name: opCreateRole, @@ -558,11 +1340,38 @@ func (c *IAM) CreateRoleRequest(input *CreateRoleInput) (req *request.Request, o return } +// CreateRole API operation for AWS Identity and Access Management. +// // Creates a new role for your AWS account. For more information about roles, // go to Working with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html). // For information about limitations on role names and the number of roles you // can create, go to Limitations on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation CreateRole for usage and error information. +// +// Returned Error Codes: +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * EntityAlreadyExists +// The request was rejected because it attempted to create a resource that already +// exists. +// +// * MalformedPolicyDocument +// The request was rejected because the policy document was malformed. The error +// message describes the specific error. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) CreateRole(input *CreateRoleInput) (*CreateRoleOutput, error) { req, out := c.CreateRoleRequest(input) err := req.Send() @@ -571,7 +1380,30 @@ func (c *IAM) CreateRole(input *CreateRoleInput) (*CreateRoleOutput, error) { const opCreateSAMLProvider = "CreateSAMLProvider" -// CreateSAMLProviderRequest generates a request for the CreateSAMLProvider operation. +// CreateSAMLProviderRequest generates a "aws/request.Request" representing the +// client's request for the CreateSAMLProvider operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateSAMLProvider for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateSAMLProvider method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateSAMLProviderRequest method. +// req, resp := client.CreateSAMLProviderRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) CreateSAMLProviderRequest(input *CreateSAMLProviderInput) (req *request.Request, output *CreateSAMLProviderOutput) { op := &request.Operation{ Name: opCreateSAMLProvider, @@ -589,27 +1421,55 @@ func (c *IAM) CreateSAMLProviderRequest(input *CreateSAMLProviderInput) (req *re return } -// Creates an IAM entity to describe an identity provider (IdP) that supports +// CreateSAMLProvider API operation for AWS Identity and Access Management. +// +// Creates an IAM resource that describes an identity provider (IdP) that supports // SAML 2.0. // -// The SAML provider that you create with this operation can be used as a -// principal in a role's trust policy to establish a trust relationship between -// AWS and a SAML identity provider. You can create an IAM role that supports -// Web-based single sign-on (SSO) to the AWS Management Console or one that -// supports API access to AWS. +// The SAML provider resource that you create with this operation can be used +// as a principal in an IAM role's trust policy to enable federated users who +// sign-in using the SAML IdP to assume the role. You can create an IAM role +// that supports Web-based single sign-on (SSO) to the AWS Management Console +// or one that supports API access to AWS. // -// When you create the SAML provider, you upload an a SAML metadata document -// that you get from your IdP and that includes the issuer's name, expiration -// information, and keys that can be used to validate the SAML authentication -// response (assertions) that are received from the IdP. You must generate the -// metadata document using the identity management software that is used as -// your organization's IdP. +// When you create the SAML provider resource, you upload an a SAML metadata +// document that you get from your IdP and that includes the issuer's name, +// expiration information, and keys that can be used to validate the SAML authentication +// response (assertions) that the IdP sends. You must generate the metadata +// document using the identity management software that is used as your organization's +// IdP. // -// This operation requires Signature Version 4 (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). -// For more information, see Enabling SAML 2.0 Federated Users to Access the -// AWS Management Console (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-saml.html) +// This operation requires Signature Version 4 (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). +// +// For more information, see Enabling SAML 2.0 Federated Users to Access +// the AWS Management Console (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-saml.html) // and About SAML 2.0-based Federation (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation CreateSAMLProvider for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * EntityAlreadyExists +// The request was rejected because it attempted to create a resource that already +// exists. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) CreateSAMLProvider(input *CreateSAMLProviderInput) (*CreateSAMLProviderOutput, error) { req, out := c.CreateSAMLProviderRequest(input) err := req.Send() @@ -618,7 +1478,30 @@ func (c *IAM) CreateSAMLProvider(input *CreateSAMLProviderInput) (*CreateSAMLPro const opCreateUser = "CreateUser" -// CreateUserRequest generates a request for the CreateUser operation. +// CreateUserRequest generates a "aws/request.Request" representing the +// client's request for the CreateUser operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateUser for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateUser method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateUserRequest method. +// req, resp := client.CreateUserRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) CreateUserRequest(input *CreateUserInput) (req *request.Request, output *CreateUserOutput) { op := &request.Operation{ Name: opCreateUser, @@ -636,11 +1519,38 @@ func (c *IAM) CreateUserRequest(input *CreateUserInput) (req *request.Request, o return } -// Creates a new user for your AWS account. +// CreateUser API operation for AWS Identity and Access Management. +// +// Creates a new IAM user for your AWS account. // -// For information about limitations on the number of users you can create, +// For information about limitations on the number of IAM users you can create, // see Limitations on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation CreateUser for usage and error information. +// +// Returned Error Codes: +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * EntityAlreadyExists +// The request was rejected because it attempted to create a resource that already +// exists. +// +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) CreateUser(input *CreateUserInput) (*CreateUserOutput, error) { req, out := c.CreateUserRequest(input) err := req.Send() @@ -649,7 +1559,30 @@ func (c *IAM) CreateUser(input *CreateUserInput) (*CreateUserOutput, error) { const opCreateVirtualMFADevice = "CreateVirtualMFADevice" -// CreateVirtualMFADeviceRequest generates a request for the CreateVirtualMFADevice operation. +// CreateVirtualMFADeviceRequest generates a "aws/request.Request" representing the +// client's request for the CreateVirtualMFADevice operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateVirtualMFADevice for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateVirtualMFADevice method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateVirtualMFADeviceRequest method. +// req, resp := client.CreateVirtualMFADeviceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) CreateVirtualMFADeviceRequest(input *CreateVirtualMFADeviceInput) (req *request.Request, output *CreateVirtualMFADeviceOutput) { op := &request.Operation{ Name: opCreateVirtualMFADevice, @@ -667,20 +1600,43 @@ func (c *IAM) CreateVirtualMFADeviceRequest(input *CreateVirtualMFADeviceInput) return } +// CreateVirtualMFADevice API operation for AWS Identity and Access Management. +// // Creates a new virtual MFA device for the AWS account. After creating the // virtual MFA, use EnableMFADevice to attach the MFA device to an IAM user. // For more information about creating and working with virtual MFA devices, // go to Using a Virtual MFA Device (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_VirtualMFA.html) -// in the Using IAM guide. +// in the IAM User Guide. // // For information about limits on the number of MFA devices you can create, // see Limitations on Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) -// in the Using IAM guide. +// in the IAM User Guide. // -// The seed information contained in the QR code and the Base32 string should +// The seed information contained in the QR code and the Base32 string should // be treated like any other secret access information, such as your AWS access // keys or your passwords. After you provision your virtual device, you should // ensure that the information is destroyed following secure procedures. +// +// 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 Identity and Access Management's +// API operation CreateVirtualMFADevice for usage and error information. +// +// Returned Error Codes: +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * EntityAlreadyExists +// The request was rejected because it attempted to create a resource that already +// exists. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) CreateVirtualMFADevice(input *CreateVirtualMFADeviceInput) (*CreateVirtualMFADeviceOutput, error) { req, out := c.CreateVirtualMFADeviceRequest(input) err := req.Send() @@ -689,7 +1645,30 @@ func (c *IAM) CreateVirtualMFADevice(input *CreateVirtualMFADeviceInput) (*Creat const opDeactivateMFADevice = "DeactivateMFADevice" -// DeactivateMFADeviceRequest generates a request for the DeactivateMFADevice operation. +// DeactivateMFADeviceRequest generates a "aws/request.Request" representing the +// client's request for the DeactivateMFADevice operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeactivateMFADevice for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeactivateMFADevice method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeactivateMFADeviceRequest method. +// req, resp := client.DeactivateMFADeviceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) DeactivateMFADeviceRequest(input *DeactivateMFADeviceInput) (req *request.Request, output *DeactivateMFADeviceOutput) { op := &request.Operation{ Name: opDeactivateMFADevice, @@ -709,12 +1688,41 @@ func (c *IAM) DeactivateMFADeviceRequest(input *DeactivateMFADeviceInput) (req * return } +// DeactivateMFADevice API operation for AWS Identity and Access Management. +// // Deactivates the specified MFA device and removes it from association with // the user name for which it was originally enabled. // // For more information about creating and working with virtual MFA devices, // go to Using a Virtual MFA Device (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_VirtualMFA.html) -// in the Using IAM guide. +// in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation DeactivateMFADevice for usage and error information. +// +// Returned Error Codes: +// * EntityTemporarilyUnmodifiable +// The request was rejected because it referenced an entity that is temporarily +// unmodifiable, such as a user name that was deleted and then recreated. The +// error indicates that the request is likely to succeed if you try again after +// waiting several minutes. The error message describes the entity. +// +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) DeactivateMFADevice(input *DeactivateMFADeviceInput) (*DeactivateMFADeviceOutput, error) { req, out := c.DeactivateMFADeviceRequest(input) err := req.Send() @@ -723,7 +1731,30 @@ func (c *IAM) DeactivateMFADevice(input *DeactivateMFADeviceInput) (*DeactivateM const opDeleteAccessKey = "DeleteAccessKey" -// DeleteAccessKeyRequest generates a request for the DeleteAccessKey operation. +// DeleteAccessKeyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAccessKey operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteAccessKey for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteAccessKey method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteAccessKeyRequest method. +// req, resp := client.DeleteAccessKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) DeleteAccessKeyRequest(input *DeleteAccessKeyInput) (req *request.Request, output *DeleteAccessKeyOutput) { op := &request.Operation{ Name: opDeleteAccessKey, @@ -743,12 +1774,35 @@ func (c *IAM) DeleteAccessKeyRequest(input *DeleteAccessKeyInput) (req *request. return } -// Deletes the access key associated with the specified user. +// DeleteAccessKey API operation for AWS Identity and Access Management. +// +// Deletes the access key pair associated with the specified IAM user. // -// If you do not specify a user name, IAM determines the user name implicitly +// If you do not specify a user name, IAM determines the user name implicitly // based on the AWS access key ID signing the request. Because this action works // for access keys under the AWS account, you can use this action to manage // root credentials even if the AWS account has no associated 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 AWS Identity and Access Management's +// API operation DeleteAccessKey for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) DeleteAccessKey(input *DeleteAccessKeyInput) (*DeleteAccessKeyOutput, error) { req, out := c.DeleteAccessKeyRequest(input) err := req.Send() @@ -757,7 +1811,30 @@ func (c *IAM) DeleteAccessKey(input *DeleteAccessKeyInput) (*DeleteAccessKeyOutp const opDeleteAccountAlias = "DeleteAccountAlias" -// DeleteAccountAliasRequest generates a request for the DeleteAccountAlias operation. +// DeleteAccountAliasRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAccountAlias operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteAccountAlias for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteAccountAlias method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteAccountAliasRequest method. +// req, resp := client.DeleteAccountAliasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) DeleteAccountAliasRequest(input *DeleteAccountAliasInput) (req *request.Request, output *DeleteAccountAliasOutput) { op := &request.Operation{ Name: opDeleteAccountAlias, @@ -777,9 +1854,32 @@ func (c *IAM) DeleteAccountAliasRequest(input *DeleteAccountAliasInput) (req *re return } +// DeleteAccountAlias API operation for AWS Identity and Access Management. +// // Deletes the specified AWS account alias. For information about using an AWS // account alias, see Using an Alias for Your AWS Account ID (http://docs.aws.amazon.com/IAM/latest/UserGuide/AccountAlias.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation DeleteAccountAlias for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) DeleteAccountAlias(input *DeleteAccountAliasInput) (*DeleteAccountAliasOutput, error) { req, out := c.DeleteAccountAliasRequest(input) err := req.Send() @@ -788,7 +1888,30 @@ func (c *IAM) DeleteAccountAlias(input *DeleteAccountAliasInput) (*DeleteAccount const opDeleteAccountPasswordPolicy = "DeleteAccountPasswordPolicy" -// DeleteAccountPasswordPolicyRequest generates a request for the DeleteAccountPasswordPolicy operation. +// DeleteAccountPasswordPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAccountPasswordPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteAccountPasswordPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteAccountPasswordPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteAccountPasswordPolicyRequest method. +// req, resp := client.DeleteAccountPasswordPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) DeleteAccountPasswordPolicyRequest(input *DeleteAccountPasswordPolicyInput) (req *request.Request, output *DeleteAccountPasswordPolicyOutput) { op := &request.Operation{ Name: opDeleteAccountPasswordPolicy, @@ -808,7 +1931,30 @@ func (c *IAM) DeleteAccountPasswordPolicyRequest(input *DeleteAccountPasswordPol return } -// Deletes the password policy for the AWS account. +// DeleteAccountPasswordPolicy API operation for AWS Identity and Access Management. +// +// Deletes the password policy for the AWS account. There are no 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation DeleteAccountPasswordPolicy for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) DeleteAccountPasswordPolicy(input *DeleteAccountPasswordPolicyInput) (*DeleteAccountPasswordPolicyOutput, error) { req, out := c.DeleteAccountPasswordPolicyRequest(input) err := req.Send() @@ -817,7 +1963,30 @@ func (c *IAM) DeleteAccountPasswordPolicy(input *DeleteAccountPasswordPolicyInpu const opDeleteGroup = "DeleteGroup" -// DeleteGroupRequest generates a request for the DeleteGroup operation. +// DeleteGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteGroupRequest method. +// req, resp := client.DeleteGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) DeleteGroupRequest(input *DeleteGroupInput) (req *request.Request, output *DeleteGroupOutput) { op := &request.Operation{ Name: opDeleteGroup, @@ -837,8 +2006,35 @@ func (c *IAM) DeleteGroupRequest(input *DeleteGroupInput) (req *request.Request, return } -// Deletes the specified group. The group must not contain any users or have -// any attached policies. +// DeleteGroup API operation for AWS Identity and Access Management. +// +// Deletes the specified IAM group. The group must not contain any users or +// have any attached policies. +// +// 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 Identity and Access Management's +// API operation DeleteGroup for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * DeleteConflict +// The request was rejected because it attempted to delete a resource that has +// attached subordinate entities. The error message describes these entities. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) DeleteGroup(input *DeleteGroupInput) (*DeleteGroupOutput, error) { req, out := c.DeleteGroupRequest(input) err := req.Send() @@ -847,7 +2043,30 @@ func (c *IAM) DeleteGroup(input *DeleteGroupInput) (*DeleteGroupOutput, error) { const opDeleteGroupPolicy = "DeleteGroupPolicy" -// DeleteGroupPolicyRequest generates a request for the DeleteGroupPolicy operation. +// DeleteGroupPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteGroupPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteGroupPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteGroupPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteGroupPolicyRequest method. +// req, resp := client.DeleteGroupPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) DeleteGroupPolicyRequest(input *DeleteGroupPolicyInput) (req *request.Request, output *DeleteGroupPolicyOutput) { op := &request.Operation{ Name: opDeleteGroupPolicy, @@ -867,12 +2086,36 @@ func (c *IAM) DeleteGroupPolicyRequest(input *DeleteGroupPolicyInput) (req *requ return } -// Deletes the specified inline policy that is embedded in the specified group. +// DeleteGroupPolicy API operation for AWS Identity and Access Management. +// +// Deletes the specified inline policy that is embedded in the specified IAM +// group. // // A group can also have managed policies attached to it. To detach a managed // policy from a group, use DetachGroupPolicy. For more information about policies, // refer to Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation DeleteGroupPolicy for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) DeleteGroupPolicy(input *DeleteGroupPolicyInput) (*DeleteGroupPolicyOutput, error) { req, out := c.DeleteGroupPolicyRequest(input) err := req.Send() @@ -881,7 +2124,30 @@ func (c *IAM) DeleteGroupPolicy(input *DeleteGroupPolicyInput) (*DeleteGroupPoli const opDeleteInstanceProfile = "DeleteInstanceProfile" -// DeleteInstanceProfileRequest generates a request for the DeleteInstanceProfile operation. +// DeleteInstanceProfileRequest generates a "aws/request.Request" representing the +// client's request for the DeleteInstanceProfile operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteInstanceProfile for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteInstanceProfile method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteInstanceProfileRequest method. +// req, resp := client.DeleteInstanceProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) DeleteInstanceProfileRequest(input *DeleteInstanceProfileInput) (req *request.Request, output *DeleteInstanceProfileOutput) { op := &request.Operation{ Name: opDeleteInstanceProfile, @@ -901,14 +2167,43 @@ func (c *IAM) DeleteInstanceProfileRequest(input *DeleteInstanceProfileInput) (r return } +// DeleteInstanceProfile API operation for AWS Identity and Access Management. +// // Deletes the specified instance profile. The instance profile must not have // an associated role. // // Make sure you do not have any Amazon EC2 instances running with the instance // profile you are about to delete. Deleting a role or instance profile that // is associated with a running instance will break any applications running -// on the instance. For more information about instance profiles, go to About -// Instance Profiles (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html). +// on the instance. +// +// For more information about instance profiles, go to About Instance Profiles +// (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.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. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation DeleteInstanceProfile for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * DeleteConflict +// The request was rejected because it attempted to delete a resource that has +// attached subordinate entities. The error message describes these entities. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) DeleteInstanceProfile(input *DeleteInstanceProfileInput) (*DeleteInstanceProfileOutput, error) { req, out := c.DeleteInstanceProfileRequest(input) err := req.Send() @@ -917,7 +2212,30 @@ func (c *IAM) DeleteInstanceProfile(input *DeleteInstanceProfileInput) (*DeleteI const opDeleteLoginProfile = "DeleteLoginProfile" -// DeleteLoginProfileRequest generates a request for the DeleteLoginProfile operation. +// DeleteLoginProfileRequest generates a "aws/request.Request" representing the +// client's request for the DeleteLoginProfile operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteLoginProfile for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteLoginProfile method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteLoginProfileRequest method. +// req, resp := client.DeleteLoginProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) DeleteLoginProfileRequest(input *DeleteLoginProfileInput) (req *request.Request, output *DeleteLoginProfileOutput) { op := &request.Operation{ Name: opDeleteLoginProfile, @@ -937,13 +2255,43 @@ func (c *IAM) DeleteLoginProfileRequest(input *DeleteLoginProfileInput) (req *re return } -// Deletes the password for the specified user, which terminates the user's +// DeleteLoginProfile API operation for AWS Identity and Access Management. +// +// Deletes the password for the specified IAM user, which terminates the user's // ability to access AWS services through the AWS Management Console. // -// Deleting a user's password does not prevent a user from accessing IAM through -// the command line interface or the API. To prevent all user access you must -// also either make the access key inactive or delete it. For more information -// about making keys inactive or deleting them, see UpdateAccessKey and DeleteAccessKey. +// Deleting a user's password does not prevent a user from accessing AWS +// through the command line interface or the API. To prevent all user access +// you must also either make any access keys inactive or delete them. For more +// information about making keys inactive or deleting them, see UpdateAccessKey +// and DeleteAccessKey. +// +// 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 Identity and Access Management's +// API operation DeleteLoginProfile for usage and error information. +// +// Returned Error Codes: +// * EntityTemporarilyUnmodifiable +// The request was rejected because it referenced an entity that is temporarily +// unmodifiable, such as a user name that was deleted and then recreated. The +// error indicates that the request is likely to succeed if you try again after +// waiting several minutes. The error message describes the entity. +// +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) DeleteLoginProfile(input *DeleteLoginProfileInput) (*DeleteLoginProfileOutput, error) { req, out := c.DeleteLoginProfileRequest(input) err := req.Send() @@ -952,7 +2300,30 @@ func (c *IAM) DeleteLoginProfile(input *DeleteLoginProfileInput) (*DeleteLoginPr const opDeleteOpenIDConnectProvider = "DeleteOpenIDConnectProvider" -// DeleteOpenIDConnectProviderRequest generates a request for the DeleteOpenIDConnectProvider operation. +// DeleteOpenIDConnectProviderRequest generates a "aws/request.Request" representing the +// client's request for the DeleteOpenIDConnectProvider operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteOpenIDConnectProvider for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteOpenIDConnectProvider method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteOpenIDConnectProviderRequest method. +// req, resp := client.DeleteOpenIDConnectProviderRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) DeleteOpenIDConnectProviderRequest(input *DeleteOpenIDConnectProviderInput) (req *request.Request, output *DeleteOpenIDConnectProviderOutput) { op := &request.Operation{ Name: opDeleteOpenIDConnectProvider, @@ -972,14 +2343,37 @@ func (c *IAM) DeleteOpenIDConnectProviderRequest(input *DeleteOpenIDConnectProvi return } -// Deletes an IAM OpenID Connect identity provider. +// DeleteOpenIDConnectProvider API operation for AWS Identity and Access Management. +// +// Deletes an OpenID Connect identity provider (IdP) resource object in IAM. // -// Deleting an OIDC provider does not update any roles that reference the provider -// as a principal in their trust policies. Any attempt to assume a role that -// references a provider that has been deleted will fail. +// Deleting an IAM OIDC provider resource does not update any roles that reference +// the provider as a principal in their trust policies. Any attempt to assume +// a role that references a deleted provider fails. // // This action is idempotent; it does not fail or return an error if you call -// the action for a provider that was already deleted. +// the action for a provider that does not exist. +// +// 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 Identity and Access Management's +// API operation DeleteOpenIDConnectProvider for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) DeleteOpenIDConnectProvider(input *DeleteOpenIDConnectProviderInput) (*DeleteOpenIDConnectProviderOutput, error) { req, out := c.DeleteOpenIDConnectProviderRequest(input) err := req.Send() @@ -988,7 +2382,30 @@ func (c *IAM) DeleteOpenIDConnectProvider(input *DeleteOpenIDConnectProviderInpu const opDeletePolicy = "DeletePolicy" -// DeletePolicyRequest generates a request for the DeletePolicy operation. +// DeletePolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeletePolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeletePolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeletePolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeletePolicyRequest method. +// req, resp := client.DeletePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) DeletePolicyRequest(input *DeletePolicyInput) (req *request.Request, output *DeletePolicyOutput) { op := &request.Operation{ Name: opDeletePolicy, @@ -1008,24 +2425,60 @@ func (c *IAM) DeletePolicyRequest(input *DeletePolicyInput) (req *request.Reques return } +// DeletePolicy API operation for AWS Identity and Access Management. +// // Deletes the specified managed policy. // -// Before you can delete a managed policy, you must detach the policy from -// all users, groups, and roles that it is attached to, and you must delete +// Before you can delete a managed policy, you must first detach the policy +// from all users, groups, and roles that it is attached to, and you must delete // all of the policy's versions. The following steps describe the process for -// deleting a managed policy: Detach the policy from all users, groups, and -// roles that the policy is attached to, using the DetachUserPolicy, DetachGroupPolicy, -// or DetachRolePolicy APIs. To list all the users, groups, and roles that a -// policy is attached to, use ListEntitiesForPolicy. Delete all versions of -// the policy using DeletePolicyVersion. To list the policy's versions, use -// ListPolicyVersions. You cannot use DeletePolicyVersion to delete the version -// that is marked as the default version. You delete the policy's default version -// in the next step of the process. Delete the policy (this automatically deletes -// the policy's default version) using this API. -// -// For information about managed policies, refer to Managed Policies and Inline +// deleting a managed policy: +// +// Detach the policy from all users, groups, and roles that the policy is +// attached to, using the DetachUserPolicy, DetachGroupPolicy, or DetachRolePolicy +// APIs. To list all the users, groups, and roles that a policy is attached +// to, use ListEntitiesForPolicy. +// +// Delete all versions of the policy using DeletePolicyVersion. To list the +// policy's versions, use ListPolicyVersions. You cannot use DeletePolicyVersion +// to delete the version that is marked as the default version. You delete the +// policy's default version in the next step of the process. +// +// Delete the policy (this automatically deletes the policy's default version) +// using this API. +// +// For information about managed policies, see Managed Policies and Inline // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation DeletePolicy for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * DeleteConflict +// The request was rejected because it attempted to delete a resource that has +// attached subordinate entities. The error message describes these entities. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) DeletePolicy(input *DeletePolicyInput) (*DeletePolicyOutput, error) { req, out := c.DeletePolicyRequest(input) err := req.Send() @@ -1034,7 +2487,30 @@ func (c *IAM) DeletePolicy(input *DeletePolicyInput) (*DeletePolicyOutput, error const opDeletePolicyVersion = "DeletePolicyVersion" -// DeletePolicyVersionRequest generates a request for the DeletePolicyVersion operation. +// DeletePolicyVersionRequest generates a "aws/request.Request" representing the +// client's request for the DeletePolicyVersion operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeletePolicyVersion for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeletePolicyVersion method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeletePolicyVersionRequest method. +// req, resp := client.DeletePolicyVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) DeletePolicyVersionRequest(input *DeletePolicyVersionInput) (req *request.Request, output *DeletePolicyVersionOutput) { op := &request.Operation{ Name: opDeletePolicyVersion, @@ -1054,15 +2530,46 @@ func (c *IAM) DeletePolicyVersionRequest(input *DeletePolicyVersionInput) (req * return } -// Deletes the specified version of the specified managed policy. +// DeletePolicyVersion API operation for AWS Identity and Access Management. +// +// Deletes the specified version from the specified managed policy. // -// You cannot delete the default version of a policy using this API. To delete -// the default version of a policy, use DeletePolicy. To find out which version +// You cannot delete the default version from a policy using this API. To delete +// the default version from a policy, use DeletePolicy. To find out which version // of a policy is marked as the default version, use ListPolicyVersions. // -// For information about versions for managed policies, refer to Versioning -// for Managed Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html) +// For information about versions for managed policies, see Versioning for +// Managed Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation DeletePolicyVersion for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * DeleteConflict +// The request was rejected because it attempted to delete a resource that has +// attached subordinate entities. The error message describes these entities. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) DeletePolicyVersion(input *DeletePolicyVersionInput) (*DeletePolicyVersionOutput, error) { req, out := c.DeletePolicyVersionRequest(input) err := req.Send() @@ -1071,7 +2578,30 @@ func (c *IAM) DeletePolicyVersion(input *DeletePolicyVersionInput) (*DeletePolic const opDeleteRole = "DeleteRole" -// DeleteRoleRequest generates a request for the DeleteRole operation. +// DeleteRoleRequest generates a "aws/request.Request" representing the +// client's request for the DeleteRole operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteRole for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteRole method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteRoleRequest method. +// req, resp := client.DeleteRoleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) DeleteRoleRequest(input *DeleteRoleInput) (req *request.Request, output *DeleteRoleOutput) { op := &request.Operation{ Name: opDeleteRole, @@ -1091,12 +2621,39 @@ func (c *IAM) DeleteRoleRequest(input *DeleteRoleInput) (req *request.Request, o return } +// DeleteRole API operation for AWS Identity and Access Management. +// // Deletes the specified role. The role must not have any policies attached. // For more information about roles, go to Working with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html). // -// Make sure you do not have any Amazon EC2 instances running with the role +// Make sure you do not have any Amazon EC2 instances running with the role // you are about to delete. Deleting a role or instance profile that is associated // with a running instance will break any applications running on the instance. +// +// 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 Identity and Access Management's +// API operation DeleteRole for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * DeleteConflict +// The request was rejected because it attempted to delete a resource that has +// attached subordinate entities. The error message describes these entities. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) DeleteRole(input *DeleteRoleInput) (*DeleteRoleOutput, error) { req, out := c.DeleteRoleRequest(input) err := req.Send() @@ -1105,7 +2662,30 @@ func (c *IAM) DeleteRole(input *DeleteRoleInput) (*DeleteRoleOutput, error) { const opDeleteRolePolicy = "DeleteRolePolicy" -// DeleteRolePolicyRequest generates a request for the DeleteRolePolicy operation. +// DeleteRolePolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteRolePolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteRolePolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteRolePolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteRolePolicyRequest method. +// req, resp := client.DeleteRolePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) DeleteRolePolicyRequest(input *DeleteRolePolicyInput) (req *request.Request, output *DeleteRolePolicyOutput) { op := &request.Operation{ Name: opDeleteRolePolicy, @@ -1125,12 +2705,36 @@ func (c *IAM) DeleteRolePolicyRequest(input *DeleteRolePolicyInput) (req *reques return } -// Deletes the specified inline policy that is embedded in the specified role. +// DeleteRolePolicy API operation for AWS Identity and Access Management. +// +// Deletes the specified inline policy that is embedded in the specified IAM +// role. // // A role can also have managed policies attached to it. To detach a managed // policy from a role, use DetachRolePolicy. For more information about policies, // refer to Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation DeleteRolePolicy for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) DeleteRolePolicy(input *DeleteRolePolicyInput) (*DeleteRolePolicyOutput, error) { req, out := c.DeleteRolePolicyRequest(input) err := req.Send() @@ -1139,7 +2743,30 @@ func (c *IAM) DeleteRolePolicy(input *DeleteRolePolicyInput) (*DeleteRolePolicyO const opDeleteSAMLProvider = "DeleteSAMLProvider" -// DeleteSAMLProviderRequest generates a request for the DeleteSAMLProvider operation. +// DeleteSAMLProviderRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSAMLProvider operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteSAMLProvider for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteSAMLProvider method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteSAMLProviderRequest method. +// req, resp := client.DeleteSAMLProviderRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) DeleteSAMLProviderRequest(input *DeleteSAMLProviderInput) (req *request.Request, output *DeleteSAMLProviderOutput) { op := &request.Operation{ Name: opDeleteSAMLProvider, @@ -1159,13 +2786,41 @@ func (c *IAM) DeleteSAMLProviderRequest(input *DeleteSAMLProviderInput) (req *re return } -// Deletes a SAML provider. +// DeleteSAMLProvider API operation for AWS Identity and Access Management. // -// Deleting the provider does not update any roles that reference the SAML -// provider as a principal in their trust policies. Any attempt to assume a -// role that references a SAML provider that has been deleted will fail. +// Deletes a SAML provider resource in IAM. +// +// Deleting the provider resource from IAM does not update any roles that reference +// the SAML provider resource's ARN as a principal in their trust policies. +// Any attempt to assume a role that references a non-existent provider resource +// ARN fails. +// +// This operation requires Signature Version 4 (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.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. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation DeleteSAMLProvider for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. // -// This operation requires Signature Version 4 (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). func (c *IAM) DeleteSAMLProvider(input *DeleteSAMLProviderInput) (*DeleteSAMLProviderOutput, error) { req, out := c.DeleteSAMLProviderRequest(input) err := req.Send() @@ -1174,7 +2829,30 @@ func (c *IAM) DeleteSAMLProvider(input *DeleteSAMLProviderInput) (*DeleteSAMLPro const opDeleteSSHPublicKey = "DeleteSSHPublicKey" -// DeleteSSHPublicKeyRequest generates a request for the DeleteSSHPublicKey operation. +// DeleteSSHPublicKeyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSSHPublicKey operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteSSHPublicKey for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteSSHPublicKey method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteSSHPublicKeyRequest method. +// req, resp := client.DeleteSSHPublicKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) DeleteSSHPublicKeyRequest(input *DeleteSSHPublicKeyInput) (req *request.Request, output *DeleteSSHPublicKeyOutput) { op := &request.Operation{ Name: opDeleteSSHPublicKey, @@ -1194,6 +2872,8 @@ func (c *IAM) DeleteSSHPublicKeyRequest(input *DeleteSSHPublicKeyInput) (req *re return } +// DeleteSSHPublicKey API operation for AWS Identity and Access Management. +// // Deletes the specified SSH public key. // // The SSH public key deleted by this action is used only for authenticating @@ -1201,6 +2881,19 @@ func (c *IAM) DeleteSSHPublicKeyRequest(input *DeleteSSHPublicKeyInput) (req *re // about using SSH keys to authenticate to an AWS CodeCommit repository, see // Set up AWS CodeCommit for SSH Connections (http://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-credentials-ssh.html) // in the AWS CodeCommit 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation DeleteSSHPublicKey for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// func (c *IAM) DeleteSSHPublicKey(input *DeleteSSHPublicKeyInput) (*DeleteSSHPublicKeyOutput, error) { req, out := c.DeleteSSHPublicKeyRequest(input) err := req.Send() @@ -1209,7 +2902,30 @@ func (c *IAM) DeleteSSHPublicKey(input *DeleteSSHPublicKeyInput) (*DeleteSSHPubl const opDeleteServerCertificate = "DeleteServerCertificate" -// DeleteServerCertificateRequest generates a request for the DeleteServerCertificate operation. +// DeleteServerCertificateRequest generates a "aws/request.Request" representing the +// client's request for the DeleteServerCertificate operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteServerCertificate for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteServerCertificate method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteServerCertificateRequest method. +// req, resp := client.DeleteServerCertificateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) DeleteServerCertificateRequest(input *DeleteServerCertificateInput) (req *request.Request, output *DeleteServerCertificateOutput) { op := &request.Operation{ Name: opDeleteServerCertificate, @@ -1229,6 +2945,8 @@ func (c *IAM) DeleteServerCertificateRequest(input *DeleteServerCertificateInput return } +// DeleteServerCertificate API operation for AWS Identity and Access Management. +// // Deletes the specified server certificate. // // For more information about working with server certificates, including a @@ -1236,7 +2954,7 @@ func (c *IAM) DeleteServerCertificateRequest(input *DeleteServerCertificateInput // with IAM, go to Working with Server Certificates (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html) // in the IAM User Guide. // -// If you are using a server certificate with Elastic Load Balancing, deleting +// If you are using a server certificate with Elastic Load Balancing, deleting // the certificate could have implications for your application. If Elastic // Load Balancing doesn't detect the deletion of bound certificates, it may // continue to use the certificates. This could cause Elastic Load Balancing @@ -1245,6 +2963,31 @@ func (c *IAM) DeleteServerCertificateRequest(input *DeleteServerCertificateInput // delete the certificate. For more information, go to DeleteLoadBalancerListeners // (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/APIReference/API_DeleteLoadBalancerListeners.html) // in the Elastic Load Balancing API Reference. +// +// 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 Identity and Access Management's +// API operation DeleteServerCertificate for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * DeleteConflict +// The request was rejected because it attempted to delete a resource that has +// attached subordinate entities. The error message describes these entities. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) DeleteServerCertificate(input *DeleteServerCertificateInput) (*DeleteServerCertificateOutput, error) { req, out := c.DeleteServerCertificateRequest(input) err := req.Send() @@ -1253,7 +2996,30 @@ func (c *IAM) DeleteServerCertificate(input *DeleteServerCertificateInput) (*Del const opDeleteSigningCertificate = "DeleteSigningCertificate" -// DeleteSigningCertificateRequest generates a request for the DeleteSigningCertificate operation. +// DeleteSigningCertificateRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSigningCertificate operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteSigningCertificate for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteSigningCertificate method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteSigningCertificateRequest method. +// req, resp := client.DeleteSigningCertificateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) DeleteSigningCertificateRequest(input *DeleteSigningCertificateInput) (req *request.Request, output *DeleteSigningCertificateOutput) { op := &request.Operation{ Name: opDeleteSigningCertificate, @@ -1273,12 +3039,35 @@ func (c *IAM) DeleteSigningCertificateRequest(input *DeleteSigningCertificateInp return } -// Deletes the specified signing certificate associated with the specified user. +// DeleteSigningCertificate API operation for AWS Identity and Access Management. +// +// Deletes a signing certificate associated with the specified IAM user. // // If you do not specify a user name, IAM determines the user name implicitly // based on the AWS access key ID signing the request. Because this action works // for access keys under the AWS account, you can use this action to manage -// root credentials even if the AWS account has no associated users. +// root credentials even if the AWS account has no associated IAM 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 AWS Identity and Access Management's +// API operation DeleteSigningCertificate for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) DeleteSigningCertificate(input *DeleteSigningCertificateInput) (*DeleteSigningCertificateOutput, error) { req, out := c.DeleteSigningCertificateRequest(input) err := req.Send() @@ -1287,7 +3076,30 @@ func (c *IAM) DeleteSigningCertificate(input *DeleteSigningCertificateInput) (*D const opDeleteUser = "DeleteUser" -// DeleteUserRequest generates a request for the DeleteUser operation. +// DeleteUserRequest generates a "aws/request.Request" representing the +// client's request for the DeleteUser operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteUser for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteUser method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteUserRequest method. +// req, resp := client.DeleteUserRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, output *DeleteUserOutput) { op := &request.Operation{ Name: opDeleteUser, @@ -1307,8 +3119,35 @@ func (c *IAM) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, o return } -// Deletes the specified user. The user must not belong to any groups, have -// any keys or signing certificates, or have any attached policies. +// DeleteUser API operation for AWS Identity and Access Management. +// +// Deletes the specified IAM user. The user must not belong to any groups or +// have any access keys, signing certificates, or attached policies. +// +// 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 Identity and Access Management's +// API operation DeleteUser for usage and error information. +// +// Returned Error Codes: +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * DeleteConflict +// The request was rejected because it attempted to delete a resource that has +// attached subordinate entities. The error message describes these entities. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) { req, out := c.DeleteUserRequest(input) err := req.Send() @@ -1317,7 +3156,30 @@ func (c *IAM) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) { const opDeleteUserPolicy = "DeleteUserPolicy" -// DeleteUserPolicyRequest generates a request for the DeleteUserPolicy operation. +// DeleteUserPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteUserPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteUserPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteUserPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteUserPolicyRequest method. +// req, resp := client.DeleteUserPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) DeleteUserPolicyRequest(input *DeleteUserPolicyInput) (req *request.Request, output *DeleteUserPolicyOutput) { op := &request.Operation{ Name: opDeleteUserPolicy, @@ -1337,12 +3199,36 @@ func (c *IAM) DeleteUserPolicyRequest(input *DeleteUserPolicyInput) (req *reques return } -// Deletes the specified inline policy that is embedded in the specified user. +// DeleteUserPolicy API operation for AWS Identity and Access Management. +// +// Deletes the specified inline policy that is embedded in the specified IAM +// user. // // A user can also have managed policies attached to it. To detach a managed // policy from a user, use DetachUserPolicy. For more information about policies, // refer to Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation DeleteUserPolicy for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) DeleteUserPolicy(input *DeleteUserPolicyInput) (*DeleteUserPolicyOutput, error) { req, out := c.DeleteUserPolicyRequest(input) err := req.Send() @@ -1351,7 +3237,30 @@ func (c *IAM) DeleteUserPolicy(input *DeleteUserPolicyInput) (*DeleteUserPolicyO const opDeleteVirtualMFADevice = "DeleteVirtualMFADevice" -// DeleteVirtualMFADeviceRequest generates a request for the DeleteVirtualMFADevice operation. +// DeleteVirtualMFADeviceRequest generates a "aws/request.Request" representing the +// client's request for the DeleteVirtualMFADevice operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteVirtualMFADevice for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteVirtualMFADevice method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteVirtualMFADeviceRequest method. +// req, resp := client.DeleteVirtualMFADeviceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) DeleteVirtualMFADeviceRequest(input *DeleteVirtualMFADeviceInput) (req *request.Request, output *DeleteVirtualMFADeviceOutput) { op := &request.Operation{ Name: opDeleteVirtualMFADevice, @@ -1371,10 +3280,37 @@ func (c *IAM) DeleteVirtualMFADeviceRequest(input *DeleteVirtualMFADeviceInput) return } +// DeleteVirtualMFADevice API operation for AWS Identity and Access Management. +// // Deletes a virtual MFA device. // -// You must deactivate a user's virtual MFA device before you can delete it. -// For information about deactivating MFA devices, see DeactivateMFADevice. +// You must deactivate a user's virtual MFA device before you can delete +// it. For information about deactivating MFA devices, see DeactivateMFADevice. +// +// 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 Identity and Access Management's +// API operation DeleteVirtualMFADevice for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * DeleteConflict +// The request was rejected because it attempted to delete a resource that has +// attached subordinate entities. The error message describes these entities. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) DeleteVirtualMFADevice(input *DeleteVirtualMFADeviceInput) (*DeleteVirtualMFADeviceOutput, error) { req, out := c.DeleteVirtualMFADeviceRequest(input) err := req.Send() @@ -1383,7 +3319,30 @@ func (c *IAM) DeleteVirtualMFADevice(input *DeleteVirtualMFADeviceInput) (*Delet const opDetachGroupPolicy = "DetachGroupPolicy" -// DetachGroupPolicyRequest generates a request for the DetachGroupPolicy operation. +// DetachGroupPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DetachGroupPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DetachGroupPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DetachGroupPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DetachGroupPolicyRequest method. +// req, resp := client.DetachGroupPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) DetachGroupPolicyRequest(input *DetachGroupPolicyInput) (req *request.Request, output *DetachGroupPolicyOutput) { op := &request.Operation{ Name: opDetachGroupPolicy, @@ -1403,12 +3362,39 @@ func (c *IAM) DetachGroupPolicyRequest(input *DetachGroupPolicyInput) (req *requ return } -// Removes the specified managed policy from the specified group. +// DetachGroupPolicy API operation for AWS Identity and Access Management. +// +// Removes the specified managed policy from the specified IAM group. // // A group can also have inline policies embedded with it. To delete an inline -// policy, use the DeleteGroupPolicy API. For information about policies, refer -// to Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) +// policy, use the DeleteGroupPolicy API. For information about policies, see +// Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation DetachGroupPolicy for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) DetachGroupPolicy(input *DetachGroupPolicyInput) (*DetachGroupPolicyOutput, error) { req, out := c.DetachGroupPolicyRequest(input) err := req.Send() @@ -1417,7 +3403,30 @@ func (c *IAM) DetachGroupPolicy(input *DetachGroupPolicyInput) (*DetachGroupPoli const opDetachRolePolicy = "DetachRolePolicy" -// DetachRolePolicyRequest generates a request for the DetachRolePolicy operation. +// DetachRolePolicyRequest generates a "aws/request.Request" representing the +// client's request for the DetachRolePolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DetachRolePolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DetachRolePolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DetachRolePolicyRequest method. +// req, resp := client.DetachRolePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) DetachRolePolicyRequest(input *DetachRolePolicyInput) (req *request.Request, output *DetachRolePolicyOutput) { op := &request.Operation{ Name: opDetachRolePolicy, @@ -1437,12 +3446,39 @@ func (c *IAM) DetachRolePolicyRequest(input *DetachRolePolicyInput) (req *reques return } +// DetachRolePolicy API operation for AWS Identity and Access Management. +// // Removes the specified managed policy from the specified role. // // A role can also have inline policies embedded with it. To delete an inline -// policy, use the DeleteRolePolicy API. For information about policies, refer -// to Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) +// policy, use the DeleteRolePolicy API. For information about policies, see +// Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation DetachRolePolicy for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) DetachRolePolicy(input *DetachRolePolicyInput) (*DetachRolePolicyOutput, error) { req, out := c.DetachRolePolicyRequest(input) err := req.Send() @@ -1451,7 +3487,30 @@ func (c *IAM) DetachRolePolicy(input *DetachRolePolicyInput) (*DetachRolePolicyO const opDetachUserPolicy = "DetachUserPolicy" -// DetachUserPolicyRequest generates a request for the DetachUserPolicy operation. +// DetachUserPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DetachUserPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DetachUserPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DetachUserPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DetachUserPolicyRequest method. +// req, resp := client.DetachUserPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) DetachUserPolicyRequest(input *DetachUserPolicyInput) (req *request.Request, output *DetachUserPolicyOutput) { op := &request.Operation{ Name: opDetachUserPolicy, @@ -1471,12 +3530,39 @@ func (c *IAM) DetachUserPolicyRequest(input *DetachUserPolicyInput) (req *reques return } +// DetachUserPolicy API operation for AWS Identity and Access Management. +// // Removes the specified managed policy from the specified user. // // A user can also have inline policies embedded with it. To delete an inline -// policy, use the DeleteUserPolicy API. For information about policies, refer -// to Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) +// policy, use the DeleteUserPolicy API. For information about policies, see +// Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation DetachUserPolicy for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) DetachUserPolicy(input *DetachUserPolicyInput) (*DetachUserPolicyOutput, error) { req, out := c.DetachUserPolicyRequest(input) err := req.Send() @@ -1485,7 +3571,30 @@ func (c *IAM) DetachUserPolicy(input *DetachUserPolicyInput) (*DetachUserPolicyO const opEnableMFADevice = "EnableMFADevice" -// EnableMFADeviceRequest generates a request for the EnableMFADevice operation. +// EnableMFADeviceRequest generates a "aws/request.Request" representing the +// client's request for the EnableMFADevice operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See EnableMFADevice for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the EnableMFADevice method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the EnableMFADeviceRequest method. +// req, resp := client.EnableMFADeviceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) EnableMFADeviceRequest(input *EnableMFADeviceInput) (req *request.Request, output *EnableMFADeviceOutput) { op := &request.Operation{ Name: opEnableMFADevice, @@ -1505,9 +3614,46 @@ func (c *IAM) EnableMFADeviceRequest(input *EnableMFADeviceInput) (req *request. return } -// Enables the specified MFA device and associates it with the specified user -// name. When enabled, the MFA device is required for every subsequent login -// by the user name associated with the device. +// EnableMFADevice API operation for AWS Identity and Access Management. +// +// Enables the specified MFA device and associates it with the specified IAM +// user. When enabled, the MFA device is required for every subsequent login +// by the IAM user associated with the device. +// +// 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 Identity and Access Management's +// API operation EnableMFADevice for usage and error information. +// +// Returned Error Codes: +// * EntityAlreadyExists +// The request was rejected because it attempted to create a resource that already +// exists. +// +// * EntityTemporarilyUnmodifiable +// The request was rejected because it referenced an entity that is temporarily +// unmodifiable, such as a user name that was deleted and then recreated. The +// error indicates that the request is likely to succeed if you try again after +// waiting several minutes. The error message describes the entity. +// +// * InvalidAuthenticationCode +// The request was rejected because the authentication code was not recognized. +// The error message describes the specific error. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) EnableMFADevice(input *EnableMFADeviceInput) (*EnableMFADeviceOutput, error) { req, out := c.EnableMFADeviceRequest(input) err := req.Send() @@ -1516,7 +3662,30 @@ func (c *IAM) EnableMFADevice(input *EnableMFADeviceInput) (*EnableMFADeviceOutp const opGenerateCredentialReport = "GenerateCredentialReport" -// GenerateCredentialReportRequest generates a request for the GenerateCredentialReport operation. +// GenerateCredentialReportRequest generates a "aws/request.Request" representing the +// client's request for the GenerateCredentialReport operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GenerateCredentialReport for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GenerateCredentialReport method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GenerateCredentialReportRequest method. +// req, resp := client.GenerateCredentialReportRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) GenerateCredentialReportRequest(input *GenerateCredentialReportInput) (req *request.Request, output *GenerateCredentialReportOutput) { op := &request.Operation{ Name: opGenerateCredentialReport, @@ -1534,9 +3703,28 @@ func (c *IAM) GenerateCredentialReportRequest(input *GenerateCredentialReportInp return } +// GenerateCredentialReport API operation for AWS Identity and Access Management. +// // Generates a credential report for the AWS account. For more information about // the credential report, see Getting Credential Reports (http://docs.aws.amazon.com/IAM/latest/UserGuide/credential-reports.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation GenerateCredentialReport for usage and error information. +// +// Returned Error Codes: +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) GenerateCredentialReport(input *GenerateCredentialReportInput) (*GenerateCredentialReportOutput, error) { req, out := c.GenerateCredentialReportRequest(input) err := req.Send() @@ -1545,7 +3733,30 @@ func (c *IAM) GenerateCredentialReport(input *GenerateCredentialReportInput) (*G const opGetAccessKeyLastUsed = "GetAccessKeyLastUsed" -// GetAccessKeyLastUsedRequest generates a request for the GetAccessKeyLastUsed operation. +// GetAccessKeyLastUsedRequest generates a "aws/request.Request" representing the +// client's request for the GetAccessKeyLastUsed operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetAccessKeyLastUsed for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetAccessKeyLastUsed method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetAccessKeyLastUsedRequest method. +// req, resp := client.GetAccessKeyLastUsedRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) GetAccessKeyLastUsedRequest(input *GetAccessKeyLastUsedInput) (req *request.Request, output *GetAccessKeyLastUsedOutput) { op := &request.Operation{ Name: opGetAccessKeyLastUsed, @@ -1563,10 +3774,25 @@ func (c *IAM) GetAccessKeyLastUsedRequest(input *GetAccessKeyLastUsedInput) (req return } +// GetAccessKeyLastUsed API operation for AWS Identity and Access Management. +// // Retrieves information about when the specified access key was last used. // The information includes the date and time of last use, along with the AWS // service and region that were specified in the last request made with that // key. +// +// 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 Identity and Access Management's +// API operation GetAccessKeyLastUsed for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// func (c *IAM) GetAccessKeyLastUsed(input *GetAccessKeyLastUsedInput) (*GetAccessKeyLastUsedOutput, error) { req, out := c.GetAccessKeyLastUsedRequest(input) err := req.Send() @@ -1575,7 +3801,30 @@ func (c *IAM) GetAccessKeyLastUsed(input *GetAccessKeyLastUsedInput) (*GetAccess const opGetAccountAuthorizationDetails = "GetAccountAuthorizationDetails" -// GetAccountAuthorizationDetailsRequest generates a request for the GetAccountAuthorizationDetails operation. +// GetAccountAuthorizationDetailsRequest generates a "aws/request.Request" representing the +// client's request for the GetAccountAuthorizationDetails operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetAccountAuthorizationDetails for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetAccountAuthorizationDetails method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetAccountAuthorizationDetailsRequest method. +// req, resp := client.GetAccountAuthorizationDetailsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) GetAccountAuthorizationDetailsRequest(input *GetAccountAuthorizationDetailsInput) (req *request.Request, output *GetAccountAuthorizationDetailsOutput) { op := &request.Operation{ Name: opGetAccountAuthorizationDetails, @@ -1599,19 +3848,51 @@ func (c *IAM) GetAccountAuthorizationDetailsRequest(input *GetAccountAuthorizati return } +// GetAccountAuthorizationDetails API operation for AWS Identity and Access Management. +// // Retrieves information about all IAM users, groups, roles, and policies in -// your account, including their relationships to one another. Use this API -// to obtain a snapshot of the configuration of IAM permissions (users, groups, -// roles, and policies) in your account. +// your AWS account, including their relationships to one another. Use this +// API to obtain a snapshot of the configuration of IAM permissions (users, +// groups, roles, and policies) in your account. // // You can optionally filter the results using the Filter parameter. You can // paginate the results using the MaxItems and Marker 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation GetAccountAuthorizationDetails for usage and error information. +// +// Returned Error Codes: +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) GetAccountAuthorizationDetails(input *GetAccountAuthorizationDetailsInput) (*GetAccountAuthorizationDetailsOutput, error) { req, out := c.GetAccountAuthorizationDetailsRequest(input) err := req.Send() return out, err } +// GetAccountAuthorizationDetailsPages iterates over the pages of a GetAccountAuthorizationDetails operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetAccountAuthorizationDetails 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 GetAccountAuthorizationDetails operation. +// pageNum := 0 +// err := client.GetAccountAuthorizationDetailsPages(params, +// func(page *GetAccountAuthorizationDetailsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *IAM) GetAccountAuthorizationDetailsPages(input *GetAccountAuthorizationDetailsInput, fn func(p *GetAccountAuthorizationDetailsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.GetAccountAuthorizationDetailsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1622,7 +3903,30 @@ func (c *IAM) GetAccountAuthorizationDetailsPages(input *GetAccountAuthorization const opGetAccountPasswordPolicy = "GetAccountPasswordPolicy" -// GetAccountPasswordPolicyRequest generates a request for the GetAccountPasswordPolicy operation. +// GetAccountPasswordPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetAccountPasswordPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetAccountPasswordPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetAccountPasswordPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetAccountPasswordPolicyRequest method. +// req, resp := client.GetAccountPasswordPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) GetAccountPasswordPolicyRequest(input *GetAccountPasswordPolicyInput) (req *request.Request, output *GetAccountPasswordPolicyOutput) { op := &request.Operation{ Name: opGetAccountPasswordPolicy, @@ -1640,8 +3944,27 @@ func (c *IAM) GetAccountPasswordPolicyRequest(input *GetAccountPasswordPolicyInp return } +// GetAccountPasswordPolicy API operation for AWS Identity and Access Management. +// // Retrieves the password policy for the AWS account. For more information about // using a password policy, go to Managing an IAM Password Policy (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingPasswordPolicies.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. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation GetAccountPasswordPolicy for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) GetAccountPasswordPolicy(input *GetAccountPasswordPolicyInput) (*GetAccountPasswordPolicyOutput, error) { req, out := c.GetAccountPasswordPolicyRequest(input) err := req.Send() @@ -1650,7 +3973,30 @@ func (c *IAM) GetAccountPasswordPolicy(input *GetAccountPasswordPolicyInput) (*G const opGetAccountSummary = "GetAccountSummary" -// GetAccountSummaryRequest generates a request for the GetAccountSummary operation. +// GetAccountSummaryRequest generates a "aws/request.Request" representing the +// client's request for the GetAccountSummary operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetAccountSummary for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetAccountSummary method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetAccountSummaryRequest method. +// req, resp := client.GetAccountSummaryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) GetAccountSummaryRequest(input *GetAccountSummaryInput) (req *request.Request, output *GetAccountSummaryOutput) { op := &request.Operation{ Name: opGetAccountSummary, @@ -1668,11 +4014,26 @@ func (c *IAM) GetAccountSummaryRequest(input *GetAccountSummaryInput) (req *requ return } +// GetAccountSummary API operation for AWS Identity and Access Management. +// // Retrieves information about IAM entity usage and IAM quotas in the AWS account. // // For information about limitations on IAM entities, see Limitations on IAM // Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation GetAccountSummary for usage and error information. +// +// Returned Error Codes: +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) GetAccountSummary(input *GetAccountSummaryInput) (*GetAccountSummaryOutput, error) { req, out := c.GetAccountSummaryRequest(input) err := req.Send() @@ -1681,7 +4042,30 @@ func (c *IAM) GetAccountSummary(input *GetAccountSummaryInput) (*GetAccountSumma const opGetContextKeysForCustomPolicy = "GetContextKeysForCustomPolicy" -// GetContextKeysForCustomPolicyRequest generates a request for the GetContextKeysForCustomPolicy operation. +// GetContextKeysForCustomPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetContextKeysForCustomPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetContextKeysForCustomPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetContextKeysForCustomPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetContextKeysForCustomPolicyRequest method. +// req, resp := client.GetContextKeysForCustomPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) GetContextKeysForCustomPolicyRequest(input *GetContextKeysForCustomPolicyInput) (req *request.Request, output *GetContextKeysForPolicyResponse) { op := &request.Operation{ Name: opGetContextKeysForCustomPolicy, @@ -1699,17 +4083,31 @@ func (c *IAM) GetContextKeysForCustomPolicyRequest(input *GetContextKeysForCusto return } -// Gets a list of all of the context keys referenced in Condition elements in -// the input policies. The policies are supplied as a list of one or more strings. -// To get the context keys from policies associated with an IAM user, group, -// or role, use GetContextKeysForPrincipalPolicy. +// GetContextKeysForCustomPolicy API operation for AWS Identity and Access Management. +// +// Gets a list of all of the context keys referenced in the input policies. +// The policies are supplied as a list of one or more strings. To get the context +// keys from policies associated with an IAM user, group, or role, use GetContextKeysForPrincipalPolicy. // // Context keys are variables maintained by AWS and its services that provide // details about the context of an API query request, and can be evaluated by -// using the Condition element of an IAM policy. Use GetContextKeysForCustomPolicy +// testing against a value specified in an IAM policy. Use GetContextKeysForCustomPolicy // to understand what key names and values you must supply when you call SimulateCustomPolicy. // Note that all parameters are shown in unencoded form here for clarity, but // must be URL encoded to be included as a part of a real HTML request. +// +// 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 Identity and Access Management's +// API operation GetContextKeysForCustomPolicy for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// func (c *IAM) GetContextKeysForCustomPolicy(input *GetContextKeysForCustomPolicyInput) (*GetContextKeysForPolicyResponse, error) { req, out := c.GetContextKeysForCustomPolicyRequest(input) err := req.Send() @@ -1718,7 +4116,30 @@ func (c *IAM) GetContextKeysForCustomPolicy(input *GetContextKeysForCustomPolicy const opGetContextKeysForPrincipalPolicy = "GetContextKeysForPrincipalPolicy" -// GetContextKeysForPrincipalPolicyRequest generates a request for the GetContextKeysForPrincipalPolicy operation. +// GetContextKeysForPrincipalPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetContextKeysForPrincipalPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetContextKeysForPrincipalPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetContextKeysForPrincipalPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetContextKeysForPrincipalPolicyRequest method. +// req, resp := client.GetContextKeysForPrincipalPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) GetContextKeysForPrincipalPolicyRequest(input *GetContextKeysForPrincipalPolicyInput) (req *request.Request, output *GetContextKeysForPolicyResponse) { op := &request.Operation{ Name: opGetContextKeysForPrincipalPolicy, @@ -1736,24 +4157,42 @@ func (c *IAM) GetContextKeysForPrincipalPolicyRequest(input *GetContextKeysForPr return } -// Gets a list of all of the context keys referenced in Condition elements in -// all of the IAM policies attached to the specified IAM entity. The entity -// can be an IAM user, group, or role. If you specify a user, then the request -// also includes all of the policies attached to groups that the user is a member -// of. +// GetContextKeysForPrincipalPolicy API operation for AWS Identity and Access Management. +// +// Gets a list of all of the context keys referenced in all of the IAM policies +// attached to the specified IAM entity. The entity can be an IAM user, group, +// or role. If you specify a user, then the request also includes all of the +// policies attached to groups that the user is a member of. // // You can optionally include a list of one or more additional policies, specified // as strings. If you want to include only a list of policies by string, use // GetContextKeysForCustomPolicy instead. // -// Note: This API discloses information about the permissions granted to other +// Note: This API discloses information about the permissions granted to other // users. If you do not want users to see other user's permissions, then consider // allowing them to use GetContextKeysForCustomPolicy instead. // // Context keys are variables maintained by AWS and its services that provide // details about the context of an API query request, and can be evaluated by -// using the Condition element of an IAM policy. Use GetContextKeysForPrincipalPolicy +// testing against a value in an IAM policy. Use GetContextKeysForPrincipalPolicy // to understand what key names and values you must supply when you call SimulatePrincipalPolicy. +// +// 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 Identity and Access Management's +// API operation GetContextKeysForPrincipalPolicy for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// func (c *IAM) GetContextKeysForPrincipalPolicy(input *GetContextKeysForPrincipalPolicyInput) (*GetContextKeysForPolicyResponse, error) { req, out := c.GetContextKeysForPrincipalPolicyRequest(input) err := req.Send() @@ -1762,7 +4201,30 @@ func (c *IAM) GetContextKeysForPrincipalPolicy(input *GetContextKeysForPrincipal const opGetCredentialReport = "GetCredentialReport" -// GetCredentialReportRequest generates a request for the GetCredentialReport operation. +// GetCredentialReportRequest generates a "aws/request.Request" representing the +// client's request for the GetCredentialReport operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetCredentialReport for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetCredentialReport method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetCredentialReportRequest method. +// req, resp := client.GetCredentialReportRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) GetCredentialReportRequest(input *GetCredentialReportInput) (req *request.Request, output *GetCredentialReportOutput) { op := &request.Operation{ Name: opGetCredentialReport, @@ -1780,9 +4242,38 @@ func (c *IAM) GetCredentialReportRequest(input *GetCredentialReportInput) (req * return } +// GetCredentialReport API operation for AWS Identity and Access Management. +// // Retrieves a credential report for the AWS account. For more information about // the credential report, see Getting Credential Reports (http://docs.aws.amazon.com/IAM/latest/UserGuide/credential-reports.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation GetCredentialReport for usage and error information. +// +// Returned Error Codes: +// * ReportNotPresent +// The request was rejected because the credential report does not exist. To +// generate a credential report, use GenerateCredentialReport. +// +// * ReportExpired +// The request was rejected because the most recent credential report has expired. +// To generate a new credential report, use GenerateCredentialReport. For more +// information about credential report expiration, see Getting Credential Reports +// (http://docs.aws.amazon.com/IAM/latest/UserGuide/credential-reports.html) +// in the IAM User Guide. +// +// * ReportInProgress +// The request was rejected because the credential report is still being generated. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) GetCredentialReport(input *GetCredentialReportInput) (*GetCredentialReportOutput, error) { req, out := c.GetCredentialReportRequest(input) err := req.Send() @@ -1791,7 +4282,30 @@ func (c *IAM) GetCredentialReport(input *GetCredentialReportInput) (*GetCredenti const opGetGroup = "GetGroup" -// GetGroupRequest generates a request for the GetGroup operation. +// GetGroupRequest generates a "aws/request.Request" representing the +// client's request for the GetGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetGroupRequest method. +// req, resp := client.GetGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) GetGroupRequest(input *GetGroupInput) (req *request.Request, output *GetGroupOutput) { op := &request.Operation{ Name: opGetGroup, @@ -1815,14 +4329,50 @@ func (c *IAM) GetGroupRequest(input *GetGroupInput) (req *request.Request, outpu return } -// Returns a list of users that are in the specified group. You can paginate -// the results using the MaxItems and Marker parameters. +// GetGroup API operation for AWS Identity and Access Management. +// +// Returns a list of IAM users that are in the specified IAM group. You can +// paginate the results using the MaxItems and Marker 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation GetGroup for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) GetGroup(input *GetGroupInput) (*GetGroupOutput, error) { req, out := c.GetGroupRequest(input) err := req.Send() return out, err } +// GetGroupPages iterates over the pages of a GetGroup operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetGroup 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 GetGroup operation. +// pageNum := 0 +// err := client.GetGroupPages(params, +// func(page *GetGroupOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *IAM) GetGroupPages(input *GetGroupInput, fn func(p *GetGroupOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.GetGroupRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1833,7 +4383,30 @@ func (c *IAM) GetGroupPages(input *GetGroupInput, fn func(p *GetGroupOutput, las const opGetGroupPolicy = "GetGroupPolicy" -// GetGroupPolicyRequest generates a request for the GetGroupPolicy operation. +// GetGroupPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetGroupPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetGroupPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetGroupPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetGroupPolicyRequest method. +// req, resp := client.GetGroupPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) GetGroupPolicyRequest(input *GetGroupPolicyInput) (req *request.Request, output *GetGroupPolicyOutput) { op := &request.Operation{ Name: opGetGroupPolicy, @@ -1851,17 +4424,42 @@ func (c *IAM) GetGroupPolicyRequest(input *GetGroupPolicyInput) (req *request.Re return } +// GetGroupPolicy API operation for AWS Identity and Access Management. +// // Retrieves the specified inline policy document that is embedded in the specified -// group. +// IAM group. +// +// Policies returned by this API are URL-encoded compliant with RFC 3986 (https://tools.ietf.org/html/rfc3986). +// You can use a URL decoding method to convert the policy back to plain JSON +// text. For example, if you use Java, you can use the decode method of the +// java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs +// provide similar functionality. // -// A group can also have managed policies attached to it. To retrieve a managed -// policy document that is attached to a group, use GetPolicy to determine the -// policy's default version, then use GetPolicyVersion to retrieve the policy +// An IAM group can also have managed policies attached to it. To retrieve +// a managed policy document that is attached to a group, use GetPolicy to determine +// the policy's default version, then use GetPolicyVersion to retrieve the policy // document. // -// For more information about policies, refer to Managed Policies and Inline -// Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) +// For more information about policies, see Managed Policies and Inline Policies +// (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation GetGroupPolicy for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) GetGroupPolicy(input *GetGroupPolicyInput) (*GetGroupPolicyOutput, error) { req, out := c.GetGroupPolicyRequest(input) err := req.Send() @@ -1870,7 +4468,30 @@ func (c *IAM) GetGroupPolicy(input *GetGroupPolicyInput) (*GetGroupPolicyOutput, const opGetInstanceProfile = "GetInstanceProfile" -// GetInstanceProfileRequest generates a request for the GetInstanceProfile operation. +// GetInstanceProfileRequest generates a "aws/request.Request" representing the +// client's request for the GetInstanceProfile operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetInstanceProfile for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetInstanceProfile method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetInstanceProfileRequest method. +// req, resp := client.GetInstanceProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) GetInstanceProfileRequest(input *GetInstanceProfileInput) (req *request.Request, output *GetInstanceProfileOutput) { op := &request.Operation{ Name: opGetInstanceProfile, @@ -1888,10 +4509,29 @@ func (c *IAM) GetInstanceProfileRequest(input *GetInstanceProfileInput) (req *re return } +// GetInstanceProfile API operation for AWS Identity and Access Management. +// // Retrieves information about the specified instance profile, including the // instance profile's path, GUID, ARN, and role. For more information about -// instance profiles, go to About Instance Profiles (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html). -// For more information about ARNs, go to ARNs (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html#Identifiers_ARNs). +// instance profiles, see About Instance Profiles (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html) +// in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation GetInstanceProfile for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) GetInstanceProfile(input *GetInstanceProfileInput) (*GetInstanceProfileOutput, error) { req, out := c.GetInstanceProfileRequest(input) err := req.Send() @@ -1900,7 +4540,30 @@ func (c *IAM) GetInstanceProfile(input *GetInstanceProfileInput) (*GetInstancePr const opGetLoginProfile = "GetLoginProfile" -// GetLoginProfileRequest generates a request for the GetLoginProfile operation. +// GetLoginProfileRequest generates a "aws/request.Request" representing the +// client's request for the GetLoginProfile operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetLoginProfile for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetLoginProfile method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetLoginProfileRequest method. +// req, resp := client.GetLoginProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) GetLoginProfileRequest(input *GetLoginProfileInput) (req *request.Request, output *GetLoginProfileOutput) { op := &request.Operation{ Name: opGetLoginProfile, @@ -1918,9 +4581,28 @@ func (c *IAM) GetLoginProfileRequest(input *GetLoginProfileInput) (req *request. return } -// Retrieves the user name and password-creation date for the specified user. -// If the user has not been assigned a password, the action returns a 404 (NoSuchEntity) -// error. +// GetLoginProfile API operation for AWS Identity and Access Management. +// +// Retrieves the user name and password-creation date for the specified IAM +// user. If the user has not been assigned a password, the action returns a +// 404 (NoSuchEntity) error. +// +// 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 Identity and Access Management's +// API operation GetLoginProfile for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) GetLoginProfile(input *GetLoginProfileInput) (*GetLoginProfileOutput, error) { req, out := c.GetLoginProfileRequest(input) err := req.Send() @@ -1929,7 +4611,30 @@ func (c *IAM) GetLoginProfile(input *GetLoginProfileInput) (*GetLoginProfileOutp const opGetOpenIDConnectProvider = "GetOpenIDConnectProvider" -// GetOpenIDConnectProviderRequest generates a request for the GetOpenIDConnectProvider operation. +// GetOpenIDConnectProviderRequest generates a "aws/request.Request" representing the +// client's request for the GetOpenIDConnectProvider operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetOpenIDConnectProvider for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetOpenIDConnectProvider method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetOpenIDConnectProviderRequest method. +// req, resp := client.GetOpenIDConnectProviderRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) GetOpenIDConnectProviderRequest(input *GetOpenIDConnectProviderInput) (req *request.Request, output *GetOpenIDConnectProviderOutput) { op := &request.Operation{ Name: opGetOpenIDConnectProvider, @@ -1947,7 +4652,31 @@ func (c *IAM) GetOpenIDConnectProviderRequest(input *GetOpenIDConnectProviderInp return } -// Returns information about the specified OpenID Connect provider. +// GetOpenIDConnectProvider API operation for AWS Identity and Access Management. +// +// Returns information about the specified OpenID Connect (OIDC) provider resource +// object in IAM. +// +// 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 Identity and Access Management's +// API operation GetOpenIDConnectProvider for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) GetOpenIDConnectProvider(input *GetOpenIDConnectProviderInput) (*GetOpenIDConnectProviderOutput, error) { req, out := c.GetOpenIDConnectProviderRequest(input) err := req.Send() @@ -1956,7 +4685,30 @@ func (c *IAM) GetOpenIDConnectProvider(input *GetOpenIDConnectProviderInput) (*G const opGetPolicy = "GetPolicy" -// GetPolicyRequest generates a request for the GetPolicy operation. +// GetPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetPolicyRequest method. +// req, resp := client.GetPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) GetPolicyRequest(input *GetPolicyInput) (req *request.Request, output *GetPolicyOutput) { op := &request.Operation{ Name: opGetPolicy, @@ -1974,20 +4726,43 @@ func (c *IAM) GetPolicyRequest(input *GetPolicyInput) (req *request.Request, out return } +// GetPolicy API operation for AWS Identity and Access Management. +// // Retrieves information about the specified managed policy, including the policy's -// default version and the total number of users, groups, and roles that the -// policy is attached to. For a list of the specific users, groups, and roles -// that the policy is attached to, use the ListEntitiesForPolicy API. This API -// returns metadata about the policy. To retrieve the policy document for a -// specific version of the policy, use GetPolicyVersion. +// default version and the total number of IAM users, groups, and roles to which +// the policy is attached. To retrieve the list of the specific users, groups, +// and roles that the policy is attached to, use the ListEntitiesForPolicy API. +// This API returns metadata about the policy. To retrieve the actual policy +// document for a specific version of the policy, use GetPolicyVersion. // // This API retrieves information about managed policies. To retrieve information -// about an inline policy that is embedded with a user, group, or role, use -// the GetUserPolicy, GetGroupPolicy, or GetRolePolicy API. +// about an inline policy that is embedded with an IAM user, group, or role, +// use the GetUserPolicy, GetGroupPolicy, or GetRolePolicy API. // -// For more information about policies, refer to Managed Policies and Inline -// Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) +// For more information about policies, see Managed Policies and Inline Policies +// (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation GetPolicy for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) GetPolicy(input *GetPolicyInput) (*GetPolicyOutput, error) { req, out := c.GetPolicyRequest(input) err := req.Send() @@ -1996,7 +4771,30 @@ func (c *IAM) GetPolicy(input *GetPolicyInput) (*GetPolicyOutput, error) { const opGetPolicyVersion = "GetPolicyVersion" -// GetPolicyVersionRequest generates a request for the GetPolicyVersion operation. +// GetPolicyVersionRequest generates a "aws/request.Request" representing the +// client's request for the GetPolicyVersion operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetPolicyVersion for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetPolicyVersion method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetPolicyVersionRequest method. +// req, resp := client.GetPolicyVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) GetPolicyVersionRequest(input *GetPolicyVersionInput) (req *request.Request, output *GetPolicyVersionOutput) { op := &request.Operation{ Name: opGetPolicyVersion, @@ -2014,18 +4812,51 @@ func (c *IAM) GetPolicyVersionRequest(input *GetPolicyVersionInput) (req *reques return } +// GetPolicyVersion API operation for AWS Identity and Access Management. +// // Retrieves information about the specified version of the specified managed // policy, including the policy document. // -// To list the available versions for a policy, use ListPolicyVersions. +// Policies returned by this API are URL-encoded compliant with RFC 3986 (https://tools.ietf.org/html/rfc3986). +// You can use a URL decoding method to convert the policy back to plain JSON +// text. For example, if you use Java, you can use the decode method of the +// java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs +// provide similar functionality. +// +// To list the available versions for a policy, use ListPolicyVersions. // // This API retrieves information about managed policies. To retrieve information // about an inline policy that is embedded in a user, group, or role, use the // GetUserPolicy, GetGroupPolicy, or GetRolePolicy API. // -// For more information about the types of policies, refer to Managed Policies -// and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) +// For more information about the types of policies, see Managed Policies and +// Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) +// in the IAM User Guide. +// +// For more information about managed policy versions, see Versioning for Managed +// Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation GetPolicyVersion for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) GetPolicyVersion(input *GetPolicyVersionInput) (*GetPolicyVersionOutput, error) { req, out := c.GetPolicyVersionRequest(input) err := req.Send() @@ -2034,7 +4865,30 @@ func (c *IAM) GetPolicyVersion(input *GetPolicyVersionInput) (*GetPolicyVersionO const opGetRole = "GetRole" -// GetRoleRequest generates a request for the GetRole operation. +// GetRoleRequest generates a "aws/request.Request" representing the +// client's request for the GetRole operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetRole for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetRole method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetRoleRequest method. +// req, resp := client.GetRoleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) GetRoleRequest(input *GetRoleInput) (req *request.Request, output *GetRoleOutput) { op := &request.Operation{ Name: opGetRole, @@ -2052,10 +4906,34 @@ func (c *IAM) GetRoleRequest(input *GetRoleInput) (req *request.Request, output return } +// GetRole API operation for AWS Identity and Access Management. +// // Retrieves information about the specified role, including the role's path, -// GUID, ARN, and the policy granting permission to assume the role. For more -// information about ARNs, go to ARNs (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html#Identifiers_ARNs). -// For more information about roles, go to Working with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html). +// GUID, ARN, and the role's trust policy that grants permission to assume the +// role. For more information about roles, see Working with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html). +// +// Policies returned by this API are URL-encoded compliant with RFC 3986 (https://tools.ietf.org/html/rfc3986). +// You can use a URL decoding method to convert the policy back to plain JSON +// text. For example, if you use Java, you can use the decode method of the +// java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs +// provide similar functionality. +// +// 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 Identity and Access Management's +// API operation GetRole for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) GetRole(input *GetRoleInput) (*GetRoleOutput, error) { req, out := c.GetRoleRequest(input) err := req.Send() @@ -2064,7 +4942,30 @@ func (c *IAM) GetRole(input *GetRoleInput) (*GetRoleOutput, error) { const opGetRolePolicy = "GetRolePolicy" -// GetRolePolicyRequest generates a request for the GetRolePolicy operation. +// GetRolePolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetRolePolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetRolePolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetRolePolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetRolePolicyRequest method. +// req, resp := client.GetRolePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) GetRolePolicyRequest(input *GetRolePolicyInput) (req *request.Request, output *GetRolePolicyOutput) { op := &request.Operation{ Name: opGetRolePolicy, @@ -2082,20 +4983,45 @@ func (c *IAM) GetRolePolicyRequest(input *GetRolePolicyInput) (req *request.Requ return } +// GetRolePolicy API operation for AWS Identity and Access Management. +// // Retrieves the specified inline policy document that is embedded with the -// specified role. +// specified IAM role. +// +// Policies returned by this API are URL-encoded compliant with RFC 3986 (https://tools.ietf.org/html/rfc3986). +// You can use a URL decoding method to convert the policy back to plain JSON +// text. For example, if you use Java, you can use the decode method of the +// java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs +// provide similar functionality. // -// A role can also have managed policies attached to it. To retrieve a managed -// policy document that is attached to a role, use GetPolicy to determine the -// policy's default version, then use GetPolicyVersion to retrieve the policy +// An IAM role can also have managed policies attached to it. To retrieve +// a managed policy document that is attached to a role, use GetPolicy to determine +// the policy's default version, then use GetPolicyVersion to retrieve the policy // document. // -// For more information about policies, refer to Managed Policies and Inline -// Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) +// For more information about policies, see Managed Policies and Inline Policies +// (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM User Guide. // -// For more information about roles, go to Using Roles to Delegate Permissions +// For more information about roles, see Using Roles to Delegate Permissions // and Federate Identities (http://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.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. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation GetRolePolicy for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) GetRolePolicy(input *GetRolePolicyInput) (*GetRolePolicyOutput, error) { req, out := c.GetRolePolicyRequest(input) err := req.Send() @@ -2104,7 +5030,30 @@ func (c *IAM) GetRolePolicy(input *GetRolePolicyInput) (*GetRolePolicyOutput, er const opGetSAMLProvider = "GetSAMLProvider" -// GetSAMLProviderRequest generates a request for the GetSAMLProvider operation. +// GetSAMLProviderRequest generates a "aws/request.Request" representing the +// client's request for the GetSAMLProvider operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetSAMLProvider for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetSAMLProvider method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetSAMLProviderRequest method. +// req, resp := client.GetSAMLProviderRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) GetSAMLProviderRequest(input *GetSAMLProviderInput) (req *request.Request, output *GetSAMLProviderOutput) { op := &request.Operation{ Name: opGetSAMLProvider, @@ -2122,10 +5071,33 @@ func (c *IAM) GetSAMLProviderRequest(input *GetSAMLProviderInput) (req *request. return } -// Returns the SAML provider metadocument that was uploaded when the provider -// was created or updated. +// GetSAMLProvider API operation for AWS Identity and Access Management. +// +// Returns the SAML provider metadocument that was uploaded when the IAM SAML +// provider resource object was created or updated. +// +// This operation requires Signature Version 4 (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.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. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation GetSAMLProvider for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. // -// This operation requires Signature Version 4 (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). func (c *IAM) GetSAMLProvider(input *GetSAMLProviderInput) (*GetSAMLProviderOutput, error) { req, out := c.GetSAMLProviderRequest(input) err := req.Send() @@ -2134,7 +5106,30 @@ func (c *IAM) GetSAMLProvider(input *GetSAMLProviderInput) (*GetSAMLProviderOutp const opGetSSHPublicKey = "GetSSHPublicKey" -// GetSSHPublicKeyRequest generates a request for the GetSSHPublicKey operation. +// GetSSHPublicKeyRequest generates a "aws/request.Request" representing the +// client's request for the GetSSHPublicKey operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetSSHPublicKey for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetSSHPublicKey method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetSSHPublicKeyRequest method. +// req, resp := client.GetSSHPublicKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) GetSSHPublicKeyRequest(input *GetSSHPublicKeyInput) (req *request.Request, output *GetSSHPublicKeyOutput) { op := &request.Operation{ Name: opGetSSHPublicKey, @@ -2152,6 +5147,8 @@ func (c *IAM) GetSSHPublicKeyRequest(input *GetSSHPublicKeyInput) (req *request. return } +// GetSSHPublicKey API operation for AWS Identity and Access Management. +// // Retrieves the specified SSH public key, including metadata about the key. // // The SSH public key retrieved by this action is used only for authenticating @@ -2159,6 +5156,23 @@ func (c *IAM) GetSSHPublicKeyRequest(input *GetSSHPublicKeyInput) (req *request. // about using SSH keys to authenticate to an AWS CodeCommit repository, see // Set up AWS CodeCommit for SSH Connections (http://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-credentials-ssh.html) // in the AWS CodeCommit 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation GetSSHPublicKey for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * UnrecognizedPublicKeyEncoding +// The request was rejected because the public key encoding format is unsupported +// or unrecognized. +// func (c *IAM) GetSSHPublicKey(input *GetSSHPublicKeyInput) (*GetSSHPublicKeyOutput, error) { req, out := c.GetSSHPublicKeyRequest(input) err := req.Send() @@ -2167,7 +5181,30 @@ func (c *IAM) GetSSHPublicKey(input *GetSSHPublicKeyInput) (*GetSSHPublicKeyOutp const opGetServerCertificate = "GetServerCertificate" -// GetServerCertificateRequest generates a request for the GetServerCertificate operation. +// GetServerCertificateRequest generates a "aws/request.Request" representing the +// client's request for the GetServerCertificate operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetServerCertificate for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetServerCertificate method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetServerCertificateRequest method. +// req, resp := client.GetServerCertificateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) GetServerCertificateRequest(input *GetServerCertificateInput) (req *request.Request, output *GetServerCertificateOutput) { op := &request.Operation{ Name: opGetServerCertificate, @@ -2185,12 +5222,31 @@ func (c *IAM) GetServerCertificateRequest(input *GetServerCertificateInput) (req return } -// Retrieves information about the specified server certificate. +// GetServerCertificate API operation for AWS Identity and Access Management. +// +// Retrieves information about the specified server certificate stored in IAM. // // For more information about working with server certificates, including a // list of AWS services that can use the server certificates that you manage // with IAM, go to Working with Server Certificates (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation GetServerCertificate for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) GetServerCertificate(input *GetServerCertificateInput) (*GetServerCertificateOutput, error) { req, out := c.GetServerCertificateRequest(input) err := req.Send() @@ -2199,7 +5255,30 @@ func (c *IAM) GetServerCertificate(input *GetServerCertificateInput) (*GetServer const opGetUser = "GetUser" -// GetUserRequest generates a request for the GetUser operation. +// GetUserRequest generates a "aws/request.Request" representing the +// client's request for the GetUser operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetUser for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetUser method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetUserRequest method. +// req, resp := client.GetUserRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) GetUserRequest(input *GetUserInput) (req *request.Request, output *GetUserOutput) { op := &request.Operation{ Name: opGetUser, @@ -2217,11 +5296,30 @@ func (c *IAM) GetUserRequest(input *GetUserInput) (req *request.Request, output return } -// Retrieves information about the specified user, including the user's creation -// date, path, unique ID, and ARN. +// GetUser API operation for AWS Identity and Access Management. +// +// Retrieves information about the specified IAM user, including the user's +// creation date, path, unique ID, and ARN. // // If you do not specify a user name, IAM determines the user name implicitly -// based on the AWS access key ID used to sign the request. +// based on the AWS access key ID used to sign the request to this API. +// +// 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 Identity and Access Management's +// API operation GetUser for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) GetUser(input *GetUserInput) (*GetUserOutput, error) { req, out := c.GetUserRequest(input) err := req.Send() @@ -2230,7 +5328,30 @@ func (c *IAM) GetUser(input *GetUserInput) (*GetUserOutput, error) { const opGetUserPolicy = "GetUserPolicy" -// GetUserPolicyRequest generates a request for the GetUserPolicy operation. +// GetUserPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetUserPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetUserPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetUserPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetUserPolicyRequest method. +// req, resp := client.GetUserPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) GetUserPolicyRequest(input *GetUserPolicyInput) (req *request.Request, output *GetUserPolicyOutput) { op := &request.Operation{ Name: opGetUserPolicy, @@ -2248,17 +5369,42 @@ func (c *IAM) GetUserPolicyRequest(input *GetUserPolicyInput) (req *request.Requ return } +// GetUserPolicy API operation for AWS Identity and Access Management. +// // Retrieves the specified inline policy document that is embedded in the specified -// user. +// IAM user. +// +// Policies returned by this API are URL-encoded compliant with RFC 3986 (https://tools.ietf.org/html/rfc3986). +// You can use a URL decoding method to convert the policy back to plain JSON +// text. For example, if you use Java, you can use the decode method of the +// java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs +// provide similar functionality. // -// A user can also have managed policies attached to it. To retrieve a managed -// policy document that is attached to a user, use GetPolicy to determine the -// policy's default version, then use GetPolicyVersion to retrieve the policy +// An IAM user can also have managed policies attached to it. To retrieve +// a managed policy document that is attached to a user, use GetPolicy to determine +// the policy's default version, then use GetPolicyVersion to retrieve the policy // document. // -// For more information about policies, refer to Managed Policies and Inline -// Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) +// For more information about policies, see Managed Policies and Inline Policies +// (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation GetUserPolicy for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) GetUserPolicy(input *GetUserPolicyInput) (*GetUserPolicyOutput, error) { req, out := c.GetUserPolicyRequest(input) err := req.Send() @@ -2267,7 +5413,30 @@ func (c *IAM) GetUserPolicy(input *GetUserPolicyInput) (*GetUserPolicyOutput, er const opListAccessKeys = "ListAccessKeys" -// ListAccessKeysRequest generates a request for the ListAccessKeys operation. +// ListAccessKeysRequest generates a "aws/request.Request" representing the +// client's request for the ListAccessKeys operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListAccessKeys for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListAccessKeys method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListAccessKeysRequest method. +// req, resp := client.ListAccessKeysRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) ListAccessKeysRequest(input *ListAccessKeysInput) (req *request.Request, output *ListAccessKeysOutput) { op := &request.Operation{ Name: opListAccessKeys, @@ -2291,8 +5460,10 @@ func (c *IAM) ListAccessKeysRequest(input *ListAccessKeysInput) (req *request.Re return } +// ListAccessKeys API operation for AWS Identity and Access Management. +// // Returns information about the access key IDs associated with the specified -// user. If there are none, the action returns an empty list. +// IAM user. If there are none, the action returns an empty list. // // Although each user is limited to a small number of keys, you can still paginate // the results using the MaxItems and Marker parameters. @@ -2302,14 +5473,48 @@ func (c *IAM) ListAccessKeysRequest(input *ListAccessKeysInput) (req *request.Re // works for access keys under the AWS account, you can use this action to manage // root credentials even if the AWS account has no associated users. // -// To ensure the security of your AWS account, the secret access key is accessible +// To ensure the security of your AWS account, the secret access key is accessible // only during key and user creation. +// +// 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 Identity and Access Management's +// API operation ListAccessKeys for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) ListAccessKeys(input *ListAccessKeysInput) (*ListAccessKeysOutput, error) { req, out := c.ListAccessKeysRequest(input) err := req.Send() return out, err } +// ListAccessKeysPages iterates over the pages of a ListAccessKeys operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAccessKeys 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 ListAccessKeys operation. +// pageNum := 0 +// err := client.ListAccessKeysPages(params, +// func(page *ListAccessKeysOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *IAM) ListAccessKeysPages(input *ListAccessKeysInput, fn func(p *ListAccessKeysOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListAccessKeysRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -2320,7 +5525,30 @@ func (c *IAM) ListAccessKeysPages(input *ListAccessKeysInput, fn func(p *ListAcc const opListAccountAliases = "ListAccountAliases" -// ListAccountAliasesRequest generates a request for the ListAccountAliases operation. +// ListAccountAliasesRequest generates a "aws/request.Request" representing the +// client's request for the ListAccountAliases operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListAccountAliases for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListAccountAliases method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListAccountAliasesRequest method. +// req, resp := client.ListAccountAliasesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) ListAccountAliasesRequest(input *ListAccountAliasesInput) (req *request.Request, output *ListAccountAliasesOutput) { op := &request.Operation{ Name: opListAccountAliases, @@ -2344,16 +5572,48 @@ func (c *IAM) ListAccountAliasesRequest(input *ListAccountAliasesInput) (req *re return } -// Lists the account alias associated with the account (Note: you can have only -// one). For information about using an AWS account alias, see Using an Alias -// for Your AWS Account ID (http://docs.aws.amazon.com/IAM/latest/UserGuide/AccountAlias.html) +// ListAccountAliases API operation for AWS Identity and Access Management. +// +// Lists the account alias associated with the AWS account (Note: you can have +// only one). For information about using an AWS account alias, see Using an +// Alias for Your AWS Account ID (http://docs.aws.amazon.com/IAM/latest/UserGuide/AccountAlias.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation ListAccountAliases for usage and error information. +// +// Returned Error Codes: +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) ListAccountAliases(input *ListAccountAliasesInput) (*ListAccountAliasesOutput, error) { req, out := c.ListAccountAliasesRequest(input) err := req.Send() return out, err } +// ListAccountAliasesPages iterates over the pages of a ListAccountAliases operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAccountAliases 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 ListAccountAliases operation. +// pageNum := 0 +// err := client.ListAccountAliasesPages(params, +// func(page *ListAccountAliasesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *IAM) ListAccountAliasesPages(input *ListAccountAliasesInput, fn func(p *ListAccountAliasesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListAccountAliasesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -2364,7 +5624,30 @@ func (c *IAM) ListAccountAliasesPages(input *ListAccountAliasesInput, fn func(p const opListAttachedGroupPolicies = "ListAttachedGroupPolicies" -// ListAttachedGroupPoliciesRequest generates a request for the ListAttachedGroupPolicies operation. +// ListAttachedGroupPoliciesRequest generates a "aws/request.Request" representing the +// client's request for the ListAttachedGroupPolicies operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListAttachedGroupPolicies for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListAttachedGroupPolicies method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListAttachedGroupPoliciesRequest method. +// req, resp := client.ListAttachedGroupPoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) ListAttachedGroupPoliciesRequest(input *ListAttachedGroupPoliciesInput) (req *request.Request, output *ListAttachedGroupPoliciesOutput) { op := &request.Operation{ Name: opListAttachedGroupPolicies, @@ -2388,11 +5671,13 @@ func (c *IAM) ListAttachedGroupPoliciesRequest(input *ListAttachedGroupPoliciesI return } -// Lists all managed policies that are attached to the specified group. +// ListAttachedGroupPolicies API operation for AWS Identity and Access Management. // -// A group can also have inline policies embedded with it. To list the inline -// policies for a group, use the ListGroupPolicies API. For information about -// policies, refer to Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) +// Lists all managed policies that are attached to the specified IAM group. +// +// An IAM group can also have inline policies embedded with it. To list the +// inline policies for a group, use the ListGroupPolicies API. For information +// about policies, see Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM User Guide. // // You can paginate the results using the MaxItems and Marker parameters. You @@ -2400,12 +5685,50 @@ func (c *IAM) ListAttachedGroupPoliciesRequest(input *ListAttachedGroupPoliciesI // matching the specified path prefix. If there are no policies attached to // the specified group (or none that match the specified path prefix), the action // returns an empty list. +// +// 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 Identity and Access Management's +// API operation ListAttachedGroupPolicies for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) ListAttachedGroupPolicies(input *ListAttachedGroupPoliciesInput) (*ListAttachedGroupPoliciesOutput, error) { req, out := c.ListAttachedGroupPoliciesRequest(input) err := req.Send() return out, err } +// ListAttachedGroupPoliciesPages iterates over the pages of a ListAttachedGroupPolicies operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAttachedGroupPolicies 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 ListAttachedGroupPolicies operation. +// pageNum := 0 +// err := client.ListAttachedGroupPoliciesPages(params, +// func(page *ListAttachedGroupPoliciesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *IAM) ListAttachedGroupPoliciesPages(input *ListAttachedGroupPoliciesInput, fn func(p *ListAttachedGroupPoliciesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListAttachedGroupPoliciesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -2416,7 +5739,30 @@ func (c *IAM) ListAttachedGroupPoliciesPages(input *ListAttachedGroupPoliciesInp const opListAttachedRolePolicies = "ListAttachedRolePolicies" -// ListAttachedRolePoliciesRequest generates a request for the ListAttachedRolePolicies operation. +// ListAttachedRolePoliciesRequest generates a "aws/request.Request" representing the +// client's request for the ListAttachedRolePolicies operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListAttachedRolePolicies for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListAttachedRolePolicies method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListAttachedRolePoliciesRequest method. +// req, resp := client.ListAttachedRolePoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) ListAttachedRolePoliciesRequest(input *ListAttachedRolePoliciesInput) (req *request.Request, output *ListAttachedRolePoliciesOutput) { op := &request.Operation{ Name: opListAttachedRolePolicies, @@ -2440,11 +5786,13 @@ func (c *IAM) ListAttachedRolePoliciesRequest(input *ListAttachedRolePoliciesInp return } -// Lists all managed policies that are attached to the specified role. +// ListAttachedRolePolicies API operation for AWS Identity and Access Management. +// +// Lists all managed policies that are attached to the specified IAM role. // -// A role can also have inline policies embedded with it. To list the inline -// policies for a role, use the ListRolePolicies API. For information about -// policies, refer to Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) +// An IAM role can also have inline policies embedded with it. To list the +// inline policies for a role, use the ListRolePolicies API. For information +// about policies, see Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM User Guide. // // You can paginate the results using the MaxItems and Marker parameters. You @@ -2452,12 +5800,50 @@ func (c *IAM) ListAttachedRolePoliciesRequest(input *ListAttachedRolePoliciesInp // matching the specified path prefix. If there are no policies attached to // the specified role (or none that match the specified path prefix), the action // returns an empty list. +// +// 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 Identity and Access Management's +// API operation ListAttachedRolePolicies for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) ListAttachedRolePolicies(input *ListAttachedRolePoliciesInput) (*ListAttachedRolePoliciesOutput, error) { req, out := c.ListAttachedRolePoliciesRequest(input) err := req.Send() return out, err } +// ListAttachedRolePoliciesPages iterates over the pages of a ListAttachedRolePolicies operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAttachedRolePolicies 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 ListAttachedRolePolicies operation. +// pageNum := 0 +// err := client.ListAttachedRolePoliciesPages(params, +// func(page *ListAttachedRolePoliciesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *IAM) ListAttachedRolePoliciesPages(input *ListAttachedRolePoliciesInput, fn func(p *ListAttachedRolePoliciesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListAttachedRolePoliciesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -2468,7 +5854,30 @@ func (c *IAM) ListAttachedRolePoliciesPages(input *ListAttachedRolePoliciesInput const opListAttachedUserPolicies = "ListAttachedUserPolicies" -// ListAttachedUserPoliciesRequest generates a request for the ListAttachedUserPolicies operation. +// ListAttachedUserPoliciesRequest generates a "aws/request.Request" representing the +// client's request for the ListAttachedUserPolicies operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListAttachedUserPolicies for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListAttachedUserPolicies method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListAttachedUserPoliciesRequest method. +// req, resp := client.ListAttachedUserPoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) ListAttachedUserPoliciesRequest(input *ListAttachedUserPoliciesInput) (req *request.Request, output *ListAttachedUserPoliciesOutput) { op := &request.Operation{ Name: opListAttachedUserPolicies, @@ -2492,11 +5901,13 @@ func (c *IAM) ListAttachedUserPoliciesRequest(input *ListAttachedUserPoliciesInp return } -// Lists all managed policies that are attached to the specified user. +// ListAttachedUserPolicies API operation for AWS Identity and Access Management. // -// A user can also have inline policies embedded with it. To list the inline -// policies for a user, use the ListUserPolicies API. For information about -// policies, refer to Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) +// Lists all managed policies that are attached to the specified IAM user. +// +// An IAM user can also have inline policies embedded with it. To list the +// inline policies for a user, use the ListUserPolicies API. For information +// about policies, see Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM User Guide. // // You can paginate the results using the MaxItems and Marker parameters. You @@ -2504,12 +5915,50 @@ func (c *IAM) ListAttachedUserPoliciesRequest(input *ListAttachedUserPoliciesInp // matching the specified path prefix. If there are no policies attached to // the specified group (or none that match the specified path prefix), the action // returns an empty list. +// +// 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 Identity and Access Management's +// API operation ListAttachedUserPolicies for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) ListAttachedUserPolicies(input *ListAttachedUserPoliciesInput) (*ListAttachedUserPoliciesOutput, error) { req, out := c.ListAttachedUserPoliciesRequest(input) err := req.Send() return out, err } +// ListAttachedUserPoliciesPages iterates over the pages of a ListAttachedUserPolicies operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAttachedUserPolicies 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 ListAttachedUserPolicies operation. +// pageNum := 0 +// err := client.ListAttachedUserPoliciesPages(params, +// func(page *ListAttachedUserPoliciesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *IAM) ListAttachedUserPoliciesPages(input *ListAttachedUserPoliciesInput, fn func(p *ListAttachedUserPoliciesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListAttachedUserPoliciesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -2520,7 +5969,30 @@ func (c *IAM) ListAttachedUserPoliciesPages(input *ListAttachedUserPoliciesInput const opListEntitiesForPolicy = "ListEntitiesForPolicy" -// ListEntitiesForPolicyRequest generates a request for the ListEntitiesForPolicy operation. +// ListEntitiesForPolicyRequest generates a "aws/request.Request" representing the +// client's request for the ListEntitiesForPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListEntitiesForPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListEntitiesForPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListEntitiesForPolicyRequest method. +// req, resp := client.ListEntitiesForPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) ListEntitiesForPolicyRequest(input *ListEntitiesForPolicyInput) (req *request.Request, output *ListEntitiesForPolicyOutput) { op := &request.Operation{ Name: opListEntitiesForPolicy, @@ -2544,8 +6016,10 @@ func (c *IAM) ListEntitiesForPolicyRequest(input *ListEntitiesForPolicyInput) (r return } -// Lists all users, groups, and roles that the specified managed policy is attached -// to. +// ListEntitiesForPolicy API operation for AWS Identity and Access Management. +// +// Lists all IAM users, groups, and roles that the specified managed policy +// is attached to. // // You can use the optional EntityFilter parameter to limit the results to // a particular type of entity (users, groups, or roles). For example, to list @@ -2553,12 +6027,50 @@ func (c *IAM) ListEntitiesForPolicyRequest(input *ListEntitiesForPolicyInput) (r // to Role. // // You can paginate the results using the MaxItems and Marker 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation ListEntitiesForPolicy for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) ListEntitiesForPolicy(input *ListEntitiesForPolicyInput) (*ListEntitiesForPolicyOutput, error) { req, out := c.ListEntitiesForPolicyRequest(input) err := req.Send() return out, err } +// ListEntitiesForPolicyPages iterates over the pages of a ListEntitiesForPolicy operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListEntitiesForPolicy 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 ListEntitiesForPolicy operation. +// pageNum := 0 +// err := client.ListEntitiesForPolicyPages(params, +// func(page *ListEntitiesForPolicyOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *IAM) ListEntitiesForPolicyPages(input *ListEntitiesForPolicyInput, fn func(p *ListEntitiesForPolicyOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListEntitiesForPolicyRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -2569,7 +6081,30 @@ func (c *IAM) ListEntitiesForPolicyPages(input *ListEntitiesForPolicyInput, fn f const opListGroupPolicies = "ListGroupPolicies" -// ListGroupPoliciesRequest generates a request for the ListGroupPolicies operation. +// ListGroupPoliciesRequest generates a "aws/request.Request" representing the +// client's request for the ListGroupPolicies operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListGroupPolicies for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListGroupPolicies method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListGroupPoliciesRequest method. +// req, resp := client.ListGroupPoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) ListGroupPoliciesRequest(input *ListGroupPoliciesInput) (req *request.Request, output *ListGroupPoliciesOutput) { op := &request.Operation{ Name: opListGroupPolicies, @@ -2593,24 +6128,60 @@ func (c *IAM) ListGroupPoliciesRequest(input *ListGroupPoliciesInput) (req *requ return } +// ListGroupPolicies API operation for AWS Identity and Access Management. +// // Lists the names of the inline policies that are embedded in the specified -// group. +// IAM group. // -// A group can also have managed policies attached to it. To list the managed -// policies that are attached to a group, use ListAttachedGroupPolicies. For -// more information about policies, refer to Managed Policies and Inline Policies +// An IAM group can also have managed policies attached to it. To list the +// managed policies that are attached to a group, use ListAttachedGroupPolicies. +// For more information about policies, see Managed Policies and Inline Policies // (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM User Guide. // // You can paginate the results using the MaxItems and Marker parameters. If // there are no inline policies embedded with the specified group, the action // returns an empty list. +// +// 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 Identity and Access Management's +// API operation ListGroupPolicies for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) ListGroupPolicies(input *ListGroupPoliciesInput) (*ListGroupPoliciesOutput, error) { req, out := c.ListGroupPoliciesRequest(input) err := req.Send() return out, err } +// ListGroupPoliciesPages iterates over the pages of a ListGroupPolicies operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListGroupPolicies 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 ListGroupPolicies operation. +// pageNum := 0 +// err := client.ListGroupPoliciesPages(params, +// func(page *ListGroupPoliciesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *IAM) ListGroupPoliciesPages(input *ListGroupPoliciesInput, fn func(p *ListGroupPoliciesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListGroupPoliciesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -2621,7 +6192,30 @@ func (c *IAM) ListGroupPoliciesPages(input *ListGroupPoliciesInput, fn func(p *L const opListGroups = "ListGroups" -// ListGroupsRequest generates a request for the ListGroups operation. +// ListGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ListGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListGroupsRequest method. +// req, resp := client.ListGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) ListGroupsRequest(input *ListGroupsInput) (req *request.Request, output *ListGroupsOutput) { op := &request.Operation{ Name: opListGroups, @@ -2645,15 +6239,47 @@ func (c *IAM) ListGroupsRequest(input *ListGroupsInput) (req *request.Request, o return } -// Lists the groups that have the specified path prefix. +// ListGroups API operation for AWS Identity and Access Management. +// +// Lists the IAM groups that have the specified path prefix. // // You can paginate the results using the MaxItems and Marker 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation ListGroups for usage and error information. +// +// Returned Error Codes: +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) ListGroups(input *ListGroupsInput) (*ListGroupsOutput, error) { req, out := c.ListGroupsRequest(input) err := req.Send() return out, err } +// ListGroupsPages iterates over the pages of a ListGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListGroups 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 ListGroups operation. +// pageNum := 0 +// err := client.ListGroupsPages(params, +// func(page *ListGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *IAM) ListGroupsPages(input *ListGroupsInput, fn func(p *ListGroupsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListGroupsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -2664,7 +6290,30 @@ func (c *IAM) ListGroupsPages(input *ListGroupsInput, fn func(p *ListGroupsOutpu const opListGroupsForUser = "ListGroupsForUser" -// ListGroupsForUserRequest generates a request for the ListGroupsForUser operation. +// ListGroupsForUserRequest generates a "aws/request.Request" representing the +// client's request for the ListGroupsForUser operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListGroupsForUser for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListGroupsForUser method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListGroupsForUserRequest method. +// req, resp := client.ListGroupsForUserRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) ListGroupsForUserRequest(input *ListGroupsForUserInput) (req *request.Request, output *ListGroupsForUserOutput) { op := &request.Operation{ Name: opListGroupsForUser, @@ -2688,15 +6337,51 @@ func (c *IAM) ListGroupsForUserRequest(input *ListGroupsForUserInput) (req *requ return } -// Lists the groups the specified user belongs to. +// ListGroupsForUser API operation for AWS Identity and Access Management. +// +// Lists the IAM groups that the specified IAM user belongs to. // // You can paginate the results using the MaxItems and Marker 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation ListGroupsForUser for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) ListGroupsForUser(input *ListGroupsForUserInput) (*ListGroupsForUserOutput, error) { req, out := c.ListGroupsForUserRequest(input) err := req.Send() return out, err } +// ListGroupsForUserPages iterates over the pages of a ListGroupsForUser operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListGroupsForUser 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 ListGroupsForUser operation. +// pageNum := 0 +// err := client.ListGroupsForUserPages(params, +// func(page *ListGroupsForUserOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *IAM) ListGroupsForUserPages(input *ListGroupsForUserInput, fn func(p *ListGroupsForUserOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListGroupsForUserRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -2707,7 +6392,30 @@ func (c *IAM) ListGroupsForUserPages(input *ListGroupsForUserInput, fn func(p *L const opListInstanceProfiles = "ListInstanceProfiles" -// ListInstanceProfilesRequest generates a request for the ListInstanceProfiles operation. +// ListInstanceProfilesRequest generates a "aws/request.Request" representing the +// client's request for the ListInstanceProfiles operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListInstanceProfiles for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListInstanceProfiles method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListInstanceProfilesRequest method. +// req, resp := client.ListInstanceProfilesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) ListInstanceProfilesRequest(input *ListInstanceProfilesInput) (req *request.Request, output *ListInstanceProfilesOutput) { op := &request.Operation{ Name: opListInstanceProfiles, @@ -2731,17 +6439,49 @@ func (c *IAM) ListInstanceProfilesRequest(input *ListInstanceProfilesInput) (req return } +// ListInstanceProfiles API operation for AWS Identity and Access Management. +// // Lists the instance profiles that have the specified path prefix. If there // are none, the action returns an empty list. For more information about instance // profiles, go to About Instance Profiles (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html). // // You can paginate the results using the MaxItems and Marker 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation ListInstanceProfiles for usage and error information. +// +// Returned Error Codes: +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) ListInstanceProfiles(input *ListInstanceProfilesInput) (*ListInstanceProfilesOutput, error) { req, out := c.ListInstanceProfilesRequest(input) err := req.Send() return out, err } +// ListInstanceProfilesPages iterates over the pages of a ListInstanceProfiles operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListInstanceProfiles 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 ListInstanceProfiles operation. +// pageNum := 0 +// err := client.ListInstanceProfilesPages(params, +// func(page *ListInstanceProfilesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *IAM) ListInstanceProfilesPages(input *ListInstanceProfilesInput, fn func(p *ListInstanceProfilesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListInstanceProfilesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -2752,7 +6492,30 @@ func (c *IAM) ListInstanceProfilesPages(input *ListInstanceProfilesInput, fn fun const opListInstanceProfilesForRole = "ListInstanceProfilesForRole" -// ListInstanceProfilesForRoleRequest generates a request for the ListInstanceProfilesForRole operation. +// ListInstanceProfilesForRoleRequest generates a "aws/request.Request" representing the +// client's request for the ListInstanceProfilesForRole operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListInstanceProfilesForRole for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListInstanceProfilesForRole method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListInstanceProfilesForRoleRequest method. +// req, resp := client.ListInstanceProfilesForRoleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) ListInstanceProfilesForRoleRequest(input *ListInstanceProfilesForRoleInput) (req *request.Request, output *ListInstanceProfilesForRoleOutput) { op := &request.Operation{ Name: opListInstanceProfilesForRole, @@ -2776,17 +6539,53 @@ func (c *IAM) ListInstanceProfilesForRoleRequest(input *ListInstanceProfilesForR return } -// Lists the instance profiles that have the specified associated role. If there -// are none, the action returns an empty list. For more information about instance -// profiles, go to About Instance Profiles (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html). +// ListInstanceProfilesForRole API operation for AWS Identity and Access Management. +// +// Lists the instance profiles that have the specified associated IAM role. +// If there are none, the action returns an empty list. For more information +// about instance profiles, go to About Instance Profiles (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html). // // You can paginate the results using the MaxItems and Marker 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation ListInstanceProfilesForRole for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) ListInstanceProfilesForRole(input *ListInstanceProfilesForRoleInput) (*ListInstanceProfilesForRoleOutput, error) { req, out := c.ListInstanceProfilesForRoleRequest(input) err := req.Send() return out, err } +// ListInstanceProfilesForRolePages iterates over the pages of a ListInstanceProfilesForRole operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListInstanceProfilesForRole 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 ListInstanceProfilesForRole operation. +// pageNum := 0 +// err := client.ListInstanceProfilesForRolePages(params, +// func(page *ListInstanceProfilesForRoleOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *IAM) ListInstanceProfilesForRolePages(input *ListInstanceProfilesForRoleInput, fn func(p *ListInstanceProfilesForRoleOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListInstanceProfilesForRoleRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -2797,7 +6596,30 @@ func (c *IAM) ListInstanceProfilesForRolePages(input *ListInstanceProfilesForRol const opListMFADevices = "ListMFADevices" -// ListMFADevicesRequest generates a request for the ListMFADevices operation. +// ListMFADevicesRequest generates a "aws/request.Request" representing the +// client's request for the ListMFADevices operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListMFADevices for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListMFADevices method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListMFADevicesRequest method. +// req, resp := client.ListMFADevicesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) ListMFADevicesRequest(input *ListMFADevicesInput) (req *request.Request, output *ListMFADevicesOutput) { op := &request.Operation{ Name: opListMFADevices, @@ -2821,18 +6643,54 @@ func (c *IAM) ListMFADevicesRequest(input *ListMFADevicesInput) (req *request.Re return } -// Lists the MFA devices. If the request includes the user name, then this action -// lists all the MFA devices associated with the specified user name. If you -// do not specify a user name, IAM determines the user name implicitly based -// on the AWS access key ID signing the request. +// ListMFADevices API operation for AWS Identity and Access Management. +// +// Lists the MFA devices for an IAM user. If the request includes a IAM user +// name, then this action lists all the MFA devices associated with the specified +// user. If you do not specify a user name, IAM determines the user name implicitly +// based on the AWS access key ID signing the request for this API. // // You can paginate the results using the MaxItems and Marker 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation ListMFADevices for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) ListMFADevices(input *ListMFADevicesInput) (*ListMFADevicesOutput, error) { req, out := c.ListMFADevicesRequest(input) err := req.Send() return out, err } +// ListMFADevicesPages iterates over the pages of a ListMFADevices operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListMFADevices 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 ListMFADevices operation. +// pageNum := 0 +// err := client.ListMFADevicesPages(params, +// func(page *ListMFADevicesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *IAM) ListMFADevicesPages(input *ListMFADevicesInput, fn func(p *ListMFADevicesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListMFADevicesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -2843,7 +6701,30 @@ func (c *IAM) ListMFADevicesPages(input *ListMFADevicesInput, fn func(p *ListMFA const opListOpenIDConnectProviders = "ListOpenIDConnectProviders" -// ListOpenIDConnectProvidersRequest generates a request for the ListOpenIDConnectProviders operation. +// ListOpenIDConnectProvidersRequest generates a "aws/request.Request" representing the +// client's request for the ListOpenIDConnectProviders operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListOpenIDConnectProviders for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListOpenIDConnectProviders method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListOpenIDConnectProvidersRequest method. +// req, resp := client.ListOpenIDConnectProvidersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) ListOpenIDConnectProvidersRequest(input *ListOpenIDConnectProvidersInput) (req *request.Request, output *ListOpenIDConnectProvidersOutput) { op := &request.Operation{ Name: opListOpenIDConnectProviders, @@ -2861,7 +6742,23 @@ func (c *IAM) ListOpenIDConnectProvidersRequest(input *ListOpenIDConnectProvider return } -// Lists information about the OpenID Connect providers in the AWS account. +// ListOpenIDConnectProviders API operation for AWS Identity and Access Management. +// +// Lists information about the IAM OpenID Connect (OIDC) provider resource objects +// defined in the AWS 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 Identity and Access Management's +// API operation ListOpenIDConnectProviders for usage and error information. +// +// Returned Error Codes: +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) ListOpenIDConnectProviders(input *ListOpenIDConnectProvidersInput) (*ListOpenIDConnectProvidersOutput, error) { req, out := c.ListOpenIDConnectProvidersRequest(input) err := req.Send() @@ -2870,7 +6767,30 @@ func (c *IAM) ListOpenIDConnectProviders(input *ListOpenIDConnectProvidersInput) const opListPolicies = "ListPolicies" -// ListPoliciesRequest generates a request for the ListPolicies operation. +// ListPoliciesRequest generates a "aws/request.Request" representing the +// client's request for the ListPolicies operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListPolicies for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListPolicies method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListPoliciesRequest method. +// req, resp := client.ListPoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) ListPoliciesRequest(input *ListPoliciesInput) (req *request.Request, output *ListPoliciesOutput) { op := &request.Operation{ Name: opListPolicies, @@ -2894,8 +6814,10 @@ func (c *IAM) ListPoliciesRequest(input *ListPoliciesInput) (req *request.Reques return } -// Lists all the managed policies that are available to your account, including -// your own customer managed policies and all AWS managed policies. +// ListPolicies API operation for AWS Identity and Access Management. +// +// Lists all the managed policies that are available in your AWS account, including +// your own customer-defined managed policies and all AWS managed policies. // // You can filter the list of policies that is returned using the optional // OnlyAttached, Scope, and PathPrefix parameters. For example, to list only @@ -2904,15 +6826,45 @@ func (c *IAM) ListPoliciesRequest(input *ListPoliciesInput) (req *request.Reques // // You can paginate the results using the MaxItems and Marker parameters. // -// For more information about managed policies, refer to Managed Policies and -// Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) +// For more information about managed policies, see Managed Policies and Inline +// Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation ListPolicies for usage and error information. +// +// Returned Error Codes: +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) ListPolicies(input *ListPoliciesInput) (*ListPoliciesOutput, error) { req, out := c.ListPoliciesRequest(input) err := req.Send() return out, err } +// ListPoliciesPages iterates over the pages of a ListPolicies operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPolicies 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 ListPolicies operation. +// pageNum := 0 +// err := client.ListPoliciesPages(params, +// func(page *ListPoliciesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *IAM) ListPoliciesPages(input *ListPoliciesInput, fn func(p *ListPoliciesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListPoliciesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -2923,7 +6875,30 @@ func (c *IAM) ListPoliciesPages(input *ListPoliciesInput, fn func(p *ListPolicie const opListPolicyVersions = "ListPolicyVersions" -// ListPolicyVersionsRequest generates a request for the ListPolicyVersions operation. +// ListPolicyVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListPolicyVersions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListPolicyVersions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListPolicyVersions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListPolicyVersionsRequest method. +// req, resp := client.ListPolicyVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) ListPolicyVersionsRequest(input *ListPolicyVersionsInput) (req *request.Request, output *ListPolicyVersionsOutput) { op := &request.Operation{ Name: opListPolicyVersions, @@ -2947,18 +6922,58 @@ func (c *IAM) ListPolicyVersionsRequest(input *ListPolicyVersionsInput) (req *re return } +// ListPolicyVersions API operation for AWS Identity and Access Management. +// // Lists information about the versions of the specified managed policy, including -// the version that is set as the policy's default version. +// the version that is currently set as the policy's default version. // -// For more information about managed policies, refer to Managed Policies and -// Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) +// For more information about managed policies, see Managed Policies and Inline +// Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation ListPolicyVersions for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) ListPolicyVersions(input *ListPolicyVersionsInput) (*ListPolicyVersionsOutput, error) { req, out := c.ListPolicyVersionsRequest(input) err := req.Send() return out, err } +// ListPolicyVersionsPages iterates over the pages of a ListPolicyVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPolicyVersions 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 ListPolicyVersions operation. +// pageNum := 0 +// err := client.ListPolicyVersionsPages(params, +// func(page *ListPolicyVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *IAM) ListPolicyVersionsPages(input *ListPolicyVersionsInput, fn func(p *ListPolicyVersionsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListPolicyVersionsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -2969,7 +6984,30 @@ func (c *IAM) ListPolicyVersionsPages(input *ListPolicyVersionsInput, fn func(p const opListRolePolicies = "ListRolePolicies" -// ListRolePoliciesRequest generates a request for the ListRolePolicies operation. +// ListRolePoliciesRequest generates a "aws/request.Request" representing the +// client's request for the ListRolePolicies operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListRolePolicies for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListRolePolicies method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListRolePoliciesRequest method. +// req, resp := client.ListRolePoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) ListRolePoliciesRequest(input *ListRolePoliciesInput) (req *request.Request, output *ListRolePoliciesOutput) { op := &request.Operation{ Name: opListRolePolicies, @@ -2993,24 +7031,59 @@ func (c *IAM) ListRolePoliciesRequest(input *ListRolePoliciesInput) (req *reques return } +// ListRolePolicies API operation for AWS Identity and Access Management. +// // Lists the names of the inline policies that are embedded in the specified -// role. +// IAM role. // -// A role can also have managed policies attached to it. To list the managed +// An IAM role can also have managed policies attached to it. To list the managed // policies that are attached to a role, use ListAttachedRolePolicies. For more -// information about policies, refer to Managed Policies and Inline Policies -// (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) +// information about policies, see Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM User Guide. // // You can paginate the results using the MaxItems and Marker parameters. If // there are no inline policies embedded with the specified role, the action // returns an empty list. +// +// 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 Identity and Access Management's +// API operation ListRolePolicies for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) ListRolePolicies(input *ListRolePoliciesInput) (*ListRolePoliciesOutput, error) { req, out := c.ListRolePoliciesRequest(input) err := req.Send() return out, err } +// ListRolePoliciesPages iterates over the pages of a ListRolePolicies operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListRolePolicies 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 ListRolePolicies operation. +// pageNum := 0 +// err := client.ListRolePoliciesPages(params, +// func(page *ListRolePoliciesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *IAM) ListRolePoliciesPages(input *ListRolePoliciesInput, fn func(p *ListRolePoliciesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListRolePoliciesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -3021,7 +7094,30 @@ func (c *IAM) ListRolePoliciesPages(input *ListRolePoliciesInput, fn func(p *Lis const opListRoles = "ListRoles" -// ListRolesRequest generates a request for the ListRoles operation. +// ListRolesRequest generates a "aws/request.Request" representing the +// client's request for the ListRoles operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListRoles for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListRoles method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListRolesRequest method. +// req, resp := client.ListRolesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) ListRolesRequest(input *ListRolesInput) (req *request.Request, output *ListRolesOutput) { op := &request.Operation{ Name: opListRoles, @@ -3045,17 +7141,49 @@ func (c *IAM) ListRolesRequest(input *ListRolesInput) (req *request.Request, out return } -// Lists the roles that have the specified path prefix. If there are none, the -// action returns an empty list. For more information about roles, go to Working -// with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html). +// ListRoles API operation for AWS Identity and Access Management. +// +// Lists the IAM roles that have the specified path prefix. If there are none, +// the action returns an empty list. For more information about roles, go to +// Working with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html). // // You can paginate the results using the MaxItems and Marker 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation ListRoles for usage and error information. +// +// Returned Error Codes: +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) ListRoles(input *ListRolesInput) (*ListRolesOutput, error) { req, out := c.ListRolesRequest(input) err := req.Send() return out, err } +// ListRolesPages iterates over the pages of a ListRoles operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListRoles 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 ListRoles operation. +// pageNum := 0 +// err := client.ListRolesPages(params, +// func(page *ListRolesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *IAM) ListRolesPages(input *ListRolesInput, fn func(p *ListRolesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListRolesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -3066,7 +7194,30 @@ func (c *IAM) ListRolesPages(input *ListRolesInput, fn func(p *ListRolesOutput, const opListSAMLProviders = "ListSAMLProviders" -// ListSAMLProvidersRequest generates a request for the ListSAMLProviders operation. +// ListSAMLProvidersRequest generates a "aws/request.Request" representing the +// client's request for the ListSAMLProviders operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListSAMLProviders for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListSAMLProviders method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListSAMLProvidersRequest method. +// req, resp := client.ListSAMLProvidersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) ListSAMLProvidersRequest(input *ListSAMLProvidersInput) (req *request.Request, output *ListSAMLProvidersOutput) { op := &request.Operation{ Name: opListSAMLProviders, @@ -3084,9 +7235,24 @@ func (c *IAM) ListSAMLProvidersRequest(input *ListSAMLProvidersInput) (req *requ return } -// Lists the SAML providers in the account. +// ListSAMLProviders API operation for AWS Identity and Access Management. +// +// Lists the SAML provider resource objects defined in IAM in the account. +// +// This operation requires Signature Version 4 (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.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. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation ListSAMLProviders for usage and error information. +// +// Returned Error Codes: +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. // -// This operation requires Signature Version 4 (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). func (c *IAM) ListSAMLProviders(input *ListSAMLProvidersInput) (*ListSAMLProvidersOutput, error) { req, out := c.ListSAMLProvidersRequest(input) err := req.Send() @@ -3095,12 +7261,41 @@ func (c *IAM) ListSAMLProviders(input *ListSAMLProvidersInput) (*ListSAMLProvide const opListSSHPublicKeys = "ListSSHPublicKeys" -// ListSSHPublicKeysRequest generates a request for the ListSSHPublicKeys operation. +// ListSSHPublicKeysRequest generates a "aws/request.Request" representing the +// client's request for the ListSSHPublicKeys operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListSSHPublicKeys for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListSSHPublicKeys method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListSSHPublicKeysRequest method. +// req, resp := client.ListSSHPublicKeysRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) ListSSHPublicKeysRequest(input *ListSSHPublicKeysInput) (req *request.Request, output *ListSSHPublicKeysOutput) { op := &request.Operation{ Name: opListSSHPublicKeys, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxItems", + TruncationToken: "IsTruncated", + }, } if input == nil { @@ -3113,6 +7308,8 @@ func (c *IAM) ListSSHPublicKeysRequest(input *ListSSHPublicKeysInput) (req *requ return } +// ListSSHPublicKeys API operation for AWS Identity and Access Management. +// // Returns information about the SSH public keys associated with the specified // IAM user. If there are none, the action returns an empty list. // @@ -3124,15 +7321,76 @@ func (c *IAM) ListSSHPublicKeysRequest(input *ListSSHPublicKeysInput) (req *requ // // Although each user is limited to a small number of keys, you can still paginate // the results using the MaxItems and Marker 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation ListSSHPublicKeys for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// func (c *IAM) ListSSHPublicKeys(input *ListSSHPublicKeysInput) (*ListSSHPublicKeysOutput, error) { req, out := c.ListSSHPublicKeysRequest(input) err := req.Send() return out, err } +// ListSSHPublicKeysPages iterates over the pages of a ListSSHPublicKeys operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSSHPublicKeys 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 ListSSHPublicKeys operation. +// pageNum := 0 +// err := client.ListSSHPublicKeysPages(params, +// func(page *ListSSHPublicKeysOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IAM) ListSSHPublicKeysPages(input *ListSSHPublicKeysInput, fn func(p *ListSSHPublicKeysOutput, lastPage bool) (shouldContinue bool)) error { + page, _ := c.ListSSHPublicKeysRequest(input) + page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) + return page.EachPage(func(p interface{}, lastPage bool) bool { + return fn(p.(*ListSSHPublicKeysOutput), lastPage) + }) +} + const opListServerCertificates = "ListServerCertificates" -// ListServerCertificatesRequest generates a request for the ListServerCertificates operation. +// ListServerCertificatesRequest generates a "aws/request.Request" representing the +// client's request for the ListServerCertificates operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListServerCertificates for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListServerCertificates method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListServerCertificatesRequest method. +// req, resp := client.ListServerCertificatesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) ListServerCertificatesRequest(input *ListServerCertificatesInput) (req *request.Request, output *ListServerCertificatesOutput) { op := &request.Operation{ Name: opListServerCertificates, @@ -3156,8 +7414,10 @@ func (c *IAM) ListServerCertificatesRequest(input *ListServerCertificatesInput) return } -// Lists the server certificates that have the specified path prefix. If none -// exist, the action returns an empty list. +// ListServerCertificates API operation for AWS Identity and Access Management. +// +// Lists the server certificates stored in IAM that have the specified path +// prefix. If none exist, the action returns an empty list. // // You can paginate the results using the MaxItems and Marker parameters. // @@ -3165,12 +7425,42 @@ func (c *IAM) ListServerCertificatesRequest(input *ListServerCertificatesInput) // list of AWS services that can use the server certificates that you manage // with IAM, go to Working with Server Certificates (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation ListServerCertificates for usage and error information. +// +// Returned Error Codes: +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) ListServerCertificates(input *ListServerCertificatesInput) (*ListServerCertificatesOutput, error) { req, out := c.ListServerCertificatesRequest(input) err := req.Send() return out, err } +// ListServerCertificatesPages iterates over the pages of a ListServerCertificates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListServerCertificates 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 ListServerCertificates operation. +// pageNum := 0 +// err := client.ListServerCertificatesPages(params, +// func(page *ListServerCertificatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *IAM) ListServerCertificatesPages(input *ListServerCertificatesInput, fn func(p *ListServerCertificatesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListServerCertificatesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -3181,7 +7471,30 @@ func (c *IAM) ListServerCertificatesPages(input *ListServerCertificatesInput, fn const opListSigningCertificates = "ListSigningCertificates" -// ListSigningCertificatesRequest generates a request for the ListSigningCertificates operation. +// ListSigningCertificatesRequest generates a "aws/request.Request" representing the +// client's request for the ListSigningCertificates operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListSigningCertificates for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListSigningCertificates method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListSigningCertificatesRequest method. +// req, resp := client.ListSigningCertificatesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) ListSigningCertificatesRequest(input *ListSigningCertificatesInput) (req *request.Request, output *ListSigningCertificatesOutput) { op := &request.Operation{ Name: opListSigningCertificates, @@ -3205,22 +7518,59 @@ func (c *IAM) ListSigningCertificatesRequest(input *ListSigningCertificatesInput return } +// ListSigningCertificates API operation for AWS Identity and Access Management. +// // Returns information about the signing certificates associated with the specified -// user. If there are none, the action returns an empty list. +// IAM user. If there are none, the action returns an empty list. // // Although each user is limited to a small number of signing certificates, // you can still paginate the results using the MaxItems and Marker parameters. // // If the UserName field is not specified, the user name is determined implicitly -// based on the AWS access key ID used to sign the request. Because this action -// works for access keys under the AWS account, you can use this action to manage -// root credentials even if the AWS account has no associated users. +// based on the AWS access key ID used to sign the request for this API. Because +// this action works for access keys under the AWS account, you can use this +// action to manage root credentials even if the AWS account has no associated +// 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 AWS Identity and Access Management's +// API operation ListSigningCertificates for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) ListSigningCertificates(input *ListSigningCertificatesInput) (*ListSigningCertificatesOutput, error) { req, out := c.ListSigningCertificatesRequest(input) err := req.Send() return out, err } +// ListSigningCertificatesPages iterates over the pages of a ListSigningCertificates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSigningCertificates 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 ListSigningCertificates operation. +// pageNum := 0 +// err := client.ListSigningCertificatesPages(params, +// func(page *ListSigningCertificatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *IAM) ListSigningCertificatesPages(input *ListSigningCertificatesInput, fn func(p *ListSigningCertificatesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListSigningCertificatesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -3231,7 +7581,30 @@ func (c *IAM) ListSigningCertificatesPages(input *ListSigningCertificatesInput, const opListUserPolicies = "ListUserPolicies" -// ListUserPoliciesRequest generates a request for the ListUserPolicies operation. +// ListUserPoliciesRequest generates a "aws/request.Request" representing the +// client's request for the ListUserPolicies operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListUserPolicies for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListUserPolicies method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListUserPoliciesRequest method. +// req, resp := client.ListUserPoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) ListUserPoliciesRequest(input *ListUserPoliciesInput) (req *request.Request, output *ListUserPoliciesOutput) { op := &request.Operation{ Name: opListUserPolicies, @@ -3255,23 +7628,58 @@ func (c *IAM) ListUserPoliciesRequest(input *ListUserPoliciesInput) (req *reques return } -// Lists the names of the inline policies embedded in the specified user. +// ListUserPolicies API operation for AWS Identity and Access Management. // -// A user can also have managed policies attached to it. To list the managed +// Lists the names of the inline policies embedded in the specified IAM user. +// +// An IAM user can also have managed policies attached to it. To list the managed // policies that are attached to a user, use ListAttachedUserPolicies. For more -// information about policies, refer to Managed Policies and Inline Policies -// (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) +// information about policies, see Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM User Guide. // // You can paginate the results using the MaxItems and Marker parameters. If // there are no inline policies embedded with the specified user, the action // returns an empty list. +// +// 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 Identity and Access Management's +// API operation ListUserPolicies for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) ListUserPolicies(input *ListUserPoliciesInput) (*ListUserPoliciesOutput, error) { req, out := c.ListUserPoliciesRequest(input) err := req.Send() return out, err } +// ListUserPoliciesPages iterates over the pages of a ListUserPolicies operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListUserPolicies 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 ListUserPolicies operation. +// pageNum := 0 +// err := client.ListUserPoliciesPages(params, +// func(page *ListUserPoliciesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *IAM) ListUserPoliciesPages(input *ListUserPoliciesInput, fn func(p *ListUserPoliciesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListUserPoliciesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -3282,7 +7690,30 @@ func (c *IAM) ListUserPoliciesPages(input *ListUserPoliciesInput, fn func(p *Lis const opListUsers = "ListUsers" -// ListUsersRequest generates a request for the ListUsers operation. +// ListUsersRequest generates a "aws/request.Request" representing the +// client's request for the ListUsers operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListUsers for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListUsers method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListUsersRequest method. +// req, resp := client.ListUsersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) ListUsersRequest(input *ListUsersInput) (req *request.Request, output *ListUsersOutput) { op := &request.Operation{ Name: opListUsers, @@ -3306,17 +7737,49 @@ func (c *IAM) ListUsersRequest(input *ListUsersInput) (req *request.Request, out return } +// ListUsers API operation for AWS Identity and Access Management. +// // Lists the IAM users that have the specified path prefix. If no path prefix // is specified, the action returns all users in the AWS account. If there are // none, the action returns an empty list. // // You can paginate the results using the MaxItems and Marker 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation ListUsers for usage and error information. +// +// Returned Error Codes: +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) ListUsers(input *ListUsersInput) (*ListUsersOutput, error) { req, out := c.ListUsersRequest(input) err := req.Send() return out, err } +// ListUsersPages iterates over the pages of a ListUsers operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListUsers method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListUsers operation. +// pageNum := 0 +// err := client.ListUsersPages(params, +// func(page *ListUsersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *IAM) ListUsersPages(input *ListUsersInput, fn func(p *ListUsersOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListUsersRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -3327,7 +7790,30 @@ func (c *IAM) ListUsersPages(input *ListUsersInput, fn func(p *ListUsersOutput, const opListVirtualMFADevices = "ListVirtualMFADevices" -// ListVirtualMFADevicesRequest generates a request for the ListVirtualMFADevices operation. +// ListVirtualMFADevicesRequest generates a "aws/request.Request" representing the +// client's request for the ListVirtualMFADevices operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListVirtualMFADevices for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListVirtualMFADevices method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListVirtualMFADevicesRequest method. +// req, resp := client.ListVirtualMFADevicesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) ListVirtualMFADevicesRequest(input *ListVirtualMFADevicesInput) (req *request.Request, output *ListVirtualMFADevicesOutput) { op := &request.Operation{ Name: opListVirtualMFADevices, @@ -3351,18 +7837,44 @@ func (c *IAM) ListVirtualMFADevicesRequest(input *ListVirtualMFADevicesInput) (r return } -// Lists the virtual MFA devices under the AWS account by assignment status. +// ListVirtualMFADevices API operation for AWS Identity and Access Management. +// +// Lists the virtual MFA devices defined in the AWS account by assignment status. // If you do not specify an assignment status, the action returns a list of // all virtual MFA devices. Assignment status can be Assigned, Unassigned, or // Any. // // You can paginate the results using the MaxItems and Marker 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation ListVirtualMFADevices for usage and error information. func (c *IAM) ListVirtualMFADevices(input *ListVirtualMFADevicesInput) (*ListVirtualMFADevicesOutput, error) { req, out := c.ListVirtualMFADevicesRequest(input) err := req.Send() return out, err } +// ListVirtualMFADevicesPages iterates over the pages of a ListVirtualMFADevices operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListVirtualMFADevices 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 ListVirtualMFADevices operation. +// pageNum := 0 +// err := client.ListVirtualMFADevicesPages(params, +// func(page *ListVirtualMFADevicesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *IAM) ListVirtualMFADevicesPages(input *ListVirtualMFADevicesInput, fn func(p *ListVirtualMFADevicesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListVirtualMFADevicesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -3373,7 +7885,30 @@ func (c *IAM) ListVirtualMFADevicesPages(input *ListVirtualMFADevicesInput, fn f const opPutGroupPolicy = "PutGroupPolicy" -// PutGroupPolicyRequest generates a request for the PutGroupPolicy operation. +// PutGroupPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutGroupPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutGroupPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutGroupPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutGroupPolicyRequest method. +// req, resp := client.PutGroupPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) PutGroupPolicyRequest(input *PutGroupPolicyInput) (req *request.Request, output *PutGroupPolicyOutput) { op := &request.Operation{ Name: opPutGroupPolicy, @@ -3393,23 +7928,50 @@ func (c *IAM) PutGroupPolicyRequest(input *PutGroupPolicyInput) (req *request.Re return } -// Adds (or updates) an inline policy document that is embedded in the specified -// group. +// PutGroupPolicy API operation for AWS Identity and Access Management. +// +// Adds or updates an inline policy document that is embedded in the specified +// IAM group. // // A user can also have managed policies attached to it. To attach a managed // policy to a group, use AttachGroupPolicy. To create a new managed policy, -// use CreatePolicy. For information about policies, refer to Managed Policies -// and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) +// use CreatePolicy. For information about policies, see Managed Policies and +// Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM User Guide. // // For information about limits on the number of inline policies that you can // embed in a group, see Limitations on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) // in the IAM User Guide. // -// Because policy documents can be large, you should use POST rather than GET -// when calling PutGroupPolicy. For general information about using the Query -// API with IAM, go to Making Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html) -// in the Using IAM guide. +// Because policy documents can be large, you should use POST rather than +// GET when calling PutGroupPolicy. For general information about using the +// Query API with IAM, go to Making Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html) +// in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation PutGroupPolicy for usage and error information. +// +// Returned Error Codes: +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * MalformedPolicyDocument +// The request was rejected because the policy document was malformed. The error +// message describes the specific error. +// +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) PutGroupPolicy(input *PutGroupPolicyInput) (*PutGroupPolicyOutput, error) { req, out := c.PutGroupPolicyRequest(input) err := req.Send() @@ -3418,7 +7980,30 @@ func (c *IAM) PutGroupPolicy(input *PutGroupPolicyInput) (*PutGroupPolicyOutput, const opPutRolePolicy = "PutRolePolicy" -// PutRolePolicyRequest generates a request for the PutRolePolicy operation. +// PutRolePolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutRolePolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutRolePolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutRolePolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutRolePolicyRequest method. +// req, resp := client.PutRolePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) PutRolePolicyRequest(input *PutRolePolicyInput) (req *request.Request, output *PutRolePolicyOutput) { op := &request.Operation{ Name: opPutRolePolicy, @@ -3438,29 +8023,57 @@ func (c *IAM) PutRolePolicyRequest(input *PutRolePolicyInput) (req *request.Requ return } -// Adds (or updates) an inline policy document that is embedded in the specified -// role. +// PutRolePolicy API operation for AWS Identity and Access Management. +// +// Adds or updates an inline policy document that is embedded in the specified +// IAM role. // // When you embed an inline policy in a role, the inline policy is used as -// the role's access (permissions) policy. The role's trust policy is created -// at the same time as the role, using CreateRole. You can update a role's trust -// policy using UpdateAssumeRolePolicy. For more information about roles, go -// to Using Roles to Delegate Permissions and Federate Identities (http://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html). +// part of the role's access (permissions) policy. The role's trust policy is +// created at the same time as the role, using CreateRole. You can update a +// role's trust policy using UpdateAssumeRolePolicy. For more information about +// IAM roles, go to Using Roles to Delegate Permissions and Federate Identities +// (http://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html). // // A role can also have a managed policy attached to it. To attach a managed // policy to a role, use AttachRolePolicy. To create a new managed policy, use -// CreatePolicy. For information about policies, refer to Managed Policies and -// Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) +// CreatePolicy. For information about policies, see Managed Policies and Inline +// Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM User Guide. // // For information about limits on the number of inline policies that you can // embed with a role, see Limitations on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) // in the IAM User Guide. // -// Because policy documents can be large, you should use POST rather than GET -// when calling PutRolePolicy. For general information about using the Query +// Because policy documents can be large, you should use POST rather than +// GET when calling PutRolePolicy. For general information about using the Query // API with IAM, go to Making Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html) -// in the Using IAM guide. +// in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation PutRolePolicy for usage and error information. +// +// Returned Error Codes: +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * MalformedPolicyDocument +// The request was rejected because the policy document was malformed. The error +// message describes the specific error. +// +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) PutRolePolicy(input *PutRolePolicyInput) (*PutRolePolicyOutput, error) { req, out := c.PutRolePolicyRequest(input) err := req.Send() @@ -3469,7 +8082,30 @@ func (c *IAM) PutRolePolicy(input *PutRolePolicyInput) (*PutRolePolicyOutput, er const opPutUserPolicy = "PutUserPolicy" -// PutUserPolicyRequest generates a request for the PutUserPolicy operation. +// PutUserPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutUserPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutUserPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutUserPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutUserPolicyRequest method. +// req, resp := client.PutUserPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) PutUserPolicyRequest(input *PutUserPolicyInput) (req *request.Request, output *PutUserPolicyOutput) { op := &request.Operation{ Name: opPutUserPolicy, @@ -3489,23 +8125,50 @@ func (c *IAM) PutUserPolicyRequest(input *PutUserPolicyInput) (req *request.Requ return } -// Adds (or updates) an inline policy document that is embedded in the specified -// user. +// PutUserPolicy API operation for AWS Identity and Access Management. +// +// Adds or updates an inline policy document that is embedded in the specified +// IAM user. // -// A user can also have a managed policy attached to it. To attach a managed +// An IAM user can also have a managed policy attached to it. To attach a managed // policy to a user, use AttachUserPolicy. To create a new managed policy, use -// CreatePolicy. For information about policies, refer to Managed Policies and -// Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) +// CreatePolicy. For information about policies, see Managed Policies and Inline +// Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM User Guide. // // For information about limits on the number of inline policies that you can // embed in a user, see Limitations on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) // in the IAM User Guide. // -// Because policy documents can be large, you should use POST rather than GET -// when calling PutUserPolicy. For general information about using the Query +// Because policy documents can be large, you should use POST rather than +// GET when calling PutUserPolicy. For general information about using the Query // API with IAM, go to Making Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html) -// in the Using IAM guide. +// in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation PutUserPolicy for usage and error information. +// +// Returned Error Codes: +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * MalformedPolicyDocument +// The request was rejected because the policy document was malformed. The error +// message describes the specific error. +// +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) PutUserPolicy(input *PutUserPolicyInput) (*PutUserPolicyOutput, error) { req, out := c.PutUserPolicyRequest(input) err := req.Send() @@ -3514,7 +8177,30 @@ func (c *IAM) PutUserPolicy(input *PutUserPolicyInput) (*PutUserPolicyOutput, er const opRemoveClientIDFromOpenIDConnectProvider = "RemoveClientIDFromOpenIDConnectProvider" -// RemoveClientIDFromOpenIDConnectProviderRequest generates a request for the RemoveClientIDFromOpenIDConnectProvider operation. +// RemoveClientIDFromOpenIDConnectProviderRequest generates a "aws/request.Request" representing the +// client's request for the RemoveClientIDFromOpenIDConnectProvider operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RemoveClientIDFromOpenIDConnectProvider for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RemoveClientIDFromOpenIDConnectProvider method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RemoveClientIDFromOpenIDConnectProviderRequest method. +// req, resp := client.RemoveClientIDFromOpenIDConnectProviderRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) RemoveClientIDFromOpenIDConnectProviderRequest(input *RemoveClientIDFromOpenIDConnectProviderInput) (req *request.Request, output *RemoveClientIDFromOpenIDConnectProviderOutput) { op := &request.Operation{ Name: opRemoveClientIDFromOpenIDConnectProvider, @@ -3534,11 +8220,35 @@ func (c *IAM) RemoveClientIDFromOpenIDConnectProviderRequest(input *RemoveClient return } +// RemoveClientIDFromOpenIDConnectProvider API operation for AWS Identity and Access Management. +// // Removes the specified client ID (also known as audience) from the list of -// client IDs registered for the specified IAM OpenID Connect provider. +// client IDs registered for the specified IAM OpenID Connect (OIDC) provider +// resource object. // // This action is idempotent; it does not fail or return an error if you try -// to remove a client ID that was removed previously. +// to remove a client ID that does not exist. +// +// 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 Identity and Access Management's +// API operation RemoveClientIDFromOpenIDConnectProvider for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) RemoveClientIDFromOpenIDConnectProvider(input *RemoveClientIDFromOpenIDConnectProviderInput) (*RemoveClientIDFromOpenIDConnectProviderOutput, error) { req, out := c.RemoveClientIDFromOpenIDConnectProviderRequest(input) err := req.Send() @@ -3547,7 +8257,30 @@ func (c *IAM) RemoveClientIDFromOpenIDConnectProvider(input *RemoveClientIDFromO const opRemoveRoleFromInstanceProfile = "RemoveRoleFromInstanceProfile" -// RemoveRoleFromInstanceProfileRequest generates a request for the RemoveRoleFromInstanceProfile operation. +// RemoveRoleFromInstanceProfileRequest generates a "aws/request.Request" representing the +// client's request for the RemoveRoleFromInstanceProfile operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RemoveRoleFromInstanceProfile for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RemoveRoleFromInstanceProfile method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RemoveRoleFromInstanceProfileRequest method. +// req, resp := client.RemoveRoleFromInstanceProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) RemoveRoleFromInstanceProfileRequest(input *RemoveRoleFromInstanceProfileInput) (req *request.Request, output *RemoveRoleFromInstanceProfileOutput) { op := &request.Operation{ Name: opRemoveRoleFromInstanceProfile, @@ -3567,15 +8300,39 @@ func (c *IAM) RemoveRoleFromInstanceProfileRequest(input *RemoveRoleFromInstance return } -// Removes the specified role from the specified instance profile. +// RemoveRoleFromInstanceProfile API operation for AWS Identity and Access Management. +// +// Removes the specified IAM role from the specified EC2 instance profile. // // Make sure you do not have any Amazon EC2 instances running with the role // you are about to remove from the instance profile. Removing a role from an -// instance profile that is associated with a running instance will break any -// applications running on the instance. For more information about roles, -// go to Working with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html). +// instance profile that is associated with a running instance break any applications +// running on the instance. +// +// For more information about IAM roles, go to Working with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html). // For more information about instance profiles, go to About Instance Profiles // (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.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. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation RemoveRoleFromInstanceProfile for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) RemoveRoleFromInstanceProfile(input *RemoveRoleFromInstanceProfileInput) (*RemoveRoleFromInstanceProfileOutput, error) { req, out := c.RemoveRoleFromInstanceProfileRequest(input) err := req.Send() @@ -3584,7 +8341,30 @@ func (c *IAM) RemoveRoleFromInstanceProfile(input *RemoveRoleFromInstanceProfile const opRemoveUserFromGroup = "RemoveUserFromGroup" -// RemoveUserFromGroupRequest generates a request for the RemoveUserFromGroup operation. +// RemoveUserFromGroupRequest generates a "aws/request.Request" representing the +// client's request for the RemoveUserFromGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RemoveUserFromGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RemoveUserFromGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RemoveUserFromGroupRequest method. +// req, resp := client.RemoveUserFromGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) RemoveUserFromGroupRequest(input *RemoveUserFromGroupInput) (req *request.Request, output *RemoveUserFromGroupOutput) { op := &request.Operation{ Name: opRemoveUserFromGroup, @@ -3604,7 +8384,30 @@ func (c *IAM) RemoveUserFromGroupRequest(input *RemoveUserFromGroupInput) (req * return } +// RemoveUserFromGroup API operation for AWS Identity and Access Management. +// // Removes the specified user from the specified group. +// +// 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 Identity and Access Management's +// API operation RemoveUserFromGroup for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) RemoveUserFromGroup(input *RemoveUserFromGroupInput) (*RemoveUserFromGroupOutput, error) { req, out := c.RemoveUserFromGroupRequest(input) err := req.Send() @@ -3613,7 +8416,30 @@ func (c *IAM) RemoveUserFromGroup(input *RemoveUserFromGroupInput) (*RemoveUserF const opResyncMFADevice = "ResyncMFADevice" -// ResyncMFADeviceRequest generates a request for the ResyncMFADevice operation. +// ResyncMFADeviceRequest generates a "aws/request.Request" representing the +// client's request for the ResyncMFADevice operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ResyncMFADevice for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ResyncMFADevice method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ResyncMFADeviceRequest method. +// req, resp := client.ResyncMFADeviceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) ResyncMFADeviceRequest(input *ResyncMFADeviceInput) (req *request.Request, output *ResyncMFADeviceOutput) { op := &request.Operation{ Name: opResyncMFADevice, @@ -3633,11 +8459,39 @@ func (c *IAM) ResyncMFADeviceRequest(input *ResyncMFADeviceInput) (req *request. return } -// Synchronizes the specified MFA device with AWS servers. +// ResyncMFADevice API operation for AWS Identity and Access Management. +// +// Synchronizes the specified MFA device with its IAM resource object on the +// AWS servers. // // For more information about creating and working with virtual MFA devices, // go to Using a Virtual MFA Device (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_VirtualMFA.html) -// in the Using IAM guide. +// in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation ResyncMFADevice for usage and error information. +// +// Returned Error Codes: +// * InvalidAuthenticationCode +// The request was rejected because the authentication code was not recognized. +// The error message describes the specific error. +// +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) ResyncMFADevice(input *ResyncMFADeviceInput) (*ResyncMFADeviceOutput, error) { req, out := c.ResyncMFADeviceRequest(input) err := req.Send() @@ -3646,7 +8500,30 @@ func (c *IAM) ResyncMFADevice(input *ResyncMFADeviceInput) (*ResyncMFADeviceOutp const opSetDefaultPolicyVersion = "SetDefaultPolicyVersion" -// SetDefaultPolicyVersionRequest generates a request for the SetDefaultPolicyVersion operation. +// SetDefaultPolicyVersionRequest generates a "aws/request.Request" representing the +// client's request for the SetDefaultPolicyVersion operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetDefaultPolicyVersion for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetDefaultPolicyVersion method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetDefaultPolicyVersionRequest method. +// req, resp := client.SetDefaultPolicyVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) SetDefaultPolicyVersionRequest(input *SetDefaultPolicyVersionInput) (req *request.Request, output *SetDefaultPolicyVersionOutput) { op := &request.Operation{ Name: opSetDefaultPolicyVersion, @@ -3666,6 +8543,8 @@ func (c *IAM) SetDefaultPolicyVersionRequest(input *SetDefaultPolicyVersionInput return } +// SetDefaultPolicyVersion API operation for AWS Identity and Access Management. +// // Sets the specified version of the specified policy as the policy's default // (operative) version. // @@ -3673,9 +8552,34 @@ func (c *IAM) SetDefaultPolicyVersionRequest(input *SetDefaultPolicyVersionInput // to. To list the users, groups, and roles that the policy is attached to, // use the ListEntitiesForPolicy API. // -// For information about managed policies, refer to Managed Policies and Inline +// For information about managed policies, see Managed Policies and Inline // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation SetDefaultPolicyVersion for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) SetDefaultPolicyVersion(input *SetDefaultPolicyVersionInput) (*SetDefaultPolicyVersionOutput, error) { req, out := c.SetDefaultPolicyVersionRequest(input) err := req.Send() @@ -3684,12 +8588,41 @@ func (c *IAM) SetDefaultPolicyVersion(input *SetDefaultPolicyVersionInput) (*Set const opSimulateCustomPolicy = "SimulateCustomPolicy" -// SimulateCustomPolicyRequest generates a request for the SimulateCustomPolicy operation. +// SimulateCustomPolicyRequest generates a "aws/request.Request" representing the +// client's request for the SimulateCustomPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SimulateCustomPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SimulateCustomPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SimulateCustomPolicyRequest method. +// req, resp := client.SimulateCustomPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) SimulateCustomPolicyRequest(input *SimulateCustomPolicyInput) (req *request.Request, output *SimulatePolicyResponse) { op := &request.Operation{ Name: opSimulateCustomPolicy, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxItems", + TruncationToken: "IsTruncated", + }, } if input == nil { @@ -3702,6 +8635,8 @@ func (c *IAM) SimulateCustomPolicyRequest(input *SimulateCustomPolicyInput) (req return } +// SimulateCustomPolicy API operation for AWS Identity and Access Management. +// // Simulate how a set of IAM policies and optionally a resource-based policy // works with a list of API actions and AWS resources to determine the policies' // effective permissions. The policies are provided as strings. @@ -3719,20 +8654,91 @@ func (c *IAM) SimulateCustomPolicyRequest(input *SimulateCustomPolicyInput) (req // // If the output is long, you can use MaxItems and Marker parameters to paginate // the results. +// +// 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 Identity and Access Management's +// API operation SimulateCustomPolicy for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * PolicyEvaluation +// The request failed because a provided policy could not be successfully evaluated. +// An additional detail message indicates the source of the failure. +// func (c *IAM) SimulateCustomPolicy(input *SimulateCustomPolicyInput) (*SimulatePolicyResponse, error) { req, out := c.SimulateCustomPolicyRequest(input) err := req.Send() return out, err } +// SimulateCustomPolicyPages iterates over the pages of a SimulateCustomPolicy operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See SimulateCustomPolicy 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 SimulateCustomPolicy operation. +// pageNum := 0 +// err := client.SimulateCustomPolicyPages(params, +// func(page *SimulatePolicyResponse, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IAM) SimulateCustomPolicyPages(input *SimulateCustomPolicyInput, fn func(p *SimulatePolicyResponse, lastPage bool) (shouldContinue bool)) error { + page, _ := c.SimulateCustomPolicyRequest(input) + page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) + return page.EachPage(func(p interface{}, lastPage bool) bool { + return fn(p.(*SimulatePolicyResponse), lastPage) + }) +} + const opSimulatePrincipalPolicy = "SimulatePrincipalPolicy" -// SimulatePrincipalPolicyRequest generates a request for the SimulatePrincipalPolicy operation. +// SimulatePrincipalPolicyRequest generates a "aws/request.Request" representing the +// client's request for the SimulatePrincipalPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SimulatePrincipalPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SimulatePrincipalPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SimulatePrincipalPolicyRequest method. +// req, resp := client.SimulatePrincipalPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) SimulatePrincipalPolicyRequest(input *SimulatePrincipalPolicyInput) (req *request.Request, output *SimulatePolicyResponse) { op := &request.Operation{ Name: opSimulatePrincipalPolicy, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxItems", + TruncationToken: "IsTruncated", + }, } if input == nil { @@ -3745,6 +8751,8 @@ func (c *IAM) SimulatePrincipalPolicyRequest(input *SimulatePrincipalPolicyInput return } +// SimulatePrincipalPolicy API operation for AWS Identity and Access Management. +// // Simulate how a set of IAM policies attached to an IAM entity works with a // list of API actions and AWS resources to determine the policies' effective // permissions. The entity can be an IAM user, group, or role. If you specify @@ -3761,7 +8769,7 @@ func (c *IAM) SimulatePrincipalPolicyRequest(input *SimulatePrincipalPolicyInput // The simulation does not perform the API actions, it only checks the authorization // to determine if the simulated policies allow or deny the actions. // -// Note: This API discloses information about the permissions granted to other +// Note: This API discloses information about the permissions granted to other // users. If you do not want users to see other user's permissions, then consider // allowing them to use SimulateCustomPolicy instead. // @@ -3772,15 +8780,84 @@ func (c *IAM) SimulatePrincipalPolicyRequest(input *SimulatePrincipalPolicyInput // // If the output is long, you can use the MaxItems and Marker parameters to // paginate the results. +// +// 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 Identity and Access Management's +// API operation SimulatePrincipalPolicy for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * PolicyEvaluation +// The request failed because a provided policy could not be successfully evaluated. +// An additional detail message indicates the source of the failure. +// func (c *IAM) SimulatePrincipalPolicy(input *SimulatePrincipalPolicyInput) (*SimulatePolicyResponse, error) { req, out := c.SimulatePrincipalPolicyRequest(input) err := req.Send() return out, err } +// SimulatePrincipalPolicyPages iterates over the pages of a SimulatePrincipalPolicy operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See SimulatePrincipalPolicy 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 SimulatePrincipalPolicy operation. +// pageNum := 0 +// err := client.SimulatePrincipalPolicyPages(params, +// func(page *SimulatePolicyResponse, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IAM) SimulatePrincipalPolicyPages(input *SimulatePrincipalPolicyInput, fn func(p *SimulatePolicyResponse, lastPage bool) (shouldContinue bool)) error { + page, _ := c.SimulatePrincipalPolicyRequest(input) + page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) + return page.EachPage(func(p interface{}, lastPage bool) bool { + return fn(p.(*SimulatePolicyResponse), lastPage) + }) +} + const opUpdateAccessKey = "UpdateAccessKey" -// UpdateAccessKeyRequest generates a request for the UpdateAccessKey operation. +// UpdateAccessKeyRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAccessKey operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateAccessKey for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateAccessKey method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateAccessKeyRequest method. +// req, resp := client.UpdateAccessKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) UpdateAccessKeyRequest(input *UpdateAccessKeyInput) (req *request.Request, output *UpdateAccessKeyOutput) { op := &request.Operation{ Name: opUpdateAccessKey, @@ -3800,6 +8877,8 @@ func (c *IAM) UpdateAccessKeyRequest(input *UpdateAccessKeyInput) (req *request. return } +// UpdateAccessKey API operation for AWS Identity and Access Management. +// // Changes the status of the specified access key from Active to Inactive, or // vice versa. This action can be used to disable a user's key as part of a // key rotation work flow. @@ -3812,6 +8891,27 @@ func (c *IAM) UpdateAccessKeyRequest(input *UpdateAccessKeyInput) (req *request. // For information about rotating keys, see Managing Keys and Certificates // (http://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingCredentials.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation UpdateAccessKey for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) UpdateAccessKey(input *UpdateAccessKeyInput) (*UpdateAccessKeyOutput, error) { req, out := c.UpdateAccessKeyRequest(input) err := req.Send() @@ -3820,7 +8920,30 @@ func (c *IAM) UpdateAccessKey(input *UpdateAccessKeyInput) (*UpdateAccessKeyOutp const opUpdateAccountPasswordPolicy = "UpdateAccountPasswordPolicy" -// UpdateAccountPasswordPolicyRequest generates a request for the UpdateAccountPasswordPolicy operation. +// UpdateAccountPasswordPolicyRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAccountPasswordPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateAccountPasswordPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateAccountPasswordPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateAccountPasswordPolicyRequest method. +// req, resp := client.UpdateAccountPasswordPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) UpdateAccountPasswordPolicyRequest(input *UpdateAccountPasswordPolicyInput) (req *request.Request, output *UpdateAccountPasswordPolicyOutput) { op := &request.Operation{ Name: opUpdateAccountPasswordPolicy, @@ -3840,6 +8963,8 @@ func (c *IAM) UpdateAccountPasswordPolicyRequest(input *UpdateAccountPasswordPol return } +// UpdateAccountPasswordPolicy API operation for AWS Identity and Access Management. +// // Updates the password policy settings for the AWS account. // // This action does not support partial updates. No parameters are required, @@ -3850,6 +8975,31 @@ func (c *IAM) UpdateAccountPasswordPolicyRequest(input *UpdateAccountPasswordPol // For more information about using a password policy, see Managing an IAM // Password Policy (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingPasswordPolicies.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation UpdateAccountPasswordPolicy for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * MalformedPolicyDocument +// The request was rejected because the policy document was malformed. The error +// message describes the specific error. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) UpdateAccountPasswordPolicy(input *UpdateAccountPasswordPolicyInput) (*UpdateAccountPasswordPolicyOutput, error) { req, out := c.UpdateAccountPasswordPolicyRequest(input) err := req.Send() @@ -3858,7 +9008,30 @@ func (c *IAM) UpdateAccountPasswordPolicy(input *UpdateAccountPasswordPolicyInpu const opUpdateAssumeRolePolicy = "UpdateAssumeRolePolicy" -// UpdateAssumeRolePolicyRequest generates a request for the UpdateAssumeRolePolicy operation. +// UpdateAssumeRolePolicyRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAssumeRolePolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateAssumeRolePolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateAssumeRolePolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateAssumeRolePolicyRequest method. +// req, resp := client.UpdateAssumeRolePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) UpdateAssumeRolePolicyRequest(input *UpdateAssumeRolePolicyInput) (req *request.Request, output *UpdateAssumeRolePolicyOutput) { op := &request.Operation{ Name: opUpdateAssumeRolePolicy, @@ -3878,9 +9051,37 @@ func (c *IAM) UpdateAssumeRolePolicyRequest(input *UpdateAssumeRolePolicyInput) return } -// Updates the policy that grants an entity permission to assume a role. For -// more information about roles, go to Using Roles to Delegate Permissions and -// Federate Identities (http://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html). +// UpdateAssumeRolePolicy API operation for AWS Identity and Access Management. +// +// Updates the policy that grants an IAM entity permission to assume a role. +// This is typically referred to as the "role trust policy". For more information +// about roles, go to Using Roles to Delegate Permissions and Federate Identities +// (http://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.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. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation UpdateAssumeRolePolicy for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * MalformedPolicyDocument +// The request was rejected because the policy document was malformed. The error +// message describes the specific error. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) UpdateAssumeRolePolicy(input *UpdateAssumeRolePolicyInput) (*UpdateAssumeRolePolicyOutput, error) { req, out := c.UpdateAssumeRolePolicyRequest(input) err := req.Send() @@ -3889,7 +9090,30 @@ func (c *IAM) UpdateAssumeRolePolicy(input *UpdateAssumeRolePolicyInput) (*Updat const opUpdateGroup = "UpdateGroup" -// UpdateGroupRequest generates a request for the UpdateGroup operation. +// UpdateGroupRequest generates a "aws/request.Request" representing the +// client's request for the UpdateGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateGroupRequest method. +// req, resp := client.UpdateGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) UpdateGroupRequest(input *UpdateGroupInput) (req *request.Request, output *UpdateGroupOutput) { op := &request.Operation{ Name: opUpdateGroup, @@ -3909,16 +9133,44 @@ func (c *IAM) UpdateGroupRequest(input *UpdateGroupInput) (req *request.Request, return } -// Updates the name and/or the path of the specified group. +// UpdateGroup API operation for AWS Identity and Access Management. +// +// Updates the name and/or the path of the specified IAM group. +// +// You should understand the implications of changing a group's path or name. +// For more information, see Renaming Users and Groups (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_WorkingWithGroupsAndUsers.html) +// in the IAM User Guide. +// +// To change an IAM group name the requester must have appropriate permissions +// on both the source object and the target object. For example, to change "Managers" +// to "MGRs", the entity making the request must have permission on both "Managers" +// and "MGRs", or must have permission on all (*). For more information about +// permissions, see Permissions and Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/PermissionsAndPolicies.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. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation UpdateGroup for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * EntityAlreadyExists +// The request was rejected because it attempted to create a resource that already +// exists. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. // -// You should understand the implications of changing a group's path or name. -// For more information, see Renaming Users and Groups (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_WorkingWithGroupsAndUsers.html) -// in the IAM User Guide. To change a group name the requester must have appropriate -// permissions on both the source object and the target object. For example, -// to change Managers to MGRs, the entity making the request must have permission -// on Managers and MGRs, or must have permission on all (*). For more information -// about permissions, see Permissions and Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/PermissionsAndPolicies.html" -// target="blank). func (c *IAM) UpdateGroup(input *UpdateGroupInput) (*UpdateGroupOutput, error) { req, out := c.UpdateGroupRequest(input) err := req.Send() @@ -3927,7 +9179,30 @@ func (c *IAM) UpdateGroup(input *UpdateGroupInput) (*UpdateGroupOutput, error) { const opUpdateLoginProfile = "UpdateLoginProfile" -// UpdateLoginProfileRequest generates a request for the UpdateLoginProfile operation. +// UpdateLoginProfileRequest generates a "aws/request.Request" representing the +// client's request for the UpdateLoginProfile operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateLoginProfile for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateLoginProfile method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateLoginProfileRequest method. +// req, resp := client.UpdateLoginProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) UpdateLoginProfileRequest(input *UpdateLoginProfileInput) (req *request.Request, output *UpdateLoginProfileOutput) { op := &request.Operation{ Name: opUpdateLoginProfile, @@ -3947,11 +9222,44 @@ func (c *IAM) UpdateLoginProfileRequest(input *UpdateLoginProfileInput) (req *re return } -// Changes the password for the specified user. +// UpdateLoginProfile API operation for AWS Identity and Access Management. +// +// Changes the password for the specified IAM user. // -// Users can change their own passwords by calling ChangePassword. For more -// information about modifying passwords, see Managing Passwords (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingLogins.html) +// IAM users can change their own passwords by calling ChangePassword. For +// more information about modifying passwords, see Managing Passwords (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingLogins.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation UpdateLoginProfile for usage and error information. +// +// Returned Error Codes: +// * EntityTemporarilyUnmodifiable +// The request was rejected because it referenced an entity that is temporarily +// unmodifiable, such as a user name that was deleted and then recreated. The +// error indicates that the request is likely to succeed if you try again after +// waiting several minutes. The error message describes the entity. +// +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * PasswordPolicyViolation +// The request was rejected because the provided password did not meet the requirements +// imposed by the account password policy. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) UpdateLoginProfile(input *UpdateLoginProfileInput) (*UpdateLoginProfileOutput, error) { req, out := c.UpdateLoginProfileRequest(input) err := req.Send() @@ -3960,7 +9268,30 @@ func (c *IAM) UpdateLoginProfile(input *UpdateLoginProfileInput) (*UpdateLoginPr const opUpdateOpenIDConnectProviderThumbprint = "UpdateOpenIDConnectProviderThumbprint" -// UpdateOpenIDConnectProviderThumbprintRequest generates a request for the UpdateOpenIDConnectProviderThumbprint operation. +// UpdateOpenIDConnectProviderThumbprintRequest generates a "aws/request.Request" representing the +// client's request for the UpdateOpenIDConnectProviderThumbprint operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateOpenIDConnectProviderThumbprint for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateOpenIDConnectProviderThumbprint method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateOpenIDConnectProviderThumbprintRequest method. +// req, resp := client.UpdateOpenIDConnectProviderThumbprintRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) UpdateOpenIDConnectProviderThumbprintRequest(input *UpdateOpenIDConnectProviderThumbprintInput) (req *request.Request, output *UpdateOpenIDConnectProviderThumbprintOutput) { op := &request.Operation{ Name: opUpdateOpenIDConnectProviderThumbprint, @@ -3980,7 +9311,10 @@ func (c *IAM) UpdateOpenIDConnectProviderThumbprintRequest(input *UpdateOpenIDCo return } -// Replaces the existing list of server certificate thumbprints with a new list. +// UpdateOpenIDConnectProviderThumbprint API operation for AWS Identity and Access Management. +// +// Replaces the existing list of server certificate thumbprints associated with +// an OpenID Connect (OIDC) provider resource object with a new list of thumbprints. // // The list that you pass with this action completely replaces the existing // list of thumbprints. (The lists are not merged.) @@ -3988,12 +9322,33 @@ func (c *IAM) UpdateOpenIDConnectProviderThumbprintRequest(input *UpdateOpenIDCo // Typically, you need to update a thumbprint only when the identity provider's // certificate changes, which occurs rarely. However, if the provider's certificate // does change, any attempt to assume an IAM role that specifies the OIDC provider -// as a principal will fail until the certificate thumbprint is updated. +// as a principal fails until the certificate thumbprint is updated. +// +// Because trust for the OIDC provider is ultimately derived from the provider's +// certificate and is validated by the thumbprint, it is a best practice to +// limit access to the UpdateOpenIDConnectProviderThumbprint action to highly-privileged +// 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 AWS Identity and Access Management's +// API operation UpdateOpenIDConnectProviderThumbprint for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. // -// Because trust for the OpenID Connect provider is ultimately derived from -// the provider's certificate and is validated by the thumbprint, it is a best -// practice to limit access to the UpdateOpenIDConnectProviderThumbprint action -// to highly-privileged users. func (c *IAM) UpdateOpenIDConnectProviderThumbprint(input *UpdateOpenIDConnectProviderThumbprintInput) (*UpdateOpenIDConnectProviderThumbprintOutput, error) { req, out := c.UpdateOpenIDConnectProviderThumbprintRequest(input) err := req.Send() @@ -4002,7 +9357,30 @@ func (c *IAM) UpdateOpenIDConnectProviderThumbprint(input *UpdateOpenIDConnectPr const opUpdateSAMLProvider = "UpdateSAMLProvider" -// UpdateSAMLProviderRequest generates a request for the UpdateSAMLProvider operation. +// UpdateSAMLProviderRequest generates a "aws/request.Request" representing the +// client's request for the UpdateSAMLProvider operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateSAMLProvider for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateSAMLProvider method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateSAMLProviderRequest method. +// req, resp := client.UpdateSAMLProviderRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) UpdateSAMLProviderRequest(input *UpdateSAMLProviderInput) (req *request.Request, output *UpdateSAMLProviderOutput) { op := &request.Operation{ Name: opUpdateSAMLProvider, @@ -4020,9 +9398,36 @@ func (c *IAM) UpdateSAMLProviderRequest(input *UpdateSAMLProviderInput) (req *re return } -// Updates the metadata document for an existing SAML provider. +// UpdateSAMLProvider API operation for AWS Identity and Access Management. +// +// Updates the metadata document for an existing SAML provider resource object. +// +// This operation requires Signature Version 4 (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.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. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation UpdateSAMLProvider for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * InvalidInput +// The request was rejected because an invalid or out-of-range value was supplied +// for an input parameter. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. // -// This operation requires Signature Version 4 (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). func (c *IAM) UpdateSAMLProvider(input *UpdateSAMLProviderInput) (*UpdateSAMLProviderOutput, error) { req, out := c.UpdateSAMLProviderRequest(input) err := req.Send() @@ -4031,7 +9436,30 @@ func (c *IAM) UpdateSAMLProvider(input *UpdateSAMLProviderInput) (*UpdateSAMLPro const opUpdateSSHPublicKey = "UpdateSSHPublicKey" -// UpdateSSHPublicKeyRequest generates a request for the UpdateSSHPublicKey operation. +// UpdateSSHPublicKeyRequest generates a "aws/request.Request" representing the +// client's request for the UpdateSSHPublicKey operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateSSHPublicKey for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateSSHPublicKey method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateSSHPublicKeyRequest method. +// req, resp := client.UpdateSSHPublicKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) UpdateSSHPublicKeyRequest(input *UpdateSSHPublicKeyInput) (req *request.Request, output *UpdateSSHPublicKeyOutput) { op := &request.Operation{ Name: opUpdateSSHPublicKey, @@ -4051,7 +9479,9 @@ func (c *IAM) UpdateSSHPublicKeyRequest(input *UpdateSSHPublicKeyInput) (req *re return } -// Sets the status of the specified SSH public key to active or inactive. SSH +// UpdateSSHPublicKey API operation for AWS Identity and Access Management. +// +// Sets the status of an IAM user's SSH public key to active or inactive. SSH // public keys that are inactive cannot be used for authentication. This action // can be used to disable a user's SSH public key as part of a key rotation // work flow. @@ -4061,6 +9491,19 @@ func (c *IAM) UpdateSSHPublicKeyRequest(input *UpdateSSHPublicKeyInput) (req *re // about using SSH keys to authenticate to an AWS CodeCommit repository, see // Set up AWS CodeCommit for SSH Connections (http://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-credentials-ssh.html) // in the AWS CodeCommit 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation UpdateSSHPublicKey for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// func (c *IAM) UpdateSSHPublicKey(input *UpdateSSHPublicKeyInput) (*UpdateSSHPublicKeyOutput, error) { req, out := c.UpdateSSHPublicKeyRequest(input) err := req.Send() @@ -4069,7 +9512,30 @@ func (c *IAM) UpdateSSHPublicKey(input *UpdateSSHPublicKeyInput) (*UpdateSSHPubl const opUpdateServerCertificate = "UpdateServerCertificate" -// UpdateServerCertificateRequest generates a request for the UpdateServerCertificate operation. +// UpdateServerCertificateRequest generates a "aws/request.Request" representing the +// client's request for the UpdateServerCertificate operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateServerCertificate for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateServerCertificate method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateServerCertificateRequest method. +// req, resp := client.UpdateServerCertificateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) UpdateServerCertificateRequest(input *UpdateServerCertificateInput) (req *request.Request, output *UpdateServerCertificateOutput) { op := &request.Operation{ Name: opUpdateServerCertificate, @@ -4089,22 +9555,52 @@ func (c *IAM) UpdateServerCertificateRequest(input *UpdateServerCertificateInput return } -// Updates the name and/or the path of the specified server certificate. +// UpdateServerCertificate API operation for AWS Identity and Access Management. +// +// Updates the name and/or the path of the specified server certificate stored +// in IAM. // // For more information about working with server certificates, including a // list of AWS services that can use the server certificates that you manage // with IAM, go to Working with Server Certificates (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html) // in the IAM User Guide. // -// You should understand the implications of changing a server certificate's +// You should understand the implications of changing a server certificate's // path or name. For more information, see Renaming a Server Certificate (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs_manage.html#RenamingServerCerts) -// in the IAM User Guide. To change a server certificate name the requester -// must have appropriate permissions on both the source object and the target -// object. For example, to change the name from ProductionCert to ProdCert, -// the entity making the request must have permission on ProductionCert and -// ProdCert, or must have permission on all (*). For more information about -// permissions, see Access Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) // in the IAM User Guide. +// +// To change a server certificate name the requester must have appropriate +// permissions on both the source object and the target object. For example, +// to change the name from "ProductionCert" to "ProdCert", the entity making +// the request must have permission on "ProductionCert" and "ProdCert", or must +// have permission on all (*). For more information about permissions, see Access +// Management (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) +// in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation UpdateServerCertificate for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * EntityAlreadyExists +// The request was rejected because it attempted to create a resource that already +// exists. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) UpdateServerCertificate(input *UpdateServerCertificateInput) (*UpdateServerCertificateOutput, error) { req, out := c.UpdateServerCertificateRequest(input) err := req.Send() @@ -4113,7 +9609,30 @@ func (c *IAM) UpdateServerCertificate(input *UpdateServerCertificateInput) (*Upd const opUpdateSigningCertificate = "UpdateSigningCertificate" -// UpdateSigningCertificateRequest generates a request for the UpdateSigningCertificate operation. +// UpdateSigningCertificateRequest generates a "aws/request.Request" representing the +// client's request for the UpdateSigningCertificate operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateSigningCertificate for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateSigningCertificate method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateSigningCertificateRequest method. +// req, resp := client.UpdateSigningCertificateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) UpdateSigningCertificateRequest(input *UpdateSigningCertificateInput) (req *request.Request, output *UpdateSigningCertificateOutput) { op := &request.Operation{ Name: opUpdateSigningCertificate, @@ -4133,14 +9652,37 @@ func (c *IAM) UpdateSigningCertificateRequest(input *UpdateSigningCertificateInp return } -// Changes the status of the specified signing certificate from active to disabled, -// or vice versa. This action can be used to disable a user's signing certificate -// as part of a certificate rotation work flow. +// UpdateSigningCertificate API operation for AWS Identity and Access Management. +// +// Changes the status of the specified user signing certificate from active +// to disabled, or vice versa. This action can be used to disable an IAM user's +// signing certificate as part of a certificate rotation work flow. // // If the UserName field is not specified, the UserName is determined implicitly // based on the AWS access key ID used to sign the request. Because this action // works for access keys under the AWS account, you can use this action to manage // root credentials even if the AWS account has no associated 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 AWS Identity and Access Management's +// API operation UpdateSigningCertificate for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) UpdateSigningCertificate(input *UpdateSigningCertificateInput) (*UpdateSigningCertificateOutput, error) { req, out := c.UpdateSigningCertificateRequest(input) err := req.Send() @@ -4149,7 +9691,30 @@ func (c *IAM) UpdateSigningCertificate(input *UpdateSigningCertificateInput) (*U const opUpdateUser = "UpdateUser" -// UpdateUserRequest generates a request for the UpdateUser operation. +// UpdateUserRequest generates a "aws/request.Request" representing the +// client's request for the UpdateUser operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateUser for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateUser method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateUserRequest method. +// req, resp := client.UpdateUserRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) UpdateUserRequest(input *UpdateUserInput) (req *request.Request, output *UpdateUserOutput) { op := &request.Operation{ Name: opUpdateUser, @@ -4169,17 +9734,51 @@ func (c *IAM) UpdateUserRequest(input *UpdateUserInput) (req *request.Request, o return } -// Updates the name and/or the path of the specified user. +// UpdateUser API operation for AWS Identity and Access Management. // -// You should understand the implications of changing a user's path or name. -// For more information, see Renaming an IAM User (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_renaming) +// Updates the name and/or the path of the specified IAM user. +// +// You should understand the implications of changing an IAM user's path +// or name. For more information, see Renaming an IAM User (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_renaming) // and Renaming an IAM Group (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups_manage_rename.html) -// in the IAM User Guide. To change a user name the requester must have appropriate -// permissions on both the source object and the target object. For example, -// to change Bob to Robert, the entity making the request must have permission -// on Bob and Robert, or must have permission on all (*). For more information -// about permissions, see Permissions and Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/PermissionsAndPolicies.html" -// target="blank). +// in the IAM User Guide. +// +// To change a user name the requester must have appropriate permissions +// on both the source object and the target object. For example, to change Bob +// to Robert, the entity making the request must have permission on Bob and +// Robert, or must have permission on all (*). For more information about permissions, +// see Permissions and Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/PermissionsAndPolicies.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. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation UpdateUser for usage and error information. +// +// Returned Error Codes: +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * EntityAlreadyExists +// The request was rejected because it attempted to create a resource that already +// exists. +// +// * EntityTemporarilyUnmodifiable +// The request was rejected because it referenced an entity that is temporarily +// unmodifiable, such as a user name that was deleted and then recreated. The +// error indicates that the request is likely to succeed if you try again after +// waiting several minutes. The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) UpdateUser(input *UpdateUserInput) (*UpdateUserOutput, error) { req, out := c.UpdateUserRequest(input) err := req.Send() @@ -4188,7 +9787,30 @@ func (c *IAM) UpdateUser(input *UpdateUserInput) (*UpdateUserOutput, error) { const opUploadSSHPublicKey = "UploadSSHPublicKey" -// UploadSSHPublicKeyRequest generates a request for the UploadSSHPublicKey operation. +// UploadSSHPublicKeyRequest generates a "aws/request.Request" representing the +// client's request for the UploadSSHPublicKey operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UploadSSHPublicKey for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UploadSSHPublicKey method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UploadSSHPublicKeyRequest method. +// req, resp := client.UploadSSHPublicKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) UploadSSHPublicKeyRequest(input *UploadSSHPublicKeyInput) (req *request.Request, output *UploadSSHPublicKeyOutput) { op := &request.Operation{ Name: opUploadSSHPublicKey, @@ -4206,6 +9828,8 @@ func (c *IAM) UploadSSHPublicKeyRequest(input *UploadSSHPublicKeyInput) (req *re return } +// UploadSSHPublicKey API operation for AWS Identity and Access Management. +// // Uploads an SSH public key and associates it with the specified IAM user. // // The SSH public key uploaded by this action can be used only for authenticating @@ -4213,6 +9837,35 @@ func (c *IAM) UploadSSHPublicKeyRequest(input *UploadSSHPublicKeyInput) (req *re // about using SSH keys to authenticate to an AWS CodeCommit repository, see // Set up AWS CodeCommit for SSH Connections (http://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-credentials-ssh.html) // in the AWS CodeCommit 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation UploadSSHPublicKey for usage and error information. +// +// Returned Error Codes: +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * InvalidPublicKey +// The request was rejected because the public key is malformed or otherwise +// invalid. +// +// * DuplicateSSHPublicKey +// The request was rejected because the SSH public key is already associated +// with the specified IAM user. +// +// * UnrecognizedPublicKeyEncoding +// The request was rejected because the public key encoding format is unsupported +// or unrecognized. +// func (c *IAM) UploadSSHPublicKey(input *UploadSSHPublicKeyInput) (*UploadSSHPublicKeyOutput, error) { req, out := c.UploadSSHPublicKeyRequest(input) err := req.Send() @@ -4221,7 +9874,30 @@ func (c *IAM) UploadSSHPublicKey(input *UploadSSHPublicKeyInput) (*UploadSSHPubl const opUploadServerCertificate = "UploadServerCertificate" -// UploadServerCertificateRequest generates a request for the UploadServerCertificate operation. +// UploadServerCertificateRequest generates a "aws/request.Request" representing the +// client's request for the UploadServerCertificate operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UploadServerCertificate for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UploadServerCertificate method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UploadServerCertificateRequest method. +// req, resp := client.UploadServerCertificateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) UploadServerCertificateRequest(input *UploadServerCertificateInput) (req *request.Request, output *UploadServerCertificateOutput) { op := &request.Operation{ Name: opUploadServerCertificate, @@ -4239,6 +9915,8 @@ func (c *IAM) UploadServerCertificateRequest(input *UploadServerCertificateInput return } +// UploadServerCertificate API operation for AWS Identity and Access Management. +// // Uploads a server certificate entity for the AWS account. The server certificate // entity includes a public key certificate, a private key, and an optional // certificate chain, which should all be PEM-encoded. @@ -4252,13 +9930,42 @@ func (c *IAM) UploadServerCertificateRequest(input *UploadServerCertificateInput // see Limitations on IAM Entities and Objects (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html) // in the IAM User Guide. // -// Because the body of the public key certificate, private key, and the certificate +// Because the body of the public key certificate, private key, and the certificate // chain can be large, you should use POST rather than GET when calling UploadServerCertificate. // For information about setting up signatures and authorization through the // API, go to Signing AWS API Requests (http://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) // in the AWS General Reference. For general information about using the Query // API with IAM, go to Calling the API by Making HTTP Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/programming.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation UploadServerCertificate for usage and error information. +// +// Returned Error Codes: +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * EntityAlreadyExists +// The request was rejected because it attempted to create a resource that already +// exists. +// +// * MalformedCertificate +// The request was rejected because the certificate was malformed or expired. +// The error message describes the specific error. +// +// * KeyPairMismatch +// The request was rejected because the public key certificate and the private +// key do not match. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) UploadServerCertificate(input *UploadServerCertificateInput) (*UploadServerCertificateOutput, error) { req, out := c.UploadServerCertificateRequest(input) err := req.Send() @@ -4267,7 +9974,30 @@ func (c *IAM) UploadServerCertificate(input *UploadServerCertificateInput) (*Upl const opUploadSigningCertificate = "UploadSigningCertificate" -// UploadSigningCertificateRequest generates a request for the UploadSigningCertificate operation. +// UploadSigningCertificateRequest generates a "aws/request.Request" representing the +// client's request for the UploadSigningCertificate operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UploadSigningCertificate for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UploadSigningCertificate method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UploadSigningCertificateRequest method. +// req, resp := client.UploadSigningCertificateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *IAM) UploadSigningCertificateRequest(input *UploadSigningCertificateInput) (req *request.Request, output *UploadSigningCertificateOutput) { op := &request.Operation{ Name: opUploadSigningCertificate, @@ -4285,23 +10015,62 @@ func (c *IAM) UploadSigningCertificateRequest(input *UploadSigningCertificateInp return } +// UploadSigningCertificate API operation for AWS Identity and Access Management. +// // Uploads an X.509 signing certificate and associates it with the specified -// user. Some AWS services use X.509 signing certificates to validate requests +// IAM user. Some AWS services use X.509 signing certificates to validate requests // that are signed with a corresponding private key. When you upload the certificate, // its default status is Active. // -// If the UserName field is not specified, the user name is determined implicitly -// based on the AWS access key ID used to sign the request. Because this action -// works for access keys under the AWS account, you can use this action to manage -// root credentials even if the AWS account has no associated users. +// If the UserName field is not specified, the IAM user name is determined +// implicitly based on the AWS access key ID used to sign the request. Because +// this action works for access keys under the AWS account, you can use this +// action to manage root credentials even if the AWS account has no associated +// users. // -// Because the body of a X.509 certificate can be large, you should use POST +// Because the body of a X.509 certificate can be large, you should use POST // rather than GET when calling UploadSigningCertificate. For information about // setting up signatures and authorization through the API, go to Signing AWS // API Requests (http://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) // in the AWS General Reference. For general information about using the Query // API with IAM, go to Making Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html) -// in the Using IAMguide. +// in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Identity and Access Management's +// API operation UploadSigningCertificate for usage and error information. +// +// Returned Error Codes: +// * LimitExceeded +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error message describes the limit exceeded. +// +// * EntityAlreadyExists +// The request was rejected because it attempted to create a resource that already +// exists. +// +// * MalformedCertificate +// The request was rejected because the certificate was malformed or expired. +// The error message describes the specific error. +// +// * InvalidCertificate +// The request was rejected because the certificate is invalid. +// +// * DuplicateCertificate +// The request was rejected because the same certificate is associated with +// an IAM user in the account. +// +// * NoSuchEntity +// The request was rejected because it referenced an entity that does not exist. +// The error message describes the entity. +// +// * ServiceFailure +// The request processing has failed because of an unknown error, exception +// or failure. +// func (c *IAM) UploadSigningCertificate(input *UploadSigningCertificateInput) (*UploadSigningCertificateOutput, error) { req, out := c.UploadSigningCertificateRequest(input) err := req.Send() @@ -4313,7 +10082,7 @@ func (c *IAM) UploadSigningCertificate(input *UploadSigningCertificateInput) (*U // This data type is used as a response element in the CreateAccessKey and // ListAccessKeys actions. // -// The SecretAccessKey value is returned only in response to CreateAccessKey. +// The SecretAccessKey value is returned only in response to CreateAccessKey. // You can get a secret access key only when you first create an access key; // you cannot recover the secret access key later. If you lose a secret access // key, you must create a new access key. @@ -4321,19 +10090,27 @@ type AccessKey struct { _ struct{} `type:"structure"` // The ID for this access key. + // + // AccessKeyId is a required field AccessKeyId *string `min:"16" type:"string" required:"true"` // The date when the access key was created. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` // The secret key used to sign requests. + // + // SecretAccessKey is a required field SecretAccessKey *string `type:"string" required:"true"` // The status of the access key. Active means the key is valid for API calls, // while Inactive means it is not. + // + // Status is a required field Status *string `type:"string" required:"true" enum:"statusType"` // The name of the IAM user that the access key is associated with. + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -4363,6 +10140,8 @@ type AccessKeyLastUsed struct { // tracking this information on April 22nd, 2015. // // There is no sign-in data associated with the user + // + // LastUsedDate is a required field LastUsedDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // The AWS region where this access key was most recently used. This field is @@ -4377,6 +10156,8 @@ type AccessKeyLastUsed struct { // // For more information about AWS regions, see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html) // in the Amazon Web Services General Reference. + // + // Region is a required field Region *string `type:"string" required:"true"` // The name of the AWS service with which this access key was most recently @@ -4388,6 +10169,8 @@ type AccessKeyLastUsed struct { // tracking this information on April 22nd, 2015. // // There is no sign-in data associated with the user + // + // ServiceName is a required field ServiceName *string `type:"string" required:"true"` } @@ -4434,12 +10217,17 @@ func (s AccessKeyMetadata) GoString() string { type AddClientIDToOpenIDConnectProviderInput struct { _ struct{} `type:"structure"` - // The client ID (also known as audience) to add to the IAM OpenID Connect provider. + // The client ID (also known as audience) to add to the IAM OpenID Connect provider + // resource. + // + // ClientID is a required field ClientID *string `min:"1" type:"string" required:"true"` // The Amazon Resource Name (ARN) of the IAM OpenID Connect (OIDC) provider - // to add the client ID to. You can get a list of OIDC provider ARNs by using - // the ListOpenIDConnectProviders action. + // resource to add the client ID to. You can get a list of OIDC provider ARNs + // by using the ListOpenIDConnectProviders action. + // + // OpenIDConnectProviderArn is a required field OpenIDConnectProviderArn *string `min:"20" type:"string" required:"true"` } @@ -4493,9 +10281,21 @@ type AddRoleToInstanceProfileInput struct { _ struct{} `type:"structure"` // The name of the instance profile to update. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // InstanceProfileName is a required field InstanceProfileName *string `min:"1" type:"string" required:"true"` // The name of the role to add. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // RoleName is a required field RoleName *string `min:"1" type:"string" required:"true"` } @@ -4549,9 +10349,21 @@ type AddUserToGroupInput struct { _ struct{} `type:"structure"` // The name of the group to update. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // GroupName is a required field GroupName *string `min:"1" type:"string" required:"true"` // The name of the user to add. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -4605,13 +10417,21 @@ type AttachGroupPolicyInput struct { _ struct{} `type:"structure"` // The name (friendly name, not ARN) of the group to attach the policy to. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // GroupName is a required field GroupName *string `min:"1" type:"string" required:"true"` - // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources. + // The Amazon Resource Name (ARN) of the IAM policy you want to attach. // - // For more information about ARNs, go to Amazon Resource Names (ARNs) and - // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS + // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // in the AWS General Reference. + // + // PolicyArn is a required field PolicyArn *string `min:"20" type:"string" required:"true"` } @@ -4664,14 +10484,22 @@ func (s AttachGroupPolicyOutput) GoString() string { type AttachRolePolicyInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources. + // The Amazon Resource Name (ARN) of the IAM policy you want to attach. // - // For more information about ARNs, go to Amazon Resource Names (ARNs) and - // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS + // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // in the AWS General Reference. + // + // PolicyArn is a required field PolicyArn *string `min:"20" type:"string" required:"true"` // The name (friendly name, not ARN) of the role to attach the policy to. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // RoleName is a required field RoleName *string `min:"1" type:"string" required:"true"` } @@ -4724,14 +10552,22 @@ func (s AttachRolePolicyOutput) GoString() string { type AttachUserPolicyInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources. + // The Amazon Resource Name (ARN) of the IAM policy you want to attach. // - // For more information about ARNs, go to Amazon Resource Names (ARNs) and - // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS + // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // in the AWS General Reference. + // + // PolicyArn is a required field PolicyArn *string `min:"20" type:"string" required:"true"` - // The name (friendly name, not ARN) of the user to attach the policy to. + // The name (friendly name, not ARN) of the IAM user to attach the policy to. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -4820,9 +10656,22 @@ type ChangePasswordInput struct { // The new password. The new password must conform to the AWS account's password // policy, if one exists. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of almost any printable ASCII character + // from the space (\u0020) through the end of the ASCII character range (\u00FF). + // You can also include the tab (\u0009), line feed (\u000A), and carriage return + // (\u000D) characters. Although any of these characters are valid in a password, + // note that many tools, such as the AWS Management Console, might restrict + // the ability to enter certain characters because they have special meaning + // within that tool. + // + // NewPassword is a required field NewPassword *string `min:"1" type:"string" required:"true"` // The IAM user's current password. + // + // OldPassword is a required field OldPassword *string `min:"1" type:"string" required:"true"` } @@ -4877,7 +10726,8 @@ func (s ChangePasswordOutput) GoString() string { // multiple values) to use in the simulation. This information is used when // evaluating the Condition elements of the input policies. // -// This data type is used as an input parameter to SimulatePolicy. +// This data type is used as an input parameter to SimulateCustomPolicy and +// SimulateCustomPolicy . type ContextEntry struct { _ struct{} `type:"structure"` @@ -4921,7 +10771,11 @@ func (s *ContextEntry) Validate() error { type CreateAccessKeyInput struct { _ struct{} `type:"structure"` - // The user name that the new key will belong to. + // The name of the IAM user that the new key will belong to. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- UserName *string `min:"1" type:"string"` } @@ -4952,7 +10806,9 @@ func (s *CreateAccessKeyInput) Validate() error { type CreateAccessKeyOutput struct { _ struct{} `type:"structure"` - // Information about the access key. + // A structure with details about the access key. + // + // AccessKey is a required field AccessKey *AccessKey `type:"structure" required:"true"` } @@ -4970,6 +10826,13 @@ type CreateAccountAliasInput struct { _ struct{} `type:"structure"` // The account alias to create. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of lowercase letters, digits, and dashes. + // You cannot start or finish with a dash, nor can you have two dashes in a + // row. + // + // AccountAlias is a required field AccountAlias *string `min:"3" type:"string" required:"true"` } @@ -5017,14 +10880,28 @@ type CreateGroupInput struct { _ struct{} `type:"structure"` // The name of the group to create. Do not include the path in this value. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@-. + // The group name must be unique within the account. Group names are not distinguished + // by case. For example, you cannot create groups named both "ADMINS" and "admins". + // + // GroupName is a required field GroupName *string `min:"1" type:"string" required:"true"` // The path to the group. For more information about paths, see IAM Identifiers // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) - // in the Using IAM guide. + // in the IAM User Guide. // // This parameter is optional. If it is not included, it defaults to a slash // (/). + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of either a forward slash (/) by itself + // or a string that must begin and end with forward slashes, containing any + // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including + // most punctuation characters, digits, and upper and lowercased letters. Path *string `min:"1" type:"string"` } @@ -5061,7 +10938,9 @@ func (s *CreateGroupInput) Validate() error { type CreateGroupOutput struct { _ struct{} `type:"structure"` - // Information about the group. + // A structure containing details about the new group. + // + // Group is a required field Group *Group `type:"structure" required:"true"` } @@ -5079,14 +10958,26 @@ type CreateInstanceProfileInput struct { _ struct{} `type:"structure"` // The name of the instance profile to create. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // InstanceProfileName is a required field InstanceProfileName *string `min:"1" type:"string" required:"true"` // The path to the instance profile. For more information about paths, see IAM // Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) - // in the Using IAM guide. + // in the IAM User Guide. // // This parameter is optional. If it is not included, it defaults to a slash // (/). + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of either a forward slash (/) by itself + // or a string that must begin and end with forward slashes, containing any + // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including + // most punctuation characters, digits, and upper and lowercased letters. Path *string `min:"1" type:"string"` } @@ -5123,7 +11014,9 @@ func (s *CreateInstanceProfileInput) Validate() error { type CreateInstanceProfileOutput struct { _ struct{} `type:"structure"` - // Information about the instance profile. + // A structure containing details about the new instance profile. + // + // InstanceProfile is a required field InstanceProfile *InstanceProfile `type:"structure" required:"true"` } @@ -5141,12 +11034,30 @@ type CreateLoginProfileInput struct { _ struct{} `type:"structure"` // The new password for the user. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of almost any printable ASCII character + // from the space (\u0020) through the end of the ASCII character range (\u00FF). + // You can also include the tab (\u0009), line feed (\u000A), and carriage return + // (\u000D) characters. Although any of these characters are valid in a password, + // note that many tools, such as the AWS Management Console, might restrict + // the ability to enter certain characters because they have special meaning + // within that tool. + // + // Password is a required field Password *string `min:"1" type:"string" required:"true"` // Specifies whether the user is required to set a new password on next sign-in. PasswordResetRequired *bool `type:"boolean"` - // The name of the user to create a password for. + // The name of the IAM user to create a password for. The user must already + // exist. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -5186,7 +11097,9 @@ func (s *CreateLoginProfileInput) Validate() error { type CreateLoginProfileOutput struct { _ struct{} `type:"structure"` - // The user name and password create date. + // A structure containing the user name and password create date. + // + // LoginProfile is a required field LoginProfile *LoginProfile `type:"structure" required:"true"` } @@ -5235,6 +11148,8 @@ type CreateOpenIDConnectProviderInput struct { // For more information about obtaining the OIDC provider's thumbprint, see // Obtaining the Thumbprint for an OpenID Connect Provider (http://docs.aws.amazon.com/IAM/latest/UserGuide/identity-providers-oidc-obtain-thumbprint.html) // in the IAM User Guide. + // + // ThumbprintList is a required field ThumbprintList []*string `type:"list" required:"true"` // The URL of the identity provider. The URL must begin with "https://" and @@ -5246,6 +11161,8 @@ type CreateOpenIDConnectProviderInput struct { // You cannot register the same provider multiple times in a single AWS account. // If you try to submit a URL that has already been used for an OpenID Connect // provider in the AWS account, you will get an error. + // + // Url is a required field Url *string `min:"1" type:"string" required:"true"` } @@ -5282,8 +11199,8 @@ func (s *CreateOpenIDConnectProviderInput) Validate() error { type CreateOpenIDConnectProviderOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the IAM OpenID Connect provider that was - // created. For more information, see OpenIDConnectProviderListEntry. + // The Amazon Resource Name (ARN) of the new IAM OpenID Connect provider that + // is created. For more information, see OpenIDConnectProviderListEntry. OpenIDConnectProviderArn *string `min:"20" type:"string"` } @@ -5316,12 +11233,33 @@ type CreatePolicyInput struct { // // This parameter is optional. If it is not included, it defaults to a slash // (/). + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of either a forward slash (/) by itself + // or a string that must begin and end with forward slashes, containing any + // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including + // most punctuation characters, digits, and upper and lowercased letters. Path *string `type:"string"` - // The policy document. + // The JSON policy document that you want to use as the content for the new + // policy. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of any printable ASCII character ranging + // from the space character (\u0020) through end of the ASCII character range + // (\u00FF). It also includes the special characters tab (\u0009), line feed + // (\u000A), and carriage return (\u000D). + // + // PolicyDocument is a required field PolicyDocument *string `min:"1" type:"string" required:"true"` - // The name of the policy document. + // The friendly name of the policy. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` } @@ -5361,7 +11299,7 @@ func (s *CreatePolicyInput) Validate() error { type CreatePolicyOutput struct { _ struct{} `type:"structure"` - // Information about the policy. + // A structure containing details about the new policy. Policy *Policy `type:"structure"` } @@ -5378,14 +11316,26 @@ func (s CreatePolicyOutput) GoString() string { type CreatePolicyVersionInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources. + // The Amazon Resource Name (ARN) of the IAM policy to which you want to add + // a new version. // - // For more information about ARNs, go to Amazon Resource Names (ARNs) and - // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS + // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // in the AWS General Reference. + // + // PolicyArn is a required field PolicyArn *string `min:"20" type:"string" required:"true"` - // The policy document. + // The JSON policy document that you want to use as the content for this new + // version of the policy. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of any printable ASCII character ranging + // from the space character (\u0020) through end of the ASCII character range + // (\u00FF). It also includes the special characters tab (\u0009), line feed + // (\u000A), and carriage return (\u000D). + // + // PolicyDocument is a required field PolicyDocument *string `min:"1" type:"string" required:"true"` // Specifies whether to set this version as the policy's default version. @@ -5436,7 +11386,7 @@ func (s *CreatePolicyVersionInput) Validate() error { type CreatePolicyVersionOutput struct { _ struct{} `type:"structure"` - // Information about the policy version. + // A structure containing details about the new policy version. PolicyVersion *PolicyVersion `type:"structure"` } @@ -5455,17 +11405,39 @@ type CreateRoleInput struct { // The trust relationship policy document that grants an entity permission to // assume the role. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of any printable ASCII character ranging + // from the space character (\u0020) through end of the ASCII character range + // (\u00FF). It also includes the special characters tab (\u0009), line feed + // (\u000A), and carriage return (\u000D). + // + // AssumeRolePolicyDocument is a required field AssumeRolePolicyDocument *string `min:"1" type:"string" required:"true"` // The path to the role. For more information about paths, see IAM Identifiers // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) - // in the Using IAM guide. + // in the IAM User Guide. // // This parameter is optional. If it is not included, it defaults to a slash // (/). + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of either a forward slash (/) by itself + // or a string that must begin and end with forward slashes, containing any + // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including + // most punctuation characters, digits, and upper and lowercased letters. Path *string `min:"1" type:"string"` // The name of the role to create. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@-. + // Role names are not distinguished by case. For example, you cannot create + // roles named both "PRODROLE" and "prodrole". + // + // RoleName is a required field RoleName *string `min:"1" type:"string" required:"true"` } @@ -5508,7 +11480,9 @@ func (s *CreateRoleInput) Validate() error { type CreateRoleOutput struct { _ struct{} `type:"structure"` - // Information about the role. + // A structure containing details about the new role. + // + // Role is a required field Role *Role `type:"structure" required:"true"` } @@ -5526,6 +11500,12 @@ type CreateSAMLProviderInput struct { _ struct{} `type:"structure"` // The name of the provider to create. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // Name is a required field Name *string `min:"1" type:"string" required:"true"` // An XML document generated by an identity provider (IdP) that supports SAML @@ -5536,6 +11516,8 @@ type CreateSAMLProviderInput struct { // // For more information, see About SAML 2.0-based Federation (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml.html) // in the IAM User Guide + // + // SAMLMetadataDocument is a required field SAMLMetadataDocument *string `min:"1000" type:"string" required:"true"` } @@ -5575,7 +11557,7 @@ func (s *CreateSAMLProviderInput) Validate() error { type CreateSAMLProviderOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the SAML provider. + // The Amazon Resource Name (ARN) of the new SAML provider resource in IAM. SAMLProviderArn *string `min:"20" type:"string"` } @@ -5594,13 +11576,27 @@ type CreateUserInput struct { // The path for the user name. For more information about paths, see IAM Identifiers // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) - // in the Using IAM guide. + // in the IAM User Guide. // // This parameter is optional. If it is not included, it defaults to a slash // (/). + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of either a forward slash (/) by itself + // or a string that must begin and end with forward slashes, containing any + // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including + // most punctuation characters, digits, and upper and lowercased letters. Path *string `min:"1" type:"string"` // The name of the user to create. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@-. + // User names are not distinguished by case. For example, you cannot create + // users named both "TESTUSER" and "testuser". + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -5637,7 +11633,7 @@ func (s *CreateUserInput) Validate() error { type CreateUserOutput struct { _ struct{} `type:"structure"` - // Information about the user. + // A structure with details about the new IAM user. User *User `type:"structure"` } @@ -5656,14 +11652,26 @@ type CreateVirtualMFADeviceInput struct { // The path for the virtual MFA device. For more information about paths, see // IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) - // in the Using IAM guide. + // in the IAM User Guide. // // This parameter is optional. If it is not included, it defaults to a slash // (/). + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of either a forward slash (/) by itself + // or a string that must begin and end with forward slashes, containing any + // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including + // most punctuation characters, digits, and upper and lowercased letters. Path *string `min:"1" type:"string"` // The name of the virtual MFA device. Use with path to uniquely identify a // virtual MFA device. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // VirtualMFADeviceName is a required field VirtualMFADeviceName *string `min:"1" type:"string" required:"true"` } @@ -5700,7 +11708,9 @@ func (s *CreateVirtualMFADeviceInput) Validate() error { type CreateVirtualMFADeviceOutput struct { _ struct{} `type:"structure"` - // A newly created virtual MFA device. + // A structure containing details about the new virtual MFA device. + // + // VirtualMFADevice is a required field VirtualMFADevice *VirtualMFADevice `type:"structure" required:"true"` } @@ -5719,9 +11729,21 @@ type DeactivateMFADeviceInput struct { // The serial number that uniquely identifies the MFA device. For virtual MFA // devices, the serial number is the device ARN. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =/:,.@- + // + // SerialNumber is a required field SerialNumber *string `min:"9" type:"string" required:"true"` // The name of the user whose MFA device you want to deactivate. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -5776,9 +11798,19 @@ type DeleteAccessKeyInput struct { // The access key ID for the access key ID and secret access key you want to // delete. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters that can consist of any upper or lowercased letter + // or digit. + // + // AccessKeyId is a required field AccessKeyId *string `min:"16" type:"string" required:"true"` - // The name of the user whose key you want to delete. + // The name of the user whose access key pair you want to delete. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- UserName *string `min:"1" type:"string"` } @@ -5829,6 +11861,13 @@ type DeleteAccountAliasInput struct { _ struct{} `type:"structure"` // The name of the account alias to delete. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of lowercase letters, digits, and dashes. + // You cannot start or finish with a dash, nor can you have two dashes in a + // row. + // + // AccountAlias is a required field AccountAlias *string `min:"3" type:"string" required:"true"` } @@ -5903,7 +11942,13 @@ func (s DeleteAccountPasswordPolicyOutput) GoString() string { type DeleteGroupInput struct { _ struct{} `type:"structure"` - // The name of the group to delete. + // The name of the IAM group to delete. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // GroupName is a required field GroupName *string `min:"1" type:"string" required:"true"` } @@ -5952,9 +11997,21 @@ type DeleteGroupPolicyInput struct { // The name (friendly name, not ARN) identifying the group that the policy is // embedded in. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // GroupName is a required field GroupName *string `min:"1" type:"string" required:"true"` // The name identifying the policy document to delete. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` } @@ -6008,6 +12065,12 @@ type DeleteInstanceProfileInput struct { _ struct{} `type:"structure"` // The name of the instance profile to delete. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // InstanceProfileName is a required field InstanceProfileName *string `min:"1" type:"string" required:"true"` } @@ -6055,6 +12118,12 @@ type DeleteLoginProfileInput struct { _ struct{} `type:"structure"` // The name of the user whose password you want to delete. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -6101,9 +12170,11 @@ func (s DeleteLoginProfileOutput) GoString() string { type DeleteOpenIDConnectProviderInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the IAM OpenID Connect provider to delete. - // You can get a list of OpenID Connect provider ARNs by using the ListOpenIDConnectProviders - // action. + // The Amazon Resource Name (ARN) of the IAM OpenID Connect provider resource + // object to delete. You can get a list of OpenID Connect provider resource + // ARNs by using the ListOpenIDConnectProviders action. + // + // OpenIDConnectProviderArn is a required field OpenIDConnectProviderArn *string `min:"20" type:"string" required:"true"` } @@ -6150,11 +12221,13 @@ func (s DeleteOpenIDConnectProviderOutput) GoString() string { type DeletePolicyInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources. + // The Amazon Resource Name (ARN) of the IAM policy you want to delete. // - // For more information about ARNs, go to Amazon Resource Names (ARNs) and - // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS + // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // in the AWS General Reference. + // + // PolicyArn is a required field PolicyArn *string `min:"20" type:"string" required:"true"` } @@ -6201,18 +12274,28 @@ func (s DeletePolicyOutput) GoString() string { type DeletePolicyVersionInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources. + // The Amazon Resource Name (ARN) of the IAM policy from which you want to delete + // a version. // - // For more information about ARNs, go to Amazon Resource Names (ARNs) and - // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS + // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // in the AWS General Reference. + // + // PolicyArn is a required field PolicyArn *string `min:"20" type:"string" required:"true"` // The policy version to delete. // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters that consists of the lowercase letter 'v' followed + // by one or two digits, and optionally followed by a period '.' and a string + // of letters and digits. + // // For more information about managed policy versions, see Versioning for Managed // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html) // in the IAM User Guide. + // + // VersionId is a required field VersionId *string `type:"string" required:"true"` } @@ -6263,6 +12346,12 @@ type DeleteRoleInput struct { _ struct{} `type:"structure"` // The name of the role to delete. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // RoleName is a required field RoleName *string `min:"1" type:"string" required:"true"` } @@ -6309,11 +12398,23 @@ func (s DeleteRoleOutput) GoString() string { type DeleteRolePolicyInput struct { _ struct{} `type:"structure"` - // The name identifying the policy document to delete. + // The name of the inline policy to delete from the specified IAM role. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` // The name (friendly name, not ARN) identifying the role that the policy is // embedded in. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // RoleName is a required field RoleName *string `min:"1" type:"string" required:"true"` } @@ -6367,6 +12468,8 @@ type DeleteSAMLProviderInput struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the SAML provider to delete. + // + // SAMLProviderArn is a required field SAMLProviderArn *string `min:"20" type:"string" required:"true"` } @@ -6414,9 +12517,21 @@ type DeleteSSHPublicKeyInput struct { _ struct{} `type:"structure"` // The unique identifier for the SSH public key. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters that can consist of any upper or lowercased letter + // or digit. + // + // SSHPublicKeyId is a required field SSHPublicKeyId *string `min:"20" type:"string" required:"true"` // The name of the IAM user associated with the SSH public key. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -6470,6 +12585,12 @@ type DeleteServerCertificateInput struct { _ struct{} `type:"structure"` // The name of the server certificate you want to delete. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // ServerCertificateName is a required field ServerCertificateName *string `min:"1" type:"string" required:"true"` } @@ -6517,9 +12638,19 @@ type DeleteSigningCertificateInput struct { _ struct{} `type:"structure"` // The ID of the signing certificate to delete. + // + // The format of this parameter, as described by its regex (http://wikipedia.org/wiki/regex) + // pattern, is a string of characters that can be upper- or lower-cased letters + // or digits. + // + // CertificateId is a required field CertificateId *string `min:"24" type:"string" required:"true"` // The name of the user the signing certificate belongs to. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- UserName *string `min:"1" type:"string"` } @@ -6570,6 +12701,12 @@ type DeleteUserInput struct { _ struct{} `type:"structure"` // The name of the user to delete. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -6617,10 +12754,22 @@ type DeleteUserPolicyInput struct { _ struct{} `type:"structure"` // The name identifying the policy document to delete. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` // The name (friendly name, not ARN) identifying the user that the policy is // embedded in. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -6675,6 +12824,12 @@ type DeleteVirtualMFADeviceInput struct { // The serial number that uniquely identifies the MFA device. For virtual MFA // devices, the serial number is the same as the ARN. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =/:,.@- + // + // SerialNumber is a required field SerialNumber *string `min:"9" type:"string" required:"true"` } @@ -6721,14 +12876,22 @@ func (s DeleteVirtualMFADeviceOutput) GoString() string { type DetachGroupPolicyInput struct { _ struct{} `type:"structure"` - // The name (friendly name, not ARN) of the group to detach the policy from. + // The name (friendly name, not ARN) of the IAM group to detach the policy from. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // GroupName is a required field GroupName *string `min:"1" type:"string" required:"true"` - // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources. + // The Amazon Resource Name (ARN) of the IAM policy you want to detach. // - // For more information about ARNs, go to Amazon Resource Names (ARNs) and - // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS + // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // in the AWS General Reference. + // + // PolicyArn is a required field PolicyArn *string `min:"20" type:"string" required:"true"` } @@ -6781,14 +12944,22 @@ func (s DetachGroupPolicyOutput) GoString() string { type DetachRolePolicyInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources. + // The Amazon Resource Name (ARN) of the IAM policy you want to detach. // - // For more information about ARNs, go to Amazon Resource Names (ARNs) and - // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS + // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // in the AWS General Reference. + // + // PolicyArn is a required field PolicyArn *string `min:"20" type:"string" required:"true"` - // The name (friendly name, not ARN) of the role to detach the policy from. + // The name (friendly name, not ARN) of the IAM role to detach the policy from. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // RoleName is a required field RoleName *string `min:"1" type:"string" required:"true"` } @@ -6841,14 +13012,22 @@ func (s DetachRolePolicyOutput) GoString() string { type DetachUserPolicyInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources. + // The Amazon Resource Name (ARN) of the IAM policy you want to detach. // - // For more information about ARNs, go to Amazon Resource Names (ARNs) and - // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS + // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // in the AWS General Reference. + // + // PolicyArn is a required field PolicyArn *string `min:"20" type:"string" required:"true"` - // The name (friendly name, not ARN) of the user to detach the policy from. + // The name (friendly name, not ARN) of the IAM user to detach the policy from. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -6902,16 +13081,36 @@ type EnableMFADeviceInput struct { _ struct{} `type:"structure"` // An authentication code emitted by the device. + // + // The format for this parameter is a string of 6 digits. + // + // AuthenticationCode1 is a required field AuthenticationCode1 *string `min:"6" type:"string" required:"true"` // A subsequent authentication code emitted by the device. + // + // The format for this parameter is a string of 6 digits. + // + // AuthenticationCode2 is a required field AuthenticationCode2 *string `min:"6" type:"string" required:"true"` // The serial number that uniquely identifies the MFA device. For virtual MFA // devices, the serial number is the device ARN. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =/:,.@- + // + // SerialNumber is a required field SerialNumber *string `min:"9" type:"string" required:"true"` - // The name of the user for whom you want to enable the MFA device. + // The name of the IAM user for whom you want to enable the MFA device. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -6975,14 +13174,19 @@ func (s EnableMFADeviceOutput) GoString() string { // Contains the results of a simulation. // -// This data type is used by the return parameter of SimulatePolicy. +// This data type is used by the return parameter of SimulateCustomPolicy +// and SimulatePrincipalPolicy . type EvaluationResult struct { _ struct{} `type:"structure"` // The name of the API action tested on the indicated resource. + // + // EvalActionName is a required field EvalActionName *string `min:"3" type:"string" required:"true"` // The result of the simulation. + // + // EvalDecision is a required field EvalDecision *string `type:"string" required:"true" enum:"PolicyEvaluationDecisionType"` // Additional details about the results of the evaluation decision. When there @@ -7010,11 +13214,6 @@ type EvaluationResult struct { // missing context values are instead included under the ResourceSpecificResults // section. To discover the context keys used by a set of policies, you can // call GetContextKeysForCustomPolicy or GetContextKeysForPrincipalPolicy. - // - // If the response includes any keys in this list, then the reported results - // might be untrustworthy because the simulation could not completely evaluate - // all of the conditions specified in the policies that would occur in a real - // world request. MissingContextValues []*string `type:"list"` // The individual results of the simulation of the API action specified in EvalActionName @@ -7071,6 +13270,12 @@ type GetAccessKeyLastUsedInput struct { _ struct{} `type:"structure"` // The identifier of an access key. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters that can consist of any upper or lowercased letter + // or digit. + // + // AccessKeyId is a required field AccessKeyId *string `min:"16" type:"string" required:"true"` } @@ -7126,8 +13331,13 @@ func (s GetAccessKeyLastUsedOutput) GoString() string { type GetAccountAuthorizationDetailsInput struct { _ struct{} `type:"structure"` - // A list of entity types (user, group, role, local managed policy, or AWS managed - // policy) for filtering the results. + // A list of entity types used to filter the results. Only the entities that + // match the types you specify are included in the output. Use the value LocalManagedPolicy + // to include customer managed policies. + // + // The format for this parameter is a comma-separated (if more than one) list + // of strings. Each string value in the list must be one of the valid values + // listed below. Filter []*string `type:"list"` // Use this parameter only when paginating results and only after you receive @@ -7235,6 +13445,8 @@ type GetAccountPasswordPolicyOutput struct { // // This data type is used as a response element in the GetAccountPasswordPolicy // action. + // + // PasswordPolicy is a required field PasswordPolicy *PasswordPolicy `type:"structure" required:"true"` } @@ -7268,147 +13480,6 @@ type GetAccountSummaryOutput struct { // A set of key value pairs containing information about IAM entity usage and // IAM quotas. - // - // SummaryMap contains the following keys: AccessKeysPerUserQuota - // - // The maximum number of active access keys allowed for each IAM user. - // - // AccountAccessKeysPresent - // - // This value is 1 if the AWS account (root) has an access key, otherwise it - // is 0. - // - // AccountMFAEnabled - // - // This value is 1 if the AWS account (root) has an MFA device assigned, otherwise - // it is 0. - // - // AccountSigningCertificatesPresent - // - // This value is 1 if the AWS account (root) has a signing certificate, otherwise - // it is 0. - // - // AssumeRolePolicySizeQuota - // - // The maximum allowed size for assume role policy documents (trust policies), - // in non-whitespace characters. - // - // AttachedPoliciesPerGroupQuota - // - // The maximum number of managed policies that can be attached to an IAM group. - // - // AttachedPoliciesPerRoleQuota - // - // The maximum number of managed policies that can be attached to an IAM role. - // - // AttachedPoliciesPerUserQuota - // - // The maximum number of managed policies that can be attached to an IAM user. - // - // GroupPolicySizeQuota - // - // The maximum allowed size for the aggregate of all inline policies embedded - // in an IAM group, in non-whitespace characters. - // - // Groups - // - // The number of IAM groups in the AWS account. - // - // GroupsPerUserQuota - // - // The maximum number of IAM groups each IAM user can belong to. - // - // GroupsQuota - // - // The maximum number of IAM groups allowed in the AWS account. - // - // InstanceProfiles - // - // The number of instance profiles in the AWS account. - // - // InstanceProfilesQuota - // - // The maximum number of instance profiles allowed in the AWS account. - // - // MFADevices - // - // The number of MFA devices in the AWS account, including those assigned and - // unassigned. - // - // MFADevicesInUse - // - // The number of MFA devices that have been assigned to an IAM user or to the - // AWS account (root). - // - // Policies - // - // The number of customer managed policies in the AWS account. - // - // PoliciesQuota - // - // The maximum number of customer managed policies allowed in the AWS account. - // - // PolicySizeQuota - // - // The maximum allowed size of a customer managed policy, in non-whitespace - // characters. - // - // PolicyVersionsInUse - // - // The number of managed policies that are attached to IAM users, groups, or - // roles in the AWS account. - // - // PolicyVersionsInUseQuota - // - // The maximum number of managed policies that can be attached to IAM users, - // groups, or roles in the AWS account. - // - // Providers - // - // The number of identity providers in the AWS account. - // - // RolePolicySizeQuota - // - // The maximum allowed size for the aggregate of all inline policies (access - // policies, not the trust policy) embedded in an IAM role, in non-whitespace - // characters. - // - // Roles - // - // The number of IAM roles in the AWS account. - // - // RolesQuota - // - // The maximum number of IAM roles allowed in the AWS account. - // - // ServerCertificates - // - // The number of server certificates in the AWS account. - // - // ServerCertificatesQuota - // - // The maximum number of server certificates allowed in the AWS account. - // - // SigningCertificatesPerUserQuota - // - // The maximum number of X.509 signing certificates allowed for each IAM user. - // - // UserPolicySizeQuota - // - // The maximum allowed size for the aggregate of all inline policies embedded - // in an IAM user, in non-whitespace characters. - // - // Users - // - // The number of IAM users in the AWS account. - // - // UsersQuota - // - // The maximum number of IAM users allowed in the AWS account. - // - // VersionsPerPolicyQuota - // - // The maximum number of policy versions allowed for each managed policy. SummaryMap map[string]*int64 `type:"map"` } @@ -7425,9 +13496,17 @@ func (s GetAccountSummaryOutput) GoString() string { type GetContextKeysForCustomPolicyInput struct { _ struct{} `type:"structure"` - // A list of policies for which you want list of context keys used in Condition - // elements. Each document is specified as a string containing the complete, - // valid JSON text of an IAM policy. + // A list of policies for which you want the list of context keys referenced + // in those policies. Each document is specified as a string containing the + // complete, valid JSON text of an IAM policy. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of any printable ASCII character ranging + // from the space character (\u0020) through end of the ASCII character range + // (\u00FF). It also includes the special characters tab (\u0009), line feed + // (\u000A), and carriage return (\u000D). + // + // PolicyInputList is a required field PolicyInputList []*string `type:"list" required:"true"` } @@ -7459,8 +13538,7 @@ func (s *GetContextKeysForCustomPolicyInput) Validate() error { type GetContextKeysForPolicyResponse struct { _ struct{} `type:"structure"` - // The list of context keys that are used in the Condition elements of the input - // policies. + // The list of context keys that are referenced in the input policies. ContextKeyNames []*string `type:"list"` } @@ -7477,8 +13555,14 @@ func (s GetContextKeysForPolicyResponse) GoString() string { type GetContextKeysForPrincipalPolicyInput struct { _ struct{} `type:"structure"` - // A optional list of additional policies for which you want list of context - // keys used in Condition elements. + // An optional list of additional policies for which you want the list of context + // keys that are referenced. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of any printable ASCII character ranging + // from the space character (\u0020) through end of the ASCII character range + // (\u00FF). It also includes the special characters tab (\u0009), line feed + // (\u000A), and carriage return (\u000D). PolicyInputList []*string `type:"list"` // The ARN of a user, group, or role whose policies contain the context keys @@ -7488,6 +13572,12 @@ type GetContextKeysForPrincipalPolicyInput struct { // only those context keys that are found in policies attached to that entity. // Note that all parameters are shown in unencoded form here for clarity, but // must be URL encoded to be included as a part of a real HTML request. + // + // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS + // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + // + // PolicySourceArn is a required field PolicySourceArn *string `min:"20" type:"string" required:"true"` } @@ -7562,6 +13652,12 @@ type GetGroupInput struct { _ struct{} `type:"structure"` // The name of the group. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // GroupName is a required field GroupName *string `min:"1" type:"string" required:"true"` // Use this parameter only when paginating results and only after you receive @@ -7618,7 +13714,9 @@ func (s *GetGroupInput) Validate() error { type GetGroupOutput struct { _ struct{} `type:"structure"` - // Information about the group. + // A structure that contains details about the group. + // + // Group is a required field Group *Group `type:"structure" required:"true"` // A flag that indicates whether there are more items to return. If your results @@ -7634,6 +13732,8 @@ type GetGroupOutput struct { Marker *string `min:"1" type:"string"` // A list of users in the group. + // + // Users is a required field Users []*User `type:"list" required:"true"` } @@ -7651,9 +13751,21 @@ type GetGroupPolicyInput struct { _ struct{} `type:"structure"` // The name of the group the policy is associated with. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // GroupName is a required field GroupName *string `min:"1" type:"string" required:"true"` // The name of the policy document to get. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` } @@ -7694,12 +13806,18 @@ type GetGroupPolicyOutput struct { _ struct{} `type:"structure"` // The group the policy is associated with. + // + // GroupName is a required field GroupName *string `min:"1" type:"string" required:"true"` // The policy document. + // + // PolicyDocument is a required field PolicyDocument *string `min:"1" type:"string" required:"true"` // The name of the policy. + // + // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` } @@ -7717,6 +13835,12 @@ type GetInstanceProfileInput struct { _ struct{} `type:"structure"` // The name of the instance profile to get information about. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // InstanceProfileName is a required field InstanceProfileName *string `min:"1" type:"string" required:"true"` } @@ -7750,7 +13874,9 @@ func (s *GetInstanceProfileInput) Validate() error { type GetInstanceProfileOutput struct { _ struct{} `type:"structure"` - // Information about the instance profile. + // A structure containing details about the instance profile. + // + // InstanceProfile is a required field InstanceProfile *InstanceProfile `type:"structure" required:"true"` } @@ -7768,6 +13894,12 @@ type GetLoginProfileInput struct { _ struct{} `type:"structure"` // The name of the user whose login profile you want to retrieve. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -7801,7 +13933,9 @@ func (s *GetLoginProfileInput) Validate() error { type GetLoginProfileOutput struct { _ struct{} `type:"structure"` - // The user name and password create date for the user. + // A structure containing the user name and password create date for the user. + // + // LoginProfile is a required field LoginProfile *LoginProfile `type:"structure" required:"true"` } @@ -7818,9 +13952,15 @@ func (s GetLoginProfileOutput) GoString() string { type GetOpenIDConnectProviderInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the IAM OpenID Connect (OIDC) provider - // to get information for. You can get a list of OIDC provider ARNs by using - // the ListOpenIDConnectProviders action. + // The Amazon Resource Name (ARN) of the OIDC provider resource object in IAM + // to get information for. You can get a list of OIDC provider resource ARNs + // by using the ListOpenIDConnectProviders action. + // + // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS + // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + // + // OpenIDConnectProviderArn is a required field OpenIDConnectProviderArn *string `min:"20" type:"string" required:"true"` } @@ -7855,19 +13995,19 @@ type GetOpenIDConnectProviderOutput struct { _ struct{} `type:"structure"` // A list of client IDs (also known as audiences) that are associated with the - // specified IAM OpenID Connect provider. For more information, see CreateOpenIDConnectProvider. + // specified IAM OIDC provider resource object. For more information, see CreateOpenIDConnectProvider. ClientIDList []*string `type:"list"` - // The date and time when the IAM OpenID Connect provider entity was created + // The date and time when the IAM OIDC provider resource object was created // in the AWS account. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` // A list of certificate thumbprints that are associated with the specified - // IAM OpenID Connect provider. For more information, see CreateOpenIDConnectProvider. + // IAM OIDC provider resource object. For more information, see CreateOpenIDConnectProvider. ThumbprintList []*string `type:"list"` - // The URL that the IAM OpenID Connect provider is associated with. For more - // information, see CreateOpenIDConnectProvider. + // The URL that the IAM OIDC provider resource object is associated with. For + // more information, see CreateOpenIDConnectProvider. Url *string `min:"1" type:"string"` } @@ -7884,11 +14024,14 @@ func (s GetOpenIDConnectProviderOutput) GoString() string { type GetPolicyInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources. + // The Amazon Resource Name (ARN) of the managed policy that you want information + // about. // - // For more information about ARNs, go to Amazon Resource Names (ARNs) and - // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS + // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // in the AWS General Reference. + // + // PolicyArn is a required field PolicyArn *string `min:"20" type:"string" required:"true"` } @@ -7922,7 +14065,7 @@ func (s *GetPolicyInput) Validate() error { type GetPolicyOutput struct { _ struct{} `type:"structure"` - // Information about the policy. + // A structure containing details about the policy. Policy *Policy `type:"structure"` } @@ -7939,14 +14082,24 @@ func (s GetPolicyOutput) GoString() string { type GetPolicyVersionInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources. + // The Amazon Resource Name (ARN) of the managed policy that you want information + // about. // - // For more information about ARNs, go to Amazon Resource Names (ARNs) and - // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS + // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // in the AWS General Reference. + // + // PolicyArn is a required field PolicyArn *string `min:"20" type:"string" required:"true"` // Identifies the policy version to retrieve. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters that consists of the lowercase letter 'v' followed + // by one or two digits, and optionally followed by a period '.' and a string + // of letters and digits. + // + // VersionId is a required field VersionId *string `type:"string" required:"true"` } @@ -7983,11 +14136,7 @@ func (s *GetPolicyVersionInput) Validate() error { type GetPolicyVersionOutput struct { _ struct{} `type:"structure"` - // Information about the policy version. - // - // For more information about managed policy versions, see Versioning for Managed - // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html) - // in the IAM User Guide. + // A structure containing details about the policy version. PolicyVersion *PolicyVersion `type:"structure"` } @@ -8004,7 +14153,13 @@ func (s GetPolicyVersionOutput) GoString() string { type GetRoleInput struct { _ struct{} `type:"structure"` - // The name of the role to get information about. + // The name of the IAM role to get information about. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // RoleName is a required field RoleName *string `min:"1" type:"string" required:"true"` } @@ -8038,7 +14193,9 @@ func (s *GetRoleInput) Validate() error { type GetRoleOutput struct { _ struct{} `type:"structure"` - // Information about the role. + // A structure containing details about the IAM role. + // + // Role is a required field Role *Role `type:"structure" required:"true"` } @@ -8056,9 +14213,21 @@ type GetRolePolicyInput struct { _ struct{} `type:"structure"` // The name of the policy document to get. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` // The name of the role associated with the policy. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // RoleName is a required field RoleName *string `min:"1" type:"string" required:"true"` } @@ -8099,12 +14268,18 @@ type GetRolePolicyOutput struct { _ struct{} `type:"structure"` // The policy document. + // + // PolicyDocument is a required field PolicyDocument *string `min:"1" type:"string" required:"true"` // The name of the policy. + // + // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` // The role the policy is associated with. + // + // RoleName is a required field RoleName *string `min:"1" type:"string" required:"true"` } @@ -8121,7 +14296,14 @@ func (s GetRolePolicyOutput) GoString() string { type GetSAMLProviderInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the SAML provider to get information about. + // The Amazon Resource Name (ARN) of the SAML provider resource object in IAM + // to get information about. + // + // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS + // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + // + // SAMLProviderArn is a required field SAMLProviderArn *string `min:"20" type:"string" required:"true"` } @@ -8181,12 +14363,26 @@ type GetSSHPublicKeyInput struct { // Specifies the public key encoding format to use in the response. To retrieve // the public key in ssh-rsa format, use SSH. To retrieve the public key in // PEM format, use PEM. + // + // Encoding is a required field Encoding *string `type:"string" required:"true" enum:"encodingType"` // The unique identifier for the SSH public key. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters that can consist of any upper or lowercased letter + // or digit. + // + // SSHPublicKeyId is a required field SSHPublicKeyId *string `min:"20" type:"string" required:"true"` // The name of the IAM user associated with the SSH public key. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -8229,7 +14425,7 @@ func (s *GetSSHPublicKeyInput) Validate() error { type GetSSHPublicKeyOutput struct { _ struct{} `type:"structure"` - // Information about the SSH public key. + // A structure containing details about the SSH public key. SSHPublicKey *SSHPublicKey `type:"structure"` } @@ -8247,6 +14443,12 @@ type GetServerCertificateInput struct { _ struct{} `type:"structure"` // The name of the server certificate you want to retrieve information about. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // ServerCertificateName is a required field ServerCertificateName *string `min:"1" type:"string" required:"true"` } @@ -8280,7 +14482,9 @@ func (s *GetServerCertificateInput) Validate() error { type GetServerCertificateOutput struct { _ struct{} `type:"structure"` - // Information about the server certificate. + // A structure containing details about the server certificate. + // + // ServerCertificate is a required field ServerCertificate *ServerCertificate `type:"structure" required:"true"` } @@ -8300,7 +14504,10 @@ type GetUserInput struct { // The name of the user to get information about. // // This parameter is optional. If it is not included, it defaults to the user - // making the request. + // making the request. The regex pattern (http://wikipedia.org/wiki/regex) for + // this parameter is a string of characters consisting of upper and lowercase + // alphanumeric characters with no spaces. You can also include any of the following + // characters: =,.@- UserName *string `min:"1" type:"string"` } @@ -8331,7 +14538,9 @@ func (s *GetUserInput) Validate() error { type GetUserOutput struct { _ struct{} `type:"structure"` - // Information about the user. + // A structure containing details about the IAM user. + // + // User is a required field User *User `type:"structure" required:"true"` } @@ -8349,9 +14558,21 @@ type GetUserPolicyInput struct { _ struct{} `type:"structure"` // The name of the policy document to get. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` // The name of the user who the policy is associated with. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -8392,12 +14613,18 @@ type GetUserPolicyOutput struct { _ struct{} `type:"structure"` // The policy document. + // + // PolicyDocument is a required field PolicyDocument *string `min:"1" type:"string" required:"true"` // The name of the policy. + // + // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` // The user the policy is associated with. + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -8413,32 +14640,46 @@ func (s GetUserPolicyOutput) GoString() string { // Contains information about an IAM group entity. // -// This data type is used as a response element in the following actions: +// This data type is used as a response element in the following actions: +// +// CreateGroup // -// CreateGroup GetGroup ListGroups +// GetGroup +// +// ListGroups type Group struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) specifying the group. For more information // about ARNs and how to use them in policies, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) // in the Using IAM guide. + // + // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), // when the group was created. + // + // CreateDate is a required field CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // The stable and unique string identifying the group. For more information // about IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) // in the Using IAM guide. + // + // GroupId is a required field GroupId *string `min:"16" type:"string" required:"true"` // The friendly name that identifies the group. + // + // GroupName is a required field GroupName *string `min:"1" type:"string" required:"true"` // The path to the group. For more information about paths, see IAM Identifiers // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) // in the Using IAM guide. + // + // Path is a required field Path *string `min:"1" type:"string" required:"true"` } @@ -8518,25 +14759,37 @@ type InstanceProfile struct { // information about ARNs and how to use them in policies, see IAM Identifiers // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) // in the Using IAM guide. + // + // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` // The date when the instance profile was created. + // + // CreateDate is a required field CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // The stable and unique string identifying the instance profile. For more information // about IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) // in the Using IAM guide. + // + // InstanceProfileId is a required field InstanceProfileId *string `min:"16" type:"string" required:"true"` // The name identifying the instance profile. + // + // InstanceProfileName is a required field InstanceProfileName *string `min:"1" type:"string" required:"true"` // The path to the instance profile. For more information about paths, see IAM // Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) // in the Using IAM guide. + // + // Path is a required field Path *string `min:"1" type:"string" required:"true"` // The role associated with the instance profile. + // + // Roles is a required field Roles []*Role `type:"list" required:"true"` } @@ -8571,6 +14824,10 @@ type ListAccessKeysInput struct { MaxItems *int64 `min:"1" type:"integer"` // The name of the user. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- UserName *string `min:"1" type:"string"` } @@ -8607,7 +14864,9 @@ func (s *ListAccessKeysInput) Validate() error { type ListAccessKeysOutput struct { _ struct{} `type:"structure"` - // A list of access key metadata. + // A list of objects containing metadata about the access keys. + // + // AccessKeyMetadata is a required field AccessKeyMetadata []*AccessKeyMetadata `type:"list" required:"true"` // A flag that indicates whether there are more items to return. If your results @@ -8686,6 +14945,8 @@ type ListAccountAliasesOutput struct { // A list of aliases associated with the account. AWS supports only one alias // per account. + // + // AccountAliases is a required field AccountAliases []*string `type:"list" required:"true"` // A flag that indicates whether there are more items to return. If your results @@ -8716,6 +14977,12 @@ type ListAttachedGroupPoliciesInput struct { // The name (friendly name, not ARN) of the group to list attached policies // for. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // GroupName is a required field GroupName *string `min:"1" type:"string" required:"true"` // Use this parameter only when paginating results and only after you receive @@ -8737,6 +15004,12 @@ type ListAttachedGroupPoliciesInput struct { // The path prefix for filtering the results. This parameter is optional. If // it is not included, it defaults to a slash (/), listing all policies. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of either a forward slash (/) by itself + // or a string that must begin and end with forward slashes, containing any + // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including + // most punctuation characters, digits, and upper and lowercased letters. PathPrefix *string `type:"string"` } @@ -8824,9 +15097,21 @@ type ListAttachedRolePoliciesInput struct { // The path prefix for filtering the results. This parameter is optional. If // it is not included, it defaults to a slash (/), listing all policies. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of either a forward slash (/) by itself + // or a string that must begin and end with forward slashes, containing any + // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including + // most punctuation characters, digits, and upper and lowercased letters. PathPrefix *string `type:"string"` // The name (friendly name, not ARN) of the role to list attached policies for. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // RoleName is a required field RoleName *string `min:"1" type:"string" required:"true"` } @@ -8914,9 +15199,21 @@ type ListAttachedUserPoliciesInput struct { // The path prefix for filtering the results. This parameter is optional. If // it is not included, it defaults to a slash (/), listing all policies. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of either a forward slash (/) by itself + // or a string that must begin and end with forward slashes, containing any + // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including + // most punctuation characters, digits, and upper and lowercased letters. PathPrefix *string `type:"string"` // The name (friendly name, not ARN) of the user to list attached policies for. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -8990,6 +15287,7 @@ type ListEntitiesForPolicyInput struct { // For example, when EntityFilter is Role, only the roles that are attached // to the specified policy are returned. This parameter is optional. If it is // not included, all attached entities (users, groups, and roles) are returned. + // The argument for this parameter must be one of the valid values listed below. EntityFilter *string `type:"string" enum:"EntityType"` // Use this parameter only when paginating results and only after you receive @@ -9011,13 +15309,21 @@ type ListEntitiesForPolicyInput struct { // The path prefix for filtering the results. This parameter is optional. If // it is not included, it defaults to a slash (/), listing all entities. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of either a forward slash (/) by itself + // or a string that must begin and end with forward slashes, containing any + // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including + // most punctuation characters, digits, and upper and lowercased letters. PathPrefix *string `min:"1" type:"string"` - // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources. + // The Amazon Resource Name (ARN) of the IAM policy for which you want the versions. // - // For more information about ARNs, go to Amazon Resource Names (ARNs) and - // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS + // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // in the AWS General Reference. + // + // PolicyArn is a required field PolicyArn *string `min:"20" type:"string" required:"true"` } @@ -9072,13 +15378,13 @@ type ListEntitiesForPolicyOutput struct { // to use for the Marker parameter in a subsequent pagination request. Marker *string `min:"1" type:"string"` - // A list of groups that the policy is attached to. + // A list of IAM groups that the policy is attached to. PolicyGroups []*PolicyGroup `type:"list"` - // A list of roles that the policy is attached to. + // A list of IAM roles that the policy is attached to. PolicyRoles []*PolicyRole `type:"list"` - // A list of users that the policy is attached to. + // A list of IAM users that the policy is attached to. PolicyUsers []*PolicyUser `type:"list"` } @@ -9096,6 +15402,12 @@ type ListGroupPoliciesInput struct { _ struct{} `type:"structure"` // The name of the group to list policies for. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // GroupName is a required field GroupName *string `min:"1" type:"string" required:"true"` // Use this parameter only when paginating results and only after you receive @@ -9165,6 +15477,8 @@ type ListGroupPoliciesOutput struct { Marker *string `min:"1" type:"string"` // A list of policy names. + // + // PolicyNames is a required field PolicyNames []*string `type:"list" required:"true"` } @@ -9199,6 +15513,12 @@ type ListGroupsForUserInput struct { MaxItems *int64 `min:"1" type:"integer"` // The name of the user to list groups for. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -9239,6 +15559,8 @@ type ListGroupsForUserOutput struct { _ struct{} `type:"structure"` // A list of groups. + // + // Groups is a required field Groups []*Group `type:"list" required:"true"` // A flag that indicates whether there are more items to return. If your results @@ -9287,8 +15609,13 @@ type ListGroupsInput struct { // The path prefix for filtering the results. For example, the prefix /division_abc/subdivision_xyz/ // gets all groups whose path starts with /division_abc/subdivision_xyz/. // - // This parameter is optional. If it is not included, it defaults to a slash - // (/), listing all groups. + // This parameter is optional. If it is not included, it defaults to a slash + // (/), listing all groups. The regex pattern (http://wikipedia.org/wiki/regex) + // for this parameter is a string of characters consisting of either a forward + // slash (/) by itself or a string that must begin and end with forward slashes, + // containing any ASCII character from the ! (\u0021) thru the DEL character + // (\u007F), including most punctuation characters, digits, and upper and lowercased + // letters. PathPrefix *string `min:"1" type:"string"` } @@ -9326,6 +15653,8 @@ type ListGroupsOutput struct { _ struct{} `type:"structure"` // A list of groups. + // + // Groups is a required field Groups []*Group `type:"list" required:"true"` // A flag that indicates whether there are more items to return. If your results @@ -9372,6 +15701,12 @@ type ListInstanceProfilesForRoleInput struct { MaxItems *int64 `min:"1" type:"integer"` // The name of the role to list instance profiles for. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // RoleName is a required field RoleName *string `min:"1" type:"string" required:"true"` } @@ -9412,6 +15747,8 @@ type ListInstanceProfilesForRoleOutput struct { _ struct{} `type:"structure"` // A list of instance profiles. + // + // InstanceProfiles is a required field InstanceProfiles []*InstanceProfile `type:"list" required:"true"` // A flag that indicates whether there are more items to return. If your results @@ -9460,8 +15797,13 @@ type ListInstanceProfilesInput struct { // The path prefix for filtering the results. For example, the prefix /application_abc/component_xyz/ // gets all instance profiles whose path starts with /application_abc/component_xyz/. // - // This parameter is optional. If it is not included, it defaults to a slash - // (/), listing all instance profiles. + // This parameter is optional. If it is not included, it defaults to a slash + // (/), listing all instance profiles. The regex pattern (http://wikipedia.org/wiki/regex) + // for this parameter is a string of characters consisting of either a forward + // slash (/) by itself or a string that must begin and end with forward slashes, + // containing any ASCII character from the ! (\u0021) thru the DEL character + // (\u007F), including most punctuation characters, digits, and upper and lowercased + // letters. PathPrefix *string `min:"1" type:"string"` } @@ -9499,6 +15841,8 @@ type ListInstanceProfilesOutput struct { _ struct{} `type:"structure"` // A list of instance profiles. + // + // InstanceProfiles is a required field InstanceProfiles []*InstanceProfile `type:"list" required:"true"` // A flag that indicates whether there are more items to return. If your results @@ -9545,6 +15889,10 @@ type ListMFADevicesInput struct { MaxItems *int64 `min:"1" type:"integer"` // The name of the user whose MFA devices you want to list. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- UserName *string `min:"1" type:"string"` } @@ -9590,6 +15938,8 @@ type ListMFADevicesOutput struct { IsTruncated *bool `type:"boolean"` // A list of MFA devices. + // + // MFADevices is a required field MFADevices []*MFADevice `type:"list" required:"true"` // When IsTruncated is true, this element is present and contains the value @@ -9625,7 +15975,7 @@ func (s ListOpenIDConnectProvidersInput) GoString() string { type ListOpenIDConnectProvidersOutput struct { _ struct{} `type:"structure"` - // The list of IAM OpenID Connect providers in the AWS account. + // The list of IAM OIDC provider resource objects defined in the AWS account. OpenIDConnectProviderList []*OpenIDConnectProviderListEntry `type:"list"` } @@ -9662,12 +16012,17 @@ type ListPoliciesInput struct { // A flag to filter the results to only the attached policies. // // When OnlyAttached is true, the returned list contains only the policies - // that are attached to a user, group, or role. When OnlyAttached is false, + // that are attached to an IAM user, group, or role. When OnlyAttached is false, // or when the parameter is not included, all policies are returned. OnlyAttached *bool `type:"boolean"` // The path prefix for filtering the results. This parameter is optional. If - // it is not included, it defaults to a slash (/), listing all policies. + // it is not included, it defaults to a slash (/), listing all policies. The + // regex pattern (http://wikipedia.org/wiki/regex) for this parameter is a string + // of characters consisting of either a forward slash (/) by itself or a string + // that must begin and end with forward slashes, containing any ASCII character + // from the ! (\u0021) thru the DEL character (\u007F), including most punctuation + // characters, digits, and upper and lowercased letters. PathPrefix *string `type:"string"` // The scope to use for filtering the results. @@ -9756,11 +16111,13 @@ type ListPolicyVersionsInput struct { // service where to continue from. MaxItems *int64 `min:"1" type:"integer"` - // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources. + // The Amazon Resource Name (ARN) of the IAM policy for which you want the versions. // - // For more information about ARNs, go to Amazon Resource Names (ARNs) and - // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS + // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // in the AWS General Reference. + // + // PolicyArn is a required field PolicyArn *string `min:"20" type:"string" required:"true"` } @@ -9851,6 +16208,12 @@ type ListRolePoliciesInput struct { MaxItems *int64 `min:"1" type:"integer"` // The name of the role to list policies for. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // RoleName is a required field RoleName *string `min:"1" type:"string" required:"true"` } @@ -9903,6 +16266,8 @@ type ListRolePoliciesOutput struct { Marker *string `min:"1" type:"string"` // A list of policy names. + // + // PolicyNames is a required field PolicyNames []*string `type:"list" required:"true"` } @@ -9939,8 +16304,13 @@ type ListRolesInput struct { // The path prefix for filtering the results. For example, the prefix /application_abc/component_xyz/ // gets all roles whose path starts with /application_abc/component_xyz/. // - // This parameter is optional. If it is not included, it defaults to a slash - // (/), listing all roles. + // This parameter is optional. If it is not included, it defaults to a slash + // (/), listing all roles. The regex pattern (http://wikipedia.org/wiki/regex) + // for this parameter is a string of characters consisting of either a forward + // slash (/) by itself or a string that must begin and end with forward slashes, + // containing any ASCII character from the ! (\u0021) thru the DEL character + // (\u007F), including most punctuation characters, digits, and upper and lowercased + // letters. PathPrefix *string `min:"1" type:"string"` } @@ -9990,6 +16360,8 @@ type ListRolesOutput struct { Marker *string `min:"1" type:"string"` // A list of roles. + // + // Roles is a required field Roles []*Role `type:"list" required:"true"` } @@ -10021,7 +16393,7 @@ func (s ListSAMLProvidersInput) GoString() string { type ListSAMLProvidersOutput struct { _ struct{} `type:"structure"` - // The list of SAML providers for this account. + // The list of SAML provider resource objects defined in IAM for this AWS account. SAMLProviderList []*SAMLProviderListEntry `type:"list"` } @@ -10058,6 +16430,10 @@ type ListSSHPublicKeysInput struct { // The name of the IAM user to list SSH public keys for. If none is specified, // the UserName field is determined implicitly based on the AWS access key used // to sign the request. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- UserName *string `min:"1" type:"string"` } @@ -10106,7 +16482,7 @@ type ListSSHPublicKeysOutput struct { // to use for the Marker parameter in a subsequent pagination request. Marker *string `min:"1" type:"string"` - // A list of SSH public keys. + // A list of the SSH public keys assigned to IAM user. SSHPublicKeys []*SSHPublicKeyMetadata `type:"list"` } @@ -10143,8 +16519,13 @@ type ListServerCertificatesInput struct { // The path prefix for filtering the results. For example: /company/servercerts // would get all server certificates for which the path starts with /company/servercerts. // - // This parameter is optional. If it is not included, it defaults to a slash - // (/), listing all server certificates. + // This parameter is optional. If it is not included, it defaults to a slash + // (/), listing all server certificates. The regex pattern (http://wikipedia.org/wiki/regex) + // for this parameter is a string of characters consisting of either a forward + // slash (/) by itself or a string that must begin and end with forward slashes, + // containing any ASCII character from the ! (\u0021) thru the DEL character + // (\u007F), including most punctuation characters, digits, and upper and lowercased + // letters. PathPrefix *string `min:"1" type:"string"` } @@ -10194,6 +16575,8 @@ type ListServerCertificatesOutput struct { Marker *string `min:"1" type:"string"` // A list of server certificates. + // + // ServerCertificateMetadataList is a required field ServerCertificateMetadataList []*ServerCertificateMetadata `type:"list" required:"true"` } @@ -10227,7 +16610,11 @@ type ListSigningCertificatesInput struct { // service where to continue from. MaxItems *int64 `min:"1" type:"integer"` - // The name of the user. + // The name of the IAM user whose signing certificates you want to examine. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- UserName *string `min:"1" type:"string"` } @@ -10265,6 +16652,8 @@ type ListSigningCertificatesOutput struct { _ struct{} `type:"structure"` // A list of the user's signing certificate information. + // + // Certificates is a required field Certificates []*SigningCertificate `type:"list" required:"true"` // A flag that indicates whether there are more items to return. If your results @@ -10311,6 +16700,12 @@ type ListUserPoliciesInput struct { MaxItems *int64 `min:"1" type:"integer"` // The name of the user to list policies for. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -10363,6 +16758,8 @@ type ListUserPoliciesOutput struct { Marker *string `min:"1" type:"string"` // A list of policy names. + // + // PolicyNames is a required field PolicyNames []*string `type:"list" required:"true"` } @@ -10399,8 +16796,13 @@ type ListUsersInput struct { // The path prefix for filtering the results. For example: /division_abc/subdivision_xyz/, // which would get all user names whose path starts with /division_abc/subdivision_xyz/. // - // This parameter is optional. If it is not included, it defaults to a slash - // (/), listing all user names. + // This parameter is optional. If it is not included, it defaults to a slash + // (/), listing all user names. The regex pattern (http://wikipedia.org/wiki/regex) + // for this parameter is a string of characters consisting of either a forward + // slash (/) by itself or a string that must begin and end with forward slashes, + // containing any ASCII character from the ! (\u0021) thru the DEL character + // (\u007F), including most punctuation characters, digits, and upper and lowercased + // letters. PathPrefix *string `min:"1" type:"string"` } @@ -10450,6 +16852,8 @@ type ListUsersOutput struct { Marker *string `min:"1" type:"string"` // A list of users. + // + // Users is a required field Users []*User `type:"list" required:"true"` } @@ -10466,7 +16870,7 @@ func (s ListUsersOutput) GoString() string { type ListVirtualMFADevicesInput struct { _ struct{} `type:"structure"` - // The status (unassigned or assigned) of the devices to list. If you do not + // The status (Unassigned or Assigned) of the devices to list. If you do not // specify an AssignmentStatus, the action defaults to Any which lists both // assigned and unassigned virtual MFA devices. AssignmentStatus *string `type:"string" enum:"assignmentStatusType"` @@ -10533,6 +16937,8 @@ type ListVirtualMFADevicesOutput struct { // The list of virtual MFA devices in the current account that match the AssignmentStatus // value that was passed in the request. + // + // VirtualMFADevices is a required field VirtualMFADevices []*VirtualMFADevice `type:"list" required:"true"` } @@ -10554,6 +16960,8 @@ type LoginProfile struct { _ struct{} `type:"structure"` // The date when the password for the user was created. + // + // CreateDate is a required field CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // Specifies whether the user is required to set a new password on next sign-in. @@ -10561,6 +16969,8 @@ type LoginProfile struct { // The name of the user, which can be used for signing in to the AWS Management // Console. + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -10581,13 +16991,19 @@ type MFADevice struct { _ struct{} `type:"structure"` // The date when the MFA device was enabled for the user. + // + // EnableDate is a required field EnableDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // The serial number that uniquely identifies the MFA device. For virtual MFA // devices, the serial number is the device ARN. + // + // SerialNumber is a required field SerialNumber *string `min:"9" type:"string" required:"true"` // The user with whom the MFA device is associated. + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -10988,7 +17404,7 @@ func (s PolicyVersion) GoString() string { // Contains the row and column of a location of a Statement element in a policy // document. // -// This data type is used as a member of the Statement type. +// This data type is used as a member of the Statement type. type Position struct { _ struct{} `type:"structure"` @@ -11013,12 +17429,32 @@ type PutGroupPolicyInput struct { _ struct{} `type:"structure"` // The name of the group to associate the policy with. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // GroupName is a required field GroupName *string `min:"1" type:"string" required:"true"` // The policy document. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of any printable ASCII character ranging + // from the space character (\u0020) through end of the ASCII character range + // (\u00FF). It also includes the special characters tab (\u0009), line feed + // (\u000A), and carriage return (\u000D). + // + // PolicyDocument is a required field PolicyDocument *string `min:"1" type:"string" required:"true"` // The name of the policy document. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` } @@ -11078,12 +17514,32 @@ type PutRolePolicyInput struct { _ struct{} `type:"structure"` // The policy document. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of any printable ASCII character ranging + // from the space character (\u0020) through end of the ASCII character range + // (\u00FF). It also includes the special characters tab (\u0009), line feed + // (\u000A), and carriage return (\u000D). + // + // PolicyDocument is a required field PolicyDocument *string `min:"1" type:"string" required:"true"` // The name of the policy document. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` // The name of the role to associate the policy with. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // RoleName is a required field RoleName *string `min:"1" type:"string" required:"true"` } @@ -11143,12 +17599,32 @@ type PutUserPolicyInput struct { _ struct{} `type:"structure"` // The policy document. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of any printable ASCII character ranging + // from the space character (\u0020) through end of the ASCII character range + // (\u00FF). It also includes the special characters tab (\u0009), line feed + // (\u000A), and carriage return (\u000D). + // + // PolicyDocument is a required field PolicyDocument *string `min:"1" type:"string" required:"true"` // The name of the policy document. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` // The name of the user to associate the policy with. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -11207,13 +17683,21 @@ func (s PutUserPolicyOutput) GoString() string { type RemoveClientIDFromOpenIDConnectProviderInput struct { _ struct{} `type:"structure"` - // The client ID (also known as audience) to remove from the IAM OpenID Connect - // provider. For more information about client IDs, see CreateOpenIDConnectProvider. + // The client ID (also known as audience) to remove from the IAM OIDC provider + // resource. For more information about client IDs, see CreateOpenIDConnectProvider. + // + // ClientID is a required field ClientID *string `min:"1" type:"string" required:"true"` - // The Amazon Resource Name (ARN) of the IAM OpenID Connect (OIDC) provider - // to remove the client ID from. You can get a list of OIDC provider ARNs by - // using the ListOpenIDConnectProviders action. + // The Amazon Resource Name (ARN) of the IAM OIDC provider resource to remove + // the client ID from. You can get a list of OIDC provider ARNs by using the + // ListOpenIDConnectProviders action. + // + // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS + // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + // + // OpenIDConnectProviderArn is a required field OpenIDConnectProviderArn *string `min:"20" type:"string" required:"true"` } @@ -11267,9 +17751,21 @@ type RemoveRoleFromInstanceProfileInput struct { _ struct{} `type:"structure"` // The name of the instance profile to update. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // InstanceProfileName is a required field InstanceProfileName *string `min:"1" type:"string" required:"true"` // The name of the role to remove. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // RoleName is a required field RoleName *string `min:"1" type:"string" required:"true"` } @@ -11323,9 +17819,21 @@ type RemoveUserFromGroupInput struct { _ struct{} `type:"structure"` // The name of the group to update. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // GroupName is a required field GroupName *string `min:"1" type:"string" required:"true"` // The name of the user to remove. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -11391,9 +17899,13 @@ type ResourceSpecificResult struct { // The result of the simulation of the simulated API action on the resource // specified in EvalResourceName. + // + // EvalResourceDecision is a required field EvalResourceDecision *string `type:"string" required:"true" enum:"PolicyEvaluationDecisionType"` // The name of the simulated resource, in Amazon Resource Name (ARN) format. + // + // EvalResourceName is a required field EvalResourceName *string `min:"1" type:"string" required:"true"` // A list of the statements in the input policies that determine the result @@ -11428,15 +17940,35 @@ type ResyncMFADeviceInput struct { _ struct{} `type:"structure"` // An authentication code emitted by the device. + // + // The format for this parameter is a sequence of six digits. + // + // AuthenticationCode1 is a required field AuthenticationCode1 *string `min:"6" type:"string" required:"true"` // A subsequent authentication code emitted by the device. + // + // The format for this parameter is a sequence of six digits. + // + // AuthenticationCode2 is a required field AuthenticationCode2 *string `min:"6" type:"string" required:"true"` // Serial number that uniquely identifies the MFA device. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // SerialNumber is a required field SerialNumber *string `min:"9" type:"string" required:"true"` // The name of the user whose MFA device you want to resynchronize. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -11500,7 +18032,7 @@ func (s ResyncMFADeviceOutput) GoString() string { // Contains information about an IAM role. // -// This data type is used as a response element in the following actions: +// This data type is used as a response element in the following actions: // // CreateRole // @@ -11513,6 +18045,8 @@ type Role struct { // The Amazon Resource Name (ARN) specifying the role. For more information // about ARNs and how to use them in policies, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) // in the Using IAM guide. + // + // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` // The policy that grants an entity permission to assume the role. @@ -11520,19 +18054,27 @@ type Role struct { // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), // when the role was created. + // + // CreateDate is a required field CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // The path to the role. For more information about paths, see IAM Identifiers // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) // in the Using IAM guide. + // + // Path is a required field Path *string `min:"1" type:"string" required:"true"` // The stable and unique string identifying the role. For more information about // IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) // in the Using IAM guide. + // + // RoleId is a required field RoleId *string `min:"16" type:"string" required:"true"` // The friendly name that identifies the role. + // + // RoleName is a required field RoleName *string `min:"1" type:"string" required:"true"` } @@ -11634,16 +18176,24 @@ type SSHPublicKey struct { _ struct{} `type:"structure"` // The MD5 message digest of the SSH public key. + // + // Fingerprint is a required field Fingerprint *string `min:"48" type:"string" required:"true"` // The SSH public key. + // + // SSHPublicKeyBody is a required field SSHPublicKeyBody *string `min:"1" type:"string" required:"true"` // The unique identifier for the SSH public key. + // + // SSHPublicKeyId is a required field SSHPublicKeyId *string `min:"20" type:"string" required:"true"` // The status of the SSH public key. Active means the key can be used for authentication // with an AWS CodeCommit repository. Inactive means the key cannot be used. + // + // Status is a required field Status *string `type:"string" required:"true" enum:"statusType"` // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), @@ -11651,6 +18201,8 @@ type SSHPublicKey struct { UploadDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` // The name of the IAM user associated with the SSH public key. + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -11671,17 +18223,25 @@ type SSHPublicKeyMetadata struct { _ struct{} `type:"structure"` // The unique identifier for the SSH public key. + // + // SSHPublicKeyId is a required field SSHPublicKeyId *string `min:"20" type:"string" required:"true"` // The status of the SSH public key. Active means the key can be used for authentication // with an AWS CodeCommit repository. Inactive means the key cannot be used. + // + // Status is a required field Status *string `type:"string" required:"true" enum:"statusType"` // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), // when the SSH public key was uploaded. + // + // UploadDate is a required field UploadDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // The name of the IAM user associated with the SSH public key. + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -11703,6 +18263,8 @@ type ServerCertificate struct { _ struct{} `type:"structure"` // The contents of the public key certificate. + // + // CertificateBody is a required field CertificateBody *string `min:"1" type:"string" required:"true"` // The contents of the public key certificate chain. @@ -11710,6 +18272,8 @@ type ServerCertificate struct { // The meta information of the server certificate, such as its name, path, ID, // and ARN. + // + // ServerCertificateMetadata is a required field ServerCertificateMetadata *ServerCertificateMetadata `type:"structure" required:"true"` } @@ -11735,6 +18299,8 @@ type ServerCertificateMetadata struct { // information about ARNs and how to use them in policies, see IAM Identifiers // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) // in the Using IAM guide. + // + // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` // The date on which the certificate is set to expire. @@ -11743,14 +18309,20 @@ type ServerCertificateMetadata struct { // The path to the server certificate. For more information about paths, see // IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) // in the Using IAM guide. + // + // Path is a required field Path *string `min:"1" type:"string" required:"true"` // The stable and unique string identifying the server certificate. For more // information about IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) // in the Using IAM guide. + // + // ServerCertificateId is a required field ServerCertificateId *string `min:"16" type:"string" required:"true"` // The name that identifies the server certificate. + // + // ServerCertificateName is a required field ServerCertificateName *string `min:"1" type:"string" required:"true"` // The date when the server certificate was uploaded. @@ -11770,11 +18342,14 @@ func (s ServerCertificateMetadata) GoString() string { type SetDefaultPolicyVersionInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources. + // The Amazon Resource Name (ARN) of the IAM policy whose default version you + // want to set. // - // For more information about ARNs, go to Amazon Resource Names (ARNs) and - // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS + // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // in the AWS General Reference. + // + // PolicyArn is a required field PolicyArn *string `min:"20" type:"string" required:"true"` // The version of the policy to set as the default (operative) version. @@ -11782,6 +18357,8 @@ type SetDefaultPolicyVersionInput struct { // For more information about managed policy versions, see Versioning for Managed // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html) // in the IAM User Guide. + // + // VersionId is a required field VersionId *string `type:"string" required:"true"` } @@ -11836,19 +18413,27 @@ type SigningCertificate struct { _ struct{} `type:"structure"` // The contents of the signing certificate. + // + // CertificateBody is a required field CertificateBody *string `min:"1" type:"string" required:"true"` // The ID for the signing certificate. + // + // CertificateId is a required field CertificateId *string `min:"24" type:"string" required:"true"` // The status of the signing certificate. Active means the key is valid for // API calls, while Inactive means it is not. + // + // Status is a required field Status *string `type:"string" required:"true" enum:"statusType"` // The date when the signing certificate was uploaded. UploadDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` // The name of the user the signing certificate is associated with. + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -11868,10 +18453,12 @@ type SimulateCustomPolicyInput struct { // A list of names of API actions to evaluate in the simulation. Each action // is evaluated against each resource. Each action must include the service // identifier, such as iam:CreateUser. + // + // ActionNames is a required field ActionNames []*string `type:"list" required:"true"` - // The ARN of the user that you want to use as the simulated caller of the APIs. - // CallerArn is required if you include a ResourcePolicy so that the policy's + // The ARN of the IAM user that you want to use as the simulated caller of the + // APIs. CallerArn is required if you include a ResourcePolicy so that the policy's // Principal element has a value to use in evaluating the policy. // // You can specify only the ARN of an IAM user. You cannot specify the ARN @@ -11879,8 +18466,8 @@ type SimulateCustomPolicyInput struct { CallerArn *string `min:"1" type:"string"` // A list of context keys and corresponding values for the simulation to use. - // Whenever a context key is evaluated by a Condition element in one of the - // simulated IAM permission policies, the corresponding value is supplied. + // Whenever a context key is evaluated in one of the simulated IAM permission + // policies, the corresponding value is supplied. ContextEntries []*ContextEntry `type:"list"` // Use this parameter only when paginating results and only after you receive @@ -11908,6 +18495,14 @@ type SimulateCustomPolicyInput struct { // a call to GetFederationToken (http://docs.aws.amazon.com/IAM/latest/APIReference/API_GetFederationToken.html) // or one of the AssumeRole (http://docs.aws.amazon.com/IAM/latest/APIReference/API_AssumeRole.html) // APIs to restrict what a user can do while using the temporary credentials. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of any printable ASCII character ranging + // from the space character (\u0020) through end of the ASCII character range + // (\u00FF). It also includes the special characters tab (\u0009), line feed + // (\u000A), and carriage return (\u000D). + // + // PolicyInputList is a required field PolicyInputList []*string `type:"list" required:"true"` // A list of ARNs of AWS resources to include in the simulation. If this parameter @@ -11922,6 +18517,10 @@ type SimulateCustomPolicyInput struct { // // If you include a ResourcePolicy, then it must be applicable to all of the // resources included in the simulation or you receive an invalid input error. + // + // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS + // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. ResourceArns []*string `type:"list"` // Specifies the type of simulation to run. Different APIs that support resource-based @@ -11940,27 +18539,27 @@ type SimulateCustomPolicyInput struct { // the EC2 scenario options, see Supported Platforms (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html) // in the AWS EC2 User Guide. // - // EC2-Classic-InstanceStore + // EC2-Classic-InstanceStore // // instance, image, security-group // - // EC2-Classic-EBS + // EC2-Classic-EBS // // instance, image, security-group, volume // - // EC2-VPC-InstanceStore + // EC2-VPC-InstanceStore // // instance, image, security-group, network-interface // - // EC2-VPC-InstanceStore-Subnet + // EC2-VPC-InstanceStore-Subnet // // instance, image, security-group, network-interface, subnet // - // EC2-VPC-EBS + // EC2-VPC-EBS // // instance, image, security-group, network-interface, volume // - // EC2-VPC-EBS-Subnet + // EC2-VPC-EBS-Subnet // // instance, image, security-group, network-interface, subnet, volume ResourceHandlingOption *string `min:"1" type:"string"` @@ -11979,6 +18578,12 @@ type SimulateCustomPolicyInput struct { // A resource-based policy to include in the simulation provided as a string. // Each resource in the simulation is treated as if it had this policy attached. // You can include only one resource-based policy in a simulation. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of any printable ASCII character ranging + // from the space character (\u0020) through end of the ASCII character range + // (\u00FF). It also includes the special characters tab (\u0009), line feed + // (\u000A), and carriage return (\u000D). ResourcePolicy *string `min:"1" type:"string"` } @@ -12073,26 +18678,32 @@ type SimulatePrincipalPolicyInput struct { // A list of names of API actions to evaluate in the simulation. Each action // is evaluated for each resource. Each action must include the service identifier, // such as iam:CreateUser. + // + // ActionNames is a required field ActionNames []*string `type:"list" required:"true"` - // The ARN of the user that you want to specify as the simulated caller of the - // APIs. If you do not specify a CallerArn, it defaults to the ARN of the user - // that you specify in PolicySourceArn, if you specified a user. If you include - // both a PolicySourceArn (for example, arn:aws:iam::123456789012:user/David) + // The ARN of the IAM user that you want to specify as the simulated caller + // of the APIs. If you do not specify a CallerArn, it defaults to the ARN of + // the user that you specify in PolicySourceArn, if you specified a user. If + // you include both a PolicySourceArn (for example, arn:aws:iam::123456789012:user/David) // and a CallerArn (for example, arn:aws:iam::123456789012:user/Bob), the result // is that you simulate calling the APIs as Bob, as if Bob had David's policies. // // You can specify only the ARN of an IAM user. You cannot specify the ARN // of an assumed role, federated user, or a service principal. // - // CallerArn is required if you include a ResourcePolicy and the PolicySourceArn + // CallerArn is required if you include a ResourcePolicy and the PolicySourceArn // is not the ARN for an IAM user. This is required so that the resource-based // policy's Principal element has a value to use in evaluating the policy. + // + // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS + // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. CallerArn *string `min:"1" type:"string"` // A list of context keys and corresponding values for the simulation to use. - // Whenever a context key is evaluated by a Condition element in one of the - // simulated policies, the corresponding value is supplied. + // Whenever a context key is evaluated in one of the simulated IAM permission + // policies, the corresponding value is supplied. ContextEntries []*ContextEntry `type:"list"` // Use this parameter only when paginating results and only after you receive @@ -12115,6 +18726,12 @@ type SimulatePrincipalPolicyInput struct { // An optional list of additional policy documents to include in the simulation. // Each document is specified as a string containing the complete, valid JSON // text of an IAM policy. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of any printable ASCII character ranging + // from the space character (\u0020) through end of the ASCII character range + // (\u00FF). It also includes the special characters tab (\u0009), line feed + // (\u000A), and carriage return (\u000D). PolicyInputList []*string `type:"list"` // The Amazon Resource Name (ARN) of a user, group, or role whose policies you @@ -12122,6 +18739,12 @@ type SimulatePrincipalPolicyInput struct { // the simulation includes all policies that are associated with that entity. // If you specify a user, the simulation also includes all policies that are // attached to any groups the user belongs to. + // + // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS + // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + // + // PolicySourceArn is a required field PolicySourceArn *string `min:"20" type:"string" required:"true"` // A list of ARNs of AWS resources to include in the simulation. If this parameter @@ -12133,6 +18756,10 @@ type SimulatePrincipalPolicyInput struct { // The simulation does not automatically retrieve policies for the specified // resources. If you want to include a resource policy in the simulation, then // you must include the policy as a string in the ResourcePolicy parameter. + // + // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS + // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. ResourceArns []*string `type:"list"` // Specifies the type of simulation to run. Different APIs that support resource-based @@ -12151,27 +18778,27 @@ type SimulatePrincipalPolicyInput struct { // the EC2 scenario options, see Supported Platforms (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html) // in the AWS EC2 User Guide. // - // EC2-Classic-InstanceStore + // EC2-Classic-InstanceStore // // instance, image, security-group // - // EC2-Classic-EBS + // EC2-Classic-EBS // // instance, image, security-group, volume // - // EC2-VPC-InstanceStore + // EC2-VPC-InstanceStore // // instance, image, security-group, network-interface // - // EC2-VPC-InstanceStore-Subnet + // EC2-VPC-InstanceStore-Subnet // // instance, image, security-group, network-interface, subnet // - // EC2-VPC-EBS + // EC2-VPC-EBS // // instance, image, security-group, network-interface, volume // - // EC2-VPC-EBS-Subnet + // EC2-VPC-EBS-Subnet // // instance, image, security-group, network-interface, subnet, volume ResourceHandlingOption *string `min:"1" type:"string"` @@ -12190,6 +18817,12 @@ type SimulatePrincipalPolicyInput struct { // A resource-based policy to include in the simulation provided as a string. // Each resource in the simulation is treated as if it had this policy attached. // You can include only one resource-based policy in a simulation. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of any printable ASCII character ranging + // from the space character (\u0020) through end of the ASCII character range + // (\u00FF). It also includes the special characters tab (\u0009), line feed + // (\u000A), and carriage return (\u000D). ResourcePolicy *string `min:"1" type:"string"` } @@ -12253,8 +18886,8 @@ func (s *SimulatePrincipalPolicyInput) Validate() error { // Contains a reference to a Statement element in a policy document that determines // the result of the simulation. // -// This data type is used by the MatchedStatements member of the EvaluationResult -// type. +// This data type is used by the MatchedStatements member of the EvaluationResult +// type. type Statement struct { _ struct{} `type:"structure"` @@ -12285,14 +18918,26 @@ type UpdateAccessKeyInput struct { _ struct{} `type:"structure"` // The access key ID of the secret access key you want to update. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters that can consist of any upper or lowercased letter + // or digit. + // + // AccessKeyId is a required field AccessKeyId *string `min:"16" type:"string" required:"true"` // The status you want to assign to the secret access key. Active means the // key can be used for API calls to AWS, while Inactive means the key cannot // be used. + // + // Status is a required field Status *string `type:"string" required:"true" enum:"statusType"` // The name of the user whose key you want to update. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- UserName *string `min:"1" type:"string"` } @@ -12450,9 +19095,23 @@ type UpdateAssumeRolePolicyInput struct { _ struct{} `type:"structure"` // The policy that grants an entity permission to assume the role. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of any printable ASCII character ranging + // from the space character (\u0020) through end of the ASCII character range + // (\u00FF). It also includes the special characters tab (\u0009), line feed + // (\u000A), and carriage return (\u000D). + // + // PolicyDocument is a required field PolicyDocument *string `min:"1" type:"string" required:"true"` - // The name of the role to update. + // The name of the role to update with the new policy. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // RoleName is a required field RoleName *string `min:"1" type:"string" required:"true"` } @@ -12505,14 +19164,30 @@ func (s UpdateAssumeRolePolicyOutput) GoString() string { type UpdateGroupInput struct { _ struct{} `type:"structure"` - // Name of the group to update. If you're changing the name of the group, this - // is the original name. + // Name of the IAM group to update. If you're changing the name of the group, + // this is the original name. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // GroupName is a required field GroupName *string `min:"1" type:"string" required:"true"` - // New name for the group. Only include this if changing the group's name. + // New name for the IAM group. Only include this if changing the group's name. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- NewGroupName *string `min:"1" type:"string"` - // New path for the group. Only include this if changing the group's path. + // New path for the IAM group. Only include this if changing the group's path. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of either a forward slash (/) by itself + // or a string that must begin and end with forward slashes, containing any + // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including + // most punctuation characters, digits, and upper and lowercased letters. NewPath *string `min:"1" type:"string"` } @@ -12565,13 +19240,28 @@ func (s UpdateGroupOutput) GoString() string { type UpdateLoginProfileInput struct { _ struct{} `type:"structure"` - // The new password for the specified user. + // The new password for the specified IAM user. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of any printable ASCII character ranging + // from the space character (\u0020) through end of the ASCII character range + // (\u00FF). It also includes the special characters tab (\u0009), line feed + // (\u000A), and carriage return (\u000D). However, the format can be further + // restricted by the account administrator by setting a password policy on the + // AWS account. For more information, see UpdateAccountPasswordPolicy. Password *string `min:"1" type:"string"` - // Require the specified user to set a new password on next sign-in. + // Allows this new password to be used only once by requiring the specified + // IAM user to set a new password on next sign-in. PasswordResetRequired *bool `type:"boolean"` // The name of the user whose password you want to update. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -12621,13 +19311,21 @@ func (s UpdateLoginProfileOutput) GoString() string { type UpdateOpenIDConnectProviderThumbprintInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the IAM OpenID Connect (OIDC) provider - // to update the thumbprint for. You can get a list of OIDC provider ARNs by - // using the ListOpenIDConnectProviders action. + // The Amazon Resource Name (ARN) of the IAM OIDC provider resource object for + // which you want to update the thumbprint. You can get a list of OIDC provider + // ARNs by using the ListOpenIDConnectProviders action. + // + // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS + // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + // + // OpenIDConnectProviderArn is a required field OpenIDConnectProviderArn *string `min:"20" type:"string" required:"true"` // A list of certificate thumbprints that are associated with the specified // IAM OpenID Connect provider. For more information, see CreateOpenIDConnectProvider. + // + // ThumbprintList is a required field ThumbprintList []*string `type:"list" required:"true"` } @@ -12682,9 +19380,17 @@ type UpdateSAMLProviderInput struct { // keys that can be used to validate the SAML authentication response (assertions) // that are received from the IdP. You must generate the metadata document using // the identity management software that is used as your organization's IdP. + // + // SAMLMetadataDocument is a required field SAMLMetadataDocument *string `min:"1000" type:"string" required:"true"` // The Amazon Resource Name (ARN) of the SAML provider to update. + // + // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS + // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + // + // SAMLProviderArn is a required field SAMLProviderArn *string `min:"20" type:"string" required:"true"` } @@ -12742,14 +19448,28 @@ type UpdateSSHPublicKeyInput struct { _ struct{} `type:"structure"` // The unique identifier for the SSH public key. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters that can consist of any upper or lowercased letter + // or digit. + // + // SSHPublicKeyId is a required field SSHPublicKeyId *string `min:"20" type:"string" required:"true"` // The status to assign to the SSH public key. Active means the key can be used // for authentication with an AWS CodeCommit repository. Inactive means the // key cannot be used. + // + // Status is a required field Status *string `type:"string" required:"true" enum:"statusType"` // The name of the IAM user associated with the SSH public key. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -12807,14 +19527,30 @@ type UpdateServerCertificateInput struct { // The new path for the server certificate. Include this only if you are updating // the server certificate's path. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of either a forward slash (/) by itself + // or a string that must begin and end with forward slashes, containing any + // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including + // most punctuation characters, digits, and upper and lowercased letters. NewPath *string `min:"1" type:"string"` // The new name for the server certificate. Include this only if you are updating // the server certificate's name. The name of the certificate cannot contain // any spaces. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- NewServerCertificateName *string `min:"1" type:"string"` // The name of the server certificate that you want to update. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // ServerCertificateName is a required field ServerCertificateName *string `min:"1" type:"string" required:"true"` } @@ -12868,14 +19604,26 @@ type UpdateSigningCertificateInput struct { _ struct{} `type:"structure"` // The ID of the signing certificate you want to update. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters that can consist of any upper or lowercased letter + // or digit. + // + // CertificateId is a required field CertificateId *string `min:"24" type:"string" required:"true"` // The status you want to assign to the certificate. Active means the certificate // can be used for API calls to AWS, while Inactive means the certificate cannot // be used. + // + // Status is a required field Status *string `type:"string" required:"true" enum:"statusType"` - // The name of the user the signing certificate belongs to. + // The name of the IAM user the signing certificate belongs to. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- UserName *string `min:"1" type:"string"` } @@ -12928,16 +19676,32 @@ func (s UpdateSigningCertificateOutput) GoString() string { type UpdateUserInput struct { _ struct{} `type:"structure"` - // New path for the user. Include this parameter only if you're changing the - // user's path. + // New path for the IAM user. Include this parameter only if you're changing + // the user's path. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of either a forward slash (/) by itself + // or a string that must begin and end with forward slashes, containing any + // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including + // most punctuation characters, digits, and upper and lowercased letters. NewPath *string `min:"1" type:"string"` // New name for the user. Include this parameter only if you're changing the // user's name. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- NewUserName *string `min:"1" type:"string"` // Name of the user to update. If you're changing the name of the user, this // is the original user name. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -12992,9 +19756,23 @@ type UploadSSHPublicKeyInput struct { // The SSH public key. The public key must be encoded in ssh-rsa format or PEM // format. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of any printable ASCII character ranging + // from the space character (\u0020) through end of the ASCII character range + // (\u00FF). It also includes the special characters tab (\u0009), line feed + // (\u000A), and carriage return (\u000D). + // + // SSHPublicKeyBody is a required field SSHPublicKeyBody *string `min:"1" type:"string" required:"true"` // The name of the IAM user to associate the SSH public key with. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -13052,30 +19830,62 @@ type UploadServerCertificateInput struct { _ struct{} `type:"structure"` // The contents of the public key certificate in PEM-encoded format. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of any printable ASCII character ranging + // from the space character (\u0020) through end of the ASCII character range + // (\u00FF). It also includes the special characters tab (\u0009), line feed + // (\u000A), and carriage return (\u000D). + // + // CertificateBody is a required field CertificateBody *string `min:"1" type:"string" required:"true"` // The contents of the certificate chain. This is typically a concatenation // of the PEM-encoded public key certificates of the chain. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of any printable ASCII character ranging + // from the space character (\u0020) through end of the ASCII character range + // (\u00FF). It also includes the special characters tab (\u0009), line feed + // (\u000A), and carriage return (\u000D). CertificateChain *string `min:"1" type:"string"` // The path for the server certificate. For more information about paths, see // IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) - // in the Using IAM guide. + // in the IAM User Guide. // // This parameter is optional. If it is not included, it defaults to a slash - // (/). + // (/). The regex pattern (http://wikipedia.org/wiki/regex) for this parameter + // is a string of characters consisting of either a forward slash (/) by itself + // or a string that must begin and end with forward slashes, containing any + // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including + // most punctuation characters, digits, and upper and lowercased letters. // - // If you are uploading a server certificate specifically for use with Amazon + // If you are uploading a server certificate specifically for use with Amazon // CloudFront distributions, you must specify a path using the --path option. // The path must begin with /cloudfront and must include a trailing slash (for // example, /cloudfront/test/). Path *string `min:"1" type:"string"` // The contents of the private key in PEM-encoded format. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of any printable ASCII character ranging + // from the space character (\u0020) through end of the ASCII character range + // (\u00FF). It also includes the special characters tab (\u0009), line feed + // (\u000A), and carriage return (\u000D). + // + // PrivateKey is a required field PrivateKey *string `min:"1" type:"string" required:"true"` // The name for the server certificate. Do not include the path in this value. // The name of the certificate cannot contain any spaces. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- + // + // ServerCertificateName is a required field ServerCertificateName *string `min:"1" type:"string" required:"true"` } @@ -13146,9 +19956,21 @@ type UploadSigningCertificateInput struct { _ struct{} `type:"structure"` // The contents of the signing certificate. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of any printable ASCII character ranging + // from the space character (\u0020) through end of the ASCII character range + // (\u00FF). It also includes the special characters tab (\u0009), line feed + // (\u000A), and carriage return (\u000D). + // + // CertificateBody is a required field CertificateBody *string `min:"1" type:"string" required:"true"` // The name of the user the signing certificate is for. + // + // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is + // a string of characters consisting of upper and lowercase alphanumeric characters + // with no spaces. You can also include any of the following characters: =,.@- UserName *string `min:"1" type:"string"` } @@ -13186,6 +20008,8 @@ type UploadSigningCertificateOutput struct { _ struct{} `type:"structure"` // Information about the certificate. + // + // Certificate is a required field Certificate *SigningCertificate `type:"structure" required:"true"` } @@ -13201,7 +20025,7 @@ func (s UploadSigningCertificateOutput) GoString() string { // Contains information about an IAM user entity. // -// This data type is used as a response element in the following actions: +// This data type is used as a response element in the following actions: // // CreateUser // @@ -13214,10 +20038,14 @@ type User struct { // The Amazon Resource Name (ARN) that identifies the user. For more information // about ARNs and how to use ARNs in policies, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) // in the Using IAM guide. + // + // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), // when the user was created. + // + // CreateDate is a required field CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), @@ -13241,14 +20069,20 @@ type User struct { // The path to the user. For more information about paths, see IAM Identifiers // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) // in the Using IAM guide. + // + // Path is a required field Path *string `min:"1" type:"string" required:"true"` // The stable and unique string identifying the user. For more information about // IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) // in the Using IAM guide. + // + // UserId is a required field UserId *string `min:"16" type:"string" required:"true"` // The friendly name identifying the user. + // + // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` } @@ -13336,11 +20170,13 @@ type VirtualMFADevice struct { QRCodePNG []byte `type:"blob"` // The serial number associated with VirtualMFADevice. + // + // SerialNumber is a required field SerialNumber *string `min:"9" type:"string" required:"true"` // Contains information about an IAM user entity. // - // This data type is used as a response element in the following actions: + // This data type is used as a response element in the following actions: // // CreateUser // @@ -13361,166 +20197,221 @@ func (s VirtualMFADevice) GoString() string { } const ( - // @enum ContextKeyTypeEnum + // ContextKeyTypeEnumString is a ContextKeyTypeEnum enum value ContextKeyTypeEnumString = "string" - // @enum ContextKeyTypeEnum + + // ContextKeyTypeEnumStringList is a ContextKeyTypeEnum enum value ContextKeyTypeEnumStringList = "stringList" - // @enum ContextKeyTypeEnum + + // ContextKeyTypeEnumNumeric is a ContextKeyTypeEnum enum value ContextKeyTypeEnumNumeric = "numeric" - // @enum ContextKeyTypeEnum + + // ContextKeyTypeEnumNumericList is a ContextKeyTypeEnum enum value ContextKeyTypeEnumNumericList = "numericList" - // @enum ContextKeyTypeEnum + + // ContextKeyTypeEnumBoolean is a ContextKeyTypeEnum enum value ContextKeyTypeEnumBoolean = "boolean" - // @enum ContextKeyTypeEnum + + // ContextKeyTypeEnumBooleanList is a ContextKeyTypeEnum enum value ContextKeyTypeEnumBooleanList = "booleanList" - // @enum ContextKeyTypeEnum + + // ContextKeyTypeEnumIp is a ContextKeyTypeEnum enum value ContextKeyTypeEnumIp = "ip" - // @enum ContextKeyTypeEnum + + // ContextKeyTypeEnumIpList is a ContextKeyTypeEnum enum value ContextKeyTypeEnumIpList = "ipList" - // @enum ContextKeyTypeEnum + + // ContextKeyTypeEnumBinary is a ContextKeyTypeEnum enum value ContextKeyTypeEnumBinary = "binary" - // @enum ContextKeyTypeEnum + + // ContextKeyTypeEnumBinaryList is a ContextKeyTypeEnum enum value ContextKeyTypeEnumBinaryList = "binaryList" - // @enum ContextKeyTypeEnum + + // ContextKeyTypeEnumDate is a ContextKeyTypeEnum enum value ContextKeyTypeEnumDate = "date" - // @enum ContextKeyTypeEnum + + // ContextKeyTypeEnumDateList is a ContextKeyTypeEnum enum value ContextKeyTypeEnumDateList = "dateList" ) const ( - // @enum EntityType + // EntityTypeUser is a EntityType enum value EntityTypeUser = "User" - // @enum EntityType + + // EntityTypeRole is a EntityType enum value EntityTypeRole = "Role" - // @enum EntityType + + // EntityTypeGroup is a EntityType enum value EntityTypeGroup = "Group" - // @enum EntityType + + // EntityTypeLocalManagedPolicy is a EntityType enum value EntityTypeLocalManagedPolicy = "LocalManagedPolicy" - // @enum EntityType + + // EntityTypeAwsmanagedPolicy is a EntityType enum value EntityTypeAwsmanagedPolicy = "AWSManagedPolicy" ) const ( - // @enum PolicyEvaluationDecisionType + // PolicyEvaluationDecisionTypeAllowed is a PolicyEvaluationDecisionType enum value PolicyEvaluationDecisionTypeAllowed = "allowed" - // @enum PolicyEvaluationDecisionType + + // PolicyEvaluationDecisionTypeExplicitDeny is a PolicyEvaluationDecisionType enum value PolicyEvaluationDecisionTypeExplicitDeny = "explicitDeny" - // @enum PolicyEvaluationDecisionType + + // PolicyEvaluationDecisionTypeImplicitDeny is a PolicyEvaluationDecisionType enum value PolicyEvaluationDecisionTypeImplicitDeny = "implicitDeny" ) const ( - // @enum PolicySourceType + // PolicySourceTypeUser is a PolicySourceType enum value PolicySourceTypeUser = "user" - // @enum PolicySourceType + + // PolicySourceTypeGroup is a PolicySourceType enum value PolicySourceTypeGroup = "group" - // @enum PolicySourceType + + // PolicySourceTypeRole is a PolicySourceType enum value PolicySourceTypeRole = "role" - // @enum PolicySourceType + + // PolicySourceTypeAwsManaged is a PolicySourceType enum value PolicySourceTypeAwsManaged = "aws-managed" - // @enum PolicySourceType + + // PolicySourceTypeUserManaged is a PolicySourceType enum value PolicySourceTypeUserManaged = "user-managed" - // @enum PolicySourceType + + // PolicySourceTypeResource is a PolicySourceType enum value PolicySourceTypeResource = "resource" - // @enum PolicySourceType + + // PolicySourceTypeNone is a PolicySourceType enum value PolicySourceTypeNone = "none" ) const ( - // @enum ReportFormatType + // ReportFormatTypeTextCsv is a ReportFormatType enum value ReportFormatTypeTextCsv = "text/csv" ) const ( - // @enum ReportStateType + // ReportStateTypeStarted is a ReportStateType enum value ReportStateTypeStarted = "STARTED" - // @enum ReportStateType + + // ReportStateTypeInprogress is a ReportStateType enum value ReportStateTypeInprogress = "INPROGRESS" - // @enum ReportStateType + + // ReportStateTypeComplete is a ReportStateType enum value ReportStateTypeComplete = "COMPLETE" ) const ( - // @enum assignmentStatusType + // AssignmentStatusTypeAssigned is a assignmentStatusType enum value AssignmentStatusTypeAssigned = "Assigned" - // @enum assignmentStatusType + + // AssignmentStatusTypeUnassigned is a assignmentStatusType enum value AssignmentStatusTypeUnassigned = "Unassigned" - // @enum assignmentStatusType + + // AssignmentStatusTypeAny is a assignmentStatusType enum value AssignmentStatusTypeAny = "Any" ) const ( - // @enum encodingType + // EncodingTypeSsh is a encodingType enum value EncodingTypeSsh = "SSH" - // @enum encodingType + + // EncodingTypePem is a encodingType enum value EncodingTypePem = "PEM" ) const ( - // @enum policyScopeType + // PolicyScopeTypeAll is a policyScopeType enum value PolicyScopeTypeAll = "All" - // @enum policyScopeType + + // PolicyScopeTypeAws is a policyScopeType enum value PolicyScopeTypeAws = "AWS" - // @enum policyScopeType + + // PolicyScopeTypeLocal is a policyScopeType enum value PolicyScopeTypeLocal = "Local" ) const ( - // @enum statusType + // StatusTypeActive is a statusType enum value StatusTypeActive = "Active" - // @enum statusType + + // StatusTypeInactive is a statusType enum value StatusTypeInactive = "Inactive" ) const ( - // @enum summaryKeyType + // SummaryKeyTypeUsers is a summaryKeyType enum value SummaryKeyTypeUsers = "Users" - // @enum summaryKeyType + + // SummaryKeyTypeUsersQuota is a summaryKeyType enum value SummaryKeyTypeUsersQuota = "UsersQuota" - // @enum summaryKeyType + + // SummaryKeyTypeGroups is a summaryKeyType enum value SummaryKeyTypeGroups = "Groups" - // @enum summaryKeyType + + // SummaryKeyTypeGroupsQuota is a summaryKeyType enum value SummaryKeyTypeGroupsQuota = "GroupsQuota" - // @enum summaryKeyType + + // SummaryKeyTypeServerCertificates is a summaryKeyType enum value SummaryKeyTypeServerCertificates = "ServerCertificates" - // @enum summaryKeyType + + // SummaryKeyTypeServerCertificatesQuota is a summaryKeyType enum value SummaryKeyTypeServerCertificatesQuota = "ServerCertificatesQuota" - // @enum summaryKeyType + + // SummaryKeyTypeUserPolicySizeQuota is a summaryKeyType enum value SummaryKeyTypeUserPolicySizeQuota = "UserPolicySizeQuota" - // @enum summaryKeyType + + // SummaryKeyTypeGroupPolicySizeQuota is a summaryKeyType enum value SummaryKeyTypeGroupPolicySizeQuota = "GroupPolicySizeQuota" - // @enum summaryKeyType + + // SummaryKeyTypeGroupsPerUserQuota is a summaryKeyType enum value SummaryKeyTypeGroupsPerUserQuota = "GroupsPerUserQuota" - // @enum summaryKeyType + + // SummaryKeyTypeSigningCertificatesPerUserQuota is a summaryKeyType enum value SummaryKeyTypeSigningCertificatesPerUserQuota = "SigningCertificatesPerUserQuota" - // @enum summaryKeyType + + // SummaryKeyTypeAccessKeysPerUserQuota is a summaryKeyType enum value SummaryKeyTypeAccessKeysPerUserQuota = "AccessKeysPerUserQuota" - // @enum summaryKeyType + + // SummaryKeyTypeMfadevices is a summaryKeyType enum value SummaryKeyTypeMfadevices = "MFADevices" - // @enum summaryKeyType + + // SummaryKeyTypeMfadevicesInUse is a summaryKeyType enum value SummaryKeyTypeMfadevicesInUse = "MFADevicesInUse" - // @enum summaryKeyType + + // SummaryKeyTypeAccountMfaenabled is a summaryKeyType enum value SummaryKeyTypeAccountMfaenabled = "AccountMFAEnabled" - // @enum summaryKeyType + + // SummaryKeyTypeAccountAccessKeysPresent is a summaryKeyType enum value SummaryKeyTypeAccountAccessKeysPresent = "AccountAccessKeysPresent" - // @enum summaryKeyType + + // SummaryKeyTypeAccountSigningCertificatesPresent is a summaryKeyType enum value SummaryKeyTypeAccountSigningCertificatesPresent = "AccountSigningCertificatesPresent" - // @enum summaryKeyType + + // SummaryKeyTypeAttachedPoliciesPerGroupQuota is a summaryKeyType enum value SummaryKeyTypeAttachedPoliciesPerGroupQuota = "AttachedPoliciesPerGroupQuota" - // @enum summaryKeyType + + // SummaryKeyTypeAttachedPoliciesPerRoleQuota is a summaryKeyType enum value SummaryKeyTypeAttachedPoliciesPerRoleQuota = "AttachedPoliciesPerRoleQuota" - // @enum summaryKeyType + + // SummaryKeyTypeAttachedPoliciesPerUserQuota is a summaryKeyType enum value SummaryKeyTypeAttachedPoliciesPerUserQuota = "AttachedPoliciesPerUserQuota" - // @enum summaryKeyType + + // SummaryKeyTypePolicies is a summaryKeyType enum value SummaryKeyTypePolicies = "Policies" - // @enum summaryKeyType + + // SummaryKeyTypePoliciesQuota is a summaryKeyType enum value SummaryKeyTypePoliciesQuota = "PoliciesQuota" - // @enum summaryKeyType + + // SummaryKeyTypePolicySizeQuota is a summaryKeyType enum value SummaryKeyTypePolicySizeQuota = "PolicySizeQuota" - // @enum summaryKeyType + + // SummaryKeyTypePolicyVersionsInUse is a summaryKeyType enum value SummaryKeyTypePolicyVersionsInUse = "PolicyVersionsInUse" - // @enum summaryKeyType + + // SummaryKeyTypePolicyVersionsInUseQuota is a summaryKeyType enum value SummaryKeyTypePolicyVersionsInUseQuota = "PolicyVersionsInUseQuota" - // @enum summaryKeyType + + // SummaryKeyTypeVersionsPerPolicyQuota is a summaryKeyType enum value SummaryKeyTypeVersionsPerPolicyQuota = "VersionsPerPolicyQuota" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/iam/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/iam/waiters.go index b27303052f35..9231bf0bdca9 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/iam/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/iam/waiters.go @@ -6,6 +6,10 @@ import ( "github.com/aws/aws-sdk-go/private/waiter" ) +// WaitUntilInstanceProfileExists uses the IAM API operation +// GetInstanceProfile to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *IAM) WaitUntilInstanceProfileExists(input *GetInstanceProfileInput) error { waiterCfg := waiter.Config{ Operation: "GetInstanceProfile", @@ -35,6 +39,10 @@ func (c *IAM) WaitUntilInstanceProfileExists(input *GetInstanceProfileInput) err return w.Wait() } +// WaitUntilUserExists uses the IAM API operation +// GetUser to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *IAM) WaitUntilUserExists(input *GetUserInput) error { waiterCfg := waiter.Config{ Operation: "GetUser", diff --git a/vendor/github.com/aws/aws-sdk-go/service/kinesis/api.go b/vendor/github.com/aws/aws-sdk-go/service/kinesis/api.go index db65419d4129..1d5749fa2e7b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kinesis/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kinesis/api.go @@ -15,7 +15,30 @@ import ( const opAddTagsToStream = "AddTagsToStream" -// AddTagsToStreamRequest generates a request for the AddTagsToStream operation. +// AddTagsToStreamRequest generates a "aws/request.Request" representing the +// client's request for the AddTagsToStream operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AddTagsToStream for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AddTagsToStream method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AddTagsToStreamRequest method. +// req, resp := client.AddTagsToStreamRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Kinesis) AddTagsToStreamRequest(input *AddTagsToStreamInput) (req *request.Request, output *AddTagsToStreamOutput) { op := &request.Operation{ Name: opAddTagsToStream, @@ -35,11 +58,39 @@ func (c *Kinesis) AddTagsToStreamRequest(input *AddTagsToStreamInput) (req *requ return } +// AddTagsToStream API operation for Amazon Kinesis. +// // Adds or updates tags for the specified Amazon Kinesis stream. Each stream // can have up to 10 tags. // // If tags have already been assigned to the stream, AddTagsToStream overwrites // any existing tags that correspond to the specified tag keys. +// +// 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 Kinesis's +// API operation AddTagsToStream for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// The requested resource could not be found. The stream might not be specified +// correctly, or it might not be in the ACTIVE state if the operation requires +// it. +// +// * ResourceInUseException +// The resource is not available for this operation. For successful operation, +// the resource needs to be in the ACTIVE state. +// +// * InvalidArgumentException +// A specified parameter exceeds its restrictions, is not supported, or can't +// be used. For more information, see the returned message. +// +// * LimitExceededException +// The requested resource exceeds the maximum number allowed, or the number +// of concurrent stream requests exceeds the maximum number allowed (5). +// func (c *Kinesis) AddTagsToStream(input *AddTagsToStreamInput) (*AddTagsToStreamOutput, error) { req, out := c.AddTagsToStreamRequest(input) err := req.Send() @@ -48,7 +99,30 @@ func (c *Kinesis) AddTagsToStream(input *AddTagsToStreamInput) (*AddTagsToStream const opCreateStream = "CreateStream" -// CreateStreamRequest generates a request for the CreateStream operation. +// CreateStreamRequest generates a "aws/request.Request" representing the +// client's request for the CreateStream operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateStream for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateStream method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateStreamRequest method. +// req, resp := client.CreateStreamRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Kinesis) CreateStreamRequest(input *CreateStreamInput) (req *request.Request, output *CreateStreamOutput) { op := &request.Operation{ Name: opCreateStream, @@ -68,6 +142,8 @@ func (c *Kinesis) CreateStreamRequest(input *CreateStreamInput) (req *request.Re return } +// CreateStream API operation for Amazon Kinesis. +// // Creates an Amazon Kinesis stream. A stream captures and transports data records // that are continuously emitted from different data sources or producers. Scale-out // within a stream is explicitly supported by means of shards, which are uniquely @@ -104,6 +180,27 @@ func (c *Kinesis) CreateStreamRequest(input *CreateStreamInput) (req *request.Re // in StreamStatus. // // CreateStream has a limit of 5 transactions per second per 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 Kinesis's +// API operation CreateStream for usage and error information. +// +// Returned Error Codes: +// * ResourceInUseException +// The resource is not available for this operation. For successful operation, +// the resource needs to be in the ACTIVE state. +// +// * LimitExceededException +// The requested resource exceeds the maximum number allowed, or the number +// of concurrent stream requests exceeds the maximum number allowed (5). +// +// * InvalidArgumentException +// A specified parameter exceeds its restrictions, is not supported, or can't +// be used. For more information, see the returned message. +// func (c *Kinesis) CreateStream(input *CreateStreamInput) (*CreateStreamOutput, error) { req, out := c.CreateStreamRequest(input) err := req.Send() @@ -112,7 +209,30 @@ func (c *Kinesis) CreateStream(input *CreateStreamInput) (*CreateStreamOutput, e const opDecreaseStreamRetentionPeriod = "DecreaseStreamRetentionPeriod" -// DecreaseStreamRetentionPeriodRequest generates a request for the DecreaseStreamRetentionPeriod operation. +// DecreaseStreamRetentionPeriodRequest generates a "aws/request.Request" representing the +// client's request for the DecreaseStreamRetentionPeriod operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DecreaseStreamRetentionPeriod for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DecreaseStreamRetentionPeriod method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DecreaseStreamRetentionPeriodRequest method. +// req, resp := client.DecreaseStreamRetentionPeriodRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Kinesis) DecreaseStreamRetentionPeriodRequest(input *DecreaseStreamRetentionPeriodInput) (req *request.Request, output *DecreaseStreamRetentionPeriodOutput) { op := &request.Operation{ Name: opDecreaseStreamRetentionPeriod, @@ -132,6 +252,8 @@ func (c *Kinesis) DecreaseStreamRetentionPeriodRequest(input *DecreaseStreamRete return } +// DecreaseStreamRetentionPeriod API operation for Amazon Kinesis. +// // Decreases the Amazon Kinesis stream's retention period, which is the length // of time data records are accessible after they are added to the stream. The // minimum value of a stream's retention period is 24 hours. @@ -139,6 +261,32 @@ func (c *Kinesis) DecreaseStreamRetentionPeriodRequest(input *DecreaseStreamRete // This operation may result in lost data. For example, if the stream's retention // period is 48 hours and is decreased to 24 hours, any data already in the // stream that is older than 24 hours is inaccessible. +// +// 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 Kinesis's +// API operation DecreaseStreamRetentionPeriod for usage and error information. +// +// Returned Error Codes: +// * ResourceInUseException +// The resource is not available for this operation. For successful operation, +// the resource needs to be in the ACTIVE state. +// +// * ResourceNotFoundException +// The requested resource could not be found. The stream might not be specified +// correctly, or it might not be in the ACTIVE state if the operation requires +// it. +// +// * LimitExceededException +// The requested resource exceeds the maximum number allowed, or the number +// of concurrent stream requests exceeds the maximum number allowed (5). +// +// * InvalidArgumentException +// A specified parameter exceeds its restrictions, is not supported, or can't +// be used. For more information, see the returned message. +// func (c *Kinesis) DecreaseStreamRetentionPeriod(input *DecreaseStreamRetentionPeriodInput) (*DecreaseStreamRetentionPeriodOutput, error) { req, out := c.DecreaseStreamRetentionPeriodRequest(input) err := req.Send() @@ -147,7 +295,30 @@ func (c *Kinesis) DecreaseStreamRetentionPeriod(input *DecreaseStreamRetentionPe const opDeleteStream = "DeleteStream" -// DeleteStreamRequest generates a request for the DeleteStream operation. +// DeleteStreamRequest generates a "aws/request.Request" representing the +// client's request for the DeleteStream operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteStream for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteStream method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteStreamRequest method. +// req, resp := client.DeleteStreamRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Kinesis) DeleteStreamRequest(input *DeleteStreamInput) (req *request.Request, output *DeleteStreamOutput) { op := &request.Operation{ Name: opDeleteStream, @@ -167,6 +338,8 @@ func (c *Kinesis) DeleteStreamRequest(input *DeleteStreamInput) (req *request.Re return } +// DeleteStream API operation for Amazon Kinesis. +// // Deletes an Amazon Kinesis stream and all its shards and data. You must shut // down any applications that are operating on the stream before you delete // the stream. If an application attempts to operate on a deleted stream, it @@ -187,6 +360,24 @@ func (c *Kinesis) DeleteStreamRequest(input *DeleteStreamInput) (req *request.Re // which is returned in StreamStatus. // // DeleteStream has a limit of 5 transactions per second per 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 Kinesis's +// API operation DeleteStream for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// The requested resource could not be found. The stream might not be specified +// correctly, or it might not be in the ACTIVE state if the operation requires +// it. +// +// * LimitExceededException +// The requested resource exceeds the maximum number allowed, or the number +// of concurrent stream requests exceeds the maximum number allowed (5). +// func (c *Kinesis) DeleteStream(input *DeleteStreamInput) (*DeleteStreamOutput, error) { req, out := c.DeleteStreamRequest(input) err := req.Send() @@ -195,7 +386,30 @@ func (c *Kinesis) DeleteStream(input *DeleteStreamInput) (*DeleteStreamOutput, e const opDescribeStream = "DescribeStream" -// DescribeStreamRequest generates a request for the DescribeStream operation. +// DescribeStreamRequest generates a "aws/request.Request" representing the +// client's request for the DescribeStream operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeStream for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeStream method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeStreamRequest method. +// req, resp := client.DescribeStreamRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Kinesis) DescribeStreamRequest(input *DescribeStreamInput) (req *request.Request, output *DescribeStreamOutput) { op := &request.Operation{ Name: opDescribeStream, @@ -219,6 +433,8 @@ func (c *Kinesis) DescribeStreamRequest(input *DescribeStreamInput) (req *reques return } +// DescribeStream API operation for Amazon Kinesis. +// // Describes the specified Amazon Kinesis stream. // // The information about the stream includes its current status, its Amazon @@ -245,12 +461,47 @@ func (c *Kinesis) DescribeStreamRequest(input *DescribeStreamInput) (req *reques // use ParentShardId to track lineage to the oldest shard. // // DescribeStream has a limit of 10 transactions per second per 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 Kinesis's +// API operation DescribeStream for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// The requested resource could not be found. The stream might not be specified +// correctly, or it might not be in the ACTIVE state if the operation requires +// it. +// +// * LimitExceededException +// The requested resource exceeds the maximum number allowed, or the number +// of concurrent stream requests exceeds the maximum number allowed (5). +// func (c *Kinesis) DescribeStream(input *DescribeStreamInput) (*DescribeStreamOutput, error) { req, out := c.DescribeStreamRequest(input) err := req.Send() return out, err } +// DescribeStreamPages iterates over the pages of a DescribeStream operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeStream 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 DescribeStream operation. +// pageNum := 0 +// err := client.DescribeStreamPages(params, +// func(page *DescribeStreamOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *Kinesis) DescribeStreamPages(input *DescribeStreamInput, fn func(p *DescribeStreamOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeStreamRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -261,7 +512,30 @@ func (c *Kinesis) DescribeStreamPages(input *DescribeStreamInput, fn func(p *Des const opDisableEnhancedMonitoring = "DisableEnhancedMonitoring" -// DisableEnhancedMonitoringRequest generates a request for the DisableEnhancedMonitoring operation. +// DisableEnhancedMonitoringRequest generates a "aws/request.Request" representing the +// client's request for the DisableEnhancedMonitoring operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DisableEnhancedMonitoring for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DisableEnhancedMonitoring method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DisableEnhancedMonitoringRequest method. +// req, resp := client.DisableEnhancedMonitoringRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Kinesis) DisableEnhancedMonitoringRequest(input *DisableEnhancedMonitoringInput) (req *request.Request, output *EnhancedMonitoringOutput) { op := &request.Operation{ Name: opDisableEnhancedMonitoring, @@ -279,7 +553,35 @@ func (c *Kinesis) DisableEnhancedMonitoringRequest(input *DisableEnhancedMonitor return } +// DisableEnhancedMonitoring API operation for Amazon Kinesis. +// // Disables enhanced monitoring. +// +// 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 Kinesis's +// API operation DisableEnhancedMonitoring for usage and error information. +// +// Returned Error Codes: +// * InvalidArgumentException +// A specified parameter exceeds its restrictions, is not supported, or can't +// be used. For more information, see the returned message. +// +// * LimitExceededException +// The requested resource exceeds the maximum number allowed, or the number +// of concurrent stream requests exceeds the maximum number allowed (5). +// +// * ResourceInUseException +// The resource is not available for this operation. For successful operation, +// the resource needs to be in the ACTIVE state. +// +// * ResourceNotFoundException +// The requested resource could not be found. The stream might not be specified +// correctly, or it might not be in the ACTIVE state if the operation requires +// it. +// func (c *Kinesis) DisableEnhancedMonitoring(input *DisableEnhancedMonitoringInput) (*EnhancedMonitoringOutput, error) { req, out := c.DisableEnhancedMonitoringRequest(input) err := req.Send() @@ -288,7 +590,30 @@ func (c *Kinesis) DisableEnhancedMonitoring(input *DisableEnhancedMonitoringInpu const opEnableEnhancedMonitoring = "EnableEnhancedMonitoring" -// EnableEnhancedMonitoringRequest generates a request for the EnableEnhancedMonitoring operation. +// EnableEnhancedMonitoringRequest generates a "aws/request.Request" representing the +// client's request for the EnableEnhancedMonitoring operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See EnableEnhancedMonitoring for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the EnableEnhancedMonitoring method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the EnableEnhancedMonitoringRequest method. +// req, resp := client.EnableEnhancedMonitoringRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Kinesis) EnableEnhancedMonitoringRequest(input *EnableEnhancedMonitoringInput) (req *request.Request, output *EnhancedMonitoringOutput) { op := &request.Operation{ Name: opEnableEnhancedMonitoring, @@ -306,7 +631,35 @@ func (c *Kinesis) EnableEnhancedMonitoringRequest(input *EnableEnhancedMonitorin return } +// EnableEnhancedMonitoring API operation for Amazon Kinesis. +// // Enables enhanced Amazon Kinesis stream monitoring for shard-level metrics. +// +// 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 Kinesis's +// API operation EnableEnhancedMonitoring for usage and error information. +// +// Returned Error Codes: +// * InvalidArgumentException +// A specified parameter exceeds its restrictions, is not supported, or can't +// be used. For more information, see the returned message. +// +// * LimitExceededException +// The requested resource exceeds the maximum number allowed, or the number +// of concurrent stream requests exceeds the maximum number allowed (5). +// +// * ResourceInUseException +// The resource is not available for this operation. For successful operation, +// the resource needs to be in the ACTIVE state. +// +// * ResourceNotFoundException +// The requested resource could not be found. The stream might not be specified +// correctly, or it might not be in the ACTIVE state if the operation requires +// it. +// func (c *Kinesis) EnableEnhancedMonitoring(input *EnableEnhancedMonitoringInput) (*EnhancedMonitoringOutput, error) { req, out := c.EnableEnhancedMonitoringRequest(input) err := req.Send() @@ -315,7 +668,30 @@ func (c *Kinesis) EnableEnhancedMonitoring(input *EnableEnhancedMonitoringInput) const opGetRecords = "GetRecords" -// GetRecordsRequest generates a request for the GetRecords operation. +// GetRecordsRequest generates a "aws/request.Request" representing the +// client's request for the GetRecords operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetRecords for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetRecords method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetRecordsRequest method. +// req, resp := client.GetRecordsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Kinesis) GetRecordsRequest(input *GetRecordsInput) (req *request.Request, output *GetRecordsOutput) { op := &request.Operation{ Name: opGetRecords, @@ -333,6 +709,8 @@ func (c *Kinesis) GetRecordsRequest(input *GetRecordsInput) (req *request.Reques return } +// GetRecords API operation for Amazon Kinesis. +// // Gets data records from an Amazon Kinesis stream's shard. // // Specify a shard iterator using the ShardIterator parameter. The shard iterator @@ -386,6 +764,35 @@ func (c *Kinesis) GetRecordsRequest(input *GetRecordsInput) (req *request.Reques // are no guarantees about the timestamp accuracy, or that the timestamp is // always increasing. For example, records in a shard or across a stream might // have timestamps that are out of order. +// +// 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 Kinesis's +// API operation GetRecords for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// The requested resource could not be found. The stream might not be specified +// correctly, or it might not be in the ACTIVE state if the operation requires +// it. +// +// * InvalidArgumentException +// A specified parameter exceeds its restrictions, is not supported, or can't +// be used. For more information, see the returned message. +// +// * ProvisionedThroughputExceededException +// The request rate for the stream is too high, or the requested data is too +// large for the available throughput. Reduce the frequency or size of your +// requests. For more information, see Streams Limits (http://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) +// in the Amazon Kinesis Streams Developer Guide, and Error Retries and Exponential +// Backoff in AWS (http://docs.aws.amazon.com/general/latest/gr/api-retries.html) +// in the AWS General Reference. +// +// * ExpiredIteratorException +// The provided iterator exceeds the maximum age allowed. +// func (c *Kinesis) GetRecords(input *GetRecordsInput) (*GetRecordsOutput, error) { req, out := c.GetRecordsRequest(input) err := req.Send() @@ -394,7 +801,30 @@ func (c *Kinesis) GetRecords(input *GetRecordsInput) (*GetRecordsOutput, error) const opGetShardIterator = "GetShardIterator" -// GetShardIteratorRequest generates a request for the GetShardIterator operation. +// GetShardIteratorRequest generates a "aws/request.Request" representing the +// client's request for the GetShardIterator operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetShardIterator for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetShardIterator method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetShardIteratorRequest method. +// req, resp := client.GetShardIteratorRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Kinesis) GetShardIteratorRequest(input *GetShardIteratorInput) (req *request.Request, output *GetShardIteratorOutput) { op := &request.Operation{ Name: opGetShardIterator, @@ -412,6 +842,8 @@ func (c *Kinesis) GetShardIteratorRequest(input *GetShardIteratorInput) (req *re return } +// GetShardIterator API operation for Amazon Kinesis. +// // Gets an Amazon Kinesis shard iterator. A shard iterator expires five minutes // after it is returned to the requester. // @@ -450,6 +882,32 @@ func (c *Kinesis) GetShardIteratorRequest(input *GetShardIteratorInput) (req *re // // GetShardIterator has a limit of 5 transactions per second per account per // open shard. +// +// 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 Kinesis's +// API operation GetShardIterator for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// The requested resource could not be found. The stream might not be specified +// correctly, or it might not be in the ACTIVE state if the operation requires +// it. +// +// * InvalidArgumentException +// A specified parameter exceeds its restrictions, is not supported, or can't +// be used. For more information, see the returned message. +// +// * ProvisionedThroughputExceededException +// The request rate for the stream is too high, or the requested data is too +// large for the available throughput. Reduce the frequency or size of your +// requests. For more information, see Streams Limits (http://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) +// in the Amazon Kinesis Streams Developer Guide, and Error Retries and Exponential +// Backoff in AWS (http://docs.aws.amazon.com/general/latest/gr/api-retries.html) +// in the AWS General Reference. +// func (c *Kinesis) GetShardIterator(input *GetShardIteratorInput) (*GetShardIteratorOutput, error) { req, out := c.GetShardIteratorRequest(input) err := req.Send() @@ -458,7 +916,30 @@ func (c *Kinesis) GetShardIterator(input *GetShardIteratorInput) (*GetShardItera const opIncreaseStreamRetentionPeriod = "IncreaseStreamRetentionPeriod" -// IncreaseStreamRetentionPeriodRequest generates a request for the IncreaseStreamRetentionPeriod operation. +// IncreaseStreamRetentionPeriodRequest generates a "aws/request.Request" representing the +// client's request for the IncreaseStreamRetentionPeriod operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See IncreaseStreamRetentionPeriod for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the IncreaseStreamRetentionPeriod method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the IncreaseStreamRetentionPeriodRequest method. +// req, resp := client.IncreaseStreamRetentionPeriodRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Kinesis) IncreaseStreamRetentionPeriodRequest(input *IncreaseStreamRetentionPeriodInput) (req *request.Request, output *IncreaseStreamRetentionPeriodOutput) { op := &request.Operation{ Name: opIncreaseStreamRetentionPeriod, @@ -478,6 +959,8 @@ func (c *Kinesis) IncreaseStreamRetentionPeriodRequest(input *IncreaseStreamRete return } +// IncreaseStreamRetentionPeriod API operation for Amazon Kinesis. +// // Increases the Amazon Kinesis stream's retention period, which is the length // of time data records are accessible after they are added to the stream. The // maximum value of a stream's retention period is 168 hours (7 days). @@ -489,6 +972,32 @@ func (c *Kinesis) IncreaseStreamRetentionPeriodRequest(input *IncreaseStreamRete // For example, if a stream's retention period is set to 24 hours and is increased // to 168 hours, any data that is older than 24 hours will remain inaccessible // to consumer applications. +// +// 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 Kinesis's +// API operation IncreaseStreamRetentionPeriod for usage and error information. +// +// Returned Error Codes: +// * ResourceInUseException +// The resource is not available for this operation. For successful operation, +// the resource needs to be in the ACTIVE state. +// +// * ResourceNotFoundException +// The requested resource could not be found. The stream might not be specified +// correctly, or it might not be in the ACTIVE state if the operation requires +// it. +// +// * LimitExceededException +// The requested resource exceeds the maximum number allowed, or the number +// of concurrent stream requests exceeds the maximum number allowed (5). +// +// * InvalidArgumentException +// A specified parameter exceeds its restrictions, is not supported, or can't +// be used. For more information, see the returned message. +// func (c *Kinesis) IncreaseStreamRetentionPeriod(input *IncreaseStreamRetentionPeriodInput) (*IncreaseStreamRetentionPeriodOutput, error) { req, out := c.IncreaseStreamRetentionPeriodRequest(input) err := req.Send() @@ -497,7 +1006,30 @@ func (c *Kinesis) IncreaseStreamRetentionPeriod(input *IncreaseStreamRetentionPe const opListStreams = "ListStreams" -// ListStreamsRequest generates a request for the ListStreams operation. +// ListStreamsRequest generates a "aws/request.Request" representing the +// client's request for the ListStreams operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListStreams for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListStreams method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListStreamsRequest method. +// req, resp := client.ListStreamsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Kinesis) ListStreamsRequest(input *ListStreamsInput) (req *request.Request, output *ListStreamsOutput) { op := &request.Operation{ Name: opListStreams, @@ -521,6 +1053,8 @@ func (c *Kinesis) ListStreamsRequest(input *ListStreamsInput) (req *request.Requ return } +// ListStreams API operation for Amazon Kinesis. +// // Lists your Amazon Kinesis streams. // // The number of streams may be too large to return from a single call to ListStreams. @@ -537,12 +1071,42 @@ func (c *Kinesis) ListStreamsRequest(input *ListStreamsInput) (req *request.Requ // until all the stream names have been collected in the list. // // ListStreams has a limit of 5 transactions per second per 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 Kinesis's +// API operation ListStreams for usage and error information. +// +// Returned Error Codes: +// * LimitExceededException +// The requested resource exceeds the maximum number allowed, or the number +// of concurrent stream requests exceeds the maximum number allowed (5). +// func (c *Kinesis) ListStreams(input *ListStreamsInput) (*ListStreamsOutput, error) { req, out := c.ListStreamsRequest(input) err := req.Send() return out, err } +// ListStreamsPages iterates over the pages of a ListStreams operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListStreams 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 ListStreams operation. +// pageNum := 0 +// err := client.ListStreamsPages(params, +// func(page *ListStreamsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *Kinesis) ListStreamsPages(input *ListStreamsInput, fn func(p *ListStreamsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListStreamsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -553,7 +1117,30 @@ func (c *Kinesis) ListStreamsPages(input *ListStreamsInput, fn func(p *ListStrea const opListTagsForStream = "ListTagsForStream" -// ListTagsForStreamRequest generates a request for the ListTagsForStream operation. +// ListTagsForStreamRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForStream operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListTagsForStream for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListTagsForStream method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListTagsForStreamRequest method. +// req, resp := client.ListTagsForStreamRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Kinesis) ListTagsForStreamRequest(input *ListTagsForStreamInput) (req *request.Request, output *ListTagsForStreamOutput) { op := &request.Operation{ Name: opListTagsForStream, @@ -571,7 +1158,31 @@ func (c *Kinesis) ListTagsForStreamRequest(input *ListTagsForStreamInput) (req * return } +// ListTagsForStream API operation for Amazon Kinesis. +// // Lists the tags for the specified Amazon Kinesis stream. +// +// 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 Kinesis's +// API operation ListTagsForStream for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// The requested resource could not be found. The stream might not be specified +// correctly, or it might not be in the ACTIVE state if the operation requires +// it. +// +// * InvalidArgumentException +// A specified parameter exceeds its restrictions, is not supported, or can't +// be used. For more information, see the returned message. +// +// * LimitExceededException +// The requested resource exceeds the maximum number allowed, or the number +// of concurrent stream requests exceeds the maximum number allowed (5). +// func (c *Kinesis) ListTagsForStream(input *ListTagsForStreamInput) (*ListTagsForStreamOutput, error) { req, out := c.ListTagsForStreamRequest(input) err := req.Send() @@ -580,7 +1191,30 @@ func (c *Kinesis) ListTagsForStream(input *ListTagsForStreamInput) (*ListTagsFor const opMergeShards = "MergeShards" -// MergeShardsRequest generates a request for the MergeShards operation. +// MergeShardsRequest generates a "aws/request.Request" representing the +// client's request for the MergeShards operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See MergeShards for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the MergeShards method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the MergeShardsRequest method. +// req, resp := client.MergeShardsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Kinesis) MergeShardsRequest(input *MergeShardsInput) (req *request.Request, output *MergeShardsOutput) { op := &request.Operation{ Name: opMergeShards, @@ -600,6 +1234,8 @@ func (c *Kinesis) MergeShardsRequest(input *MergeShardsInput) (req *request.Requ return } +// MergeShards API operation for Amazon Kinesis. +// // Merges two adjacent shards in an Amazon Kinesis stream and combines them // into a single shard to reduce the stream's capacity to ingest and transport // data. Two shards are considered adjacent if the union of the hash key ranges @@ -636,6 +1272,32 @@ func (c *Kinesis) MergeShardsRequest(input *MergeShardsInput) (req *request.Requ // DeleteStream, MergeShards or SplitShard, you will receive a LimitExceededException. // // MergeShards has limit of 5 transactions per second per 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 Kinesis's +// API operation MergeShards for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// The requested resource could not be found. The stream might not be specified +// correctly, or it might not be in the ACTIVE state if the operation requires +// it. +// +// * ResourceInUseException +// The resource is not available for this operation. For successful operation, +// the resource needs to be in the ACTIVE state. +// +// * InvalidArgumentException +// A specified parameter exceeds its restrictions, is not supported, or can't +// be used. For more information, see the returned message. +// +// * LimitExceededException +// The requested resource exceeds the maximum number allowed, or the number +// of concurrent stream requests exceeds the maximum number allowed (5). +// func (c *Kinesis) MergeShards(input *MergeShardsInput) (*MergeShardsOutput, error) { req, out := c.MergeShardsRequest(input) err := req.Send() @@ -644,7 +1306,30 @@ func (c *Kinesis) MergeShards(input *MergeShardsInput) (*MergeShardsOutput, erro const opPutRecord = "PutRecord" -// PutRecordRequest generates a request for the PutRecord operation. +// PutRecordRequest generates a "aws/request.Request" representing the +// client's request for the PutRecord operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutRecord for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutRecord method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutRecordRequest method. +// req, resp := client.PutRecordRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Kinesis) PutRecordRequest(input *PutRecordInput) (req *request.Request, output *PutRecordOutput) { op := &request.Operation{ Name: opPutRecord, @@ -662,6 +1347,8 @@ func (c *Kinesis) PutRecordRequest(input *PutRecordInput) (req *request.Request, return } +// PutRecord API operation for Amazon Kinesis. +// // Writes a single data record into an Amazon Kinesis stream. Call PutRecord // to send data into the stream for real-time ingestion and subsequent processing, // one record at a time. Each shard can support writes up to 1,000 records per @@ -700,6 +1387,32 @@ func (c *Kinesis) PutRecordRequest(input *PutRecordInput) (req *request.Request, // // Data records are accessible for only 24 hours from the time that they are // added to a stream. +// +// 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 Kinesis's +// API operation PutRecord for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// The requested resource could not be found. The stream might not be specified +// correctly, or it might not be in the ACTIVE state if the operation requires +// it. +// +// * InvalidArgumentException +// A specified parameter exceeds its restrictions, is not supported, or can't +// be used. For more information, see the returned message. +// +// * ProvisionedThroughputExceededException +// The request rate for the stream is too high, or the requested data is too +// large for the available throughput. Reduce the frequency or size of your +// requests. For more information, see Streams Limits (http://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) +// in the Amazon Kinesis Streams Developer Guide, and Error Retries and Exponential +// Backoff in AWS (http://docs.aws.amazon.com/general/latest/gr/api-retries.html) +// in the AWS General Reference. +// func (c *Kinesis) PutRecord(input *PutRecordInput) (*PutRecordOutput, error) { req, out := c.PutRecordRequest(input) err := req.Send() @@ -708,7 +1421,30 @@ func (c *Kinesis) PutRecord(input *PutRecordInput) (*PutRecordOutput, error) { const opPutRecords = "PutRecords" -// PutRecordsRequest generates a request for the PutRecords operation. +// PutRecordsRequest generates a "aws/request.Request" representing the +// client's request for the PutRecords operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutRecords for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutRecords method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutRecordsRequest method. +// req, resp := client.PutRecordsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Kinesis) PutRecordsRequest(input *PutRecordsInput) (req *request.Request, output *PutRecordsOutput) { op := &request.Operation{ Name: opPutRecords, @@ -726,6 +1462,8 @@ func (c *Kinesis) PutRecordsRequest(input *PutRecordsInput) (req *request.Reques return } +// PutRecords API operation for Amazon Kinesis. +// // Writes multiple data records into an Amazon Kinesis stream in a single call // (also referred to as a PutRecords request). Use this operation to send data // into the stream for data ingestion and processing. @@ -786,6 +1524,32 @@ func (c *Kinesis) PutRecordsRequest(input *PutRecordsInput) (req *request.Reques // that they are added to an Amazon Kinesis stream. This retention period can // be modified using the DecreaseStreamRetentionPeriod and IncreaseStreamRetentionPeriod // operations. +// +// 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 Kinesis's +// API operation PutRecords for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// The requested resource could not be found. The stream might not be specified +// correctly, or it might not be in the ACTIVE state if the operation requires +// it. +// +// * InvalidArgumentException +// A specified parameter exceeds its restrictions, is not supported, or can't +// be used. For more information, see the returned message. +// +// * ProvisionedThroughputExceededException +// The request rate for the stream is too high, or the requested data is too +// large for the available throughput. Reduce the frequency or size of your +// requests. For more information, see Streams Limits (http://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) +// in the Amazon Kinesis Streams Developer Guide, and Error Retries and Exponential +// Backoff in AWS (http://docs.aws.amazon.com/general/latest/gr/api-retries.html) +// in the AWS General Reference. +// func (c *Kinesis) PutRecords(input *PutRecordsInput) (*PutRecordsOutput, error) { req, out := c.PutRecordsRequest(input) err := req.Send() @@ -794,7 +1558,30 @@ func (c *Kinesis) PutRecords(input *PutRecordsInput) (*PutRecordsOutput, error) const opRemoveTagsFromStream = "RemoveTagsFromStream" -// RemoveTagsFromStreamRequest generates a request for the RemoveTagsFromStream operation. +// RemoveTagsFromStreamRequest generates a "aws/request.Request" representing the +// client's request for the RemoveTagsFromStream operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RemoveTagsFromStream for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RemoveTagsFromStream method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RemoveTagsFromStreamRequest method. +// req, resp := client.RemoveTagsFromStreamRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Kinesis) RemoveTagsFromStreamRequest(input *RemoveTagsFromStreamInput) (req *request.Request, output *RemoveTagsFromStreamOutput) { op := &request.Operation{ Name: opRemoveTagsFromStream, @@ -814,10 +1601,38 @@ func (c *Kinesis) RemoveTagsFromStreamRequest(input *RemoveTagsFromStreamInput) return } +// RemoveTagsFromStream API operation for Amazon Kinesis. +// // Removes tags from the specified Amazon Kinesis stream. Removed tags are deleted // and cannot be recovered after this operation successfully completes. // // If you specify a tag that does not exist, it is ignored. +// +// 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 Kinesis's +// API operation RemoveTagsFromStream for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// The requested resource could not be found. The stream might not be specified +// correctly, or it might not be in the ACTIVE state if the operation requires +// it. +// +// * ResourceInUseException +// The resource is not available for this operation. For successful operation, +// the resource needs to be in the ACTIVE state. +// +// * InvalidArgumentException +// A specified parameter exceeds its restrictions, is not supported, or can't +// be used. For more information, see the returned message. +// +// * LimitExceededException +// The requested resource exceeds the maximum number allowed, or the number +// of concurrent stream requests exceeds the maximum number allowed (5). +// func (c *Kinesis) RemoveTagsFromStream(input *RemoveTagsFromStreamInput) (*RemoveTagsFromStreamOutput, error) { req, out := c.RemoveTagsFromStreamRequest(input) err := req.Send() @@ -826,7 +1641,30 @@ func (c *Kinesis) RemoveTagsFromStream(input *RemoveTagsFromStreamInput) (*Remov const opSplitShard = "SplitShard" -// SplitShardRequest generates a request for the SplitShard operation. +// SplitShardRequest generates a "aws/request.Request" representing the +// client's request for the SplitShard operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SplitShard for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SplitShard method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SplitShardRequest method. +// req, resp := client.SplitShardRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Kinesis) SplitShardRequest(input *SplitShardInput) (req *request.Request, output *SplitShardOutput) { op := &request.Operation{ Name: opSplitShard, @@ -846,6 +1684,8 @@ func (c *Kinesis) SplitShardRequest(input *SplitShardInput) (req *request.Reques return } +// SplitShard API operation for Amazon Kinesis. +// // Splits a shard into two new shards in the Amazon Kinesis stream to increase // the stream's capacity to ingest and transport data. SplitShard is called // when there is a need to increase the overall capacity of a stream because @@ -891,6 +1731,32 @@ func (c *Kinesis) SplitShardRequest(input *SplitShardInput) (req *request.Reques // DeleteStream, MergeShards, and/or SplitShard, you receive a LimitExceededException. // // SplitShard has limit of 5 transactions per second per 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 Kinesis's +// API operation SplitShard for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// The requested resource could not be found. The stream might not be specified +// correctly, or it might not be in the ACTIVE state if the operation requires +// it. +// +// * ResourceInUseException +// The resource is not available for this operation. For successful operation, +// the resource needs to be in the ACTIVE state. +// +// * InvalidArgumentException +// A specified parameter exceeds its restrictions, is not supported, or can't +// be used. For more information, see the returned message. +// +// * LimitExceededException +// The requested resource exceeds the maximum number allowed, or the number +// of concurrent stream requests exceeds the maximum number allowed (5). +// func (c *Kinesis) SplitShard(input *SplitShardInput) (*SplitShardOutput, error) { req, out := c.SplitShardRequest(input) err := req.Send() @@ -902,9 +1768,13 @@ type AddTagsToStreamInput struct { _ struct{} `type:"structure"` // The name of the stream. + // + // StreamName is a required field StreamName *string `min:"1" type:"string" required:"true"` // The set of key-value pairs to use to create the tags. + // + // Tags is a required field Tags map[string]*string `min:"1" type:"map" required:"true"` } @@ -963,6 +1833,8 @@ type CreateStreamInput struct { // provisioned throughput. // // DefaultShardLimit; + // + // ShardCount is a required field ShardCount *int64 `min:"1" type:"integer" required:"true"` // A name to identify the stream. The stream name is scoped to the AWS account @@ -970,6 +1842,8 @@ type CreateStreamInput struct { // That is, two streams in two different AWS accounts can have the same name, // and two streams in the same AWS account but in two different regions can // have the same name. + // + // StreamName is a required field StreamName *string `min:"1" type:"string" required:"true"` } @@ -1025,9 +1899,13 @@ type DecreaseStreamRetentionPeriodInput struct { // The new retention period of the stream, in hours. Must be less than the current // retention period. + // + // RetentionPeriodHours is a required field RetentionPeriodHours *int64 `min:"24" type:"integer" required:"true"` // The name of the stream to modify. + // + // StreamName is a required field StreamName *string `min:"1" type:"string" required:"true"` } @@ -1082,6 +1960,8 @@ type DeleteStreamInput struct { _ struct{} `type:"structure"` // The name of the stream to delete. + // + // StreamName is a required field StreamName *string `min:"1" type:"string" required:"true"` } @@ -1136,6 +2016,8 @@ type DescribeStreamInput struct { Limit *int64 `min:"1" type:"integer"` // The name of the stream to describe. + // + // StreamName is a required field StreamName *string `min:"1" type:"string" required:"true"` } @@ -1177,6 +2059,8 @@ type DescribeStreamOutput struct { // The current status of the stream, the stream ARN, an array of shard objects // that comprise the stream, and states whether there are more shards available. + // + // StreamDescription is a required field StreamDescription *StreamDescription `type:"structure" required:"true"` } @@ -1204,9 +2088,13 @@ type DisableEnhancedMonitoringInput struct { // more information, see Monitoring the Amazon Kinesis Streams Service with // Amazon CloudWatch (http://docs.aws.amazon.com/kinesis/latest/dev/monitoring-with-cloudwatch.html) // in the Amazon Kinesis Streams Developer Guide. + // + // ShardLevelMetrics is a required field ShardLevelMetrics []*string `min:"1" type:"list" required:"true"` // The name of the Amazon Kinesis stream for which to disable enhanced monitoring. + // + // StreamName is a required field StreamName *string `min:"1" type:"string" required:"true"` } @@ -1256,9 +2144,13 @@ type EnableEnhancedMonitoringInput struct { // more information, see Monitoring the Amazon Kinesis Streams Service with // Amazon CloudWatch (http://docs.aws.amazon.com/kinesis/latest/dev/monitoring-with-cloudwatch.html) // in the Amazon Kinesis Streams Developer Guide. + // + // ShardLevelMetrics is a required field ShardLevelMetrics []*string `min:"1" type:"list" required:"true"` // The name of the stream for which to enable enhanced monitoring. + // + // StreamName is a required field StreamName *string `min:"1" type:"string" required:"true"` } @@ -1358,6 +2250,8 @@ type GetRecordsInput struct { // The position in the shard from which you want to start sequentially reading // data records. A shard iterator specifies this position using the sequence // number of a data record in the shard. + // + // ShardIterator is a required field ShardIterator *string `min:"1" type:"string" required:"true"` } @@ -1406,6 +2300,8 @@ type GetRecordsOutput struct { NextShardIterator *string `min:"1" type:"string"` // The data records retrieved from the shard. + // + // Records is a required field Records []*Record `type:"list" required:"true"` } @@ -1424,6 +2320,8 @@ type GetShardIteratorInput struct { _ struct{} `type:"structure"` // The shard ID of the Amazon Kinesis shard to get the iterator for. + // + // ShardId is a required field ShardId *string `min:"1" type:"string" required:"true"` // Determines how the shard iterator is used to start reading data records from @@ -1440,6 +2338,8 @@ type GetShardIteratorInput struct { // shard in the system, which is the oldest data record in the shard. LATEST // - Start reading just after the most recent record in the shard, so that you // always read the most recent data in the shard. + // + // ShardIteratorType is a required field ShardIteratorType *string `type:"string" required:"true" enum:"ShardIteratorType"` // The sequence number of the data record in the shard from which to start reading. @@ -1447,6 +2347,8 @@ type GetShardIteratorInput struct { StartingSequenceNumber *string `type:"string"` // The name of the Amazon Kinesis stream. + // + // StreamName is a required field StreamName *string `min:"1" type:"string" required:"true"` // The timestamp of the data record from which to start reading. Used with shard @@ -1520,9 +2422,13 @@ type HashKeyRange struct { _ struct{} `type:"structure"` // The ending hash key of the hash key range. + // + // EndingHashKey is a required field EndingHashKey *string `type:"string" required:"true"` // The starting hash key of the hash key range. + // + // StartingHashKey is a required field StartingHashKey *string `type:"string" required:"true"` } @@ -1542,9 +2448,13 @@ type IncreaseStreamRetentionPeriodInput struct { // The new retention period of the stream, in hours. Must be more than the current // retention period. + // + // RetentionPeriodHours is a required field RetentionPeriodHours *int64 `min:"24" type:"integer" required:"true"` // The name of the stream to modify. + // + // StreamName is a required field StreamName *string `min:"1" type:"string" required:"true"` } @@ -1636,10 +2546,14 @@ type ListStreamsOutput struct { _ struct{} `type:"structure"` // If set to true, there are more streams available to list. + // + // HasMoreStreams is a required field HasMoreStreams *bool `type:"boolean" required:"true"` // The names of the streams that are associated with the AWS account making // the ListStreams request. + // + // StreamNames is a required field StreamNames []*string `type:"list" required:"true"` } @@ -1667,6 +2581,8 @@ type ListTagsForStreamInput struct { Limit *int64 `min:"1" type:"integer"` // The name of the stream. + // + // StreamName is a required field StreamName *string `min:"1" type:"string" required:"true"` } @@ -1708,10 +2624,14 @@ type ListTagsForStreamOutput struct { // If set to true, more tags are available. To request additional tags, set // ExclusiveStartTagKey to the key of the last tag returned. + // + // HasMoreTags is a required field HasMoreTags *bool `type:"boolean" required:"true"` // A list of tags associated with StreamName, starting with the first tag after // ExclusiveStartTagKey and up to the specified Limit. + // + // Tags is a required field Tags []*Tag `type:"list" required:"true"` } @@ -1730,12 +2650,18 @@ type MergeShardsInput struct { _ struct{} `type:"structure"` // The shard ID of the adjacent shard for the merge. + // + // AdjacentShardToMerge is a required field AdjacentShardToMerge *string `min:"1" type:"string" required:"true"` // The shard ID of the shard to combine with the adjacent shard for the merge. + // + // ShardToMerge is a required field ShardToMerge *string `min:"1" type:"string" required:"true"` // The name of the stream for the merge. + // + // StreamName is a required field StreamName *string `min:"1" type:"string" required:"true"` } @@ -1801,6 +2727,8 @@ type PutRecordInput struct { // record size (1 MB). // // Data is automatically base64 encoded/decoded by the SDK. + // + // Data is a required field Data []byte `type:"blob" required:"true"` // The hash value used to explicitly determine the shard the data record is @@ -1815,6 +2743,8 @@ type PutRecordInput struct { // and to map associated data records to shards. As a result of this hashing // mechanism, all data records with the same partition key map to the same shard // within the stream. + // + // PartitionKey is a required field PartitionKey *string `min:"1" type:"string" required:"true"` // Guarantees strictly increasing sequence numbers, for puts from the same client @@ -1825,6 +2755,8 @@ type PutRecordInput struct { SequenceNumberForOrdering *string `type:"string"` // The name of the stream to put the data record into. + // + // StreamName is a required field StreamName *string `min:"1" type:"string" required:"true"` } @@ -1871,9 +2803,13 @@ type PutRecordOutput struct { // The sequence number for the record is unique across all records in the stream. // A sequence number is the identifier associated with every record put into // the stream. + // + // SequenceNumber is a required field SequenceNumber *string `type:"string" required:"true"` // The shard ID of the shard where the data record was placed. + // + // ShardId is a required field ShardId *string `min:"1" type:"string" required:"true"` } @@ -1892,9 +2828,13 @@ type PutRecordsInput struct { _ struct{} `type:"structure"` // The records associated with the request. + // + // Records is a required field Records []*PutRecordsRequestEntry `min:"1" type:"list" required:"true"` // The stream name associated with the request. + // + // StreamName is a required field StreamName *string `min:"1" type:"string" required:"true"` } @@ -1952,6 +2892,8 @@ type PutRecordsOutput struct { // to a stream includes SequenceNumber and ShardId in the result. A record that // fails to be added to a stream includes ErrorCode and ErrorMessage in the // result. + // + // Records is a required field Records []*PutRecordsResultEntry `min:"1" type:"list" required:"true"` } @@ -1975,6 +2917,8 @@ type PutRecordsRequestEntry struct { // record size (1 MB). // // Data is automatically base64 encoded/decoded by the SDK. + // + // Data is a required field Data []byte `type:"blob" required:"true"` // The hash value used to determine explicitly the shard that the data record @@ -1989,6 +2933,8 @@ type PutRecordsRequestEntry struct { // and to map associated data records to shards. As a result of this hashing // mechanism, all data records with the same partition key map to the same shard // within the stream. + // + // PartitionKey is a required field PartitionKey *string `min:"1" type:"string" required:"true"` } @@ -2070,12 +3016,18 @@ type Record struct { // record size (1 MB). // // Data is automatically base64 encoded/decoded by the SDK. + // + // Data is a required field Data []byte `type:"blob" required:"true"` // Identifies which shard in the stream the data record is assigned to. + // + // PartitionKey is a required field PartitionKey *string `min:"1" type:"string" required:"true"` // The unique identifier of the record in the stream. + // + // SequenceNumber is a required field SequenceNumber *string `type:"string" required:"true"` } @@ -2094,9 +3046,13 @@ type RemoveTagsFromStreamInput struct { _ struct{} `type:"structure"` // The name of the stream. + // + // StreamName is a required field StreamName *string `min:"1" type:"string" required:"true"` // A list of tag keys. Each corresponding tag is removed from the stream. + // + // TagKeys is a required field TagKeys []*string `min:"1" type:"list" required:"true"` } @@ -2155,6 +3111,8 @@ type SequenceNumberRange struct { EndingSequenceNumber *string `type:"string"` // The starting sequence number for the range. + // + // StartingSequenceNumber is a required field StartingSequenceNumber *string `type:"string" required:"true"` } @@ -2177,15 +3135,21 @@ type Shard struct { // The range of possible hash key values for the shard, which is a set of ordered // contiguous positive integers. + // + // HashKeyRange is a required field HashKeyRange *HashKeyRange `type:"structure" required:"true"` // The shard ID of the shard's parent. ParentShardId *string `min:"1" type:"string"` // The range of possible sequence numbers for the shard. + // + // SequenceNumberRange is a required field SequenceNumberRange *SequenceNumberRange `type:"structure" required:"true"` // The unique identifier of the shard within the stream. + // + // ShardId is a required field ShardId *string `min:"1" type:"string" required:"true"` } @@ -2210,12 +3174,18 @@ type SplitShardInput struct { // hash key value and all higher hash key values in hash key range are distributed // to one of the child shards. All the lower hash key values in the range are // distributed to the other child shard. + // + // NewStartingHashKey is a required field NewStartingHashKey *string `type:"string" required:"true"` // The shard ID of the shard to split. + // + // ShardToSplit is a required field ShardToSplit *string `min:"1" type:"string" required:"true"` // The name of the stream for the shard split. + // + // StreamName is a required field StreamName *string `min:"1" type:"string" required:"true"` } @@ -2273,21 +3243,33 @@ type StreamDescription struct { _ struct{} `type:"structure"` // Represents the current enhanced monitoring settings of the stream. + // + // EnhancedMonitoring is a required field EnhancedMonitoring []*EnhancedMetrics `type:"list" required:"true"` // If set to true, more shards in the stream are available to describe. + // + // HasMoreShards is a required field HasMoreShards *bool `type:"boolean" required:"true"` // The current retention period, in hours. + // + // RetentionPeriodHours is a required field RetentionPeriodHours *int64 `min:"24" type:"integer" required:"true"` // The shards that comprise the stream. + // + // Shards is a required field Shards []*Shard `type:"list" required:"true"` // The Amazon Resource Name (ARN) for the stream being described. + // + // StreamARN is a required field StreamARN *string `type:"string" required:"true"` // The name of the stream being described. + // + // StreamName is a required field StreamName *string `min:"1" type:"string" required:"true"` // The current status of the stream being described. The stream status is one @@ -2301,6 +3283,8 @@ type StreamDescription struct { // on an ACTIVE stream. UPDATING - Shards in the stream are being merged or // split. Read and write operations continue to work while the stream is in // the UPDATING state. + // + // StreamStatus is a required field StreamStatus *string `type:"string" required:"true" enum:"StreamStatus"` } @@ -2320,6 +3304,8 @@ type Tag struct { // A unique identifier for the tag. Maximum length: 128 characters. Valid characters: // Unicode letters, digits, white space, _ . / = + - % @ + // + // Key is a required field Key *string `min:"1" type:"string" required:"true"` // An optional string, typically used to describe or define the tag. Maximum @@ -2339,44 +3325,58 @@ func (s Tag) GoString() string { } const ( - // @enum MetricsName + // MetricsNameIncomingBytes is a MetricsName enum value MetricsNameIncomingBytes = "IncomingBytes" - // @enum MetricsName + + // MetricsNameIncomingRecords is a MetricsName enum value MetricsNameIncomingRecords = "IncomingRecords" - // @enum MetricsName + + // MetricsNameOutgoingBytes is a MetricsName enum value MetricsNameOutgoingBytes = "OutgoingBytes" - // @enum MetricsName + + // MetricsNameOutgoingRecords is a MetricsName enum value MetricsNameOutgoingRecords = "OutgoingRecords" - // @enum MetricsName + + // MetricsNameWriteProvisionedThroughputExceeded is a MetricsName enum value MetricsNameWriteProvisionedThroughputExceeded = "WriteProvisionedThroughputExceeded" - // @enum MetricsName + + // MetricsNameReadProvisionedThroughputExceeded is a MetricsName enum value MetricsNameReadProvisionedThroughputExceeded = "ReadProvisionedThroughputExceeded" - // @enum MetricsName + + // MetricsNameIteratorAgeMilliseconds is a MetricsName enum value MetricsNameIteratorAgeMilliseconds = "IteratorAgeMilliseconds" - // @enum MetricsName + + // MetricsNameAll is a MetricsName enum value MetricsNameAll = "ALL" ) const ( - // @enum ShardIteratorType + // ShardIteratorTypeAtSequenceNumber is a ShardIteratorType enum value ShardIteratorTypeAtSequenceNumber = "AT_SEQUENCE_NUMBER" - // @enum ShardIteratorType + + // ShardIteratorTypeAfterSequenceNumber is a ShardIteratorType enum value ShardIteratorTypeAfterSequenceNumber = "AFTER_SEQUENCE_NUMBER" - // @enum ShardIteratorType + + // ShardIteratorTypeTrimHorizon is a ShardIteratorType enum value ShardIteratorTypeTrimHorizon = "TRIM_HORIZON" - // @enum ShardIteratorType + + // ShardIteratorTypeLatest is a ShardIteratorType enum value ShardIteratorTypeLatest = "LATEST" - // @enum ShardIteratorType + + // ShardIteratorTypeAtTimestamp is a ShardIteratorType enum value ShardIteratorTypeAtTimestamp = "AT_TIMESTAMP" ) const ( - // @enum StreamStatus + // StreamStatusCreating is a StreamStatus enum value StreamStatusCreating = "CREATING" - // @enum StreamStatus + + // StreamStatusDeleting is a StreamStatus enum value StreamStatusDeleting = "DELETING" - // @enum StreamStatus + + // StreamStatusActive is a StreamStatus enum value StreamStatusActive = "ACTIVE" - // @enum StreamStatus + + // StreamStatusUpdating is a StreamStatus enum value StreamStatusUpdating = "UPDATING" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/kinesis/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/kinesis/waiters.go index 383a2e0b73dc..c1f56d6c16a5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kinesis/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kinesis/waiters.go @@ -6,6 +6,10 @@ import ( "github.com/aws/aws-sdk-go/private/waiter" ) +// WaitUntilStreamExists uses the Kinesis API operation +// DescribeStream to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *Kinesis) WaitUntilStreamExists(input *DescribeStreamInput) error { waiterCfg := waiter.Config{ Operation: "DescribeStream", diff --git a/vendor/github.com/aws/aws-sdk-go/service/kms/api.go b/vendor/github.com/aws/aws-sdk-go/service/kms/api.go index 3caa3a83f0fb..a11bddc41193 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kms/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kms/api.go @@ -14,7 +14,30 @@ import ( const opCancelKeyDeletion = "CancelKeyDeletion" -// CancelKeyDeletionRequest generates a request for the CancelKeyDeletion operation. +// CancelKeyDeletionRequest generates a "aws/request.Request" representing the +// client's request for the CancelKeyDeletion operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CancelKeyDeletion for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CancelKeyDeletion method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CancelKeyDeletionRequest method. +// req, resp := client.CancelKeyDeletionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) CancelKeyDeletionRequest(input *CancelKeyDeletionInput) (req *request.Request, output *CancelKeyDeletionOutput) { op := &request.Operation{ Name: opCancelKeyDeletion, @@ -32,13 +55,47 @@ func (c *KMS) CancelKeyDeletionRequest(input *CancelKeyDeletionInput) (req *requ return } +// CancelKeyDeletion API operation for AWS Key Management Service. +// // Cancels the deletion of a customer master key (CMK). When this operation // is successful, the CMK is set to the Disabled state. To enable a CMK, use // EnableKey. // -// For more information about scheduling and canceling deletion of a CMK, go -// to Deleting Customer Master Keys (http://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html) +// For more information about scheduling and canceling deletion of a CMK, see +// Deleting Customer Master Keys (http://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html) // in the AWS Key Management Service Developer 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 +// the error. +// +// See the AWS API reference guide for AWS Key Management Service's +// API operation CancelKeyDeletion for usage and error information. +// +// Returned Error Codes: +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * InvalidArnException +// The request was rejected because a specified ARN was not valid. +// +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * InvalidStateException +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// func (c *KMS) CancelKeyDeletion(input *CancelKeyDeletionInput) (*CancelKeyDeletionOutput, error) { req, out := c.CancelKeyDeletionRequest(input) err := req.Send() @@ -47,7 +104,30 @@ func (c *KMS) CancelKeyDeletion(input *CancelKeyDeletionInput) (*CancelKeyDeleti const opCreateAlias = "CreateAlias" -// CreateAliasRequest generates a request for the CreateAlias operation. +// CreateAliasRequest generates a "aws/request.Request" representing the +// client's request for the CreateAlias operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateAlias for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateAlias method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateAliasRequest method. +// req, resp := client.CreateAliasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) CreateAliasRequest(input *CreateAliasInput) (req *request.Request, output *CreateAliasOutput) { op := &request.Operation{ Name: opCreateAlias, @@ -67,6 +147,8 @@ func (c *KMS) CreateAliasRequest(input *CreateAliasInput) (req *request.Request, return } +// CreateAlias API operation for AWS Key Management Service. +// // Creates a display name for a customer master key. An alias can be used to // identify a key and should be unique. The console enforces a one-to-one mapping // between the alias and a key. An alias name can contain only alphanumeric @@ -79,6 +161,47 @@ func (c *KMS) CreateAliasRequest(input *CreateAliasInput) (req *request.Request, // the same region. // // To map an alias to a different key, call UpdateAlias. +// +// 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 Key Management Service's +// API operation CreateAlias for usage and error information. +// +// Returned Error Codes: +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * AlreadyExistsException +// The request was rejected because it attempted to create a resource that already +// exists. +// +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * InvalidAliasNameException +// The request was rejected because the specified alias name is not valid. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * LimitExceededException +// The request was rejected because a limit was exceeded. For more information, +// see Limits (http://docs.aws.amazon.com/kms/latest/developerguide/limits.html) +// in the AWS Key Management Service Developer Guide. +// +// * InvalidStateException +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// func (c *KMS) CreateAlias(input *CreateAliasInput) (*CreateAliasOutput, error) { req, out := c.CreateAliasRequest(input) err := req.Send() @@ -87,7 +210,30 @@ func (c *KMS) CreateAlias(input *CreateAliasInput) (*CreateAliasOutput, error) { const opCreateGrant = "CreateGrant" -// CreateGrantRequest generates a request for the CreateGrant operation. +// CreateGrantRequest generates a "aws/request.Request" representing the +// client's request for the CreateGrant operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateGrant for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateGrant method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateGrantRequest method. +// req, resp := client.CreateGrantRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) CreateGrantRequest(input *CreateGrantInput) (req *request.Request, output *CreateGrantOutput) { op := &request.Operation{ Name: opCreateGrant, @@ -105,11 +251,56 @@ func (c *KMS) CreateGrantRequest(input *CreateGrantInput) (req *request.Request, return } +// CreateGrant API operation for AWS Key Management Service. +// // Adds a grant to a key to specify who can use the key and under what conditions. // Grants are alternate permission mechanisms to key policies. // // For more information about grants, see Grants (http://docs.aws.amazon.com/kms/latest/developerguide/grants.html) // in the AWS Key Management Service Developer 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 +// the error. +// +// See the AWS API reference guide for AWS Key Management Service's +// API operation CreateGrant for usage and error information. +// +// Returned Error Codes: +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * DisabledException +// The request was rejected because the specified CMK is not enabled. +// +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * InvalidArnException +// The request was rejected because a specified ARN was not valid. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * InvalidGrantTokenException +// The request was rejected because the specified grant token is not valid. +// +// * LimitExceededException +// The request was rejected because a limit was exceeded. For more information, +// see Limits (http://docs.aws.amazon.com/kms/latest/developerguide/limits.html) +// in the AWS Key Management Service Developer Guide. +// +// * InvalidStateException +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// func (c *KMS) CreateGrant(input *CreateGrantInput) (*CreateGrantOutput, error) { req, out := c.CreateGrantRequest(input) err := req.Send() @@ -118,7 +309,30 @@ func (c *KMS) CreateGrant(input *CreateGrantInput) (*CreateGrantOutput, error) { const opCreateKey = "CreateKey" -// CreateKeyRequest generates a request for the CreateKey operation. +// CreateKeyRequest generates a "aws/request.Request" representing the +// client's request for the CreateKey operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateKey for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateKey method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateKeyRequest method. +// req, resp := client.CreateKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) CreateKeyRequest(input *CreateKeyInput) (req *request.Request, output *CreateKeyOutput) { op := &request.Operation{ Name: opCreateKey, @@ -136,10 +350,52 @@ func (c *KMS) CreateKeyRequest(input *CreateKeyInput) (req *request.Request, out return } -// Creates a customer master key. Customer master keys can be used to encrypt -// small amounts of data (less than 4K) directly, but they are most commonly -// used to encrypt or envelope data keys that are then used to encrypt customer -// data. For more information about data keys, see GenerateDataKey and GenerateDataKeyWithoutPlaintext. +// CreateKey API operation for AWS Key Management Service. +// +// Creates a customer master key (CMK). +// +// You can use a CMK to encrypt small amounts of data (4 KiB or less) directly, +// but CMKs are more commonly used to encrypt data encryption keys (DEKs), which +// are used to encrypt raw data. For more information about DEKs and the difference +// between CMKs and DEKs, see the following: +// +// The GenerateDataKey operation +// +// AWS Key Management Service Concepts (http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html) +// in the AWS Key Management Service Developer 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 +// the error. +// +// See the AWS API reference guide for AWS Key Management Service's +// API operation CreateKey for usage and error information. +// +// Returned Error Codes: +// * MalformedPolicyDocumentException +// The request was rejected because the specified policy is not syntactically +// or semantically correct. +// +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * InvalidArnException +// The request was rejected because a specified ARN was not valid. +// +// * UnsupportedOperationException +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * LimitExceededException +// The request was rejected because a limit was exceeded. For more information, +// see Limits (http://docs.aws.amazon.com/kms/latest/developerguide/limits.html) +// in the AWS Key Management Service Developer Guide. +// func (c *KMS) CreateKey(input *CreateKeyInput) (*CreateKeyOutput, error) { req, out := c.CreateKeyRequest(input) err := req.Send() @@ -148,7 +404,30 @@ func (c *KMS) CreateKey(input *CreateKeyInput) (*CreateKeyOutput, error) { const opDecrypt = "Decrypt" -// DecryptRequest generates a request for the Decrypt operation. +// DecryptRequest generates a "aws/request.Request" representing the +// client's request for the Decrypt operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See Decrypt for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the Decrypt method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DecryptRequest method. +// req, resp := client.DecryptRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) DecryptRequest(input *DecryptInput) (req *request.Request, output *DecryptOutput) { op := &request.Operation{ Name: opDecrypt, @@ -166,18 +445,68 @@ func (c *KMS) DecryptRequest(input *DecryptInput) (req *request.Request, output return } +// Decrypt API operation for AWS Key Management Service. +// // Decrypts ciphertext. Ciphertext is plaintext that has been previously encrypted -// by using any of the following functions: GenerateDataKey GenerateDataKeyWithoutPlaintext -// Encrypt -// -// Note that if a caller has been granted access permissions to all keys (through, -// for example, IAM user policies that grant Decrypt permission on all resources), -// then ciphertext encrypted by using keys in other accounts where the key grants -// access to the caller can be decrypted. To remedy this, we recommend that -// you do not grant Decrypt access in an IAM user policy. Instead grant Decrypt -// access only in key policies. If you must grant Decrypt access in an IAM user -// policy, you should scope the resource to specific keys or to specific trusted -// accounts. +// by using any of the following functions: +// +// GenerateDataKey +// +// GenerateDataKeyWithoutPlaintext +// +// Encrypt +// +// Note that if a caller has been granted access permissions to all keys +// (through, for example, IAM user policies that grant Decrypt permission on +// all resources), then ciphertext encrypted by using keys in other accounts +// where the key grants access to the caller can be decrypted. To remedy this, +// we recommend that you do not grant Decrypt access in an IAM user policy. +// Instead grant Decrypt access only in key policies. If you must grant Decrypt +// access in an IAM user policy, you should scope the resource to specific keys +// or to specific trusted accounts. +// +// 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 Key Management Service's +// API operation Decrypt for usage and error information. +// +// Returned Error Codes: +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * DisabledException +// The request was rejected because the specified CMK is not enabled. +// +// * InvalidCiphertextException +// The request was rejected because the specified ciphertext has been corrupted +// or is otherwise invalid. +// +// * KeyUnavailableException +// The request was rejected because the specified CMK was not available. The +// request can be retried. +// +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * InvalidGrantTokenException +// The request was rejected because the specified grant token is not valid. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * InvalidStateException +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// func (c *KMS) Decrypt(input *DecryptInput) (*DecryptOutput, error) { req, out := c.DecryptRequest(input) err := req.Send() @@ -186,7 +515,30 @@ func (c *KMS) Decrypt(input *DecryptInput) (*DecryptOutput, error) { const opDeleteAlias = "DeleteAlias" -// DeleteAliasRequest generates a request for the DeleteAlias operation. +// DeleteAliasRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAlias operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteAlias for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteAlias method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteAliasRequest method. +// req, resp := client.DeleteAliasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) DeleteAliasRequest(input *DeleteAliasInput) (req *request.Request, output *DeleteAliasOutput) { op := &request.Operation{ Name: opDeleteAlias, @@ -206,16 +558,169 @@ func (c *KMS) DeleteAliasRequest(input *DeleteAliasInput) (req *request.Request, return } +// DeleteAlias API operation for AWS Key Management Service. +// // Deletes the specified alias. To map an alias to a different key, call UpdateAlias. +// +// 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 Key Management Service's +// API operation DeleteAlias for usage and error information. +// +// Returned Error Codes: +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * InvalidStateException +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// func (c *KMS) DeleteAlias(input *DeleteAliasInput) (*DeleteAliasOutput, error) { req, out := c.DeleteAliasRequest(input) err := req.Send() return out, err } +const opDeleteImportedKeyMaterial = "DeleteImportedKeyMaterial" + +// DeleteImportedKeyMaterialRequest generates a "aws/request.Request" representing the +// client's request for the DeleteImportedKeyMaterial operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteImportedKeyMaterial for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteImportedKeyMaterial method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteImportedKeyMaterialRequest method. +// req, resp := client.DeleteImportedKeyMaterialRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *KMS) DeleteImportedKeyMaterialRequest(input *DeleteImportedKeyMaterialInput) (req *request.Request, output *DeleteImportedKeyMaterialOutput) { + op := &request.Operation{ + Name: opDeleteImportedKeyMaterial, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteImportedKeyMaterialInput{} + } + + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + output = &DeleteImportedKeyMaterialOutput{} + req.Data = output + return +} + +// DeleteImportedKeyMaterial API operation for AWS Key Management Service. +// +// Deletes key material that you previously imported and makes the specified +// customer master key (CMK) unusable. For more information about importing +// key material into AWS KMS, see Importing Key Material (http://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) +// in the AWS Key Management Service Developer Guide. +// +// When the specified CMK is in the PendingDeletion state, this operation does +// not change the CMK's state. Otherwise, it changes the CMK's state to PendingImport. +// +// After you delete key material, you can use ImportKeyMaterial to reimport +// the same key material into the CMK. +// +// 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 Key Management Service's +// API operation DeleteImportedKeyMaterial for usage and error information. +// +// Returned Error Codes: +// * InvalidArnException +// The request was rejected because a specified ARN was not valid. +// +// * UnsupportedOperationException +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. +// +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * InvalidStateException +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// +func (c *KMS) DeleteImportedKeyMaterial(input *DeleteImportedKeyMaterialInput) (*DeleteImportedKeyMaterialOutput, error) { + req, out := c.DeleteImportedKeyMaterialRequest(input) + err := req.Send() + return out, err +} + const opDescribeKey = "DescribeKey" -// DescribeKeyRequest generates a request for the DescribeKey operation. +// DescribeKeyRequest generates a "aws/request.Request" representing the +// client's request for the DescribeKey operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeKey for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeKey method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeKeyRequest method. +// req, resp := client.DescribeKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) DescribeKeyRequest(input *DescribeKeyInput) (req *request.Request, output *DescribeKeyOutput) { op := &request.Operation{ Name: opDescribeKey, @@ -233,7 +738,33 @@ func (c *KMS) DescribeKeyRequest(input *DescribeKeyInput) (req *request.Request, return } +// DescribeKey API operation for AWS Key Management Service. +// // Provides detailed information about the specified customer master key. +// +// 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 Key Management Service's +// API operation DescribeKey for usage and error information. +// +// Returned Error Codes: +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * InvalidArnException +// The request was rejected because a specified ARN was not valid. +// +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// func (c *KMS) DescribeKey(input *DescribeKeyInput) (*DescribeKeyOutput, error) { req, out := c.DescribeKeyRequest(input) err := req.Send() @@ -242,7 +773,30 @@ func (c *KMS) DescribeKey(input *DescribeKeyInput) (*DescribeKeyOutput, error) { const opDisableKey = "DisableKey" -// DisableKeyRequest generates a request for the DisableKey operation. +// DisableKeyRequest generates a "aws/request.Request" representing the +// client's request for the DisableKey operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DisableKey for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DisableKey method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DisableKeyRequest method. +// req, resp := client.DisableKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) DisableKeyRequest(input *DisableKeyInput) (req *request.Request, output *DisableKeyOutput) { op := &request.Operation{ Name: opDisableKey, @@ -262,11 +816,45 @@ func (c *KMS) DisableKeyRequest(input *DisableKeyInput) (req *request.Request, o return } -// Sets the state of a master key to disabled, thereby preventing its use for -// cryptographic operations. For more information about how key state affects -// the use of a master key, go to How Key State Affects the Use of a Customer +// DisableKey API operation for AWS Key Management Service. +// +// Sets the state of a customer master key (CMK) to disabled, thereby preventing +// its use for cryptographic operations. For more information about how key +// state affects the use of a CMK, see How Key State Affects the Use of a Customer // Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer 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 +// the error. +// +// See the AWS API reference guide for AWS Key Management Service's +// API operation DisableKey for usage and error information. +// +// Returned Error Codes: +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * InvalidArnException +// The request was rejected because a specified ARN was not valid. +// +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * InvalidStateException +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// func (c *KMS) DisableKey(input *DisableKeyInput) (*DisableKeyOutput, error) { req, out := c.DisableKeyRequest(input) err := req.Send() @@ -275,7 +863,30 @@ func (c *KMS) DisableKey(input *DisableKeyInput) (*DisableKeyOutput, error) { const opDisableKeyRotation = "DisableKeyRotation" -// DisableKeyRotationRequest generates a request for the DisableKeyRotation operation. +// DisableKeyRotationRequest generates a "aws/request.Request" representing the +// client's request for the DisableKeyRotation operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DisableKeyRotation for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DisableKeyRotation method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DisableKeyRotationRequest method. +// req, resp := client.DisableKeyRotationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) DisableKeyRotationRequest(input *DisableKeyRotationInput) (req *request.Request, output *DisableKeyRotationOutput) { op := &request.Operation{ Name: opDisableKeyRotation, @@ -295,7 +906,48 @@ func (c *KMS) DisableKeyRotationRequest(input *DisableKeyRotationInput) (req *re return } +// DisableKeyRotation API operation for AWS Key Management Service. +// // Disables rotation of the specified key. +// +// 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 Key Management Service's +// API operation DisableKeyRotation for usage and error information. +// +// Returned Error Codes: +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * DisabledException +// The request was rejected because the specified CMK is not enabled. +// +// * InvalidArnException +// The request was rejected because a specified ARN was not valid. +// +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * InvalidStateException +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// +// * UnsupportedOperationException +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. +// func (c *KMS) DisableKeyRotation(input *DisableKeyRotationInput) (*DisableKeyRotationOutput, error) { req, out := c.DisableKeyRotationRequest(input) err := req.Send() @@ -304,7 +956,30 @@ func (c *KMS) DisableKeyRotation(input *DisableKeyRotationInput) (*DisableKeyRot const opEnableKey = "EnableKey" -// EnableKeyRequest generates a request for the EnableKey operation. +// EnableKeyRequest generates a "aws/request.Request" representing the +// client's request for the EnableKey operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See EnableKey for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the EnableKey method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the EnableKeyRequest method. +// req, resp := client.EnableKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) EnableKeyRequest(input *EnableKeyInput) (req *request.Request, output *EnableKeyOutput) { op := &request.Operation{ Name: opEnableKey, @@ -324,7 +999,46 @@ func (c *KMS) EnableKeyRequest(input *EnableKeyInput) (req *request.Request, out return } +// EnableKey API operation for AWS Key Management Service. +// // Marks a key as enabled, thereby permitting its use. +// +// 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 Key Management Service's +// API operation EnableKey for usage and error information. +// +// Returned Error Codes: +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * InvalidArnException +// The request was rejected because a specified ARN was not valid. +// +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * LimitExceededException +// The request was rejected because a limit was exceeded. For more information, +// see Limits (http://docs.aws.amazon.com/kms/latest/developerguide/limits.html) +// in the AWS Key Management Service Developer Guide. +// +// * InvalidStateException +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// func (c *KMS) EnableKey(input *EnableKeyInput) (*EnableKeyOutput, error) { req, out := c.EnableKeyRequest(input) err := req.Send() @@ -333,7 +1047,30 @@ func (c *KMS) EnableKey(input *EnableKeyInput) (*EnableKeyOutput, error) { const opEnableKeyRotation = "EnableKeyRotation" -// EnableKeyRotationRequest generates a request for the EnableKeyRotation operation. +// EnableKeyRotationRequest generates a "aws/request.Request" representing the +// client's request for the EnableKeyRotation operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See EnableKeyRotation for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the EnableKeyRotation method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the EnableKeyRotationRequest method. +// req, resp := client.EnableKeyRotationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) EnableKeyRotationRequest(input *EnableKeyRotationInput) (req *request.Request, output *EnableKeyRotationOutput) { op := &request.Operation{ Name: opEnableKeyRotation, @@ -353,7 +1090,48 @@ func (c *KMS) EnableKeyRotationRequest(input *EnableKeyRotationInput) (req *requ return } +// EnableKeyRotation API operation for AWS Key Management Service. +// // Enables rotation of the specified customer master key. +// +// 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 Key Management Service's +// API operation EnableKeyRotation for usage and error information. +// +// Returned Error Codes: +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * DisabledException +// The request was rejected because the specified CMK is not enabled. +// +// * InvalidArnException +// The request was rejected because a specified ARN was not valid. +// +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * InvalidStateException +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// +// * UnsupportedOperationException +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. +// func (c *KMS) EnableKeyRotation(input *EnableKeyRotationInput) (*EnableKeyRotationOutput, error) { req, out := c.EnableKeyRotationRequest(input) err := req.Send() @@ -362,7 +1140,30 @@ func (c *KMS) EnableKeyRotation(input *EnableKeyRotationInput) (*EnableKeyRotati const opEncrypt = "Encrypt" -// EncryptRequest generates a request for the Encrypt operation. +// EncryptRequest generates a "aws/request.Request" representing the +// client's request for the Encrypt operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See Encrypt for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the Encrypt method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the EncryptRequest method. +// req, resp := client.EncryptRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) EncryptRequest(input *EncryptInput) (req *request.Request, output *EncryptOutput) { op := &request.Operation{ Name: opEncrypt, @@ -380,16 +1181,21 @@ func (c *KMS) EncryptRequest(input *EncryptInput) (req *request.Request, output return } +// Encrypt API operation for AWS Key Management Service. +// // Encrypts plaintext into ciphertext by using a customer master key. The Encrypt -// function has two primary use cases: You can encrypt up to 4 KB of arbitrary -// data such as an RSA key, a database password, or other sensitive customer -// information. If you are moving encrypted data from one region to another, -// you can use this API to encrypt in the new region the plaintext data key -// that was used to encrypt the data in the original region. This provides you -// with an encrypted copy of the data key that can be decrypted in the new region -// and used there to decrypt the encrypted data. -// -// Unless you are moving encrypted data from one region to another, you don't +// function has two primary use cases: +// +// You can encrypt up to 4 KB of arbitrary data such as an RSA key, a database +// password, or other sensitive customer information. +// +// If you are moving encrypted data from one region to another, you can use +// this API to encrypt in the new region the plaintext data key that was used +// to encrypt the data in the original region. This provides you with an encrypted +// copy of the data key that can be decrypted in the new region and used there +// to decrypt the encrypted data. +// +// Unless you are moving encrypted data from one region to another, you don't // use this function to encrypt a generated data key within a region. You retrieve // data keys already encrypted by calling the GenerateDataKey or GenerateDataKeyWithoutPlaintext // function. Data keys don't need to be encrypted again by calling Encrypt. @@ -397,6 +1203,48 @@ func (c *KMS) EncryptRequest(input *EncryptInput) (req *request.Request, output // If you want to encrypt data locally in your application, you can use the // GenerateDataKey function to return a plaintext data encryption key and a // copy of the key encrypted under the customer master key (CMK) of your choosing. +// +// 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 Key Management Service's +// API operation Encrypt for usage and error information. +// +// Returned Error Codes: +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * DisabledException +// The request was rejected because the specified CMK is not enabled. +// +// * KeyUnavailableException +// The request was rejected because the specified CMK was not available. The +// request can be retried. +// +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * InvalidKeyUsageException +// The request was rejected because the specified KeySpec value is not valid. +// +// * InvalidGrantTokenException +// The request was rejected because the specified grant token is not valid. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * InvalidStateException +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// func (c *KMS) Encrypt(input *EncryptInput) (*EncryptOutput, error) { req, out := c.EncryptRequest(input) err := req.Send() @@ -405,7 +1253,30 @@ func (c *KMS) Encrypt(input *EncryptInput) (*EncryptOutput, error) { const opGenerateDataKey = "GenerateDataKey" -// GenerateDataKeyRequest generates a request for the GenerateDataKey operation. +// GenerateDataKeyRequest generates a "aws/request.Request" representing the +// client's request for the GenerateDataKey operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GenerateDataKey for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GenerateDataKey method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GenerateDataKeyRequest method. +// req, resp := client.GenerateDataKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) GenerateDataKeyRequest(input *GenerateDataKeyInput) (req *request.Request, output *GenerateDataKeyOutput) { op := &request.Operation{ Name: opGenerateDataKey, @@ -423,36 +1294,94 @@ func (c *KMS) GenerateDataKeyRequest(input *GenerateDataKeyInput) (req *request. return } -// Generates a data key that you can use in your application to locally encrypt -// data. This call returns a plaintext version of the key in the Plaintext field -// of the response object and an encrypted copy of the key in the CiphertextBlob -// field. The key is encrypted by using the master key specified by the KeyId -// field. To decrypt the encrypted key, pass it to the Decrypt API. -// -// We recommend that you use the following pattern to locally encrypt data: -// call the GenerateDataKey API, use the key returned in the Plaintext response -// field to locally encrypt data, and then erase the plaintext data key from -// memory. Store the encrypted data key (contained in the CiphertextBlob field) -// alongside of the locally encrypted data. -// -// You should not call the Encrypt function to re-encrypt your data keys within -// a region. GenerateDataKey always returns the data key encrypted and tied -// to the customer master key that will be used to decrypt it. There is no need -// to decrypt it twice. If you decide to use the optional EncryptionContext -// parameter, you must also store the context in full or at least store enough -// information along with the encrypted data to be able to reconstruct the context -// when submitting the ciphertext to the Decrypt API. It is a good practice -// to choose a context that you can reconstruct on the fly to better secure -// the ciphertext. For more information about how this parameter is used, see -// Encryption Context (http://docs.aws.amazon.com/kms/latest/developerguide/encrypt-context.html). -// -// To decrypt data, pass the encrypted data key to the Decrypt API. Decrypt -// uses the associated master key to decrypt the encrypted data key and returns -// it as plaintext. Use the plaintext data key to locally decrypt your data -// and then erase the key from memory. You must specify the encryption context, -// if any, that you specified when you generated the key. The encryption context -// is logged by CloudTrail, and you can use this log to help track the use of -// particular data. +// GenerateDataKey API operation for AWS Key Management Service. +// +// Returns a data encryption key that you can use in your application to encrypt +// data locally. +// +// You must specify the customer master key (CMK) under which to generate the +// data key. You must also specify the length of the data key using either the +// KeySpec or NumberOfBytes field. You must specify one field or the other, +// but not both. For common key lengths (128-bit and 256-bit symmetric keys), +// we recommend that you use KeySpec. +// +// This operation returns a plaintext copy of the data key in the Plaintext +// field of the response, and an encrypted copy of the data key in the CiphertextBlob +// field. The data key is encrypted under the CMK specified in the KeyId field +// of the request. +// +// We recommend that you use the following pattern to encrypt data locally +// in your application: +// +// Use this operation (GenerateDataKey) to retrieve a data encryption key. +// +// Use the plaintext data encryption key (returned in the Plaintext field +// of the response) to encrypt data locally, then erase the plaintext data key +// from memory. +// +// Store the encrypted data key (returned in the CiphertextBlob field of +// the response) alongside the locally encrypted data. +// +// To decrypt data locally: +// +// Use the Decrypt operation to decrypt the encrypted data key into a plaintext +// copy of the data key. +// +// Use the plaintext data key to decrypt data locally, then erase the plaintext +// data key from memory. +// +// To return only an encrypted copy of the data key, use GenerateDataKeyWithoutPlaintext. +// To return an arbitrary unpredictable byte string, use GenerateRandom. +// +// If you use the optional EncryptionContext field, you must store at least +// enough information to be able to reconstruct the full encryption context +// when you later send the ciphertext to the Decrypt operation. It is a good +// practice to choose an encryption context that you can reconstruct on the +// fly to better secure the ciphertext. For more information, see Encryption +// Context (http://docs.aws.amazon.com/kms/latest/developerguide/encryption-context.html) +// in the AWS Key Management Service Developer 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 +// the error. +// +// See the AWS API reference guide for AWS Key Management Service's +// API operation GenerateDataKey for usage and error information. +// +// Returned Error Codes: +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * DisabledException +// The request was rejected because the specified CMK is not enabled. +// +// * KeyUnavailableException +// The request was rejected because the specified CMK was not available. The +// request can be retried. +// +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * InvalidKeyUsageException +// The request was rejected because the specified KeySpec value is not valid. +// +// * InvalidGrantTokenException +// The request was rejected because the specified grant token is not valid. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * InvalidStateException +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// func (c *KMS) GenerateDataKey(input *GenerateDataKeyInput) (*GenerateDataKeyOutput, error) { req, out := c.GenerateDataKeyRequest(input) err := req.Send() @@ -461,7 +1390,30 @@ func (c *KMS) GenerateDataKey(input *GenerateDataKeyInput) (*GenerateDataKeyOutp const opGenerateDataKeyWithoutPlaintext = "GenerateDataKeyWithoutPlaintext" -// GenerateDataKeyWithoutPlaintextRequest generates a request for the GenerateDataKeyWithoutPlaintext operation. +// GenerateDataKeyWithoutPlaintextRequest generates a "aws/request.Request" representing the +// client's request for the GenerateDataKeyWithoutPlaintext operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GenerateDataKeyWithoutPlaintext for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GenerateDataKeyWithoutPlaintext method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GenerateDataKeyWithoutPlaintextRequest method. +// req, resp := client.GenerateDataKeyWithoutPlaintextRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) GenerateDataKeyWithoutPlaintextRequest(input *GenerateDataKeyWithoutPlaintextInput) (req *request.Request, output *GenerateDataKeyWithoutPlaintextOutput) { op := &request.Operation{ Name: opGenerateDataKeyWithoutPlaintext, @@ -479,11 +1431,65 @@ func (c *KMS) GenerateDataKeyWithoutPlaintextRequest(input *GenerateDataKeyWitho return } -// Returns a data key encrypted by a customer master key without the plaintext -// copy of that key. Otherwise, this API functions exactly like GenerateDataKey. -// You can use this API to, for example, satisfy an audit requirement that an -// encrypted key be made available without exposing the plaintext copy of that -// key. +// GenerateDataKeyWithoutPlaintext API operation for AWS Key Management Service. +// +// Returns a data encryption key encrypted under a customer master key (CMK). +// This operation is identical to GenerateDataKey but returns only the encrypted +// copy of the data key. +// +// This operation is useful in a system that has multiple components with different +// degrees of trust. For example, consider a system that stores encrypted data +// in containers. Each container stores the encrypted data and an encrypted +// copy of the data key. One component of the system, called the control plane, +// creates new containers. When it creates a new container, it uses this operation +// (GenerateDataKeyWithoutPlaintext) to get an encrypted data key and then stores +// it in the container. Later, a different component of the system, called the +// data plane, puts encrypted data into the containers. To do this, it passes +// the encrypted data key to the Decrypt operation, then uses the returned plaintext +// data key to encrypt data, and finally stores the encrypted data in the container. +// In this system, the control plane never sees the plaintext data key. +// +// 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 Key Management Service's +// API operation GenerateDataKeyWithoutPlaintext for usage and error information. +// +// Returned Error Codes: +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * DisabledException +// The request was rejected because the specified CMK is not enabled. +// +// * KeyUnavailableException +// The request was rejected because the specified CMK was not available. The +// request can be retried. +// +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * InvalidKeyUsageException +// The request was rejected because the specified KeySpec value is not valid. +// +// * InvalidGrantTokenException +// The request was rejected because the specified grant token is not valid. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * InvalidStateException +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// func (c *KMS) GenerateDataKeyWithoutPlaintext(input *GenerateDataKeyWithoutPlaintextInput) (*GenerateDataKeyWithoutPlaintextOutput, error) { req, out := c.GenerateDataKeyWithoutPlaintextRequest(input) err := req.Send() @@ -492,7 +1498,30 @@ func (c *KMS) GenerateDataKeyWithoutPlaintext(input *GenerateDataKeyWithoutPlain const opGenerateRandom = "GenerateRandom" -// GenerateRandomRequest generates a request for the GenerateRandom operation. +// GenerateRandomRequest generates a "aws/request.Request" representing the +// client's request for the GenerateRandom operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GenerateRandom for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GenerateRandom method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GenerateRandomRequest method. +// req, resp := client.GenerateRandomRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) GenerateRandomRequest(input *GenerateRandomInput) (req *request.Request, output *GenerateRandomOutput) { op := &request.Operation{ Name: opGenerateRandom, @@ -510,7 +1539,26 @@ func (c *KMS) GenerateRandomRequest(input *GenerateRandomInput) (req *request.Re return } +// GenerateRandom API operation for AWS Key Management Service. +// // Generates an unpredictable byte string. +// +// 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 Key Management Service's +// API operation GenerateRandom for usage and error information. +// +// Returned Error Codes: +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// func (c *KMS) GenerateRandom(input *GenerateRandomInput) (*GenerateRandomOutput, error) { req, out := c.GenerateRandomRequest(input) err := req.Send() @@ -519,7 +1567,30 @@ func (c *KMS) GenerateRandom(input *GenerateRandomInput) (*GenerateRandomOutput, const opGetKeyPolicy = "GetKeyPolicy" -// GetKeyPolicyRequest generates a request for the GetKeyPolicy operation. +// GetKeyPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetKeyPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetKeyPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetKeyPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetKeyPolicyRequest method. +// req, resp := client.GetKeyPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) GetKeyPolicyRequest(input *GetKeyPolicyInput) (req *request.Request, output *GetKeyPolicyOutput) { op := &request.Operation{ Name: opGetKeyPolicy, @@ -537,7 +1608,41 @@ func (c *KMS) GetKeyPolicyRequest(input *GetKeyPolicyInput) (req *request.Reques return } +// GetKeyPolicy API operation for AWS Key Management Service. +// // Retrieves a policy attached to the specified key. +// +// 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 Key Management Service's +// API operation GetKeyPolicy for usage and error information. +// +// Returned Error Codes: +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * InvalidArnException +// The request was rejected because a specified ARN was not valid. +// +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * InvalidStateException +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// func (c *KMS) GetKeyPolicy(input *GetKeyPolicyInput) (*GetKeyPolicyOutput, error) { req, out := c.GetKeyPolicyRequest(input) err := req.Send() @@ -546,7 +1651,30 @@ func (c *KMS) GetKeyPolicy(input *GetKeyPolicyInput) (*GetKeyPolicyOutput, error const opGetKeyRotationStatus = "GetKeyRotationStatus" -// GetKeyRotationStatusRequest generates a request for the GetKeyRotationStatus operation. +// GetKeyRotationStatusRequest generates a "aws/request.Request" representing the +// client's request for the GetKeyRotationStatus operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetKeyRotationStatus for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetKeyRotationStatus method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetKeyRotationStatusRequest method. +// req, resp := client.GetKeyRotationStatusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) GetKeyRotationStatusRequest(input *GetKeyRotationStatusInput) (req *request.Request, output *GetKeyRotationStatusOutput) { op := &request.Operation{ Name: opGetKeyRotationStatus, @@ -564,17 +1692,309 @@ func (c *KMS) GetKeyRotationStatusRequest(input *GetKeyRotationStatusInput) (req return } +// GetKeyRotationStatus API operation for AWS Key Management Service. +// // Retrieves a Boolean value that indicates whether key rotation is enabled // for the specified key. +// +// 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 Key Management Service's +// API operation GetKeyRotationStatus for usage and error information. +// +// Returned Error Codes: +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * InvalidArnException +// The request was rejected because a specified ARN was not valid. +// +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * InvalidStateException +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// +// * UnsupportedOperationException +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. +// func (c *KMS) GetKeyRotationStatus(input *GetKeyRotationStatusInput) (*GetKeyRotationStatusOutput, error) { req, out := c.GetKeyRotationStatusRequest(input) err := req.Send() return out, err } +const opGetParametersForImport = "GetParametersForImport" + +// GetParametersForImportRequest generates a "aws/request.Request" representing the +// client's request for the GetParametersForImport operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetParametersForImport for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetParametersForImport method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetParametersForImportRequest method. +// req, resp := client.GetParametersForImportRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *KMS) GetParametersForImportRequest(input *GetParametersForImportInput) (req *request.Request, output *GetParametersForImportOutput) { + op := &request.Operation{ + Name: opGetParametersForImport, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetParametersForImportInput{} + } + + req = c.newRequest(op, input, output) + output = &GetParametersForImportOutput{} + req.Data = output + return +} + +// GetParametersForImport API operation for AWS Key Management Service. +// +// Returns the items you need in order to import key material into AWS KMS from +// your existing key management infrastructure. For more information about importing +// key material into AWS KMS, see Importing Key Material (http://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) +// in the AWS Key Management Service Developer Guide. +// +// You must specify the key ID of the customer master key (CMK) into which +// you will import key material. This CMK's Origin must be EXTERNAL. You must +// also specify the wrapping algorithm and type of wrapping key (public key) +// that you will use to encrypt the key material. +// +// This operation returns a public key and an import token. Use the public +// key to encrypt the key material. Store the import token to send with a subsequent +// ImportKeyMaterial request. The public key and import token from the same +// response must be used together. These items are valid for 24 hours, after +// which they cannot be used for a subsequent ImportKeyMaterial request. To +// retrieve new ones, send another GetParametersForImport request. +// +// 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 Key Management Service's +// API operation GetParametersForImport for usage and error information. +// +// Returned Error Codes: +// * InvalidArnException +// The request was rejected because a specified ARN was not valid. +// +// * UnsupportedOperationException +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. +// +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * InvalidStateException +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// +func (c *KMS) GetParametersForImport(input *GetParametersForImportInput) (*GetParametersForImportOutput, error) { + req, out := c.GetParametersForImportRequest(input) + err := req.Send() + return out, err +} + +const opImportKeyMaterial = "ImportKeyMaterial" + +// ImportKeyMaterialRequest generates a "aws/request.Request" representing the +// client's request for the ImportKeyMaterial operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ImportKeyMaterial for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ImportKeyMaterial method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ImportKeyMaterialRequest method. +// req, resp := client.ImportKeyMaterialRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *KMS) ImportKeyMaterialRequest(input *ImportKeyMaterialInput) (req *request.Request, output *ImportKeyMaterialOutput) { + op := &request.Operation{ + Name: opImportKeyMaterial, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ImportKeyMaterialInput{} + } + + req = c.newRequest(op, input, output) + output = &ImportKeyMaterialOutput{} + req.Data = output + return +} + +// ImportKeyMaterial API operation for AWS Key Management Service. +// +// Imports key material into an AWS KMS customer master key (CMK) from your +// existing key management infrastructure. For more information about importing +// key material into AWS KMS, see Importing Key Material (http://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) +// in the AWS Key Management Service Developer Guide. +// +// You must specify the key ID of the CMK to import the key material into. +// This CMK's Origin must be EXTERNAL. You must also send an import token and +// the encrypted key material. Send the import token that you received in the +// same GetParametersForImport response that contained the public key that you +// used to encrypt the key material. You must also specify whether the key material +// expires and if so, when. When the key material expires, AWS KMS deletes the +// key material and the CMK becomes unusable. To use the CMK again, you can +// reimport the same key material. If you set an expiration date, you can change +// it only by reimporting the same key material and specifying a new expiration +// date. +// +// When this operation is successful, the specified CMK's key state changes +// to Enabled, and you can use the CMK. +// +// After you successfully import key material into a CMK, you can reimport +// the same key material into that CMK, but you cannot import different key +// material. +// +// 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 Key Management Service's +// API operation ImportKeyMaterial for usage and error information. +// +// Returned Error Codes: +// * InvalidArnException +// The request was rejected because a specified ARN was not valid. +// +// * UnsupportedOperationException +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. +// +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * InvalidStateException +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// +// * InvalidCiphertextException +// The request was rejected because the specified ciphertext has been corrupted +// or is otherwise invalid. +// +// * IncorrectKeyMaterialException +// The request was rejected because the provided key material is invalid or +// is not the same key material that was previously imported into this customer +// master key (CMK). +// +// * ExpiredImportTokenException +// The request was rejected because the provided import token is expired. Use +// GetParametersForImport to retrieve a new import token and public key, use +// the new public key to encrypt the key material, and then try the request +// again. +// +// * InvalidImportTokenException +// The request was rejected because the provided import token is invalid or +// is associated with a different customer master key (CMK). +// +func (c *KMS) ImportKeyMaterial(input *ImportKeyMaterialInput) (*ImportKeyMaterialOutput, error) { + req, out := c.ImportKeyMaterialRequest(input) + err := req.Send() + return out, err +} + const opListAliases = "ListAliases" -// ListAliasesRequest generates a request for the ListAliases operation. +// ListAliasesRequest generates a "aws/request.Request" representing the +// client's request for the ListAliases operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListAliases for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListAliases method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListAliasesRequest method. +// req, resp := client.ListAliasesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) ListAliasesRequest(input *ListAliasesInput) (req *request.Request, output *ListAliasesOutput) { op := &request.Operation{ Name: opListAliases, @@ -598,13 +2018,53 @@ func (c *KMS) ListAliasesRequest(input *ListAliasesInput) (req *request.Request, return } +// ListAliases API operation for AWS Key Management Service. +// // Lists all of the key aliases in the 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 Key Management Service's +// API operation ListAliases for usage and error information. +// +// Returned Error Codes: +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * InvalidMarkerException +// The request was rejected because the marker that specifies where pagination +// should next begin is not valid. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// func (c *KMS) ListAliases(input *ListAliasesInput) (*ListAliasesOutput, error) { req, out := c.ListAliasesRequest(input) err := req.Send() return out, err } +// ListAliasesPages iterates over the pages of a ListAliases operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAliases 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 ListAliases operation. +// pageNum := 0 +// err := client.ListAliasesPages(params, +// func(page *ListAliasesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *KMS) ListAliasesPages(input *ListAliasesInput, fn func(p *ListAliasesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListAliasesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -615,7 +2075,30 @@ func (c *KMS) ListAliasesPages(input *ListAliasesInput, fn func(p *ListAliasesOu const opListGrants = "ListGrants" -// ListGrantsRequest generates a request for the ListGrants operation. +// ListGrantsRequest generates a "aws/request.Request" representing the +// client's request for the ListGrants operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListGrants for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListGrants method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListGrantsRequest method. +// req, resp := client.ListGrantsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) ListGrantsRequest(input *ListGrantsInput) (req *request.Request, output *ListGrantsResponse) { op := &request.Operation{ Name: opListGrants, @@ -639,13 +2122,68 @@ func (c *KMS) ListGrantsRequest(input *ListGrantsInput) (req *request.Request, o return } +// ListGrants API operation for AWS Key Management Service. +// // List the grants for a specified key. +// +// 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 Key Management Service's +// API operation ListGrants for usage and error information. +// +// Returned Error Codes: +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * InvalidMarkerException +// The request was rejected because the marker that specifies where pagination +// should next begin is not valid. +// +// * InvalidArnException +// The request was rejected because a specified ARN was not valid. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * InvalidStateException +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// func (c *KMS) ListGrants(input *ListGrantsInput) (*ListGrantsResponse, error) { req, out := c.ListGrantsRequest(input) err := req.Send() return out, err } +// ListGrantsPages iterates over the pages of a ListGrants operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListGrants 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 ListGrants operation. +// pageNum := 0 +// err := client.ListGrantsPages(params, +// func(page *ListGrantsResponse, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *KMS) ListGrantsPages(input *ListGrantsInput, fn func(p *ListGrantsResponse, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListGrantsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -656,7 +2194,30 @@ func (c *KMS) ListGrantsPages(input *ListGrantsInput, fn func(p *ListGrantsRespo const opListKeyPolicies = "ListKeyPolicies" -// ListKeyPoliciesRequest generates a request for the ListKeyPolicies operation. +// ListKeyPoliciesRequest generates a "aws/request.Request" representing the +// client's request for the ListKeyPolicies operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListKeyPolicies for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListKeyPolicies method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListKeyPoliciesRequest method. +// req, resp := client.ListKeyPoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) ListKeyPoliciesRequest(input *ListKeyPoliciesInput) (req *request.Request, output *ListKeyPoliciesOutput) { op := &request.Operation{ Name: opListKeyPolicies, @@ -680,13 +2241,64 @@ func (c *KMS) ListKeyPoliciesRequest(input *ListKeyPoliciesInput) (req *request. return } +// ListKeyPolicies API operation for AWS Key Management Service. +// // Retrieves a list of policies attached to a key. +// +// 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 Key Management Service's +// API operation ListKeyPolicies for usage and error information. +// +// Returned Error Codes: +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * InvalidArnException +// The request was rejected because a specified ARN was not valid. +// +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * InvalidStateException +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// func (c *KMS) ListKeyPolicies(input *ListKeyPoliciesInput) (*ListKeyPoliciesOutput, error) { req, out := c.ListKeyPoliciesRequest(input) err := req.Send() return out, err } +// ListKeyPoliciesPages iterates over the pages of a ListKeyPolicies operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListKeyPolicies 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 ListKeyPolicies operation. +// pageNum := 0 +// err := client.ListKeyPoliciesPages(params, +// func(page *ListKeyPoliciesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *KMS) ListKeyPoliciesPages(input *ListKeyPoliciesInput, fn func(p *ListKeyPoliciesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListKeyPoliciesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -697,7 +2309,30 @@ func (c *KMS) ListKeyPoliciesPages(input *ListKeyPoliciesInput, fn func(p *ListK const opListKeys = "ListKeys" -// ListKeysRequest generates a request for the ListKeys operation. +// ListKeysRequest generates a "aws/request.Request" representing the +// client's request for the ListKeys operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListKeys for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListKeys method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListKeysRequest method. +// req, resp := client.ListKeysRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) ListKeysRequest(input *ListKeysInput) (req *request.Request, output *ListKeysOutput) { op := &request.Operation{ Name: opListKeys, @@ -721,13 +2356,53 @@ func (c *KMS) ListKeysRequest(input *ListKeysInput) (req *request.Request, outpu return } +// ListKeys API operation for AWS Key Management Service. +// // Lists the customer master keys. +// +// 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 Key Management Service's +// API operation ListKeys for usage and error information. +// +// Returned Error Codes: +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * InvalidMarkerException +// The request was rejected because the marker that specifies where pagination +// should next begin is not valid. +// func (c *KMS) ListKeys(input *ListKeysInput) (*ListKeysOutput, error) { req, out := c.ListKeysRequest(input) err := req.Send() return out, err } +// ListKeysPages iterates over the pages of a ListKeys operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListKeys 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 ListKeys operation. +// pageNum := 0 +// err := client.ListKeysPages(params, +// func(page *ListKeysOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *KMS) ListKeysPages(input *ListKeysInput, fn func(p *ListKeysOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListKeysRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -738,7 +2413,30 @@ func (c *KMS) ListKeysPages(input *ListKeysInput, fn func(p *ListKeysOutput, las const opListRetirableGrants = "ListRetirableGrants" -// ListRetirableGrantsRequest generates a request for the ListRetirableGrants operation. +// ListRetirableGrantsRequest generates a "aws/request.Request" representing the +// client's request for the ListRetirableGrants operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListRetirableGrants for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListRetirableGrants method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListRetirableGrantsRequest method. +// req, resp := client.ListRetirableGrantsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) ListRetirableGrantsRequest(input *ListRetirableGrantsInput) (req *request.Request, output *ListGrantsResponse) { op := &request.Operation{ Name: opListRetirableGrants, @@ -756,11 +2454,41 @@ func (c *KMS) ListRetirableGrantsRequest(input *ListRetirableGrantsInput) (req * return } +// ListRetirableGrants API operation for AWS Key Management Service. +// // Returns a list of all grants for which the grant's RetiringPrincipal matches // the one specified. // // A typical use is to list all grants that you are able to retire. To retire // a grant, use RetireGrant. +// +// 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 Key Management Service's +// API operation ListRetirableGrants for usage and error information. +// +// Returned Error Codes: +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * InvalidMarkerException +// The request was rejected because the marker that specifies where pagination +// should next begin is not valid. +// +// * InvalidArnException +// The request was rejected because a specified ARN was not valid. +// +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// func (c *KMS) ListRetirableGrants(input *ListRetirableGrantsInput) (*ListGrantsResponse, error) { req, out := c.ListRetirableGrantsRequest(input) err := req.Send() @@ -769,7 +2497,30 @@ func (c *KMS) ListRetirableGrants(input *ListRetirableGrantsInput) (*ListGrantsR const opPutKeyPolicy = "PutKeyPolicy" -// PutKeyPolicyRequest generates a request for the PutKeyPolicy operation. +// PutKeyPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutKeyPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutKeyPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutKeyPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutKeyPolicyRequest method. +// req, resp := client.PutKeyPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) PutKeyPolicyRequest(input *PutKeyPolicyInput) (req *request.Request, output *PutKeyPolicyOutput) { op := &request.Operation{ Name: opPutKeyPolicy, @@ -789,7 +2540,57 @@ func (c *KMS) PutKeyPolicyRequest(input *PutKeyPolicyInput) (req *request.Reques return } -// Attaches a policy to the specified key. +// PutKeyPolicy API operation for AWS Key Management Service. +// +// Attaches a key policy to the specified customer master key (CMK). +// +// For more information about key policies, see Key Policies (http://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) +// in the AWS Key Management Service Developer 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 +// the error. +// +// See the AWS API reference guide for AWS Key Management Service's +// API operation PutKeyPolicy for usage and error information. +// +// Returned Error Codes: +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * InvalidArnException +// The request was rejected because a specified ARN was not valid. +// +// * MalformedPolicyDocumentException +// The request was rejected because the specified policy is not syntactically +// or semantically correct. +// +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * UnsupportedOperationException +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * LimitExceededException +// The request was rejected because a limit was exceeded. For more information, +// see Limits (http://docs.aws.amazon.com/kms/latest/developerguide/limits.html) +// in the AWS Key Management Service Developer Guide. +// +// * InvalidStateException +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// func (c *KMS) PutKeyPolicy(input *PutKeyPolicyInput) (*PutKeyPolicyOutput, error) { req, out := c.PutKeyPolicyRequest(input) err := req.Send() @@ -798,7 +2599,30 @@ func (c *KMS) PutKeyPolicy(input *PutKeyPolicyInput) (*PutKeyPolicyOutput, error const opReEncrypt = "ReEncrypt" -// ReEncryptRequest generates a request for the ReEncrypt operation. +// ReEncryptRequest generates a "aws/request.Request" representing the +// client's request for the ReEncrypt operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ReEncrypt for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ReEncrypt method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ReEncryptRequest method. +// req, resp := client.ReEncryptRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) ReEncryptRequest(input *ReEncryptInput) (req *request.Request, output *ReEncryptOutput) { op := &request.Operation{ Name: opReEncrypt, @@ -816,6 +2640,8 @@ func (c *KMS) ReEncryptRequest(input *ReEncryptInput) (req *request.Request, out return } +// ReEncrypt API operation for AWS Key Management Service. +// // Encrypts data on the server side with a new customer master key without exposing // the plaintext of the data on the client side. The data is first decrypted // and then encrypted. This operation can also be used to change the encryption @@ -828,6 +2654,52 @@ func (c *KMS) ReEncryptRequest(input *ReEncryptInput) (req *request.Request, out // included automatically when you authorize use of the key through the console // but must be included manually when you set a policy by using the PutKeyPolicy // function. +// +// 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 Key Management Service's +// API operation ReEncrypt for usage and error information. +// +// Returned Error Codes: +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * DisabledException +// The request was rejected because the specified CMK is not enabled. +// +// * InvalidCiphertextException +// The request was rejected because the specified ciphertext has been corrupted +// or is otherwise invalid. +// +// * KeyUnavailableException +// The request was rejected because the specified CMK was not available. The +// request can be retried. +// +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * InvalidKeyUsageException +// The request was rejected because the specified KeySpec value is not valid. +// +// * InvalidGrantTokenException +// The request was rejected because the specified grant token is not valid. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * InvalidStateException +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// func (c *KMS) ReEncrypt(input *ReEncryptInput) (*ReEncryptOutput, error) { req, out := c.ReEncryptRequest(input) err := req.Send() @@ -836,7 +2708,30 @@ func (c *KMS) ReEncrypt(input *ReEncryptInput) (*ReEncryptOutput, error) { const opRetireGrant = "RetireGrant" -// RetireGrantRequest generates a request for the RetireGrant operation. +// RetireGrantRequest generates a "aws/request.Request" representing the +// client's request for the RetireGrant operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RetireGrant for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RetireGrant method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RetireGrantRequest method. +// req, resp := client.RetireGrantRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) RetireGrantRequest(input *RetireGrantInput) (req *request.Request, output *RetireGrantOutput) { op := &request.Operation{ Name: opRetireGrant, @@ -856,15 +2751,57 @@ func (c *KMS) RetireGrantRequest(input *RetireGrantInput) (req *request.Request, return } +// RetireGrant API operation for AWS Key Management Service. +// // Retires a grant. You can retire a grant when you're done using it to clean // up. You should revoke a grant when you intend to actively deny operations -// that depend on it. The following are permitted to call this API: The account -// that created the grant The RetiringPrincipal, if present The GranteePrincipal, -// if RetireGrant is a grantee operation The grant to retire must be identified -// by its grant token or by a combination of the key ARN and the grant ID. A -// grant token is a unique variable-length base64-encoded string. A grant ID -// is a 64 character unique identifier of a grant. Both are returned by the -// CreateGrant function. +// that depend on it. The following are permitted to call this API: +// +// The account that created the grant +// +// The RetiringPrincipal, if present +// +// The GranteePrincipal, if RetireGrant is a grantee operation +// +// The grant to retire must be identified by its grant token or by a combination +// of the key ARN and the grant ID. A grant token is a unique variable-length +// base64-encoded string. A grant ID is a 64 character unique identifier of +// a grant. Both are returned by the CreateGrant function. +// +// 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 Key Management Service's +// API operation RetireGrant for usage and error information. +// +// Returned Error Codes: +// * InvalidGrantTokenException +// The request was rejected because the specified grant token is not valid. +// +// * InvalidGrantIdException +// The request was rejected because the specified GrantId is not valid. +// +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * InvalidStateException +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// func (c *KMS) RetireGrant(input *RetireGrantInput) (*RetireGrantOutput, error) { req, out := c.RetireGrantRequest(input) err := req.Send() @@ -873,7 +2810,30 @@ func (c *KMS) RetireGrant(input *RetireGrantInput) (*RetireGrantOutput, error) { const opRevokeGrant = "RevokeGrant" -// RevokeGrantRequest generates a request for the RevokeGrant operation. +// RevokeGrantRequest generates a "aws/request.Request" representing the +// client's request for the RevokeGrant operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RevokeGrant for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RevokeGrant method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RevokeGrantRequest method. +// req, resp := client.RevokeGrantRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) RevokeGrantRequest(input *RevokeGrantInput) (req *request.Request, output *RevokeGrantOutput) { op := &request.Operation{ Name: opRevokeGrant, @@ -893,8 +2853,45 @@ func (c *KMS) RevokeGrantRequest(input *RevokeGrantInput) (req *request.Request, return } +// RevokeGrant API operation for AWS Key Management Service. +// // Revokes a grant. You can revoke a grant to actively deny operations that // depend on it. +// +// 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 Key Management Service's +// API operation RevokeGrant for usage and error information. +// +// Returned Error Codes: +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * InvalidArnException +// The request was rejected because a specified ARN was not valid. +// +// * InvalidGrantIdException +// The request was rejected because the specified GrantId is not valid. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * InvalidStateException +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// func (c *KMS) RevokeGrant(input *RevokeGrantInput) (*RevokeGrantOutput, error) { req, out := c.RevokeGrantRequest(input) err := req.Send() @@ -903,7 +2900,30 @@ func (c *KMS) RevokeGrant(input *RevokeGrantInput) (*RevokeGrantOutput, error) { const opScheduleKeyDeletion = "ScheduleKeyDeletion" -// ScheduleKeyDeletionRequest generates a request for the ScheduleKeyDeletion operation. +// ScheduleKeyDeletionRequest generates a "aws/request.Request" representing the +// client's request for the ScheduleKeyDeletion operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ScheduleKeyDeletion for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ScheduleKeyDeletion method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ScheduleKeyDeletionRequest method. +// req, resp := client.ScheduleKeyDeletionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) ScheduleKeyDeletionRequest(input *ScheduleKeyDeletionInput) (req *request.Request, output *ScheduleKeyDeletionOutput) { op := &request.Operation{ Name: opScheduleKeyDeletion, @@ -921,6 +2941,8 @@ func (c *KMS) ScheduleKeyDeletionRequest(input *ScheduleKeyDeletionInput) (req * return } +// ScheduleKeyDeletion API operation for AWS Key Management Service. +// // Schedules the deletion of a customer master key (CMK). You may provide a // waiting period, specified in days, before deletion occurs. If you do not // provide a waiting period, the default period of 30 days is used. When this @@ -934,9 +2956,41 @@ func (c *KMS) ScheduleKeyDeletionRequest(input *ScheduleKeyDeletionInput) (req * // a CMK is deleted, all data that was encrypted under the CMK is rendered unrecoverable. // To restrict the use of a CMK without deleting it, use DisableKey. // -// For more information about scheduling a CMK for deletion, go to Deleting +// For more information about scheduling a CMK for deletion, see Deleting // Customer Master Keys (http://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html) // in the AWS Key Management Service Developer 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 +// the error. +// +// See the AWS API reference guide for AWS Key Management Service's +// API operation ScheduleKeyDeletion for usage and error information. +// +// Returned Error Codes: +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * InvalidArnException +// The request was rejected because a specified ARN was not valid. +// +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * InvalidStateException +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// func (c *KMS) ScheduleKeyDeletion(input *ScheduleKeyDeletionInput) (*ScheduleKeyDeletionOutput, error) { req, out := c.ScheduleKeyDeletionRequest(input) err := req.Send() @@ -945,7 +2999,30 @@ func (c *KMS) ScheduleKeyDeletion(input *ScheduleKeyDeletionInput) (*ScheduleKey const opUpdateAlias = "UpdateAlias" -// UpdateAliasRequest generates a request for the UpdateAlias operation. +// UpdateAliasRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAlias operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateAlias for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateAlias method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateAliasRequest method. +// req, resp := client.UpdateAliasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Request, output *UpdateAliasOutput) { op := &request.Operation{ Name: opUpdateAlias, @@ -965,6 +3042,8 @@ func (c *KMS) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Request, return } +// UpdateAlias API operation for AWS Key Management Service. +// // Updates an alias to map it to a different key. // // An alias is not a property of a key. Therefore, an alias can be mapped to @@ -978,6 +3057,35 @@ func (c *KMS) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Request, // // The alias and the key it is mapped to must be in the same AWS account and // the same 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 +// the error. +// +// See the AWS API reference guide for AWS Key Management Service's +// API operation UpdateAlias for usage and error information. +// +// Returned Error Codes: +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * InvalidStateException +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// func (c *KMS) UpdateAlias(input *UpdateAliasInput) (*UpdateAliasOutput, error) { req, out := c.UpdateAliasRequest(input) err := req.Send() @@ -986,7 +3094,30 @@ func (c *KMS) UpdateAlias(input *UpdateAliasInput) (*UpdateAliasOutput, error) { const opUpdateKeyDescription = "UpdateKeyDescription" -// UpdateKeyDescriptionRequest generates a request for the UpdateKeyDescription operation. +// UpdateKeyDescriptionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateKeyDescription operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateKeyDescription for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateKeyDescription method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateKeyDescriptionRequest method. +// req, resp := client.UpdateKeyDescriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *KMS) UpdateKeyDescriptionRequest(input *UpdateKeyDescriptionInput) (req *request.Request, output *UpdateKeyDescriptionOutput) { op := &request.Operation{ Name: opUpdateKeyDescription, @@ -1006,7 +3137,41 @@ func (c *KMS) UpdateKeyDescriptionRequest(input *UpdateKeyDescriptionInput) (req return } +// UpdateKeyDescription API operation for AWS Key Management Service. +// // Updates the description of a key. +// +// 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 Key Management Service's +// API operation UpdateKeyDescription for usage and error information. +// +// Returned Error Codes: +// * NotFoundException +// The request was rejected because the specified entity or resource could not +// be found. +// +// * InvalidArnException +// The request was rejected because a specified ARN was not valid. +// +// * DependencyTimeoutException +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * InternalException +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * InvalidStateException +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, see How +// Key State Affects Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the AWS Key Management Service Developer Guide. +// func (c *KMS) UpdateKeyDescription(input *UpdateKeyDescriptionInput) (*UpdateKeyDescriptionOutput, error) { req, out := c.UpdateKeyDescriptionRequest(input) err := req.Send() @@ -1044,12 +3209,16 @@ type CancelKeyDeletionInput struct { // deletion. // // To specify this value, use the unique key ID or the Amazon Resource Name - // (ARN) of the CMK. Examples: Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab - // Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + // (ARN) of the CMK. Examples: + // + // Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab // + // Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab // - // To obtain the unique key ID and key ARN for a given CMK, use ListKeys or - // DescribeKey. + // To obtain the unique key ID and key ARN for a given CMK, use ListKeys + // or DescribeKey. + // + // KeyId is a required field KeyId *string `min:"1" type:"string" required:"true"` } @@ -1102,12 +3271,19 @@ type CreateAliasInput struct { // String that contains the display name. The name must start with the word // "alias" followed by a forward slash (alias/). Aliases that begin with "alias/AWS" // are reserved. + // + // AliasName is a required field AliasName *string `min:"1" type:"string" required:"true"` // An identifier of the key for which you are creating the alias. This value // cannot be another alias but can be a globally unique identifier or a fully - // specified ARN to a key. Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 - // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 + // specified ARN to a key. + // + // Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 + // + // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 + // + // TargetKeyId is a required field TargetKeyId *string `min:"1" type:"string" required:"true"` } @@ -1164,13 +3340,13 @@ type CreateGrantInput struct { // // You can use this value to allow the operations permitted by the grant only // when a specified encryption context is present. For more information, see - // Encryption Context (http://docs.aws.amazon.com/kms/latest/developerguide/encrypt-context.html) + // Encryption Context (http://docs.aws.amazon.com/kms/latest/developerguide/encryption-context.html) // in the AWS Key Management Service Developer Guide. Constraints *GrantConstraints `type:"structure"` // A list of grant tokens. // - // For more information, go to Grant Tokens (http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) + // For more information, see Grant Tokens (http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) // in the AWS Key Management Service Developer Guide. GrantTokens []*string `type:"list"` @@ -1183,14 +3359,21 @@ type CreateGrantInput struct { // to use for specifying a principal, see AWS Identity and Access Management // (IAM) (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam) // in the Example ARNs section of the AWS General Reference. + // + // GranteePrincipal is a required field GranteePrincipal *string `min:"1" type:"string" required:"true"` // The unique identifier for the customer master key (CMK) that the grant applies // to. // // To specify this value, use the globally unique key ID or the Amazon Resource - // Name (ARN) of the key. Examples: Globally unique key ID: 12345678-1234-1234-1234-123456789012 - // Key ARN: arn:aws:kms:us-west-2:123456789012:key/12345678-1234-1234-1234-123456789012 + // Name (ARN) of the key. Examples: + // + // Globally unique key ID: 12345678-1234-1234-1234-123456789012 + // + // Key ARN: arn:aws:kms:us-west-2:123456789012:key/12345678-1234-1234-1234-123456789012 + // + // KeyId is a required field KeyId *string `min:"1" type:"string" required:"true"` // A friendly name for identifying the grant. Use this value to prevent unintended @@ -1208,8 +3391,25 @@ type CreateGrantInput struct { Name *string `min:"1" type:"string"` // A list of operations that the grant permits. The list can contain any combination - // of one or more of the following values: Decrypt Encrypt GenerateDataKey - // GenerateDataKeyWithoutPlaintext ReEncryptFrom ReEncryptTo CreateGrant RetireGrant + // of one or more of the following values: + // + // Decrypt + // + // Encrypt + // + // GenerateDataKey + // + // GenerateDataKeyWithoutPlaintext + // + // ReEncryptFrom (http://docs.aws.amazon.com/kms/latest/APIReference/API_ReEncrypt.html) + // + // ReEncryptTo (http://docs.aws.amazon.com/kms/latest/APIReference/API_ReEncrypt.html) + // + // CreateGrant + // + // RetireGrant + // + // DescribeKey Operations []*string `type:"list"` // The principal that is given permission to retire the grant by using RetireGrant @@ -1272,7 +3472,7 @@ type CreateGrantOutput struct { // The grant token. // - // For more information about using grant tokens, see Grant Tokens (http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) + // For more information, see Grant Tokens (http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) // in the AWS Key Management Service Developer Guide. GrantToken *string `min:"1" type:"string"` } @@ -1290,16 +3490,68 @@ func (s CreateGrantOutput) GoString() string { type CreateKeyInput struct { _ struct{} `type:"structure"` - // Description of the key. We recommend that you choose a description that helps - // your customer decide whether the key is appropriate for a task. + // A flag to indicate whether to bypass the key policy lockout safety check. + // + // Setting this value to true increases the likelihood that the CMK becomes + // unmanageable. Do not set this value to true indiscriminately. + // + // For more information, refer to the scenario in the Default Key Policy (http://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam) + // section in the AWS Key Management Service Developer Guide. + // + // Use this parameter only when you include a policy in the request and you + // intend to prevent the principal making the request from making a subsequent + // PutKeyPolicy request on the CMK. + // + // The default value is false. + BypassPolicyLockoutSafetyCheck *bool `type:"boolean"` + + // A description of the CMK. + // + // Use a description that helps you decide whether the CMK is appropriate for + // a task. Description *string `type:"string"` - // Specifies the intended use of the key. Currently this defaults to ENCRYPT/DECRYPT, - // and only symmetric encryption and decryption are supported. + // The intended use of the CMK. + // + // You can use CMKs only for symmetric encryption and decryption. KeyUsage *string `type:"string" enum:"KeyUsageType"` - // Policy to attach to the key. This is required and delegates back to the account. - // The key is the root of trust. The policy size limit is 32 KiB (32768 bytes). + // The source of the CMK's key material. + // + // The default is AWS_KMS, which means AWS KMS creates the key material. When + // this parameter is set to EXTERNAL, the request creates a CMK without key + // material so that you can import key material from your existing key management + // infrastructure. For more information about importing key material into AWS + // KMS, see Importing Key Material (http://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) + // in the AWS Key Management Service Developer Guide. + // + // The CMK's Origin is immutable and is set when the CMK is created. + Origin *string `type:"string" enum:"OriginType"` + + // The key policy to attach to the CMK. + // + // If you specify a policy and do not set BypassPolicyLockoutSafetyCheck to + // true, the policy must meet the following criteria: + // + // It must allow the principal making the CreateKey request to make a subsequent + // PutKeyPolicy request on the CMK. This reduces the likelihood that the CMK + // becomes unmanageable. For more information, refer to the scenario in the + // Default Key Policy (http://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam) + // section in the AWS Key Management Service Developer Guide. + // + // The principal(s) specified in the key policy must exist and be visible + // to AWS KMS. When you create a new AWS principal (for example, an IAM user + // or role), you might need to enforce a delay before specifying the new principal + // in a key policy because the new principal might not immediately be visible + // to AWS KMS. For more information, see Changes that I make are not always + // immediately visible (http://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency) + // in the IAM User Guide. + // + // If you do not specify a policy, AWS KMS attaches a default key policy + // to the CMK. For more information, see Default Key Policy (http://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default) + // in the AWS Key Management Service Developer Guide. + // + // The policy size limit is 32 KiB (32768 bytes). Policy *string `min:"1" type:"string"` } @@ -1329,7 +3581,7 @@ func (s *CreateKeyInput) Validate() error { type CreateKeyOutput struct { _ struct{} `type:"structure"` - // Metadata associated with the key. + // Metadata associated with the CMK. KeyMetadata *KeyMetadata `type:"structure"` } @@ -1349,16 +3601,18 @@ type DecryptInput struct { // Ciphertext to be decrypted. The blob includes metadata. // // CiphertextBlob is automatically base64 encoded/decoded by the SDK. + // + // CiphertextBlob is a required field CiphertextBlob []byte `min:"1" type:"blob" required:"true"` // The encryption context. If this was specified in the Encrypt function, it // must be specified here or the decryption operation will fail. For more information, - // see Encryption Context (http://docs.aws.amazon.com/kms/latest/developerguide/encrypt-context.html). + // see Encryption Context (http://docs.aws.amazon.com/kms/latest/developerguide/encryption-context.html). EncryptionContext map[string]*string `type:"map"` // A list of grant tokens. // - // For more information, go to Grant Tokens (http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) + // For more information, see Grant Tokens (http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) // in the AWS Key Management Service Developer Guide. GrantTokens []*string `type:"list"` } @@ -1418,6 +3672,8 @@ type DeleteAliasInput struct { // The alias to be deleted. The name must start with the word "alias" followed // by a forward slash (alias/). Aliases that begin with "alias/AWS" are reserved. + // + // AliasName is a required field AliasName *string `min:"1" type:"string" required:"true"` } @@ -1437,8 +3693,65 @@ func (s *DeleteAliasInput) Validate() error { if s.AliasName == nil { invalidParams.Add(request.NewErrParamRequired("AliasName")) } - if s.AliasName != nil && len(*s.AliasName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AliasName", 1)) + if s.AliasName != nil && len(*s.AliasName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AliasName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DeleteAliasOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteAliasOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAliasOutput) GoString() string { + return s.String() +} + +type DeleteImportedKeyMaterialInput struct { + _ struct{} `type:"structure"` + + // The identifier of the CMK whose key material to delete. The CMK's Origin + // must be EXTERNAL. + // + // A valid identifier is the unique key ID or the Amazon Resource Name (ARN) + // of the CMK. Examples: + // + // Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab + // + // Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + // + // KeyId is a required field + KeyId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteImportedKeyMaterialInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteImportedKeyMaterialInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteImportedKeyMaterialInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteImportedKeyMaterialInput"} + if s.KeyId == nil { + invalidParams.Add(request.NewErrParamRequired("KeyId")) + } + if s.KeyId != nil && len(*s.KeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyId", 1)) } if invalidParams.Len() > 0 { @@ -1447,17 +3760,17 @@ func (s *DeleteAliasInput) Validate() error { return nil } -type DeleteAliasOutput struct { +type DeleteImportedKeyMaterialOutput struct { _ struct{} `type:"structure"` } // String returns the string representation -func (s DeleteAliasOutput) String() string { +func (s DeleteImportedKeyMaterialOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteAliasOutput) GoString() string { +func (s DeleteImportedKeyMaterialOutput) GoString() string { return s.String() } @@ -1466,16 +3779,23 @@ type DescribeKeyInput struct { // A list of grant tokens. // - // For more information, go to Grant Tokens (http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) + // For more information, see Grant Tokens (http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) // in the AWS Key Management Service Developer Guide. GrantTokens []*string `type:"list"` // A unique identifier for the customer master key. This value can be a globally // unique identifier, a fully specified ARN to either an alias or a key, or - // an alias name prefixed by "alias/". Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 - // Alias ARN Example - arn:aws:kms:us-east-1:123456789012:alias/MyAliasName - // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 Alias - // Name Example - alias/MyAliasName + // an alias name prefixed by "alias/". + // + // Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 + // + // Alias ARN Example - arn:aws:kms:us-east-1:123456789012:alias/MyAliasName + // + // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 + // + // Alias Name Example - alias/MyAliasName + // + // KeyId is a required field KeyId *string `min:"1" type:"string" required:"true"` } @@ -1525,10 +3845,15 @@ func (s DescribeKeyOutput) GoString() string { type DisableKeyInput struct { _ struct{} `type:"structure"` - // A unique identifier for the customer master key. This value can be a globally - // unique identifier or the fully specified ARN to a key. Key ARN Example - - // arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 - // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 + // A unique identifier for the CMK. + // + // Use the CMK's unique identifier or its Amazon Resource Name (ARN). For example: + // + // Unique ID: 1234abcd-12ab-34cd-56ef-1234567890ab + // + // ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + // + // KeyId is a required field KeyId *string `min:"1" type:"string" required:"true"` } @@ -1576,9 +3901,13 @@ type DisableKeyRotationInput struct { _ struct{} `type:"structure"` // A unique identifier for the customer master key. This value can be a globally - // unique identifier or the fully specified ARN to a key. Key ARN Example - - // arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 - // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 + // unique identifier or the fully specified ARN to a key. + // + // Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 + // + // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 + // + // KeyId is a required field KeyId *string `min:"1" type:"string" required:"true"` } @@ -1626,9 +3955,13 @@ type EnableKeyInput struct { _ struct{} `type:"structure"` // A unique identifier for the customer master key. This value can be a globally - // unique identifier or the fully specified ARN to a key. Key ARN Example - - // arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 - // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 + // unique identifier or the fully specified ARN to a key. + // + // Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 + // + // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 + // + // KeyId is a required field KeyId *string `min:"1" type:"string" required:"true"` } @@ -1676,9 +4009,13 @@ type EnableKeyRotationInput struct { _ struct{} `type:"structure"` // A unique identifier for the customer master key. This value can be a globally - // unique identifier or the fully specified ARN to a key. Key ARN Example - - // arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 - // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 + // unique identifier or the fully specified ARN to a key. + // + // Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 + // + // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 + // + // KeyId is a required field KeyId *string `min:"1" type:"string" required:"true"` } @@ -1725,29 +4062,38 @@ func (s EnableKeyRotationOutput) GoString() string { type EncryptInput struct { _ struct{} `type:"structure"` - // Name/value pair that specifies the encryption context to be used for authenticated + // Name-value pair that specifies the encryption context to be used for authenticated // encryption. If used here, the same value must be supplied to the Decrypt // API or decryption will fail. For more information, see Encryption Context - // (http://docs.aws.amazon.com/kms/latest/developerguide/encrypt-context.html). + // (http://docs.aws.amazon.com/kms/latest/developerguide/encryption-context.html). EncryptionContext map[string]*string `type:"map"` // A list of grant tokens. // - // For more information, go to Grant Tokens (http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) + // For more information, see Grant Tokens (http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) // in the AWS Key Management Service Developer Guide. GrantTokens []*string `type:"list"` // A unique identifier for the customer master key. This value can be a globally // unique identifier, a fully specified ARN to either an alias or a key, or - // an alias name prefixed by "alias/". Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 - // Alias ARN Example - arn:aws:kms:us-east-1:123456789012:alias/MyAliasName - // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 Alias - // Name Example - alias/MyAliasName + // an alias name prefixed by "alias/". + // + // Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 + // + // Alias ARN Example - arn:aws:kms:us-east-1:123456789012:alias/MyAliasName + // + // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 + // + // Alias Name Example - alias/MyAliasName + // + // KeyId is a required field KeyId *string `min:"1" type:"string" required:"true"` // Data to be encrypted. // // Plaintext is automatically base64 encoded/decoded by the SDK. + // + // Plaintext is a required field Plaintext []byte `min:"1" type:"blob" required:"true"` } @@ -1809,32 +4155,44 @@ func (s EncryptOutput) GoString() string { type GenerateDataKeyInput struct { _ struct{} `type:"structure"` - // Name/value pair that contains additional data to be authenticated during - // the encryption and decryption processes that use the key. This value is logged - // by AWS CloudTrail to provide context around the data encrypted by the key. + // A set of key-value pairs that represents additional authenticated data. + // + // For more information, see Encryption Context (http://docs.aws.amazon.com/kms/latest/developerguide/encryption-context.html) + // in the AWS Key Management Service Developer Guide. EncryptionContext map[string]*string `type:"map"` // A list of grant tokens. // - // For more information, go to Grant Tokens (http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) + // For more information, see Grant Tokens (http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) // in the AWS Key Management Service Developer Guide. GrantTokens []*string `type:"list"` - // A unique identifier for the customer master key. This value can be a globally - // unique identifier, a fully specified ARN to either an alias or a key, or - // an alias name prefixed by "alias/". Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 - // Alias ARN Example - arn:aws:kms:us-east-1:123456789012:alias/MyAliasName - // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 Alias - // Name Example - alias/MyAliasName + // The identifier of the CMK under which to generate and encrypt the data encryption + // key. + // + // A valid identifier is the unique key ID or the Amazon Resource Name (ARN) + // of the CMK, or the alias name or ARN of an alias that points to the CMK. + // Examples: + // + // Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab + // + // CMK ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + // + // Alias name: alias/ExampleAlias + // + // Alias ARN: arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias + // + // KeyId is a required field KeyId *string `min:"1" type:"string" required:"true"` - // Value that identifies the encryption algorithm and key size to generate a - // data key for. Currently this can be AES_128 or AES_256. + // The length of the data encryption key. Use AES_128 to generate a 128-bit + // symmetric key, or AES_256 to generate a 256-bit symmetric key. KeySpec *string `type:"string" enum:"DataKeySpec"` - // Integer that contains the number of bytes to generate. Common values are - // 128, 256, 512, and 1024. 1024 is the current limit. We recommend that you - // use the KeySpec parameter instead. + // The length of the data encryption key in bytes. For example, use the value + // 64 to generate a 512-bit data key (64 bytes is 512 bits). For common key + // lengths (128-bit and 256-bit symmetric keys), we recommend that you use the + // KeySpec field instead of this one. NumberOfBytes *int64 `min:"1" type:"integer"` } @@ -1870,24 +4228,17 @@ func (s *GenerateDataKeyInput) Validate() error { type GenerateDataKeyOutput struct { _ struct{} `type:"structure"` - // Ciphertext that contains the encrypted data key. You must store the blob - // and enough information to reconstruct the encryption context so that the - // data encrypted by using the key can later be decrypted. You must provide - // both the ciphertext blob and the encryption context to the Decrypt API to - // recover the plaintext data key and decrypt the object. - // - // If you are using the CLI, the value is Base64 encoded. Otherwise, it is - // not encoded. + // The encrypted data encryption key. // // CiphertextBlob is automatically base64 encoded/decoded by the SDK. CiphertextBlob []byte `min:"1" type:"blob"` - // System generated unique identifier of the key to be used to decrypt the encrypted - // copy of the data key. + // The identifier of the CMK under which the data encryption key was generated + // and encrypted. KeyId *string `min:"1" type:"string"` - // Plaintext that contains the data key. Use this for encryption and decryption - // and then remove it from memory as soon as possible. + // The data encryption key. Use this data key for local encryption and decryption, + // then remove it from memory as soon as possible. // // Plaintext is automatically base64 encoded/decoded by the SDK. Plaintext []byte `min:"1" type:"blob"` @@ -1906,31 +4257,44 @@ func (s GenerateDataKeyOutput) GoString() string { type GenerateDataKeyWithoutPlaintextInput struct { _ struct{} `type:"structure"` - // Name:value pair that contains additional data to be authenticated during - // the encryption and decryption processes. + // A set of key-value pairs that represents additional authenticated data. + // + // For more information, see Encryption Context (http://docs.aws.amazon.com/kms/latest/developerguide/encryption-context.html) + // in the AWS Key Management Service Developer Guide. EncryptionContext map[string]*string `type:"map"` // A list of grant tokens. // - // For more information, go to Grant Tokens (http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) + // For more information, see Grant Tokens (http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) // in the AWS Key Management Service Developer Guide. GrantTokens []*string `type:"list"` - // A unique identifier for the customer master key. This value can be a globally - // unique identifier, a fully specified ARN to either an alias or a key, or - // an alias name prefixed by "alias/". Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 - // Alias ARN Example - arn:aws:kms:us-east-1:123456789012:alias/MyAliasName - // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 Alias - // Name Example - alias/MyAliasName + // The identifier of the CMK under which to generate and encrypt the data encryption + // key. + // + // A valid identifier is the unique key ID or the Amazon Resource Name (ARN) + // of the CMK, or the alias name or ARN of an alias that points to the CMK. + // Examples: + // + // Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab + // + // CMK ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + // + // Alias name: alias/ExampleAlias + // + // Alias ARN: arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias + // + // KeyId is a required field KeyId *string `min:"1" type:"string" required:"true"` - // Value that identifies the encryption algorithm and key size. Currently this - // can be AES_128 or AES_256. + // The length of the data encryption key. Use AES_128 to generate a 128-bit + // symmetric key, or AES_256 to generate a 256-bit symmetric key. KeySpec *string `type:"string" enum:"DataKeySpec"` - // Integer that contains the number of bytes to generate. Common values are - // 128, 256, 512, 1024 and so on. We recommend that you use the KeySpec parameter - // instead. + // The length of the data encryption key in bytes. For example, use the value + // 64 to generate a 512-bit data key (64 bytes is 512 bits). For common key + // lengths (128-bit and 256-bit symmetric keys), we recommend that you use the + // KeySpec field instead of this one. NumberOfBytes *int64 `min:"1" type:"integer"` } @@ -1966,17 +4330,13 @@ func (s *GenerateDataKeyWithoutPlaintextInput) Validate() error { type GenerateDataKeyWithoutPlaintextOutput struct { _ struct{} `type:"structure"` - // Ciphertext that contains the wrapped data key. You must store the blob and - // encryption context so that the key can be used in a future decrypt operation. - // - // If you are using the CLI, the value is Base64 encoded. Otherwise, it is - // not encoded. + // The encrypted data encryption key. // // CiphertextBlob is automatically base64 encoded/decoded by the SDK. CiphertextBlob []byte `min:"1" type:"blob"` - // System generated unique identifier of the key to be used to decrypt the encrypted - // copy of the data key. + // The identifier of the CMK under which the data encryption key was generated + // and encrypted. KeyId *string `min:"1" type:"string"` } @@ -1993,8 +4353,7 @@ func (s GenerateDataKeyWithoutPlaintextOutput) GoString() string { type GenerateRandomInput struct { _ struct{} `type:"structure"` - // Integer that contains the number of bytes to generate. Common values are - // 128, 256, 512, 1024 and so on. The current limit is 1024 bytes. + // The length of the byte string. NumberOfBytes *int64 `min:"1" type:"integer"` } @@ -2024,7 +4383,7 @@ func (s *GenerateRandomInput) Validate() error { type GenerateRandomOutput struct { _ struct{} `type:"structure"` - // Plaintext that contains the unpredictable byte string. + // The unpredictable byte string. // // Plaintext is automatically base64 encoded/decoded by the SDK. Plaintext []byte `min:"1" type:"blob"` @@ -2044,13 +4403,19 @@ type GetKeyPolicyInput struct { _ struct{} `type:"structure"` // A unique identifier for the customer master key. This value can be a globally - // unique identifier or the fully specified ARN to a key. Key ARN Example - - // arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 - // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 + // unique identifier or the fully specified ARN to a key. + // + // Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 + // + // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 + // + // KeyId is a required field KeyId *string `min:"1" type:"string" required:"true"` // String that contains the name of the policy. Currently, this must be "default". // Policy names can be discovered by calling ListKeyPolicies. + // + // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` } @@ -2107,9 +4472,13 @@ type GetKeyRotationStatusInput struct { _ struct{} `type:"structure"` // A unique identifier for the customer master key. This value can be a globally - // unique identifier or the fully specified ARN to a key. Key ARN Example - - // arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 - // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 + // unique identifier or the fully specified ARN to a key. + // + // Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 + // + // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 + // + // KeyId is a required field KeyId *string `min:"1" type:"string" required:"true"` } @@ -2156,12 +4525,109 @@ func (s GetKeyRotationStatusOutput) GoString() string { return s.String() } +type GetParametersForImportInput struct { + _ struct{} `type:"structure"` + + // The identifier of the CMK into which you will import key material. The CMK's + // Origin must be EXTERNAL. + // + // A valid identifier is the unique key ID or the Amazon Resource Name (ARN) + // of the CMK. Examples: + // + // Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab + // + // Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + // + // KeyId is a required field + KeyId *string `min:"1" type:"string" required:"true"` + + // The algorithm you will use to encrypt the key material before importing it + // with ImportKeyMaterial. For more information, see Encrypt the Key Material + // (http://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-encrypt-key-material.html) + // in the AWS Key Management Service Developer Guide. + // + // WrappingAlgorithm is a required field + WrappingAlgorithm *string `type:"string" required:"true" enum:"AlgorithmSpec"` + + // The type of wrapping key (public key) to return in the response. Only 2048-bit + // RSA public keys are supported. + // + // WrappingKeySpec is a required field + WrappingKeySpec *string `type:"string" required:"true" enum:"WrappingKeySpec"` +} + +// String returns the string representation +func (s GetParametersForImportInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetParametersForImportInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetParametersForImportInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetParametersForImportInput"} + if s.KeyId == nil { + invalidParams.Add(request.NewErrParamRequired("KeyId")) + } + if s.KeyId != nil && len(*s.KeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyId", 1)) + } + if s.WrappingAlgorithm == nil { + invalidParams.Add(request.NewErrParamRequired("WrappingAlgorithm")) + } + if s.WrappingKeySpec == nil { + invalidParams.Add(request.NewErrParamRequired("WrappingKeySpec")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type GetParametersForImportOutput struct { + _ struct{} `type:"structure"` + + // The import token to send in a subsequent ImportKeyMaterial request. + // + // ImportToken is automatically base64 encoded/decoded by the SDK. + ImportToken []byte `min:"1" type:"blob"` + + // The identifier of the CMK to use in a subsequent ImportKeyMaterial request. + // This is the same CMK specified in the GetParametersForImport request. + KeyId *string `min:"1" type:"string"` + + // The time at which the import token and public key are no longer valid. After + // this time, you cannot use them to make an ImportKeyMaterial request and you + // must send another GetParametersForImport request to retrieve new ones. + ParametersValidTo *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The public key to use to encrypt the key material before importing it with + // ImportKeyMaterial. + // + // PublicKey is automatically base64 encoded/decoded by the SDK. + PublicKey []byte `min:"1" type:"blob"` +} + +// String returns the string representation +func (s GetParametersForImportOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetParametersForImportOutput) GoString() string { + return s.String() +} + // A structure for specifying the conditions under which the operations permitted // by the grant are allowed. // // You can use this structure to allow the operations permitted by the grant // only when a specified encryption context is present. For more information -// about encryption context, see Encryption Context (http://docs.aws.amazon.com/kms/latest/developerguide/encrypt-context.html) +// about encryption context, see Encryption Context (http://docs.aws.amazon.com/kms/latest/developerguide/encryption-context.html) // in the AWS Key Management Service Developer Guide. type GrantConstraints struct { _ struct{} `type:"structure"` @@ -2235,6 +4701,104 @@ func (s GrantListEntry) GoString() string { return s.String() } +type ImportKeyMaterialInput struct { + _ struct{} `type:"structure"` + + // The encrypted key material to import. It must be encrypted with the public + // key that you received in the response to a previous GetParametersForImport + // request, using the wrapping algorithm that you specified in that request. + // + // EncryptedKeyMaterial is automatically base64 encoded/decoded by the SDK. + // + // EncryptedKeyMaterial is a required field + EncryptedKeyMaterial []byte `min:"1" type:"blob" required:"true"` + + // Specifies whether the key material expires. The default is KEY_MATERIAL_EXPIRES, + // in which case you must include the ValidTo parameter. When this parameter + // is set to KEY_MATERIAL_DOES_NOT_EXPIRE, you must omit the ValidTo parameter. + ExpirationModel *string `type:"string" enum:"ExpirationModelType"` + + // The import token that you received in the response to a previous GetParametersForImport + // request. It must be from the same response that contained the public key + // that you used to encrypt the key material. + // + // ImportToken is automatically base64 encoded/decoded by the SDK. + // + // ImportToken is a required field + ImportToken []byte `min:"1" type:"blob" required:"true"` + + // The identifier of the CMK to import the key material into. The CMK's Origin + // must be EXTERNAL. + // + // A valid identifier is the unique key ID or the Amazon Resource Name (ARN) + // of the CMK. Examples: + // + // Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab + // + // Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + // + // KeyId is a required field + KeyId *string `min:"1" type:"string" required:"true"` + + // The time at which the imported key material expires. When the key material + // expires, AWS KMS deletes the key material and the CMK becomes unusable. You + // must omit this parameter when the ExpirationModel parameter is set to KEY_MATERIAL_DOES_NOT_EXPIRE. + // Otherwise it is required. + ValidTo *time.Time `type:"timestamp" timestampFormat:"unix"` +} + +// String returns the string representation +func (s ImportKeyMaterialInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImportKeyMaterialInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ImportKeyMaterialInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImportKeyMaterialInput"} + if s.EncryptedKeyMaterial == nil { + invalidParams.Add(request.NewErrParamRequired("EncryptedKeyMaterial")) + } + if s.EncryptedKeyMaterial != nil && len(s.EncryptedKeyMaterial) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EncryptedKeyMaterial", 1)) + } + if s.ImportToken == nil { + invalidParams.Add(request.NewErrParamRequired("ImportToken")) + } + if s.ImportToken != nil && len(s.ImportToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ImportToken", 1)) + } + if s.KeyId == nil { + invalidParams.Add(request.NewErrParamRequired("KeyId")) + } + if s.KeyId != nil && len(*s.KeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type ImportKeyMaterialOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s ImportKeyMaterialOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImportKeyMaterialOutput) GoString() string { + return s.String() +} + // Contains information about each entry in the key list. type KeyListEntry struct { _ struct{} `type:"structure"` @@ -2263,43 +4827,60 @@ func (s KeyListEntry) GoString() string { type KeyMetadata struct { _ struct{} `type:"structure"` - // The twelve-digit account ID of the AWS account that owns the key. + // The twelve-digit account ID of the AWS account that owns the CMK. AWSAccountId *string `type:"string"` - // The Amazon Resource Name (ARN) of the key. For examples, see AWS Key Management + // The Amazon Resource Name (ARN) of the CMK. For examples, see AWS Key Management // Service (AWS KMS) (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kms) // in the Example ARNs section of the AWS General Reference. Arn *string `min:"20" type:"string"` - // The date and time when the key was created. + // The date and time when the CMK was created. CreationDate *time.Time `type:"timestamp" timestampFormat:"unix"` - // The date and time after which AWS KMS deletes the customer master key (CMK). - // This value is present only when KeyState is PendingDeletion, otherwise this - // value is null. + // The date and time after which AWS KMS deletes the CMK. This value is present + // only when KeyState is PendingDeletion, otherwise this value is omitted. DeletionDate *time.Time `type:"timestamp" timestampFormat:"unix"` - // The friendly description of the key. + // The description of the CMK. Description *string `type:"string"` - // Specifies whether the key is enabled. When KeyState is Enabled this value + // Specifies whether the CMK is enabled. When KeyState is Enabled this value // is true, otherwise it is false. Enabled *bool `type:"boolean"` - // The globally unique identifier for the key. + // Specifies whether the CMK's key material expires. This value is present only + // when Origin is EXTERNAL, otherwise this value is omitted. + ExpirationModel *string `type:"string" enum:"ExpirationModelType"` + + // The globally unique identifier for the CMK. + // + // KeyId is a required field KeyId *string `min:"1" type:"string" required:"true"` - // The state of the customer master key (CMK). + // The state of the CMK. // - // For more information about how key state affects the use of a CMK, go to - // How Key State Affects the Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) + // For more information about how key state affects the use of a CMK, see How + // Key State Affects the Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. KeyState *string `type:"string" enum:"KeyState"` - // The cryptographic operations for which you can use the key. Currently the - // only allowed value is ENCRYPT_DECRYPT, which means you can use the key for + // The cryptographic operations for which you can use the CMK. Currently the + // only allowed value is ENCRYPT_DECRYPT, which means you can use the CMK for // the Encrypt and Decrypt operations. KeyUsage *string `type:"string" enum:"KeyUsageType"` + + // The source of the CMK's key material. When this value is AWS_KMS, AWS KMS + // created the key material. When this value is EXTERNAL, the key material was + // imported from your existing key management infrastructure or the CMK lacks + // key material. + Origin *string `type:"string" enum:"OriginType"` + + // The time at which the imported key material expires. When the key material + // expires, AWS KMS deletes the key material and the CMK becomes unusable. This + // value is present only for CMKs whose Origin is EXTERNAL and whose ExpirationModel + // is KEY_MATERIAL_EXPIRES, otherwise this value is omitted. + ValidTo *time.Time `type:"timestamp" timestampFormat:"unix"` } // String returns the string representation @@ -2385,9 +4966,13 @@ type ListGrantsInput struct { _ struct{} `type:"structure"` // A unique identifier for the customer master key. This value can be a globally - // unique identifier or the fully specified ARN to a key. Key ARN Example - - // arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 - // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 + // unique identifier or the fully specified ARN to a key. + // + // Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 + // + // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 + // + // KeyId is a required field KeyId *string `min:"1" type:"string" required:"true"` // When paginating results, specify the maximum number of items to return in @@ -2467,10 +5052,17 @@ type ListKeyPoliciesInput struct { // A unique identifier for the customer master key. This value can be a globally // unique identifier, a fully specified ARN to either an alias or a key, or - // an alias name prefixed by "alias/". Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 - // Alias ARN Example - arn:aws:kms:us-east-1:123456789012:alias/MyAliasName - // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 Alias - // Name Example - alias/MyAliasName + // an alias name prefixed by "alias/". + // + // Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 + // + // Alias ARN Example - arn:aws:kms:us-east-1:123456789012:alias/MyAliasName + // + // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 + // + // Alias Name Example - alias/MyAliasName + // + // KeyId is a required field KeyId *string `min:"1" type:"string" required:"true"` // When paginating results, specify the maximum number of items to return in @@ -2638,9 +5230,11 @@ type ListRetirableGrantsInput struct { // To specify the retiring principal, use the Amazon Resource Name (ARN) (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // of an AWS principal. Valid AWS principals include AWS accounts (root), IAM // users, federated users, and assumed role users. For examples of the ARN syntax - // for specifying a principal, go to AWS Identity and Access Management (IAM) + // for specifying a principal, see AWS Identity and Access Management (IAM) // (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam) // in the Example ARNs section of the Amazon Web Services General Reference. + // + // RetiringPrincipal is a required field RetiringPrincipal *string `min:"1" type:"string" required:"true"` } @@ -2679,19 +5273,60 @@ func (s *ListRetirableGrantsInput) Validate() error { type PutKeyPolicyInput struct { _ struct{} `type:"structure"` - // A unique identifier for the customer master key. This value can be a globally - // unique identifier or the fully specified ARN to a key. Key ARN Example - - // arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 - // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 + // A flag to indicate whether to bypass the key policy lockout safety check. + // + // Setting this value to true increases the likelihood that the CMK becomes + // unmanageable. Do not set this value to true indiscriminately. + // + // For more information, refer to the scenario in the Default Key Policy (http://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam) + // section in the AWS Key Management Service Developer Guide. + // + // Use this parameter only when you intend to prevent the principal making + // the request from making a subsequent PutKeyPolicy request on the CMK. + // + // The default value is false. + BypassPolicyLockoutSafetyCheck *bool `type:"boolean"` + + // A unique identifier for the CMK. + // + // Use the CMK's unique identifier or its Amazon Resource Name (ARN). For example: + // + // Unique ID: 1234abcd-12ab-34cd-56ef-1234567890ab + // + // ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + // + // KeyId is a required field KeyId *string `min:"1" type:"string" required:"true"` - // The policy to attach to the key. This is required and delegates back to the - // account. The key is the root of trust. The policy size limit is 32 KiB (32768 - // bytes). + // The key policy to attach to the CMK. + // + // If you do not set BypassPolicyLockoutSafetyCheck to true, the policy must + // meet the following criteria: + // + // It must allow the principal making the PutKeyPolicy request to make a + // subsequent PutKeyPolicy request on the CMK. This reduces the likelihood that + // the CMK becomes unmanageable. For more information, refer to the scenario + // in the Default Key Policy (http://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam) + // section in the AWS Key Management Service Developer Guide. + // + // The principal(s) specified in the key policy must exist and be visible + // to AWS KMS. When you create a new AWS principal (for example, an IAM user + // or role), you might need to enforce a delay before specifying the new principal + // in a key policy because the new principal might not immediately be visible + // to AWS KMS. For more information, see Changes that I make are not always + // immediately visible (http://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency) + // in the IAM User Guide. + // + // The policy size limit is 32 KiB (32768 bytes). + // + // Policy is a required field Policy *string `min:"1" type:"string" required:"true"` - // Name of the policy to be attached. Currently, the only supported name is - // "default". + // The name of the key policy. + // + // This value must be default. + // + // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` } @@ -2753,6 +5388,8 @@ type ReEncryptInput struct { // Ciphertext of the data to re-encrypt. // // CiphertextBlob is automatically base64 encoded/decoded by the SDK. + // + // CiphertextBlob is a required field CiphertextBlob []byte `min:"1" type:"blob" required:"true"` // Encryption context to be used when the data is re-encrypted. @@ -2760,16 +5397,22 @@ type ReEncryptInput struct { // A unique identifier for the customer master key used to re-encrypt the data. // This value can be a globally unique identifier, a fully specified ARN to - // either an alias or a key, or an alias name prefixed by "alias/". Key ARN - // Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 - // Alias ARN Example - arn:aws:kms:us-east-1:123456789012:alias/MyAliasName - // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 Alias - // Name Example - alias/MyAliasName + // either an alias or a key, or an alias name prefixed by "alias/". + // + // Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 + // + // Alias ARN Example - arn:aws:kms:us-east-1:123456789012:alias/MyAliasName + // + // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 + // + // Alias Name Example - alias/MyAliasName + // + // DestinationKeyId is a required field DestinationKeyId *string `min:"1" type:"string" required:"true"` // A list of grant tokens. // - // For more information, go to Grant Tokens (http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) + // For more information, see Grant Tokens (http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) // in the AWS Key Management Service Developer Guide. GrantTokens []*string `type:"list"` @@ -2840,7 +5483,9 @@ type RetireGrantInput struct { _ struct{} `type:"structure"` // Unique identifier of the grant to be retired. The grant ID is returned by - // the CreateGrant function. Grant ID Example - 0123456789012345678901234567890123456789012345678901234567890123 + // the CreateGrant function. + // + // Grant ID Example - 0123456789012345678901234567890123456789012345678901234567890123 GrantId *string `min:"1" type:"string"` // Token that identifies the grant to be retired. @@ -2848,8 +5493,11 @@ type RetireGrantInput struct { // A unique identifier for the customer master key associated with the grant. // This value can be a globally unique identifier or a fully specified ARN of - // the key. Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 - // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 + // the key. + // + // Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 + // + // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 KeyId *string `min:"1" type:"string"` } @@ -2900,12 +5548,19 @@ type RevokeGrantInput struct { _ struct{} `type:"structure"` // Identifier of the grant to be revoked. + // + // GrantId is a required field GrantId *string `min:"1" type:"string" required:"true"` // A unique identifier for the customer master key associated with the grant. // This value can be a globally unique identifier or the fully specified ARN - // to a key. Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 - // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 + // to a key. + // + // Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 + // + // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 + // + // KeyId is a required field KeyId *string `min:"1" type:"string" required:"true"` } @@ -2961,12 +5616,16 @@ type ScheduleKeyDeletionInput struct { // The unique identifier for the customer master key (CMK) to delete. // // To specify this value, use the unique key ID or the Amazon Resource Name - // (ARN) of the CMK. Examples: Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab - // Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + // (ARN) of the CMK. Examples: + // + // Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab + // + // Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab // + // To obtain the unique key ID and key ARN for a given CMK, use ListKeys + // or DescribeKey. // - // To obtain the unique key ID and key ARN for a given CMK, use ListKeys or - // DescribeKey. + // KeyId is a required field KeyId *string `min:"1" type:"string" required:"true"` // The waiting period, specified in number of days. After the waiting period @@ -3033,15 +5692,22 @@ type UpdateAliasInput struct { // String that contains the name of the alias to be modified. The name must // start with the word "alias" followed by a forward slash (alias/). Aliases // that begin with "alias/aws" are reserved. + // + // AliasName is a required field AliasName *string `min:"1" type:"string" required:"true"` // Unique identifier of the customer master key to be mapped to the alias. This // value can be a globally unique identifier or the fully specified ARN of a - // key. Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 - // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 + // key. + // + // Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 // - // You can call ListAliases to verify that the alias is mapped to the correct + // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 + // + // You can call ListAliases to verify that the alias is mapped to the correct // TargetKeyId. + // + // TargetKeyId is a required field TargetKeyId *string `min:"1" type:"string" required:"true"` } @@ -3095,12 +5761,18 @@ type UpdateKeyDescriptionInput struct { _ struct{} `type:"structure"` // New description for the key. + // + // Description is a required field Description *string `type:"string" required:"true"` // A unique identifier for the customer master key. This value can be a globally - // unique identifier or the fully specified ARN to a key. Key ARN Example - - // arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 - // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 + // unique identifier or the fully specified ARN to a key. + // + // Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 + // + // Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012 + // + // KeyId is a required field KeyId *string `min:"1" type:"string" required:"true"` } @@ -3148,43 +5820,89 @@ func (s UpdateKeyDescriptionOutput) GoString() string { } const ( - // @enum DataKeySpec + // AlgorithmSpecRsaesPkcs1V15 is a AlgorithmSpec enum value + AlgorithmSpecRsaesPkcs1V15 = "RSAES_PKCS1_V1_5" + + // AlgorithmSpecRsaesOaepSha1 is a AlgorithmSpec enum value + AlgorithmSpecRsaesOaepSha1 = "RSAES_OAEP_SHA_1" + + // AlgorithmSpecRsaesOaepSha256 is a AlgorithmSpec enum value + AlgorithmSpecRsaesOaepSha256 = "RSAES_OAEP_SHA_256" +) + +const ( + // DataKeySpecAes256 is a DataKeySpec enum value DataKeySpecAes256 = "AES_256" - // @enum DataKeySpec + + // DataKeySpecAes128 is a DataKeySpec enum value DataKeySpecAes128 = "AES_128" ) const ( - // @enum GrantOperation + // ExpirationModelTypeKeyMaterialExpires is a ExpirationModelType enum value + ExpirationModelTypeKeyMaterialExpires = "KEY_MATERIAL_EXPIRES" + + // ExpirationModelTypeKeyMaterialDoesNotExpire is a ExpirationModelType enum value + ExpirationModelTypeKeyMaterialDoesNotExpire = "KEY_MATERIAL_DOES_NOT_EXPIRE" +) + +const ( + // GrantOperationDecrypt is a GrantOperation enum value GrantOperationDecrypt = "Decrypt" - // @enum GrantOperation + + // GrantOperationEncrypt is a GrantOperation enum value GrantOperationEncrypt = "Encrypt" - // @enum GrantOperation + + // GrantOperationGenerateDataKey is a GrantOperation enum value GrantOperationGenerateDataKey = "GenerateDataKey" - // @enum GrantOperation + + // GrantOperationGenerateDataKeyWithoutPlaintext is a GrantOperation enum value GrantOperationGenerateDataKeyWithoutPlaintext = "GenerateDataKeyWithoutPlaintext" - // @enum GrantOperation + + // GrantOperationReEncryptFrom is a GrantOperation enum value GrantOperationReEncryptFrom = "ReEncryptFrom" - // @enum GrantOperation + + // GrantOperationReEncryptTo is a GrantOperation enum value GrantOperationReEncryptTo = "ReEncryptTo" - // @enum GrantOperation + + // GrantOperationCreateGrant is a GrantOperation enum value GrantOperationCreateGrant = "CreateGrant" - // @enum GrantOperation + + // GrantOperationRetireGrant is a GrantOperation enum value GrantOperationRetireGrant = "RetireGrant" - // @enum GrantOperation + + // GrantOperationDescribeKey is a GrantOperation enum value GrantOperationDescribeKey = "DescribeKey" ) const ( - // @enum KeyState + // KeyStateEnabled is a KeyState enum value KeyStateEnabled = "Enabled" - // @enum KeyState + + // KeyStateDisabled is a KeyState enum value KeyStateDisabled = "Disabled" - // @enum KeyState + + // KeyStatePendingDeletion is a KeyState enum value KeyStatePendingDeletion = "PendingDeletion" + + // KeyStatePendingImport is a KeyState enum value + KeyStatePendingImport = "PendingImport" ) const ( - // @enum KeyUsageType + // KeyUsageTypeEncryptDecrypt is a KeyUsageType enum value KeyUsageTypeEncryptDecrypt = "ENCRYPT_DECRYPT" ) + +const ( + // OriginTypeAwsKms is a OriginType enum value + OriginTypeAwsKms = "AWS_KMS" + + // OriginTypeExternal is a OriginType enum value + OriginTypeExternal = "EXTERNAL" +) + +const ( + // WrappingKeySpecRsa2048 is a WrappingKeySpec enum value + WrappingKeySpecRsa2048 = "RSA_2048" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go b/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go index bc93752934dd..9713b5013075 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go @@ -15,7 +15,30 @@ import ( const opAddPermission = "AddPermission" -// AddPermissionRequest generates a request for the AddPermission operation. +// AddPermissionRequest generates a "aws/request.Request" representing the +// client's request for the AddPermission operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AddPermission for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AddPermission method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AddPermissionRequest method. +// req, resp := client.AddPermissionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Lambda) AddPermissionRequest(input *AddPermissionInput) (req *request.Request, output *AddPermissionOutput) { op := &request.Operation{ Name: opAddPermission, @@ -33,6 +56,8 @@ func (c *Lambda) AddPermissionRequest(input *AddPermissionInput) (req *request.R return } +// AddPermission API operation for AWS Lambda. +// // Adds a permission to the resource policy associated with the specified AWS // Lambda function. You use resource policies to grant permissions to event // sources that use push model. In a push model, event sources (such as Amazon @@ -48,6 +73,36 @@ func (c *Lambda) AddPermissionRequest(input *AddPermissionInput) (req *request.R // Lambda Function Versioning and Aliases (http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html). // // This operation requires permission for the lambda:AddPermission action. +// +// 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 Lambda's +// API operation AddPermission for usage and error information. +// +// Returned Error Codes: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * ResourceNotFoundException +// The resource (for example, a Lambda function or access policy statement) +// specified in the request does not exist. +// +// * ResourceConflictException +// The resource already exists. +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. For example, if you provided +// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration +// API, that AWS Lambda is unable to assume you will get this exception. +// +// * PolicyLengthExceededException +// Lambda function access policy is limited to 20 KB. +// +// * TooManyRequestsException + +// func (c *Lambda) AddPermission(input *AddPermissionInput) (*AddPermissionOutput, error) { req, out := c.AddPermissionRequest(input) err := req.Send() @@ -56,7 +111,30 @@ func (c *Lambda) AddPermission(input *AddPermissionInput) (*AddPermissionOutput, const opCreateAlias = "CreateAlias" -// CreateAliasRequest generates a request for the CreateAlias operation. +// CreateAliasRequest generates a "aws/request.Request" representing the +// client's request for the CreateAlias operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateAlias for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateAlias method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateAliasRequest method. +// req, resp := client.CreateAliasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Lambda) CreateAliasRequest(input *CreateAliasInput) (req *request.Request, output *AliasConfiguration) { op := &request.Operation{ Name: opCreateAlias, @@ -74,11 +152,40 @@ func (c *Lambda) CreateAliasRequest(input *CreateAliasInput) (req *request.Reque return } +// CreateAlias API operation for AWS Lambda. +// // Creates an alias that points to the specified Lambda function version. For // more information, see Introduction to AWS Lambda Aliases (http://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html). // // Alias names are unique for a given function. This requires permission for // the lambda:CreateAlias action. +// +// 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 Lambda's +// API operation CreateAlias for usage and error information. +// +// Returned Error Codes: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * ResourceNotFoundException +// The resource (for example, a Lambda function or access policy statement) +// specified in the request does not exist. +// +// * ResourceConflictException +// The resource already exists. +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. For example, if you provided +// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration +// API, that AWS Lambda is unable to assume you will get this exception. +// +// * TooManyRequestsException + +// func (c *Lambda) CreateAlias(input *CreateAliasInput) (*AliasConfiguration, error) { req, out := c.CreateAliasRequest(input) err := req.Send() @@ -87,7 +194,30 @@ func (c *Lambda) CreateAlias(input *CreateAliasInput) (*AliasConfiguration, erro const opCreateEventSourceMapping = "CreateEventSourceMapping" -// CreateEventSourceMappingRequest generates a request for the CreateEventSourceMapping operation. +// CreateEventSourceMappingRequest generates a "aws/request.Request" representing the +// client's request for the CreateEventSourceMapping operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateEventSourceMapping for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateEventSourceMapping method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateEventSourceMappingRequest method. +// req, resp := client.CreateEventSourceMappingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Lambda) CreateEventSourceMappingRequest(input *CreateEventSourceMappingInput) (req *request.Request, output *EventSourceMappingConfiguration) { op := &request.Operation{ Name: opCreateEventSourceMapping, @@ -105,6 +235,8 @@ func (c *Lambda) CreateEventSourceMappingRequest(input *CreateEventSourceMapping return } +// CreateEventSourceMapping API operation for AWS Lambda. +// // Identifies a stream as an event source for a Lambda function. It can be either // an Amazon Kinesis stream or an Amazon DynamoDB stream. AWS Lambda invokes // the specified function when records are posted to the stream. @@ -115,20 +247,48 @@ func (c *Lambda) CreateEventSourceMappingRequest(input *CreateEventSourceMapping // This event source mapping is relevant only in the AWS Lambda pull model, // where AWS Lambda invokes the function. For more information, go to AWS Lambda: // How it Works (http://docs.aws.amazon.com/lambda/latest/dg/lambda-introduction.html) -// in the AWS Lambda Developer Guide. You provide mapping information (for -// example, which stream to read from and which Lambda function to invoke) in -// the request body. +// in the AWS Lambda Developer Guide. +// +// You provide mapping information (for example, which stream to read from +// and which Lambda function to invoke) in the request body. // -// Each event source, such as an Amazon Kinesis or a DynamoDB stream, can -// be associated with multiple AWS Lambda function. A given Lambda function -// can be associated with multiple AWS event sources. +// Each event source, such as an Amazon Kinesis or a DynamoDB stream, can be +// associated with multiple AWS Lambda function. A given Lambda function can +// be associated with multiple AWS event sources. // -// If you are using versioning, you can specify a specific function version +// If you are using versioning, you can specify a specific function version // or an alias via the function name parameter. For more information about versioning, // see AWS Lambda Function Versioning and Aliases (http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html). // -// This operation requires permission for the lambda:CreateEventSourceMapping +// This operation requires permission for the lambda:CreateEventSourceMapping // action. +// +// 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 Lambda's +// API operation CreateEventSourceMapping for usage and error information. +// +// Returned Error Codes: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. For example, if you provided +// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration +// API, that AWS Lambda is unable to assume you will get this exception. +// +// * ResourceConflictException +// The resource already exists. +// +// * TooManyRequestsException + +// +// * ResourceNotFoundException +// The resource (for example, a Lambda function or access policy statement) +// specified in the request does not exist. +// func (c *Lambda) CreateEventSourceMapping(input *CreateEventSourceMappingInput) (*EventSourceMappingConfiguration, error) { req, out := c.CreateEventSourceMappingRequest(input) err := req.Send() @@ -137,7 +297,30 @@ func (c *Lambda) CreateEventSourceMapping(input *CreateEventSourceMappingInput) const opCreateFunction = "CreateFunction" -// CreateFunctionRequest generates a request for the CreateFunction operation. +// CreateFunctionRequest generates a "aws/request.Request" representing the +// client's request for the CreateFunction operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateFunction for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateFunction method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateFunctionRequest method. +// req, resp := client.CreateFunctionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Lambda) CreateFunctionRequest(input *CreateFunctionInput) (req *request.Request, output *FunctionConfiguration) { op := &request.Operation{ Name: opCreateFunction, @@ -155,6 +338,8 @@ func (c *Lambda) CreateFunctionRequest(input *CreateFunctionInput) (req *request return } +// CreateFunction API operation for AWS Lambda. +// // Creates a new Lambda function. The function metadata is created from the // request parameters, and the code for the function is provided by a .zip file // in the request body. If the function name already exists, the operation will @@ -165,6 +350,36 @@ func (c *Lambda) CreateFunctionRequest(input *CreateFunctionInput) (req *request // about versioning, see AWS Lambda Function Versioning and Aliases (http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html). // // This operation requires permission for the lambda:CreateFunction action. +// +// 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 Lambda's +// API operation CreateFunction for usage and error information. +// +// Returned Error Codes: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. For example, if you provided +// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration +// API, that AWS Lambda is unable to assume you will get this exception. +// +// * ResourceNotFoundException +// The resource (for example, a Lambda function or access policy statement) +// specified in the request does not exist. +// +// * ResourceConflictException +// The resource already exists. +// +// * TooManyRequestsException + +// +// * CodeStorageExceededException +// You have exceeded your maximum total code size per account. Limits (http://docs.aws.amazon.com/lambda/latest/dg/limits.html) +// func (c *Lambda) CreateFunction(input *CreateFunctionInput) (*FunctionConfiguration, error) { req, out := c.CreateFunctionRequest(input) err := req.Send() @@ -173,7 +388,30 @@ func (c *Lambda) CreateFunction(input *CreateFunctionInput) (*FunctionConfigurat const opDeleteAlias = "DeleteAlias" -// DeleteAliasRequest generates a request for the DeleteAlias operation. +// DeleteAliasRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAlias operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteAlias for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteAlias method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteAliasRequest method. +// req, resp := client.DeleteAliasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Lambda) DeleteAliasRequest(input *DeleteAliasInput) (req *request.Request, output *DeleteAliasOutput) { op := &request.Operation{ Name: opDeleteAlias, @@ -193,10 +431,32 @@ func (c *Lambda) DeleteAliasRequest(input *DeleteAliasInput) (req *request.Reque return } +// DeleteAlias API operation for AWS Lambda. +// // Deletes the specified Lambda function alias. For more information, see Introduction // to AWS Lambda Aliases (http://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html). // // This requires permission for the lambda:DeleteAlias action. +// +// 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 Lambda's +// API operation DeleteAlias for usage and error information. +// +// Returned Error Codes: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. For example, if you provided +// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration +// API, that AWS Lambda is unable to assume you will get this exception. +// +// * TooManyRequestsException + +// func (c *Lambda) DeleteAlias(input *DeleteAliasInput) (*DeleteAliasOutput, error) { req, out := c.DeleteAliasRequest(input) err := req.Send() @@ -205,7 +465,30 @@ func (c *Lambda) DeleteAlias(input *DeleteAliasInput) (*DeleteAliasOutput, error const opDeleteEventSourceMapping = "DeleteEventSourceMapping" -// DeleteEventSourceMappingRequest generates a request for the DeleteEventSourceMapping operation. +// DeleteEventSourceMappingRequest generates a "aws/request.Request" representing the +// client's request for the DeleteEventSourceMapping operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteEventSourceMapping for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteEventSourceMapping method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteEventSourceMappingRequest method. +// req, resp := client.DeleteEventSourceMappingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Lambda) DeleteEventSourceMappingRequest(input *DeleteEventSourceMappingInput) (req *request.Request, output *EventSourceMappingConfiguration) { op := &request.Operation{ Name: opDeleteEventSourceMapping, @@ -223,11 +506,37 @@ func (c *Lambda) DeleteEventSourceMappingRequest(input *DeleteEventSourceMapping return } +// DeleteEventSourceMapping API operation for AWS Lambda. +// // Removes an event source mapping. This means AWS Lambda will no longer invoke // the function for events in the associated source. // // This operation requires permission for the lambda:DeleteEventSourceMapping // action. +// +// 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 Lambda's +// API operation DeleteEventSourceMapping for usage and error information. +// +// Returned Error Codes: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * ResourceNotFoundException +// The resource (for example, a Lambda function or access policy statement) +// specified in the request does not exist. +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. For example, if you provided +// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration +// API, that AWS Lambda is unable to assume you will get this exception. +// +// * TooManyRequestsException + +// func (c *Lambda) DeleteEventSourceMapping(input *DeleteEventSourceMappingInput) (*EventSourceMappingConfiguration, error) { req, out := c.DeleteEventSourceMappingRequest(input) err := req.Send() @@ -236,7 +545,30 @@ func (c *Lambda) DeleteEventSourceMapping(input *DeleteEventSourceMappingInput) const opDeleteFunction = "DeleteFunction" -// DeleteFunctionRequest generates a request for the DeleteFunction operation. +// DeleteFunctionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteFunction operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteFunction for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteFunction method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteFunctionRequest method. +// req, resp := client.DeleteFunctionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Lambda) DeleteFunctionRequest(input *DeleteFunctionInput) (req *request.Request, output *DeleteFunctionOutput) { op := &request.Operation{ Name: opDeleteFunction, @@ -256,6 +588,8 @@ func (c *Lambda) DeleteFunctionRequest(input *DeleteFunctionInput) (req *request return } +// DeleteFunction API operation for AWS Lambda. +// // Deletes the specified Lambda function code and configuration. // // If you are using the versioning feature and you don't specify a function @@ -269,6 +603,33 @@ func (c *Lambda) DeleteFunctionRequest(input *DeleteFunctionInput) (req *request // You will need to delete the event source mappings explicitly. // // This operation requires permission for the lambda:DeleteFunction action. +// +// 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 Lambda's +// API operation DeleteFunction for usage and error information. +// +// Returned Error Codes: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * ResourceNotFoundException +// The resource (for example, a Lambda function or access policy statement) +// specified in the request does not exist. +// +// * TooManyRequestsException + +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. For example, if you provided +// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration +// API, that AWS Lambda is unable to assume you will get this exception. +// +// * ResourceConflictException +// The resource already exists. +// func (c *Lambda) DeleteFunction(input *DeleteFunctionInput) (*DeleteFunctionOutput, error) { req, out := c.DeleteFunctionRequest(input) err := req.Send() @@ -277,7 +638,30 @@ func (c *Lambda) DeleteFunction(input *DeleteFunctionInput) (*DeleteFunctionOutp const opGetAlias = "GetAlias" -// GetAliasRequest generates a request for the GetAlias operation. +// GetAliasRequest generates a "aws/request.Request" representing the +// client's request for the GetAlias operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetAlias for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetAlias method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetAliasRequest method. +// req, resp := client.GetAliasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Lambda) GetAliasRequest(input *GetAliasInput) (req *request.Request, output *AliasConfiguration) { op := &request.Operation{ Name: opGetAlias, @@ -295,11 +679,37 @@ func (c *Lambda) GetAliasRequest(input *GetAliasInput) (req *request.Request, ou return } +// GetAlias API operation for AWS Lambda. +// // Returns the specified alias information such as the alias ARN, description, // and function version it is pointing to. For more information, see Introduction // to AWS Lambda Aliases (http://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html). // // This requires permission for the lambda:GetAlias action. +// +// 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 Lambda's +// API operation GetAlias for usage and error information. +// +// Returned Error Codes: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * ResourceNotFoundException +// The resource (for example, a Lambda function or access policy statement) +// specified in the request does not exist. +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. For example, if you provided +// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration +// API, that AWS Lambda is unable to assume you will get this exception. +// +// * TooManyRequestsException + +// func (c *Lambda) GetAlias(input *GetAliasInput) (*AliasConfiguration, error) { req, out := c.GetAliasRequest(input) err := req.Send() @@ -308,7 +718,30 @@ func (c *Lambda) GetAlias(input *GetAliasInput) (*AliasConfiguration, error) { const opGetEventSourceMapping = "GetEventSourceMapping" -// GetEventSourceMappingRequest generates a request for the GetEventSourceMapping operation. +// GetEventSourceMappingRequest generates a "aws/request.Request" representing the +// client's request for the GetEventSourceMapping operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetEventSourceMapping for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetEventSourceMapping method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetEventSourceMappingRequest method. +// req, resp := client.GetEventSourceMappingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Lambda) GetEventSourceMappingRequest(input *GetEventSourceMappingInput) (req *request.Request, output *EventSourceMappingConfiguration) { op := &request.Operation{ Name: opGetEventSourceMapping, @@ -326,11 +759,37 @@ func (c *Lambda) GetEventSourceMappingRequest(input *GetEventSourceMappingInput) return } +// GetEventSourceMapping API operation for AWS Lambda. +// // Returns configuration information for the specified event source mapping // (see CreateEventSourceMapping). // // This operation requires permission for the lambda:GetEventSourceMapping // action. +// +// 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 Lambda's +// API operation GetEventSourceMapping for usage and error information. +// +// Returned Error Codes: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * ResourceNotFoundException +// The resource (for example, a Lambda function or access policy statement) +// specified in the request does not exist. +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. For example, if you provided +// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration +// API, that AWS Lambda is unable to assume you will get this exception. +// +// * TooManyRequestsException + +// func (c *Lambda) GetEventSourceMapping(input *GetEventSourceMappingInput) (*EventSourceMappingConfiguration, error) { req, out := c.GetEventSourceMappingRequest(input) err := req.Send() @@ -339,7 +798,30 @@ func (c *Lambda) GetEventSourceMapping(input *GetEventSourceMappingInput) (*Even const opGetFunction = "GetFunction" -// GetFunctionRequest generates a request for the GetFunction operation. +// GetFunctionRequest generates a "aws/request.Request" representing the +// client's request for the GetFunction operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetFunction for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetFunction method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetFunctionRequest method. +// req, resp := client.GetFunctionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Lambda) GetFunctionRequest(input *GetFunctionInput) (req *request.Request, output *GetFunctionOutput) { op := &request.Operation{ Name: opGetFunction, @@ -357,6 +839,8 @@ func (c *Lambda) GetFunctionRequest(input *GetFunctionInput) (req *request.Reque return } +// GetFunction API operation for AWS Lambda. +// // Returns the configuration information of the Lambda function and a presigned // URL link to the .zip file you uploaded with CreateFunction so you can download // the .zip file. Note that the URL is valid for up to 10 minutes. The configuration @@ -370,6 +854,30 @@ func (c *Lambda) GetFunctionRequest(input *GetFunctionInput) (req *request.Reque // Function Versioning and Aliases (http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html). // // This operation requires permission for the lambda:GetFunction action. +// +// 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 Lambda's +// API operation GetFunction for usage and error information. +// +// Returned Error Codes: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * ResourceNotFoundException +// The resource (for example, a Lambda function or access policy statement) +// specified in the request does not exist. +// +// * TooManyRequestsException + +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. For example, if you provided +// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration +// API, that AWS Lambda is unable to assume you will get this exception. +// func (c *Lambda) GetFunction(input *GetFunctionInput) (*GetFunctionOutput, error) { req, out := c.GetFunctionRequest(input) err := req.Send() @@ -378,7 +886,30 @@ func (c *Lambda) GetFunction(input *GetFunctionInput) (*GetFunctionOutput, error const opGetFunctionConfiguration = "GetFunctionConfiguration" -// GetFunctionConfigurationRequest generates a request for the GetFunctionConfiguration operation. +// GetFunctionConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the GetFunctionConfiguration operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetFunctionConfiguration for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetFunctionConfiguration method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetFunctionConfigurationRequest method. +// req, resp := client.GetFunctionConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Lambda) GetFunctionConfigurationRequest(input *GetFunctionConfigurationInput) (req *request.Request, output *FunctionConfiguration) { op := &request.Operation{ Name: opGetFunctionConfiguration, @@ -396,6 +927,8 @@ func (c *Lambda) GetFunctionConfigurationRequest(input *GetFunctionConfiguration return } +// GetFunctionConfiguration API operation for AWS Lambda. +// // Returns the configuration information of the Lambda function. This the same // information you provided as parameters when uploading the function by using // CreateFunction. @@ -409,6 +942,30 @@ func (c *Lambda) GetFunctionConfigurationRequest(input *GetFunctionConfiguration // // This operation requires permission for the lambda:GetFunctionConfiguration // operation. +// +// 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 Lambda's +// API operation GetFunctionConfiguration for usage and error information. +// +// Returned Error Codes: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * ResourceNotFoundException +// The resource (for example, a Lambda function or access policy statement) +// specified in the request does not exist. +// +// * TooManyRequestsException + +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. For example, if you provided +// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration +// API, that AWS Lambda is unable to assume you will get this exception. +// func (c *Lambda) GetFunctionConfiguration(input *GetFunctionConfigurationInput) (*FunctionConfiguration, error) { req, out := c.GetFunctionConfigurationRequest(input) err := req.Send() @@ -417,7 +974,30 @@ func (c *Lambda) GetFunctionConfiguration(input *GetFunctionConfigurationInput) const opGetPolicy = "GetPolicy" -// GetPolicyRequest generates a request for the GetPolicy operation. +// GetPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetPolicyRequest method. +// req, resp := client.GetPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Lambda) GetPolicyRequest(input *GetPolicyInput) (req *request.Request, output *GetPolicyOutput) { op := &request.Operation{ Name: opGetPolicy, @@ -435,6 +1015,8 @@ func (c *Lambda) GetPolicyRequest(input *GetPolicyInput) (req *request.Request, return } +// GetPolicy API operation for AWS Lambda. +// // Returns the resource policy associated with the specified Lambda function. // // If you are using the versioning feature, you can get the resource policy @@ -445,6 +1027,30 @@ func (c *Lambda) GetPolicyRequest(input *GetPolicyInput) (req *request.Request, // For information about adding permissions, see AddPermission. // // You need permission for the lambda:GetPolicy action. +// +// 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 Lambda's +// API operation GetPolicy for usage and error information. +// +// Returned Error Codes: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * ResourceNotFoundException +// The resource (for example, a Lambda function or access policy statement) +// specified in the request does not exist. +// +// * TooManyRequestsException + +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. For example, if you provided +// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration +// API, that AWS Lambda is unable to assume you will get this exception. +// func (c *Lambda) GetPolicy(input *GetPolicyInput) (*GetPolicyOutput, error) { req, out := c.GetPolicyRequest(input) err := req.Send() @@ -453,7 +1059,30 @@ func (c *Lambda) GetPolicy(input *GetPolicyInput) (*GetPolicyOutput, error) { const opInvoke = "Invoke" -// InvokeRequest generates a request for the Invoke operation. +// InvokeRequest generates a "aws/request.Request" representing the +// client's request for the Invoke operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See Invoke for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the Invoke method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the InvokeRequest method. +// req, resp := client.InvokeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Lambda) InvokeRequest(input *InvokeInput) (req *request.Request, output *InvokeOutput) { op := &request.Operation{ Name: opInvoke, @@ -471,16 +1100,83 @@ func (c *Lambda) InvokeRequest(input *InvokeInput) (req *request.Request, output return } +// Invoke API operation for AWS Lambda. +// // Invokes a specific Lambda function. // // If you are using the versioning feature, you can invoke the specific function // version by providing function version or alias name that is pointing to the // function version using the Qualifier parameter in the request. If you don't // provide the Qualifier parameter, the $LATEST version of the Lambda function -// is invoked. For information about the versioning feature, see AWS Lambda -// Function Versioning and Aliases (http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html). +// is invoked. Invocations occur at least once in response to an event and functions +// must be idempotent to handle this. For information about the versioning feature, +// see AWS Lambda Function Versioning and Aliases (http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html). // // This operation requires permission for the lambda:InvokeFunction action. +// +// 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 Lambda's +// API operation Invoke for usage and error information. +// +// Returned Error Codes: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * ResourceNotFoundException +// The resource (for example, a Lambda function or access policy statement) +// specified in the request does not exist. +// +// * InvalidRequestContentException +// The request body could not be parsed as JSON. +// +// * RequestTooLargeException +// The request payload exceeded the Invoke request body JSON input limit. For +// more information, see Limits (http://docs.aws.amazon.com/lambda/latest/dg/limits.html). +// +// * UnsupportedMediaTypeException +// The content type of the Invoke request body is not JSON. +// +// * TooManyRequestsException + +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. For example, if you provided +// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration +// API, that AWS Lambda is unable to assume you will get this exception. +// +// * EC2UnexpectedException +// AWS Lambda received an unexpected EC2 client exception while setting up for +// the Lambda function. +// +// * SubnetIPAddressLimitReachedException +// AWS Lambda was not able to set up VPC access for the Lambda function because +// one or more configured subnets has no available IP addresses. +// +// * ENILimitReachedException +// AWS Lambda was not able to create an Elastic Network Interface (ENI) in the +// VPC, specified as part of Lambda function configuration, because the limit +// for network interfaces has been reached. +// +// * EC2ThrottledException +// AWS Lambda was throttled by Amazon EC2 during Lambda function initialization +// using the execution role provided for the Lambda function. +// +// * EC2AccessDeniedException + +// +// * InvalidSubnetIDException +// The Subnet ID provided in the Lambda function VPC configuration is invalid. +// +// * InvalidSecurityGroupIDException +// The Security Group ID provided in the Lambda function VPC configuration is +// invalid. +// +// * InvalidZipFileException +// AWS Lambda could not unzip the function zip file. +// func (c *Lambda) Invoke(input *InvokeInput) (*InvokeOutput, error) { req, out := c.InvokeRequest(input) err := req.Send() @@ -489,7 +1185,30 @@ func (c *Lambda) Invoke(input *InvokeInput) (*InvokeOutput, error) { const opInvokeAsync = "InvokeAsync" -// InvokeAsyncRequest generates a request for the InvokeAsync operation. +// InvokeAsyncRequest generates a "aws/request.Request" representing the +// client's request for the InvokeAsync operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See InvokeAsync for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the InvokeAsync method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the InvokeAsyncRequest method. +// req, resp := client.InvokeAsyncRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Lambda) InvokeAsyncRequest(input *InvokeAsyncInput) (req *request.Request, output *InvokeAsyncOutput) { if c.Client.Config.Logger != nil { c.Client.Config.Logger.Log("This operation, InvokeAsync, has been deprecated") @@ -510,12 +1229,34 @@ func (c *Lambda) InvokeAsyncRequest(input *InvokeAsyncInput) (req *request.Reque return } -// This API is deprecated. We recommend you use Invoke API (see Invoke). Submits -// an invocation request to AWS Lambda. Upon receiving the request, Lambda executes -// the specified function asynchronously. To see the logs generated by the Lambda -// function execution, see the CloudWatch Logs console. +// InvokeAsync API operation for AWS Lambda. +// +// This API is deprecated. We recommend you use Invoke API (see Invoke). +// +// Submits an invocation request to AWS Lambda. Upon receiving the request, +// Lambda executes the specified function asynchronously. To see the logs generated +// by the Lambda function execution, see the CloudWatch Logs console. // // This operation requires permission for the lambda:InvokeFunction action. +// +// 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 Lambda's +// API operation InvokeAsync for usage and error information. +// +// Returned Error Codes: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * ResourceNotFoundException +// The resource (for example, a Lambda function or access policy statement) +// specified in the request does not exist. +// +// * InvalidRequestContentException +// The request body could not be parsed as JSON. +// func (c *Lambda) InvokeAsync(input *InvokeAsyncInput) (*InvokeAsyncOutput, error) { req, out := c.InvokeAsyncRequest(input) err := req.Send() @@ -524,7 +1265,30 @@ func (c *Lambda) InvokeAsync(input *InvokeAsyncInput) (*InvokeAsyncOutput, error const opListAliases = "ListAliases" -// ListAliasesRequest generates a request for the ListAliases operation. +// ListAliasesRequest generates a "aws/request.Request" representing the +// client's request for the ListAliases operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListAliases for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListAliases method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListAliasesRequest method. +// req, resp := client.ListAliasesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Lambda) ListAliasesRequest(input *ListAliasesInput) (req *request.Request, output *ListAliasesOutput) { op := &request.Operation{ Name: opListAliases, @@ -542,12 +1306,38 @@ func (c *Lambda) ListAliasesRequest(input *ListAliasesInput) (req *request.Reque return } +// ListAliases API operation for AWS Lambda. +// // Returns list of aliases created for a Lambda function. For each alias, the // response includes information such as the alias ARN, description, alias name, // and the function version to which it points. For more information, see Introduction // to AWS Lambda Aliases (http://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html). // // This requires permission for the lambda:ListAliases action. +// +// 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 Lambda's +// API operation ListAliases for usage and error information. +// +// Returned Error Codes: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * ResourceNotFoundException +// The resource (for example, a Lambda function or access policy statement) +// specified in the request does not exist. +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. For example, if you provided +// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration +// API, that AWS Lambda is unable to assume you will get this exception. +// +// * TooManyRequestsException + +// func (c *Lambda) ListAliases(input *ListAliasesInput) (*ListAliasesOutput, error) { req, out := c.ListAliasesRequest(input) err := req.Send() @@ -556,7 +1346,30 @@ func (c *Lambda) ListAliases(input *ListAliasesInput) (*ListAliasesOutput, error const opListEventSourceMappings = "ListEventSourceMappings" -// ListEventSourceMappingsRequest generates a request for the ListEventSourceMappings operation. +// ListEventSourceMappingsRequest generates a "aws/request.Request" representing the +// client's request for the ListEventSourceMappings operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListEventSourceMappings for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListEventSourceMappings method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListEventSourceMappingsRequest method. +// req, resp := client.ListEventSourceMappingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Lambda) ListEventSourceMappingsRequest(input *ListEventSourceMappingsInput) (req *request.Request, output *ListEventSourceMappingsOutput) { op := &request.Operation{ Name: opListEventSourceMappings, @@ -580,6 +1393,8 @@ func (c *Lambda) ListEventSourceMappingsRequest(input *ListEventSourceMappingsIn return } +// ListEventSourceMappings API operation for AWS Lambda. +// // Returns a list of event source mappings you created using the CreateEventSourceMapping // (see CreateEventSourceMapping). // @@ -593,12 +1408,53 @@ func (c *Lambda) ListEventSourceMappingsRequest(input *ListEventSourceMappingsIn // // This operation requires permission for the lambda:ListEventSourceMappings // action. +// +// 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 Lambda's +// API operation ListEventSourceMappings for usage and error information. +// +// Returned Error Codes: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * ResourceNotFoundException +// The resource (for example, a Lambda function or access policy statement) +// specified in the request does not exist. +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. For example, if you provided +// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration +// API, that AWS Lambda is unable to assume you will get this exception. +// +// * TooManyRequestsException + +// func (c *Lambda) ListEventSourceMappings(input *ListEventSourceMappingsInput) (*ListEventSourceMappingsOutput, error) { req, out := c.ListEventSourceMappingsRequest(input) err := req.Send() return out, err } +// ListEventSourceMappingsPages iterates over the pages of a ListEventSourceMappings operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListEventSourceMappings 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 ListEventSourceMappings operation. +// pageNum := 0 +// err := client.ListEventSourceMappingsPages(params, +// func(page *ListEventSourceMappingsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *Lambda) ListEventSourceMappingsPages(input *ListEventSourceMappingsInput, fn func(p *ListEventSourceMappingsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListEventSourceMappingsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -609,7 +1465,30 @@ func (c *Lambda) ListEventSourceMappingsPages(input *ListEventSourceMappingsInpu const opListFunctions = "ListFunctions" -// ListFunctionsRequest generates a request for the ListFunctions operation. +// ListFunctionsRequest generates a "aws/request.Request" representing the +// client's request for the ListFunctions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListFunctions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListFunctions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListFunctionsRequest method. +// req, resp := client.ListFunctionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Lambda) ListFunctionsRequest(input *ListFunctionsInput) (req *request.Request, output *ListFunctionsOutput) { op := &request.Operation{ Name: opListFunctions, @@ -633,6 +1512,8 @@ func (c *Lambda) ListFunctionsRequest(input *ListFunctionsInput) (req *request.R return } +// ListFunctions API operation for AWS Lambda. +// // Returns a list of your Lambda functions. For each function, the response // includes the function configuration information. You must use GetFunction // to retrieve the code for your function. @@ -642,12 +1523,44 @@ func (c *Lambda) ListFunctionsRequest(input *ListFunctionsInput) (req *request.R // If you are using versioning feature, the response returns list of $LATEST // versions of your functions. For information about the versioning feature, // see AWS Lambda Function Versioning and Aliases (http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.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. +// +// See the AWS API reference guide for AWS Lambda's +// API operation ListFunctions for usage and error information. +// +// Returned Error Codes: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * TooManyRequestsException + +// func (c *Lambda) ListFunctions(input *ListFunctionsInput) (*ListFunctionsOutput, error) { req, out := c.ListFunctionsRequest(input) err := req.Send() return out, err } +// ListFunctionsPages iterates over the pages of a ListFunctions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListFunctions 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 ListFunctions operation. +// pageNum := 0 +// err := client.ListFunctionsPages(params, +// func(page *ListFunctionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *Lambda) ListFunctionsPages(input *ListFunctionsInput, fn func(p *ListFunctionsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListFunctionsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -658,7 +1571,30 @@ func (c *Lambda) ListFunctionsPages(input *ListFunctionsInput, fn func(p *ListFu const opListVersionsByFunction = "ListVersionsByFunction" -// ListVersionsByFunctionRequest generates a request for the ListVersionsByFunction operation. +// ListVersionsByFunctionRequest generates a "aws/request.Request" representing the +// client's request for the ListVersionsByFunction operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListVersionsByFunction for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListVersionsByFunction method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListVersionsByFunctionRequest method. +// req, resp := client.ListVersionsByFunctionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Lambda) ListVersionsByFunctionRequest(input *ListVersionsByFunctionInput) (req *request.Request, output *ListVersionsByFunctionOutput) { op := &request.Operation{ Name: opListVersionsByFunction, @@ -676,8 +1612,34 @@ func (c *Lambda) ListVersionsByFunctionRequest(input *ListVersionsByFunctionInpu return } +// ListVersionsByFunction API operation for AWS Lambda. +// // List all versions of a function. For information about the versioning feature, // see AWS Lambda Function Versioning and Aliases (http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.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. +// +// See the AWS API reference guide for AWS Lambda's +// API operation ListVersionsByFunction for usage and error information. +// +// Returned Error Codes: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * ResourceNotFoundException +// The resource (for example, a Lambda function or access policy statement) +// specified in the request does not exist. +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. For example, if you provided +// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration +// API, that AWS Lambda is unable to assume you will get this exception. +// +// * TooManyRequestsException + +// func (c *Lambda) ListVersionsByFunction(input *ListVersionsByFunctionInput) (*ListVersionsByFunctionOutput, error) { req, out := c.ListVersionsByFunctionRequest(input) err := req.Send() @@ -686,7 +1648,30 @@ func (c *Lambda) ListVersionsByFunction(input *ListVersionsByFunctionInput) (*Li const opPublishVersion = "PublishVersion" -// PublishVersionRequest generates a request for the PublishVersion operation. +// PublishVersionRequest generates a "aws/request.Request" representing the +// client's request for the PublishVersion operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PublishVersion for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PublishVersion method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PublishVersionRequest method. +// req, resp := client.PublishVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Lambda) PublishVersionRequest(input *PublishVersionInput) (req *request.Request, output *FunctionConfiguration) { op := &request.Operation{ Name: opPublishVersion, @@ -704,11 +1689,40 @@ func (c *Lambda) PublishVersionRequest(input *PublishVersionInput) (req *request return } +// PublishVersion API operation for AWS Lambda. +// // Publishes a version of your function from the current snapshot of $LATEST. // That is, AWS Lambda takes a snapshot of the function code and configuration // information from $LATEST and publishes a new version. The code and configuration // cannot be modified after publication. For information about the versioning // feature, see AWS Lambda Function Versioning and Aliases (http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.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. +// +// See the AWS API reference guide for AWS Lambda's +// API operation PublishVersion for usage and error information. +// +// Returned Error Codes: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * ResourceNotFoundException +// The resource (for example, a Lambda function or access policy statement) +// specified in the request does not exist. +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. For example, if you provided +// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration +// API, that AWS Lambda is unable to assume you will get this exception. +// +// * TooManyRequestsException + +// +// * CodeStorageExceededException +// You have exceeded your maximum total code size per account. Limits (http://docs.aws.amazon.com/lambda/latest/dg/limits.html) +// func (c *Lambda) PublishVersion(input *PublishVersionInput) (*FunctionConfiguration, error) { req, out := c.PublishVersionRequest(input) err := req.Send() @@ -717,7 +1731,30 @@ func (c *Lambda) PublishVersion(input *PublishVersionInput) (*FunctionConfigurat const opRemovePermission = "RemovePermission" -// RemovePermissionRequest generates a request for the RemovePermission operation. +// RemovePermissionRequest generates a "aws/request.Request" representing the +// client's request for the RemovePermission operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RemovePermission for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RemovePermission method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RemovePermissionRequest method. +// req, resp := client.RemovePermissionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Lambda) RemovePermissionRequest(input *RemovePermissionInput) (req *request.Request, output *RemovePermissionOutput) { op := &request.Operation{ Name: opRemovePermission, @@ -737,6 +1774,8 @@ func (c *Lambda) RemovePermissionRequest(input *RemovePermissionInput) (req *req return } +// RemovePermission API operation for AWS Lambda. +// // You can remove individual permissions from an resource policy associated // with a Lambda function by providing a statement ID that you provided when // you added the permission. @@ -750,6 +1789,30 @@ func (c *Lambda) RemovePermissionRequest(input *RemovePermissionInput) (req *req // permission to the function. // // You need permission for the lambda:RemovePermission action. +// +// 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 Lambda's +// API operation RemovePermission for usage and error information. +// +// Returned Error Codes: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * ResourceNotFoundException +// The resource (for example, a Lambda function or access policy statement) +// specified in the request does not exist. +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. For example, if you provided +// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration +// API, that AWS Lambda is unable to assume you will get this exception. +// +// * TooManyRequestsException + +// func (c *Lambda) RemovePermission(input *RemovePermissionInput) (*RemovePermissionOutput, error) { req, out := c.RemovePermissionRequest(input) err := req.Send() @@ -758,7 +1821,30 @@ func (c *Lambda) RemovePermission(input *RemovePermissionInput) (*RemovePermissi const opUpdateAlias = "UpdateAlias" -// UpdateAliasRequest generates a request for the UpdateAlias operation. +// UpdateAliasRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAlias operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateAlias for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateAlias method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateAliasRequest method. +// req, resp := client.UpdateAliasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Lambda) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Request, output *AliasConfiguration) { op := &request.Operation{ Name: opUpdateAlias, @@ -776,11 +1862,37 @@ func (c *Lambda) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Reque return } +// UpdateAlias API operation for AWS Lambda. +// // Using this API you can update the function version to which the alias points // and the alias description. For more information, see Introduction to AWS // Lambda Aliases (http://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html). // // This requires permission for the lambda:UpdateAlias action. +// +// 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 Lambda's +// API operation UpdateAlias for usage and error information. +// +// Returned Error Codes: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * ResourceNotFoundException +// The resource (for example, a Lambda function or access policy statement) +// specified in the request does not exist. +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. For example, if you provided +// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration +// API, that AWS Lambda is unable to assume you will get this exception. +// +// * TooManyRequestsException + +// func (c *Lambda) UpdateAlias(input *UpdateAliasInput) (*AliasConfiguration, error) { req, out := c.UpdateAliasRequest(input) err := req.Send() @@ -789,7 +1901,30 @@ func (c *Lambda) UpdateAlias(input *UpdateAliasInput) (*AliasConfiguration, erro const opUpdateEventSourceMapping = "UpdateEventSourceMapping" -// UpdateEventSourceMappingRequest generates a request for the UpdateEventSourceMapping operation. +// UpdateEventSourceMappingRequest generates a "aws/request.Request" representing the +// client's request for the UpdateEventSourceMapping operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateEventSourceMapping for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateEventSourceMapping method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateEventSourceMappingRequest method. +// req, resp := client.UpdateEventSourceMappingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Lambda) UpdateEventSourceMappingRequest(input *UpdateEventSourceMappingInput) (req *request.Request, output *EventSourceMappingConfiguration) { op := &request.Operation{ Name: opUpdateEventSourceMapping, @@ -807,6 +1942,8 @@ func (c *Lambda) UpdateEventSourceMappingRequest(input *UpdateEventSourceMapping return } +// UpdateEventSourceMapping API operation for AWS Lambda. +// // You can update an event source mapping. This is useful if you want to change // the parameters of the existing mapping without losing your position in the // stream. You can change which function will receive the stream records, but @@ -824,6 +1961,33 @@ func (c *Lambda) UpdateEventSourceMappingRequest(input *UpdateEventSourceMapping // // This operation requires permission for the lambda:UpdateEventSourceMapping // action. +// +// 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 Lambda's +// API operation UpdateEventSourceMapping for usage and error information. +// +// Returned Error Codes: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * ResourceNotFoundException +// The resource (for example, a Lambda function or access policy statement) +// specified in the request does not exist. +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. For example, if you provided +// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration +// API, that AWS Lambda is unable to assume you will get this exception. +// +// * TooManyRequestsException + +// +// * ResourceConflictException +// The resource already exists. +// func (c *Lambda) UpdateEventSourceMapping(input *UpdateEventSourceMappingInput) (*EventSourceMappingConfiguration, error) { req, out := c.UpdateEventSourceMappingRequest(input) err := req.Send() @@ -832,7 +1996,30 @@ func (c *Lambda) UpdateEventSourceMapping(input *UpdateEventSourceMappingInput) const opUpdateFunctionCode = "UpdateFunctionCode" -// UpdateFunctionCodeRequest generates a request for the UpdateFunctionCode operation. +// UpdateFunctionCodeRequest generates a "aws/request.Request" representing the +// client's request for the UpdateFunctionCode operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateFunctionCode for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateFunctionCode method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateFunctionCodeRequest method. +// req, resp := client.UpdateFunctionCodeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Lambda) UpdateFunctionCodeRequest(input *UpdateFunctionCodeInput) (req *request.Request, output *FunctionConfiguration) { op := &request.Operation{ Name: opUpdateFunctionCode, @@ -850,6 +2037,8 @@ func (c *Lambda) UpdateFunctionCodeRequest(input *UpdateFunctionCodeInput) (req return } +// UpdateFunctionCode API operation for AWS Lambda. +// // Updates the code for the specified Lambda function. This operation must only // be used on an existing Lambda function and cannot be used to update the function // configuration. @@ -859,6 +2048,33 @@ func (c *Lambda) UpdateFunctionCodeRequest(input *UpdateFunctionCodeInput) (req // feature, see AWS Lambda Function Versioning and Aliases (http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html). // // This operation requires permission for the lambda:UpdateFunctionCode action. +// +// 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 Lambda's +// API operation UpdateFunctionCode for usage and error information. +// +// Returned Error Codes: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * ResourceNotFoundException +// The resource (for example, a Lambda function or access policy statement) +// specified in the request does not exist. +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. For example, if you provided +// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration +// API, that AWS Lambda is unable to assume you will get this exception. +// +// * TooManyRequestsException + +// +// * CodeStorageExceededException +// You have exceeded your maximum total code size per account. Limits (http://docs.aws.amazon.com/lambda/latest/dg/limits.html) +// func (c *Lambda) UpdateFunctionCode(input *UpdateFunctionCodeInput) (*FunctionConfiguration, error) { req, out := c.UpdateFunctionCodeRequest(input) err := req.Send() @@ -867,7 +2083,30 @@ func (c *Lambda) UpdateFunctionCode(input *UpdateFunctionCodeInput) (*FunctionCo const opUpdateFunctionConfiguration = "UpdateFunctionConfiguration" -// UpdateFunctionConfigurationRequest generates a request for the UpdateFunctionConfiguration operation. +// UpdateFunctionConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateFunctionConfiguration operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateFunctionConfiguration for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateFunctionConfiguration method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateFunctionConfigurationRequest method. +// req, resp := client.UpdateFunctionConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Lambda) UpdateFunctionConfigurationRequest(input *UpdateFunctionConfigurationInput) (req *request.Request, output *FunctionConfiguration) { op := &request.Operation{ Name: opUpdateFunctionConfiguration, @@ -885,6 +2124,8 @@ func (c *Lambda) UpdateFunctionConfigurationRequest(input *UpdateFunctionConfigu return } +// UpdateFunctionConfiguration API operation for AWS Lambda. +// // Updates the configuration parameters for the specified Lambda function by // using the values provided in the request. You provide only the parameters // you want to change. This operation must only be used on an existing Lambda @@ -896,6 +2137,30 @@ func (c *Lambda) UpdateFunctionConfigurationRequest(input *UpdateFunctionConfigu // // This operation requires permission for the lambda:UpdateFunctionConfiguration // action. +// +// 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 Lambda's +// API operation UpdateFunctionConfiguration for usage and error information. +// +// Returned Error Codes: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * ResourceNotFoundException +// The resource (for example, a Lambda function or access policy statement) +// specified in the request does not exist. +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. For example, if you provided +// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration +// API, that AWS Lambda is unable to assume you will get this exception. +// +// * TooManyRequestsException + +// func (c *Lambda) UpdateFunctionConfiguration(input *UpdateFunctionConfigurationInput) (*FunctionConfiguration, error) { req, out := c.UpdateFunctionConfigurationRequest(input) err := req.Send() @@ -906,11 +2171,15 @@ type AddPermissionInput struct { _ struct{} `type:"structure"` // The AWS Lambda action you want to allow in this statement. Each Lambda action - // is a string starting with lambda: followed by the API name (see Operations). - // For example, lambda:CreateFunction. You can use wildcard (lambda:*) to grant - // permission for all AWS Lambda actions. + // is a string starting with lambda: followed by the API name . For example, + // lambda:CreateFunction. You can use wildcard (lambda:*) to grant permission + // for all AWS Lambda actions. + // + // Action is a required field Action *string `type:"string" required:"true"` + // A unique token that must be supplied by the principal invoking the function. + // This is currently only used for Alexa Smart Home functions. EventSourceToken *string `type:"string"` // Name of the Lambda function whose resource policy you are updating by adding @@ -921,6 +2190,8 @@ type AddPermissionInput struct { // AWS Lambda also allows you to specify partial ARN (for example, account-id:Thumbnail). // Note that the length constraint applies only to the ARN. If you specify only // the function name, it is limited to 64 character in length. + // + // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` // The principal who is getting this permission. It can be Amazon S3 service @@ -929,6 +2200,8 @@ type AddPermissionInput struct { // AWS service principal such as sns.amazonaws.com. For example, you might want // to allow a custom application in another AWS account to push events to AWS // Lambda by invoking your function. + // + // Principal is a required field Principal *string `type:"string" required:"true"` // You can use this optional query parameter to describe a qualified ARN using @@ -937,32 +2210,32 @@ type AddPermissionInput struct { // the qualifier, then permission applies only when request is made using qualified // function ARN: // - // arn:aws:lambda:aws-region:acct-id:function:function-name:2 + // arn:aws:lambda:aws-region:acct-id:function:function-name:2 // // If you specify an alias name, for example PROD, then the permission is valid // only for requests made using the alias ARN: // - // arn:aws:lambda:aws-region:acct-id:function:function-name:PROD + // arn:aws:lambda:aws-region:acct-id:function:function-name:PROD // // If the qualifier is not specified, the permission is valid only when requests // is made using unqualified function ARN. // - // arn:aws:lambda:aws-region:acct-id:function:function-name + // arn:aws:lambda:aws-region:acct-id:function:function-name Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"` - // The AWS account ID (without a hyphen) of the source owner. For example, if - // the SourceArn identifies a bucket, then this is the bucket owner's account - // ID. You can use this additional condition to ensure the bucket you specify - // is owned by a specific account (it is possible the bucket owner deleted the - // bucket and some other AWS account created the bucket). You can also use this - // condition to specify all sources (that is, you don't specify the SourceArn) - // owned by a specific account. + // This parameter is used for S3 and SES only. The AWS account ID (without a + // hyphen) of the source owner. For example, if the SourceArn identifies a bucket, + // then this is the bucket owner's account ID. You can use this additional condition + // to ensure the bucket you specify is owned by a specific account (it is possible + // the bucket owner deleted the bucket and some other AWS account created the + // bucket). You can also use this condition to specify all sources (that is, + // you don't specify the SourceArn) owned by a specific account. SourceAccount *string `type:"string"` // This is optional; however, when granting Amazon S3 permission to invoke your - // function, you should specify this field with the bucket Amazon Resource Name - // (ARN) as its value. This ensures that only events generated from the specified - // bucket can invoke the function. + // function, you should specify this field with the Amazon Resource Name (ARN) + // as its value. This ensures that only events generated from the specified + // source can invoke the function. // // If you add a permission for the Amazon S3 principal without providing the // source ARN, any AWS account that creates a mapping to your function ARN can @@ -970,6 +2243,8 @@ type AddPermissionInput struct { SourceArn *string `type:"string"` // A unique statement identifier. + // + // StatementId is a required field StatementId *string `min:"1" type:"string" required:"true"` } @@ -1069,12 +2344,18 @@ type CreateAliasInput struct { Description *string `type:"string"` // Name of the Lambda function for which you want to create an alias. + // + // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` // Lambda function version for which you are creating the alias. + // + // FunctionVersion is a required field FunctionVersion *string `min:"1" type:"string" required:"true"` // Name for the alias you are creating. + // + // Name is a required field Name *string `min:"1" type:"string" required:"true"` } @@ -1133,6 +2414,8 @@ type CreateEventSourceMappingInput struct { // AWS Lambda to invoke your Lambda function, it depends on the BatchSize. AWS // Lambda POSTs the Amazon Kinesis event, containing records, to your Lambda // function as JSON. + // + // EventSourceArn is a required field EventSourceArn *string `type:"string" required:"true"` // The Lambda function to invoke when AWS Lambda detects an event on the stream. @@ -1148,13 +2431,17 @@ type CreateEventSourceMappingInput struct { // AWS Lambda also allows you to specify only the function name with the account // ID qualifier (for example, account-id:Thumbnail). // - // Note that the length constraint applies only to the ARN. If you specify + // Note that the length constraint applies only to the ARN. If you specify // only the function name, it is limited to 64 character in length. + // + // FunctionName is a required field FunctionName *string `min:"1" type:"string" required:"true"` // The position in the stream where AWS Lambda should start reading. For more // information, go to ShardIteratorType (http://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html#Kinesis-GetShardIterator-request-ShardIteratorType) // in the Amazon Kinesis API Reference. + // + // StartingPosition is a required field StartingPosition *string `type:"string" required:"true" enum:"EventSourcePosition"` } @@ -1197,6 +2484,8 @@ type CreateFunctionInput struct { _ struct{} `type:"structure"` // The code for the Lambda function. + // + // Code is a required field Code *FunctionCode `type:"structure" required:"true"` // A short, user-defined function description. Lambda does not use this value. @@ -1206,12 +2495,16 @@ type CreateFunctionInput struct { // The name you want to assign to the function you are uploading. The function // names appear in the console and are returned in the ListFunctions API. Function // names are used to specify functions to other AWS Lambda APIs, such as Invoke. + // + // FunctionName is a required field FunctionName *string `min:"1" type:"string" required:"true"` // The function within your code that Lambda calls to begin execution. For Node.js, // it is the module-name.export value in your function. For Java, it can be // package.class-name::handler or package.class-name. For more information, // see Lambda Function Handler (Java) (http://docs.aws.amazon.com/lambda/latest/dg/java-programming-model-handler-types.html). + // + // Handler is a required field Handler *string `type:"string" required:"true"` // The amount of memory, in MB, your Lambda function is given. Lambda uses this @@ -1229,9 +2522,16 @@ type CreateFunctionInput struct { // The Amazon Resource Name (ARN) of the IAM role that Lambda assumes when it // executes your function to access any other Amazon Web Services (AWS) resources. // For more information, see AWS Lambda: How it Works (http://docs.aws.amazon.com/lambda/latest/dg/lambda-introduction.html). + // + // Role is a required field Role *string `type:"string" required:"true"` // The runtime environment for the Lambda function you are uploading. + // + // To use the Node.js runtime v4.3, set the value to "nodejs4.3". To use earlier + // runtime (v0.10.42), set the value to "nodejs". + // + // Runtime is a required field Runtime *string `type:"string" required:"true" enum:"Runtime"` // The function execution time at which Lambda should terminate the function. @@ -1300,9 +2600,13 @@ type DeleteAliasInput struct { // The Lambda function name for which the alias is created. Deleting an alias // does not delete the function version to which it is pointing. + // + // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` // Name of the alias to delete. + // + // Name is a required field Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"` } @@ -1356,6 +2660,8 @@ type DeleteEventSourceMappingInput struct { _ struct{} `type:"structure"` // The event source mapping ID. + // + // UUID is a required field UUID *string `location:"uri" locationName:"UUID" type:"string" required:"true"` } @@ -1395,6 +2701,8 @@ type DeleteFunctionInput struct { // ID qualifier (for example, account-id:Thumbnail). Note that the length constraint // applies only to the ARN. If you specify only the function name, it is limited // to 64 character in length. + // + // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` // Using this optional parameter you can specify a function version (but not @@ -1515,10 +2823,11 @@ type FunctionCode struct { // The Amazon S3 object (the deployment package) version you want to upload. S3ObjectVersion *string `min:"1" type:"string"` - // A zip file containing your deployment package. If you are using the API directly, - // the zip file must be base64-encoded (if you are using the AWS SDKs or the - // AWS CLI, the SDKs or CLI will do the encoding for you). For more information - // about creating a .zip file, go to Execution Permissions (http://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html#lambda-intro-execution-role.html) + // The contents of your zip file containing your deployment package. If you + // are using the web API directly, the contents of the zip file must be base64-encoded. + // If you are using the AWS SDKs or the AWS CLI, the SDKs or CLI will do the + // encoding for you. For more information about creating a .zip file, go to + // Execution Permissions (http://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html#lambda-intro-execution-role.html) // in the AWS Lambda Developer Guide. // // ZipFile is automatically base64 encoded/decoded by the SDK. @@ -1610,6 +2919,9 @@ type FunctionConfiguration struct { Role *string `type:"string"` // The runtime environment for the Lambda function. + // + // To use the Node.js runtime v4.3, set the value to "nodejs4.3". To use earlier + // runtime (v0.10.42), set the value to "nodejs". Runtime *string `type:"string" enum:"Runtime"` // The function execution time at which Lambda should terminate the function. @@ -1640,9 +2952,13 @@ type GetAliasInput struct { // Function name for which the alias is created. An alias is a subresource that // exists only in the context of an existing Lambda function so you must specify // the function name. + // + // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` // Name of the alias for which you want to retrieve information. + // + // Name is a required field Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"` } @@ -1682,6 +2998,8 @@ type GetEventSourceMappingInput struct { _ struct{} `type:"structure"` // The AWS Lambda assigned ID of the event source mapping. + // + // UUID is a required field UUID *string `location:"uri" locationName:"UUID" type:"string" required:"true"` } @@ -1719,6 +3037,8 @@ type GetFunctionConfigurationInput struct { // AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). // Note that the length constraint applies only to the ARN. If you specify only // the function name, it is limited to 64 character in length. + // + // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` // Using this optional parameter you can specify a function version or an alias @@ -1771,6 +3091,8 @@ type GetFunctionInput struct { // AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). // Note that the length constraint applies only to the ARN. If you specify only // the function name, it is limited to 64 character in length. + // + // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` // Using this optional parameter to specify a function version or an alias name. @@ -1812,7 +3134,7 @@ func (s *GetFunctionInput) Validate() error { return nil } -// This response contains the object for the Lambda function location (see API_FunctionCodeLocation. +// This response contains the object for the Lambda function location (see . type GetFunctionOutput struct { _ struct{} `type:"structure"` @@ -1846,6 +3168,8 @@ type GetPolicyInput struct { // ID qualifier (for example, account-id:Thumbnail). Note that the length constraint // applies only to the ARN. If you specify only the function name, it is limited // to 64 character in length. + // + // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` // You can specify this optional query parameter to specify a function version @@ -1907,9 +3231,13 @@ type InvokeAsyncInput struct { _ struct{} `deprecated:"true" type:"structure" payload:"InvokeArgs"` // The Lambda function name. + // + // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` // JSON that you want to provide to your Lambda function as input. + // + // InvokeArgs is a required field InvokeArgs io.ReadSeeker `type:"blob" required:"true"` } @@ -1979,6 +3307,8 @@ type InvokeInput struct { // AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). // Note that the length constraint applies only to the ARN. If you specify only // the function name, it is limited to 64 character in length. + // + // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` // By default, the Invoke API assumes RequestResponse invocation type. You can @@ -1993,7 +3323,7 @@ type InvokeInput struct { // You can set this optional parameter to Tail in the request only if you specify // the InvocationType parameter with value RequestResponse. In this case, AWS // Lambda returns the base64-encoded last 4 KB of log data produced by your - // Lambda function in the x-amz-log-results header. + // Lambda function in the x-amz-log-result header. LogType *string `location:"header" locationName:"X-Amz-Log-Type" type:"string" enum:"LogType"` // JSON that you want to provide to your Lambda function as input. @@ -2085,6 +3415,8 @@ type ListAliasesInput struct { _ struct{} `type:"structure"` // Lambda function name for which the alias is created. + // + // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` // If you specify this optional parameter, the API returns only the aliases @@ -2156,7 +3488,8 @@ func (s ListAliasesOutput) GoString() string { type ListEventSourceMappingsInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the Amazon Kinesis stream. + // The Amazon Resource Name (ARN) of the Amazon Kinesis stream. (This parameter + // is optional.) EventSourceArn *string `location:"querystring" locationName:"EventSourceArn" type:"string"` // The name of the Lambda function. @@ -2207,7 +3540,7 @@ func (s *ListEventSourceMappingsInput) Validate() error { return nil } -// Contains a list of event sources (see API_EventSourceMappingConfiguration) +// Contains a list of event sources (see ) type ListEventSourceMappingsOutput struct { _ struct{} `type:"structure"` @@ -2293,6 +3626,8 @@ type ListVersionsByFunctionInput struct { // AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). // Note that the length constraint applies only to the ARN. If you specify only // the function name, it is limited to 64 character in length. + // + // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` // Optional string. An opaque pagination token returned from a previous ListVersionsByFunction @@ -2372,6 +3707,8 @@ type PublishVersionInput struct { // allows you to specify a partial ARN (for example, account-id:Thumbnail). // Note that the length constraint applies only to the ARN. If you specify only // the function name, it is limited to 64 character in length. + // + // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` } @@ -2411,6 +3748,8 @@ type RemovePermissionInput struct { // AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). // Note that the length constraint applies only to the ARN. If you specify only // the function name, it is limited to 64 character in length. + // + // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` // You can specify this optional parameter to remove permission associated with @@ -2420,6 +3759,8 @@ type RemovePermissionInput struct { Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"` // Statement ID of the permission to remove. + // + // StatementId is a required field StatementId *string `location:"uri" locationName:"StatementId" min:"1" type:"string" required:"true"` } @@ -2479,6 +3820,8 @@ type UpdateAliasInput struct { Description *string `type:"string"` // The function name for which the alias is created. + // + // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` // Using this parameter you can change the Lambda function version to which @@ -2486,6 +3829,8 @@ type UpdateAliasInput struct { FunctionVersion *string `min:"1" type:"string"` // The alias name. + // + // Name is a required field Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"` } @@ -2551,6 +3896,8 @@ type UpdateEventSourceMappingInput struct { FunctionName *string `min:"1" type:"string"` // The event source mapping identifier. + // + // UUID is a required field UUID *string `location:"uri" locationName:"UUID" type:"string" required:"true"` } @@ -2593,6 +3940,8 @@ type UpdateFunctionCodeInput struct { // AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). // Note that the length constraint applies only to the ARN. If you specify only // the function name, it is limited to 64 character in length. + // + // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` // This boolean parameter can be used to request AWS Lambda to update the Lambda @@ -2610,7 +3959,12 @@ type UpdateFunctionCodeInput struct { // The Amazon S3 object (the deployment package) version you want to upload. S3ObjectVersion *string `min:"1" type:"string"` - // Based64-encoded .zip file containing your packaged source code. + // The contents of your zip file containing your deployment package. If you + // are using the web API directly, the contents of the zip file must be base64-encoded. + // If you are using the AWS SDKs or the AWS CLI, the SDKs or CLI will do the + // encoding for you. For more information about creating a .zip file, go to + // Execution Permissions (http://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html#lambda-intro-execution-role.html) + // in the AWS Lambda Developer Guide. // // ZipFile is automatically base64 encoded/decoded by the SDK. ZipFile []byte `type:"blob"` @@ -2665,6 +4019,8 @@ type UpdateFunctionConfigurationInput struct { // AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). // Note that the length constraint applies only to the ARN. If you specify only // the function name, it is limited to 64 character in length. + // + // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` // The function that Lambda calls to begin executing your function. For Node.js, @@ -2683,6 +4039,10 @@ type UpdateFunctionConfigurationInput struct { // it executes your function. Role *string `type:"string"` + // The runtime environment for the Lambda function. + // + // To use the Node.js runtime v4.3, set the value to "nodejs4.3". To use earlier + // runtime (v0.10.42), set the value to "nodejs". Runtime *string `type:"string" enum:"Runtime"` // The function execution time at which AWS Lambda should terminate the function. @@ -2778,35 +4138,53 @@ func (s VpcConfigResponse) GoString() string { } const ( - // @enum EventSourcePosition + // EventSourcePositionTrimHorizon is a EventSourcePosition enum value EventSourcePositionTrimHorizon = "TRIM_HORIZON" - // @enum EventSourcePosition + + // EventSourcePositionLatest is a EventSourcePosition enum value EventSourcePositionLatest = "LATEST" ) const ( - // @enum InvocationType + // InvocationTypeEvent is a InvocationType enum value InvocationTypeEvent = "Event" - // @enum InvocationType + + // InvocationTypeRequestResponse is a InvocationType enum value InvocationTypeRequestResponse = "RequestResponse" - // @enum InvocationType + + // InvocationTypeDryRun is a InvocationType enum value InvocationTypeDryRun = "DryRun" ) const ( - // @enum LogType + // LogTypeNone is a LogType enum value LogTypeNone = "None" - // @enum LogType + + // LogTypeTail is a LogType enum value LogTypeTail = "Tail" ) const ( - // @enum Runtime + // RuntimeNodejs is a Runtime enum value RuntimeNodejs = "nodejs" - // @enum Runtime + + // RuntimeNodejs43 is a Runtime enum value RuntimeNodejs43 = "nodejs4.3" - // @enum Runtime + + // RuntimeJava8 is a Runtime enum value RuntimeJava8 = "java8" - // @enum Runtime + + // RuntimePython27 is a Runtime enum value RuntimePython27 = "python2.7" ) + +const ( + // ThrottleReasonConcurrentInvocationLimitExceeded is a ThrottleReason enum value + ThrottleReasonConcurrentInvocationLimitExceeded = "ConcurrentInvocationLimitExceeded" + + // ThrottleReasonFunctionInvocationRateLimitExceeded is a ThrottleReason enum value + ThrottleReasonFunctionInvocationRateLimitExceeded = "FunctionInvocationRateLimitExceeded" + + // ThrottleReasonCallerRateLimitExceeded is a ThrottleReason enum value + ThrottleReasonCallerRateLimitExceeded = "CallerRateLimitExceeded" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/opsworks/api.go b/vendor/github.com/aws/aws-sdk-go/service/opsworks/api.go index ec5fcdbe29b4..507f05eec52f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/opsworks/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/opsworks/api.go @@ -14,7 +14,30 @@ import ( const opAssignInstance = "AssignInstance" -// AssignInstanceRequest generates a request for the AssignInstance operation. +// AssignInstanceRequest generates a "aws/request.Request" representing the +// client's request for the AssignInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AssignInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AssignInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AssignInstanceRequest method. +// req, resp := client.AssignInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) AssignInstanceRequest(input *AssignInstanceInput) (req *request.Request, output *AssignInstanceOutput) { op := &request.Operation{ Name: opAssignInstance, @@ -34,15 +57,35 @@ func (c *OpsWorks) AssignInstanceRequest(input *AssignInstanceInput) (req *reque return } +// AssignInstance API operation for AWS OpsWorks. +// // Assign a registered instance to a layer. // -// You can assign registered on-premises instances to any layer type. You -// can assign registered Amazon EC2 instances only to custom layers. You cannot -// use this action with instances that were created with AWS OpsWorks. Required -// Permissions: To use this action, an AWS Identity and Access Management (IAM) -// user must have a Manage permissions level for the stack or an attached policy -// that explicitly grants permissions. For more information on user permissions, -// see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html). +// You can assign registered on-premises instances to any layer type. +// +// You can assign registered Amazon EC2 instances only to custom layers. +// +// You cannot use this action with instances that were created with AWS OpsWorks. +// +// Required Permissions: To use this action, an AWS Identity and Access +// Management (IAM) user must have a Manage permissions level for the stack +// or an attached policy that explicitly grants permissions. For more information +// on user permissions, see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation AssignInstance for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) AssignInstance(input *AssignInstanceInput) (*AssignInstanceOutput, error) { req, out := c.AssignInstanceRequest(input) err := req.Send() @@ -51,7 +94,30 @@ func (c *OpsWorks) AssignInstance(input *AssignInstanceInput) (*AssignInstanceOu const opAssignVolume = "AssignVolume" -// AssignVolumeRequest generates a request for the AssignVolume operation. +// AssignVolumeRequest generates a "aws/request.Request" representing the +// client's request for the AssignVolume operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AssignVolume for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AssignVolume method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AssignVolumeRequest method. +// req, resp := client.AssignVolumeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) AssignVolumeRequest(input *AssignVolumeInput) (req *request.Request, output *AssignVolumeOutput) { op := &request.Operation{ Name: opAssignVolume, @@ -71,16 +137,33 @@ func (c *OpsWorks) AssignVolumeRequest(input *AssignVolumeInput) (req *request.R return } +// AssignVolume API operation for AWS OpsWorks. +// // Assigns one of the stack's registered Amazon EBS volumes to a specified instance. // The volume must first be registered with the stack by calling RegisterVolume. // After you register the volume, you must call UpdateVolume to specify a mount // point before calling AssignVolume. For more information, see Resource Management // (http://docs.aws.amazon.com/opsworks/latest/userguide/resources.html). // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation AssignVolume for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) AssignVolume(input *AssignVolumeInput) (*AssignVolumeOutput, error) { req, out := c.AssignVolumeRequest(input) err := req.Send() @@ -89,7 +172,30 @@ func (c *OpsWorks) AssignVolume(input *AssignVolumeInput) (*AssignVolumeOutput, const opAssociateElasticIp = "AssociateElasticIp" -// AssociateElasticIpRequest generates a request for the AssociateElasticIp operation. +// AssociateElasticIpRequest generates a "aws/request.Request" representing the +// client's request for the AssociateElasticIp operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AssociateElasticIp for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AssociateElasticIp method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AssociateElasticIpRequest method. +// req, resp := client.AssociateElasticIpRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) AssociateElasticIpRequest(input *AssociateElasticIpInput) (req *request.Request, output *AssociateElasticIpOutput) { op := &request.Operation{ Name: opAssociateElasticIp, @@ -109,14 +215,31 @@ func (c *OpsWorks) AssociateElasticIpRequest(input *AssociateElasticIpInput) (re return } +// AssociateElasticIp API operation for AWS OpsWorks. +// // Associates one of the stack's registered Elastic IP addresses with a specified // instance. The address must first be registered with the stack by calling // RegisterElasticIp. For more information, see Resource Management (http://docs.aws.amazon.com/opsworks/latest/userguide/resources.html). // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation AssociateElasticIp for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) AssociateElasticIp(input *AssociateElasticIpInput) (*AssociateElasticIpOutput, error) { req, out := c.AssociateElasticIpRequest(input) err := req.Send() @@ -125,7 +248,30 @@ func (c *OpsWorks) AssociateElasticIp(input *AssociateElasticIpInput) (*Associat const opAttachElasticLoadBalancer = "AttachElasticLoadBalancer" -// AttachElasticLoadBalancerRequest generates a request for the AttachElasticLoadBalancer operation. +// AttachElasticLoadBalancerRequest generates a "aws/request.Request" representing the +// client's request for the AttachElasticLoadBalancer operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AttachElasticLoadBalancer for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AttachElasticLoadBalancer method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AttachElasticLoadBalancerRequest method. +// req, resp := client.AttachElasticLoadBalancerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) AttachElasticLoadBalancerRequest(input *AttachElasticLoadBalancerInput) (req *request.Request, output *AttachElasticLoadBalancerOutput) { op := &request.Operation{ Name: opAttachElasticLoadBalancer, @@ -145,6 +291,8 @@ func (c *OpsWorks) AttachElasticLoadBalancerRequest(input *AttachElasticLoadBala return } +// AttachElasticLoadBalancer API operation for AWS OpsWorks. +// // Attaches an Elastic Load Balancing load balancer to a specified layer. For // more information, see Elastic Load Balancing (http://docs.aws.amazon.com/opsworks/latest/userguide/load-balancer-elb.html). // @@ -152,10 +300,25 @@ func (c *OpsWorks) AttachElasticLoadBalancerRequest(input *AttachElasticLoadBala // the Elastic Load Balancing console, API, or CLI. For more information, see // Elastic Load Balancing Developer Guide (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/Welcome.html). // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation AttachElasticLoadBalancer for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) AttachElasticLoadBalancer(input *AttachElasticLoadBalancerInput) (*AttachElasticLoadBalancerOutput, error) { req, out := c.AttachElasticLoadBalancerRequest(input) err := req.Send() @@ -164,7 +327,30 @@ func (c *OpsWorks) AttachElasticLoadBalancer(input *AttachElasticLoadBalancerInp const opCloneStack = "CloneStack" -// CloneStackRequest generates a request for the CloneStack operation. +// CloneStackRequest generates a "aws/request.Request" representing the +// client's request for the CloneStack operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CloneStack for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CloneStack method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CloneStackRequest method. +// req, resp := client.CloneStackRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) CloneStackRequest(input *CloneStackInput) (req *request.Request, output *CloneStackOutput) { op := &request.Operation{ Name: opCloneStack, @@ -182,13 +368,30 @@ func (c *OpsWorks) CloneStackRequest(input *CloneStackInput) (req *request.Reque return } +// CloneStack API operation for AWS OpsWorks. +// // Creates a clone of a specified stack. For more information, see Clone a Stack // (http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-cloning.html). // By default, all parameters are set to the values used by the parent stack. // -// Required Permissions: To use this action, an IAM user must have an attached +// Required Permissions: To use this action, an IAM user must have an attached // policy that explicitly grants permissions. For more information on user permissions, // see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation CloneStack for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) CloneStack(input *CloneStackInput) (*CloneStackOutput, error) { req, out := c.CloneStackRequest(input) err := req.Send() @@ -197,7 +400,30 @@ func (c *OpsWorks) CloneStack(input *CloneStackInput) (*CloneStackOutput, error) const opCreateApp = "CreateApp" -// CreateAppRequest generates a request for the CreateApp operation. +// CreateAppRequest generates a "aws/request.Request" representing the +// client's request for the CreateApp operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateApp for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateApp method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateAppRequest method. +// req, resp := client.CreateAppRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) CreateAppRequest(input *CreateAppInput) (req *request.Request, output *CreateAppOutput) { op := &request.Operation{ Name: opCreateApp, @@ -215,13 +441,30 @@ func (c *OpsWorks) CreateAppRequest(input *CreateAppInput) (req *request.Request return } +// CreateApp API operation for AWS OpsWorks. +// // Creates an app for a specified stack. For more information, see Creating // Apps (http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html). // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation CreateApp for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) CreateApp(input *CreateAppInput) (*CreateAppOutput, error) { req, out := c.CreateAppRequest(input) err := req.Send() @@ -230,7 +473,30 @@ func (c *OpsWorks) CreateApp(input *CreateAppInput) (*CreateAppOutput, error) { const opCreateDeployment = "CreateDeployment" -// CreateDeploymentRequest generates a request for the CreateDeployment operation. +// CreateDeploymentRequest generates a "aws/request.Request" representing the +// client's request for the CreateDeployment operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateDeployment for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateDeployment method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateDeploymentRequest method. +// req, resp := client.CreateDeploymentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) CreateDeploymentRequest(input *CreateDeploymentInput) (req *request.Request, output *CreateDeploymentOutput) { op := &request.Operation{ Name: opCreateDeployment, @@ -248,14 +514,31 @@ func (c *OpsWorks) CreateDeploymentRequest(input *CreateDeploymentInput) (req *r return } +// CreateDeployment API operation for AWS OpsWorks. +// // Runs deployment or stack commands. For more information, see Deploying Apps // (http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-deploying.html) // and Run Stack Commands (http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-commands.html). // -// Required Permissions: To use this action, an IAM user must have a Deploy +// Required Permissions: To use this action, an IAM user must have a Deploy // or Manage permissions level for the stack, or an attached policy that explicitly // grants permissions. For more information on user permissions, see Managing // User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation CreateDeployment for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) CreateDeployment(input *CreateDeploymentInput) (*CreateDeploymentOutput, error) { req, out := c.CreateDeploymentRequest(input) err := req.Send() @@ -264,7 +547,30 @@ func (c *OpsWorks) CreateDeployment(input *CreateDeploymentInput) (*CreateDeploy const opCreateInstance = "CreateInstance" -// CreateInstanceRequest generates a request for the CreateInstance operation. +// CreateInstanceRequest generates a "aws/request.Request" representing the +// client's request for the CreateInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateInstanceRequest method. +// req, resp := client.CreateInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) CreateInstanceRequest(input *CreateInstanceInput) (req *request.Request, output *CreateInstanceOutput) { op := &request.Operation{ Name: opCreateInstance, @@ -282,13 +588,30 @@ func (c *OpsWorks) CreateInstanceRequest(input *CreateInstanceInput) (req *reque return } +// CreateInstance API operation for AWS OpsWorks. +// // Creates an instance in a specified stack. For more information, see Adding // an Instance to a Layer (http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-add.html). // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation CreateInstance for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) CreateInstance(input *CreateInstanceInput) (*CreateInstanceOutput, error) { req, out := c.CreateInstanceRequest(input) err := req.Send() @@ -297,7 +620,30 @@ func (c *OpsWorks) CreateInstance(input *CreateInstanceInput) (*CreateInstanceOu const opCreateLayer = "CreateLayer" -// CreateLayerRequest generates a request for the CreateLayer operation. +// CreateLayerRequest generates a "aws/request.Request" representing the +// client's request for the CreateLayer operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateLayer for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateLayer method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateLayerRequest method. +// req, resp := client.CreateLayerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) CreateLayerRequest(input *CreateLayerInput) (req *request.Request, output *CreateLayerOutput) { op := &request.Operation{ Name: opCreateLayer, @@ -315,6 +661,8 @@ func (c *OpsWorks) CreateLayerRequest(input *CreateLayerInput) (req *request.Req return } +// CreateLayer API operation for AWS OpsWorks. +// // Creates a layer. For more information, see How to Create a Layer (http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-create.html). // // You should use CreateLayer for noncustom layer types such as PHP App Server @@ -324,10 +672,25 @@ func (c *OpsWorks) CreateLayerRequest(input *CreateLayerInput) (req *request.Req // of custom layers, so you can call CreateLayer as many times as you like for // that layer type. // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation CreateLayer for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) CreateLayer(input *CreateLayerInput) (*CreateLayerOutput, error) { req, out := c.CreateLayerRequest(input) err := req.Send() @@ -336,7 +699,30 @@ func (c *OpsWorks) CreateLayer(input *CreateLayerInput) (*CreateLayerOutput, err const opCreateStack = "CreateStack" -// CreateStackRequest generates a request for the CreateStack operation. +// CreateStackRequest generates a "aws/request.Request" representing the +// client's request for the CreateStack operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateStack for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateStack method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateStackRequest method. +// req, resp := client.CreateStackRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) CreateStackRequest(input *CreateStackInput) (req *request.Request, output *CreateStackOutput) { op := &request.Operation{ Name: opCreateStack, @@ -354,11 +740,25 @@ func (c *OpsWorks) CreateStackRequest(input *CreateStackInput) (req *request.Req return } +// CreateStack API operation for AWS OpsWorks. +// // Creates a new stack. For more information, see Create a New Stack (http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-edit.html). // -// Required Permissions: To use this action, an IAM user must have an attached +// Required Permissions: To use this action, an IAM user must have an attached // policy that explicitly grants permissions. For more information on user permissions, // see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation CreateStack for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// func (c *OpsWorks) CreateStack(input *CreateStackInput) (*CreateStackOutput, error) { req, out := c.CreateStackRequest(input) err := req.Send() @@ -367,7 +767,30 @@ func (c *OpsWorks) CreateStack(input *CreateStackInput) (*CreateStackOutput, err const opCreateUserProfile = "CreateUserProfile" -// CreateUserProfileRequest generates a request for the CreateUserProfile operation. +// CreateUserProfileRequest generates a "aws/request.Request" representing the +// client's request for the CreateUserProfile operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateUserProfile for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateUserProfile method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateUserProfileRequest method. +// req, resp := client.CreateUserProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) CreateUserProfileRequest(input *CreateUserProfileInput) (req *request.Request, output *CreateUserProfileOutput) { op := &request.Operation{ Name: opCreateUserProfile, @@ -385,11 +808,25 @@ func (c *OpsWorks) CreateUserProfileRequest(input *CreateUserProfileInput) (req return } +// CreateUserProfile API operation for AWS OpsWorks. +// // Creates a new user profile. // -// Required Permissions: To use this action, an IAM user must have an attached +// Required Permissions: To use this action, an IAM user must have an attached // policy that explicitly grants permissions. For more information on user permissions, // see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation CreateUserProfile for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// func (c *OpsWorks) CreateUserProfile(input *CreateUserProfileInput) (*CreateUserProfileOutput, error) { req, out := c.CreateUserProfileRequest(input) err := req.Send() @@ -398,7 +835,30 @@ func (c *OpsWorks) CreateUserProfile(input *CreateUserProfileInput) (*CreateUser const opDeleteApp = "DeleteApp" -// DeleteAppRequest generates a request for the DeleteApp operation. +// DeleteAppRequest generates a "aws/request.Request" representing the +// client's request for the DeleteApp operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteApp for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteApp method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteAppRequest method. +// req, resp := client.DeleteAppRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DeleteAppRequest(input *DeleteAppInput) (req *request.Request, output *DeleteAppOutput) { op := &request.Operation{ Name: opDeleteApp, @@ -418,12 +878,29 @@ func (c *OpsWorks) DeleteAppRequest(input *DeleteAppInput) (req *request.Request return } +// DeleteApp API operation for AWS OpsWorks. +// // Deletes a specified app. // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DeleteApp for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DeleteApp(input *DeleteAppInput) (*DeleteAppOutput, error) { req, out := c.DeleteAppRequest(input) err := req.Send() @@ -432,7 +909,30 @@ func (c *OpsWorks) DeleteApp(input *DeleteAppInput) (*DeleteAppOutput, error) { const opDeleteInstance = "DeleteInstance" -// DeleteInstanceRequest generates a request for the DeleteInstance operation. +// DeleteInstanceRequest generates a "aws/request.Request" representing the +// client's request for the DeleteInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteInstanceRequest method. +// req, resp := client.DeleteInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DeleteInstanceRequest(input *DeleteInstanceInput) (req *request.Request, output *DeleteInstanceOutput) { op := &request.Operation{ Name: opDeleteInstance, @@ -452,15 +952,32 @@ func (c *OpsWorks) DeleteInstanceRequest(input *DeleteInstanceInput) (req *reque return } +// DeleteInstance API operation for AWS OpsWorks. +// // Deletes a specified instance, which terminates the associated Amazon EC2 // instance. You must stop an instance before you can delete it. // // For more information, see Deleting Instances (http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-delete.html). // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DeleteInstance for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DeleteInstance(input *DeleteInstanceInput) (*DeleteInstanceOutput, error) { req, out := c.DeleteInstanceRequest(input) err := req.Send() @@ -469,7 +986,30 @@ func (c *OpsWorks) DeleteInstance(input *DeleteInstanceInput) (*DeleteInstanceOu const opDeleteLayer = "DeleteLayer" -// DeleteLayerRequest generates a request for the DeleteLayer operation. +// DeleteLayerRequest generates a "aws/request.Request" representing the +// client's request for the DeleteLayer operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteLayer for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteLayer method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteLayerRequest method. +// req, resp := client.DeleteLayerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DeleteLayerRequest(input *DeleteLayerInput) (req *request.Request, output *DeleteLayerOutput) { op := &request.Operation{ Name: opDeleteLayer, @@ -489,14 +1029,31 @@ func (c *OpsWorks) DeleteLayerRequest(input *DeleteLayerInput) (req *request.Req return } +// DeleteLayer API operation for AWS OpsWorks. +// // Deletes a specified layer. You must first stop and then delete all associated // instances or unassign registered instances. For more information, see How // to Delete a Layer (http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-delete.html). // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DeleteLayer for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DeleteLayer(input *DeleteLayerInput) (*DeleteLayerOutput, error) { req, out := c.DeleteLayerRequest(input) err := req.Send() @@ -505,7 +1062,30 @@ func (c *OpsWorks) DeleteLayer(input *DeleteLayerInput) (*DeleteLayerOutput, err const opDeleteStack = "DeleteStack" -// DeleteStackRequest generates a request for the DeleteStack operation. +// DeleteStackRequest generates a "aws/request.Request" representing the +// client's request for the DeleteStack operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteStack for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteStack method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteStackRequest method. +// req, resp := client.DeleteStackRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DeleteStackRequest(input *DeleteStackInput) (req *request.Request, output *DeleteStackOutput) { op := &request.Operation{ Name: opDeleteStack, @@ -525,14 +1105,31 @@ func (c *OpsWorks) DeleteStackRequest(input *DeleteStackInput) (req *request.Req return } +// DeleteStack API operation for AWS OpsWorks. +// // Deletes a specified stack. You must first delete all instances, layers, and // apps or deregister registered instances. For more information, see Shut Down // a Stack (http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-shutting.html). // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DeleteStack for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DeleteStack(input *DeleteStackInput) (*DeleteStackOutput, error) { req, out := c.DeleteStackRequest(input) err := req.Send() @@ -541,7 +1138,30 @@ func (c *OpsWorks) DeleteStack(input *DeleteStackInput) (*DeleteStackOutput, err const opDeleteUserProfile = "DeleteUserProfile" -// DeleteUserProfileRequest generates a request for the DeleteUserProfile operation. +// DeleteUserProfileRequest generates a "aws/request.Request" representing the +// client's request for the DeleteUserProfile operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteUserProfile for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteUserProfile method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteUserProfileRequest method. +// req, resp := client.DeleteUserProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DeleteUserProfileRequest(input *DeleteUserProfileInput) (req *request.Request, output *DeleteUserProfileOutput) { op := &request.Operation{ Name: opDeleteUserProfile, @@ -561,11 +1181,28 @@ func (c *OpsWorks) DeleteUserProfileRequest(input *DeleteUserProfileInput) (req return } +// DeleteUserProfile API operation for AWS OpsWorks. +// // Deletes a user profile. // -// Required Permissions: To use this action, an IAM user must have an attached +// Required Permissions: To use this action, an IAM user must have an attached // policy that explicitly grants permissions. For more information on user permissions, // see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DeleteUserProfile for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DeleteUserProfile(input *DeleteUserProfileInput) (*DeleteUserProfileOutput, error) { req, out := c.DeleteUserProfileRequest(input) err := req.Send() @@ -574,7 +1211,30 @@ func (c *OpsWorks) DeleteUserProfile(input *DeleteUserProfileInput) (*DeleteUser const opDeregisterEcsCluster = "DeregisterEcsCluster" -// DeregisterEcsClusterRequest generates a request for the DeregisterEcsCluster operation. +// DeregisterEcsClusterRequest generates a "aws/request.Request" representing the +// client's request for the DeregisterEcsCluster operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeregisterEcsCluster for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeregisterEcsCluster method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeregisterEcsClusterRequest method. +// req, resp := client.DeregisterEcsClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DeregisterEcsClusterRequest(input *DeregisterEcsClusterInput) (req *request.Request, output *DeregisterEcsClusterOutput) { op := &request.Operation{ Name: opDeregisterEcsCluster, @@ -594,12 +1254,30 @@ func (c *OpsWorks) DeregisterEcsClusterRequest(input *DeregisterEcsClusterInput) return } +// DeregisterEcsCluster API operation for AWS OpsWorks. +// // Deregisters a specified Amazon ECS cluster from a stack. For more information, // see Resource Management (http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-ecscluster.html#workinglayers-ecscluster-delete). // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack or an attached policy that explicitly grants -// permissions. For more information on user permissions, see . +// permissions. For more information on user permissions, see http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html +// (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DeregisterEcsCluster for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DeregisterEcsCluster(input *DeregisterEcsClusterInput) (*DeregisterEcsClusterOutput, error) { req, out := c.DeregisterEcsClusterRequest(input) err := req.Send() @@ -608,7 +1286,30 @@ func (c *OpsWorks) DeregisterEcsCluster(input *DeregisterEcsClusterInput) (*Dere const opDeregisterElasticIp = "DeregisterElasticIp" -// DeregisterElasticIpRequest generates a request for the DeregisterElasticIp operation. +// DeregisterElasticIpRequest generates a "aws/request.Request" representing the +// client's request for the DeregisterElasticIp operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeregisterElasticIp for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeregisterElasticIp method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeregisterElasticIpRequest method. +// req, resp := client.DeregisterElasticIpRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DeregisterElasticIpRequest(input *DeregisterElasticIpInput) (req *request.Request, output *DeregisterElasticIpOutput) { op := &request.Operation{ Name: opDeregisterElasticIp, @@ -628,13 +1329,30 @@ func (c *OpsWorks) DeregisterElasticIpRequest(input *DeregisterElasticIpInput) ( return } +// DeregisterElasticIp API operation for AWS OpsWorks. +// // Deregisters a specified Elastic IP address. The address can then be registered // by another stack. For more information, see Resource Management (http://docs.aws.amazon.com/opsworks/latest/userguide/resources.html). // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DeregisterElasticIp for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DeregisterElasticIp(input *DeregisterElasticIpInput) (*DeregisterElasticIpOutput, error) { req, out := c.DeregisterElasticIpRequest(input) err := req.Send() @@ -643,7 +1361,30 @@ func (c *OpsWorks) DeregisterElasticIp(input *DeregisterElasticIpInput) (*Deregi const opDeregisterInstance = "DeregisterInstance" -// DeregisterInstanceRequest generates a request for the DeregisterInstance operation. +// DeregisterInstanceRequest generates a "aws/request.Request" representing the +// client's request for the DeregisterInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeregisterInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeregisterInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeregisterInstanceRequest method. +// req, resp := client.DeregisterInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DeregisterInstanceRequest(input *DeregisterInstanceInput) (req *request.Request, output *DeregisterInstanceOutput) { op := &request.Operation{ Name: opDeregisterInstance, @@ -663,14 +1404,31 @@ func (c *OpsWorks) DeregisterInstanceRequest(input *DeregisterInstanceInput) (re return } +// DeregisterInstance API operation for AWS OpsWorks. +// // Deregister a registered Amazon EC2 or on-premises instance. This action removes // the instance from the stack and returns it to your control. This action can // not be used with instances that were created with AWS OpsWorks. // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DeregisterInstance for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DeregisterInstance(input *DeregisterInstanceInput) (*DeregisterInstanceOutput, error) { req, out := c.DeregisterInstanceRequest(input) err := req.Send() @@ -679,7 +1437,30 @@ func (c *OpsWorks) DeregisterInstance(input *DeregisterInstanceInput) (*Deregist const opDeregisterRdsDbInstance = "DeregisterRdsDbInstance" -// DeregisterRdsDbInstanceRequest generates a request for the DeregisterRdsDbInstance operation. +// DeregisterRdsDbInstanceRequest generates a "aws/request.Request" representing the +// client's request for the DeregisterRdsDbInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeregisterRdsDbInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeregisterRdsDbInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeregisterRdsDbInstanceRequest method. +// req, resp := client.DeregisterRdsDbInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DeregisterRdsDbInstanceRequest(input *DeregisterRdsDbInstanceInput) (req *request.Request, output *DeregisterRdsDbInstanceOutput) { op := &request.Operation{ Name: opDeregisterRdsDbInstance, @@ -699,21 +1480,61 @@ func (c *OpsWorks) DeregisterRdsDbInstanceRequest(input *DeregisterRdsDbInstance return } +// DeregisterRdsDbInstance API operation for AWS OpsWorks. +// // Deregisters an Amazon RDS instance. // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html). -func (c *OpsWorks) DeregisterRdsDbInstance(input *DeregisterRdsDbInstanceInput) (*DeregisterRdsDbInstanceOutput, error) { - req, out := c.DeregisterRdsDbInstanceRequest(input) - err := req.Send() - return out, err +// +// 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 OpsWorks's +// API operation DeregisterRdsDbInstance for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// +func (c *OpsWorks) DeregisterRdsDbInstance(input *DeregisterRdsDbInstanceInput) (*DeregisterRdsDbInstanceOutput, error) { + req, out := c.DeregisterRdsDbInstanceRequest(input) + err := req.Send() + return out, err } const opDeregisterVolume = "DeregisterVolume" -// DeregisterVolumeRequest generates a request for the DeregisterVolume operation. +// DeregisterVolumeRequest generates a "aws/request.Request" representing the +// client's request for the DeregisterVolume operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeregisterVolume for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeregisterVolume method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeregisterVolumeRequest method. +// req, resp := client.DeregisterVolumeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DeregisterVolumeRequest(input *DeregisterVolumeInput) (req *request.Request, output *DeregisterVolumeOutput) { op := &request.Operation{ Name: opDeregisterVolume, @@ -733,13 +1554,30 @@ func (c *OpsWorks) DeregisterVolumeRequest(input *DeregisterVolumeInput) (req *r return } +// DeregisterVolume API operation for AWS OpsWorks. +// // Deregisters an Amazon EBS volume. The volume can then be registered by another // stack. For more information, see Resource Management (http://docs.aws.amazon.com/opsworks/latest/userguide/resources.html). // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DeregisterVolume for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DeregisterVolume(input *DeregisterVolumeInput) (*DeregisterVolumeOutput, error) { req, out := c.DeregisterVolumeRequest(input) err := req.Send() @@ -748,7 +1586,30 @@ func (c *OpsWorks) DeregisterVolume(input *DeregisterVolumeInput) (*DeregisterVo const opDescribeAgentVersions = "DescribeAgentVersions" -// DescribeAgentVersionsRequest generates a request for the DescribeAgentVersions operation. +// DescribeAgentVersionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAgentVersions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeAgentVersions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeAgentVersions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeAgentVersionsRequest method. +// req, resp := client.DescribeAgentVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DescribeAgentVersionsRequest(input *DescribeAgentVersionsInput) (req *request.Request, output *DescribeAgentVersionsOutput) { op := &request.Operation{ Name: opDescribeAgentVersions, @@ -766,9 +1627,26 @@ func (c *OpsWorks) DescribeAgentVersionsRequest(input *DescribeAgentVersionsInpu return } +// DescribeAgentVersions API operation for AWS OpsWorks. +// // Describes the available AWS OpsWorks agent versions. You must specify a stack // ID or a configuration manager. DescribeAgentVersions returns a list of available // agent versions for the specified stack or configuration manager. +// +// 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 OpsWorks's +// API operation DescribeAgentVersions for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DescribeAgentVersions(input *DescribeAgentVersionsInput) (*DescribeAgentVersionsOutput, error) { req, out := c.DescribeAgentVersionsRequest(input) err := req.Send() @@ -777,7 +1655,30 @@ func (c *OpsWorks) DescribeAgentVersions(input *DescribeAgentVersionsInput) (*De const opDescribeApps = "DescribeApps" -// DescribeAppsRequest generates a request for the DescribeApps operation. +// DescribeAppsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeApps operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeApps for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeApps method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeAppsRequest method. +// req, resp := client.DescribeAppsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DescribeAppsRequest(input *DescribeAppsInput) (req *request.Request, output *DescribeAppsOutput) { op := &request.Operation{ Name: opDescribeApps, @@ -795,14 +1696,31 @@ func (c *OpsWorks) DescribeAppsRequest(input *DescribeAppsInput) (req *request.R return } +// DescribeApps API operation for AWS OpsWorks. +// // Requests a description of a specified set of apps. // // You must specify at least one of the parameters. // -// Required Permissions: To use this action, an IAM user must have a Show, +// Required Permissions: To use this action, an IAM user must have a Show, // Deploy, or Manage permissions level for the stack, or an attached policy // that explicitly grants permissions. For more information on user permissions, // see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DescribeApps for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DescribeApps(input *DescribeAppsInput) (*DescribeAppsOutput, error) { req, out := c.DescribeAppsRequest(input) err := req.Send() @@ -811,7 +1729,30 @@ func (c *OpsWorks) DescribeApps(input *DescribeAppsInput) (*DescribeAppsOutput, const opDescribeCommands = "DescribeCommands" -// DescribeCommandsRequest generates a request for the DescribeCommands operation. +// DescribeCommandsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCommands operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeCommands for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeCommands method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeCommandsRequest method. +// req, resp := client.DescribeCommandsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DescribeCommandsRequest(input *DescribeCommandsInput) (req *request.Request, output *DescribeCommandsOutput) { op := &request.Operation{ Name: opDescribeCommands, @@ -829,14 +1770,31 @@ func (c *OpsWorks) DescribeCommandsRequest(input *DescribeCommandsInput) (req *r return } +// DescribeCommands API operation for AWS OpsWorks. +// // Describes the results of specified commands. // // You must specify at least one of the parameters. // -// Required Permissions: To use this action, an IAM user must have a Show, +// Required Permissions: To use this action, an IAM user must have a Show, // Deploy, or Manage permissions level for the stack, or an attached policy // that explicitly grants permissions. For more information on user permissions, // see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DescribeCommands for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DescribeCommands(input *DescribeCommandsInput) (*DescribeCommandsOutput, error) { req, out := c.DescribeCommandsRequest(input) err := req.Send() @@ -845,7 +1803,30 @@ func (c *OpsWorks) DescribeCommands(input *DescribeCommandsInput) (*DescribeComm const opDescribeDeployments = "DescribeDeployments" -// DescribeDeploymentsRequest generates a request for the DescribeDeployments operation. +// DescribeDeploymentsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDeployments operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeDeployments for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeDeployments method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeDeploymentsRequest method. +// req, resp := client.DescribeDeploymentsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DescribeDeploymentsRequest(input *DescribeDeploymentsInput) (req *request.Request, output *DescribeDeploymentsOutput) { op := &request.Operation{ Name: opDescribeDeployments, @@ -863,14 +1844,31 @@ func (c *OpsWorks) DescribeDeploymentsRequest(input *DescribeDeploymentsInput) ( return } +// DescribeDeployments API operation for AWS OpsWorks. +// // Requests a description of a specified set of deployments. // // You must specify at least one of the parameters. // -// Required Permissions: To use this action, an IAM user must have a Show, +// Required Permissions: To use this action, an IAM user must have a Show, // Deploy, or Manage permissions level for the stack, or an attached policy // that explicitly grants permissions. For more information on user permissions, // see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DescribeDeployments for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DescribeDeployments(input *DescribeDeploymentsInput) (*DescribeDeploymentsOutput, error) { req, out := c.DescribeDeploymentsRequest(input) err := req.Send() @@ -879,7 +1877,30 @@ func (c *OpsWorks) DescribeDeployments(input *DescribeDeploymentsInput) (*Descri const opDescribeEcsClusters = "DescribeEcsClusters" -// DescribeEcsClustersRequest generates a request for the DescribeEcsClusters operation. +// DescribeEcsClustersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEcsClusters operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeEcsClusters for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeEcsClusters method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeEcsClustersRequest method. +// req, resp := client.DescribeEcsClustersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DescribeEcsClustersRequest(input *DescribeEcsClustersInput) (req *request.Request, output *DescribeEcsClustersOutput) { op := &request.Operation{ Name: opDescribeEcsClusters, @@ -903,21 +1924,55 @@ func (c *OpsWorks) DescribeEcsClustersRequest(input *DescribeEcsClustersInput) ( return } +// DescribeEcsClusters API operation for AWS OpsWorks. +// // Describes Amazon ECS clusters that are registered with a stack. If you specify // only a stack ID, you can use the MaxResults and NextToken parameters to paginate // the response. However, AWS OpsWorks currently supports only one cluster per // layer, so the result set has a maximum of one element. // -// Required Permissions: To use this action, an IAM user must have a Show, +// Required Permissions: To use this action, an IAM user must have a Show, // Deploy, or Manage permissions level for the stack or an attached policy that // explicitly grants permission. For more information on user permissions, see // Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DescribeEcsClusters for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DescribeEcsClusters(input *DescribeEcsClustersInput) (*DescribeEcsClustersOutput, error) { req, out := c.DescribeEcsClustersRequest(input) err := req.Send() return out, err } +// DescribeEcsClustersPages iterates over the pages of a DescribeEcsClusters operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeEcsClusters 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 DescribeEcsClusters operation. +// pageNum := 0 +// err := client.DescribeEcsClustersPages(params, +// func(page *DescribeEcsClustersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *OpsWorks) DescribeEcsClustersPages(input *DescribeEcsClustersInput, fn func(p *DescribeEcsClustersOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeEcsClustersRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -928,7 +1983,30 @@ func (c *OpsWorks) DescribeEcsClustersPages(input *DescribeEcsClustersInput, fn const opDescribeElasticIps = "DescribeElasticIps" -// DescribeElasticIpsRequest generates a request for the DescribeElasticIps operation. +// DescribeElasticIpsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeElasticIps operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeElasticIps for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeElasticIps method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeElasticIpsRequest method. +// req, resp := client.DescribeElasticIpsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DescribeElasticIpsRequest(input *DescribeElasticIpsInput) (req *request.Request, output *DescribeElasticIpsOutput) { op := &request.Operation{ Name: opDescribeElasticIps, @@ -946,14 +2024,31 @@ func (c *OpsWorks) DescribeElasticIpsRequest(input *DescribeElasticIpsInput) (re return } +// DescribeElasticIps API operation for AWS OpsWorks. +// // Describes Elastic IP addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html). // // You must specify at least one of the parameters. // -// Required Permissions: To use this action, an IAM user must have a Show, +// Required Permissions: To use this action, an IAM user must have a Show, // Deploy, or Manage permissions level for the stack, or an attached policy // that explicitly grants permissions. For more information on user permissions, // see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DescribeElasticIps for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DescribeElasticIps(input *DescribeElasticIpsInput) (*DescribeElasticIpsOutput, error) { req, out := c.DescribeElasticIpsRequest(input) err := req.Send() @@ -962,7 +2057,30 @@ func (c *OpsWorks) DescribeElasticIps(input *DescribeElasticIpsInput) (*Describe const opDescribeElasticLoadBalancers = "DescribeElasticLoadBalancers" -// DescribeElasticLoadBalancersRequest generates a request for the DescribeElasticLoadBalancers operation. +// DescribeElasticLoadBalancersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeElasticLoadBalancers operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeElasticLoadBalancers for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeElasticLoadBalancers method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeElasticLoadBalancersRequest method. +// req, resp := client.DescribeElasticLoadBalancersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DescribeElasticLoadBalancersRequest(input *DescribeElasticLoadBalancersInput) (req *request.Request, output *DescribeElasticLoadBalancersOutput) { op := &request.Operation{ Name: opDescribeElasticLoadBalancers, @@ -980,14 +2098,31 @@ func (c *OpsWorks) DescribeElasticLoadBalancersRequest(input *DescribeElasticLoa return } +// DescribeElasticLoadBalancers API operation for AWS OpsWorks. +// // Describes a stack's Elastic Load Balancing instances. // // You must specify at least one of the parameters. // -// Required Permissions: To use this action, an IAM user must have a Show, +// Required Permissions: To use this action, an IAM user must have a Show, // Deploy, or Manage permissions level for the stack, or an attached policy // that explicitly grants permissions. For more information on user permissions, // see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DescribeElasticLoadBalancers for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DescribeElasticLoadBalancers(input *DescribeElasticLoadBalancersInput) (*DescribeElasticLoadBalancersOutput, error) { req, out := c.DescribeElasticLoadBalancersRequest(input) err := req.Send() @@ -996,7 +2131,30 @@ func (c *OpsWorks) DescribeElasticLoadBalancers(input *DescribeElasticLoadBalanc const opDescribeInstances = "DescribeInstances" -// DescribeInstancesRequest generates a request for the DescribeInstances operation. +// DescribeInstancesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeInstancesRequest method. +// req, resp := client.DescribeInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DescribeInstancesRequest(input *DescribeInstancesInput) (req *request.Request, output *DescribeInstancesOutput) { op := &request.Operation{ Name: opDescribeInstances, @@ -1014,14 +2172,31 @@ func (c *OpsWorks) DescribeInstancesRequest(input *DescribeInstancesInput) (req return } +// DescribeInstances API operation for AWS OpsWorks. +// // Requests a description of a set of instances. // // You must specify at least one of the parameters. // -// Required Permissions: To use this action, an IAM user must have a Show, +// Required Permissions: To use this action, an IAM user must have a Show, // Deploy, or Manage permissions level for the stack, or an attached policy // that explicitly grants permissions. For more information on user permissions, // see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DescribeInstances for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) { req, out := c.DescribeInstancesRequest(input) err := req.Send() @@ -1030,7 +2205,30 @@ func (c *OpsWorks) DescribeInstances(input *DescribeInstancesInput) (*DescribeIn const opDescribeLayers = "DescribeLayers" -// DescribeLayersRequest generates a request for the DescribeLayers operation. +// DescribeLayersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeLayers operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeLayers for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeLayers method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeLayersRequest method. +// req, resp := client.DescribeLayersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DescribeLayersRequest(input *DescribeLayersInput) (req *request.Request, output *DescribeLayersOutput) { op := &request.Operation{ Name: opDescribeLayers, @@ -1048,14 +2246,31 @@ func (c *OpsWorks) DescribeLayersRequest(input *DescribeLayersInput) (req *reque return } +// DescribeLayers API operation for AWS OpsWorks. +// // Requests a description of one or more layers in a specified stack. // // You must specify at least one of the parameters. // -// Required Permissions: To use this action, an IAM user must have a Show, +// Required Permissions: To use this action, an IAM user must have a Show, // Deploy, or Manage permissions level for the stack, or an attached policy // that explicitly grants permissions. For more information on user permissions, // see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DescribeLayers for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DescribeLayers(input *DescribeLayersInput) (*DescribeLayersOutput, error) { req, out := c.DescribeLayersRequest(input) err := req.Send() @@ -1064,7 +2279,30 @@ func (c *OpsWorks) DescribeLayers(input *DescribeLayersInput) (*DescribeLayersOu const opDescribeLoadBasedAutoScaling = "DescribeLoadBasedAutoScaling" -// DescribeLoadBasedAutoScalingRequest generates a request for the DescribeLoadBasedAutoScaling operation. +// DescribeLoadBasedAutoScalingRequest generates a "aws/request.Request" representing the +// client's request for the DescribeLoadBasedAutoScaling operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeLoadBasedAutoScaling for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeLoadBasedAutoScaling method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeLoadBasedAutoScalingRequest method. +// req, resp := client.DescribeLoadBasedAutoScalingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DescribeLoadBasedAutoScalingRequest(input *DescribeLoadBasedAutoScalingInput) (req *request.Request, output *DescribeLoadBasedAutoScalingOutput) { op := &request.Operation{ Name: opDescribeLoadBasedAutoScaling, @@ -1082,14 +2320,31 @@ func (c *OpsWorks) DescribeLoadBasedAutoScalingRequest(input *DescribeLoadBasedA return } +// DescribeLoadBasedAutoScaling API operation for AWS OpsWorks. +// // Describes load-based auto scaling configurations for specified layers. // // You must specify at least one of the parameters. // -// Required Permissions: To use this action, an IAM user must have a Show, +// Required Permissions: To use this action, an IAM user must have a Show, // Deploy, or Manage permissions level for the stack, or an attached policy // that explicitly grants permissions. For more information on user permissions, // see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DescribeLoadBasedAutoScaling for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DescribeLoadBasedAutoScaling(input *DescribeLoadBasedAutoScalingInput) (*DescribeLoadBasedAutoScalingOutput, error) { req, out := c.DescribeLoadBasedAutoScalingRequest(input) err := req.Send() @@ -1098,7 +2353,30 @@ func (c *OpsWorks) DescribeLoadBasedAutoScaling(input *DescribeLoadBasedAutoScal const opDescribeMyUserProfile = "DescribeMyUserProfile" -// DescribeMyUserProfileRequest generates a request for the DescribeMyUserProfile operation. +// DescribeMyUserProfileRequest generates a "aws/request.Request" representing the +// client's request for the DescribeMyUserProfile operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeMyUserProfile for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeMyUserProfile method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeMyUserProfileRequest method. +// req, resp := client.DescribeMyUserProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DescribeMyUserProfileRequest(input *DescribeMyUserProfileInput) (req *request.Request, output *DescribeMyUserProfileOutput) { op := &request.Operation{ Name: opDescribeMyUserProfile, @@ -1116,11 +2394,20 @@ func (c *OpsWorks) DescribeMyUserProfileRequest(input *DescribeMyUserProfileInpu return } +// DescribeMyUserProfile API operation for AWS OpsWorks. +// // Describes a user's SSH information. // -// Required Permissions: To use this action, an IAM user must have self-management +// Required Permissions: To use this action, an IAM user must have self-management // enabled or an attached policy that explicitly grants permissions. For more // information on user permissions, see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DescribeMyUserProfile for usage and error information. func (c *OpsWorks) DescribeMyUserProfile(input *DescribeMyUserProfileInput) (*DescribeMyUserProfileOutput, error) { req, out := c.DescribeMyUserProfileRequest(input) err := req.Send() @@ -1129,7 +2416,30 @@ func (c *OpsWorks) DescribeMyUserProfile(input *DescribeMyUserProfileInput) (*De const opDescribePermissions = "DescribePermissions" -// DescribePermissionsRequest generates a request for the DescribePermissions operation. +// DescribePermissionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribePermissions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribePermissions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribePermissions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribePermissionsRequest method. +// req, resp := client.DescribePermissionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DescribePermissionsRequest(input *DescribePermissionsInput) (req *request.Request, output *DescribePermissionsOutput) { op := &request.Operation{ Name: opDescribePermissions, @@ -1147,12 +2457,29 @@ func (c *OpsWorks) DescribePermissionsRequest(input *DescribePermissionsInput) ( return } +// DescribePermissions API operation for AWS OpsWorks. +// // Describes the permissions for a specified stack. // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DescribePermissions for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DescribePermissions(input *DescribePermissionsInput) (*DescribePermissionsOutput, error) { req, out := c.DescribePermissionsRequest(input) err := req.Send() @@ -1161,7 +2488,30 @@ func (c *OpsWorks) DescribePermissions(input *DescribePermissionsInput) (*Descri const opDescribeRaidArrays = "DescribeRaidArrays" -// DescribeRaidArraysRequest generates a request for the DescribeRaidArrays operation. +// DescribeRaidArraysRequest generates a "aws/request.Request" representing the +// client's request for the DescribeRaidArrays operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeRaidArrays for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeRaidArrays method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeRaidArraysRequest method. +// req, resp := client.DescribeRaidArraysRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DescribeRaidArraysRequest(input *DescribeRaidArraysInput) (req *request.Request, output *DescribeRaidArraysOutput) { op := &request.Operation{ Name: opDescribeRaidArrays, @@ -1179,14 +2529,31 @@ func (c *OpsWorks) DescribeRaidArraysRequest(input *DescribeRaidArraysInput) (re return } +// DescribeRaidArrays API operation for AWS OpsWorks. +// // Describe an instance's RAID arrays. // // You must specify at least one of the parameters. // -// Required Permissions: To use this action, an IAM user must have a Show, +// Required Permissions: To use this action, an IAM user must have a Show, // Deploy, or Manage permissions level for the stack, or an attached policy // that explicitly grants permissions. For more information on user permissions, // see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DescribeRaidArrays for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DescribeRaidArrays(input *DescribeRaidArraysInput) (*DescribeRaidArraysOutput, error) { req, out := c.DescribeRaidArraysRequest(input) err := req.Send() @@ -1195,7 +2562,30 @@ func (c *OpsWorks) DescribeRaidArrays(input *DescribeRaidArraysInput) (*Describe const opDescribeRdsDbInstances = "DescribeRdsDbInstances" -// DescribeRdsDbInstancesRequest generates a request for the DescribeRdsDbInstances operation. +// DescribeRdsDbInstancesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeRdsDbInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeRdsDbInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeRdsDbInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeRdsDbInstancesRequest method. +// req, resp := client.DescribeRdsDbInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DescribeRdsDbInstancesRequest(input *DescribeRdsDbInstancesInput) (req *request.Request, output *DescribeRdsDbInstancesOutput) { op := &request.Operation{ Name: opDescribeRdsDbInstances, @@ -1213,12 +2603,29 @@ func (c *OpsWorks) DescribeRdsDbInstancesRequest(input *DescribeRdsDbInstancesIn return } +// DescribeRdsDbInstances API operation for AWS OpsWorks. +// // Describes Amazon RDS instances. // -// Required Permissions: To use this action, an IAM user must have a Show, +// Required Permissions: To use this action, an IAM user must have a Show, // Deploy, or Manage permissions level for the stack, or an attached policy // that explicitly grants permissions. For more information on user permissions, // see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DescribeRdsDbInstances for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DescribeRdsDbInstances(input *DescribeRdsDbInstancesInput) (*DescribeRdsDbInstancesOutput, error) { req, out := c.DescribeRdsDbInstancesRequest(input) err := req.Send() @@ -1227,7 +2634,30 @@ func (c *OpsWorks) DescribeRdsDbInstances(input *DescribeRdsDbInstancesInput) (* const opDescribeServiceErrors = "DescribeServiceErrors" -// DescribeServiceErrorsRequest generates a request for the DescribeServiceErrors operation. +// DescribeServiceErrorsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeServiceErrors operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeServiceErrors for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeServiceErrors method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeServiceErrorsRequest method. +// req, resp := client.DescribeServiceErrorsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DescribeServiceErrorsRequest(input *DescribeServiceErrorsInput) (req *request.Request, output *DescribeServiceErrorsOutput) { op := &request.Operation{ Name: opDescribeServiceErrors, @@ -1245,12 +2675,29 @@ func (c *OpsWorks) DescribeServiceErrorsRequest(input *DescribeServiceErrorsInpu return } +// DescribeServiceErrors API operation for AWS OpsWorks. +// // Describes AWS OpsWorks service errors. // -// Required Permissions: To use this action, an IAM user must have a Show, +// Required Permissions: To use this action, an IAM user must have a Show, // Deploy, or Manage permissions level for the stack, or an attached policy // that explicitly grants permissions. For more information on user permissions, // see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DescribeServiceErrors for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DescribeServiceErrors(input *DescribeServiceErrorsInput) (*DescribeServiceErrorsOutput, error) { req, out := c.DescribeServiceErrorsRequest(input) err := req.Send() @@ -1259,7 +2706,30 @@ func (c *OpsWorks) DescribeServiceErrors(input *DescribeServiceErrorsInput) (*De const opDescribeStackProvisioningParameters = "DescribeStackProvisioningParameters" -// DescribeStackProvisioningParametersRequest generates a request for the DescribeStackProvisioningParameters operation. +// DescribeStackProvisioningParametersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeStackProvisioningParameters operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeStackProvisioningParameters for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeStackProvisioningParameters method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeStackProvisioningParametersRequest method. +// req, resp := client.DescribeStackProvisioningParametersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DescribeStackProvisioningParametersRequest(input *DescribeStackProvisioningParametersInput) (req *request.Request, output *DescribeStackProvisioningParametersOutput) { op := &request.Operation{ Name: opDescribeStackProvisioningParameters, @@ -1277,12 +2747,29 @@ func (c *OpsWorks) DescribeStackProvisioningParametersRequest(input *DescribeSta return } +// DescribeStackProvisioningParameters API operation for AWS OpsWorks. +// // Requests a description of a stack's provisioning parameters. // -// Required Permissions: To use this action, an IAM user must have a Show, +// Required Permissions: To use this action, an IAM user must have a Show, // Deploy, or Manage permissions level for the stack or an attached policy that // explicitly grants permissions. For more information on user permissions, // see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DescribeStackProvisioningParameters for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DescribeStackProvisioningParameters(input *DescribeStackProvisioningParametersInput) (*DescribeStackProvisioningParametersOutput, error) { req, out := c.DescribeStackProvisioningParametersRequest(input) err := req.Send() @@ -1291,7 +2778,30 @@ func (c *OpsWorks) DescribeStackProvisioningParameters(input *DescribeStackProvi const opDescribeStackSummary = "DescribeStackSummary" -// DescribeStackSummaryRequest generates a request for the DescribeStackSummary operation. +// DescribeStackSummaryRequest generates a "aws/request.Request" representing the +// client's request for the DescribeStackSummary operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeStackSummary for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeStackSummary method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeStackSummaryRequest method. +// req, resp := client.DescribeStackSummaryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DescribeStackSummaryRequest(input *DescribeStackSummaryInput) (req *request.Request, output *DescribeStackSummaryOutput) { op := &request.Operation{ Name: opDescribeStackSummary, @@ -1309,13 +2819,30 @@ func (c *OpsWorks) DescribeStackSummaryRequest(input *DescribeStackSummaryInput) return } +// DescribeStackSummary API operation for AWS OpsWorks. +// // Describes the number of layers and apps in a specified stack, and the number // of instances in each state, such as running_setup or online. // -// Required Permissions: To use this action, an IAM user must have a Show, +// Required Permissions: To use this action, an IAM user must have a Show, // Deploy, or Manage permissions level for the stack, or an attached policy // that explicitly grants permissions. For more information on user permissions, // see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DescribeStackSummary for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DescribeStackSummary(input *DescribeStackSummaryInput) (*DescribeStackSummaryOutput, error) { req, out := c.DescribeStackSummaryRequest(input) err := req.Send() @@ -1324,7 +2851,30 @@ func (c *OpsWorks) DescribeStackSummary(input *DescribeStackSummaryInput) (*Desc const opDescribeStacks = "DescribeStacks" -// DescribeStacksRequest generates a request for the DescribeStacks operation. +// DescribeStacksRequest generates a "aws/request.Request" representing the +// client's request for the DescribeStacks operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeStacks for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeStacks method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeStacksRequest method. +// req, resp := client.DescribeStacksRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DescribeStacksRequest(input *DescribeStacksInput) (req *request.Request, output *DescribeStacksOutput) { op := &request.Operation{ Name: opDescribeStacks, @@ -1342,12 +2892,29 @@ func (c *OpsWorks) DescribeStacksRequest(input *DescribeStacksInput) (req *reque return } +// DescribeStacks API operation for AWS OpsWorks. +// // Requests a description of one or more stacks. // -// Required Permissions: To use this action, an IAM user must have a Show, +// Required Permissions: To use this action, an IAM user must have a Show, // Deploy, or Manage permissions level for the stack, or an attached policy // that explicitly grants permissions. For more information on user permissions, // see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DescribeStacks for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DescribeStacks(input *DescribeStacksInput) (*DescribeStacksOutput, error) { req, out := c.DescribeStacksRequest(input) err := req.Send() @@ -1356,7 +2923,30 @@ func (c *OpsWorks) DescribeStacks(input *DescribeStacksInput) (*DescribeStacksOu const opDescribeTimeBasedAutoScaling = "DescribeTimeBasedAutoScaling" -// DescribeTimeBasedAutoScalingRequest generates a request for the DescribeTimeBasedAutoScaling operation. +// DescribeTimeBasedAutoScalingRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTimeBasedAutoScaling operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeTimeBasedAutoScaling for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeTimeBasedAutoScaling method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeTimeBasedAutoScalingRequest method. +// req, resp := client.DescribeTimeBasedAutoScalingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DescribeTimeBasedAutoScalingRequest(input *DescribeTimeBasedAutoScalingInput) (req *request.Request, output *DescribeTimeBasedAutoScalingOutput) { op := &request.Operation{ Name: opDescribeTimeBasedAutoScaling, @@ -1374,14 +2964,31 @@ func (c *OpsWorks) DescribeTimeBasedAutoScalingRequest(input *DescribeTimeBasedA return } +// DescribeTimeBasedAutoScaling API operation for AWS OpsWorks. +// // Describes time-based auto scaling configurations for specified instances. // // You must specify at least one of the parameters. // -// Required Permissions: To use this action, an IAM user must have a Show, +// Required Permissions: To use this action, an IAM user must have a Show, // Deploy, or Manage permissions level for the stack, or an attached policy // that explicitly grants permissions. For more information on user permissions, // see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DescribeTimeBasedAutoScaling for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DescribeTimeBasedAutoScaling(input *DescribeTimeBasedAutoScalingInput) (*DescribeTimeBasedAutoScalingOutput, error) { req, out := c.DescribeTimeBasedAutoScalingRequest(input) err := req.Send() @@ -1390,7 +2997,30 @@ func (c *OpsWorks) DescribeTimeBasedAutoScaling(input *DescribeTimeBasedAutoScal const opDescribeUserProfiles = "DescribeUserProfiles" -// DescribeUserProfilesRequest generates a request for the DescribeUserProfiles operation. +// DescribeUserProfilesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeUserProfiles operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeUserProfiles for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeUserProfiles method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeUserProfilesRequest method. +// req, resp := client.DescribeUserProfilesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DescribeUserProfilesRequest(input *DescribeUserProfilesInput) (req *request.Request, output *DescribeUserProfilesOutput) { op := &request.Operation{ Name: opDescribeUserProfiles, @@ -1408,11 +3038,28 @@ func (c *OpsWorks) DescribeUserProfilesRequest(input *DescribeUserProfilesInput) return } +// DescribeUserProfiles API operation for AWS OpsWorks. +// // Describe specified users. // -// Required Permissions: To use this action, an IAM user must have an attached +// Required Permissions: To use this action, an IAM user must have an attached // policy that explicitly grants permissions. For more information on user permissions, // see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DescribeUserProfiles for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DescribeUserProfiles(input *DescribeUserProfilesInput) (*DescribeUserProfilesOutput, error) { req, out := c.DescribeUserProfilesRequest(input) err := req.Send() @@ -1421,7 +3068,30 @@ func (c *OpsWorks) DescribeUserProfiles(input *DescribeUserProfilesInput) (*Desc const opDescribeVolumes = "DescribeVolumes" -// DescribeVolumesRequest generates a request for the DescribeVolumes operation. +// DescribeVolumesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeVolumes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeVolumes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeVolumes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeVolumesRequest method. +// req, resp := client.DescribeVolumesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request.Request, output *DescribeVolumesOutput) { op := &request.Operation{ Name: opDescribeVolumes, @@ -1439,14 +3109,31 @@ func (c *OpsWorks) DescribeVolumesRequest(input *DescribeVolumesInput) (req *req return } +// DescribeVolumes API operation for AWS OpsWorks. +// // Describes an instance's Amazon EBS volumes. // // You must specify at least one of the parameters. // -// Required Permissions: To use this action, an IAM user must have a Show, +// Required Permissions: To use this action, an IAM user must have a Show, // Deploy, or Manage permissions level for the stack, or an attached policy // that explicitly grants permissions. For more information on user permissions, // see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DescribeVolumes for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DescribeVolumes(input *DescribeVolumesInput) (*DescribeVolumesOutput, error) { req, out := c.DescribeVolumesRequest(input) err := req.Send() @@ -1455,7 +3142,30 @@ func (c *OpsWorks) DescribeVolumes(input *DescribeVolumesInput) (*DescribeVolume const opDetachElasticLoadBalancer = "DetachElasticLoadBalancer" -// DetachElasticLoadBalancerRequest generates a request for the DetachElasticLoadBalancer operation. +// DetachElasticLoadBalancerRequest generates a "aws/request.Request" representing the +// client's request for the DetachElasticLoadBalancer operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DetachElasticLoadBalancer for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DetachElasticLoadBalancer method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DetachElasticLoadBalancerRequest method. +// req, resp := client.DetachElasticLoadBalancerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DetachElasticLoadBalancerRequest(input *DetachElasticLoadBalancerInput) (req *request.Request, output *DetachElasticLoadBalancerOutput) { op := &request.Operation{ Name: opDetachElasticLoadBalancer, @@ -1475,12 +3185,26 @@ func (c *OpsWorks) DetachElasticLoadBalancerRequest(input *DetachElasticLoadBala return } +// DetachElasticLoadBalancer API operation for AWS OpsWorks. +// // Detaches a specified Elastic Load Balancing instance from its layer. // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DetachElasticLoadBalancer for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DetachElasticLoadBalancer(input *DetachElasticLoadBalancerInput) (*DetachElasticLoadBalancerOutput, error) { req, out := c.DetachElasticLoadBalancerRequest(input) err := req.Send() @@ -1489,7 +3213,30 @@ func (c *OpsWorks) DetachElasticLoadBalancer(input *DetachElasticLoadBalancerInp const opDisassociateElasticIp = "DisassociateElasticIp" -// DisassociateElasticIpRequest generates a request for the DisassociateElasticIp operation. +// DisassociateElasticIpRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateElasticIp operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DisassociateElasticIp for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DisassociateElasticIp method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DisassociateElasticIpRequest method. +// req, resp := client.DisassociateElasticIpRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) DisassociateElasticIpRequest(input *DisassociateElasticIpInput) (req *request.Request, output *DisassociateElasticIpOutput) { op := &request.Operation{ Name: opDisassociateElasticIp, @@ -1509,14 +3256,31 @@ func (c *OpsWorks) DisassociateElasticIpRequest(input *DisassociateElasticIpInpu return } +// DisassociateElasticIp API operation for AWS OpsWorks. +// // Disassociates an Elastic IP address from its instance. The address remains // registered with the stack. For more information, see Resource Management // (http://docs.aws.amazon.com/opsworks/latest/userguide/resources.html). // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation DisassociateElasticIp for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) DisassociateElasticIp(input *DisassociateElasticIpInput) (*DisassociateElasticIpOutput, error) { req, out := c.DisassociateElasticIpRequest(input) err := req.Send() @@ -1525,7 +3289,30 @@ func (c *OpsWorks) DisassociateElasticIp(input *DisassociateElasticIpInput) (*Di const opGetHostnameSuggestion = "GetHostnameSuggestion" -// GetHostnameSuggestionRequest generates a request for the GetHostnameSuggestion operation. +// GetHostnameSuggestionRequest generates a "aws/request.Request" representing the +// client's request for the GetHostnameSuggestion operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetHostnameSuggestion for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetHostnameSuggestion method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetHostnameSuggestionRequest method. +// req, resp := client.GetHostnameSuggestionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) GetHostnameSuggestionRequest(input *GetHostnameSuggestionInput) (req *request.Request, output *GetHostnameSuggestionOutput) { op := &request.Operation{ Name: opGetHostnameSuggestion, @@ -1543,13 +3330,30 @@ func (c *OpsWorks) GetHostnameSuggestionRequest(input *GetHostnameSuggestionInpu return } +// GetHostnameSuggestion API operation for AWS OpsWorks. +// // Gets a generated host name for the specified layer, based on the current // host name theme. // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation GetHostnameSuggestion for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) GetHostnameSuggestion(input *GetHostnameSuggestionInput) (*GetHostnameSuggestionOutput, error) { req, out := c.GetHostnameSuggestionRequest(input) err := req.Send() @@ -1558,7 +3362,30 @@ func (c *OpsWorks) GetHostnameSuggestion(input *GetHostnameSuggestionInput) (*Ge const opGrantAccess = "GrantAccess" -// GrantAccessRequest generates a request for the GrantAccess operation. +// GrantAccessRequest generates a "aws/request.Request" representing the +// client's request for the GrantAccess operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GrantAccess for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GrantAccess method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GrantAccessRequest method. +// req, resp := client.GrantAccessRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) GrantAccessRequest(input *GrantAccessInput) (req *request.Request, output *GrantAccessOutput) { op := &request.Operation{ Name: opGrantAccess, @@ -1576,8 +3403,26 @@ func (c *OpsWorks) GrantAccessRequest(input *GrantAccessInput) (req *request.Req return } -// This action can be used only with Windows stacks. Grants RDP access to a -// Windows instance for a specified time period. +// GrantAccess API operation for AWS OpsWorks. +// +// This action can be used only with Windows stacks. +// +// Grants RDP access to a Windows instance for a specified time period. +// +// 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 OpsWorks's +// API operation GrantAccess for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) GrantAccess(input *GrantAccessInput) (*GrantAccessOutput, error) { req, out := c.GrantAccessRequest(input) err := req.Send() @@ -1586,7 +3431,30 @@ func (c *OpsWorks) GrantAccess(input *GrantAccessInput) (*GrantAccessOutput, err const opRebootInstance = "RebootInstance" -// RebootInstanceRequest generates a request for the RebootInstance operation. +// RebootInstanceRequest generates a "aws/request.Request" representing the +// client's request for the RebootInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RebootInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RebootInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RebootInstanceRequest method. +// req, resp := client.RebootInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) RebootInstanceRequest(input *RebootInstanceInput) (req *request.Request, output *RebootInstanceOutput) { op := &request.Operation{ Name: opRebootInstance, @@ -1606,13 +3474,30 @@ func (c *OpsWorks) RebootInstanceRequest(input *RebootInstanceInput) (req *reque return } +// RebootInstance API operation for AWS OpsWorks. +// // Reboots a specified instance. For more information, see Starting, Stopping, // and Rebooting Instances (http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-starting.html). // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation RebootInstance for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) RebootInstance(input *RebootInstanceInput) (*RebootInstanceOutput, error) { req, out := c.RebootInstanceRequest(input) err := req.Send() @@ -1621,7 +3506,30 @@ func (c *OpsWorks) RebootInstance(input *RebootInstanceInput) (*RebootInstanceOu const opRegisterEcsCluster = "RegisterEcsCluster" -// RegisterEcsClusterRequest generates a request for the RegisterEcsCluster operation. +// RegisterEcsClusterRequest generates a "aws/request.Request" representing the +// client's request for the RegisterEcsCluster operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RegisterEcsCluster for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RegisterEcsCluster method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RegisterEcsClusterRequest method. +// req, resp := client.RegisterEcsClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) RegisterEcsClusterRequest(input *RegisterEcsClusterInput) (req *request.Request, output *RegisterEcsClusterOutput) { op := &request.Operation{ Name: opRegisterEcsCluster, @@ -1639,14 +3547,31 @@ func (c *OpsWorks) RegisterEcsClusterRequest(input *RegisterEcsClusterInput) (re return } +// RegisterEcsCluster API operation for AWS OpsWorks. +// // Registers a specified Amazon ECS cluster with a stack. You can register only // one cluster with a stack. A cluster can be registered with only one stack. // For more information, see Resource Management (http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-ecscluster.html). // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation RegisterEcsCluster for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) RegisterEcsCluster(input *RegisterEcsClusterInput) (*RegisterEcsClusterOutput, error) { req, out := c.RegisterEcsClusterRequest(input) err := req.Send() @@ -1655,7 +3580,30 @@ func (c *OpsWorks) RegisterEcsCluster(input *RegisterEcsClusterInput) (*Register const opRegisterElasticIp = "RegisterElasticIp" -// RegisterElasticIpRequest generates a request for the RegisterElasticIp operation. +// RegisterElasticIpRequest generates a "aws/request.Request" representing the +// client's request for the RegisterElasticIp operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RegisterElasticIp for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RegisterElasticIp method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RegisterElasticIpRequest method. +// req, resp := client.RegisterElasticIpRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) RegisterElasticIpRequest(input *RegisterElasticIpInput) (req *request.Request, output *RegisterElasticIpOutput) { op := &request.Operation{ Name: opRegisterElasticIp, @@ -1673,15 +3621,32 @@ func (c *OpsWorks) RegisterElasticIpRequest(input *RegisterElasticIpInput) (req return } +// RegisterElasticIp API operation for AWS OpsWorks. +// // Registers an Elastic IP address with a specified stack. An address can be // registered with only one stack at a time. If the address is already registered, // you must first deregister it by calling DeregisterElasticIp. For more information, // see Resource Management (http://docs.aws.amazon.com/opsworks/latest/userguide/resources.html). // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation RegisterElasticIp for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) RegisterElasticIp(input *RegisterElasticIpInput) (*RegisterElasticIpOutput, error) { req, out := c.RegisterElasticIpRequest(input) err := req.Send() @@ -1690,7 +3655,30 @@ func (c *OpsWorks) RegisterElasticIp(input *RegisterElasticIpInput) (*RegisterEl const opRegisterInstance = "RegisterInstance" -// RegisterInstanceRequest generates a request for the RegisterInstance operation. +// RegisterInstanceRequest generates a "aws/request.Request" representing the +// client's request for the RegisterInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RegisterInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RegisterInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RegisterInstanceRequest method. +// req, resp := client.RegisterInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) RegisterInstanceRequest(input *RegisterInstanceInput) (req *request.Request, output *RegisterInstanceOutput) { op := &request.Operation{ Name: opRegisterInstance, @@ -1708,19 +3696,37 @@ func (c *OpsWorks) RegisterInstanceRequest(input *RegisterInstanceInput) (req *r return } +// RegisterInstance API operation for AWS OpsWorks. +// // Registers instances with a specified stack that were created outside of AWS // OpsWorks. // -// We do not recommend using this action to register instances. The complete +// We do not recommend using this action to register instances. The complete // registration operation has two primary steps, installing the AWS OpsWorks // agent on the instance and registering the instance with the stack. RegisterInstance // handles only the second step. You should instead use the AWS CLI register // command, which performs the entire registration operation. For more information, // see Registering an Instance with an AWS OpsWorks Stack (http://docs.aws.amazon.com/opsworks/latest/userguide/registered-instances-register.html). -// Required Permissions: To use this action, an IAM user must have a Manage +// +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation RegisterInstance for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) RegisterInstance(input *RegisterInstanceInput) (*RegisterInstanceOutput, error) { req, out := c.RegisterInstanceRequest(input) err := req.Send() @@ -1729,7 +3735,30 @@ func (c *OpsWorks) RegisterInstance(input *RegisterInstanceInput) (*RegisterInst const opRegisterRdsDbInstance = "RegisterRdsDbInstance" -// RegisterRdsDbInstanceRequest generates a request for the RegisterRdsDbInstance operation. +// RegisterRdsDbInstanceRequest generates a "aws/request.Request" representing the +// client's request for the RegisterRdsDbInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RegisterRdsDbInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RegisterRdsDbInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RegisterRdsDbInstanceRequest method. +// req, resp := client.RegisterRdsDbInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) RegisterRdsDbInstanceRequest(input *RegisterRdsDbInstanceInput) (req *request.Request, output *RegisterRdsDbInstanceOutput) { op := &request.Operation{ Name: opRegisterRdsDbInstance, @@ -1749,12 +3778,29 @@ func (c *OpsWorks) RegisterRdsDbInstanceRequest(input *RegisterRdsDbInstanceInpu return } +// RegisterRdsDbInstance API operation for AWS OpsWorks. +// // Registers an Amazon RDS instance with a stack. // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation RegisterRdsDbInstance for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) RegisterRdsDbInstance(input *RegisterRdsDbInstanceInput) (*RegisterRdsDbInstanceOutput, error) { req, out := c.RegisterRdsDbInstanceRequest(input) err := req.Send() @@ -1763,7 +3809,30 @@ func (c *OpsWorks) RegisterRdsDbInstance(input *RegisterRdsDbInstanceInput) (*Re const opRegisterVolume = "RegisterVolume" -// RegisterVolumeRequest generates a request for the RegisterVolume operation. +// RegisterVolumeRequest generates a "aws/request.Request" representing the +// client's request for the RegisterVolume operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RegisterVolume for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RegisterVolume method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RegisterVolumeRequest method. +// req, resp := client.RegisterVolumeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) RegisterVolumeRequest(input *RegisterVolumeInput) (req *request.Request, output *RegisterVolumeOutput) { op := &request.Operation{ Name: opRegisterVolume, @@ -1781,15 +3850,32 @@ func (c *OpsWorks) RegisterVolumeRequest(input *RegisterVolumeInput) (req *reque return } +// RegisterVolume API operation for AWS OpsWorks. +// // Registers an Amazon EBS volume with a specified stack. A volume can be registered // with only one stack at a time. If the volume is already registered, you must // first deregister it by calling DeregisterVolume. For more information, see // Resource Management (http://docs.aws.amazon.com/opsworks/latest/userguide/resources.html). // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation RegisterVolume for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) RegisterVolume(input *RegisterVolumeInput) (*RegisterVolumeOutput, error) { req, out := c.RegisterVolumeRequest(input) err := req.Send() @@ -1798,7 +3884,30 @@ func (c *OpsWorks) RegisterVolume(input *RegisterVolumeInput) (*RegisterVolumeOu const opSetLoadBasedAutoScaling = "SetLoadBasedAutoScaling" -// SetLoadBasedAutoScalingRequest generates a request for the SetLoadBasedAutoScaling operation. +// SetLoadBasedAutoScalingRequest generates a "aws/request.Request" representing the +// client's request for the SetLoadBasedAutoScaling operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetLoadBasedAutoScaling for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetLoadBasedAutoScaling method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetLoadBasedAutoScalingRequest method. +// req, resp := client.SetLoadBasedAutoScalingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) SetLoadBasedAutoScalingRequest(input *SetLoadBasedAutoScalingInput) (req *request.Request, output *SetLoadBasedAutoScalingOutput) { op := &request.Operation{ Name: opSetLoadBasedAutoScaling, @@ -1818,6 +3927,8 @@ func (c *OpsWorks) SetLoadBasedAutoScalingRequest(input *SetLoadBasedAutoScaling return } +// SetLoadBasedAutoScaling API operation for AWS OpsWorks. +// // Specify the load-based auto scaling configuration for a specified layer. // For more information, see Managing Load with Time-based and Load-based Instances // (http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-autoscaling.html). @@ -1827,10 +3938,25 @@ func (c *OpsWorks) SetLoadBasedAutoScalingRequest(input *SetLoadBasedAutoScaling // from that set, so you must ensure that you have created enough instances // to handle the maximum anticipated load. // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation SetLoadBasedAutoScaling for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) SetLoadBasedAutoScaling(input *SetLoadBasedAutoScalingInput) (*SetLoadBasedAutoScalingOutput, error) { req, out := c.SetLoadBasedAutoScalingRequest(input) err := req.Send() @@ -1839,7 +3965,30 @@ func (c *OpsWorks) SetLoadBasedAutoScaling(input *SetLoadBasedAutoScalingInput) const opSetPermission = "SetPermission" -// SetPermissionRequest generates a request for the SetPermission operation. +// SetPermissionRequest generates a "aws/request.Request" representing the +// client's request for the SetPermission operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetPermission for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetPermission method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetPermissionRequest method. +// req, resp := client.SetPermissionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) SetPermissionRequest(input *SetPermissionInput) (req *request.Request, output *SetPermissionOutput) { op := &request.Operation{ Name: opSetPermission, @@ -1859,13 +4008,30 @@ func (c *OpsWorks) SetPermissionRequest(input *SetPermissionInput) (req *request return } +// SetPermission API operation for AWS OpsWorks. +// // Specifies a user's permissions. For more information, see Security and Permissions // (http://docs.aws.amazon.com/opsworks/latest/userguide/workingsecurity.html). // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation SetPermission for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) SetPermission(input *SetPermissionInput) (*SetPermissionOutput, error) { req, out := c.SetPermissionRequest(input) err := req.Send() @@ -1874,7 +4040,30 @@ func (c *OpsWorks) SetPermission(input *SetPermissionInput) (*SetPermissionOutpu const opSetTimeBasedAutoScaling = "SetTimeBasedAutoScaling" -// SetTimeBasedAutoScalingRequest generates a request for the SetTimeBasedAutoScaling operation. +// SetTimeBasedAutoScalingRequest generates a "aws/request.Request" representing the +// client's request for the SetTimeBasedAutoScaling operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetTimeBasedAutoScaling for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetTimeBasedAutoScaling method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetTimeBasedAutoScalingRequest method. +// req, resp := client.SetTimeBasedAutoScalingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) SetTimeBasedAutoScalingRequest(input *SetTimeBasedAutoScalingInput) (req *request.Request, output *SetTimeBasedAutoScalingOutput) { op := &request.Operation{ Name: opSetTimeBasedAutoScaling, @@ -1894,14 +4083,31 @@ func (c *OpsWorks) SetTimeBasedAutoScalingRequest(input *SetTimeBasedAutoScaling return } +// SetTimeBasedAutoScaling API operation for AWS OpsWorks. +// // Specify the time-based auto scaling configuration for a specified instance. // For more information, see Managing Load with Time-based and Load-based Instances // (http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-autoscaling.html). // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation SetTimeBasedAutoScaling for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) SetTimeBasedAutoScaling(input *SetTimeBasedAutoScalingInput) (*SetTimeBasedAutoScalingOutput, error) { req, out := c.SetTimeBasedAutoScalingRequest(input) err := req.Send() @@ -1910,7 +4116,30 @@ func (c *OpsWorks) SetTimeBasedAutoScaling(input *SetTimeBasedAutoScalingInput) const opStartInstance = "StartInstance" -// StartInstanceRequest generates a request for the StartInstance operation. +// StartInstanceRequest generates a "aws/request.Request" representing the +// client's request for the StartInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See StartInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the StartInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the StartInstanceRequest method. +// req, resp := client.StartInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) StartInstanceRequest(input *StartInstanceInput) (req *request.Request, output *StartInstanceOutput) { op := &request.Operation{ Name: opStartInstance, @@ -1930,13 +4159,30 @@ func (c *OpsWorks) StartInstanceRequest(input *StartInstanceInput) (req *request return } +// StartInstance API operation for AWS OpsWorks. +// // Starts a specified instance. For more information, see Starting, Stopping, // and Rebooting Instances (http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-starting.html). // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation StartInstance for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) StartInstance(input *StartInstanceInput) (*StartInstanceOutput, error) { req, out := c.StartInstanceRequest(input) err := req.Send() @@ -1945,7 +4191,30 @@ func (c *OpsWorks) StartInstance(input *StartInstanceInput) (*StartInstanceOutpu const opStartStack = "StartStack" -// StartStackRequest generates a request for the StartStack operation. +// StartStackRequest generates a "aws/request.Request" representing the +// client's request for the StartStack operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See StartStack for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the StartStack method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the StartStackRequest method. +// req, resp := client.StartStackRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) StartStackRequest(input *StartStackInput) (req *request.Request, output *StartStackOutput) { op := &request.Operation{ Name: opStartStack, @@ -1965,12 +4234,29 @@ func (c *OpsWorks) StartStackRequest(input *StartStackInput) (req *request.Reque return } +// StartStack API operation for AWS OpsWorks. +// // Starts a stack's instances. // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation StartStack for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) StartStack(input *StartStackInput) (*StartStackOutput, error) { req, out := c.StartStackRequest(input) err := req.Send() @@ -1979,7 +4265,30 @@ func (c *OpsWorks) StartStack(input *StartStackInput) (*StartStackOutput, error) const opStopInstance = "StopInstance" -// StopInstanceRequest generates a request for the StopInstance operation. +// StopInstanceRequest generates a "aws/request.Request" representing the +// client's request for the StopInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See StopInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the StopInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the StopInstanceRequest method. +// req, resp := client.StopInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) StopInstanceRequest(input *StopInstanceInput) (req *request.Request, output *StopInstanceOutput) { op := &request.Operation{ Name: opStopInstance, @@ -1999,15 +4308,32 @@ func (c *OpsWorks) StopInstanceRequest(input *StopInstanceInput) (req *request.R return } +// StopInstance API operation for AWS OpsWorks. +// // Stops a specified instance. When you stop a standard instance, the data disappears // and must be reinstalled when you restart the instance. You can stop an Amazon // EBS-backed instance without losing data. For more information, see Starting, // Stopping, and Rebooting Instances (http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-starting.html). // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation StopInstance for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) StopInstance(input *StopInstanceInput) (*StopInstanceOutput, error) { req, out := c.StopInstanceRequest(input) err := req.Send() @@ -2016,7 +4342,30 @@ func (c *OpsWorks) StopInstance(input *StopInstanceInput) (*StopInstanceOutput, const opStopStack = "StopStack" -// StopStackRequest generates a request for the StopStack operation. +// StopStackRequest generates a "aws/request.Request" representing the +// client's request for the StopStack operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See StopStack for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the StopStack method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the StopStackRequest method. +// req, resp := client.StopStackRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) StopStackRequest(input *StopStackInput) (req *request.Request, output *StopStackOutput) { op := &request.Operation{ Name: opStopStack, @@ -2036,12 +4385,29 @@ func (c *OpsWorks) StopStackRequest(input *StopStackInput) (req *request.Request return } +// StopStack API operation for AWS OpsWorks. +// // Stops a specified stack. // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation StopStack for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) StopStack(input *StopStackInput) (*StopStackOutput, error) { req, out := c.StopStackRequest(input) err := req.Send() @@ -2050,7 +4416,30 @@ func (c *OpsWorks) StopStack(input *StopStackInput) (*StopStackOutput, error) { const opUnassignInstance = "UnassignInstance" -// UnassignInstanceRequest generates a request for the UnassignInstance operation. +// UnassignInstanceRequest generates a "aws/request.Request" representing the +// client's request for the UnassignInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UnassignInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UnassignInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UnassignInstanceRequest method. +// req, resp := client.UnassignInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) UnassignInstanceRequest(input *UnassignInstanceInput) (req *request.Request, output *UnassignInstanceOutput) { op := &request.Operation{ Name: opUnassignInstance, @@ -2070,15 +4459,32 @@ func (c *OpsWorks) UnassignInstanceRequest(input *UnassignInstanceInput) (req *r return } +// UnassignInstance API operation for AWS OpsWorks. +// // Unassigns a registered instance from all of it's layers. The instance remains // in the stack as an unassigned instance and can be assigned to another layer, // as needed. You cannot use this action with instances that were created with // AWS OpsWorks. // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation UnassignInstance for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) UnassignInstance(input *UnassignInstanceInput) (*UnassignInstanceOutput, error) { req, out := c.UnassignInstanceRequest(input) err := req.Send() @@ -2087,7 +4493,30 @@ func (c *OpsWorks) UnassignInstance(input *UnassignInstanceInput) (*UnassignInst const opUnassignVolume = "UnassignVolume" -// UnassignVolumeRequest generates a request for the UnassignVolume operation. +// UnassignVolumeRequest generates a "aws/request.Request" representing the +// client's request for the UnassignVolume operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UnassignVolume for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UnassignVolume method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UnassignVolumeRequest method. +// req, resp := client.UnassignVolumeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) UnassignVolumeRequest(input *UnassignVolumeInput) (req *request.Request, output *UnassignVolumeOutput) { op := &request.Operation{ Name: opUnassignVolume, @@ -2107,13 +4536,30 @@ func (c *OpsWorks) UnassignVolumeRequest(input *UnassignVolumeInput) (req *reque return } +// UnassignVolume API operation for AWS OpsWorks. +// // Unassigns an assigned Amazon EBS volume. The volume remains registered with // the stack. For more information, see Resource Management (http://docs.aws.amazon.com/opsworks/latest/userguide/resources.html). // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation UnassignVolume for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) UnassignVolume(input *UnassignVolumeInput) (*UnassignVolumeOutput, error) { req, out := c.UnassignVolumeRequest(input) err := req.Send() @@ -2122,7 +4568,30 @@ func (c *OpsWorks) UnassignVolume(input *UnassignVolumeInput) (*UnassignVolumeOu const opUpdateApp = "UpdateApp" -// UpdateAppRequest generates a request for the UpdateApp operation. +// UpdateAppRequest generates a "aws/request.Request" representing the +// client's request for the UpdateApp operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateApp for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateApp method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateAppRequest method. +// req, resp := client.UpdateAppRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) UpdateAppRequest(input *UpdateAppInput) (req *request.Request, output *UpdateAppOutput) { op := &request.Operation{ Name: opUpdateApp, @@ -2142,12 +4611,29 @@ func (c *OpsWorks) UpdateAppRequest(input *UpdateAppInput) (req *request.Request return } +// UpdateApp API operation for AWS OpsWorks. +// // Updates a specified app. // -// Required Permissions: To use this action, an IAM user must have a Deploy +// Required Permissions: To use this action, an IAM user must have a Deploy // or Manage permissions level for the stack, or an attached policy that explicitly // grants permissions. For more information on user permissions, see Managing // User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation UpdateApp for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) UpdateApp(input *UpdateAppInput) (*UpdateAppOutput, error) { req, out := c.UpdateAppRequest(input) err := req.Send() @@ -2156,7 +4642,30 @@ func (c *OpsWorks) UpdateApp(input *UpdateAppInput) (*UpdateAppOutput, error) { const opUpdateElasticIp = "UpdateElasticIp" -// UpdateElasticIpRequest generates a request for the UpdateElasticIp operation. +// UpdateElasticIpRequest generates a "aws/request.Request" representing the +// client's request for the UpdateElasticIp operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateElasticIp for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateElasticIp method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateElasticIpRequest method. +// req, resp := client.UpdateElasticIpRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) UpdateElasticIpRequest(input *UpdateElasticIpInput) (req *request.Request, output *UpdateElasticIpOutput) { op := &request.Operation{ Name: opUpdateElasticIp, @@ -2176,13 +4685,30 @@ func (c *OpsWorks) UpdateElasticIpRequest(input *UpdateElasticIpInput) (req *req return } +// UpdateElasticIp API operation for AWS OpsWorks. +// // Updates a registered Elastic IP address's name. For more information, see // Resource Management (http://docs.aws.amazon.com/opsworks/latest/userguide/resources.html). // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation UpdateElasticIp for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) UpdateElasticIp(input *UpdateElasticIpInput) (*UpdateElasticIpOutput, error) { req, out := c.UpdateElasticIpRequest(input) err := req.Send() @@ -2191,7 +4717,30 @@ func (c *OpsWorks) UpdateElasticIp(input *UpdateElasticIpInput) (*UpdateElasticI const opUpdateInstance = "UpdateInstance" -// UpdateInstanceRequest generates a request for the UpdateInstance operation. +// UpdateInstanceRequest generates a "aws/request.Request" representing the +// client's request for the UpdateInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateInstanceRequest method. +// req, resp := client.UpdateInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) UpdateInstanceRequest(input *UpdateInstanceInput) (req *request.Request, output *UpdateInstanceOutput) { op := &request.Operation{ Name: opUpdateInstance, @@ -2211,12 +4760,29 @@ func (c *OpsWorks) UpdateInstanceRequest(input *UpdateInstanceInput) (req *reque return } +// UpdateInstance API operation for AWS OpsWorks. +// // Updates a specified instance. // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation UpdateInstance for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) UpdateInstance(input *UpdateInstanceInput) (*UpdateInstanceOutput, error) { req, out := c.UpdateInstanceRequest(input) err := req.Send() @@ -2225,7 +4791,30 @@ func (c *OpsWorks) UpdateInstance(input *UpdateInstanceInput) (*UpdateInstanceOu const opUpdateLayer = "UpdateLayer" -// UpdateLayerRequest generates a request for the UpdateLayer operation. +// UpdateLayerRequest generates a "aws/request.Request" representing the +// client's request for the UpdateLayer operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateLayer for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateLayer method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateLayerRequest method. +// req, resp := client.UpdateLayerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) UpdateLayerRequest(input *UpdateLayerInput) (req *request.Request, output *UpdateLayerOutput) { op := &request.Operation{ Name: opUpdateLayer, @@ -2245,12 +4834,29 @@ func (c *OpsWorks) UpdateLayerRequest(input *UpdateLayerInput) (req *request.Req return } +// UpdateLayer API operation for AWS OpsWorks. +// // Updates a specified layer. // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation UpdateLayer for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) UpdateLayer(input *UpdateLayerInput) (*UpdateLayerOutput, error) { req, out := c.UpdateLayerRequest(input) err := req.Send() @@ -2259,7 +4865,30 @@ func (c *OpsWorks) UpdateLayer(input *UpdateLayerInput) (*UpdateLayerOutput, err const opUpdateMyUserProfile = "UpdateMyUserProfile" -// UpdateMyUserProfileRequest generates a request for the UpdateMyUserProfile operation. +// UpdateMyUserProfileRequest generates a "aws/request.Request" representing the +// client's request for the UpdateMyUserProfile operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateMyUserProfile for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateMyUserProfile method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateMyUserProfileRequest method. +// req, resp := client.UpdateMyUserProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) UpdateMyUserProfileRequest(input *UpdateMyUserProfileInput) (req *request.Request, output *UpdateMyUserProfileOutput) { op := &request.Operation{ Name: opUpdateMyUserProfile, @@ -2279,11 +4908,25 @@ func (c *OpsWorks) UpdateMyUserProfileRequest(input *UpdateMyUserProfileInput) ( return } +// UpdateMyUserProfile API operation for AWS OpsWorks. +// // Updates a user's SSH public key. // -// Required Permissions: To use this action, an IAM user must have self-management +// Required Permissions: To use this action, an IAM user must have self-management // enabled or an attached policy that explicitly grants permissions. For more // information on user permissions, see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation UpdateMyUserProfile for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// func (c *OpsWorks) UpdateMyUserProfile(input *UpdateMyUserProfileInput) (*UpdateMyUserProfileOutput, error) { req, out := c.UpdateMyUserProfileRequest(input) err := req.Send() @@ -2292,7 +4935,30 @@ func (c *OpsWorks) UpdateMyUserProfile(input *UpdateMyUserProfileInput) (*Update const opUpdateRdsDbInstance = "UpdateRdsDbInstance" -// UpdateRdsDbInstanceRequest generates a request for the UpdateRdsDbInstance operation. +// UpdateRdsDbInstanceRequest generates a "aws/request.Request" representing the +// client's request for the UpdateRdsDbInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateRdsDbInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateRdsDbInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateRdsDbInstanceRequest method. +// req, resp := client.UpdateRdsDbInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) UpdateRdsDbInstanceRequest(input *UpdateRdsDbInstanceInput) (req *request.Request, output *UpdateRdsDbInstanceOutput) { op := &request.Operation{ Name: opUpdateRdsDbInstance, @@ -2312,12 +4978,29 @@ func (c *OpsWorks) UpdateRdsDbInstanceRequest(input *UpdateRdsDbInstanceInput) ( return } +// UpdateRdsDbInstance API operation for AWS OpsWorks. +// // Updates an Amazon RDS instance. // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation UpdateRdsDbInstance for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) UpdateRdsDbInstance(input *UpdateRdsDbInstanceInput) (*UpdateRdsDbInstanceOutput, error) { req, out := c.UpdateRdsDbInstanceRequest(input) err := req.Send() @@ -2326,7 +5009,30 @@ func (c *OpsWorks) UpdateRdsDbInstance(input *UpdateRdsDbInstanceInput) (*Update const opUpdateStack = "UpdateStack" -// UpdateStackRequest generates a request for the UpdateStack operation. +// UpdateStackRequest generates a "aws/request.Request" representing the +// client's request for the UpdateStack operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateStack for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateStack method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateStackRequest method. +// req, resp := client.UpdateStackRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) UpdateStackRequest(input *UpdateStackInput) (req *request.Request, output *UpdateStackOutput) { op := &request.Operation{ Name: opUpdateStack, @@ -2346,12 +5052,29 @@ func (c *OpsWorks) UpdateStackRequest(input *UpdateStackInput) (req *request.Req return } +// UpdateStack API operation for AWS OpsWorks. +// // Updates a specified stack. // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation UpdateStack for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) UpdateStack(input *UpdateStackInput) (*UpdateStackOutput, error) { req, out := c.UpdateStackRequest(input) err := req.Send() @@ -2360,7 +5083,30 @@ func (c *OpsWorks) UpdateStack(input *UpdateStackInput) (*UpdateStackOutput, err const opUpdateUserProfile = "UpdateUserProfile" -// UpdateUserProfileRequest generates a request for the UpdateUserProfile operation. +// UpdateUserProfileRequest generates a "aws/request.Request" representing the +// client's request for the UpdateUserProfile operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateUserProfile for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateUserProfile method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateUserProfileRequest method. +// req, resp := client.UpdateUserProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) UpdateUserProfileRequest(input *UpdateUserProfileInput) (req *request.Request, output *UpdateUserProfileOutput) { op := &request.Operation{ Name: opUpdateUserProfile, @@ -2380,11 +5126,28 @@ func (c *OpsWorks) UpdateUserProfileRequest(input *UpdateUserProfileInput) (req return } +// UpdateUserProfile API operation for AWS OpsWorks. +// // Updates a specified user profile. // -// Required Permissions: To use this action, an IAM user must have an attached +// Required Permissions: To use this action, an IAM user must have an attached // policy that explicitly grants permissions. For more information on user permissions, // see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation UpdateUserProfile for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) UpdateUserProfile(input *UpdateUserProfileInput) (*UpdateUserProfileOutput, error) { req, out := c.UpdateUserProfileRequest(input) err := req.Send() @@ -2393,7 +5156,30 @@ func (c *OpsWorks) UpdateUserProfile(input *UpdateUserProfileInput) (*UpdateUser const opUpdateVolume = "UpdateVolume" -// UpdateVolumeRequest generates a request for the UpdateVolume operation. +// UpdateVolumeRequest generates a "aws/request.Request" representing the +// client's request for the UpdateVolume operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateVolume for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateVolume method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateVolumeRequest method. +// req, resp := client.UpdateVolumeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *OpsWorks) UpdateVolumeRequest(input *UpdateVolumeInput) (req *request.Request, output *UpdateVolumeOutput) { op := &request.Operation{ Name: opUpdateVolume, @@ -2413,13 +5199,30 @@ func (c *OpsWorks) UpdateVolumeRequest(input *UpdateVolumeInput) (req *request.R return } +// UpdateVolume API operation for AWS OpsWorks. +// // Updates an Amazon EBS volume's name or mount point. For more information, // see Resource Management (http://docs.aws.amazon.com/opsworks/latest/userguide/resources.html). // -// Required Permissions: To use this action, an IAM user must have a Manage +// Required Permissions: To use this action, an IAM user must have a Manage // permissions level for the stack, or an attached policy that explicitly grants // permissions. For more information on user permissions, see Managing User // Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.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. +// +// See the AWS API reference guide for AWS OpsWorks's +// API operation UpdateVolume for usage and error information. +// +// Returned Error Codes: +// * ValidationException +// Indicates that a request was not valid. +// +// * ResourceNotFoundException +// Indicates that a resource was not found. +// func (c *OpsWorks) UpdateVolume(input *UpdateVolumeInput) (*UpdateVolumeOutput, error) { req, out := c.UpdateVolumeRequest(input) err := req.Send() @@ -2482,9 +5285,9 @@ type App struct { // see Environment Variables (http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-creating-environment). // // There is no specific limit on the number of environment variables. However, - // the size of the associated data structure - which includes the variables' - // names, values, and protected flag values - cannot exceed 10 KB (10240 Bytes). - // This limit should accommodate most if not all use cases, but if you do exceed + // the size of the associated data structure - which includes the variable names, + // values, and protected flag values - cannot exceed 10 KB (10240 Bytes). This + // limit should accommodate most if not all use cases, but if you do exceed // it, you will cause an exception (API) with an "Environment: is too large // (maximum is 10KB)" message. Environment []*EnvironmentVariable `type:"list"` @@ -2519,10 +5322,14 @@ type AssignInstanceInput struct { _ struct{} `type:"structure"` // The instance ID. + // + // InstanceId is a required field InstanceId *string `type:"string" required:"true"` // The layer ID, which must correspond to a custom layer. You cannot assign // a registered instance to a built-in layer. + // + // LayerIds is a required field LayerIds []*string `type:"list" required:"true"` } @@ -2573,6 +5380,8 @@ type AssignVolumeInput struct { InstanceId *string `type:"string"` // The volume ID. + // + // VolumeId is a required field VolumeId *string `type:"string" required:"true"` } @@ -2617,6 +5426,8 @@ type AssociateElasticIpInput struct { _ struct{} `type:"structure"` // The Elastic IP address. + // + // ElasticIp is a required field ElasticIp *string `type:"string" required:"true"` // The instance ID. @@ -2664,10 +5475,14 @@ type AttachElasticLoadBalancerInput struct { _ struct{} `type:"structure"` // The Elastic Load Balancing instance's name. + // + // ElasticLoadBalancerName is a required field ElasticLoadBalancerName *string `type:"string" required:"true"` // The ID of the layer that the Elastic Load Balancing instance is to be attached // to. + // + // LayerId is a required field LayerId *string `type:"string" required:"true"` } @@ -2720,7 +5535,7 @@ type AutoScalingThresholds struct { // takes a list of up to five alarm names, which are case sensitive and must // be in the same region as the stack. // - // To use custom alarms, you must update your service role to allow cloudwatch:DescribeAlarms. + // To use custom alarms, you must update your service role to allow cloudwatch:DescribeAlarms. // You can either have AWS OpsWorks update the role for you when you first use // this feature or you can edit the role manually. For more information, see // Allowing AWS OpsWorks to Act on Your Behalf (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-servicerole.html). @@ -2840,16 +5655,20 @@ type CloneStackInput struct { // The default AWS OpsWorks agent version. You have the following options: // - // Auto-update - Set this parameter to LATEST. AWS OpsWorks automatically + // Auto-update - Set this parameter to LATEST. AWS OpsWorks automatically // installs new agent versions on the stack's instances as soon as they are - // available. Fixed version - Set this parameter to your preferred agent version. - // To update the agent version, you must edit the stack configuration and specify + // available. + // + // Fixed version - Set this parameter to your preferred agent version. To + // update the agent version, you must edit the stack configuration and specify // a new version. AWS OpsWorks then automatically installs that version on the - // stack's instances. The default setting is LATEST. To specify an agent version, - // you must use the complete version number, not the abbreviated number shown - // on the console. For a list of available agent version numbers, call DescribeAgentVersions. + // stack's instances. + // + // The default setting is LATEST. To specify an agent version, you must use + // the complete version number, not the abbreviated number shown on the console. + // For a list of available agent version numbers, call DescribeAgentVersions. // - // You can also specify an agent version when you create or update an instance, + // You can also specify an agent version when you create or update an instance, // which overrides the stack's default setting. AgentVersion *string `type:"string"` @@ -2871,7 +5690,7 @@ type CloneStackInput struct { // The configuration manager. When you clone a stack we recommend that you use // the configuration manager to specify the Chef version: 12, 11.10, or 11.4 // for Linux stacks, or 12.2 for Windows stacks. The default value for Linux - // stacks is currently 11.4. + // stacks is currently 12. ConfigurationManager *StackConfigurationManager `type:"structure"` // Contains the information required to retrieve an app or cookbook from a repository. @@ -2881,7 +5700,7 @@ type CloneStackInput struct { // A string that contains user-defined, custom JSON. It is used to override // the corresponding default stack configuration JSON values. The string should - // be in the following format and must escape characters such as '"': + // be in the following format: // // "{\"key1\": \"value1\", \"key2\": \"value2\",...}" // @@ -2902,15 +5721,28 @@ type CloneStackInput struct { // The stack's operating system, which must be set to one of the following. // - // A supported Linux operating system: An Amazon Linux version, such as Amazon - // Linux 2015.03, Red Hat Enterprise Linux 7, Ubuntu 12.04 LTS, or Ubuntu 14.04 - // LTS. Microsoft Windows Server 2012 R2 Base. A custom AMI: Custom. You specify - // the custom AMI you want to use when you create instances. For more information - // on how to use custom AMIs with OpsWorks, see Using Custom AMIs (http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html). - // The default option is the parent stack's operating system. For more information + // A supported Linux operating system: An Amazon Linux version, such as Amazon + // Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03. + // + // A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu + // 14.04 LTS, or Ubuntu 12.04 LTS. + // + // CentOS 7 + // + // Red Hat Enterprise Linux 7 + // + // Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 + // R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server + // Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web. + // + // A custom AMI: Custom. You specify the custom AMI you want to use when + // you create instances. For more information on how to use custom AMIs with + // OpsWorks, see Using Custom AMIs (http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html). + // + // The default option is the parent stack's operating system. For more information // on the supported operating systems, see AWS OpsWorks Operating Systems (http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html). // - // You can specify a different Linux operating system for the cloned stack, + // You can specify a different Linux operating system for the cloned stack, // but you cannot change from Linux to Windows or Windows to Linux. DefaultOs *string `type:"string"` @@ -2941,8 +5773,28 @@ type CloneStackInput struct { // HostnameTheme is set to Layer_Dependent, which creates host names by appending // integers to the layer's short name. The other themes are: // - // Baked_Goods Clouds Europe_Cities Fruits Greek_Deities Legendary_creatures_from_Japan - // Planets_and_Moons Roman_Deities Scottish_Islands US_Cities Wild_Cats + // Baked_Goods + // + // Clouds + // + // Europe_Cities + // + // Fruits + // + // Greek_Deities + // + // Legendary_creatures_from_Japan + // + // Planets_and_Moons + // + // Roman_Deities + // + // Scottish_Islands + // + // US_Cities + // + // Wild_Cats + // // To obtain a generated host name, call GetHostNameSuggestion, which returns // a host name based on the current theme. HostnameTheme *string `type:"string"` @@ -2950,8 +5802,8 @@ type CloneStackInput struct { // The cloned stack name. Name *string `type:"string"` - // The cloned stack AWS region, such as "us-east-1". For more information about - // AWS regions, see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html). + // The cloned stack AWS region, such as "ap-northeast-2". For more information + // about AWS regions, see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html). Region *string `type:"string"` // The stack AWS Identity and Access Management (IAM) role, which allows AWS @@ -2964,9 +5816,13 @@ type CloneStackInput struct { // You must set this parameter to a valid service role ARN or the action will // fail; there is no default value. You can specify the source stack's service // role ARN, if you prefer, but you must do so explicitly. + // + // ServiceRoleArn is a required field ServiceRoleArn *string `type:"string" required:"true"` // The source stack ID. + // + // SourceStackId is a required field SourceStackId *string `type:"string" required:"true"` // Whether to use custom cookbooks. @@ -2980,36 +5836,44 @@ type CloneStackInput struct { // you can instead provide your own custom security groups. UseOpsworksSecurityGroups // has the following settings: // - // True - AWS OpsWorks automatically associates the appropriate built-in security - // group with each layer (default setting). You can associate additional security - // groups with a layer after you create it but you cannot delete the built-in - // security group. False - AWS OpsWorks does not associate built-in security - // groups with layers. You must create appropriate Amazon Elastic Compute Cloud - // (Amazon EC2) security groups and associate a security group with each layer - // that you create. However, you can still manually associate a built-in security + // True - AWS OpsWorks automatically associates the appropriate built-in + // security group with each layer (default setting). You can associate additional + // security groups with a layer after you create it but you cannot delete the + // built-in security group. + // + // False - AWS OpsWorks does not associate built-in security groups with + // layers. You must create appropriate Amazon Elastic Compute Cloud (Amazon + // EC2) security groups and associate a security group with each layer that + // you create. However, you can still manually associate a built-in security // group with a layer on creation; custom security groups are required only - // for those layers that need custom settings. For more information, see Create - // a New Stack (http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html). + // for those layers that need custom settings. + // + // For more information, see Create a New Stack (http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html). UseOpsworksSecurityGroups *bool `type:"boolean"` // The ID of the VPC that the cloned stack is to be launched into. It must be // in the specified region. All instances are launched into this VPC, and you // cannot change the ID later. // - // If your account supports EC2 Classic, the default value is no VPC. If your - // account does not support EC2 Classic, the default value is the default VPC - // for the specified region. If the VPC ID corresponds to a default VPC and - // you have specified either the DefaultAvailabilityZone or the DefaultSubnetId - // parameter only, AWS OpsWorks infers the value of the other parameter. If - // you specify neither parameter, AWS OpsWorks sets these parameters to the - // first valid Availability Zone for the specified region and the corresponding - // default VPC subnet ID, respectively. + // If your account supports EC2 Classic, the default value is no VPC. + // + // If your account does not support EC2 Classic, the default value is the + // default VPC for the specified region. + // + // If the VPC ID corresponds to a default VPC and you have specified either + // the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks + // infers the value of the other parameter. If you specify neither parameter, + // AWS OpsWorks sets these parameters to the first valid Availability Zone for + // the specified region and the corresponding default VPC subnet ID, respectively. // // If you specify a nondefault VPC ID, note the following: // - // It must belong to a VPC in your account that is in the specified region. - // You must specify a value for DefaultSubnetId. For more information on how - // to use AWS OpsWorks with a VPC, see Running a Stack in a VPC (http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-vpc.html). + // It must belong to a VPC in your account that is in the specified region. + // + // You must specify a value for DefaultSubnetId. + // + // For more information on how to use AWS OpsWorks with a VPC, see Running + // a Stack in a VPC (http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-vpc.html). // For more information on default VPC and EC2 Classic, see Supported Platforms // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html). VpcId *string `type:"string"` @@ -3089,13 +5953,36 @@ type Command struct { // The command status: // - // failed successful skipped pending + // failed + // + // successful + // + // skipped + // + // pending Status *string `type:"string"` // The command type: // - // deploy rollback start stop restart undeploy update_dependencies - // install_dependencies update_custom_cookbooks execute_recipes + // deploy + // + // rollback + // + // start + // + // stop + // + // restart + // + // undeploy + // + // update_dependencies + // + // install_dependencies + // + // update_custom_cookbooks + // + // execute_recipes Type *string `type:"string"` } @@ -3136,18 +6023,20 @@ type CreateAppInput struct { // are defined on the associated app server instance. For more information, // see Environment Variables (http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-creating-environment). // - // There is no specific limit on the number of environment variables. However, + // There is no specific limit on the number of environment variables. However, // the size of the associated data structure - which includes the variables' // names, values, and protected flag values - cannot exceed 10 KB (10240 Bytes). // This limit should accommodate most if not all use cases. Exceeding it will // cause an exception with the message, "Environment: is too large (maximum // is 10KB)." // - // This parameter is supported only by Chef 11.10 stacks. If you have specified + // This parameter is supported only by Chef 11.10 stacks. If you have specified // one or more environment variables, you cannot modify the stack's Chef version. Environment []*EnvironmentVariable `type:"list"` // The app name. + // + // Name is a required field Name *string `type:"string" required:"true"` // The app's short name. @@ -3157,6 +6046,8 @@ type CreateAppInput struct { SslConfiguration *SslConfiguration `type:"structure"` // The stack ID. + // + // StackId is a required field StackId *string `type:"string" required:"true"` // The app type. Each supported type is associated with a particular layer. @@ -3164,6 +6055,8 @@ type CreateAppInput struct { // deploys an application to those instances that are members of the corresponding // layer. If your app isn't one of the standard types, or you prefer to implement // your own Deploy recipes, specify other. + // + // Type is a required field Type *string `type:"string" required:"true" enum:"AppType"` } @@ -3238,6 +6131,8 @@ type CreateDeploymentInput struct { // A DeploymentCommand object that specifies the deployment command and any // associated arguments. + // + // Command is a required field Command *DeploymentCommand `type:"structure" required:"true"` // A user-defined comment. @@ -3245,7 +6140,7 @@ type CreateDeploymentInput struct { // A string that contains user-defined, custom JSON. It is used to override // the corresponding default stack configuration JSON values. The string should - // be in the following format and must escape characters such as '"': + // be in the following format: // // "{\"key1\": \"value1\", \"key2\": \"value2\",...}" // @@ -3260,6 +6155,8 @@ type CreateDeploymentInput struct { LayerIds []*string `type:"list"` // The stack ID. + // + // StackId is a required field StackId *string `type:"string" required:"true"` } @@ -3318,20 +6215,23 @@ type CreateInstanceInput struct { // The default AWS OpsWorks agent version. You have the following options: // - // INHERIT - Use the stack's default agent version setting. version_number - // - Use the specified agent version. This value overrides the stack's default - // setting. To update the agent version, edit the instance configuration and - // specify a new version. AWS OpsWorks then automatically installs that version - // on the instance. The default setting is INHERIT. To specify an agent version, - // you must use the complete version number, not the abbreviated number shown - // on the console. For a list of available agent version numbers, call DescribeAgentVersions. + // INHERIT - Use the stack's default agent version setting. + // + // version_number - Use the specified agent version. This value overrides + // the stack's default setting. To update the agent version, edit the instance + // configuration and specify a new version. AWS OpsWorks then automatically + // installs that version on the instance. + // + // The default setting is INHERIT. To specify an agent version, you must + // use the complete version number, not the abbreviated number shown on the + // console. For a list of available agent version numbers, call DescribeAgentVersions. AgentVersion *string `type:"string"` // A custom AMI ID to be used to create the instance. The AMI should be based // on one of the supported operating systems. For more information, see Using // Custom AMIs (http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html). // - // If you specify a custom AMI, you must set Os to Custom. + // If you specify a custom AMI, you must set Os to Custom. AmiId *string `type:"string"` // The instance architecture. The default option is x86_64. Instance types do @@ -3375,18 +6275,36 @@ type CreateInstanceInput struct { // Instance Families and Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html). // The parameter values that you use to specify the various types are in the // API Name column of the Available Instance Types table. + // + // InstanceType is a required field InstanceType *string `type:"string" required:"true"` // An array that contains the instance's layer IDs. + // + // LayerIds is a required field LayerIds []*string `type:"list" required:"true"` // The instance's operating system, which must be set to one of the following. // - // A supported Linux operating system: An Amazon Linux version, such as Amazon - // Linux 2015.03, Red Hat Enterprise Linux 7, Ubuntu 12.04 LTS, or Ubuntu 14.04 - // LTS. Microsoft Windows Server 2012 R2 Base. A custom AMI: Custom. For more - // information on the supported operating systems, see AWS OpsWorks Operating - // Systems (http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html). + // A supported Linux operating system: An Amazon Linux version, such as Amazon + // Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03. + // + // A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu + // 14.04 LTS, or Ubuntu 12.04 LTS. + // + // CentOS 7 + // + // Red Hat Enterprise Linux 7 + // + // A supported Windows operating system, such as Microsoft Windows Server + // 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft + // Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server + // 2012 R2 with SQL Server Web. + // + // A custom AMI: Custom. + // + // For more information on the supported operating systems, see AWS OpsWorks + // Operating Systems (http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html). // // The default option is the current Amazon Linux version. If you set this // parameter to Custom, you must use the CreateInstance action's AmiId parameter @@ -3405,6 +6323,8 @@ type CreateInstanceInput struct { SshKeyName *string `type:"string"` // The stack ID. + // + // StackId is a required field StackId *string `type:"string" required:"true"` // The ID of the instance's subnet. If the stack is running in a VPC, you can @@ -3418,10 +6338,10 @@ type CreateInstanceInput struct { // Because there are costs associated with changes in tenancy options, we recommend // that you research tenancy options before choosing them for your instances. // For more information about dedicated hosts, see Dedicated Hosts Overview - // (https://aws.amazon.com/ec2/dedicated-hosts/) and Amazon EC2 Dedicated Hosts - // (https://aws.amazon.com/ec2/dedicated-hosts/). For more information about + // (http://aws.amazon.com/ec2/dedicated-hosts/) and Amazon EC2 Dedicated Hosts + // (http://aws.amazon.com/ec2/dedicated-hosts/). For more information about // dedicated instances, see Dedicated Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/dedicated-instance.html) - // and Amazon EC2 Dedicated Instances (https://aws.amazon.com/ec2/purchasing-options/dedicated-instances/). + // and Amazon EC2 Dedicated Instances (http://aws.amazon.com/ec2/purchasing-options/dedicated-instances/). Tenancy *string `type:"string"` // The instance's virtualization type, paravirtual or hvm. @@ -3528,6 +6448,8 @@ type CreateLayerInput struct { LifecycleEventConfiguration *LifecycleEventConfiguration `type:"structure"` // The layer name, which is used by the console. + // + // Name is a required field Name *string `type:"string" required:"true"` // An array of Package objects that describes the layer packages. @@ -3541,13 +6463,20 @@ type CreateLayerInput struct { // // The built-in layers' short names are defined by AWS OpsWorks. For more information, // see the Layer Reference (http://docs.aws.amazon.com/opsworks/latest/userguide/layers.html). + // + // Shortname is a required field Shortname *string `type:"string" required:"true"` // The layer stack ID. + // + // StackId is a required field StackId *string `type:"string" required:"true"` // The layer type. A stack cannot have more than one built-in layer of the same - // type. It can have any number of custom layers. + // type. It can have any number of custom layers. Built-in layers are not available + // in Chef 12 stacks. + // + // Type is a required field Type *string `type:"string" required:"true" enum:"LayerType"` // Whether to use Amazon EBS-optimized instances. @@ -3622,17 +6551,21 @@ type CreateStackInput struct { // The default AWS OpsWorks agent version. You have the following options: // - // Auto-update - Set this parameter to LATEST. AWS OpsWorks automatically + // Auto-update - Set this parameter to LATEST. AWS OpsWorks automatically // installs new agent versions on the stack's instances as soon as they are - // available. Fixed version - Set this parameter to your preferred agent version. - // To update the agent version, you must edit the stack configuration and specify + // available. + // + // Fixed version - Set this parameter to your preferred agent version. To + // update the agent version, you must edit the stack configuration and specify // a new version. AWS OpsWorks then automatically installs that version on the - // stack's instances. The default setting is the most recent release of the - // agent. To specify an agent version, you must use the complete version number, - // not the abbreviated number shown on the console. For a list of available - // agent version numbers, call DescribeAgentVersions. + // stack's instances. // - // You can also specify an agent version when you create or update an instance, + // The default setting is the most recent release of the agent. To specify + // an agent version, you must use the complete version number, not the abbreviated + // number shown on the console. For a list of available agent version numbers, + // call DescribeAgentVersions. + // + // You can also specify an agent version when you create or update an instance, // which overrides the stack's default setting. AgentVersion *string `type:"string"` @@ -3657,8 +6590,7 @@ type CreateStackInput struct { // A string that contains user-defined, custom JSON. It can be used to override // the corresponding default stack configuration attribute values or to pass - // data to recipes. The string should be in the following escape characters - // such as '"': + // data to recipes. The string should be in the following format: // // "{\"key1\": \"value1\", \"key2\": \"value2\",...}" // @@ -3675,18 +6607,33 @@ type CreateStackInput struct { // The Amazon Resource Name (ARN) of an IAM profile that is the default profile // for all of the stack's EC2 instances. For more information about IAM ARNs, // see Using Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html). + // + // DefaultInstanceProfileArn is a required field DefaultInstanceProfileArn *string `type:"string" required:"true"` // The stack's default operating system, which is installed on every instance // unless you specify a different operating system when you create the instance. // You can specify one of the following. // - // A supported Linux operating system: An Amazon Linux version, such as Amazon - // Linux 2015.03, Red Hat Enterprise Linux 7, Ubuntu 12.04 LTS, or Ubuntu 14.04 - // LTS. Microsoft Windows Server 2012 R2 Base. A custom AMI: Custom. You specify - // the custom AMI you want to use when you create instances. For more information, - // see Using Custom AMIs (http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html). - // The default option is the current Amazon Linux version. For more information + // A supported Linux operating system: An Amazon Linux version, such as Amazon + // Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03. + // + // A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu + // 14.04 LTS, or Ubuntu 12.04 LTS. + // + // CentOS 7 + // + // Red Hat Enterprise Linux 7 + // + // A supported Windows operating system, such as Microsoft Windows Server + // 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft + // Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server + // 2012 R2 with SQL Server Web. + // + // A custom AMI: Custom. You specify the custom AMI you want to use when + // you create instances. For more information, see Using Custom AMIs (http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html). + // + // The default option is the current Amazon Linux version. For more information // on the supported operating systems, see AWS OpsWorks Operating Systems (http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html). DefaultOs *string `type:"string"` @@ -3718,23 +6665,49 @@ type CreateStackInput struct { // is set to Layer_Dependent, which creates host names by appending integers // to the layer's short name. The other themes are: // - // Baked_Goods Clouds Europe_Cities Fruits Greek_Deities Legendary_creatures_from_Japan - // Planets_and_Moons Roman_Deities Scottish_Islands US_Cities Wild_Cats + // Baked_Goods + // + // Clouds + // + // Europe_Cities + // + // Fruits + // + // Greek_Deities + // + // Legendary_creatures_from_Japan + // + // Planets_and_Moons + // + // Roman_Deities + // + // Scottish_Islands + // + // US_Cities + // + // Wild_Cats + // // To obtain a generated host name, call GetHostNameSuggestion, which returns // a host name based on the current theme. HostnameTheme *string `type:"string"` // The stack name. + // + // Name is a required field Name *string `type:"string" required:"true"` - // The stack's AWS region, such as "us-east-1". For more information about Amazon - // regions, see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html). + // The stack's AWS region, such as "ap-south-1". For more information about + // Amazon regions, see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html). + // + // Region is a required field Region *string `type:"string" required:"true"` // The stack's AWS Identity and Access Management (IAM) role, which allows AWS // OpsWorks to work with AWS resources on your behalf. You must set this parameter // to the Amazon Resource Name (ARN) for an existing IAM role. For more information // about IAM ARNs, see Using Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html). + // + // ServiceRoleArn is a required field ServiceRoleArn *string `type:"string" required:"true"` // Whether the stack uses custom cookbooks. @@ -3748,14 +6721,17 @@ type CreateStackInput struct { // you can instead provide your own custom security groups. UseOpsworksSecurityGroups // has the following settings: // - // True - AWS OpsWorks automatically associates the appropriate built-in security - // group with each layer (default setting). You can associate additional security - // groups with a layer after you create it, but you cannot delete the built-in - // security group. False - AWS OpsWorks does not associate built-in security - // groups with layers. You must create appropriate EC2 security groups and associate - // a security group with each layer that you create. However, you can still - // manually associate a built-in security group with a layer on creation; custom - // security groups are required only for those layers that need custom settings. + // True - AWS OpsWorks automatically associates the appropriate built-in + // security group with each layer (default setting). You can associate additional + // security groups with a layer after you create it, but you cannot delete the + // built-in security group. + // + // False - AWS OpsWorks does not associate built-in security groups with + // layers. You must create appropriate EC2 security groups and associate a security + // group with each layer that you create. However, you can still manually associate + // a built-in security group with a layer on creation; custom security groups + // are required only for those layers that need custom settings. + // // For more information, see Create a New Stack (http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html). UseOpsworksSecurityGroups *bool `type:"boolean"` @@ -3763,20 +6739,25 @@ type CreateStackInput struct { // in the stack's region. All instances are launched into this VPC. You cannot // change the ID later. // - // If your account supports EC2-Classic, the default value is no VPC. If your - // account does not support EC2-Classic, the default value is the default VPC - // for the specified region. If the VPC ID corresponds to a default VPC and - // you have specified either the DefaultAvailabilityZone or the DefaultSubnetId - // parameter only, AWS OpsWorks infers the value of the other parameter. If - // you specify neither parameter, AWS OpsWorks sets these parameters to the - // first valid Availability Zone for the specified region and the corresponding - // default VPC subnet ID, respectively. + // If your account supports EC2-Classic, the default value is no VPC. + // + // If your account does not support EC2-Classic, the default value is the + // default VPC for the specified region. + // + // If the VPC ID corresponds to a default VPC and you have specified either + // the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks + // infers the value of the other parameter. If you specify neither parameter, + // AWS OpsWorks sets these parameters to the first valid Availability Zone for + // the specified region and the corresponding default VPC subnet ID, respectively. // // If you specify a nondefault VPC ID, note the following: // - // It must belong to a VPC in your account that is in the specified region. - // You must specify a value for DefaultSubnetId. For more information on how - // to use AWS OpsWorks with a VPC, see Running a Stack in a VPC (http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-vpc.html). + // It must belong to a VPC in your account that is in the specified region. + // + // You must specify a value for DefaultSubnetId. + // + // For more information on how to use AWS OpsWorks with a VPC, see Running + // a Stack in a VPC (http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-vpc.html). // For more information on default VPC and EC2-Classic, see Supported Platforms // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html). VpcId *string `type:"string"` @@ -3840,7 +6821,9 @@ type CreateUserProfileInput struct { // page. For more information, see Setting an IAM User's Public SSH Key (http://docs.aws.amazon.com/opsworks/latest/userguide/security-settingsshkey.html). AllowSelfManagement *bool `type:"boolean"` - // The user's IAM ARN. + // The user's IAM ARN; this can also be a federated user's ARN. + // + // IamUserArn is a required field IamUserArn *string `type:"string" required:"true"` // The user's public SSH key. @@ -3924,6 +6907,8 @@ type DeleteAppInput struct { _ struct{} `type:"structure"` // The app ID. + // + // AppId is a required field AppId *string `type:"string" required:"true"` } @@ -3974,6 +6959,8 @@ type DeleteInstanceInput struct { DeleteVolumes *bool `type:"boolean"` // The instance ID. + // + // InstanceId is a required field InstanceId *string `type:"string" required:"true"` } @@ -4018,6 +7005,8 @@ type DeleteLayerInput struct { _ struct{} `type:"structure"` // The layer ID. + // + // LayerId is a required field LayerId *string `type:"string" required:"true"` } @@ -4062,6 +7051,8 @@ type DeleteStackInput struct { _ struct{} `type:"structure"` // The stack ID. + // + // StackId is a required field StackId *string `type:"string" required:"true"` } @@ -4105,7 +7096,9 @@ func (s DeleteStackOutput) GoString() string { type DeleteUserProfileInput struct { _ struct{} `type:"structure"` - // The user's IAM ARN. + // The user's IAM ARN. This can also be a federated user's ARN. + // + // IamUserArn is a required field IamUserArn *string `type:"string" required:"true"` } @@ -4167,8 +7160,7 @@ type Deployment struct { // A string that contains user-defined custom JSON. It can be used to override // the corresponding default stack configuration attribute values for stack - // or to pass data to recipes. The string should be in the following format - // and must escape characters such as '"': + // or to pass data to recipes. The string should be in the following format: // // "{\"key1\": \"value1\", \"key2\": \"value2\",...}" // @@ -4193,7 +7185,11 @@ type Deployment struct { // The deployment status: // - // running successful failed + // running + // + // successful + // + // failed Status *string `type:"string"` } @@ -4219,39 +7215,57 @@ type DeploymentCommand struct { // // The update_dependencies command takes two arguments: // - // upgrade_os_to - Specifies the desired Amazon Linux version for instances + // upgrade_os_to - Specifies the desired Amazon Linux version for instances // whose OS you want to upgrade, such as Amazon Linux 2014.09. You must also - // set the allow_reboot argument to true. allow_reboot - Specifies whether to - // allow AWS OpsWorks to reboot the instances if necessary, after installing - // the updates. This argument can be set to either true or false. The default - // value is false. For example, to upgrade an instance to Amazon Linux 2014.09, - // set Args to the following. + // set the allow_reboot argument to true. + // + // allow_reboot - Specifies whether to allow AWS OpsWorks to reboot the + // instances if necessary, after installing the updates. This argument can be + // set to either true or false. The default value is false. + // + // For example, to upgrade an instance to Amazon Linux 2014.09, set Args + // to the following. // - // { "upgrade_os_to":["Amazon Linux 2014.09"], "allow_reboot":["true"] } + // { "upgrade_os_to":["Amazon Linux 2014.09"], "allow_reboot":["true"] } Args map[string][]*string `type:"map"` // Specifies the operation. You can specify only one command. // // For stacks, the following commands are available: // - // execute_recipes: Execute one or more recipes. To specify the recipes, set - // an Args parameter named recipes to the list of recipes to be executed. For - // example, to execute phpapp::appsetup, set Args to {"recipes":["phpapp::appsetup"]}. - // install_dependencies: Install the stack's dependencies. update_custom_cookbooks: - // Update the stack's custom cookbooks. update_dependencies: Update the stack's - // dependencies. The update_dependencies and install_dependencies commands - // are supported only for Linux instances. You can run the commands successfully - // on Windows instances, but they do nothing. For apps, the following commands - // are available: - // - // deploy: Deploy an app. Ruby on Rails apps have an optional Args parameter + // execute_recipes: Execute one or more recipes. To specify the recipes, + // set an Args parameter named recipes to the list of recipes to be executed. + // For example, to execute phpapp::appsetup, set Args to {"recipes":["phpapp::appsetup"]}. + // + // install_dependencies: Install the stack's dependencies. + // + // update_custom_cookbooks: Update the stack's custom cookbooks. + // + // update_dependencies: Update the stack's dependencies. + // + // The update_dependencies and install_dependencies commands are supported + // only for Linux instances. You can run the commands successfully on Windows + // instances, but they do nothing. + // + // For apps, the following commands are available: + // + // deploy: Deploy an app. Ruby on Rails apps have an optional Args parameter // named migrate. Set Args to {"migrate":["true"]} to migrate the database. - // The default setting is {"migrate":["false"]}. rollback Roll the app back - // to the previous version. When you update an app, AWS OpsWorks stores the - // previous version, up to a maximum of five versions. You can use this command - // to roll an app back as many as four versions. start: Start the app's web - // or application server. stop: Stop the app's web or application server. restart: - // Restart the app's web or application server. undeploy: Undeploy the app. + // The default setting is {"migrate":["false"]}. + // + // rollback Roll the app back to the previous version. When you update an + // app, AWS OpsWorks stores the previous version, up to a maximum of five versions. + // You can use this command to roll an app back as many as four versions. + // + // start: Start the app's web or application server. + // + // stop: Stop the app's web or application server. + // + // restart: Restart the app's web or application server. + // + // undeploy: Undeploy the app. + // + // Name is a required field Name *string `type:"string" required:"true" enum:"DeploymentCommandName"` } @@ -4282,6 +7296,8 @@ type DeregisterEcsClusterInput struct { _ struct{} `type:"structure"` // The cluster's ARN. + // + // EcsClusterArn is a required field EcsClusterArn *string `type:"string" required:"true"` } @@ -4326,6 +7342,8 @@ type DeregisterElasticIpInput struct { _ struct{} `type:"structure"` // The Elastic IP address. + // + // ElasticIp is a required field ElasticIp *string `type:"string" required:"true"` } @@ -4370,6 +7388,8 @@ type DeregisterInstanceInput struct { _ struct{} `type:"structure"` // The instance ID. + // + // InstanceId is a required field InstanceId *string `type:"string" required:"true"` } @@ -4414,6 +7434,8 @@ type DeregisterRdsDbInstanceInput struct { _ struct{} `type:"structure"` // The Amazon RDS instance's ARN. + // + // RdsDbInstanceArn is a required field RdsDbInstanceArn *string `type:"string" required:"true"` } @@ -4460,6 +7482,8 @@ type DeregisterVolumeInput struct { // The AWS OpsWorks volume ID, which is the GUID that AWS OpsWorks assigned // to the instance when you registered the volume with the stack, not the Amazon // EC2 volume ID. + // + // VolumeId is a required field VolumeId *string `type:"string" required:"true"` } @@ -4904,6 +7928,8 @@ type DescribeLoadBasedAutoScalingInput struct { _ struct{} `type:"structure"` // An array of layer IDs. + // + // LayerIds is a required field LayerIds []*string `type:"list" required:"true"` } @@ -4984,8 +8010,8 @@ func (s DescribeMyUserProfileOutput) GoString() string { type DescribePermissionsInput struct { _ struct{} `type:"structure"` - // The user's IAM ARN. For more information about IAM ARNs, see Using Identifiers - // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html). + // The user's IAM ARN. This can also be a federated user's ARN. For more information + // about IAM ARNs, see Using Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html). IamUserArn *string `type:"string"` // The stack ID. @@ -5008,12 +8034,15 @@ type DescribePermissionsOutput struct { // An array of Permission objects that describe the stack permissions. // - // If the request object contains only a stack ID, the array contains a Permission - // object with permissions for each of the stack IAM ARNs. If the request object - // contains only an IAM ARN, the array contains a Permission object with permissions - // for each of the user's stack IDs. If the request contains a stack ID and - // an IAM ARN, the array contains a single Permission object with permissions - // for the specified stack and IAM ARN. + // If the request object contains only a stack ID, the array contains a Permission + // object with permissions for each of the stack IAM ARNs. + // + // If the request object contains only an IAM ARN, the array contains a Permission + // object with permissions for each of the user's stack IDs. + // + // If the request contains a stack ID and an IAM ARN, the array contains + // a single Permission object with permissions for the specified stack and IAM + // ARN. Permissions []*Permission `type:"list"` } @@ -5079,6 +8108,8 @@ type DescribeRdsDbInstancesInput struct { // The stack ID that the instances are registered with. The operation returns // descriptions of all registered Amazon RDS instances. + // + // StackId is a required field StackId *string `type:"string" required:"true"` } @@ -5172,6 +8203,8 @@ type DescribeStackProvisioningParametersInput struct { _ struct{} `type:"structure"` // The stack ID + // + // StackId is a required field StackId *string `type:"string" required:"true"` } @@ -5223,6 +8256,8 @@ type DescribeStackSummaryInput struct { _ struct{} `type:"structure"` // The stack ID. + // + // StackId is a required field StackId *string `type:"string" required:"true"` } @@ -5307,6 +8342,8 @@ type DescribeTimeBasedAutoScalingInput struct { _ struct{} `type:"structure"` // An array of instance IDs. + // + // InstanceIds is a required field InstanceIds []*string `type:"list" required:"true"` } @@ -5355,7 +8392,7 @@ func (s DescribeTimeBasedAutoScalingOutput) GoString() string { type DescribeUserProfilesInput struct { _ struct{} `type:"structure"` - // An array of IAM user ARNs that identify the users to be described. + // An array of IAM or federated user ARNs that identify the users to be described. IamUserArns []*string `type:"list"` } @@ -5439,10 +8476,14 @@ type DetachElasticLoadBalancerInput struct { _ struct{} `type:"structure"` // The Elastic Load Balancing instance's name. + // + // ElasticLoadBalancerName is a required field ElasticLoadBalancerName *string `type:"string" required:"true"` // The ID of the layer that the Elastic Load Balancing instance is attached // to. + // + // LayerId is a required field LayerId *string `type:"string" required:"true"` } @@ -5490,6 +8531,8 @@ type DisassociateElasticIpInput struct { _ struct{} `type:"structure"` // The Elastic IP address. + // + // ElasticIp is a required field ElasticIp *string `type:"string" required:"true"` } @@ -5672,6 +8715,8 @@ type EnvironmentVariable struct { // characters and must be specified. The name can contain upper- and lowercase // letters, numbers, and underscores (_), but it must start with a letter or // underscore. + // + // Key is a required field Key *string `type:"string" required:"true"` // (Optional) Whether the variable's value will be returned by the DescribeApps @@ -5683,6 +8728,8 @@ type EnvironmentVariable struct { // (Optional) The environment variable's value, which can be left empty. If // you specify a value, it can contain up to 256 characters, which must all // be printable. + // + // Value is a required field Value *string `type:"string" required:"true"` } @@ -5716,6 +8763,8 @@ type GetHostnameSuggestionInput struct { _ struct{} `type:"structure"` // The layer ID. + // + // LayerId is a required field LayerId *string `type:"string" required:"true"` } @@ -5767,6 +8816,8 @@ type GrantAccessInput struct { _ struct{} `type:"structure"` // The instance's AWS OpsWorks ID. + // + // InstanceId is a required field InstanceId *string `type:"string" required:"true"` // The length of time (in minutes) that the grant is valid. When the grant expires @@ -5948,9 +8999,35 @@ type Instance struct { // The instance status: // - // booting connection_lost online pending rebooting requested - // running_setup setup_failed shutting_down start_failed stopped - // stopping terminated terminating + // booting + // + // connection_lost + // + // online + // + // pending + // + // rebooting + // + // requested + // + // running_setup + // + // setup_failed + // + // shutting_down + // + // start_failed + // + // stop_failed + // + // stopped + // + // stopping + // + // terminated + // + // terminating Status *string `type:"string"` // The instance's subnet ID; applicable only if the stack is running in a VPC. @@ -6236,8 +9313,18 @@ type Permission struct { // The user's permission level, which must be the following: // - // deny show deploy manage iam_only For more information on the - // permissions associated with these levels, see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html) + // deny + // + // show + // + // deploy + // + // manage + // + // iam_only + // + // For more information on the permissions associated with these levels, + // see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html) Level *string `type:"string"` // A stack ID. @@ -6357,6 +9444,8 @@ type RebootInstanceInput struct { _ struct{} `type:"structure"` // The instance ID. + // + // InstanceId is a required field InstanceId *string `type:"string" required:"true"` } @@ -6441,9 +9530,13 @@ type RegisterEcsClusterInput struct { _ struct{} `type:"structure"` // The cluster's ARN. + // + // EcsClusterArn is a required field EcsClusterArn *string `type:"string" required:"true"` // The stack ID. + // + // StackId is a required field StackId *string `type:"string" required:"true"` } @@ -6495,9 +9588,13 @@ type RegisterElasticIpInput struct { _ struct{} `type:"structure"` // The Elastic IP address. + // + // ElasticIp is a required field ElasticIp *string `type:"string" required:"true"` // The stack ID. + // + // StackId is a required field StackId *string `type:"string" required:"true"` } @@ -6568,6 +9665,8 @@ type RegisterInstanceInput struct { RsaPublicKeyFingerprint *string `type:"string"` // The ID of the stack that the instance is to be registered with. + // + // StackId is a required field StackId *string `type:"string" required:"true"` } @@ -6616,15 +9715,23 @@ type RegisterRdsDbInstanceInput struct { _ struct{} `type:"structure"` // The database password. + // + // DbPassword is a required field DbPassword *string `type:"string" required:"true"` // The database's master user name. + // + // DbUser is a required field DbUser *string `type:"string" required:"true"` // The Amazon RDS instance's ARN. + // + // RdsDbInstanceArn is a required field RdsDbInstanceArn *string `type:"string" required:"true"` // The stack ID. + // + // StackId is a required field StackId *string `type:"string" required:"true"` } @@ -6681,6 +9788,8 @@ type RegisterVolumeInput struct { Ec2VolumeId *string `type:"string"` // The stack ID. + // + // StackId is a required field StackId *string `type:"string" required:"true"` } @@ -6821,6 +9930,8 @@ type SetLoadBasedAutoScalingInput struct { Enable *bool `type:"boolean"` // The layer ID. + // + // LayerId is a required field LayerId *string `type:"string" required:"true"` // An AutoScalingThresholds object with the upscaling threshold configuration. @@ -6885,17 +9996,31 @@ type SetPermissionInput struct { // The user is allowed to use sudo to elevate privileges. AllowSudo *bool `type:"boolean"` - // The user's IAM ARN. + // The user's IAM ARN. This can also be a federated user's ARN. + // + // IamUserArn is a required field IamUserArn *string `type:"string" required:"true"` // The user's permission level, which must be set to one of the following strings. // You cannot set your own permissions level. // - // deny show deploy manage iam_only For more information on the - // permissions associated with these levels, see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html). + // deny + // + // show + // + // deploy + // + // manage + // + // iam_only + // + // For more information on the permissions associated with these levels, + // see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html). Level *string `type:"string"` // The stack ID. + // + // StackId is a required field StackId *string `type:"string" required:"true"` } @@ -6946,6 +10071,8 @@ type SetTimeBasedAutoScalingInput struct { AutoScalingSchedule *WeeklyAutoScalingSchedule `type:"structure"` // The instance ID. + // + // InstanceId is a required field InstanceId *string `type:"string" required:"true"` } @@ -7017,9 +10144,13 @@ type Source struct { // When included in a request, the parameter depends on the repository type. // - // For Amazon S3 bundles, set Password to the appropriate IAM secret access - // key. For HTTP bundles and Subversion repositories, set Password to the password. - // For more information on how to safely handle IAM credentials, see . + // For Amazon S3 bundles, set Password to the appropriate IAM secret access + // key. + // + // For HTTP bundles and Subversion repositories, set Password to the password. + // + // For more information on how to safely handle IAM credentials, see http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html + // (http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html). // // In responses, AWS OpsWorks returns *****FILTERED***** instead of the actual // value. @@ -7045,8 +10176,10 @@ type Source struct { // This parameter depends on the repository type. // - // For Amazon S3 bundles, set Username to the appropriate IAM access key ID. - // For HTTP bundles, Git repositories, and Subversion repositories, set Username + // For Amazon S3 bundles, set Username to the appropriate IAM access key + // ID. + // + // For HTTP bundles, Git repositories, and Subversion repositories, set Username // to the user name. Username *string `type:"string"` } @@ -7066,6 +10199,8 @@ type SslConfiguration struct { _ struct{} `type:"structure"` // The contents of the certificate's domain.crt file. + // + // Certificate is a required field Certificate *string `type:"string" required:"true"` // Optional. Can be used to specify an intermediate certificate authority key @@ -7073,6 +10208,8 @@ type SslConfiguration struct { Chain *string `type:"string"` // The private key; the contents of the certificate's domain.kex file. + // + // PrivateKey is a required field PrivateKey *string `type:"string" required:"true"` } @@ -7134,8 +10271,7 @@ type Stack struct { // A JSON object that contains user-defined attributes to be added to the stack // configuration and deployment attributes. You can use custom JSON to override // the corresponding default stack configuration attribute values or to pass - // data to recipes. The string should be in the following format and must escape - // characters such as '"': + // data to recipes. The string should be in the following format: // // "{\"key1\": \"value1\", \"key2\": \"value2\",...}" // @@ -7173,8 +10309,8 @@ type Stack struct { // The stack name. Name *string `type:"string"` - // The stack AWS region, such as "us-east-1". For more information about AWS - // regions, see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html). + // The stack AWS region, such as "ap-northeast-2". For more information about + // AWS regions, see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html). Region *string `type:"string"` // The stack AWS Identity and Access Management (IAM) role. @@ -7264,6 +10400,8 @@ type StartInstanceInput struct { _ struct{} `type:"structure"` // The instance ID. + // + // InstanceId is a required field InstanceId *string `type:"string" required:"true"` } @@ -7308,6 +10446,8 @@ type StartStackInput struct { _ struct{} `type:"structure"` // The stack ID. + // + // StackId is a required field StackId *string `type:"string" required:"true"` } @@ -7352,6 +10492,8 @@ type StopInstanceInput struct { _ struct{} `type:"structure"` // The instance ID. + // + // InstanceId is a required field InstanceId *string `type:"string" required:"true"` } @@ -7396,6 +10538,8 @@ type StopStackInput struct { _ struct{} `type:"structure"` // The stack ID. + // + // StackId is a required field StackId *string `type:"string" required:"true"` } @@ -7492,6 +10636,8 @@ type UnassignInstanceInput struct { _ struct{} `type:"structure"` // The instance ID. + // + // InstanceId is a required field InstanceId *string `type:"string" required:"true"` } @@ -7536,6 +10682,8 @@ type UnassignVolumeInput struct { _ struct{} `type:"structure"` // The volume ID. + // + // VolumeId is a required field VolumeId *string `type:"string" required:"true"` } @@ -7580,6 +10728,8 @@ type UpdateAppInput struct { _ struct{} `type:"structure"` // The app ID. + // + // AppId is a required field AppId *string `type:"string" required:"true"` // A Source object that specifies the app repository. @@ -7606,14 +10756,14 @@ type UpdateAppInput struct { // are defined on the associated app server instances.For more information, // see Environment Variables (http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-creating-environment). // - // There is no specific limit on the number of environment variables. However, + // There is no specific limit on the number of environment variables. However, // the size of the associated data structure - which includes the variables' // names, values, and protected flag values - cannot exceed 10 KB (10240 Bytes). // This limit should accommodate most if not all use cases. Exceeding it will // cause an exception with the message, "Environment: is too large (maximum // is 10KB)." // - // This parameter is supported only by Chef 11.10 stacks. If you have specified + // This parameter is supported only by Chef 11.10 stacks. If you have specified // one or more environment variables, you cannot modify the stack's Chef version. Environment []*EnvironmentVariable `type:"list"` @@ -7683,6 +10833,8 @@ type UpdateElasticIpInput struct { _ struct{} `type:"structure"` // The address. + // + // ElasticIp is a required field ElasticIp *string `type:"string" required:"true"` // The new name. @@ -7731,21 +10883,22 @@ type UpdateInstanceInput struct { // The default AWS OpsWorks agent version. You have the following options: // - // INHERIT - Use the stack's default agent version setting. version_number - // - Use the specified agent version. This value overrides the stack's default - // setting. To update the agent version, you must edit the instance configuration - // and specify a new version. AWS OpsWorks then automatically installs that - // version on the instance. The default setting is INHERIT. To specify an agent - // version, you must use the complete version number, not the abbreviated number - // shown on the console. For a list of available agent version numbers, call - // DescribeAgentVersions. + // INHERIT - Use the stack's default agent version setting. + // + // version_number - Use the specified agent version. This value overrides + // the stack's default setting. To update the agent version, you must edit the + // instance configuration and specify a new version. AWS OpsWorks then automatically + // installs that version on the instance. + // + // The default setting is INHERIT. To specify an agent version, you must + // use the complete version number, not the abbreviated number shown on the + // console. For a list of available agent version numbers, call DescribeAgentVersions. AgentVersion *string `type:"string"` - // A custom AMI ID to be used to create the instance. The AMI must be based - // on one of the supported operating systems. For more information, see Instances - // (http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html) - // - // If you specify a custom AMI, you must set Os to Custom. + // The ID of the AMI that was used to create the instance. The value of this + // parameter must be the same AMI ID that the instance is already using. You + // cannot apply a new AMI to an instance by running UpdateInstance. UpdateInstance + // does not work on instances that are using custom AMIs. AmiId *string `type:"string"` // The instance architecture. Instance types do not necessarily support both @@ -7774,6 +10927,8 @@ type UpdateInstanceInput struct { InstallUpdatesOnBoot *bool `type:"boolean"` // The instance ID. + // + // InstanceId is a required field InstanceId *string `type:"string" required:"true"` // The instance type, such as t2.micro. For a list of supported instance types, @@ -7788,12 +10943,25 @@ type UpdateInstanceInput struct { LayerIds []*string `type:"list"` // The instance's operating system, which must be set to one of the following. + // You cannot update an instance that is using a custom AMI. + // + // A supported Linux operating system: An Amazon Linux version, such as Amazon + // Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03. + // + // A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu + // 14.04 LTS, or Ubuntu 12.04 LTS. + // + // CentOS 7 // - // A supported Linux operating system: An Amazon Linux version, such as Amazon - // Linux 2015.03, Red Hat Enterprise Linux 7, Ubuntu 12.04 LTS, or Ubuntu 14.04 - // LTS. Microsoft Windows Server 2012 R2 Base. A custom AMI: Custom. For more - // information on the supported operating systems, see AWS OpsWorks Operating - // Systems (http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html). + // Red Hat Enterprise Linux 7 + // + // A supported Windows operating system, such as Microsoft Windows Server + // 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft + // Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server + // 2012 R2 with SQL Server Web. + // + // For more information on the supported operating systems, see AWS OpsWorks + // Operating Systems (http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html). // // The default option is the current Amazon Linux version. If you set this // parameter to Custom, you must use the AmiId parameter to specify the custom @@ -7802,7 +10970,7 @@ type UpdateInstanceInput struct { // For more information on how to use custom AMIs with OpsWorks, see Using Custom // AMIs (http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html). // - // You can specify a different Linux operating system for the updated stack, + // You can specify a different Linux operating system for the updated stack, // but you cannot change from Linux to Windows or Windows to Linux. Os *string `type:"string"` @@ -7891,6 +11059,8 @@ type UpdateLayerInput struct { InstallUpdatesOnBoot *bool `type:"boolean"` // The layer ID. + // + // LayerId is a required field LayerId *string `type:"string" required:"true"` LifecycleEventConfiguration *LifecycleEventConfiguration `type:"structure"` @@ -8006,6 +11176,8 @@ type UpdateRdsDbInstanceInput struct { DbUser *string `type:"string"` // The Amazon RDS instance's ARN. + // + // RdsDbInstanceArn is a required field RdsDbInstanceArn *string `type:"string" required:"true"` } @@ -8051,16 +11223,20 @@ type UpdateStackInput struct { // The default AWS OpsWorks agent version. You have the following options: // - // Auto-update - Set this parameter to LATEST. AWS OpsWorks automatically + // Auto-update - Set this parameter to LATEST. AWS OpsWorks automatically // installs new agent versions on the stack's instances as soon as they are - // available. Fixed version - Set this parameter to your preferred agent version. - // To update the agent version, you must edit the stack configuration and specify + // available. + // + // Fixed version - Set this parameter to your preferred agent version. To + // update the agent version, you must edit the stack configuration and specify // a new version. AWS OpsWorks then automatically installs that version on the - // stack's instances. The default setting is LATEST. To specify an agent version, - // you must use the complete version number, not the abbreviated number shown - // on the console. For a list of available agent version numbers, call DescribeAgentVersions. + // stack's instances. + // + // The default setting is LATEST. To specify an agent version, you must use + // the complete version number, not the abbreviated number shown on the console. + // For a list of available agent version numbers, call DescribeAgentVersions. // - // You can also specify an agent version when you create or update an instance, + // You can also specify an agent version when you create or update an instance, // which overrides the stack's default setting. AgentVersion *string `type:"string"` @@ -8085,8 +11261,7 @@ type UpdateStackInput struct { // A string that contains user-defined, custom JSON. It can be used to override // the corresponding default stack configuration JSON values or to pass data - // to recipes. The string should be in the following format and escape characters - // such as '"': + // to recipes. The string should be in the following format: // // "{\"key1\": \"value1\", \"key2\": \"value2\",...}" // @@ -8107,12 +11282,26 @@ type UpdateStackInput struct { // The stack's operating system, which must be set to one of the following: // - // A supported Linux operating system: An Amazon Linux version, such as Amazon - // Linux 2015.03, Red Hat Enterprise Linux 7, Ubuntu 12.04 LTS, or Ubuntu 14.04 - // LTS. Microsoft Windows Server 2012 R2 Base. A custom AMI: Custom. You specify - // the custom AMI you want to use when you create instances. For more information - // on how to use custom AMIs with OpsWorks, see Using Custom AMIs (http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html). - // The default option is the stack's current operating system. For more information + // A supported Linux operating system: An Amazon Linux version, such as Amazon + // Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03. + // + // A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu + // 14.04 LTS, or Ubuntu 12.04 LTS. + // + // CentOS 7 + // + // Red Hat Enterprise Linux 7 + // + // A supported Windows operating system, such as Microsoft Windows Server + // 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft + // Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server + // 2012 R2 with SQL Server Web. + // + // A custom AMI: Custom. You specify the custom AMI you want to use when + // you create instances. For more information on how to use custom AMIs with + // OpsWorks, see Using Custom AMIs (http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html). + // + // The default option is the stack's current operating system. For more information // on the supported operating systems, see AWS OpsWorks Operating Systems (http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html). DefaultOs *string `type:"string"` @@ -8143,8 +11332,28 @@ type UpdateStackInput struct { // HostnameTheme is set to Layer_Dependent, which creates host names by appending // integers to the layer's short name. The other themes are: // - // Baked_Goods Clouds Europe_Cities Fruits Greek_Deities Legendary_creatures_from_Japan - // Planets_and_Moons Roman_Deities Scottish_Islands US_Cities Wild_Cats + // Baked_Goods + // + // Clouds + // + // Europe_Cities + // + // Fruits + // + // Greek_Deities + // + // Legendary_creatures_from_Japan + // + // Planets_and_Moons + // + // Roman_Deities + // + // Scottish_Islands + // + // US_Cities + // + // Wild_Cats + // // To obtain a generated host name, call GetHostNameSuggestion, which returns // a host name based on the current theme. HostnameTheme *string `type:"string"` @@ -8156,6 +11365,8 @@ type UpdateStackInput struct { ServiceRoleArn *string `type:"string"` // The stack ID. + // + // StackId is a required field StackId *string `type:"string" required:"true"` // Whether the stack uses custom cookbooks. @@ -8169,15 +11380,18 @@ type UpdateStackInput struct { // allows you to provide your own custom security groups instead of using the // built-in groups. UseOpsworksSecurityGroups has the following settings: // - // True - AWS OpsWorks automatically associates the appropriate built-in security - // group with each layer (default setting). You can associate additional security - // groups with a layer after you create it, but you cannot delete the built-in - // security group. False - AWS OpsWorks does not associate built-in security - // groups with layers. You must create appropriate EC2 security groups and associate - // a security group with each layer that you create. However, you can still - // manually associate a built-in security group with a layer on. Custom security - // groups are required only for those layers that need custom settings. For - // more information, see Create a New Stack (http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html). + // True - AWS OpsWorks automatically associates the appropriate built-in + // security group with each layer (default setting). You can associate additional + // security groups with a layer after you create it, but you cannot delete the + // built-in security group. + // + // False - AWS OpsWorks does not associate built-in security groups with + // layers. You must create appropriate EC2 security groups and associate a security + // group with each layer that you create. However, you can still manually associate + // a built-in security group with a layer on. Custom security groups are required + // only for those layers that need custom settings. + // + // For more information, see Create a New Stack (http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html). UseOpsworksSecurityGroups *bool `type:"boolean"` } @@ -8225,7 +11439,9 @@ type UpdateUserProfileInput struct { // page. For more information, see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/security-settingsshkey.html). AllowSelfManagement *bool `type:"boolean"` - // The user IAM ARN. + // The user IAM ARN. This can also be a federated user's ARN. + // + // IamUserArn is a required field IamUserArn *string `type:"string" required:"true"` // The user's new SSH public key. @@ -8286,6 +11502,8 @@ type UpdateVolumeInput struct { Name *string `type:"string"` // The volume ID. + // + // VolumeId is a required field VolumeId *string `type:"string" required:"true"` } @@ -8421,21 +11639,30 @@ type VolumeConfiguration struct { Iops *int64 `type:"integer"` // The volume mount point. For example "/dev/sdh". + // + // MountPoint is a required field MountPoint *string `type:"string" required:"true"` // The number of disks in the volume. + // + // NumberOfDisks is a required field NumberOfDisks *int64 `type:"integer" required:"true"` // The volume RAID level (http://en.wikipedia.org/wiki/Standard_RAID_levels). RaidLevel *int64 `type:"integer"` // The volume size. + // + // Size is a required field Size *int64 `type:"integer" required:"true"` // The volume type: // - // standard - Magnetic io1 - Provisioned IOPS (SSD) gp2 - General Purpose - // (SSD) + // standard - Magnetic + // + // io1 - Provisioned IOPS (SSD) + // + // gp2 - General Purpose (SSD) VolumeType *string `type:"string"` } @@ -8471,12 +11698,16 @@ func (s *VolumeConfiguration) Validate() error { // Describes a time-based instance's auto scaling schedule. The schedule consists // of a set of key-value pairs. // -// The key is the time period (a UTC hour) and must be an integer from 0 - -// 23. The value indicates whether the instance should be online or offline -// for the specified period, and must be set to "on" or "off" The default setting -// for all time periods is off, so you use the following parameters primarily -// to specify the online periods. You don't have to explicitly specify offline -// periods unless you want to change an online period to an offline period. +// The key is the time period (a UTC hour) and must be an integer from 0 +// - 23. +// +// The value indicates whether the instance should be online or offline for +// the specified period, and must be set to "on" or "off" +// +// The default setting for all time periods is off, so you use the following +// parameters primarily to specify the online periods. You don't have to explicitly +// specify offline periods unless you want to change an online period to an +// offline period. // // The following example specifies that the instance should be online for four // hours, from UTC 1200 - 1600. It will be off for the remainder of the day. @@ -8518,189 +11749,253 @@ func (s WeeklyAutoScalingSchedule) GoString() string { } const ( - // @enum AppAttributesKeys + // AppAttributesKeysDocumentRoot is a AppAttributesKeys enum value AppAttributesKeysDocumentRoot = "DocumentRoot" - // @enum AppAttributesKeys + + // AppAttributesKeysRailsEnv is a AppAttributesKeys enum value AppAttributesKeysRailsEnv = "RailsEnv" - // @enum AppAttributesKeys + + // AppAttributesKeysAutoBundleOnDeploy is a AppAttributesKeys enum value AppAttributesKeysAutoBundleOnDeploy = "AutoBundleOnDeploy" - // @enum AppAttributesKeys + + // AppAttributesKeysAwsFlowRubySettings is a AppAttributesKeys enum value AppAttributesKeysAwsFlowRubySettings = "AwsFlowRubySettings" ) const ( - // @enum AppType + // AppTypeAwsFlowRuby is a AppType enum value AppTypeAwsFlowRuby = "aws-flow-ruby" - // @enum AppType + + // AppTypeJava is a AppType enum value AppTypeJava = "java" - // @enum AppType + + // AppTypeRails is a AppType enum value AppTypeRails = "rails" - // @enum AppType + + // AppTypePhp is a AppType enum value AppTypePhp = "php" - // @enum AppType + + // AppTypeNodejs is a AppType enum value AppTypeNodejs = "nodejs" - // @enum AppType + + // AppTypeStatic is a AppType enum value AppTypeStatic = "static" - // @enum AppType + + // AppTypeOther is a AppType enum value AppTypeOther = "other" ) const ( - // @enum Architecture + // ArchitectureX8664 is a Architecture enum value ArchitectureX8664 = "x86_64" - // @enum Architecture + + // ArchitectureI386 is a Architecture enum value ArchitectureI386 = "i386" ) const ( - // @enum AutoScalingType + // AutoScalingTypeLoad is a AutoScalingType enum value AutoScalingTypeLoad = "load" - // @enum AutoScalingType + + // AutoScalingTypeTimer is a AutoScalingType enum value AutoScalingTypeTimer = "timer" ) const ( - // @enum DeploymentCommandName + // DeploymentCommandNameInstallDependencies is a DeploymentCommandName enum value DeploymentCommandNameInstallDependencies = "install_dependencies" - // @enum DeploymentCommandName + + // DeploymentCommandNameUpdateDependencies is a DeploymentCommandName enum value DeploymentCommandNameUpdateDependencies = "update_dependencies" - // @enum DeploymentCommandName + + // DeploymentCommandNameUpdateCustomCookbooks is a DeploymentCommandName enum value DeploymentCommandNameUpdateCustomCookbooks = "update_custom_cookbooks" - // @enum DeploymentCommandName + + // DeploymentCommandNameExecuteRecipes is a DeploymentCommandName enum value DeploymentCommandNameExecuteRecipes = "execute_recipes" - // @enum DeploymentCommandName + + // DeploymentCommandNameConfigure is a DeploymentCommandName enum value DeploymentCommandNameConfigure = "configure" - // @enum DeploymentCommandName + + // DeploymentCommandNameSetup is a DeploymentCommandName enum value DeploymentCommandNameSetup = "setup" - // @enum DeploymentCommandName + + // DeploymentCommandNameDeploy is a DeploymentCommandName enum value DeploymentCommandNameDeploy = "deploy" - // @enum DeploymentCommandName + + // DeploymentCommandNameRollback is a DeploymentCommandName enum value DeploymentCommandNameRollback = "rollback" - // @enum DeploymentCommandName + + // DeploymentCommandNameStart is a DeploymentCommandName enum value DeploymentCommandNameStart = "start" - // @enum DeploymentCommandName + + // DeploymentCommandNameStop is a DeploymentCommandName enum value DeploymentCommandNameStop = "stop" - // @enum DeploymentCommandName + + // DeploymentCommandNameRestart is a DeploymentCommandName enum value DeploymentCommandNameRestart = "restart" - // @enum DeploymentCommandName + + // DeploymentCommandNameUndeploy is a DeploymentCommandName enum value DeploymentCommandNameUndeploy = "undeploy" ) const ( - // @enum LayerAttributesKeys + // LayerAttributesKeysEcsClusterArn is a LayerAttributesKeys enum value LayerAttributesKeysEcsClusterArn = "EcsClusterArn" - // @enum LayerAttributesKeys + + // LayerAttributesKeysEnableHaproxyStats is a LayerAttributesKeys enum value LayerAttributesKeysEnableHaproxyStats = "EnableHaproxyStats" - // @enum LayerAttributesKeys + + // LayerAttributesKeysHaproxyStatsUrl is a LayerAttributesKeys enum value LayerAttributesKeysHaproxyStatsUrl = "HaproxyStatsUrl" - // @enum LayerAttributesKeys + + // LayerAttributesKeysHaproxyStatsUser is a LayerAttributesKeys enum value LayerAttributesKeysHaproxyStatsUser = "HaproxyStatsUser" - // @enum LayerAttributesKeys + + // LayerAttributesKeysHaproxyStatsPassword is a LayerAttributesKeys enum value LayerAttributesKeysHaproxyStatsPassword = "HaproxyStatsPassword" - // @enum LayerAttributesKeys + + // LayerAttributesKeysHaproxyHealthCheckUrl is a LayerAttributesKeys enum value LayerAttributesKeysHaproxyHealthCheckUrl = "HaproxyHealthCheckUrl" - // @enum LayerAttributesKeys + + // LayerAttributesKeysHaproxyHealthCheckMethod is a LayerAttributesKeys enum value LayerAttributesKeysHaproxyHealthCheckMethod = "HaproxyHealthCheckMethod" - // @enum LayerAttributesKeys + + // LayerAttributesKeysMysqlRootPassword is a LayerAttributesKeys enum value LayerAttributesKeysMysqlRootPassword = "MysqlRootPassword" - // @enum LayerAttributesKeys + + // LayerAttributesKeysMysqlRootPasswordUbiquitous is a LayerAttributesKeys enum value LayerAttributesKeysMysqlRootPasswordUbiquitous = "MysqlRootPasswordUbiquitous" - // @enum LayerAttributesKeys + + // LayerAttributesKeysGangliaUrl is a LayerAttributesKeys enum value LayerAttributesKeysGangliaUrl = "GangliaUrl" - // @enum LayerAttributesKeys + + // LayerAttributesKeysGangliaUser is a LayerAttributesKeys enum value LayerAttributesKeysGangliaUser = "GangliaUser" - // @enum LayerAttributesKeys + + // LayerAttributesKeysGangliaPassword is a LayerAttributesKeys enum value LayerAttributesKeysGangliaPassword = "GangliaPassword" - // @enum LayerAttributesKeys + + // LayerAttributesKeysMemcachedMemory is a LayerAttributesKeys enum value LayerAttributesKeysMemcachedMemory = "MemcachedMemory" - // @enum LayerAttributesKeys + + // LayerAttributesKeysNodejsVersion is a LayerAttributesKeys enum value LayerAttributesKeysNodejsVersion = "NodejsVersion" - // @enum LayerAttributesKeys + + // LayerAttributesKeysRubyVersion is a LayerAttributesKeys enum value LayerAttributesKeysRubyVersion = "RubyVersion" - // @enum LayerAttributesKeys + + // LayerAttributesKeysRubygemsVersion is a LayerAttributesKeys enum value LayerAttributesKeysRubygemsVersion = "RubygemsVersion" - // @enum LayerAttributesKeys + + // LayerAttributesKeysManageBundler is a LayerAttributesKeys enum value LayerAttributesKeysManageBundler = "ManageBundler" - // @enum LayerAttributesKeys + + // LayerAttributesKeysBundlerVersion is a LayerAttributesKeys enum value LayerAttributesKeysBundlerVersion = "BundlerVersion" - // @enum LayerAttributesKeys + + // LayerAttributesKeysRailsStack is a LayerAttributesKeys enum value LayerAttributesKeysRailsStack = "RailsStack" - // @enum LayerAttributesKeys + + // LayerAttributesKeysPassengerVersion is a LayerAttributesKeys enum value LayerAttributesKeysPassengerVersion = "PassengerVersion" - // @enum LayerAttributesKeys + + // LayerAttributesKeysJvm is a LayerAttributesKeys enum value LayerAttributesKeysJvm = "Jvm" - // @enum LayerAttributesKeys + + // LayerAttributesKeysJvmVersion is a LayerAttributesKeys enum value LayerAttributesKeysJvmVersion = "JvmVersion" - // @enum LayerAttributesKeys + + // LayerAttributesKeysJvmOptions is a LayerAttributesKeys enum value LayerAttributesKeysJvmOptions = "JvmOptions" - // @enum LayerAttributesKeys + + // LayerAttributesKeysJavaAppServer is a LayerAttributesKeys enum value LayerAttributesKeysJavaAppServer = "JavaAppServer" - // @enum LayerAttributesKeys + + // LayerAttributesKeysJavaAppServerVersion is a LayerAttributesKeys enum value LayerAttributesKeysJavaAppServerVersion = "JavaAppServerVersion" ) const ( - // @enum LayerType + // LayerTypeAwsFlowRuby is a LayerType enum value LayerTypeAwsFlowRuby = "aws-flow-ruby" - // @enum LayerType + + // LayerTypeEcsCluster is a LayerType enum value LayerTypeEcsCluster = "ecs-cluster" - // @enum LayerType + + // LayerTypeJavaApp is a LayerType enum value LayerTypeJavaApp = "java-app" - // @enum LayerType + + // LayerTypeLb is a LayerType enum value LayerTypeLb = "lb" - // @enum LayerType + + // LayerTypeWeb is a LayerType enum value LayerTypeWeb = "web" - // @enum LayerType + + // LayerTypePhpApp is a LayerType enum value LayerTypePhpApp = "php-app" - // @enum LayerType + + // LayerTypeRailsApp is a LayerType enum value LayerTypeRailsApp = "rails-app" - // @enum LayerType + + // LayerTypeNodejsApp is a LayerType enum value LayerTypeNodejsApp = "nodejs-app" - // @enum LayerType + + // LayerTypeMemcached is a LayerType enum value LayerTypeMemcached = "memcached" - // @enum LayerType + + // LayerTypeDbMaster is a LayerType enum value LayerTypeDbMaster = "db-master" - // @enum LayerType + + // LayerTypeMonitoringMaster is a LayerType enum value LayerTypeMonitoringMaster = "monitoring-master" - // @enum LayerType + + // LayerTypeCustom is a LayerType enum value LayerTypeCustom = "custom" ) const ( - // @enum RootDeviceType + // RootDeviceTypeEbs is a RootDeviceType enum value RootDeviceTypeEbs = "ebs" - // @enum RootDeviceType + + // RootDeviceTypeInstanceStore is a RootDeviceType enum value RootDeviceTypeInstanceStore = "instance-store" ) const ( - // @enum SourceType + // SourceTypeGit is a SourceType enum value SourceTypeGit = "git" - // @enum SourceType + + // SourceTypeSvn is a SourceType enum value SourceTypeSvn = "svn" - // @enum SourceType + + // SourceTypeArchive is a SourceType enum value SourceTypeArchive = "archive" - // @enum SourceType + + // SourceTypeS3 is a SourceType enum value SourceTypeS3 = "s3" ) const ( - // @enum StackAttributesKeys + // StackAttributesKeysColor is a StackAttributesKeys enum value StackAttributesKeysColor = "Color" ) const ( - // @enum VirtualizationType + // VirtualizationTypeParavirtual is a VirtualizationType enum value VirtualizationTypeParavirtual = "paravirtual" - // @enum VirtualizationType + + // VirtualizationTypeHvm is a VirtualizationType enum value VirtualizationTypeHvm = "hvm" ) const ( - // @enum VolumeType + // VolumeTypeGp2 is a VolumeType enum value VolumeTypeGp2 = "gp2" - // @enum VolumeType + + // VolumeTypeIo1 is a VolumeType enum value VolumeTypeIo1 = "io1" - // @enum VolumeType + + // VolumeTypeStandard is a VolumeType enum value VolumeTypeStandard = "standard" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/opsworks/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/opsworks/waiters.go index 8d07ac87e98a..dc4fa42ae0db 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/opsworks/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/opsworks/waiters.go @@ -6,6 +6,10 @@ import ( "github.com/aws/aws-sdk-go/private/waiter" ) +// WaitUntilAppExists uses the AWS OpsWorks API operation +// DescribeApps to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *OpsWorks) WaitUntilAppExists(input *DescribeAppsInput) error { waiterCfg := waiter.Config{ Operation: "DescribeApps", @@ -35,6 +39,10 @@ func (c *OpsWorks) WaitUntilAppExists(input *DescribeAppsInput) error { return w.Wait() } +// WaitUntilDeploymentSuccessful uses the AWS OpsWorks API operation +// DescribeDeployments to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *OpsWorks) WaitUntilDeploymentSuccessful(input *DescribeDeploymentsInput) error { waiterCfg := waiter.Config{ Operation: "DescribeDeployments", @@ -64,6 +72,10 @@ func (c *OpsWorks) WaitUntilDeploymentSuccessful(input *DescribeDeploymentsInput return w.Wait() } +// WaitUntilInstanceOnline uses the AWS OpsWorks API operation +// DescribeInstances to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *OpsWorks) WaitUntilInstanceOnline(input *DescribeInstancesInput) error { waiterCfg := waiter.Config{ Operation: "DescribeInstances", @@ -135,6 +147,79 @@ func (c *OpsWorks) WaitUntilInstanceOnline(input *DescribeInstancesInput) error return w.Wait() } +// WaitUntilInstanceRegistered uses the AWS OpsWorks API operation +// DescribeInstances to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. +func (c *OpsWorks) WaitUntilInstanceRegistered(input *DescribeInstancesInput) error { + waiterCfg := waiter.Config{ + Operation: "DescribeInstances", + Delay: 15, + MaxAttempts: 40, + Acceptors: []waiter.WaitAcceptor{ + { + State: "success", + Matcher: "pathAll", + Argument: "Instances[].Status", + Expected: "registered", + }, + { + State: "failure", + Matcher: "pathAny", + Argument: "Instances[].Status", + Expected: "setup_failed", + }, + { + State: "failure", + Matcher: "pathAny", + Argument: "Instances[].Status", + Expected: "shutting_down", + }, + { + State: "failure", + Matcher: "pathAny", + Argument: "Instances[].Status", + Expected: "stopped", + }, + { + State: "failure", + Matcher: "pathAny", + Argument: "Instances[].Status", + Expected: "stopping", + }, + { + State: "failure", + Matcher: "pathAny", + Argument: "Instances[].Status", + Expected: "terminating", + }, + { + State: "failure", + Matcher: "pathAny", + Argument: "Instances[].Status", + Expected: "terminated", + }, + { + State: "failure", + Matcher: "pathAny", + Argument: "Instances[].Status", + Expected: "stop_failed", + }, + }, + } + + w := waiter.Waiter{ + Client: c, + Input: input, + Config: waiterCfg, + } + return w.Wait() +} + +// WaitUntilInstanceStopped uses the AWS OpsWorks API operation +// DescribeInstances to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *OpsWorks) WaitUntilInstanceStopped(input *DescribeInstancesInput) error { waiterCfg := waiter.Config{ Operation: "DescribeInstances", @@ -212,6 +297,10 @@ func (c *OpsWorks) WaitUntilInstanceStopped(input *DescribeInstancesInput) error return w.Wait() } +// WaitUntilInstanceTerminated uses the AWS OpsWorks API operation +// DescribeInstances to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *OpsWorks) WaitUntilInstanceTerminated(input *DescribeInstancesInput) error { waiterCfg := waiter.Config{ Operation: "DescribeInstances", 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 12440c395824..9c2ab66995e7 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 @@ -15,7 +15,30 @@ import ( const opAddSourceIdentifierToSubscription = "AddSourceIdentifierToSubscription" -// AddSourceIdentifierToSubscriptionRequest generates a request for the AddSourceIdentifierToSubscription operation. +// AddSourceIdentifierToSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the AddSourceIdentifierToSubscription operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AddSourceIdentifierToSubscription for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AddSourceIdentifierToSubscription method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AddSourceIdentifierToSubscriptionRequest method. +// req, resp := client.AddSourceIdentifierToSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) AddSourceIdentifierToSubscriptionRequest(input *AddSourceIdentifierToSubscriptionInput) (req *request.Request, output *AddSourceIdentifierToSubscriptionOutput) { op := &request.Operation{ Name: opAddSourceIdentifierToSubscription, @@ -33,7 +56,24 @@ func (c *RDS) AddSourceIdentifierToSubscriptionRequest(input *AddSourceIdentifie return } +// AddSourceIdentifierToSubscription API operation for Amazon Relational Database Service. +// // Adds a source identifier to an existing RDS event notification subscription. +// +// 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 Relational Database Service's +// API operation AddSourceIdentifierToSubscription for usage and error information. +// +// Returned Error Codes: +// * SubscriptionNotFound +// The subscription name does not exist. +// +// * SourceNotFound +// The requested source could not be found. +// func (c *RDS) AddSourceIdentifierToSubscription(input *AddSourceIdentifierToSubscriptionInput) (*AddSourceIdentifierToSubscriptionOutput, error) { req, out := c.AddSourceIdentifierToSubscriptionRequest(input) err := req.Send() @@ -42,7 +82,30 @@ func (c *RDS) AddSourceIdentifierToSubscription(input *AddSourceIdentifierToSubs const opAddTagsToResource = "AddTagsToResource" -// AddTagsToResourceRequest generates a request for the AddTagsToResource operation. +// AddTagsToResourceRequest generates a "aws/request.Request" representing the +// client's request for the AddTagsToResource operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AddTagsToResource for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AddTagsToResource method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AddTagsToResourceRequest method. +// req, resp := client.AddTagsToResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *AddTagsToResourceOutput) { op := &request.Operation{ Name: opAddTagsToResource, @@ -62,12 +125,29 @@ func (c *RDS) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *requ return } +// AddTagsToResource API operation for Amazon Relational Database Service. +// // Adds metadata tags to an Amazon RDS resource. These tags can also be used // with cost allocation reporting to track cost associated with Amazon RDS resources, // or used in a Condition statement in an IAM policy for Amazon RDS. // // For an overview on tagging Amazon RDS resources, see Tagging Amazon RDS // Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.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. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation AddTagsToResource for usage and error information. +// +// Returned Error Codes: +// * DBInstanceNotFound +// DBInstanceIdentifier does not refer to an existing DB instance. +// +// * DBSnapshotNotFound +// DBSnapshotIdentifier does not refer to an existing DB snapshot. +// func (c *RDS) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResourceOutput, error) { req, out := c.AddTagsToResourceRequest(input) err := req.Send() @@ -76,7 +156,30 @@ func (c *RDS) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResour const opApplyPendingMaintenanceAction = "ApplyPendingMaintenanceAction" -// ApplyPendingMaintenanceActionRequest generates a request for the ApplyPendingMaintenanceAction operation. +// ApplyPendingMaintenanceActionRequest generates a "aws/request.Request" representing the +// client's request for the ApplyPendingMaintenanceAction operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ApplyPendingMaintenanceAction for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ApplyPendingMaintenanceAction method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ApplyPendingMaintenanceActionRequest method. +// req, resp := client.ApplyPendingMaintenanceActionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) ApplyPendingMaintenanceActionRequest(input *ApplyPendingMaintenanceActionInput) (req *request.Request, output *ApplyPendingMaintenanceActionOutput) { op := &request.Operation{ Name: opApplyPendingMaintenanceAction, @@ -94,8 +197,22 @@ func (c *RDS) ApplyPendingMaintenanceActionRequest(input *ApplyPendingMaintenanc return } +// ApplyPendingMaintenanceAction API operation for Amazon Relational Database Service. +// // Applies a pending maintenance action to a resource (for example, to a DB // instance). +// +// 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 Relational Database Service's +// API operation ApplyPendingMaintenanceAction for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundFault +// The specified resource ID was not found. +// func (c *RDS) ApplyPendingMaintenanceAction(input *ApplyPendingMaintenanceActionInput) (*ApplyPendingMaintenanceActionOutput, error) { req, out := c.ApplyPendingMaintenanceActionRequest(input) err := req.Send() @@ -104,7 +221,30 @@ func (c *RDS) ApplyPendingMaintenanceAction(input *ApplyPendingMaintenanceAction const opAuthorizeDBSecurityGroupIngress = "AuthorizeDBSecurityGroupIngress" -// AuthorizeDBSecurityGroupIngressRequest generates a request for the AuthorizeDBSecurityGroupIngress operation. +// AuthorizeDBSecurityGroupIngressRequest generates a "aws/request.Request" representing the +// client's request for the AuthorizeDBSecurityGroupIngress operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AuthorizeDBSecurityGroupIngress for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AuthorizeDBSecurityGroupIngress method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AuthorizeDBSecurityGroupIngressRequest method. +// req, resp := client.AuthorizeDBSecurityGroupIngressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) AuthorizeDBSecurityGroupIngressRequest(input *AuthorizeDBSecurityGroupIngressInput) (req *request.Request, output *AuthorizeDBSecurityGroupIngressOutput) { op := &request.Operation{ Name: opAuthorizeDBSecurityGroupIngress, @@ -122,6 +262,8 @@ func (c *RDS) AuthorizeDBSecurityGroupIngressRequest(input *AuthorizeDBSecurityG return } +// AuthorizeDBSecurityGroupIngress API operation for Amazon Relational Database Service. +// // Enables ingress to a DBSecurityGroup using one of two forms of authorization. // First, EC2 or VPC security groups can be added to the DBSecurityGroup if // the application using the database is running on EC2 or VPC instances. Second, @@ -135,15 +277,131 @@ func (c *RDS) AuthorizeDBSecurityGroupIngressRequest(input *AuthorizeDBSecurityG // VPC security group in one VPC to an Amazon RDS DB instance in another. // // For an overview of CIDR ranges, go to the Wikipedia Tutorial (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). +// +// 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 Relational Database Service's +// API operation AuthorizeDBSecurityGroupIngress for usage and error information. +// +// Returned Error Codes: +// * DBSecurityGroupNotFound +// DBSecurityGroupName does not refer to an existing DB security group. +// +// * InvalidDBSecurityGroupState +// The state of the DB security group does not allow deletion. +// +// * AuthorizationAlreadyExists +// The specified CIDRIP or EC2 security group is already authorized for the +// specified DB security group. +// +// * AuthorizationQuotaExceeded +// DB security group authorization quota has been reached. +// func (c *RDS) AuthorizeDBSecurityGroupIngress(input *AuthorizeDBSecurityGroupIngressInput) (*AuthorizeDBSecurityGroupIngressOutput, error) { req, out := c.AuthorizeDBSecurityGroupIngressRequest(input) err := req.Send() return out, err } +const opCopyDBClusterParameterGroup = "CopyDBClusterParameterGroup" + +// CopyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the +// client's request for the CopyDBClusterParameterGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CopyDBClusterParameterGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CopyDBClusterParameterGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CopyDBClusterParameterGroupRequest method. +// req, resp := client.CopyDBClusterParameterGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *RDS) CopyDBClusterParameterGroupRequest(input *CopyDBClusterParameterGroupInput) (req *request.Request, output *CopyDBClusterParameterGroupOutput) { + op := &request.Operation{ + Name: opCopyDBClusterParameterGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CopyDBClusterParameterGroupInput{} + } + + req = c.newRequest(op, input, output) + output = &CopyDBClusterParameterGroupOutput{} + req.Data = output + return +} + +// CopyDBClusterParameterGroup API operation for Amazon Relational Database Service. +// +// Copies the specified DB cluster parameter group. +// +// 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 Relational Database Service's +// API operation CopyDBClusterParameterGroup for usage and error information. +// +// Returned Error Codes: +// * DBParameterGroupNotFound +// DBParameterGroupName does not refer to an existing DB parameter group. +// +// * DBParameterGroupQuotaExceeded +// Request would result in user exceeding the allowed number of DB parameter +// groups. +// +// * DBParameterGroupAlreadyExists +// A DB parameter group with the same name exists. +// +func (c *RDS) CopyDBClusterParameterGroup(input *CopyDBClusterParameterGroupInput) (*CopyDBClusterParameterGroupOutput, error) { + req, out := c.CopyDBClusterParameterGroupRequest(input) + err := req.Send() + return out, err +} + const opCopyDBClusterSnapshot = "CopyDBClusterSnapshot" -// CopyDBClusterSnapshotRequest generates a request for the CopyDBClusterSnapshot operation. +// CopyDBClusterSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the CopyDBClusterSnapshot operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CopyDBClusterSnapshot for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CopyDBClusterSnapshot method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CopyDBClusterSnapshotRequest method. +// req, resp := client.CopyDBClusterSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) CopyDBClusterSnapshotRequest(input *CopyDBClusterSnapshotInput) (req *request.Request, output *CopyDBClusterSnapshotOutput) { op := &request.Operation{ Name: opCopyDBClusterSnapshot, @@ -161,9 +419,32 @@ func (c *RDS) CopyDBClusterSnapshotRequest(input *CopyDBClusterSnapshotInput) (r return } +// CopyDBClusterSnapshot API operation for Amazon Relational Database Service. +// // Creates a snapshot of a DB cluster. For more information on Amazon Aurora, // see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) // in the Amazon RDS 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 +// the error. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation CopyDBClusterSnapshot for usage and error information. +// +// Returned Error Codes: +// * DBClusterSnapshotAlreadyExistsFault +// User already has a DB cluster snapshot with the given identifier. +// +// * DBClusterSnapshotNotFoundFault +// DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot. +// +// * InvalidDBClusterStateFault +// The DB cluster is not in a valid state. +// +// * InvalidDBClusterSnapshotStateFault +// The supplied value is not a valid DB cluster snapshot state. +// func (c *RDS) CopyDBClusterSnapshot(input *CopyDBClusterSnapshotInput) (*CopyDBClusterSnapshotOutput, error) { req, out := c.CopyDBClusterSnapshotRequest(input) err := req.Send() @@ -172,7 +453,30 @@ func (c *RDS) CopyDBClusterSnapshot(input *CopyDBClusterSnapshotInput) (*CopyDBC const opCopyDBParameterGroup = "CopyDBParameterGroup" -// CopyDBParameterGroupRequest generates a request for the CopyDBParameterGroup operation. +// CopyDBParameterGroupRequest generates a "aws/request.Request" representing the +// client's request for the CopyDBParameterGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CopyDBParameterGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CopyDBParameterGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CopyDBParameterGroupRequest method. +// req, resp := client.CopyDBParameterGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) CopyDBParameterGroupRequest(input *CopyDBParameterGroupInput) (req *request.Request, output *CopyDBParameterGroupOutput) { op := &request.Operation{ Name: opCopyDBParameterGroup, @@ -190,7 +494,28 @@ func (c *RDS) CopyDBParameterGroupRequest(input *CopyDBParameterGroupInput) (req return } +// CopyDBParameterGroup API operation for Amazon Relational Database Service. +// // Copies the specified DB parameter group. +// +// 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 Relational Database Service's +// API operation CopyDBParameterGroup for usage and error information. +// +// Returned Error Codes: +// * DBParameterGroupNotFound +// DBParameterGroupName does not refer to an existing DB parameter group. +// +// * DBParameterGroupAlreadyExists +// A DB parameter group with the same name exists. +// +// * DBParameterGroupQuotaExceeded +// Request would result in user exceeding the allowed number of DB parameter +// groups. +// func (c *RDS) CopyDBParameterGroup(input *CopyDBParameterGroupInput) (*CopyDBParameterGroupOutput, error) { req, out := c.CopyDBParameterGroupRequest(input) err := req.Send() @@ -199,7 +524,30 @@ func (c *RDS) CopyDBParameterGroup(input *CopyDBParameterGroupInput) (*CopyDBPar const opCopyDBSnapshot = "CopyDBSnapshot" -// CopyDBSnapshotRequest generates a request for the CopyDBSnapshot operation. +// CopyDBSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the CopyDBSnapshot operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CopyDBSnapshot for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CopyDBSnapshot method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CopyDBSnapshotRequest method. +// req, resp := client.CopyDBSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) CopyDBSnapshotRequest(input *CopyDBSnapshotInput) (req *request.Request, output *CopyDBSnapshotOutput) { op := &request.Operation{ Name: opCopyDBSnapshot, @@ -217,11 +565,37 @@ func (c *RDS) CopyDBSnapshotRequest(input *CopyDBSnapshotInput) (req *request.Re return } +// CopyDBSnapshot API operation for Amazon Relational Database Service. +// // Copies the specified DB snapshot. The source DB snapshot must be in the "available" // state. // // If you are copying from a shared manual DB snapshot, the SourceDBSnapshotIdentifier // must be the ARN of the shared DB snapshot. +// +// 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 Relational Database Service's +// API operation CopyDBSnapshot for usage and error information. +// +// Returned Error Codes: +// * DBSnapshotAlreadyExists +// DBSnapshotIdentifier is already used by an existing snapshot. +// +// * DBSnapshotNotFound +// DBSnapshotIdentifier does not refer to an existing DB snapshot. +// +// * InvalidDBSnapshotState +// The state of the DB snapshot does not allow deletion. +// +// * SnapshotQuotaExceeded +// Request would result in user exceeding the allowed number of DB snapshots. +// +// * KMSKeyNotAccessibleFault +// Error accessing KMS key. +// func (c *RDS) CopyDBSnapshot(input *CopyDBSnapshotInput) (*CopyDBSnapshotOutput, error) { req, out := c.CopyDBSnapshotRequest(input) err := req.Send() @@ -230,7 +604,30 @@ func (c *RDS) CopyDBSnapshot(input *CopyDBSnapshotInput) (*CopyDBSnapshotOutput, const opCopyOptionGroup = "CopyOptionGroup" -// CopyOptionGroupRequest generates a request for the CopyOptionGroup operation. +// CopyOptionGroupRequest generates a "aws/request.Request" representing the +// client's request for the CopyOptionGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CopyOptionGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CopyOptionGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CopyOptionGroupRequest method. +// req, resp := client.CopyOptionGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) CopyOptionGroupRequest(input *CopyOptionGroupInput) (req *request.Request, output *CopyOptionGroupOutput) { op := &request.Operation{ Name: opCopyOptionGroup, @@ -248,7 +645,27 @@ func (c *RDS) CopyOptionGroupRequest(input *CopyOptionGroupInput) (req *request. return } +// CopyOptionGroup API operation for Amazon Relational Database Service. +// // Copies the specified option group. +// +// 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 Relational Database Service's +// API operation CopyOptionGroup for usage and error information. +// +// Returned Error Codes: +// * OptionGroupAlreadyExistsFault +// The option group you are trying to create already exists. +// +// * OptionGroupNotFoundFault +// The specified option group could not be found. +// +// * OptionGroupQuotaExceededFault +// The quota of 20 option groups was exceeded for this AWS account. +// func (c *RDS) CopyOptionGroup(input *CopyOptionGroupInput) (*CopyOptionGroupOutput, error) { req, out := c.CopyOptionGroupRequest(input) err := req.Send() @@ -257,7 +674,30 @@ func (c *RDS) CopyOptionGroup(input *CopyOptionGroupInput) (*CopyOptionGroupOutp const opCreateDBCluster = "CreateDBCluster" -// CreateDBClusterRequest generates a request for the CreateDBCluster operation. +// CreateDBClusterRequest generates a "aws/request.Request" representing the +// client's request for the CreateDBCluster operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateDBCluster for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateDBCluster method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateDBClusterRequest method. +// req, resp := client.CreateDBClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) CreateDBClusterRequest(input *CreateDBClusterInput) (req *request.Request, output *CreateDBClusterOutput) { op := &request.Operation{ Name: opCreateDBCluster, @@ -275,9 +715,67 @@ func (c *RDS) CreateDBClusterRequest(input *CreateDBClusterInput) (req *request. return } -// Creates a new Amazon Aurora DB cluster. For more information on Amazon Aurora, -// see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) +// CreateDBCluster API operation for Amazon Relational Database Service. +// +// Creates a new Amazon Aurora DB cluster. +// +// You can use the ReplicationSourceIdentifier parameter to create the DB cluster +// as a Read Replica of another DB cluster. +// +// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) // in the Amazon RDS 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 +// the error. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation CreateDBCluster for usage and error information. +// +// Returned Error Codes: +// * DBClusterAlreadyExistsFault +// User already has a DB cluster with the given identifier. +// +// * InsufficientStorageClusterCapacity +// There is insufficient storage available for the current action. You may be +// able to resolve this error by updating your subnet group to use different +// Availability Zones that have more storage available. +// +// * DBClusterQuotaExceededFault +// User attempted to create a new DB cluster and the user has already reached +// the maximum allowed DB cluster quota. +// +// * StorageQuotaExceeded +// Request would result in user exceeding the allowed amount of storage available +// across all DB instances. +// +// * DBSubnetGroupNotFoundFault +// DBSubnetGroupName does not refer to an existing DB subnet group. +// +// * InvalidVPCNetworkStateFault +// DB subnet group does not cover all Availability Zones after it is created +// because users' change. +// +// * InvalidDBClusterStateFault +// The DB cluster is not in a valid state. +// +// * InvalidDBSubnetGroupStateFault +// The DB subnet group cannot be deleted because it is in use. +// +// * InvalidSubnet +// The requested subnet is invalid, or multiple subnets were requested that +// are not all in a common VPC. +// +// * DBClusterParameterGroupNotFound +// DBClusterParameterGroupName does not refer to an existing DB Cluster parameter +// group. +// +// * KMSKeyNotAccessibleFault +// Error accessing KMS key. +// +// * DBClusterNotFoundFault +// DBClusterIdentifier does not refer to an existing DB cluster. +// func (c *RDS) CreateDBCluster(input *CreateDBClusterInput) (*CreateDBClusterOutput, error) { req, out := c.CreateDBClusterRequest(input) err := req.Send() @@ -286,7 +784,30 @@ func (c *RDS) CreateDBCluster(input *CreateDBClusterInput) (*CreateDBClusterOutp const opCreateDBClusterParameterGroup = "CreateDBClusterParameterGroup" -// CreateDBClusterParameterGroupRequest generates a request for the CreateDBClusterParameterGroup operation. +// CreateDBClusterParameterGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateDBClusterParameterGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateDBClusterParameterGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateDBClusterParameterGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateDBClusterParameterGroupRequest method. +// req, resp := client.CreateDBClusterParameterGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) CreateDBClusterParameterGroupRequest(input *CreateDBClusterParameterGroupInput) (req *request.Request, output *CreateDBClusterParameterGroupOutput) { op := &request.Operation{ Name: opCreateDBClusterParameterGroup, @@ -304,9 +825,11 @@ func (c *RDS) CreateDBClusterParameterGroupRequest(input *CreateDBClusterParamet return } +// CreateDBClusterParameterGroup API operation for Amazon Relational Database Service. +// // Creates a new DB cluster parameter group. // -// Parameters in a DB cluster parameter group apply to all of the instances +// Parameters in a DB cluster parameter group apply to all of the instances // in a DB cluster. // // A DB cluster parameter group is initially created with the default parameters @@ -332,6 +855,22 @@ func (c *RDS) CreateDBClusterParameterGroupRequest(input *CreateDBClusterParamet // // For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) // in the Amazon RDS 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 +// the error. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation CreateDBClusterParameterGroup for usage and error information. +// +// Returned Error Codes: +// * DBParameterGroupQuotaExceeded +// Request would result in user exceeding the allowed number of DB parameter +// groups. +// +// * DBParameterGroupAlreadyExists +// A DB parameter group with the same name exists. +// func (c *RDS) CreateDBClusterParameterGroup(input *CreateDBClusterParameterGroupInput) (*CreateDBClusterParameterGroupOutput, error) { req, out := c.CreateDBClusterParameterGroupRequest(input) err := req.Send() @@ -340,7 +879,30 @@ func (c *RDS) CreateDBClusterParameterGroup(input *CreateDBClusterParameterGroup const opCreateDBClusterSnapshot = "CreateDBClusterSnapshot" -// CreateDBClusterSnapshotRequest generates a request for the CreateDBClusterSnapshot operation. +// CreateDBClusterSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the CreateDBClusterSnapshot operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateDBClusterSnapshot for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateDBClusterSnapshot method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateDBClusterSnapshotRequest method. +// req, resp := client.CreateDBClusterSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) CreateDBClusterSnapshotRequest(input *CreateDBClusterSnapshotInput) (req *request.Request, output *CreateDBClusterSnapshotOutput) { op := &request.Operation{ Name: opCreateDBClusterSnapshot, @@ -358,9 +920,35 @@ func (c *RDS) CreateDBClusterSnapshotRequest(input *CreateDBClusterSnapshotInput return } +// CreateDBClusterSnapshot API operation for Amazon Relational Database Service. +// // Creates a snapshot of a DB cluster. For more information on Amazon Aurora, // see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) // in the Amazon RDS 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 +// the error. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation CreateDBClusterSnapshot for usage and error information. +// +// Returned Error Codes: +// * DBClusterSnapshotAlreadyExistsFault +// User already has a DB cluster snapshot with the given identifier. +// +// * InvalidDBClusterStateFault +// The DB cluster is not in a valid state. +// +// * DBClusterNotFoundFault +// DBClusterIdentifier does not refer to an existing DB cluster. +// +// * SnapshotQuotaExceeded +// Request would result in user exceeding the allowed number of DB snapshots. +// +// * InvalidDBClusterSnapshotStateFault +// The supplied value is not a valid DB cluster snapshot state. +// func (c *RDS) CreateDBClusterSnapshot(input *CreateDBClusterSnapshotInput) (*CreateDBClusterSnapshotOutput, error) { req, out := c.CreateDBClusterSnapshotRequest(input) err := req.Send() @@ -369,7 +957,30 @@ func (c *RDS) CreateDBClusterSnapshot(input *CreateDBClusterSnapshotInput) (*Cre const opCreateDBInstance = "CreateDBInstance" -// CreateDBInstanceRequest generates a request for the CreateDBInstance operation. +// CreateDBInstanceRequest generates a "aws/request.Request" representing the +// client's request for the CreateDBInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateDBInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateDBInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateDBInstanceRequest method. +// req, resp := client.CreateDBInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) CreateDBInstanceRequest(input *CreateDBInstanceInput) (req *request.Request, output *CreateDBInstanceOutput) { op := &request.Operation{ Name: opCreateDBInstance, @@ -387,7 +998,81 @@ func (c *RDS) CreateDBInstanceRequest(input *CreateDBInstanceInput) (req *reques return } +// CreateDBInstance API operation for Amazon Relational Database Service. +// // Creates a new DB instance. +// +// 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 Relational Database Service's +// API operation CreateDBInstance for usage and error information. +// +// Returned Error Codes: +// * DBInstanceAlreadyExists +// User already has a DB instance with the given identifier. +// +// * InsufficientDBInstanceCapacity +// Specified DB instance class is not available in the specified Availability +// Zone. +// +// * DBParameterGroupNotFound +// DBParameterGroupName does not refer to an existing DB parameter group. +// +// * DBSecurityGroupNotFound +// DBSecurityGroupName does not refer to an existing DB security group. +// +// * InstanceQuotaExceeded +// Request would result in user exceeding the allowed number of DB instances. +// +// * StorageQuotaExceeded +// Request would result in user exceeding the allowed amount of storage available +// across all DB instances. +// +// * DBSubnetGroupNotFoundFault +// DBSubnetGroupName does not refer to an existing DB subnet group. +// +// * DBSubnetGroupDoesNotCoverEnoughAZs +// Subnets in the DB subnet group should cover at least two Availability Zones +// unless there is only one Availability Zone. +// +// * InvalidDBClusterStateFault +// The DB cluster is not in a valid state. +// +// * InvalidSubnet +// The requested subnet is invalid, or multiple subnets were requested that +// are not all in a common VPC. +// +// * InvalidVPCNetworkStateFault +// DB subnet group does not cover all Availability Zones after it is created +// because users' change. +// +// * ProvisionedIopsNotAvailableInAZFault +// Provisioned IOPS not available in the specified Availability Zone. +// +// * OptionGroupNotFoundFault +// The specified option group could not be found. +// +// * DBClusterNotFoundFault +// DBClusterIdentifier does not refer to an existing DB cluster. +// +// * StorageTypeNotSupported +// StorageType specified cannot be associated with the DB Instance. +// +// * AuthorizationNotFound +// Specified CIDRIP or EC2 security group is not authorized for the specified +// DB security group. +// +// RDS may not also be authorized via IAM to perform necessary actions on your +// behalf. +// +// * KMSKeyNotAccessibleFault +// Error accessing KMS key. +// +// * DomainNotFoundFault +// Domain does not refer to an existing Active Directory Domain. +// func (c *RDS) CreateDBInstance(input *CreateDBInstanceInput) (*CreateDBInstanceOutput, error) { req, out := c.CreateDBInstanceRequest(input) err := req.Send() @@ -396,7 +1081,30 @@ func (c *RDS) CreateDBInstance(input *CreateDBInstanceInput) (*CreateDBInstanceO const opCreateDBInstanceReadReplica = "CreateDBInstanceReadReplica" -// CreateDBInstanceReadReplicaRequest generates a request for the CreateDBInstanceReadReplica operation. +// CreateDBInstanceReadReplicaRequest generates a "aws/request.Request" representing the +// client's request for the CreateDBInstanceReadReplica operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateDBInstanceReadReplica for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateDBInstanceReadReplica method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateDBInstanceReadReplicaRequest method. +// req, resp := client.CreateDBInstanceReadReplicaRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) CreateDBInstanceReadReplicaRequest(input *CreateDBInstanceReadReplicaInput) (req *request.Request, output *CreateDBInstanceReadReplicaOutput) { op := &request.Operation{ Name: opCreateDBInstanceReadReplica, @@ -414,15 +1122,87 @@ func (c *RDS) CreateDBInstanceReadReplicaRequest(input *CreateDBInstanceReadRepl return } +// CreateDBInstanceReadReplica API operation for Amazon Relational Database Service. +// // Creates a DB instance for a DB instance running MySQL, MariaDB, or PostgreSQL // that acts as a Read Replica of a source DB instance. // -// All Read Replica DB instances are created as Single-AZ deployments with +// All Read Replica DB instances are created as Single-AZ deployments with // backups disabled. All other DB instance attributes (including DB security // groups and DB parameter groups) are inherited from the source DB instance, // except as specified below. // -// The source DB instance must have backup retention enabled. +// The source DB instance must have backup retention enabled. +// +// 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 Relational Database Service's +// API operation CreateDBInstanceReadReplica for usage and error information. +// +// Returned Error Codes: +// * DBInstanceAlreadyExists +// User already has a DB instance with the given identifier. +// +// * InsufficientDBInstanceCapacity +// Specified DB instance class is not available in the specified Availability +// Zone. +// +// * DBParameterGroupNotFound +// DBParameterGroupName does not refer to an existing DB parameter group. +// +// * DBSecurityGroupNotFound +// DBSecurityGroupName does not refer to an existing DB security group. +// +// * InstanceQuotaExceeded +// Request would result in user exceeding the allowed number of DB instances. +// +// * StorageQuotaExceeded +// Request would result in user exceeding the allowed amount of storage available +// across all DB instances. +// +// * DBInstanceNotFound +// DBInstanceIdentifier does not refer to an existing DB instance. +// +// * InvalidDBInstanceState +// The specified DB instance is not in the available state. +// +// * DBSubnetGroupNotFoundFault +// DBSubnetGroupName does not refer to an existing DB subnet group. +// +// * DBSubnetGroupDoesNotCoverEnoughAZs +// Subnets in the DB subnet group should cover at least two Availability Zones +// unless there is only one Availability Zone. +// +// * InvalidSubnet +// The requested subnet is invalid, or multiple subnets were requested that +// are not all in a common VPC. +// +// * InvalidVPCNetworkStateFault +// DB subnet group does not cover all Availability Zones after it is created +// because users' change. +// +// * ProvisionedIopsNotAvailableInAZFault +// Provisioned IOPS not available in the specified Availability Zone. +// +// * OptionGroupNotFoundFault +// The specified option group could not be found. +// +// * DBSubnetGroupNotAllowedFault +// Indicates that the DBSubnetGroup should not be specified while creating read +// replicas that lie in the same region as the source instance. +// +// * InvalidDBSubnetGroupFault +// Indicates the DBSubnetGroup does not belong to the same VPC as that of an +// existing cross region read replica of the same source instance. +// +// * StorageTypeNotSupported +// StorageType specified cannot be associated with the DB Instance. +// +// * KMSKeyNotAccessibleFault +// Error accessing KMS key. +// func (c *RDS) CreateDBInstanceReadReplica(input *CreateDBInstanceReadReplicaInput) (*CreateDBInstanceReadReplicaOutput, error) { req, out := c.CreateDBInstanceReadReplicaRequest(input) err := req.Send() @@ -431,7 +1211,30 @@ func (c *RDS) CreateDBInstanceReadReplica(input *CreateDBInstanceReadReplicaInpu const opCreateDBParameterGroup = "CreateDBParameterGroup" -// CreateDBParameterGroupRequest generates a request for the CreateDBParameterGroup operation. +// CreateDBParameterGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateDBParameterGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateDBParameterGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateDBParameterGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateDBParameterGroupRequest method. +// req, resp := client.CreateDBParameterGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) CreateDBParameterGroupRequest(input *CreateDBParameterGroupInput) (req *request.Request, output *CreateDBParameterGroupOutput) { op := &request.Operation{ Name: opCreateDBParameterGroup, @@ -449,6 +1252,8 @@ func (c *RDS) CreateDBParameterGroupRequest(input *CreateDBParameterGroupInput) return } +// CreateDBParameterGroup API operation for Amazon Relational Database Service. +// // Creates a new DB parameter group. // // A DB parameter group is initially created with the default parameters for @@ -470,15 +1275,54 @@ func (c *RDS) CreateDBParameterGroupRequest(input *CreateDBParameterGroupInput) // You can use the Parameter Groups option of the Amazon RDS console (https://console.aws.amazon.com/rds/) // or the DescribeDBParameters command to verify that your DB parameter group // has been created or modified. -func (c *RDS) CreateDBParameterGroup(input *CreateDBParameterGroupInput) (*CreateDBParameterGroupOutput, error) { - req, out := c.CreateDBParameterGroupRequest(input) - err := req.Send() - return out, err +// +// 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 Relational Database Service's +// API operation CreateDBParameterGroup for usage and error information. +// +// Returned Error Codes: +// * DBParameterGroupQuotaExceeded +// Request would result in user exceeding the allowed number of DB parameter +// groups. +// +// * DBParameterGroupAlreadyExists +// A DB parameter group with the same name exists. +// +func (c *RDS) CreateDBParameterGroup(input *CreateDBParameterGroupInput) (*CreateDBParameterGroupOutput, error) { + req, out := c.CreateDBParameterGroupRequest(input) + err := req.Send() + return out, err } const opCreateDBSecurityGroup = "CreateDBSecurityGroup" -// CreateDBSecurityGroupRequest generates a request for the CreateDBSecurityGroup operation. +// CreateDBSecurityGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateDBSecurityGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateDBSecurityGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateDBSecurityGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateDBSecurityGroupRequest method. +// req, resp := client.CreateDBSecurityGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) CreateDBSecurityGroupRequest(input *CreateDBSecurityGroupInput) (req *request.Request, output *CreateDBSecurityGroupOutput) { op := &request.Operation{ Name: opCreateDBSecurityGroup, @@ -496,8 +1340,30 @@ func (c *RDS) CreateDBSecurityGroupRequest(input *CreateDBSecurityGroupInput) (r return } +// CreateDBSecurityGroup API operation for Amazon Relational Database Service. +// // Creates a new DB security group. DB security groups control access to a DB // instance. +// +// 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 Relational Database Service's +// API operation CreateDBSecurityGroup for usage and error information. +// +// Returned Error Codes: +// * DBSecurityGroupAlreadyExists +// A DB security group with the name specified in DBSecurityGroupName already +// exists. +// +// * QuotaExceeded.DBSecurityGroup +// Request would result in user exceeding the allowed number of DB security +// groups. +// +// * DBSecurityGroupNotSupported +// A DB security group is not allowed for this action. +// func (c *RDS) CreateDBSecurityGroup(input *CreateDBSecurityGroupInput) (*CreateDBSecurityGroupOutput, error) { req, out := c.CreateDBSecurityGroupRequest(input) err := req.Send() @@ -506,7 +1372,30 @@ func (c *RDS) CreateDBSecurityGroup(input *CreateDBSecurityGroupInput) (*CreateD const opCreateDBSnapshot = "CreateDBSnapshot" -// CreateDBSnapshotRequest generates a request for the CreateDBSnapshot operation. +// CreateDBSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the CreateDBSnapshot operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateDBSnapshot for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateDBSnapshot method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateDBSnapshotRequest method. +// req, resp := client.CreateDBSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) CreateDBSnapshotRequest(input *CreateDBSnapshotInput) (req *request.Request, output *CreateDBSnapshotOutput) { op := &request.Operation{ Name: opCreateDBSnapshot, @@ -524,7 +1413,30 @@ func (c *RDS) CreateDBSnapshotRequest(input *CreateDBSnapshotInput) (req *reques return } +// CreateDBSnapshot API operation for Amazon Relational Database Service. +// // Creates a DBSnapshot. The source DBInstance must be in "available" state. +// +// 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 Relational Database Service's +// API operation CreateDBSnapshot for usage and error information. +// +// Returned Error Codes: +// * DBSnapshotAlreadyExists +// DBSnapshotIdentifier is already used by an existing snapshot. +// +// * InvalidDBInstanceState +// The specified DB instance is not in the available state. +// +// * DBInstanceNotFound +// DBInstanceIdentifier does not refer to an existing DB instance. +// +// * SnapshotQuotaExceeded +// Request would result in user exceeding the allowed number of DB snapshots. +// func (c *RDS) CreateDBSnapshot(input *CreateDBSnapshotInput) (*CreateDBSnapshotOutput, error) { req, out := c.CreateDBSnapshotRequest(input) err := req.Send() @@ -533,7 +1445,30 @@ func (c *RDS) CreateDBSnapshot(input *CreateDBSnapshotInput) (*CreateDBSnapshotO const opCreateDBSubnetGroup = "CreateDBSubnetGroup" -// CreateDBSubnetGroupRequest generates a request for the CreateDBSubnetGroup operation. +// CreateDBSubnetGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateDBSubnetGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateDBSubnetGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateDBSubnetGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateDBSubnetGroupRequest method. +// req, resp := client.CreateDBSubnetGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) CreateDBSubnetGroupRequest(input *CreateDBSubnetGroupInput) (req *request.Request, output *CreateDBSubnetGroupOutput) { op := &request.Operation{ Name: opCreateDBSubnetGroup, @@ -551,8 +1486,37 @@ func (c *RDS) CreateDBSubnetGroupRequest(input *CreateDBSubnetGroupInput) (req * return } +// CreateDBSubnetGroup API operation for Amazon Relational Database Service. +// // Creates a new DB subnet group. DB subnet groups must contain at least one // subnet in at least two AZs in the 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 +// the error. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation CreateDBSubnetGroup for usage and error information. +// +// Returned Error Codes: +// * DBSubnetGroupAlreadyExists +// DBSubnetGroupName is already used by an existing DB subnet group. +// +// * DBSubnetGroupQuotaExceeded +// Request would result in user exceeding the allowed number of DB subnet groups. +// +// * DBSubnetQuotaExceededFault +// Request would result in user exceeding the allowed number of subnets in a +// DB subnet groups. +// +// * DBSubnetGroupDoesNotCoverEnoughAZs +// Subnets in the DB subnet group should cover at least two Availability Zones +// unless there is only one Availability Zone. +// +// * InvalidSubnet +// The requested subnet is invalid, or multiple subnets were requested that +// are not all in a common VPC. +// func (c *RDS) CreateDBSubnetGroup(input *CreateDBSubnetGroupInput) (*CreateDBSubnetGroupOutput, error) { req, out := c.CreateDBSubnetGroupRequest(input) err := req.Send() @@ -561,7 +1525,30 @@ func (c *RDS) CreateDBSubnetGroup(input *CreateDBSubnetGroupInput) (*CreateDBSub const opCreateEventSubscription = "CreateEventSubscription" -// CreateEventSubscriptionRequest generates a request for the CreateEventSubscription operation. +// CreateEventSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the CreateEventSubscription operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateEventSubscription for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateEventSubscription method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateEventSubscriptionRequest method. +// req, resp := client.CreateEventSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) CreateEventSubscriptionRequest(input *CreateEventSubscriptionInput) (req *request.Request, output *CreateEventSubscriptionOutput) { op := &request.Operation{ Name: opCreateEventSubscription, @@ -579,6 +1566,8 @@ func (c *RDS) CreateEventSubscriptionRequest(input *CreateEventSubscriptionInput return } +// CreateEventSubscription API operation for Amazon Relational Database Service. +// // Creates an RDS event notification subscription. This action requires a topic // ARN (Amazon Resource Name) created by either the RDS console, the SNS console, // or the SNS API. To obtain an ARN with SNS, you must create a topic in Amazon @@ -598,6 +1587,36 @@ func (c *RDS) CreateEventSubscriptionRequest(input *CreateEventSubscriptionInput // type for all your RDS sources. If you do not specify either the SourceType // nor the SourceIdentifier, you will be notified of events generated from all // RDS sources belonging to your customer 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 Relational Database Service's +// API operation CreateEventSubscription for usage and error information. +// +// Returned Error Codes: +// * EventSubscriptionQuotaExceeded +// You have reached the maximum number of event subscriptions. +// +// * SubscriptionAlreadyExist +// The supplied subscription name already exists. +// +// * SNSInvalidTopic +// SNS has responded that there is a problem with the SND topic specified. +// +// * SNSNoAuthorization +// You do not have permission to publish to the SNS topic ARN. +// +// * SNSTopicArnNotFound +// The SNS topic ARN does not exist. +// +// * SubscriptionCategoryNotFound +// The supplied category does not exist. +// +// * SourceNotFound +// The requested source could not be found. +// func (c *RDS) CreateEventSubscription(input *CreateEventSubscriptionInput) (*CreateEventSubscriptionOutput, error) { req, out := c.CreateEventSubscriptionRequest(input) err := req.Send() @@ -606,7 +1625,30 @@ func (c *RDS) CreateEventSubscription(input *CreateEventSubscriptionInput) (*Cre const opCreateOptionGroup = "CreateOptionGroup" -// CreateOptionGroupRequest generates a request for the CreateOptionGroup operation. +// CreateOptionGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateOptionGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateOptionGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateOptionGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateOptionGroupRequest method. +// req, resp := client.CreateOptionGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) CreateOptionGroupRequest(input *CreateOptionGroupInput) (req *request.Request, output *CreateOptionGroupOutput) { op := &request.Operation{ Name: opCreateOptionGroup, @@ -624,7 +1666,24 @@ func (c *RDS) CreateOptionGroupRequest(input *CreateOptionGroupInput) (req *requ return } +// CreateOptionGroup API operation for Amazon Relational Database Service. +// // Creates a new option group. You can create up to 20 option groups. +// +// 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 Relational Database Service's +// API operation CreateOptionGroup for usage and error information. +// +// Returned Error Codes: +// * OptionGroupAlreadyExistsFault +// The option group you are trying to create already exists. +// +// * OptionGroupQuotaExceededFault +// The quota of 20 option groups was exceeded for this AWS account. +// func (c *RDS) CreateOptionGroup(input *CreateOptionGroupInput) (*CreateOptionGroupOutput, error) { req, out := c.CreateOptionGroupRequest(input) err := req.Send() @@ -633,7 +1692,30 @@ func (c *RDS) CreateOptionGroup(input *CreateOptionGroupInput) (*CreateOptionGro const opDeleteDBCluster = "DeleteDBCluster" -// DeleteDBClusterRequest generates a request for the DeleteDBCluster operation. +// DeleteDBClusterRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDBCluster operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteDBCluster for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteDBCluster method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteDBClusterRequest method. +// req, resp := client.DeleteDBClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DeleteDBClusterRequest(input *DeleteDBClusterInput) (req *request.Request, output *DeleteDBClusterOutput) { op := &request.Operation{ Name: opDeleteDBCluster, @@ -651,14 +1733,39 @@ func (c *RDS) DeleteDBClusterRequest(input *DeleteDBClusterInput) (req *request. return } -// The DeleteDBCluster action deletes a previously provisioned DB cluster. A -// successful response from the web service indicates the request was received -// correctly. When you delete a DB cluster, all automated backups for that DB -// cluster are deleted and cannot be recovered. Manual DB cluster snapshots -// of the DB cluster to be deleted are not deleted. +// DeleteDBCluster API operation for Amazon Relational Database Service. // -// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) +// The DeleteDBCluster action deletes a previously provisioned DB cluster. When +// you delete a DB cluster, all automated backups for that DB cluster are deleted +// and cannot be recovered. Manual DB cluster snapshots of the specified DB +// cluster are not deleted. +// +// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) // in the Amazon RDS 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 +// the error. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation DeleteDBCluster for usage and error information. +// +// Returned Error Codes: +// * DBClusterNotFoundFault +// DBClusterIdentifier does not refer to an existing DB cluster. +// +// * InvalidDBClusterStateFault +// The DB cluster is not in a valid state. +// +// * DBClusterSnapshotAlreadyExistsFault +// User already has a DB cluster snapshot with the given identifier. +// +// * SnapshotQuotaExceeded +// Request would result in user exceeding the allowed number of DB snapshots. +// +// * InvalidDBClusterSnapshotStateFault +// The supplied value is not a valid DB cluster snapshot state. +// func (c *RDS) DeleteDBCluster(input *DeleteDBClusterInput) (*DeleteDBClusterOutput, error) { req, out := c.DeleteDBClusterRequest(input) err := req.Send() @@ -667,7 +1774,30 @@ func (c *RDS) DeleteDBCluster(input *DeleteDBClusterInput) (*DeleteDBClusterOutp const opDeleteDBClusterParameterGroup = "DeleteDBClusterParameterGroup" -// DeleteDBClusterParameterGroupRequest generates a request for the DeleteDBClusterParameterGroup operation. +// DeleteDBClusterParameterGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDBClusterParameterGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteDBClusterParameterGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteDBClusterParameterGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteDBClusterParameterGroupRequest method. +// req, resp := client.DeleteDBClusterParameterGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DeleteDBClusterParameterGroupRequest(input *DeleteDBClusterParameterGroupInput) (req *request.Request, output *DeleteDBClusterParameterGroupOutput) { op := &request.Operation{ Name: opDeleteDBClusterParameterGroup, @@ -687,11 +1817,28 @@ func (c *RDS) DeleteDBClusterParameterGroupRequest(input *DeleteDBClusterParamet return } +// DeleteDBClusterParameterGroup API operation for Amazon Relational Database Service. +// // Deletes a specified DB cluster parameter group. The DB cluster parameter // group to be deleted cannot be associated with any DB clusters. // // For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) // in the Amazon RDS 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 +// the error. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation DeleteDBClusterParameterGroup for usage and error information. +// +// Returned Error Codes: +// * InvalidDBParameterGroupState +// The DB parameter group cannot be deleted because it is in use. +// +// * DBParameterGroupNotFound +// DBParameterGroupName does not refer to an existing DB parameter group. +// func (c *RDS) DeleteDBClusterParameterGroup(input *DeleteDBClusterParameterGroupInput) (*DeleteDBClusterParameterGroupOutput, error) { req, out := c.DeleteDBClusterParameterGroupRequest(input) err := req.Send() @@ -700,7 +1847,30 @@ func (c *RDS) DeleteDBClusterParameterGroup(input *DeleteDBClusterParameterGroup const opDeleteDBClusterSnapshot = "DeleteDBClusterSnapshot" -// DeleteDBClusterSnapshotRequest generates a request for the DeleteDBClusterSnapshot operation. +// DeleteDBClusterSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDBClusterSnapshot operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteDBClusterSnapshot for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteDBClusterSnapshot method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteDBClusterSnapshotRequest method. +// req, resp := client.DeleteDBClusterSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DeleteDBClusterSnapshotRequest(input *DeleteDBClusterSnapshotInput) (req *request.Request, output *DeleteDBClusterSnapshotOutput) { op := &request.Operation{ Name: opDeleteDBClusterSnapshot, @@ -718,12 +1888,30 @@ func (c *RDS) DeleteDBClusterSnapshotRequest(input *DeleteDBClusterSnapshotInput return } +// DeleteDBClusterSnapshot API operation for Amazon Relational Database Service. +// // Deletes a DB cluster snapshot. If the snapshot is being copied, the copy // operation is terminated. // -// The DB cluster snapshot must be in the available state to be deleted. For -// more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) +// The DB cluster snapshot must be in the available state to be deleted. +// +// For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) // in the Amazon RDS 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 +// the error. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation DeleteDBClusterSnapshot for usage and error information. +// +// Returned Error Codes: +// * InvalidDBClusterSnapshotStateFault +// The supplied value is not a valid DB cluster snapshot state. +// +// * DBClusterSnapshotNotFoundFault +// DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot. +// func (c *RDS) DeleteDBClusterSnapshot(input *DeleteDBClusterSnapshotInput) (*DeleteDBClusterSnapshotOutput, error) { req, out := c.DeleteDBClusterSnapshotRequest(input) err := req.Send() @@ -732,7 +1920,30 @@ func (c *RDS) DeleteDBClusterSnapshot(input *DeleteDBClusterSnapshotInput) (*Del const opDeleteDBInstance = "DeleteDBInstance" -// DeleteDBInstanceRequest generates a request for the DeleteDBInstance operation. +// DeleteDBInstanceRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDBInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteDBInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteDBInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteDBInstanceRequest method. +// req, resp := client.DeleteDBInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DeleteDBInstanceRequest(input *DeleteDBInstanceInput) (req *request.Request, output *DeleteDBInstanceOutput) { op := &request.Operation{ Name: opDeleteDBInstance, @@ -750,20 +1961,57 @@ func (c *RDS) DeleteDBInstanceRequest(input *DeleteDBInstanceInput) (req *reques return } +// DeleteDBInstance API operation for Amazon Relational Database Service. +// // The DeleteDBInstance action deletes a previously provisioned DB instance. -// A successful response from the web service indicates the request was received -// correctly. When you delete a DB instance, all automated backups for that -// instance are deleted and cannot be recovered. Manual DB snapshots of the -// DB instance to be deleted are not deleted. +// When you delete a DB instance, all automated backups for that instance are +// deleted and cannot be recovered. Manual DB snapshots of the DB instance to +// be deleted by DeleteDBInstance are not deleted. // -// If a final DB snapshot is requested the status of the RDS instance will -// be "deleting" until the DB snapshot is created. The API action DescribeDBInstance +// If you request a final DB snapshot the status of the Amazon RDS DB instance +// is deleting until the DB snapshot is created. The API action DescribeDBInstance // is used to monitor the status of this operation. The action cannot be canceled // or reverted once submitted. // -// Note that when a DB instance is in a failure state and has a status of 'failed', -// 'incompatible-restore', or 'incompatible-network', it can only be deleted -// when the SkipFinalSnapshot parameter is set to "true". +// Note that when a DB instance is in a failure state and has a status of failed, +// incompatible-restore, or incompatible-network, you can only delete it when +// the SkipFinalSnapshot parameter is set to true. +// +// If the specified DB instance is part of an Amazon Aurora DB cluster, you +// cannot delete the DB instance if the following are true: +// +// The DB cluster is a Read Replica of another Amazon Aurora DB cluster. +// +// The DB instance is the only instance in the DB cluster. +// +// To delete a DB instance in this case, first call the PromoteReadReplicaDBCluster +// API action to promote the DB cluster so it's no longer a Read Replica. After +// the promotion completes, then call the DeleteDBInstance API action to delete +// the final instance in the DB cluster. +// +// 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 Relational Database Service's +// API operation DeleteDBInstance for usage and error information. +// +// Returned Error Codes: +// * DBInstanceNotFound +// DBInstanceIdentifier does not refer to an existing DB instance. +// +// * InvalidDBInstanceState +// The specified DB instance is not in the available state. +// +// * DBSnapshotAlreadyExists +// DBSnapshotIdentifier is already used by an existing snapshot. +// +// * SnapshotQuotaExceeded +// Request would result in user exceeding the allowed number of DB snapshots. +// +// * InvalidDBClusterStateFault +// The DB cluster is not in a valid state. +// func (c *RDS) DeleteDBInstance(input *DeleteDBInstanceInput) (*DeleteDBInstanceOutput, error) { req, out := c.DeleteDBInstanceRequest(input) err := req.Send() @@ -772,7 +2020,30 @@ func (c *RDS) DeleteDBInstance(input *DeleteDBInstanceInput) (*DeleteDBInstanceO const opDeleteDBParameterGroup = "DeleteDBParameterGroup" -// DeleteDBParameterGroupRequest generates a request for the DeleteDBParameterGroup operation. +// DeleteDBParameterGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDBParameterGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteDBParameterGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteDBParameterGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteDBParameterGroupRequest method. +// req, resp := client.DeleteDBParameterGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DeleteDBParameterGroupRequest(input *DeleteDBParameterGroupInput) (req *request.Request, output *DeleteDBParameterGroupOutput) { op := &request.Operation{ Name: opDeleteDBParameterGroup, @@ -792,8 +2063,25 @@ func (c *RDS) DeleteDBParameterGroupRequest(input *DeleteDBParameterGroupInput) return } +// DeleteDBParameterGroup API operation for Amazon Relational Database Service. +// // Deletes a specified DBParameterGroup. The DBParameterGroup to be deleted // cannot be associated with any DB instances. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation DeleteDBParameterGroup for usage and error information. +// +// Returned Error Codes: +// * InvalidDBParameterGroupState +// The DB parameter group cannot be deleted because it is in use. +// +// * DBParameterGroupNotFound +// DBParameterGroupName does not refer to an existing DB parameter group. +// func (c *RDS) DeleteDBParameterGroup(input *DeleteDBParameterGroupInput) (*DeleteDBParameterGroupOutput, error) { req, out := c.DeleteDBParameterGroupRequest(input) err := req.Send() @@ -802,7 +2090,30 @@ func (c *RDS) DeleteDBParameterGroup(input *DeleteDBParameterGroupInput) (*Delet const opDeleteDBSecurityGroup = "DeleteDBSecurityGroup" -// DeleteDBSecurityGroupRequest generates a request for the DeleteDBSecurityGroup operation. +// DeleteDBSecurityGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDBSecurityGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteDBSecurityGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteDBSecurityGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteDBSecurityGroupRequest method. +// req, resp := client.DeleteDBSecurityGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DeleteDBSecurityGroupRequest(input *DeleteDBSecurityGroupInput) (req *request.Request, output *DeleteDBSecurityGroupOutput) { op := &request.Operation{ Name: opDeleteDBSecurityGroup, @@ -822,9 +2133,26 @@ func (c *RDS) DeleteDBSecurityGroupRequest(input *DeleteDBSecurityGroupInput) (r return } +// DeleteDBSecurityGroup API operation for Amazon Relational Database Service. +// // Deletes a DB security group. // -// The specified DB security group must not be associated with any DB instances. +// The specified DB security group must not be associated with any DB instances. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation DeleteDBSecurityGroup for usage and error information. +// +// Returned Error Codes: +// * InvalidDBSecurityGroupState +// The state of the DB security group does not allow deletion. +// +// * DBSecurityGroupNotFound +// DBSecurityGroupName does not refer to an existing DB security group. +// func (c *RDS) DeleteDBSecurityGroup(input *DeleteDBSecurityGroupInput) (*DeleteDBSecurityGroupOutput, error) { req, out := c.DeleteDBSecurityGroupRequest(input) err := req.Send() @@ -833,7 +2161,30 @@ func (c *RDS) DeleteDBSecurityGroup(input *DeleteDBSecurityGroupInput) (*DeleteD const opDeleteDBSnapshot = "DeleteDBSnapshot" -// DeleteDBSnapshotRequest generates a request for the DeleteDBSnapshot operation. +// DeleteDBSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDBSnapshot operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteDBSnapshot for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteDBSnapshot method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteDBSnapshotRequest method. +// req, resp := client.DeleteDBSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DeleteDBSnapshotRequest(input *DeleteDBSnapshotInput) (req *request.Request, output *DeleteDBSnapshotOutput) { op := &request.Operation{ Name: opDeleteDBSnapshot, @@ -851,10 +2202,27 @@ func (c *RDS) DeleteDBSnapshotRequest(input *DeleteDBSnapshotInput) (req *reques return } +// DeleteDBSnapshot API operation for Amazon Relational Database Service. +// // Deletes a DBSnapshot. If the snapshot is being copied, the copy operation // is terminated. // -// The DBSnapshot must be in the available state to be deleted. +// The DBSnapshot must be in the available state to be deleted. +// +// 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 Relational Database Service's +// API operation DeleteDBSnapshot for usage and error information. +// +// Returned Error Codes: +// * InvalidDBSnapshotState +// The state of the DB snapshot does not allow deletion. +// +// * DBSnapshotNotFound +// DBSnapshotIdentifier does not refer to an existing DB snapshot. +// func (c *RDS) DeleteDBSnapshot(input *DeleteDBSnapshotInput) (*DeleteDBSnapshotOutput, error) { req, out := c.DeleteDBSnapshotRequest(input) err := req.Send() @@ -863,7 +2231,30 @@ func (c *RDS) DeleteDBSnapshot(input *DeleteDBSnapshotInput) (*DeleteDBSnapshotO const opDeleteDBSubnetGroup = "DeleteDBSubnetGroup" -// DeleteDBSubnetGroupRequest generates a request for the DeleteDBSubnetGroup operation. +// DeleteDBSubnetGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDBSubnetGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteDBSubnetGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteDBSubnetGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteDBSubnetGroupRequest method. +// req, resp := client.DeleteDBSubnetGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DeleteDBSubnetGroupRequest(input *DeleteDBSubnetGroupInput) (req *request.Request, output *DeleteDBSubnetGroupOutput) { op := &request.Operation{ Name: opDeleteDBSubnetGroup, @@ -883,9 +2274,30 @@ func (c *RDS) DeleteDBSubnetGroupRequest(input *DeleteDBSubnetGroupInput) (req * return } +// DeleteDBSubnetGroup API operation for Amazon Relational Database Service. +// // Deletes a DB subnet group. // -// The specified database subnet group must not be associated with any DB instances. +// The specified database subnet group must not be associated with any DB +// instances. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation DeleteDBSubnetGroup for usage and error information. +// +// Returned Error Codes: +// * InvalidDBSubnetGroupStateFault +// The DB subnet group cannot be deleted because it is in use. +// +// * InvalidDBSubnetStateFault +// The DB subnet is not in the available state. +// +// * DBSubnetGroupNotFoundFault +// DBSubnetGroupName does not refer to an existing DB subnet group. +// func (c *RDS) DeleteDBSubnetGroup(input *DeleteDBSubnetGroupInput) (*DeleteDBSubnetGroupOutput, error) { req, out := c.DeleteDBSubnetGroupRequest(input) err := req.Send() @@ -894,7 +2306,30 @@ func (c *RDS) DeleteDBSubnetGroup(input *DeleteDBSubnetGroupInput) (*DeleteDBSub const opDeleteEventSubscription = "DeleteEventSubscription" -// DeleteEventSubscriptionRequest generates a request for the DeleteEventSubscription operation. +// DeleteEventSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteEventSubscription operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteEventSubscription for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteEventSubscription method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteEventSubscriptionRequest method. +// req, resp := client.DeleteEventSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DeleteEventSubscriptionRequest(input *DeleteEventSubscriptionInput) (req *request.Request, output *DeleteEventSubscriptionOutput) { op := &request.Operation{ Name: opDeleteEventSubscription, @@ -912,7 +2347,25 @@ func (c *RDS) DeleteEventSubscriptionRequest(input *DeleteEventSubscriptionInput return } +// DeleteEventSubscription API operation for Amazon Relational Database Service. +// // Deletes an RDS event notification subscription. +// +// 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 Relational Database Service's +// API operation DeleteEventSubscription for usage and error information. +// +// Returned Error Codes: +// * SubscriptionNotFound +// The subscription name does not exist. +// +// * InvalidEventSubscriptionState +// This error can occur if someone else is modifying a subscription. You should +// retry the action. +// func (c *RDS) DeleteEventSubscription(input *DeleteEventSubscriptionInput) (*DeleteEventSubscriptionOutput, error) { req, out := c.DeleteEventSubscriptionRequest(input) err := req.Send() @@ -921,7 +2374,30 @@ func (c *RDS) DeleteEventSubscription(input *DeleteEventSubscriptionInput) (*Del const opDeleteOptionGroup = "DeleteOptionGroup" -// DeleteOptionGroupRequest generates a request for the DeleteOptionGroup operation. +// DeleteOptionGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteOptionGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteOptionGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteOptionGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteOptionGroupRequest method. +// req, resp := client.DeleteOptionGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DeleteOptionGroupRequest(input *DeleteOptionGroupInput) (req *request.Request, output *DeleteOptionGroupOutput) { op := &request.Operation{ Name: opDeleteOptionGroup, @@ -941,7 +2417,24 @@ func (c *RDS) DeleteOptionGroupRequest(input *DeleteOptionGroupInput) (req *requ return } +// DeleteOptionGroup API operation for Amazon Relational Database Service. +// // Deletes an existing option group. +// +// 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 Relational Database Service's +// API operation DeleteOptionGroup for usage and error information. +// +// Returned Error Codes: +// * OptionGroupNotFoundFault +// The specified option group could not be found. +// +// * InvalidOptionGroupStateFault +// The option group is not in the available state. +// func (c *RDS) DeleteOptionGroup(input *DeleteOptionGroupInput) (*DeleteOptionGroupOutput, error) { req, out := c.DeleteOptionGroupRequest(input) err := req.Send() @@ -950,7 +2443,30 @@ func (c *RDS) DeleteOptionGroup(input *DeleteOptionGroupInput) (*DeleteOptionGro const opDescribeAccountAttributes = "DescribeAccountAttributes" -// DescribeAccountAttributesRequest generates a request for the DescribeAccountAttributes operation. +// DescribeAccountAttributesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAccountAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeAccountAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeAccountAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeAccountAttributesRequest method. +// req, resp := client.DescribeAccountAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) { op := &request.Operation{ Name: opDescribeAccountAttributes, @@ -968,12 +2484,21 @@ func (c *RDS) DescribeAccountAttributesRequest(input *DescribeAccountAttributesI return } +// DescribeAccountAttributes API operation for Amazon Relational Database Service. +// // Lists all of the attributes for a customer account. The attributes include // Amazon RDS quotas for the account, such as the number of DB instances allowed. // The description for a quota includes the quota name, current usage toward // that quota, and the quota's maximum value. // // This command does not take any 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 +// the error. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation DescribeAccountAttributes for usage and error information. func (c *RDS) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) { req, out := c.DescribeAccountAttributesRequest(input) err := req.Send() @@ -982,7 +2507,30 @@ func (c *RDS) DescribeAccountAttributes(input *DescribeAccountAttributesInput) ( const opDescribeCertificates = "DescribeCertificates" -// DescribeCertificatesRequest generates a request for the DescribeCertificates operation. +// DescribeCertificatesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCertificates operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeCertificates for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeCertificates method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeCertificatesRequest method. +// req, resp := client.DescribeCertificatesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DescribeCertificatesRequest(input *DescribeCertificatesInput) (req *request.Request, output *DescribeCertificatesOutput) { op := &request.Operation{ Name: opDescribeCertificates, @@ -1000,7 +2548,21 @@ func (c *RDS) DescribeCertificatesRequest(input *DescribeCertificatesInput) (req return } +// DescribeCertificates API operation for Amazon Relational Database Service. +// // Lists the set of CA certificates provided by Amazon RDS for this AWS 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 Relational Database Service's +// API operation DescribeCertificates for usage and error information. +// +// Returned Error Codes: +// * CertificateNotFound +// CertificateIdentifier does not refer to an existing certificate. +// func (c *RDS) DescribeCertificates(input *DescribeCertificatesInput) (*DescribeCertificatesOutput, error) { req, out := c.DescribeCertificatesRequest(input) err := req.Send() @@ -1009,7 +2571,30 @@ func (c *RDS) DescribeCertificates(input *DescribeCertificatesInput) (*DescribeC const opDescribeDBClusterParameterGroups = "DescribeDBClusterParameterGroups" -// DescribeDBClusterParameterGroupsRequest generates a request for the DescribeDBClusterParameterGroups operation. +// DescribeDBClusterParameterGroupsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDBClusterParameterGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeDBClusterParameterGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeDBClusterParameterGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeDBClusterParameterGroupsRequest method. +// req, resp := client.DescribeDBClusterParameterGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DescribeDBClusterParameterGroupsRequest(input *DescribeDBClusterParameterGroupsInput) (req *request.Request, output *DescribeDBClusterParameterGroupsOutput) { op := &request.Operation{ Name: opDescribeDBClusterParameterGroups, @@ -1027,12 +2612,26 @@ func (c *RDS) DescribeDBClusterParameterGroupsRequest(input *DescribeDBClusterPa return } +// DescribeDBClusterParameterGroups API operation for Amazon Relational Database Service. +// // Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName // parameter is specified, the list will contain only the description of the // specified DB cluster parameter group. // // For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) // in the Amazon RDS 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 +// the error. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation DescribeDBClusterParameterGroups for usage and error information. +// +// Returned Error Codes: +// * DBParameterGroupNotFound +// DBParameterGroupName does not refer to an existing DB parameter group. +// func (c *RDS) DescribeDBClusterParameterGroups(input *DescribeDBClusterParameterGroupsInput) (*DescribeDBClusterParameterGroupsOutput, error) { req, out := c.DescribeDBClusterParameterGroupsRequest(input) err := req.Send() @@ -1041,7 +2640,30 @@ func (c *RDS) DescribeDBClusterParameterGroups(input *DescribeDBClusterParameter const opDescribeDBClusterParameters = "DescribeDBClusterParameters" -// DescribeDBClusterParametersRequest generates a request for the DescribeDBClusterParameters operation. +// DescribeDBClusterParametersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDBClusterParameters operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeDBClusterParameters for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeDBClusterParameters method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeDBClusterParametersRequest method. +// req, resp := client.DescribeDBClusterParametersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DescribeDBClusterParametersRequest(input *DescribeDBClusterParametersInput) (req *request.Request, output *DescribeDBClusterParametersOutput) { op := &request.Operation{ Name: opDescribeDBClusterParameters, @@ -1059,20 +2681,132 @@ func (c *RDS) DescribeDBClusterParametersRequest(input *DescribeDBClusterParamet return } +// DescribeDBClusterParameters API operation for Amazon Relational Database Service. +// // Returns the detailed parameter list for a particular DB cluster parameter // group. // // For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) // in the Amazon RDS User Guide. -func (c *RDS) DescribeDBClusterParameters(input *DescribeDBClusterParametersInput) (*DescribeDBClusterParametersOutput, error) { - req, out := c.DescribeDBClusterParametersRequest(input) - err := req.Send() +// +// 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 Relational Database Service's +// API operation DescribeDBClusterParameters for usage and error information. +// +// Returned Error Codes: +// * DBParameterGroupNotFound +// DBParameterGroupName does not refer to an existing DB parameter group. +// +func (c *RDS) DescribeDBClusterParameters(input *DescribeDBClusterParametersInput) (*DescribeDBClusterParametersOutput, error) { + req, out := c.DescribeDBClusterParametersRequest(input) + err := req.Send() + return out, err +} + +const opDescribeDBClusterSnapshotAttributes = "DescribeDBClusterSnapshotAttributes" + +// DescribeDBClusterSnapshotAttributesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDBClusterSnapshotAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeDBClusterSnapshotAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeDBClusterSnapshotAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeDBClusterSnapshotAttributesRequest method. +// req, resp := client.DescribeDBClusterSnapshotAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *RDS) DescribeDBClusterSnapshotAttributesRequest(input *DescribeDBClusterSnapshotAttributesInput) (req *request.Request, output *DescribeDBClusterSnapshotAttributesOutput) { + op := &request.Operation{ + Name: opDescribeDBClusterSnapshotAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeDBClusterSnapshotAttributesInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeDBClusterSnapshotAttributesOutput{} + req.Data = output + return +} + +// DescribeDBClusterSnapshotAttributes API operation for Amazon Relational Database Service. +// +// Returns a list of DB cluster snapshot attribute names and values for a manual +// DB cluster snapshot. +// +// When sharing snapshots with other AWS accounts, DescribeDBClusterSnapshotAttributes +// returns the restore attribute and a list of IDs for the AWS accounts that +// are authorized to copy or restore the manual DB cluster snapshot. If all +// is included in the list of values for the restore attribute, then the manual +// DB cluster snapshot is public and can be copied or restored by all AWS accounts. +// +// To add or remove access for an AWS account to copy or restore a manual DB +// cluster snapshot, or to make the manual DB cluster snapshot public or private, +// use the ModifyDBClusterSnapshotAttribute API action. +// +// 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 Relational Database Service's +// API operation DescribeDBClusterSnapshotAttributes for usage and error information. +// +// Returned Error Codes: +// * DBClusterSnapshotNotFoundFault +// DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot. +// +func (c *RDS) DescribeDBClusterSnapshotAttributes(input *DescribeDBClusterSnapshotAttributesInput) (*DescribeDBClusterSnapshotAttributesOutput, error) { + req, out := c.DescribeDBClusterSnapshotAttributesRequest(input) + err := req.Send() return out, err } const opDescribeDBClusterSnapshots = "DescribeDBClusterSnapshots" -// DescribeDBClusterSnapshotsRequest generates a request for the DescribeDBClusterSnapshots operation. +// DescribeDBClusterSnapshotsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDBClusterSnapshots operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeDBClusterSnapshots for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeDBClusterSnapshots method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeDBClusterSnapshotsRequest method. +// req, resp := client.DescribeDBClusterSnapshotsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DescribeDBClusterSnapshotsRequest(input *DescribeDBClusterSnapshotsInput) (req *request.Request, output *DescribeDBClusterSnapshotsOutput) { op := &request.Operation{ Name: opDescribeDBClusterSnapshots, @@ -1090,10 +2824,25 @@ func (c *RDS) DescribeDBClusterSnapshotsRequest(input *DescribeDBClusterSnapshot return } -// Returns information about DB cluster snapshots. This API supports pagination. +// DescribeDBClusterSnapshots API operation for Amazon Relational Database Service. +// +// Returns information about DB cluster snapshots. This API action supports +// pagination. // // For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) // in the Amazon RDS 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 +// the error. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation DescribeDBClusterSnapshots for usage and error information. +// +// Returned Error Codes: +// * DBClusterSnapshotNotFoundFault +// DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot. +// func (c *RDS) DescribeDBClusterSnapshots(input *DescribeDBClusterSnapshotsInput) (*DescribeDBClusterSnapshotsOutput, error) { req, out := c.DescribeDBClusterSnapshotsRequest(input) err := req.Send() @@ -1102,7 +2851,30 @@ func (c *RDS) DescribeDBClusterSnapshots(input *DescribeDBClusterSnapshotsInput) const opDescribeDBClusters = "DescribeDBClusters" -// DescribeDBClustersRequest generates a request for the DescribeDBClusters operation. +// DescribeDBClustersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDBClusters operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeDBClusters for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeDBClusters method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeDBClustersRequest method. +// req, resp := client.DescribeDBClustersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DescribeDBClustersRequest(input *DescribeDBClustersInput) (req *request.Request, output *DescribeDBClustersOutput) { op := &request.Operation{ Name: opDescribeDBClusters, @@ -1120,11 +2892,25 @@ func (c *RDS) DescribeDBClustersRequest(input *DescribeDBClustersInput) (req *re return } +// DescribeDBClusters API operation for Amazon Relational Database Service. +// // Returns information about provisioned Aurora DB clusters. This API supports // pagination. // // For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) // in the Amazon RDS 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 +// the error. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation DescribeDBClusters for usage and error information. +// +// Returned Error Codes: +// * DBClusterNotFoundFault +// DBClusterIdentifier does not refer to an existing DB cluster. +// func (c *RDS) DescribeDBClusters(input *DescribeDBClustersInput) (*DescribeDBClustersOutput, error) { req, out := c.DescribeDBClustersRequest(input) err := req.Send() @@ -1133,7 +2919,30 @@ func (c *RDS) DescribeDBClusters(input *DescribeDBClustersInput) (*DescribeDBClu const opDescribeDBEngineVersions = "DescribeDBEngineVersions" -// DescribeDBEngineVersionsRequest generates a request for the DescribeDBEngineVersions operation. +// DescribeDBEngineVersionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDBEngineVersions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeDBEngineVersions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeDBEngineVersions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeDBEngineVersionsRequest method. +// req, resp := client.DescribeDBEngineVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DescribeDBEngineVersionsRequest(input *DescribeDBEngineVersionsInput) (req *request.Request, output *DescribeDBEngineVersionsOutput) { op := &request.Operation{ Name: opDescribeDBEngineVersions, @@ -1157,13 +2966,39 @@ func (c *RDS) DescribeDBEngineVersionsRequest(input *DescribeDBEngineVersionsInp return } +// DescribeDBEngineVersions API operation for Amazon Relational Database Service. +// // Returns a list of the available DB engines. +// +// 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 Relational Database Service's +// API operation DescribeDBEngineVersions for usage and error information. func (c *RDS) DescribeDBEngineVersions(input *DescribeDBEngineVersionsInput) (*DescribeDBEngineVersionsOutput, error) { req, out := c.DescribeDBEngineVersionsRequest(input) err := req.Send() return out, err } +// DescribeDBEngineVersionsPages iterates over the pages of a DescribeDBEngineVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeDBEngineVersions 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 DescribeDBEngineVersions operation. +// pageNum := 0 +// err := client.DescribeDBEngineVersionsPages(params, +// func(page *DescribeDBEngineVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *RDS) DescribeDBEngineVersionsPages(input *DescribeDBEngineVersionsInput, fn func(p *DescribeDBEngineVersionsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeDBEngineVersionsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1174,7 +3009,30 @@ func (c *RDS) DescribeDBEngineVersionsPages(input *DescribeDBEngineVersionsInput const opDescribeDBInstances = "DescribeDBInstances" -// DescribeDBInstancesRequest generates a request for the DescribeDBInstances operation. +// DescribeDBInstancesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDBInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeDBInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeDBInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeDBInstancesRequest method. +// req, resp := client.DescribeDBInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DescribeDBInstancesRequest(input *DescribeDBInstancesInput) (req *request.Request, output *DescribeDBInstancesOutput) { op := &request.Operation{ Name: opDescribeDBInstances, @@ -1198,13 +3056,44 @@ func (c *RDS) DescribeDBInstancesRequest(input *DescribeDBInstancesInput) (req * return } +// DescribeDBInstances API operation for Amazon Relational Database Service. +// // Returns information about provisioned RDS instances. This API supports pagination. +// +// 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 Relational Database Service's +// API operation DescribeDBInstances for usage and error information. +// +// Returned Error Codes: +// * DBInstanceNotFound +// DBInstanceIdentifier does not refer to an existing DB instance. +// func (c *RDS) DescribeDBInstances(input *DescribeDBInstancesInput) (*DescribeDBInstancesOutput, error) { req, out := c.DescribeDBInstancesRequest(input) err := req.Send() return out, err } +// DescribeDBInstancesPages iterates over the pages of a DescribeDBInstances operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeDBInstances 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 DescribeDBInstances operation. +// pageNum := 0 +// err := client.DescribeDBInstancesPages(params, +// func(page *DescribeDBInstancesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *RDS) DescribeDBInstancesPages(input *DescribeDBInstancesInput, fn func(p *DescribeDBInstancesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeDBInstancesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1215,7 +3104,30 @@ func (c *RDS) DescribeDBInstancesPages(input *DescribeDBInstancesInput, fn func( const opDescribeDBLogFiles = "DescribeDBLogFiles" -// DescribeDBLogFilesRequest generates a request for the DescribeDBLogFiles operation. +// DescribeDBLogFilesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDBLogFiles operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeDBLogFiles for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeDBLogFiles method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeDBLogFilesRequest method. +// req, resp := client.DescribeDBLogFilesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DescribeDBLogFilesRequest(input *DescribeDBLogFilesInput) (req *request.Request, output *DescribeDBLogFilesOutput) { op := &request.Operation{ Name: opDescribeDBLogFiles, @@ -1239,13 +3151,44 @@ func (c *RDS) DescribeDBLogFilesRequest(input *DescribeDBLogFilesInput) (req *re return } +// DescribeDBLogFiles API operation for Amazon Relational Database Service. +// // Returns a list of DB log files for the DB instance. +// +// 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 Relational Database Service's +// API operation DescribeDBLogFiles for usage and error information. +// +// Returned Error Codes: +// * DBInstanceNotFound +// DBInstanceIdentifier does not refer to an existing DB instance. +// func (c *RDS) DescribeDBLogFiles(input *DescribeDBLogFilesInput) (*DescribeDBLogFilesOutput, error) { req, out := c.DescribeDBLogFilesRequest(input) err := req.Send() return out, err } +// DescribeDBLogFilesPages iterates over the pages of a DescribeDBLogFiles operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeDBLogFiles 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 DescribeDBLogFiles operation. +// pageNum := 0 +// err := client.DescribeDBLogFilesPages(params, +// func(page *DescribeDBLogFilesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *RDS) DescribeDBLogFilesPages(input *DescribeDBLogFilesInput, fn func(p *DescribeDBLogFilesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeDBLogFilesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1256,7 +3199,30 @@ func (c *RDS) DescribeDBLogFilesPages(input *DescribeDBLogFilesInput, fn func(p const opDescribeDBParameterGroups = "DescribeDBParameterGroups" -// DescribeDBParameterGroupsRequest generates a request for the DescribeDBParameterGroups operation. +// DescribeDBParameterGroupsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDBParameterGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeDBParameterGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeDBParameterGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeDBParameterGroupsRequest method. +// req, resp := client.DescribeDBParameterGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DescribeDBParameterGroupsRequest(input *DescribeDBParameterGroupsInput) (req *request.Request, output *DescribeDBParameterGroupsOutput) { op := &request.Operation{ Name: opDescribeDBParameterGroups, @@ -1280,15 +3246,46 @@ func (c *RDS) DescribeDBParameterGroupsRequest(input *DescribeDBParameterGroupsI return } +// DescribeDBParameterGroups API operation for Amazon Relational Database Service. +// // Returns a list of DBParameterGroup descriptions. If a DBParameterGroupName // is specified, the list will contain only the description of the specified // DB parameter group. +// +// 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 Relational Database Service's +// API operation DescribeDBParameterGroups for usage and error information. +// +// Returned Error Codes: +// * DBParameterGroupNotFound +// DBParameterGroupName does not refer to an existing DB parameter group. +// func (c *RDS) DescribeDBParameterGroups(input *DescribeDBParameterGroupsInput) (*DescribeDBParameterGroupsOutput, error) { req, out := c.DescribeDBParameterGroupsRequest(input) err := req.Send() return out, err } +// DescribeDBParameterGroupsPages iterates over the pages of a DescribeDBParameterGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeDBParameterGroups 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 DescribeDBParameterGroups operation. +// pageNum := 0 +// err := client.DescribeDBParameterGroupsPages(params, +// func(page *DescribeDBParameterGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *RDS) DescribeDBParameterGroupsPages(input *DescribeDBParameterGroupsInput, fn func(p *DescribeDBParameterGroupsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeDBParameterGroupsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1299,7 +3296,30 @@ func (c *RDS) DescribeDBParameterGroupsPages(input *DescribeDBParameterGroupsInp const opDescribeDBParameters = "DescribeDBParameters" -// DescribeDBParametersRequest generates a request for the DescribeDBParameters operation. +// DescribeDBParametersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDBParameters operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeDBParameters for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeDBParameters method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeDBParametersRequest method. +// req, resp := client.DescribeDBParametersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DescribeDBParametersRequest(input *DescribeDBParametersInput) (req *request.Request, output *DescribeDBParametersOutput) { op := &request.Operation{ Name: opDescribeDBParameters, @@ -1323,13 +3343,44 @@ func (c *RDS) DescribeDBParametersRequest(input *DescribeDBParametersInput) (req return } +// DescribeDBParameters API operation for Amazon Relational Database Service. +// // Returns the detailed parameter list for a particular DB parameter group. +// +// 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 Relational Database Service's +// API operation DescribeDBParameters for usage and error information. +// +// Returned Error Codes: +// * DBParameterGroupNotFound +// DBParameterGroupName does not refer to an existing DB parameter group. +// func (c *RDS) DescribeDBParameters(input *DescribeDBParametersInput) (*DescribeDBParametersOutput, error) { req, out := c.DescribeDBParametersRequest(input) err := req.Send() return out, err } +// DescribeDBParametersPages iterates over the pages of a DescribeDBParameters operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeDBParameters 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 DescribeDBParameters operation. +// pageNum := 0 +// err := client.DescribeDBParametersPages(params, +// func(page *DescribeDBParametersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *RDS) DescribeDBParametersPages(input *DescribeDBParametersInput, fn func(p *DescribeDBParametersOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeDBParametersRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1340,7 +3391,30 @@ func (c *RDS) DescribeDBParametersPages(input *DescribeDBParametersInput, fn fun const opDescribeDBSecurityGroups = "DescribeDBSecurityGroups" -// DescribeDBSecurityGroupsRequest generates a request for the DescribeDBSecurityGroups operation. +// DescribeDBSecurityGroupsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDBSecurityGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeDBSecurityGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeDBSecurityGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeDBSecurityGroupsRequest method. +// req, resp := client.DescribeDBSecurityGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DescribeDBSecurityGroupsRequest(input *DescribeDBSecurityGroupsInput) (req *request.Request, output *DescribeDBSecurityGroupsOutput) { op := &request.Operation{ Name: opDescribeDBSecurityGroups, @@ -1364,15 +3438,46 @@ func (c *RDS) DescribeDBSecurityGroupsRequest(input *DescribeDBSecurityGroupsInp return } +// DescribeDBSecurityGroups API operation for Amazon Relational Database Service. +// // Returns a list of DBSecurityGroup descriptions. If a DBSecurityGroupName // is specified, the list will contain only the descriptions of the specified // DB security group. +// +// 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 Relational Database Service's +// API operation DescribeDBSecurityGroups for usage and error information. +// +// Returned Error Codes: +// * DBSecurityGroupNotFound +// DBSecurityGroupName does not refer to an existing DB security group. +// func (c *RDS) DescribeDBSecurityGroups(input *DescribeDBSecurityGroupsInput) (*DescribeDBSecurityGroupsOutput, error) { req, out := c.DescribeDBSecurityGroupsRequest(input) err := req.Send() return out, err } +// DescribeDBSecurityGroupsPages iterates over the pages of a DescribeDBSecurityGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeDBSecurityGroups 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 DescribeDBSecurityGroups operation. +// pageNum := 0 +// err := client.DescribeDBSecurityGroupsPages(params, +// func(page *DescribeDBSecurityGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *RDS) DescribeDBSecurityGroupsPages(input *DescribeDBSecurityGroupsInput, fn func(p *DescribeDBSecurityGroupsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeDBSecurityGroupsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1383,7 +3488,30 @@ func (c *RDS) DescribeDBSecurityGroupsPages(input *DescribeDBSecurityGroupsInput const opDescribeDBSnapshotAttributes = "DescribeDBSnapshotAttributes" -// DescribeDBSnapshotAttributesRequest generates a request for the DescribeDBSnapshotAttributes operation. +// DescribeDBSnapshotAttributesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDBSnapshotAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeDBSnapshotAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeDBSnapshotAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeDBSnapshotAttributesRequest method. +// req, resp := client.DescribeDBSnapshotAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DescribeDBSnapshotAttributesRequest(input *DescribeDBSnapshotAttributesInput) (req *request.Request, output *DescribeDBSnapshotAttributesOutput) { op := &request.Operation{ Name: opDescribeDBSnapshotAttributes, @@ -1401,18 +3529,32 @@ func (c *RDS) DescribeDBSnapshotAttributesRequest(input *DescribeDBSnapshotAttri return } +// DescribeDBSnapshotAttributes API operation for Amazon Relational Database Service. +// // Returns a list of DB snapshot attribute names and values for a manual DB // snapshot. // // When sharing snapshots with other AWS accounts, DescribeDBSnapshotAttributes -// returns the restore attribute and a list of the AWS account ids that are -// authorized to copy or restore the manual DB snapshot. If all is included +// returns the restore attribute and a list of IDs for the AWS accounts that +// are authorized to copy or restore the manual DB snapshot. If all is included // in the list of values for the restore attribute, then the manual DB snapshot // is public and can be copied or restored by all AWS accounts. // // To add or remove access for an AWS account to copy or restore a manual DB // snapshot, or to make the manual DB snapshot public or private, use the ModifyDBSnapshotAttribute -// API. +// API action. +// +// 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 Relational Database Service's +// API operation DescribeDBSnapshotAttributes for usage and error information. +// +// Returned Error Codes: +// * DBSnapshotNotFound +// DBSnapshotIdentifier does not refer to an existing DB snapshot. +// func (c *RDS) DescribeDBSnapshotAttributes(input *DescribeDBSnapshotAttributesInput) (*DescribeDBSnapshotAttributesOutput, error) { req, out := c.DescribeDBSnapshotAttributesRequest(input) err := req.Send() @@ -1421,7 +3563,30 @@ func (c *RDS) DescribeDBSnapshotAttributes(input *DescribeDBSnapshotAttributesIn const opDescribeDBSnapshots = "DescribeDBSnapshots" -// DescribeDBSnapshotsRequest generates a request for the DescribeDBSnapshots operation. +// DescribeDBSnapshotsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDBSnapshots operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeDBSnapshots for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeDBSnapshots method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeDBSnapshotsRequest method. +// req, resp := client.DescribeDBSnapshotsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DescribeDBSnapshotsRequest(input *DescribeDBSnapshotsInput) (req *request.Request, output *DescribeDBSnapshotsOutput) { op := &request.Operation{ Name: opDescribeDBSnapshots, @@ -1445,13 +3610,44 @@ func (c *RDS) DescribeDBSnapshotsRequest(input *DescribeDBSnapshotsInput) (req * return } -// Returns information about DB snapshots. This API supports pagination. +// DescribeDBSnapshots API operation for Amazon Relational Database Service. +// +// Returns information about DB snapshots. This API action supports pagination. +// +// 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 Relational Database Service's +// API operation DescribeDBSnapshots for usage and error information. +// +// Returned Error Codes: +// * DBSnapshotNotFound +// DBSnapshotIdentifier does not refer to an existing DB snapshot. +// func (c *RDS) DescribeDBSnapshots(input *DescribeDBSnapshotsInput) (*DescribeDBSnapshotsOutput, error) { req, out := c.DescribeDBSnapshotsRequest(input) err := req.Send() return out, err } +// DescribeDBSnapshotsPages iterates over the pages of a DescribeDBSnapshots operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeDBSnapshots 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 DescribeDBSnapshots operation. +// pageNum := 0 +// err := client.DescribeDBSnapshotsPages(params, +// func(page *DescribeDBSnapshotsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *RDS) DescribeDBSnapshotsPages(input *DescribeDBSnapshotsInput, fn func(p *DescribeDBSnapshotsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeDBSnapshotsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1462,7 +3658,30 @@ func (c *RDS) DescribeDBSnapshotsPages(input *DescribeDBSnapshotsInput, fn func( const opDescribeDBSubnetGroups = "DescribeDBSubnetGroups" -// DescribeDBSubnetGroupsRequest generates a request for the DescribeDBSubnetGroups operation. +// DescribeDBSubnetGroupsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDBSubnetGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeDBSubnetGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeDBSubnetGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeDBSubnetGroupsRequest method. +// req, resp := client.DescribeDBSubnetGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DescribeDBSubnetGroupsRequest(input *DescribeDBSubnetGroupsInput) (req *request.Request, output *DescribeDBSubnetGroupsOutput) { op := &request.Operation{ Name: opDescribeDBSubnetGroups, @@ -1486,16 +3705,47 @@ func (c *RDS) DescribeDBSubnetGroupsRequest(input *DescribeDBSubnetGroupsInput) return } +// DescribeDBSubnetGroups API operation for Amazon Relational Database Service. +// // Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified, // the list will contain only the descriptions of the specified DBSubnetGroup. // // For an overview of CIDR ranges, go to the Wikipedia Tutorial (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). +// +// 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 Relational Database Service's +// API operation DescribeDBSubnetGroups for usage and error information. +// +// Returned Error Codes: +// * DBSubnetGroupNotFoundFault +// DBSubnetGroupName does not refer to an existing DB subnet group. +// func (c *RDS) DescribeDBSubnetGroups(input *DescribeDBSubnetGroupsInput) (*DescribeDBSubnetGroupsOutput, error) { req, out := c.DescribeDBSubnetGroupsRequest(input) err := req.Send() return out, err } +// DescribeDBSubnetGroupsPages iterates over the pages of a DescribeDBSubnetGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeDBSubnetGroups 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 DescribeDBSubnetGroups operation. +// pageNum := 0 +// err := client.DescribeDBSubnetGroupsPages(params, +// func(page *DescribeDBSubnetGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *RDS) DescribeDBSubnetGroupsPages(input *DescribeDBSubnetGroupsInput, fn func(p *DescribeDBSubnetGroupsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeDBSubnetGroupsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1506,7 +3756,30 @@ func (c *RDS) DescribeDBSubnetGroupsPages(input *DescribeDBSubnetGroupsInput, fn const opDescribeEngineDefaultClusterParameters = "DescribeEngineDefaultClusterParameters" -// DescribeEngineDefaultClusterParametersRequest generates a request for the DescribeEngineDefaultClusterParameters operation. +// DescribeEngineDefaultClusterParametersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEngineDefaultClusterParameters operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeEngineDefaultClusterParameters for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeEngineDefaultClusterParameters method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeEngineDefaultClusterParametersRequest method. +// req, resp := client.DescribeEngineDefaultClusterParametersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DescribeEngineDefaultClusterParametersRequest(input *DescribeEngineDefaultClusterParametersInput) (req *request.Request, output *DescribeEngineDefaultClusterParametersOutput) { op := &request.Operation{ Name: opDescribeEngineDefaultClusterParameters, @@ -1524,11 +3797,20 @@ func (c *RDS) DescribeEngineDefaultClusterParametersRequest(input *DescribeEngin return } +// DescribeEngineDefaultClusterParameters API operation for Amazon Relational Database Service. +// // Returns the default engine and system parameter information for the cluster // database engine. // // For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) // in the Amazon RDS 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 +// the error. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation DescribeEngineDefaultClusterParameters for usage and error information. func (c *RDS) DescribeEngineDefaultClusterParameters(input *DescribeEngineDefaultClusterParametersInput) (*DescribeEngineDefaultClusterParametersOutput, error) { req, out := c.DescribeEngineDefaultClusterParametersRequest(input) err := req.Send() @@ -1537,7 +3819,30 @@ func (c *RDS) DescribeEngineDefaultClusterParameters(input *DescribeEngineDefaul const opDescribeEngineDefaultParameters = "DescribeEngineDefaultParameters" -// DescribeEngineDefaultParametersRequest generates a request for the DescribeEngineDefaultParameters operation. +// DescribeEngineDefaultParametersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEngineDefaultParameters operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeEngineDefaultParameters for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeEngineDefaultParameters method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeEngineDefaultParametersRequest method. +// req, resp := client.DescribeEngineDefaultParametersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DescribeEngineDefaultParametersRequest(input *DescribeEngineDefaultParametersInput) (req *request.Request, output *DescribeEngineDefaultParametersOutput) { op := &request.Operation{ Name: opDescribeEngineDefaultParameters, @@ -1561,14 +3866,40 @@ func (c *RDS) DescribeEngineDefaultParametersRequest(input *DescribeEngineDefaul return } +// DescribeEngineDefaultParameters API operation for Amazon Relational Database Service. +// // Returns the default engine and system parameter information for the specified // database engine. +// +// 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 Relational Database Service's +// API operation DescribeEngineDefaultParameters for usage and error information. func (c *RDS) DescribeEngineDefaultParameters(input *DescribeEngineDefaultParametersInput) (*DescribeEngineDefaultParametersOutput, error) { req, out := c.DescribeEngineDefaultParametersRequest(input) err := req.Send() return out, err } +// DescribeEngineDefaultParametersPages iterates over the pages of a DescribeEngineDefaultParameters operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeEngineDefaultParameters 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 DescribeEngineDefaultParameters operation. +// pageNum := 0 +// err := client.DescribeEngineDefaultParametersPages(params, +// func(page *DescribeEngineDefaultParametersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *RDS) DescribeEngineDefaultParametersPages(input *DescribeEngineDefaultParametersInput, fn func(p *DescribeEngineDefaultParametersOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeEngineDefaultParametersRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1579,7 +3910,30 @@ func (c *RDS) DescribeEngineDefaultParametersPages(input *DescribeEngineDefaultP const opDescribeEventCategories = "DescribeEventCategories" -// DescribeEventCategoriesRequest generates a request for the DescribeEventCategories operation. +// DescribeEventCategoriesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEventCategories operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeEventCategories for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeEventCategories method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeEventCategoriesRequest method. +// req, resp := client.DescribeEventCategoriesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DescribeEventCategoriesRequest(input *DescribeEventCategoriesInput) (req *request.Request, output *DescribeEventCategoriesOutput) { op := &request.Operation{ Name: opDescribeEventCategories, @@ -1597,10 +3951,19 @@ func (c *RDS) DescribeEventCategoriesRequest(input *DescribeEventCategoriesInput return } +// DescribeEventCategories API operation for Amazon Relational Database Service. +// // Displays a list of categories for all event source types, or, if specified, // for a specified source type. You can see a list of the event categories and // source types in the Events (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html) // topic in the Amazon RDS 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 +// the error. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation DescribeEventCategories for usage and error information. func (c *RDS) DescribeEventCategories(input *DescribeEventCategoriesInput) (*DescribeEventCategoriesOutput, error) { req, out := c.DescribeEventCategoriesRequest(input) err := req.Send() @@ -1609,7 +3972,30 @@ func (c *RDS) DescribeEventCategories(input *DescribeEventCategoriesInput) (*Des const opDescribeEventSubscriptions = "DescribeEventSubscriptions" -// DescribeEventSubscriptionsRequest generates a request for the DescribeEventSubscriptions operation. +// DescribeEventSubscriptionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEventSubscriptions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeEventSubscriptions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeEventSubscriptions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeEventSubscriptionsRequest method. +// req, resp := client.DescribeEventSubscriptionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DescribeEventSubscriptionsRequest(input *DescribeEventSubscriptionsInput) (req *request.Request, output *DescribeEventSubscriptionsOutput) { op := &request.Operation{ Name: opDescribeEventSubscriptions, @@ -1633,17 +4019,48 @@ func (c *RDS) DescribeEventSubscriptionsRequest(input *DescribeEventSubscription return } +// DescribeEventSubscriptions API operation for Amazon Relational Database Service. +// // Lists all the subscription descriptions for a customer account. The description // for a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType, // SourceID, CreationTime, and Status. // // If you specify a SubscriptionName, lists the description for that subscription. +// +// 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 Relational Database Service's +// API operation DescribeEventSubscriptions for usage and error information. +// +// Returned Error Codes: +// * SubscriptionNotFound +// The subscription name does not exist. +// func (c *RDS) DescribeEventSubscriptions(input *DescribeEventSubscriptionsInput) (*DescribeEventSubscriptionsOutput, error) { req, out := c.DescribeEventSubscriptionsRequest(input) err := req.Send() return out, err } +// DescribeEventSubscriptionsPages iterates over the pages of a DescribeEventSubscriptions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeEventSubscriptions 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 DescribeEventSubscriptions operation. +// pageNum := 0 +// err := client.DescribeEventSubscriptionsPages(params, +// func(page *DescribeEventSubscriptionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *RDS) DescribeEventSubscriptionsPages(input *DescribeEventSubscriptionsInput, fn func(p *DescribeEventSubscriptionsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeEventSubscriptionsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1654,7 +4071,30 @@ func (c *RDS) DescribeEventSubscriptionsPages(input *DescribeEventSubscriptionsI const opDescribeEvents = "DescribeEvents" -// DescribeEventsRequest generates a request for the DescribeEvents operation. +// DescribeEventsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEvents operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeEvents for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeEvents method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeEventsRequest method. +// req, resp := client.DescribeEventsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) { op := &request.Operation{ Name: opDescribeEvents, @@ -1678,17 +4118,43 @@ func (c *RDS) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Re return } +// DescribeEvents API operation for Amazon Relational Database Service. +// // Returns events related to DB instances, DB security groups, DB snapshots, // and DB parameter groups for the past 14 days. Events specific to a particular // DB instance, DB security group, database snapshot, or DB parameter group // can be obtained by providing the name as a parameter. By default, the past // hour of events are returned. +// +// 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 Relational Database Service's +// API operation DescribeEvents for usage and error information. func (c *RDS) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) { req, out := c.DescribeEventsRequest(input) err := req.Send() return out, err } +// DescribeEventsPages iterates over the pages of a DescribeEvents operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeEvents 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 DescribeEvents operation. +// pageNum := 0 +// err := client.DescribeEventsPages(params, +// func(page *DescribeEventsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *RDS) DescribeEventsPages(input *DescribeEventsInput, fn func(p *DescribeEventsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeEventsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1699,12 +4165,35 @@ func (c *RDS) DescribeEventsPages(input *DescribeEventsInput, fn func(p *Describ const opDescribeOptionGroupOptions = "DescribeOptionGroupOptions" -// DescribeOptionGroupOptionsRequest generates a request for the DescribeOptionGroupOptions operation. -func (c *RDS) DescribeOptionGroupOptionsRequest(input *DescribeOptionGroupOptionsInput) (req *request.Request, output *DescribeOptionGroupOptionsOutput) { - op := &request.Operation{ - Name: opDescribeOptionGroupOptions, - HTTPMethod: "POST", - HTTPPath: "/", +// DescribeOptionGroupOptionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeOptionGroupOptions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeOptionGroupOptions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeOptionGroupOptions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeOptionGroupOptionsRequest method. +// req, resp := client.DescribeOptionGroupOptionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *RDS) DescribeOptionGroupOptionsRequest(input *DescribeOptionGroupOptionsInput) (req *request.Request, output *DescribeOptionGroupOptionsOutput) { + op := &request.Operation{ + Name: opDescribeOptionGroupOptions, + HTTPMethod: "POST", + HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"Marker"}, @@ -1723,13 +4212,39 @@ func (c *RDS) DescribeOptionGroupOptionsRequest(input *DescribeOptionGroupOption return } +// DescribeOptionGroupOptions API operation for Amazon Relational Database Service. +// // Describes all available options. +// +// 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 Relational Database Service's +// API operation DescribeOptionGroupOptions for usage and error information. func (c *RDS) DescribeOptionGroupOptions(input *DescribeOptionGroupOptionsInput) (*DescribeOptionGroupOptionsOutput, error) { req, out := c.DescribeOptionGroupOptionsRequest(input) err := req.Send() return out, err } +// DescribeOptionGroupOptionsPages iterates over the pages of a DescribeOptionGroupOptions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeOptionGroupOptions 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 DescribeOptionGroupOptions operation. +// pageNum := 0 +// err := client.DescribeOptionGroupOptionsPages(params, +// func(page *DescribeOptionGroupOptionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *RDS) DescribeOptionGroupOptionsPages(input *DescribeOptionGroupOptionsInput, fn func(p *DescribeOptionGroupOptionsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeOptionGroupOptionsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1740,7 +4255,30 @@ func (c *RDS) DescribeOptionGroupOptionsPages(input *DescribeOptionGroupOptionsI const opDescribeOptionGroups = "DescribeOptionGroups" -// DescribeOptionGroupsRequest generates a request for the DescribeOptionGroups operation. +// DescribeOptionGroupsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeOptionGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeOptionGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeOptionGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeOptionGroupsRequest method. +// req, resp := client.DescribeOptionGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DescribeOptionGroupsRequest(input *DescribeOptionGroupsInput) (req *request.Request, output *DescribeOptionGroupsOutput) { op := &request.Operation{ Name: opDescribeOptionGroups, @@ -1764,13 +4302,44 @@ func (c *RDS) DescribeOptionGroupsRequest(input *DescribeOptionGroupsInput) (req return } +// DescribeOptionGroups API operation for Amazon Relational Database Service. +// // Describes the available option groups. +// +// 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 Relational Database Service's +// API operation DescribeOptionGroups for usage and error information. +// +// Returned Error Codes: +// * OptionGroupNotFoundFault +// The specified option group could not be found. +// func (c *RDS) DescribeOptionGroups(input *DescribeOptionGroupsInput) (*DescribeOptionGroupsOutput, error) { req, out := c.DescribeOptionGroupsRequest(input) err := req.Send() return out, err } +// DescribeOptionGroupsPages iterates over the pages of a DescribeOptionGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeOptionGroups 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 DescribeOptionGroups operation. +// pageNum := 0 +// err := client.DescribeOptionGroupsPages(params, +// func(page *DescribeOptionGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *RDS) DescribeOptionGroupsPages(input *DescribeOptionGroupsInput, fn func(p *DescribeOptionGroupsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeOptionGroupsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1781,7 +4350,30 @@ func (c *RDS) DescribeOptionGroupsPages(input *DescribeOptionGroupsInput, fn fun const opDescribeOrderableDBInstanceOptions = "DescribeOrderableDBInstanceOptions" -// DescribeOrderableDBInstanceOptionsRequest generates a request for the DescribeOrderableDBInstanceOptions operation. +// DescribeOrderableDBInstanceOptionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeOrderableDBInstanceOptions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeOrderableDBInstanceOptions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeOrderableDBInstanceOptions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeOrderableDBInstanceOptionsRequest method. +// req, resp := client.DescribeOrderableDBInstanceOptionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DescribeOrderableDBInstanceOptionsRequest(input *DescribeOrderableDBInstanceOptionsInput) (req *request.Request, output *DescribeOrderableDBInstanceOptionsOutput) { op := &request.Operation{ Name: opDescribeOrderableDBInstanceOptions, @@ -1805,13 +4397,39 @@ func (c *RDS) DescribeOrderableDBInstanceOptionsRequest(input *DescribeOrderable return } +// DescribeOrderableDBInstanceOptions API operation for Amazon Relational Database Service. +// // Returns a list of orderable DB instance options for the specified engine. +// +// 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 Relational Database Service's +// API operation DescribeOrderableDBInstanceOptions for usage and error information. func (c *RDS) DescribeOrderableDBInstanceOptions(input *DescribeOrderableDBInstanceOptionsInput) (*DescribeOrderableDBInstanceOptionsOutput, error) { req, out := c.DescribeOrderableDBInstanceOptionsRequest(input) err := req.Send() return out, err } +// DescribeOrderableDBInstanceOptionsPages iterates over the pages of a DescribeOrderableDBInstanceOptions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeOrderableDBInstanceOptions 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 DescribeOrderableDBInstanceOptions operation. +// pageNum := 0 +// err := client.DescribeOrderableDBInstanceOptionsPages(params, +// func(page *DescribeOrderableDBInstanceOptionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *RDS) DescribeOrderableDBInstanceOptionsPages(input *DescribeOrderableDBInstanceOptionsInput, fn func(p *DescribeOrderableDBInstanceOptionsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeOrderableDBInstanceOptionsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1822,7 +4440,30 @@ func (c *RDS) DescribeOrderableDBInstanceOptionsPages(input *DescribeOrderableDB const opDescribePendingMaintenanceActions = "DescribePendingMaintenanceActions" -// DescribePendingMaintenanceActionsRequest generates a request for the DescribePendingMaintenanceActions operation. +// DescribePendingMaintenanceActionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribePendingMaintenanceActions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribePendingMaintenanceActions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribePendingMaintenanceActions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribePendingMaintenanceActionsRequest method. +// req, resp := client.DescribePendingMaintenanceActionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DescribePendingMaintenanceActionsRequest(input *DescribePendingMaintenanceActionsInput) (req *request.Request, output *DescribePendingMaintenanceActionsOutput) { op := &request.Operation{ Name: opDescribePendingMaintenanceActions, @@ -1840,8 +4481,22 @@ func (c *RDS) DescribePendingMaintenanceActionsRequest(input *DescribePendingMai return } +// DescribePendingMaintenanceActions API operation for Amazon Relational Database Service. +// // Returns a list of resources (for example, DB instances) that have at least // one pending maintenance action. +// +// 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 Relational Database Service's +// API operation DescribePendingMaintenanceActions for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundFault +// The specified resource ID was not found. +// func (c *RDS) DescribePendingMaintenanceActions(input *DescribePendingMaintenanceActionsInput) (*DescribePendingMaintenanceActionsOutput, error) { req, out := c.DescribePendingMaintenanceActionsRequest(input) err := req.Send() @@ -1850,7 +4505,30 @@ func (c *RDS) DescribePendingMaintenanceActions(input *DescribePendingMaintenanc const opDescribeReservedDBInstances = "DescribeReservedDBInstances" -// DescribeReservedDBInstancesRequest generates a request for the DescribeReservedDBInstances operation. +// DescribeReservedDBInstancesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeReservedDBInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeReservedDBInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeReservedDBInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeReservedDBInstancesRequest method. +// req, resp := client.DescribeReservedDBInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DescribeReservedDBInstancesRequest(input *DescribeReservedDBInstancesInput) (req *request.Request, output *DescribeReservedDBInstancesOutput) { op := &request.Operation{ Name: opDescribeReservedDBInstances, @@ -1874,14 +4552,45 @@ func (c *RDS) DescribeReservedDBInstancesRequest(input *DescribeReservedDBInstan return } +// DescribeReservedDBInstances API operation for Amazon Relational Database Service. +// // Returns information about reserved DB instances for this account, or about // a specified reserved DB instance. +// +// 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 Relational Database Service's +// API operation DescribeReservedDBInstances for usage and error information. +// +// Returned Error Codes: +// * ReservedDBInstanceNotFound +// The specified reserved DB Instance not found. +// func (c *RDS) DescribeReservedDBInstances(input *DescribeReservedDBInstancesInput) (*DescribeReservedDBInstancesOutput, error) { req, out := c.DescribeReservedDBInstancesRequest(input) err := req.Send() return out, err } +// DescribeReservedDBInstancesPages iterates over the pages of a DescribeReservedDBInstances operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeReservedDBInstances 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 DescribeReservedDBInstances operation. +// pageNum := 0 +// err := client.DescribeReservedDBInstancesPages(params, +// func(page *DescribeReservedDBInstancesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *RDS) DescribeReservedDBInstancesPages(input *DescribeReservedDBInstancesInput, fn func(p *DescribeReservedDBInstancesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeReservedDBInstancesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1892,7 +4601,30 @@ func (c *RDS) DescribeReservedDBInstancesPages(input *DescribeReservedDBInstance const opDescribeReservedDBInstancesOfferings = "DescribeReservedDBInstancesOfferings" -// DescribeReservedDBInstancesOfferingsRequest generates a request for the DescribeReservedDBInstancesOfferings operation. +// DescribeReservedDBInstancesOfferingsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeReservedDBInstancesOfferings operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeReservedDBInstancesOfferings for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeReservedDBInstancesOfferings method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeReservedDBInstancesOfferingsRequest method. +// req, resp := client.DescribeReservedDBInstancesOfferingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DescribeReservedDBInstancesOfferingsRequest(input *DescribeReservedDBInstancesOfferingsInput) (req *request.Request, output *DescribeReservedDBInstancesOfferingsOutput) { op := &request.Operation{ Name: opDescribeReservedDBInstancesOfferings, @@ -1916,13 +4648,44 @@ func (c *RDS) DescribeReservedDBInstancesOfferingsRequest(input *DescribeReserve return } +// DescribeReservedDBInstancesOfferings API operation for Amazon Relational Database Service. +// // Lists available reserved DB instance offerings. +// +// 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 Relational Database Service's +// API operation DescribeReservedDBInstancesOfferings for usage and error information. +// +// Returned Error Codes: +// * ReservedDBInstancesOfferingNotFound +// Specified offering does not exist. +// func (c *RDS) DescribeReservedDBInstancesOfferings(input *DescribeReservedDBInstancesOfferingsInput) (*DescribeReservedDBInstancesOfferingsOutput, error) { req, out := c.DescribeReservedDBInstancesOfferingsRequest(input) err := req.Send() return out, err } +// DescribeReservedDBInstancesOfferingsPages iterates over the pages of a DescribeReservedDBInstancesOfferings operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeReservedDBInstancesOfferings 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 DescribeReservedDBInstancesOfferings operation. +// pageNum := 0 +// err := client.DescribeReservedDBInstancesOfferingsPages(params, +// func(page *DescribeReservedDBInstancesOfferingsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *RDS) DescribeReservedDBInstancesOfferingsPages(input *DescribeReservedDBInstancesOfferingsInput, fn func(p *DescribeReservedDBInstancesOfferingsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeReservedDBInstancesOfferingsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1931,9 +4694,93 @@ func (c *RDS) DescribeReservedDBInstancesOfferingsPages(input *DescribeReservedD }) } +const opDescribeSourceRegions = "DescribeSourceRegions" + +// DescribeSourceRegionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSourceRegions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeSourceRegions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeSourceRegions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeSourceRegionsRequest method. +// req, resp := client.DescribeSourceRegionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *RDS) DescribeSourceRegionsRequest(input *DescribeSourceRegionsInput) (req *request.Request, output *DescribeSourceRegionsOutput) { + op := &request.Operation{ + Name: opDescribeSourceRegions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeSourceRegionsInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeSourceRegionsOutput{} + req.Data = output + return +} + +// DescribeSourceRegions API operation for Amazon Relational Database Service. +// +// Returns a list of the source AWS regions where the current AWS region can +// create a Read Replica or copy a DB snapshot from. This API action supports +// pagination. +// +// 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 Relational Database Service's +// API operation DescribeSourceRegions for usage and error information. +func (c *RDS) DescribeSourceRegions(input *DescribeSourceRegionsInput) (*DescribeSourceRegionsOutput, error) { + req, out := c.DescribeSourceRegionsRequest(input) + err := req.Send() + return out, err +} + const opDownloadDBLogFilePortion = "DownloadDBLogFilePortion" -// DownloadDBLogFilePortionRequest generates a request for the DownloadDBLogFilePortion operation. +// DownloadDBLogFilePortionRequest generates a "aws/request.Request" representing the +// client's request for the DownloadDBLogFilePortion operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DownloadDBLogFilePortion for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DownloadDBLogFilePortion method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DownloadDBLogFilePortionRequest method. +// req, resp := client.DownloadDBLogFilePortionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) DownloadDBLogFilePortionRequest(input *DownloadDBLogFilePortionInput) (req *request.Request, output *DownloadDBLogFilePortionOutput) { op := &request.Operation{ Name: opDownloadDBLogFilePortion, @@ -1957,13 +4804,47 @@ func (c *RDS) DownloadDBLogFilePortionRequest(input *DownloadDBLogFilePortionInp return } +// DownloadDBLogFilePortion API operation for Amazon Relational Database Service. +// // Downloads all or a portion of the specified log file, up to 1 MB in size. +// +// 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 Relational Database Service's +// API operation DownloadDBLogFilePortion for usage and error information. +// +// Returned Error Codes: +// * DBInstanceNotFound +// DBInstanceIdentifier does not refer to an existing DB instance. +// +// * DBLogFileNotFoundFault +// LogFileName does not refer to an existing DB log file. +// func (c *RDS) DownloadDBLogFilePortion(input *DownloadDBLogFilePortionInput) (*DownloadDBLogFilePortionOutput, error) { req, out := c.DownloadDBLogFilePortionRequest(input) err := req.Send() return out, err } +// DownloadDBLogFilePortionPages iterates over the pages of a DownloadDBLogFilePortion operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DownloadDBLogFilePortion 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 DownloadDBLogFilePortion operation. +// pageNum := 0 +// err := client.DownloadDBLogFilePortionPages(params, +// func(page *DownloadDBLogFilePortionOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *RDS) DownloadDBLogFilePortionPages(input *DownloadDBLogFilePortionInput, fn func(p *DownloadDBLogFilePortionOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DownloadDBLogFilePortionRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1974,7 +4855,30 @@ func (c *RDS) DownloadDBLogFilePortionPages(input *DownloadDBLogFilePortionInput const opFailoverDBCluster = "FailoverDBCluster" -// FailoverDBClusterRequest generates a request for the FailoverDBCluster operation. +// FailoverDBClusterRequest generates a "aws/request.Request" representing the +// client's request for the FailoverDBCluster operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See FailoverDBCluster for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the FailoverDBCluster method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the FailoverDBClusterRequest method. +// req, resp := client.FailoverDBClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) FailoverDBClusterRequest(input *FailoverDBClusterInput) (req *request.Request, output *FailoverDBClusterOutput) { op := &request.Operation{ Name: opFailoverDBCluster, @@ -1992,6 +4896,8 @@ func (c *RDS) FailoverDBClusterRequest(input *FailoverDBClusterInput) (req *requ return } +// FailoverDBCluster API operation for Amazon Relational Database Service. +// // Forces a failover for a DB cluster. // // A failover for a DB cluster promotes one of the read-only instances in the @@ -2007,6 +4913,24 @@ func (c *RDS) FailoverDBClusterRequest(input *FailoverDBClusterInput) (req *requ // // For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) // in the Amazon RDS 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 +// the error. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation FailoverDBCluster for usage and error information. +// +// Returned Error Codes: +// * DBClusterNotFoundFault +// DBClusterIdentifier does not refer to an existing DB cluster. +// +// * InvalidDBClusterStateFault +// The DB cluster is not in a valid state. +// +// * InvalidDBInstanceState +// The specified DB instance is not in the available state. +// func (c *RDS) FailoverDBCluster(input *FailoverDBClusterInput) (*FailoverDBClusterOutput, error) { req, out := c.FailoverDBClusterRequest(input) err := req.Send() @@ -2015,7 +4939,30 @@ func (c *RDS) FailoverDBCluster(input *FailoverDBClusterInput) (*FailoverDBClust const opListTagsForResource = "ListTagsForResource" -// ListTagsForResourceRequest generates a request for the ListTagsForResource operation. +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListTagsForResource for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListTagsForResource method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // 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) +// } +// func (c *RDS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { op := &request.Operation{ Name: opListTagsForResource, @@ -2033,10 +4980,27 @@ func (c *RDS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req * return } +// ListTagsForResource API operation for Amazon Relational Database Service. +// // Lists all tags on an Amazon RDS resource. // // For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS // Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.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. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Codes: +// * DBInstanceNotFound +// DBInstanceIdentifier does not refer to an existing DB instance. +// +// * DBSnapshotNotFound +// DBSnapshotIdentifier does not refer to an existing DB snapshot. +// func (c *RDS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { req, out := c.ListTagsForResourceRequest(input) err := req.Send() @@ -2045,7 +5009,30 @@ func (c *RDS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsFor const opModifyDBCluster = "ModifyDBCluster" -// ModifyDBClusterRequest generates a request for the ModifyDBCluster operation. +// ModifyDBClusterRequest generates a "aws/request.Request" representing the +// client's request for the ModifyDBCluster operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyDBCluster for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyDBCluster method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyDBClusterRequest method. +// req, resp := client.ModifyDBClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) ModifyDBClusterRequest(input *ModifyDBClusterInput) (req *request.Request, output *ModifyDBClusterOutput) { op := &request.Operation{ Name: opModifyDBCluster, @@ -2063,11 +5050,59 @@ func (c *RDS) ModifyDBClusterRequest(input *ModifyDBClusterInput) (req *request. return } +// ModifyDBCluster API operation for Amazon Relational Database Service. +// // Modify a setting for an Amazon Aurora DB cluster. You can change one or more // database configuration parameters by specifying these parameters and the // new values in the request. For more information on Amazon Aurora, see Aurora // on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) // in the Amazon RDS 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 +// the error. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation ModifyDBCluster for usage and error information. +// +// Returned Error Codes: +// * DBClusterNotFoundFault +// DBClusterIdentifier does not refer to an existing DB cluster. +// +// * InvalidDBClusterStateFault +// The DB cluster is not in a valid state. +// +// * StorageQuotaExceeded +// Request would result in user exceeding the allowed amount of storage available +// across all DB instances. +// +// * DBSubnetGroupNotFoundFault +// DBSubnetGroupName does not refer to an existing DB subnet group. +// +// * InvalidVPCNetworkStateFault +// DB subnet group does not cover all Availability Zones after it is created +// because users' change. +// +// * InvalidDBSubnetGroupStateFault +// The DB subnet group cannot be deleted because it is in use. +// +// * InvalidSubnet +// The requested subnet is invalid, or multiple subnets were requested that +// are not all in a common VPC. +// +// * DBClusterParameterGroupNotFound +// DBClusterParameterGroupName does not refer to an existing DB Cluster parameter +// group. +// +// * InvalidDBSecurityGroupState +// The state of the DB security group does not allow deletion. +// +// * InvalidDBInstanceState +// The specified DB instance is not in the available state. +// +// * DBClusterAlreadyExistsFault +// User already has a DB cluster with the given identifier. +// func (c *RDS) ModifyDBCluster(input *ModifyDBClusterInput) (*ModifyDBClusterOutput, error) { req, out := c.ModifyDBClusterRequest(input) err := req.Send() @@ -2076,7 +5111,30 @@ func (c *RDS) ModifyDBCluster(input *ModifyDBClusterInput) (*ModifyDBClusterOutp const opModifyDBClusterParameterGroup = "ModifyDBClusterParameterGroup" -// ModifyDBClusterParameterGroupRequest generates a request for the ModifyDBClusterParameterGroup operation. +// ModifyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the +// client's request for the ModifyDBClusterParameterGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyDBClusterParameterGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyDBClusterParameterGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyDBClusterParameterGroupRequest method. +// req, resp := client.ModifyDBClusterParameterGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) ModifyDBClusterParameterGroupRequest(input *ModifyDBClusterParameterGroupInput) (req *request.Request, output *DBClusterParameterGroupNameMessage) { op := &request.Operation{ Name: opModifyDBClusterParameterGroup, @@ -2094,6 +5152,8 @@ func (c *RDS) ModifyDBClusterParameterGroupRequest(input *ModifyDBClusterParamet return } +// ModifyDBClusterParameterGroup API operation for Amazon Relational Database Service. +// // Modifies the parameters of a DB cluster parameter group. To modify more than // one parameter, submit a list of the following: ParameterName, ParameterValue, // and ApplyMethod. A maximum of 20 parameters can be modified in a single request. @@ -2101,7 +5161,7 @@ func (c *RDS) ModifyDBClusterParameterGroupRequest(input *ModifyDBClusterParamet // For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) // in the Amazon RDS User Guide. // -// Changes to dynamic parameters are applied immediately. Changes to static +// Changes to dynamic parameters are applied immediately. Changes to static // parameters require a reboot without failover to the DB cluster associated // with the parameter group before the change can take effect. // @@ -2116,15 +5176,139 @@ func (c *RDS) ModifyDBClusterParameterGroupRequest(input *ModifyDBClusterParamet // (https://console.aws.amazon.com/rds/) or the DescribeDBClusterParameters // command to verify that your DB cluster parameter group has been created or // modified. +// +// 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 Relational Database Service's +// API operation ModifyDBClusterParameterGroup for usage and error information. +// +// Returned Error Codes: +// * DBParameterGroupNotFound +// DBParameterGroupName does not refer to an existing DB parameter group. +// +// * InvalidDBParameterGroupState +// The DB parameter group cannot be deleted because it is in use. +// func (c *RDS) ModifyDBClusterParameterGroup(input *ModifyDBClusterParameterGroupInput) (*DBClusterParameterGroupNameMessage, error) { req, out := c.ModifyDBClusterParameterGroupRequest(input) err := req.Send() return out, err } +const opModifyDBClusterSnapshotAttribute = "ModifyDBClusterSnapshotAttribute" + +// ModifyDBClusterSnapshotAttributeRequest generates a "aws/request.Request" representing the +// client's request for the ModifyDBClusterSnapshotAttribute operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyDBClusterSnapshotAttribute for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyDBClusterSnapshotAttribute method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyDBClusterSnapshotAttributeRequest method. +// req, resp := client.ModifyDBClusterSnapshotAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *RDS) ModifyDBClusterSnapshotAttributeRequest(input *ModifyDBClusterSnapshotAttributeInput) (req *request.Request, output *ModifyDBClusterSnapshotAttributeOutput) { + op := &request.Operation{ + Name: opModifyDBClusterSnapshotAttribute, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyDBClusterSnapshotAttributeInput{} + } + + req = c.newRequest(op, input, output) + output = &ModifyDBClusterSnapshotAttributeOutput{} + req.Data = output + return +} + +// ModifyDBClusterSnapshotAttribute API operation for Amazon Relational Database Service. +// +// Adds an attribute and values to, or removes an attribute and values from, +// a manual DB cluster snapshot. +// +// To share a manual DB cluster snapshot with other AWS accounts, specify restore +// as the AttributeName and use the ValuesToAdd parameter to add a list of IDs +// of the AWS accounts that are authorized to restore the manual DB cluster +// snapshot. Use the value all to make the manual DB cluster snapshot public, +// which means that it can be copied or restored by all AWS accounts. Do not +// add the all value for any manual DB cluster snapshots that contain private +// information that you don't want available to all AWS accounts. +// +// To view which AWS accounts have access to copy or restore a manual DB cluster +// snapshot, or whether a manual DB cluster snapshot public or private, use +// the DescribeDBClusterSnapshotAttributes API action. +// +// If a manual DB cluster snapshot is encrypted, it cannot be shared. +// +// 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 Relational Database Service's +// API operation ModifyDBClusterSnapshotAttribute for usage and error information. +// +// Returned Error Codes: +// * DBClusterSnapshotNotFoundFault +// DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot. +// +// * InvalidDBClusterSnapshotStateFault +// The supplied value is not a valid DB cluster snapshot state. +// +// * SharedSnapshotQuotaExceeded +// You have exceeded the maximum number of accounts that you can share a manual +// DB snapshot with. +// +func (c *RDS) ModifyDBClusterSnapshotAttribute(input *ModifyDBClusterSnapshotAttributeInput) (*ModifyDBClusterSnapshotAttributeOutput, error) { + req, out := c.ModifyDBClusterSnapshotAttributeRequest(input) + err := req.Send() + return out, err +} + const opModifyDBInstance = "ModifyDBInstance" -// ModifyDBInstanceRequest generates a request for the ModifyDBInstance operation. +// ModifyDBInstanceRequest generates a "aws/request.Request" representing the +// client's request for the ModifyDBInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyDBInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyDBInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyDBInstanceRequest method. +// req, resp := client.ModifyDBInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) ModifyDBInstanceRequest(input *ModifyDBInstanceInput) (req *request.Request, output *ModifyDBInstanceOutput) { op := &request.Operation{ Name: opModifyDBInstance, @@ -2142,8 +5326,75 @@ func (c *RDS) ModifyDBInstanceRequest(input *ModifyDBInstanceInput) (req *reques return } -// Modify settings for a DB instance. You can change one or more database configuration -// parameters by specifying these parameters and the new values in the request. +// ModifyDBInstance API operation for Amazon Relational Database Service. +// +// Modifies settings for a DB instance. You can change one or more database +// configuration parameters by specifying these parameters and the new values +// in the request. +// +// 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 Relational Database Service's +// API operation ModifyDBInstance for usage and error information. +// +// Returned Error Codes: +// * InvalidDBInstanceState +// The specified DB instance is not in the available state. +// +// * InvalidDBSecurityGroupState +// The state of the DB security group does not allow deletion. +// +// * DBInstanceAlreadyExists +// User already has a DB instance with the given identifier. +// +// * DBInstanceNotFound +// DBInstanceIdentifier does not refer to an existing DB instance. +// +// * DBSecurityGroupNotFound +// DBSecurityGroupName does not refer to an existing DB security group. +// +// * DBParameterGroupNotFound +// DBParameterGroupName does not refer to an existing DB parameter group. +// +// * InsufficientDBInstanceCapacity +// Specified DB instance class is not available in the specified Availability +// Zone. +// +// * StorageQuotaExceeded +// Request would result in user exceeding the allowed amount of storage available +// across all DB instances. +// +// * InvalidVPCNetworkStateFault +// DB subnet group does not cover all Availability Zones after it is created +// because users' change. +// +// * ProvisionedIopsNotAvailableInAZFault +// Provisioned IOPS not available in the specified Availability Zone. +// +// * OptionGroupNotFoundFault +// The specified option group could not be found. +// +// * DBUpgradeDependencyFailure +// The DB upgrade failed because a resource the DB depends on could not be modified. +// +// * StorageTypeNotSupported +// StorageType specified cannot be associated with the DB Instance. +// +// * AuthorizationNotFound +// Specified CIDRIP or EC2 security group is not authorized for the specified +// DB security group. +// +// RDS may not also be authorized via IAM to perform necessary actions on your +// behalf. +// +// * CertificateNotFound +// CertificateIdentifier does not refer to an existing certificate. +// +// * DomainNotFoundFault +// Domain does not refer to an existing Active Directory Domain. +// func (c *RDS) ModifyDBInstance(input *ModifyDBInstanceInput) (*ModifyDBInstanceOutput, error) { req, out := c.ModifyDBInstanceRequest(input) err := req.Send() @@ -2152,7 +5403,30 @@ func (c *RDS) ModifyDBInstance(input *ModifyDBInstanceInput) (*ModifyDBInstanceO const opModifyDBParameterGroup = "ModifyDBParameterGroup" -// ModifyDBParameterGroupRequest generates a request for the ModifyDBParameterGroup operation. +// ModifyDBParameterGroupRequest generates a "aws/request.Request" representing the +// client's request for the ModifyDBParameterGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyDBParameterGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyDBParameterGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyDBParameterGroupRequest method. +// req, resp := client.ModifyDBParameterGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) ModifyDBParameterGroupRequest(input *ModifyDBParameterGroupInput) (req *request.Request, output *DBParameterGroupNameMessage) { op := &request.Operation{ Name: opModifyDBParameterGroup, @@ -2170,11 +5444,13 @@ func (c *RDS) ModifyDBParameterGroupRequest(input *ModifyDBParameterGroupInput) return } +// ModifyDBParameterGroup API operation for Amazon Relational Database Service. +// // Modifies the parameters of a DB parameter group. To modify more than one // parameter, submit a list of the following: ParameterName, ParameterValue, // and ApplyMethod. A maximum of 20 parameters can be modified in a single request. // -// Changes to dynamic parameters are applied immediately. Changes to static +// Changes to dynamic parameters are applied immediately. Changes to static // parameters require a reboot without failover to the DB instance associated // with the parameter group before the change can take effect. // @@ -2188,6 +5464,21 @@ func (c *RDS) ModifyDBParameterGroupRequest(input *ModifyDBParameterGroupInput) // You can use the Parameter Groups option of the Amazon RDS console (https://console.aws.amazon.com/rds/) // or the DescribeDBParameters command to verify that your DB parameter group // has been created or modified. +// +// 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 Relational Database Service's +// API operation ModifyDBParameterGroup for usage and error information. +// +// Returned Error Codes: +// * DBParameterGroupNotFound +// DBParameterGroupName does not refer to an existing DB parameter group. +// +// * InvalidDBParameterGroupState +// The DB parameter group cannot be deleted because it is in use. +// func (c *RDS) ModifyDBParameterGroup(input *ModifyDBParameterGroupInput) (*DBParameterGroupNameMessage, error) { req, out := c.ModifyDBParameterGroupRequest(input) err := req.Send() @@ -2196,7 +5487,30 @@ func (c *RDS) ModifyDBParameterGroup(input *ModifyDBParameterGroupInput) (*DBPar const opModifyDBSnapshotAttribute = "ModifyDBSnapshotAttribute" -// ModifyDBSnapshotAttributeRequest generates a request for the ModifyDBSnapshotAttribute operation. +// ModifyDBSnapshotAttributeRequest generates a "aws/request.Request" representing the +// client's request for the ModifyDBSnapshotAttribute operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyDBSnapshotAttribute for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyDBSnapshotAttribute method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyDBSnapshotAttributeRequest method. +// req, resp := client.ModifyDBSnapshotAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) ModifyDBSnapshotAttributeRequest(input *ModifyDBSnapshotAttributeInput) (req *request.Request, output *ModifyDBSnapshotAttributeOutput) { op := &request.Operation{ Name: opModifyDBSnapshotAttribute, @@ -2214,22 +5528,43 @@ func (c *RDS) ModifyDBSnapshotAttributeRequest(input *ModifyDBSnapshotAttributeI return } -// Adds an attribute and values to, or removes an attribute and values from +// ModifyDBSnapshotAttribute API operation for Amazon Relational Database Service. +// +// Adds an attribute and values to, or removes an attribute and values from, // a manual DB snapshot. // // To share a manual DB snapshot with other AWS accounts, specify restore as -// the AttributeName and use the ValuesToAdd parameter to add a list of the -// AWS account ids that are authorized to restore the manual DB snapshot. Uses -// the value all to make the manual DB snapshot public and can by copied or -// restored by all AWS accounts. Do not add the all value for any manual DB -// snapshots that contain private information that you do not want to be available -// to all AWS accounts. +// the AttributeName and use the ValuesToAdd parameter to add a list of IDs +// of the AWS accounts that are authorized to restore the manual DB snapshot. +// Uses the value all to make the manual DB snapshot public, which means it +// can be copied or restored by all AWS accounts. Do not add the all value for +// any manual DB snapshots that contain private information that you don't want +// available to all AWS accounts. // // To view which AWS accounts have access to copy or restore a manual DB snapshot, // or whether a manual DB snapshot public or private, use the DescribeDBSnapshotAttributes -// API. +// API action. // // If the manual DB snapshot is encrypted, it cannot be shared. +// +// 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 Relational Database Service's +// API operation ModifyDBSnapshotAttribute for usage and error information. +// +// Returned Error Codes: +// * DBSnapshotNotFound +// DBSnapshotIdentifier does not refer to an existing DB snapshot. +// +// * InvalidDBSnapshotState +// The state of the DB snapshot does not allow deletion. +// +// * SharedSnapshotQuotaExceeded +// You have exceeded the maximum number of accounts that you can share a manual +// DB snapshot with. +// func (c *RDS) ModifyDBSnapshotAttribute(input *ModifyDBSnapshotAttributeInput) (*ModifyDBSnapshotAttributeOutput, error) { req, out := c.ModifyDBSnapshotAttributeRequest(input) err := req.Send() @@ -2238,7 +5573,30 @@ func (c *RDS) ModifyDBSnapshotAttribute(input *ModifyDBSnapshotAttributeInput) ( const opModifyDBSubnetGroup = "ModifyDBSubnetGroup" -// ModifyDBSubnetGroupRequest generates a request for the ModifyDBSubnetGroup operation. +// ModifyDBSubnetGroupRequest generates a "aws/request.Request" representing the +// client's request for the ModifyDBSubnetGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyDBSubnetGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyDBSubnetGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyDBSubnetGroupRequest method. +// req, resp := client.ModifyDBSubnetGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) ModifyDBSubnetGroupRequest(input *ModifyDBSubnetGroupInput) (req *request.Request, output *ModifyDBSubnetGroupOutput) { op := &request.Operation{ Name: opModifyDBSubnetGroup, @@ -2256,8 +5614,37 @@ func (c *RDS) ModifyDBSubnetGroupRequest(input *ModifyDBSubnetGroupInput) (req * return } +// ModifyDBSubnetGroup API operation for Amazon Relational Database Service. +// // Modifies an existing DB subnet group. DB subnet groups must contain at least // one subnet in at least two AZs in the 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 +// the error. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation ModifyDBSubnetGroup for usage and error information. +// +// Returned Error Codes: +// * DBSubnetGroupNotFoundFault +// DBSubnetGroupName does not refer to an existing DB subnet group. +// +// * DBSubnetQuotaExceededFault +// Request would result in user exceeding the allowed number of subnets in a +// DB subnet groups. +// +// * SubnetAlreadyInUse +// The DB subnet is already in use in the Availability Zone. +// +// * DBSubnetGroupDoesNotCoverEnoughAZs +// Subnets in the DB subnet group should cover at least two Availability Zones +// unless there is only one Availability Zone. +// +// * InvalidSubnet +// The requested subnet is invalid, or multiple subnets were requested that +// are not all in a common VPC. +// func (c *RDS) ModifyDBSubnetGroup(input *ModifyDBSubnetGroupInput) (*ModifyDBSubnetGroupOutput, error) { req, out := c.ModifyDBSubnetGroupRequest(input) err := req.Send() @@ -2266,7 +5653,30 @@ func (c *RDS) ModifyDBSubnetGroup(input *ModifyDBSubnetGroupInput) (*ModifyDBSub const opModifyEventSubscription = "ModifyEventSubscription" -// ModifyEventSubscriptionRequest generates a request for the ModifyEventSubscription operation. +// ModifyEventSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the ModifyEventSubscription operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyEventSubscription for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyEventSubscription method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyEventSubscriptionRequest method. +// req, resp := client.ModifyEventSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) ModifyEventSubscriptionRequest(input *ModifyEventSubscriptionInput) (req *request.Request, output *ModifyEventSubscriptionOutput) { op := &request.Operation{ Name: opModifyEventSubscription, @@ -2284,6 +5694,8 @@ func (c *RDS) ModifyEventSubscriptionRequest(input *ModifyEventSubscriptionInput return } +// ModifyEventSubscription API operation for Amazon Relational Database Service. +// // Modifies an existing RDS event notification subscription. Note that you cannot // modify the source identifiers using this call; to change source identifiers // for a subscription, use the AddSourceIdentifierToSubscription and RemoveSourceIdentifierFromSubscription @@ -2293,6 +5705,33 @@ func (c *RDS) ModifyEventSubscriptionRequest(input *ModifyEventSubscriptionInput // Events (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html) // topic in the Amazon RDS User Guide or by using the DescribeEventCategories // action. +// +// 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 Relational Database Service's +// API operation ModifyEventSubscription for usage and error information. +// +// Returned Error Codes: +// * EventSubscriptionQuotaExceeded +// You have reached the maximum number of event subscriptions. +// +// * SubscriptionNotFound +// The subscription name does not exist. +// +// * SNSInvalidTopic +// SNS has responded that there is a problem with the SND topic specified. +// +// * SNSNoAuthorization +// You do not have permission to publish to the SNS topic ARN. +// +// * SNSTopicArnNotFound +// The SNS topic ARN does not exist. +// +// * SubscriptionCategoryNotFound +// The supplied category does not exist. +// func (c *RDS) ModifyEventSubscription(input *ModifyEventSubscriptionInput) (*ModifyEventSubscriptionOutput, error) { req, out := c.ModifyEventSubscriptionRequest(input) err := req.Send() @@ -2301,7 +5740,30 @@ func (c *RDS) ModifyEventSubscription(input *ModifyEventSubscriptionInput) (*Mod const opModifyOptionGroup = "ModifyOptionGroup" -// ModifyOptionGroupRequest generates a request for the ModifyOptionGroup operation. +// ModifyOptionGroupRequest generates a "aws/request.Request" representing the +// client's request for the ModifyOptionGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyOptionGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyOptionGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyOptionGroupRequest method. +// req, resp := client.ModifyOptionGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) ModifyOptionGroupRequest(input *ModifyOptionGroupInput) (req *request.Request, output *ModifyOptionGroupOutput) { op := &request.Operation{ Name: opModifyOptionGroup, @@ -2319,7 +5781,24 @@ func (c *RDS) ModifyOptionGroupRequest(input *ModifyOptionGroupInput) (req *requ return } +// ModifyOptionGroup API operation for Amazon Relational Database Service. +// // Modifies an existing option group. +// +// 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 Relational Database Service's +// API operation ModifyOptionGroup for usage and error information. +// +// Returned Error Codes: +// * InvalidOptionGroupStateFault +// The option group is not in the available state. +// +// * OptionGroupNotFoundFault +// The specified option group could not be found. +// func (c *RDS) ModifyOptionGroup(input *ModifyOptionGroupInput) (*ModifyOptionGroupOutput, error) { req, out := c.ModifyOptionGroupRequest(input) err := req.Send() @@ -2328,7 +5807,30 @@ func (c *RDS) ModifyOptionGroup(input *ModifyOptionGroupInput) (*ModifyOptionGro const opPromoteReadReplica = "PromoteReadReplica" -// PromoteReadReplicaRequest generates a request for the PromoteReadReplica operation. +// PromoteReadReplicaRequest generates a "aws/request.Request" representing the +// client's request for the PromoteReadReplica operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PromoteReadReplica for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PromoteReadReplica method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PromoteReadReplicaRequest method. +// req, resp := client.PromoteReadReplicaRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) PromoteReadReplicaRequest(input *PromoteReadReplicaInput) (req *request.Request, output *PromoteReadReplicaOutput) { op := &request.Operation{ Name: opPromoteReadReplica, @@ -2346,21 +5848,128 @@ func (c *RDS) PromoteReadReplicaRequest(input *PromoteReadReplicaInput) (req *re return } +// PromoteReadReplica API operation for Amazon Relational Database Service. +// // Promotes a Read Replica DB instance to a standalone DB instance. // // We recommend that you enable automated backups on your Read Replica before // promoting the Read Replica. This ensures that no backup is taken during the // promotion process. Once the instance is promoted to a primary instance, backups // are taken based on your backup settings. +// +// 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 Relational Database Service's +// API operation PromoteReadReplica for usage and error information. +// +// Returned Error Codes: +// * InvalidDBInstanceState +// The specified DB instance is not in the available state. +// +// * DBInstanceNotFound +// DBInstanceIdentifier does not refer to an existing DB instance. +// func (c *RDS) PromoteReadReplica(input *PromoteReadReplicaInput) (*PromoteReadReplicaOutput, error) { req, out := c.PromoteReadReplicaRequest(input) err := req.Send() return out, err } +const opPromoteReadReplicaDBCluster = "PromoteReadReplicaDBCluster" + +// PromoteReadReplicaDBClusterRequest generates a "aws/request.Request" representing the +// client's request for the PromoteReadReplicaDBCluster operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PromoteReadReplicaDBCluster for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PromoteReadReplicaDBCluster method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PromoteReadReplicaDBClusterRequest method. +// req, resp := client.PromoteReadReplicaDBClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *RDS) PromoteReadReplicaDBClusterRequest(input *PromoteReadReplicaDBClusterInput) (req *request.Request, output *PromoteReadReplicaDBClusterOutput) { + op := &request.Operation{ + Name: opPromoteReadReplicaDBCluster, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PromoteReadReplicaDBClusterInput{} + } + + req = c.newRequest(op, input, output) + output = &PromoteReadReplicaDBClusterOutput{} + req.Data = output + return +} + +// PromoteReadReplicaDBCluster API operation for Amazon Relational Database Service. +// +// Promotes a Read Replica DB cluster to a standalone DB cluster. +// +// 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 Relational Database Service's +// API operation PromoteReadReplicaDBCluster for usage and error information. +// +// Returned Error Codes: +// * DBClusterNotFoundFault +// DBClusterIdentifier does not refer to an existing DB cluster. +// +// * InvalidDBClusterStateFault +// The DB cluster is not in a valid state. +// +func (c *RDS) PromoteReadReplicaDBCluster(input *PromoteReadReplicaDBClusterInput) (*PromoteReadReplicaDBClusterOutput, error) { + req, out := c.PromoteReadReplicaDBClusterRequest(input) + err := req.Send() + return out, err +} + const opPurchaseReservedDBInstancesOffering = "PurchaseReservedDBInstancesOffering" -// PurchaseReservedDBInstancesOfferingRequest generates a request for the PurchaseReservedDBInstancesOffering operation. +// PurchaseReservedDBInstancesOfferingRequest generates a "aws/request.Request" representing the +// client's request for the PurchaseReservedDBInstancesOffering operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PurchaseReservedDBInstancesOffering for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PurchaseReservedDBInstancesOffering method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PurchaseReservedDBInstancesOfferingRequest method. +// req, resp := client.PurchaseReservedDBInstancesOfferingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) PurchaseReservedDBInstancesOfferingRequest(input *PurchaseReservedDBInstancesOfferingInput) (req *request.Request, output *PurchaseReservedDBInstancesOfferingOutput) { op := &request.Operation{ Name: opPurchaseReservedDBInstancesOffering, @@ -2378,7 +5987,27 @@ func (c *RDS) PurchaseReservedDBInstancesOfferingRequest(input *PurchaseReserved return } +// PurchaseReservedDBInstancesOffering API operation for Amazon Relational Database Service. +// // Purchases a reserved DB instance offering. +// +// 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 Relational Database Service's +// API operation PurchaseReservedDBInstancesOffering for usage and error information. +// +// Returned Error Codes: +// * ReservedDBInstancesOfferingNotFound +// Specified offering does not exist. +// +// * ReservedDBInstanceAlreadyExists +// User already has a reservation with the given identifier. +// +// * ReservedDBInstanceQuotaExceeded +// Request would exceed the user's DB Instance quota. +// func (c *RDS) PurchaseReservedDBInstancesOffering(input *PurchaseReservedDBInstancesOfferingInput) (*PurchaseReservedDBInstancesOfferingOutput, error) { req, out := c.PurchaseReservedDBInstancesOfferingRequest(input) err := req.Send() @@ -2387,7 +6016,30 @@ func (c *RDS) PurchaseReservedDBInstancesOffering(input *PurchaseReservedDBInsta const opRebootDBInstance = "RebootDBInstance" -// RebootDBInstanceRequest generates a request for the RebootDBInstance operation. +// RebootDBInstanceRequest generates a "aws/request.Request" representing the +// client's request for the RebootDBInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RebootDBInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RebootDBInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RebootDBInstanceRequest method. +// req, resp := client.RebootDBInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) RebootDBInstanceRequest(input *RebootDBInstanceInput) (req *request.Request, output *RebootDBInstanceOutput) { op := &request.Operation{ Name: opRebootDBInstance, @@ -2405,6 +6057,8 @@ func (c *RDS) RebootDBInstanceRequest(input *RebootDBInstanceInput) (req *reques return } +// RebootDBInstance API operation for Amazon Relational Database Service. +// // Rebooting a DB instance restarts the database engine service. A reboot also // applies to the DB instance any modifications to the associated DB parameter // group that were pending. Rebooting a DB instance results in a momentary outage @@ -2413,15 +6067,30 @@ func (c *RDS) RebootDBInstanceRequest(input *RebootDBInstanceInput) (req *reques // will be conducted through a failover. An Amazon RDS event is created when // the reboot is completed. // -// If your DB instance is deployed in multiple Availability Zones, you can +// If your DB instance is deployed in multiple Availability Zones, you can // force a failover from one AZ to the other during the reboot. You might force // a failover to test the availability of your DB instance deployment or to // restore operations to the original AZ after a failover occurs. // -// The time required to reboot is a function of the specific database engine's +// The time required to reboot is a function of the specific database engine's // crash recovery process. To improve the reboot time, we recommend that you // reduce database activities as much as possible during the reboot process // to reduce rollback activity for in-transit transactions. +// +// 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 Relational Database Service's +// API operation RebootDBInstance for usage and error information. +// +// Returned Error Codes: +// * InvalidDBInstanceState +// The specified DB instance is not in the available state. +// +// * DBInstanceNotFound +// DBInstanceIdentifier does not refer to an existing DB instance. +// func (c *RDS) RebootDBInstance(input *RebootDBInstanceInput) (*RebootDBInstanceOutput, error) { req, out := c.RebootDBInstanceRequest(input) err := req.Send() @@ -2430,7 +6099,30 @@ func (c *RDS) RebootDBInstance(input *RebootDBInstanceInput) (*RebootDBInstanceO const opRemoveSourceIdentifierFromSubscription = "RemoveSourceIdentifierFromSubscription" -// RemoveSourceIdentifierFromSubscriptionRequest generates a request for the RemoveSourceIdentifierFromSubscription operation. +// RemoveSourceIdentifierFromSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the RemoveSourceIdentifierFromSubscription operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RemoveSourceIdentifierFromSubscription for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RemoveSourceIdentifierFromSubscription method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RemoveSourceIdentifierFromSubscriptionRequest method. +// req, resp := client.RemoveSourceIdentifierFromSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) RemoveSourceIdentifierFromSubscriptionRequest(input *RemoveSourceIdentifierFromSubscriptionInput) (req *request.Request, output *RemoveSourceIdentifierFromSubscriptionOutput) { op := &request.Operation{ Name: opRemoveSourceIdentifierFromSubscription, @@ -2448,7 +6140,24 @@ func (c *RDS) RemoveSourceIdentifierFromSubscriptionRequest(input *RemoveSourceI return } +// RemoveSourceIdentifierFromSubscription API operation for Amazon Relational Database Service. +// // Removes a source identifier from an existing RDS event notification subscription. +// +// 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 Relational Database Service's +// API operation RemoveSourceIdentifierFromSubscription for usage and error information. +// +// Returned Error Codes: +// * SubscriptionNotFound +// The subscription name does not exist. +// +// * SourceNotFound +// The requested source could not be found. +// func (c *RDS) RemoveSourceIdentifierFromSubscription(input *RemoveSourceIdentifierFromSubscriptionInput) (*RemoveSourceIdentifierFromSubscriptionOutput, error) { req, out := c.RemoveSourceIdentifierFromSubscriptionRequest(input) err := req.Send() @@ -2457,7 +6166,30 @@ func (c *RDS) RemoveSourceIdentifierFromSubscription(input *RemoveSourceIdentifi const opRemoveTagsFromResource = "RemoveTagsFromResource" -// RemoveTagsFromResourceRequest generates a request for the RemoveTagsFromResource operation. +// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the +// client's request for the RemoveTagsFromResource operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RemoveTagsFromResource for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RemoveTagsFromResource method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RemoveTagsFromResourceRequest method. +// req, resp := client.RemoveTagsFromResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) { op := &request.Operation{ Name: opRemoveTagsFromResource, @@ -2477,10 +6209,27 @@ func (c *RDS) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) return } +// RemoveTagsFromResource API operation for Amazon Relational Database Service. +// // Removes metadata tags from an Amazon RDS resource. // // For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS // Resources (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.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. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation RemoveTagsFromResource for usage and error information. +// +// Returned Error Codes: +// * DBInstanceNotFound +// DBInstanceIdentifier does not refer to an existing DB instance. +// +// * DBSnapshotNotFound +// DBSnapshotIdentifier does not refer to an existing DB snapshot. +// func (c *RDS) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) { req, out := c.RemoveTagsFromResourceRequest(input) err := req.Send() @@ -2489,7 +6238,30 @@ func (c *RDS) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*Remov const opResetDBClusterParameterGroup = "ResetDBClusterParameterGroup" -// ResetDBClusterParameterGroupRequest generates a request for the ResetDBClusterParameterGroup operation. +// ResetDBClusterParameterGroupRequest generates a "aws/request.Request" representing the +// client's request for the ResetDBClusterParameterGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ResetDBClusterParameterGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ResetDBClusterParameterGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ResetDBClusterParameterGroupRequest method. +// req, resp := client.ResetDBClusterParameterGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) ResetDBClusterParameterGroupRequest(input *ResetDBClusterParameterGroupInput) (req *request.Request, output *DBClusterParameterGroupNameMessage) { op := &request.Operation{ Name: opResetDBClusterParameterGroup, @@ -2507,6 +6279,8 @@ func (c *RDS) ResetDBClusterParameterGroupRequest(input *ResetDBClusterParameter return } +// ResetDBClusterParameterGroup API operation for Amazon Relational Database Service. +// // Modifies the parameters of a DB cluster parameter group to the default value. // To reset specific parameters submit a list of the following: ParameterName // and ApplyMethod. To reset the entire DB cluster parameter group, specify @@ -2520,6 +6294,21 @@ func (c *RDS) ResetDBClusterParameterGroupRequest(input *ResetDBClusterParameter // // For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) // in the Amazon RDS 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 +// the error. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation ResetDBClusterParameterGroup for usage and error information. +// +// Returned Error Codes: +// * InvalidDBParameterGroupState +// The DB parameter group cannot be deleted because it is in use. +// +// * DBParameterGroupNotFound +// DBParameterGroupName does not refer to an existing DB parameter group. +// func (c *RDS) ResetDBClusterParameterGroup(input *ResetDBClusterParameterGroupInput) (*DBClusterParameterGroupNameMessage, error) { req, out := c.ResetDBClusterParameterGroupRequest(input) err := req.Send() @@ -2528,7 +6317,30 @@ func (c *RDS) ResetDBClusterParameterGroup(input *ResetDBClusterParameterGroupIn const opResetDBParameterGroup = "ResetDBParameterGroup" -// ResetDBParameterGroupRequest generates a request for the ResetDBParameterGroup operation. +// ResetDBParameterGroupRequest generates a "aws/request.Request" representing the +// client's request for the ResetDBParameterGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ResetDBParameterGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ResetDBParameterGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ResetDBParameterGroupRequest method. +// req, resp := client.ResetDBParameterGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) ResetDBParameterGroupRequest(input *ResetDBParameterGroupInput) (req *request.Request, output *DBParameterGroupNameMessage) { op := &request.Operation{ Name: opResetDBParameterGroup, @@ -2546,6 +6358,8 @@ func (c *RDS) ResetDBParameterGroupRequest(input *ResetDBParameterGroupInput) (r return } +// ResetDBParameterGroup API operation for Amazon Relational Database Service. +// // Modifies the parameters of a DB parameter group to the engine/system default // value. To reset specific parameters submit a list of the following: ParameterName // and ApplyMethod. To reset the entire DB parameter group, specify the DBParameterGroup @@ -2553,15 +6367,165 @@ func (c *RDS) ResetDBParameterGroupRequest(input *ResetDBParameterGroupInput) (r // dynamic parameters are updated immediately and static parameters are set // to pending-reboot to take effect on the next DB instance restart or RebootDBInstance // request. +// +// 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 Relational Database Service's +// API operation ResetDBParameterGroup for usage and error information. +// +// Returned Error Codes: +// * InvalidDBParameterGroupState +// The DB parameter group cannot be deleted because it is in use. +// +// * DBParameterGroupNotFound +// DBParameterGroupName does not refer to an existing DB parameter group. +// func (c *RDS) ResetDBParameterGroup(input *ResetDBParameterGroupInput) (*DBParameterGroupNameMessage, error) { req, out := c.ResetDBParameterGroupRequest(input) err := req.Send() return out, err } +const opRestoreDBClusterFromS3 = "RestoreDBClusterFromS3" + +// RestoreDBClusterFromS3Request generates a "aws/request.Request" representing the +// client's request for the RestoreDBClusterFromS3 operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RestoreDBClusterFromS3 for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RestoreDBClusterFromS3 method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RestoreDBClusterFromS3Request method. +// req, resp := client.RestoreDBClusterFromS3Request(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *RDS) RestoreDBClusterFromS3Request(input *RestoreDBClusterFromS3Input) (req *request.Request, output *RestoreDBClusterFromS3Output) { + op := &request.Operation{ + Name: opRestoreDBClusterFromS3, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RestoreDBClusterFromS3Input{} + } + + req = c.newRequest(op, input, output) + output = &RestoreDBClusterFromS3Output{} + req.Data = output + return +} + +// RestoreDBClusterFromS3 API operation for Amazon Relational Database Service. +// +// Creates an Amazon Aurora DB cluster from data stored in an Amazon S3 bucket. +// Amazon RDS must be authorized to access the Amazon S3 bucket and the data +// must be created using the Percona XtraBackup utility as described in Migrating +// Data from MySQL by Using an Amazon S3 Bucket (AmazonRDS/latest/UserGuide/Aurora.Migrate.MySQL.html#Aurora.Migrate.MySQL.S3). +// +// 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 Relational Database Service's +// API operation RestoreDBClusterFromS3 for usage and error information. +// +// Returned Error Codes: +// * DBClusterAlreadyExistsFault +// User already has a DB cluster with the given identifier. +// +// * DBClusterQuotaExceededFault +// User attempted to create a new DB cluster and the user has already reached +// the maximum allowed DB cluster quota. +// +// * StorageQuotaExceeded +// Request would result in user exceeding the allowed amount of storage available +// across all DB instances. +// +// * DBSubnetGroupNotFoundFault +// DBSubnetGroupName does not refer to an existing DB subnet group. +// +// * InvalidVPCNetworkStateFault +// DB subnet group does not cover all Availability Zones after it is created +// because users' change. +// +// * InvalidDBClusterStateFault +// The DB cluster is not in a valid state. +// +// * InvalidDBSubnetGroupStateFault +// The DB subnet group cannot be deleted because it is in use. +// +// * InvalidSubnet +// The requested subnet is invalid, or multiple subnets were requested that +// are not all in a common VPC. +// +// * InvalidS3BucketFault +// The specified Amazon S3 bucket name could not be found or Amazon RDS is not +// authorized to access the specified Amazon S3 bucket. Verify the SourceS3BucketName +// and S3IngestionRoleArn values and try again. +// +// * DBClusterParameterGroupNotFound +// DBClusterParameterGroupName does not refer to an existing DB Cluster parameter +// group. +// +// * KMSKeyNotAccessibleFault +// Error accessing KMS key. +// +// * DBClusterNotFoundFault +// DBClusterIdentifier does not refer to an existing DB cluster. +// +// * InsufficientStorageClusterCapacity +// There is insufficient storage available for the current action. You may be +// able to resolve this error by updating your subnet group to use different +// Availability Zones that have more storage available. +// +func (c *RDS) RestoreDBClusterFromS3(input *RestoreDBClusterFromS3Input) (*RestoreDBClusterFromS3Output, error) { + req, out := c.RestoreDBClusterFromS3Request(input) + err := req.Send() + return out, err +} + const opRestoreDBClusterFromSnapshot = "RestoreDBClusterFromSnapshot" -// RestoreDBClusterFromSnapshotRequest generates a request for the RestoreDBClusterFromSnapshot operation. +// RestoreDBClusterFromSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the RestoreDBClusterFromSnapshot operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RestoreDBClusterFromSnapshot for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RestoreDBClusterFromSnapshot method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RestoreDBClusterFromSnapshotRequest method. +// req, resp := client.RestoreDBClusterFromSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) RestoreDBClusterFromSnapshotRequest(input *RestoreDBClusterFromSnapshotInput) (req *request.Request, output *RestoreDBClusterFromSnapshotOutput) { op := &request.Operation{ Name: opRestoreDBClusterFromSnapshot, @@ -2579,6 +6543,8 @@ func (c *RDS) RestoreDBClusterFromSnapshotRequest(input *RestoreDBClusterFromSna return } +// RestoreDBClusterFromSnapshot API operation for Amazon Relational Database Service. +// // Creates a new DB cluster from a DB cluster snapshot. 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 @@ -2586,6 +6552,73 @@ func (c *RDS) RestoreDBClusterFromSnapshotRequest(input *RestoreDBClusterFromSna // // For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) // in the Amazon RDS 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 +// the error. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation RestoreDBClusterFromSnapshot for usage and error information. +// +// Returned Error Codes: +// * DBClusterAlreadyExistsFault +// User already has a DB cluster with the given identifier. +// +// * DBClusterQuotaExceededFault +// User attempted to create a new DB cluster and the user has already reached +// the maximum allowed DB cluster quota. +// +// * StorageQuotaExceeded +// Request would result in user exceeding the allowed amount of storage available +// across all DB instances. +// +// * DBSubnetGroupNotFoundFault +// DBSubnetGroupName does not refer to an existing DB subnet group. +// +// * DBSnapshotNotFound +// DBSnapshotIdentifier does not refer to an existing DB snapshot. +// +// * DBClusterSnapshotNotFoundFault +// DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot. +// +// * InsufficientDBClusterCapacityFault +// The DB cluster does not have enough capacity for the current operation. +// +// * InsufficientStorageClusterCapacity +// There is insufficient storage available for the current action. You may be +// able to resolve this error by updating your subnet group to use different +// Availability Zones that have more storage available. +// +// * InvalidDBSnapshotState +// The state of the DB snapshot does not allow deletion. +// +// * InvalidDBClusterSnapshotStateFault +// The supplied value is not a valid DB cluster snapshot state. +// +// * StorageQuotaExceeded +// Request would result in user exceeding the allowed amount of storage available +// across all DB instances. +// +// * InvalidVPCNetworkStateFault +// DB subnet group does not cover all Availability Zones after it is created +// because users' change. +// +// * InvalidRestoreFault +// Cannot restore from vpc backup to non-vpc DB instance. +// +// * DBSubnetGroupNotFoundFault +// DBSubnetGroupName does not refer to an existing DB subnet group. +// +// * InvalidSubnet +// The requested subnet is invalid, or multiple subnets were requested that +// are not all in a common VPC. +// +// * OptionGroupNotFoundFault +// The specified option group could not be found. +// +// * KMSKeyNotAccessibleFault +// Error accessing KMS key. +// func (c *RDS) RestoreDBClusterFromSnapshot(input *RestoreDBClusterFromSnapshotInput) (*RestoreDBClusterFromSnapshotOutput, error) { req, out := c.RestoreDBClusterFromSnapshotRequest(input) err := req.Send() @@ -2594,7 +6627,30 @@ func (c *RDS) RestoreDBClusterFromSnapshot(input *RestoreDBClusterFromSnapshotIn const opRestoreDBClusterToPointInTime = "RestoreDBClusterToPointInTime" -// RestoreDBClusterToPointInTimeRequest generates a request for the RestoreDBClusterToPointInTime operation. +// RestoreDBClusterToPointInTimeRequest generates a "aws/request.Request" representing the +// client's request for the RestoreDBClusterToPointInTime operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RestoreDBClusterToPointInTime for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RestoreDBClusterToPointInTime method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RestoreDBClusterToPointInTimeRequest method. +// req, resp := client.RestoreDBClusterToPointInTimeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) RestoreDBClusterToPointInTimeRequest(input *RestoreDBClusterToPointInTimeInput) (req *request.Request, output *RestoreDBClusterToPointInTimeOutput) { op := &request.Operation{ Name: opRestoreDBClusterToPointInTime, @@ -2612,6 +6668,8 @@ func (c *RDS) RestoreDBClusterToPointInTimeRequest(input *RestoreDBClusterToPoin return } +// RestoreDBClusterToPointInTime API operation for Amazon Relational Database Service. +// // Restores a DB cluster to an arbitrary point in time. Users can restore to // any point in time before LatestRestorableTime for up to BackupRetentionPeriod // days. The target DB cluster is created from the source DB cluster with the @@ -2620,6 +6678,73 @@ func (c *RDS) RestoreDBClusterToPointInTimeRequest(input *RestoreDBClusterToPoin // // For more information on Amazon Aurora, see Aurora on Amazon RDS (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) // in the Amazon RDS 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 +// the error. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation RestoreDBClusterToPointInTime for usage and error information. +// +// Returned Error Codes: +// * DBClusterAlreadyExistsFault +// User already has a DB cluster with the given identifier. +// +// * DBClusterQuotaExceededFault +// User attempted to create a new DB cluster and the user has already reached +// the maximum allowed DB cluster quota. +// +// * StorageQuotaExceeded +// Request would result in user exceeding the allowed amount of storage available +// across all DB instances. +// +// * DBSubnetGroupNotFoundFault +// DBSubnetGroupName does not refer to an existing DB subnet group. +// +// * DBClusterNotFoundFault +// DBClusterIdentifier does not refer to an existing DB cluster. +// +// * DBClusterSnapshotNotFoundFault +// DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot. +// +// * InsufficientDBClusterCapacityFault +// The DB cluster does not have enough capacity for the current operation. +// +// * InsufficientStorageClusterCapacity +// There is insufficient storage available for the current action. You may be +// able to resolve this error by updating your subnet group to use different +// Availability Zones that have more storage available. +// +// * InvalidDBSnapshotState +// The state of the DB snapshot does not allow deletion. +// +// * InvalidDBClusterSnapshotStateFault +// The supplied value is not a valid DB cluster snapshot state. +// +// * StorageQuotaExceeded +// Request would result in user exceeding the allowed amount of storage available +// across all DB instances. +// +// * InvalidVPCNetworkStateFault +// DB subnet group does not cover all Availability Zones after it is created +// because users' change. +// +// * InvalidRestoreFault +// Cannot restore from vpc backup to non-vpc DB instance. +// +// * DBSubnetGroupNotFoundFault +// DBSubnetGroupName does not refer to an existing DB subnet group. +// +// * InvalidSubnet +// The requested subnet is invalid, or multiple subnets were requested that +// are not all in a common VPC. +// +// * OptionGroupNotFoundFault +// The specified option group could not be found. +// +// * KMSKeyNotAccessibleFault +// Error accessing KMS key. +// func (c *RDS) RestoreDBClusterToPointInTime(input *RestoreDBClusterToPointInTimeInput) (*RestoreDBClusterToPointInTimeOutput, error) { req, out := c.RestoreDBClusterToPointInTimeRequest(input) err := req.Send() @@ -2628,7 +6753,30 @@ func (c *RDS) RestoreDBClusterToPointInTime(input *RestoreDBClusterToPointInTime const opRestoreDBInstanceFromDBSnapshot = "RestoreDBInstanceFromDBSnapshot" -// RestoreDBInstanceFromDBSnapshotRequest generates a request for the RestoreDBInstanceFromDBSnapshot operation. +// RestoreDBInstanceFromDBSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the RestoreDBInstanceFromDBSnapshot operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RestoreDBInstanceFromDBSnapshot for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RestoreDBInstanceFromDBSnapshot method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RestoreDBInstanceFromDBSnapshotRequest method. +// req, resp := client.RestoreDBInstanceFromDBSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) RestoreDBInstanceFromDBSnapshotRequest(input *RestoreDBInstanceFromDBSnapshotInput) (req *request.Request, output *RestoreDBInstanceFromDBSnapshotOutput) { op := &request.Operation{ Name: opRestoreDBInstanceFromDBSnapshot, @@ -2646,6 +6794,8 @@ func (c *RDS) RestoreDBInstanceFromDBSnapshotRequest(input *RestoreDBInstanceFro return } +// RestoreDBInstanceFromDBSnapshot API operation for Amazon Relational Database Service. +// // Creates a new DB instance from a DB snapshot. The target database is created // from the source database restore point with the most of original configuration // with the default security group and the default DB parameter group. By default, @@ -2665,6 +6815,78 @@ func (c *RDS) RestoreDBInstanceFromDBSnapshotRequest(input *RestoreDBInstanceFro // // If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier // must be the ARN of the shared DB snapshot. +// +// 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 Relational Database Service's +// API operation RestoreDBInstanceFromDBSnapshot for usage and error information. +// +// Returned Error Codes: +// * DBInstanceAlreadyExists +// User already has a DB instance with the given identifier. +// +// * DBSnapshotNotFound +// DBSnapshotIdentifier does not refer to an existing DB snapshot. +// +// * InstanceQuotaExceeded +// Request would result in user exceeding the allowed number of DB instances. +// +// * InsufficientDBInstanceCapacity +// Specified DB instance class is not available in the specified Availability +// Zone. +// +// * InvalidDBSnapshotState +// The state of the DB snapshot does not allow deletion. +// +// * StorageQuotaExceeded +// Request would result in user exceeding the allowed amount of storage available +// across all DB instances. +// +// * InvalidVPCNetworkStateFault +// DB subnet group does not cover all Availability Zones after it is created +// because users' change. +// +// * InvalidRestoreFault +// Cannot restore from vpc backup to non-vpc DB instance. +// +// * DBSubnetGroupNotFoundFault +// DBSubnetGroupName does not refer to an existing DB subnet group. +// +// * DBSubnetGroupDoesNotCoverEnoughAZs +// Subnets in the DB subnet group should cover at least two Availability Zones +// unless there is only one Availability Zone. +// +// * InvalidSubnet +// The requested subnet is invalid, or multiple subnets were requested that +// are not all in a common VPC. +// +// * ProvisionedIopsNotAvailableInAZFault +// Provisioned IOPS not available in the specified Availability Zone. +// +// * OptionGroupNotFoundFault +// The specified option group could not be found. +// +// * StorageTypeNotSupported +// StorageType specified cannot be associated with the DB Instance. +// +// * AuthorizationNotFound +// Specified CIDRIP or EC2 security group is not authorized for the specified +// DB security group. +// +// RDS may not also be authorized via IAM to perform necessary actions on your +// behalf. +// +// * KMSKeyNotAccessibleFault +// Error accessing KMS key. +// +// * DBSecurityGroupNotFound +// DBSecurityGroupName does not refer to an existing DB security group. +// +// * DomainNotFoundFault +// Domain does not refer to an existing Active Directory Domain. +// func (c *RDS) RestoreDBInstanceFromDBSnapshot(input *RestoreDBInstanceFromDBSnapshotInput) (*RestoreDBInstanceFromDBSnapshotOutput, error) { req, out := c.RestoreDBInstanceFromDBSnapshotRequest(input) err := req.Send() @@ -2673,7 +6895,30 @@ func (c *RDS) RestoreDBInstanceFromDBSnapshot(input *RestoreDBInstanceFromDBSnap const opRestoreDBInstanceToPointInTime = "RestoreDBInstanceToPointInTime" -// RestoreDBInstanceToPointInTimeRequest generates a request for the RestoreDBInstanceToPointInTime operation. +// RestoreDBInstanceToPointInTimeRequest generates a "aws/request.Request" representing the +// client's request for the RestoreDBInstanceToPointInTime operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RestoreDBInstanceToPointInTime for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RestoreDBInstanceToPointInTime method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RestoreDBInstanceToPointInTimeRequest method. +// req, resp := client.RestoreDBInstanceToPointInTimeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) RestoreDBInstanceToPointInTimeRequest(input *RestoreDBInstanceToPointInTimeInput) (req *request.Request, output *RestoreDBInstanceToPointInTimeOutput) { op := &request.Operation{ Name: opRestoreDBInstanceToPointInTime, @@ -2691,18 +6936,96 @@ func (c *RDS) RestoreDBInstanceToPointInTimeRequest(input *RestoreDBInstanceToPo return } +// RestoreDBInstanceToPointInTime API operation for Amazon Relational Database Service. +// // Restores a DB instance to an arbitrary point in time. You can restore to // any point in time before the time identified by the LatestRestorableTime // property. You can restore to a point up to the number of days specified by // the BackupRetentionPeriod property. // -// The target database is created with most of the original configuration, +// The target database is created with most of the original configuration, // but in a system-selected availability zone, with the default security group, // the default subnet group, and the default DB parameter group. By default, // the new DB instance is created as a single-AZ deployment except when the // instance is a SQL Server instance that has an option group that is associated // with mirroring; in this case, the instance becomes a mirrored deployment // and not a single-AZ deployment. +// +// 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 Relational Database Service's +// API operation RestoreDBInstanceToPointInTime for usage and error information. +// +// Returned Error Codes: +// * DBInstanceAlreadyExists +// User already has a DB instance with the given identifier. +// +// * DBInstanceNotFound +// DBInstanceIdentifier does not refer to an existing DB instance. +// +// * InstanceQuotaExceeded +// Request would result in user exceeding the allowed number of DB instances. +// +// * InsufficientDBInstanceCapacity +// Specified DB instance class is not available in the specified Availability +// Zone. +// +// * InvalidDBInstanceState +// The specified DB instance is not in the available state. +// +// * PointInTimeRestoreNotEnabled +// SourceDBInstanceIdentifier refers to a DB instance with BackupRetentionPeriod +// equal to 0. +// +// * StorageQuotaExceeded +// Request would result in user exceeding the allowed amount of storage available +// across all DB instances. +// +// * InvalidVPCNetworkStateFault +// DB subnet group does not cover all Availability Zones after it is created +// because users' change. +// +// * InvalidRestoreFault +// Cannot restore from vpc backup to non-vpc DB instance. +// +// * DBSubnetGroupNotFoundFault +// DBSubnetGroupName does not refer to an existing DB subnet group. +// +// * DBSubnetGroupDoesNotCoverEnoughAZs +// Subnets in the DB subnet group should cover at least two Availability Zones +// unless there is only one Availability Zone. +// +// * InvalidSubnet +// The requested subnet is invalid, or multiple subnets were requested that +// are not all in a common VPC. +// +// * ProvisionedIopsNotAvailableInAZFault +// Provisioned IOPS not available in the specified Availability Zone. +// +// * OptionGroupNotFoundFault +// The specified option group could not be found. +// +// * StorageTypeNotSupported +// StorageType specified cannot be associated with the DB Instance. +// +// * AuthorizationNotFound +// Specified CIDRIP or EC2 security group is not authorized for the specified +// DB security group. +// +// RDS may not also be authorized via IAM to perform necessary actions on your +// behalf. +// +// * KMSKeyNotAccessibleFault +// Error accessing KMS key. +// +// * DBSecurityGroupNotFound +// DBSecurityGroupName does not refer to an existing DB security group. +// +// * DomainNotFoundFault +// Domain does not refer to an existing Active Directory Domain. +// func (c *RDS) RestoreDBInstanceToPointInTime(input *RestoreDBInstanceToPointInTimeInput) (*RestoreDBInstanceToPointInTimeOutput, error) { req, out := c.RestoreDBInstanceToPointInTimeRequest(input) err := req.Send() @@ -2711,7 +7034,30 @@ func (c *RDS) RestoreDBInstanceToPointInTime(input *RestoreDBInstanceToPointInTi const opRevokeDBSecurityGroupIngress = "RevokeDBSecurityGroupIngress" -// RevokeDBSecurityGroupIngressRequest generates a request for the RevokeDBSecurityGroupIngress operation. +// RevokeDBSecurityGroupIngressRequest generates a "aws/request.Request" representing the +// client's request for the RevokeDBSecurityGroupIngress operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RevokeDBSecurityGroupIngress for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RevokeDBSecurityGroupIngress method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RevokeDBSecurityGroupIngressRequest method. +// req, resp := client.RevokeDBSecurityGroupIngressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *RDS) RevokeDBSecurityGroupIngressRequest(input *RevokeDBSecurityGroupIngressInput) (req *request.Request, output *RevokeDBSecurityGroupIngressOutput) { op := &request.Operation{ Name: opRevokeDBSecurityGroupIngress, @@ -2729,10 +7075,34 @@ func (c *RDS) RevokeDBSecurityGroupIngressRequest(input *RevokeDBSecurityGroupIn return } +// RevokeDBSecurityGroupIngress API operation for Amazon Relational Database Service. +// // Revokes ingress from a DBSecurityGroup for previously authorized IP ranges // or EC2 or VPC Security Groups. Required parameters for this API are one of // CIDRIP, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either // EC2SecurityGroupName or EC2SecurityGroupId). +// +// 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 Relational Database Service's +// API operation RevokeDBSecurityGroupIngress for usage and error information. +// +// Returned Error Codes: +// * DBSecurityGroupNotFound +// DBSecurityGroupName does not refer to an existing DB security group. +// +// * AuthorizationNotFound +// Specified CIDRIP or EC2 security group is not authorized for the specified +// DB security group. +// +// RDS may not also be authorized via IAM to perform necessary actions on your +// behalf. +// +// * InvalidDBSecurityGroupState +// The state of the DB security group does not allow deletion. +// func (c *RDS) RevokeDBSecurityGroupIngress(input *RevokeDBSecurityGroupIngressInput) (*RevokeDBSecurityGroupIngressOutput, error) { req, out := c.RevokeDBSecurityGroupIngressRequest(input) err := req.Send() @@ -2773,15 +7143,24 @@ type AddSourceIdentifierToSubscriptionInput struct { // // Constraints: // - // If the source type is a DB instance, then a DBInstanceIdentifier must be - // supplied. If the source type is a DB security group, a DBSecurityGroupName - // must be supplied. If the source type is a DB parameter group, a DBParameterGroupName - // must be supplied. If the source type is a DB snapshot, a DBSnapshotIdentifier - // must be supplied. + // If the source type is a DB instance, then a DBInstanceIdentifier must + // be supplied. + // + // If the source type is a DB security group, a DBSecurityGroupName must + // be supplied. + // + // If the source type is a DB parameter group, a DBParameterGroupName must + // be supplied. + // + // If the source type is a DB snapshot, a DBSnapshotIdentifier must be supplied. + // + // SourceIdentifier is a required field SourceIdentifier *string `type:"string" required:"true"` // The name of the RDS event notification subscription you want to add a source // identifier to. + // + // SubscriptionName is a required field SubscriptionName *string `type:"string" required:"true"` } @@ -2834,10 +7213,14 @@ type AddTagsToResourceInput struct { // The Amazon RDS resource the tags will be added to. This value is an Amazon // Resource Name (ARN). For information about creating an ARN, see Constructing - // an RDS Amazon Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html#USER_Tagging.ARN). + // an RDS Amazon Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing). + // + // ResourceName is a required field ResourceName *string `type:"string" required:"true"` // The tags to be assigned to the Amazon RDS resource. + // + // Tags is a required field Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"` } @@ -2887,6 +7270,8 @@ type ApplyPendingMaintenanceActionInput struct { // The pending maintenance action to apply to this resource. // // Valid values: system-update, db-upgrade + // + // ApplyAction is a required field ApplyAction *string `type:"string" required:"true"` // A value that specifies the type of opt-in request, or undoes an opt-in request. @@ -2894,14 +7279,21 @@ type ApplyPendingMaintenanceActionInput struct { // // Valid values: // - // immediate - Apply the maintenance action immediately. next-maintenance - // - Apply the maintenance action during the next maintenance window for the - // resource. undo-opt-in - Cancel any existing next-maintenance opt-in requests. + // immediate - Apply the maintenance action immediately. + // + // next-maintenance - Apply the maintenance action during the next maintenance + // window for the resource. + // + // undo-opt-in - Cancel any existing next-maintenance opt-in requests. + // + // OptInType is a required field OptInType *string `type:"string" required:"true"` // The RDS Amazon Resource Name (ARN) of the resource that the pending maintenance // action applies to. For information about creating an ARN, see Constructing - // an RDS Amazon Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html#USER_Tagging.ARN). + // an RDS Amazon Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing). + // + // ResourceIdentifier is a required field ResourceIdentifier *string `type:"string" required:"true"` } @@ -2958,6 +7350,8 @@ type AuthorizeDBSecurityGroupIngressInput struct { CIDRIP *string `type:"string"` // The name of the DB security group to add authorization to. + // + // DBSecurityGroupName is a required field DBSecurityGroupName *string `type:"string" required:"true"` // Id of the EC2 security group to authorize. For VPC DB security groups, EC2SecurityGroupId @@ -3006,9 +7400,16 @@ type AuthorizeDBSecurityGroupIngressOutput struct { // Contains the result of a successful invocation of the following actions: // - // DescribeDBSecurityGroups AuthorizeDBSecurityGroupIngress CreateDBSecurityGroup - // RevokeDBSecurityGroupIngress This data type is used as a response element - // in the DescribeDBSecurityGroups action. + // DescribeDBSecurityGroups + // + // AuthorizeDBSecurityGroupIngress + // + // CreateDBSecurityGroup + // + // RevokeDBSecurityGroupIngress + // + // This data type is used as a response element in the DescribeDBSecurityGroups + // action. DBSecurityGroup *DBSecurityGroup `type:"structure"` } @@ -3024,7 +7425,9 @@ func (s AuthorizeDBSecurityGroupIngressOutput) GoString() string { // Contains Availability Zone information. // -// This data type is used as an element in the following data type: OrderableDBInstanceOption +// This data type is used as an element in the following data type: +// +// OrderableDBInstanceOption type AvailabilityZone struct { _ struct{} `type:"structure"` @@ -3046,6 +7449,9 @@ func (s AvailabilityZone) GoString() string { type Certificate struct { _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) for the certificate. + CertificateArn *string `type:"string"` + // The unique key that identifies a certificate. CertificateIdentifier *string `type:"string"` @@ -3093,6 +7499,104 @@ func (s CharacterSet) GoString() string { return s.String() } +type CopyDBClusterParameterGroupInput struct { + _ struct{} `type:"structure"` + + // The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter + // group. For information about creating an ARN, see Constructing an RDS Amazon + // Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing). + // + // Constraints: + // + // Must specify a valid DB cluster parameter group. + // + // If the source DB cluster parameter group is in the same region as the + // copy, specify a valid DB parameter group identifier, for example my-db-cluster-param-group, + // or a valid ARN. + // + // If the source DB parameter group is in a different region than the copy, + // specify a valid DB cluster parameter group ARN, for example arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1. + // + // SourceDBClusterParameterGroupIdentifier is a required field + SourceDBClusterParameterGroupIdentifier *string `type:"string" required:"true"` + + // A list of tags. + Tags []*Tag `locationNameList:"Tag" type:"list"` + + // A description for the copied DB cluster parameter group. + // + // TargetDBClusterParameterGroupDescription is a required field + TargetDBClusterParameterGroupDescription *string `type:"string" required:"true"` + + // The identifier for the copied DB cluster parameter group. + // + // Constraints: + // + // Cannot be null, empty, or blank + // + // Must contain from 1 to 255 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // Example: my-cluster-param-group1 + // + // TargetDBClusterParameterGroupIdentifier is a required field + TargetDBClusterParameterGroupIdentifier *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CopyDBClusterParameterGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CopyDBClusterParameterGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CopyDBClusterParameterGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterParameterGroupInput"} + if s.SourceDBClusterParameterGroupIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("SourceDBClusterParameterGroupIdentifier")) + } + if s.TargetDBClusterParameterGroupDescription == nil { + invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupDescription")) + } + if s.TargetDBClusterParameterGroupIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupIdentifier")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type CopyDBClusterParameterGroupOutput struct { + _ struct{} `type:"structure"` + + // Contains the result of a successful invocation of the CreateDBClusterParameterGroup + // or CopyDBClusterParameterGroup action. + // + // This data type is used as a request parameter in the DeleteDBClusterParameterGroup + // action, and as a response element in the DescribeDBClusterParameterGroups + // action. + DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"` +} + +// String returns the string representation +func (s CopyDBClusterParameterGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CopyDBClusterParameterGroupOutput) GoString() string { + return s.String() +} + type CopyDBClusterSnapshotInput struct { _ struct{} `type:"structure"` @@ -3101,9 +7605,15 @@ type CopyDBClusterSnapshotInput struct { // // Constraints: // - // Must contain from 1 to 63 alphanumeric characters or hyphens. First character - // must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. - // Example: my-cluster-snapshot1 + // Must contain from 1 to 63 alphanumeric characters or hyphens. + // + // First character must be a letter. + // + // Cannot end with a hyphen or contain two consecutive hyphens. + // + // Example: my-cluster-snapshot1 + // + // SourceDBClusterSnapshotIdentifier is a required field SourceDBClusterSnapshotIdentifier *string `type:"string" required:"true"` // A list of tags. @@ -3114,9 +7624,15 @@ type CopyDBClusterSnapshotInput struct { // // Constraints: // - // Must contain from 1 to 63 alphanumeric characters or hyphens. First character - // must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. - // Example: my-cluster-snapshot2 + // Must contain from 1 to 63 alphanumeric characters or hyphens. + // + // First character must be a letter. + // + // Cannot end with a hyphen or contain two consecutive hyphens. + // + // Example: my-cluster-snapshot2 + // + // TargetDBClusterSnapshotIdentifier is a required field TargetDBClusterSnapshotIdentifier *string `type:"string" required:"true"` } @@ -3151,8 +7667,12 @@ type CopyDBClusterSnapshotOutput struct { // Contains the result of a successful invocation of the following actions: // - // CreateDBClusterSnapshot DeleteDBClusterSnapshot This data type is - // used as a response element in the DescribeDBClusterSnapshots action. + // CreateDBClusterSnapshot + // + // DeleteDBClusterSnapshot + // + // This data type is used as a response element in the DescribeDBClusterSnapshots + // action. DBClusterSnapshot *DBClusterSnapshot `type:"structure"` } @@ -3171,30 +7691,41 @@ type CopyDBParameterGroupInput struct { // The identifier or ARN for the source DB parameter group. For information // about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN) - // (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html#USER_Tagging.ARN). + // (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing). // // Constraints: // - // Must specify a valid DB parameter group. If the source DB parameter group - // is in the same region as the copy, specify a valid DB parameter group identifier, - // for example my-db-param-group, or a valid ARN. If the source DB parameter - // group is in a different region than the copy, specify a valid DB parameter - // group ARN, for example arn:aws:rds:us-west-2:123456789012:pg:special-parameters. + // Must specify a valid DB parameter group. + // + // Must specify a valid DB parameter group identifier, for example my-db-param-group, + // or a valid ARN. + // + // SourceDBParameterGroupIdentifier is a required field SourceDBParameterGroupIdentifier *string `type:"string" required:"true"` // A list of tags. Tags []*Tag `locationNameList:"Tag" type:"list"` // A description for the copied DB parameter group. + // + // TargetDBParameterGroupDescription is a required field TargetDBParameterGroupDescription *string `type:"string" required:"true"` // The identifier for the copied DB parameter group. // // Constraints: // - // Cannot be null, empty, or blank Must contain from 1 to 255 alphanumeric - // characters or hyphens First character must be a letter Cannot end with a - // hyphen or contain two consecutive hyphens Example: my-db-parameter-group + // Cannot be null, empty, or blank + // + // Must contain from 1 to 255 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // Example: my-db-parameter-group + // + // TargetDBParameterGroupIdentifier is a required field TargetDBParameterGroupIdentifier *string `type:"string" required:"true"` } @@ -3279,14 +7810,20 @@ type CopyDBSnapshotInput struct { // // Constraints: // - // Must specify a valid system snapshot in the "available" state. If the source - // snapshot is in the same region as the copy, specify a valid DB snapshot identifier. - // If the source snapshot is in a different region than the copy, specify a - // valid DB snapshot ARN. For more information, go to Copying a DB Snapshot + // Must specify a valid system snapshot in the "available" state. + // + // If the source snapshot is in the same region as the copy, specify a valid + // DB snapshot identifier. + // + // If the source snapshot is in a different region than the copy, specify + // a valid DB snapshot ARN. For more information, go to Copying a DB Snapshot // (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html). - // Example: rds:mydb-2012-04-02-00-01 + // + // Example: rds:mydb-2012-04-02-00-01 // // Example: arn:aws:rds:rr-regn-1:123456789012:snapshot:mysql-instance1-snapshot-20130805 + // + // SourceDBSnapshotIdentifier is a required field SourceDBSnapshotIdentifier *string `type:"string" required:"true"` // A list of tags. @@ -3296,9 +7833,17 @@ type CopyDBSnapshotInput struct { // // Constraints: // - // Cannot be null, empty, or blank Must contain from 1 to 255 alphanumeric - // characters or hyphens First character must be a letter Cannot end with a - // hyphen or contain two consecutive hyphens Example: my-db-snapshot + // Cannot be null, empty, or blank + // + // Must contain from 1 to 255 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // Example: my-db-snapshot + // + // TargetDBSnapshotIdentifier is a required field TargetDBSnapshotIdentifier *string `type:"string" required:"true"` } @@ -3333,8 +7878,12 @@ type CopyDBSnapshotOutput struct { // Contains the result of a successful invocation of the following actions: // - // CreateDBSnapshot DeleteDBSnapshot This data type is used as a response - // element in the DescribeDBSnapshots action. + // CreateDBSnapshot + // + // DeleteDBSnapshot + // + // This data type is used as a response element in the DescribeDBSnapshots + // action. DBSnapshot *DBSnapshot `type:"structure"` } @@ -3352,29 +7901,45 @@ type CopyOptionGroupInput struct { _ struct{} `type:"structure"` // The identifier or ARN for the source option group. For information about - // creating an ARN, see Constructing an RDS Amazon Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html#USER_Tagging.ARN). + // creating an ARN, see Constructing an RDS Amazon Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing). // // Constraints: // - // Must specify a valid option group. If the source option group is in the - // same region as the copy, specify a valid option group identifier, for example - // my-option-group, or a valid ARN. If the source option group is in a different - // region than the copy, specify a valid option group ARN, for example arn:aws:rds:us-west-2:123456789012:og:special-options. + // Must specify a valid option group. + // + // If the source option group is in the same region as the copy, specify + // a valid option group identifier, for example my-option-group, or a valid + // ARN. + // + // If the source option group is in a different region than the copy, specify + // a valid option group ARN, for example arn:aws:rds:us-west-2:123456789012:og:special-options. + // + // SourceOptionGroupIdentifier is a required field SourceOptionGroupIdentifier *string `type:"string" required:"true"` // A list of tags. Tags []*Tag `locationNameList:"Tag" type:"list"` // The description for the copied option group. + // + // TargetOptionGroupDescription is a required field TargetOptionGroupDescription *string `type:"string" required:"true"` // The identifier for the copied option group. // // Constraints: // - // Cannot be null, empty, or blank Must contain from 1 to 255 alphanumeric - // characters or hyphens First character must be a letter Cannot end with a - // hyphen or contain two consecutive hyphens Example: my-option-group + // Cannot be null, empty, or blank + // + // Must contain from 1 to 255 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // Example: my-option-group + // + // TargetOptionGroupIdentifier is a required field TargetOptionGroupIdentifier *string `type:"string" required:"true"` } @@ -3438,7 +8003,7 @@ type CreateDBClusterInput struct { // // Constraints: // - // Must be a value from 1 to 35 + // Must be a value from 1 to 35 BackupRetentionPeriod *int64 `type:"integer"` // A value that indicates that the DB cluster should be associated with the @@ -3449,19 +8014,27 @@ type CreateDBClusterInput struct { // // Constraints: // - // Must contain from 1 to 63 alphanumeric characters or hyphens. First character - // must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. - // Example: my-cluster1 + // Must contain from 1 to 63 alphanumeric characters or hyphens. + // + // First character must be a letter. + // + // Cannot end with a hyphen or contain two consecutive hyphens. + // + // Example: my-cluster1 + // + // DBClusterIdentifier is a required field 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 for the specified engine will - // be used. + // If this argument is omitted, default.aurora5.6 will be used. // - // Constraints: + // Constraints: + // + // Must be 1 to 255 alphanumeric characters // - // Must be 1 to 255 alphanumeric characters First character must be a letter - // Cannot end with a hyphen or contain two consecutive hyphens + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens DBClusterParameterGroupName *string `type:"string"` // A DB subnet group to associate with this DB cluster. @@ -3480,6 +8053,8 @@ type CreateDBClusterInput struct { // The name of the database engine to be used for this DB cluster. // // Valid Values: aurora + // + // Engine is a required field Engine *string `type:"string" required:"true"` // The version number of the database engine to use. @@ -3506,15 +8081,18 @@ type CreateDBClusterInput struct { // printable ASCII character except "/", """, or "@". // // Constraints: Must contain from 8 to 41 characters. - MasterUserPassword *string `type:"string" required:"true"` + MasterUserPassword *string `type:"string"` - // The name of the master user for the client DB cluster. + // The name of the master user for the DB cluster. // // Constraints: // - // Must be 1 to 16 alphanumeric characters. First character must be a letter. - // Cannot be a reserved word for the chosen database engine. - MasterUsername *string `type:"string" required:"true"` + // Must be 1 to 16 alphanumeric characters. + // + // First character must be a letter. + // + // Cannot be a reserved word for the chosen database engine. + MasterUsername *string `type:"string"` // A value that indicates that the DB cluster should be associated with the // specified option group. @@ -3538,9 +8116,13 @@ type CreateDBClusterInput struct { // // Constraints: // - // Must be in the format hh24:mi-hh24:mi. Times should be in Universal Coordinated - // Time (UTC). Must not conflict with the preferred maintenance window. Must - // be at least 30 minutes. + // Must be in the format hh24:mi-hh24:mi. + // + // Times should be in Universal Coordinated Time (UTC). + // + // Must not conflict with the preferred maintenance window. + // + // Must be at least 30 minutes. PreferredBackupWindow *string `type:"string"` // The weekly time range during which system maintenance can occur, in Universal @@ -3558,6 +8140,10 @@ type CreateDBClusterInput struct { // Constraints: Minimum 30-minute window. PreferredMaintenanceWindow *string `type:"string"` + // The Amazon Resource Name (ARN) of the source DB cluster if this DB cluster + // is created as a Read Replica. + ReplicationSourceIdentifier *string `type:"string"` + // Specifies whether the DB cluster is encrypted. StorageEncrypted *bool `type:"boolean"` @@ -3587,12 +8173,6 @@ func (s *CreateDBClusterInput) Validate() error { if s.Engine == nil { invalidParams.Add(request.NewErrParamRequired("Engine")) } - if s.MasterUserPassword == nil { - invalidParams.Add(request.NewErrParamRequired("MasterUserPassword")) - } - if s.MasterUsername == nil { - invalidParams.Add(request.NewErrParamRequired("MasterUsername")) - } if invalidParams.Len() > 0 { return invalidParams @@ -3605,9 +8185,20 @@ type CreateDBClusterOutput struct { // Contains the result of a successful invocation of the following actions: // - // CreateDBCluster DeleteDBCluster FailoverDBCluster ModifyDBCluster - // RestoreDBClusterFromSnapshot This data type is used as a response element - // in the DescribeDBClusters action. + // CreateDBCluster + // + // DeleteDBCluster + // + // FailoverDBCluster + // + // ModifyDBCluster + // + // RestoreDBClusterFromSnapshot + // + // RestoreDBClusterToPointInTime + // + // This data type is used as a response element in the DescribeDBClusters + // action. DBCluster *DBCluster `type:"structure"` } @@ -3626,20 +8217,30 @@ type CreateDBClusterParameterGroupInput struct { // The name of the DB cluster parameter group. // - // Constraints: + // Constraints: + // + // Must be 1 to 255 alphanumeric characters + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens // - // Must be 1 to 255 alphanumeric characters First character must be a letter - // Cannot end with a hyphen or contain two consecutive hyphens This value is - // stored as a lowercase string. + // This value is stored as a lowercase string. + // + // DBClusterParameterGroupName is a required field DBClusterParameterGroupName *string `type:"string" required:"true"` // The DB cluster parameter group family name. A DB cluster parameter group // can be associated with one and only one DB cluster parameter group family, // and can be applied only to a DB cluster running a database engine and engine // version compatible with that DB cluster parameter group family. + // + // DBParameterGroupFamily is a required field DBParameterGroupFamily *string `type:"string" required:"true"` // The description for the DB cluster parameter group. + // + // Description is a required field Description *string `type:"string" required:"true"` // A list of tags. @@ -3679,7 +8280,7 @@ type CreateDBClusterParameterGroupOutput struct { _ struct{} `type:"structure"` // Contains the result of a successful invocation of the CreateDBClusterParameterGroup - // action. + // or CopyDBClusterParameterGroup action. // // This data type is used as a request parameter in the DeleteDBClusterParameterGroup // action, and as a response element in the DescribeDBClusterParameterGroups @@ -3705,9 +8306,15 @@ type CreateDBClusterSnapshotInput struct { // // Constraints: // - // Must contain from 1 to 63 alphanumeric characters or hyphens. First character - // must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. - // Example: my-cluster1 + // Must contain from 1 to 63 alphanumeric characters or hyphens. + // + // First character must be a letter. + // + // Cannot end with a hyphen or contain two consecutive hyphens. + // + // Example: my-cluster1 + // + // DBClusterIdentifier is a required field DBClusterIdentifier *string `type:"string" required:"true"` // The identifier of the DB cluster snapshot. This parameter is stored as a @@ -3715,9 +8322,15 @@ type CreateDBClusterSnapshotInput struct { // // Constraints: // - // Must contain from 1 to 63 alphanumeric characters or hyphens. First character - // must be a letter. Cannot end with a hyphen or contain two consecutive hyphens. - // Example: my-cluster1-snapshot1 + // Must contain from 1 to 63 alphanumeric characters or hyphens. + // + // First character must be a letter. + // + // Cannot end with a hyphen or contain two consecutive hyphens. + // + // Example: my-cluster1-snapshot1 + // + // DBClusterSnapshotIdentifier is a required field DBClusterSnapshotIdentifier *string `type:"string" required:"true"` // The tags to be assigned to the DB cluster snapshot. @@ -3755,8 +8368,12 @@ type CreateDBClusterSnapshotOutput struct { // Contains the result of a successful invocation of the following actions: // - // CreateDBClusterSnapshot DeleteDBClusterSnapshot This data type is - // used as a response element in the DescribeDBClusterSnapshots action. + // CreateDBClusterSnapshot + // + // DeleteDBClusterSnapshot + // + // This data type is used as a response element in the DescribeDBClusterSnapshots + // action. DBClusterSnapshot *DBClusterSnapshot `type:"structure"` } @@ -3776,28 +8393,28 @@ type CreateDBInstanceInput struct { // The amount of storage (in gigabytes) to be initially allocated for the database // instance. // - // Type: Integer + // Type: Integer // // MySQL // - // Constraints: Must be an integer from 5 to 6144. + // Constraints: Must be an integer from 5 to 6144. // // MariaDB // - // Constraints: Must be an integer from 5 to 6144. + // Constraints: Must be an integer from 5 to 6144. // // PostgreSQL // - // Constraints: Must be an integer from 5 to 6144. + // Constraints: Must be an integer from 5 to 6144. // // Oracle // - // Constraints: Must be an integer from 10 to 6144. + // Constraints: Must be an integer from 10 to 6144. // // SQL Server // - // Constraints: Must be an integer from 200 to 4096 (Standard Edition and - // Enterprise Edition) or from 20 to 4096 (Express Edition and Web Edition) + // Constraints: Must be an integer from 200 to 4096 (Standard Edition and Enterprise + // Edition) or from 20 to 4096 (Express Edition and Web Edition) AllocatedStorage *int64 `type:"integer"` // Indicates that minor engine upgrades will be applied automatically to the @@ -3810,7 +8427,7 @@ type CreateDBInstanceInput struct { // For information on regions and Availability Zones, see Regions and Availability // Zones (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html). // - // Default: A random, system-chosen Availability Zone in the endpoint's region. + // Default: A random, system-chosen Availability Zone in the endpoint's region. // // Example: us-east-1d // @@ -3823,12 +8440,13 @@ type CreateDBInstanceInput struct { // parameter to a positive number enables backups. Setting this parameter to // 0 disables automated backups. // - // Default: 1 + // Default: 1 // // Constraints: // - // Must be a value from 0 to 35 Cannot be set to 0 if the DB instance is a - // source to Read Replicas + // Must be a value from 0 to 35 + // + // Cannot be set to 0 if the DB instance is a source to Read Replicas BackupRetentionPeriod *int64 `type:"integer"` // For supported engines, indicates that the DB instance should be associated @@ -3854,15 +8472,24 @@ type CreateDBInstanceInput struct { // | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge // | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small // | db.t2.medium | db.t2.large + // + // DBInstanceClass is a required field DBInstanceClass *string `type:"string" required:"true"` // The DB instance identifier. This parameter is stored as a lowercase string. // // Constraints: // - // Must contain from 1 to 63 alphanumeric characters or hyphens (1 to 15 for - // SQL Server). First character must be a letter. Cannot end with a hyphen or - // contain two consecutive hyphens. Example: mydbinstance + // Must contain from 1 to 63 alphanumeric characters or hyphens (1 to 15 + // for SQL Server). + // + // First character must be a letter. + // + // Cannot end with a hyphen or contain two consecutive hyphens. + // + // Example: mydbinstance + // + // DBInstanceIdentifier is a required field DBInstanceIdentifier *string `type:"string" required:"true"` // The meaning of this parameter differs according to the database engine you @@ -3877,16 +8504,22 @@ type CreateDBInstanceInput struct { // // Constraints: // - // Must contain 1 to 64 alphanumeric characters Cannot be a word reserved - // by the specified database engine MariaDB + // Must contain 1 to 64 alphanumeric characters + // + // Cannot be a word reserved by the specified database engine + // + // 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. // // Constraints: // - // Must contain 1 to 64 alphanumeric characters Cannot be a word reserved - // by the specified database engine PostgreSQL + // Must contain 1 to 64 alphanumeric characters + // + // Cannot be a word reserved by the specified database engine + // + // 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 @@ -3894,17 +8527,24 @@ type CreateDBInstanceInput struct { // // Constraints: // - // Must contain 1 to 63 alphanumeric characters Must begin with a letter or - // an underscore. Subsequent characters can be letters, underscores, or digits - // (0-9). Cannot be a word reserved by the specified database engine Oracle + // Must contain 1 to 63 alphanumeric characters + // + // Must begin with a letter or an underscore. Subsequent characters can be + // letters, underscores, or digits (0-9). // - // The Oracle System ID (SID) of the created DB instance. + // Cannot be a word reserved by the specified database engine + // + // Oracle + // + // The Oracle System ID (SID) of the created DB instance. // // Default: ORCL // // Constraints: // - // Cannot be longer than 8 characters SQL Server + // Cannot be longer than 8 characters + // + // SQL Server // // Not applicable. Must be null. // @@ -3916,28 +8556,32 @@ type CreateDBInstanceInput struct { // // Constraints: // - // Must contain 1 to 64 alphanumeric characters Cannot be a word reserved - // by the specified database engine + // Must contain 1 to 64 alphanumeric characters + // + // Cannot be a word reserved by the specified database engine DBName *string `type:"string"` // The name of the DB parameter group to associate with this DB instance. If // this argument is omitted, the default DBParameterGroup for the specified // engine will be used. // - // Constraints: + // Constraints: + // + // Must be 1 to 255 alphanumeric characters + // + // First character must be a letter // - // Must be 1 to 255 alphanumeric characters First character must be a letter - // Cannot end with a hyphen or contain two consecutive hyphens + // Cannot end with a hyphen or contain two consecutive hyphens DBParameterGroupName *string `type:"string"` // A list of DB security groups to associate with this DB instance. // - // Default: The default DB security group for the database engine. + // Default: The default DB security group for the database engine. DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"` // A DB subnet group to associate with this DB instance. // - // If there is no DB subnet group, then it is a non-VPC DB instance. + // If there is no DB subnet group, then it is a non-VPC DB instance. DBSubnetGroupName *string `type:"string"` // Specify the Active Directory Domain to create the instance in. @@ -3949,80 +8593,168 @@ type CreateDBInstanceInput struct { // The name of the database engine to be used for this instance. // - // Valid Values: MySQL | mariadb | oracle-se1 | oracle-se | oracle-ee | sqlserver-ee - // | sqlserver-se | sqlserver-ex | sqlserver-web | postgres | aurora + // Valid Values: mysql | mariadb | oracle-se1 | oracle-se2 | oracle-se | oracle-ee + // | sqlserver-ee | sqlserver-se | sqlserver-ex | sqlserver-web | postgres | + // aurora // - // Not every database engine is available for every AWS region. + // Not every database engine is available for every AWS region. + // + // Engine is a required field Engine *string `type:"string" required:"true"` // The version number of the database engine to use. // - // The following are the database engines and major and minor versions that + // The following are the database engines and major and minor versions that // are available with Amazon RDS. Not every database engine is available for // every AWS region. // - // MySQL - // - // Version 5.1 (Only available in the following regions: ap-northeast-1, ap-southeast-1, - // ap-southeast-2, eu-west-1, sa-east-1, us-west-1, us-west-2): 5.1.73a | 5.1.73b - // Version 5.5 (Only available in the following regions: ap-northeast-1, ap-southeast-1, - // ap-southeast-2, eu-west-1, sa-east-1, us-west-1, us-west-2): 5.5.40 | 5.5.40a - // Version 5.5 (Available in all regions): 5.5.40b | 5.5.41 | 5.5.42 Version - // 5.6 (Available in all regions): 5.6.19a | 5.6.19b | 5.6.21 | 5.6.21b | 5.6.22 - // | 5.6.23 | 5.6.27 Version 5.7 (Available in all regions): 5.7.10 MariaDB - // - // Version 10.0 (Available in all regions except AWS GovCloud (US) Region - // (us-gov-west-1)): 10.0.17 Oracle Database Enterprise Edition (oracle-ee) - // - // Version 11.2 (Only available in the following regions: ap-northeast-1, - // ap-southeast-1, ap-southeast-2, eu-west-1, sa-east-1, us-west-1, us-west-2): - // 11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7 Version - // 11.2 (Available in all regions): 11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.3.v3 - // | 11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4 Version 12.1 (Available in all - // regions): 12.1.0.1.v1 | 12.1.0.1.v2 | 12.1.0.2.v1 Oracle Database Standard - // Edition (oracle-se) - // - // Version 11.2 (Only available in the following regions: us-west-1): 11.2.0.2.v3 - // | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7 Version 11.2 (Only - // available in the following regions: eu-central-1, us-west-1): 11.2.0.3.v1 - // | 11.2.0.3.v2 | 11.2.0.3.v3 | 11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4 Version - // 12.1 (Only available in the following regions: eu-central-1, us-west-1): - // 12.1.0.1.v1 | 12.1.0.1.v2 Oracle Database Standard Edition One (oracle-se1) - // - // Version 11.2 (Only available in the following regions: us-west-1): 11.2.0.2.v3 - // | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7 Version 11.2 (Only - // available in the following regions: eu-central-1, us-west-1): 11.2.0.3.v1 - // | 11.2.0.3.v2 | 11.2.0.3.v3 | 11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4 Version - // 12.1 (Only available in the following regions: eu-central-1, us-west-1): - // 12.1.0.1.v1 | 12.1.0.1.v2 PostgreSQL - // - // Version 9.3 (Only available in the following regions: ap-northeast-1, ap-southeast-1, - // ap-southeast-2, eu-west-1, sa-east-1, us-west-1, us-west-2): 9.3.1 | 9.3.2 - // Version 9.3 (Available in all regions): 9.3.3 | 9.3.5 | 9.3.6 | 9.3.9 | - // 9.3.10 Version 9.4 (Available in all regions): 9.4.1 | 9.4.4 | 9.4.5 Microsoft - // SQL Server Enterprise Edition (sqlserver-ee) - // - // Version 10.50 (Available in all regions): 10.50.2789.0.v1 Version 10.50 - // (Available in all regions): 10.50.6000.34.v1 Version 11.00 (Available in - // all regions): 11.00.2100.60.v1 Version 11.00 (Available in all regions): - // 11.00.5058.0.v1 Microsoft SQL Server Express Edition (sqlserver-ex) - // - // Version 10.50 (Available in all regions): 10.50.2789.0.v1 Version 10.50 - // (Available in all regions): 10.50.6000.34.v1 Version 11.00 (Available in - // all regions): 11.00.2100.60.v1 Version 11.00 (Available in all regions): - // 11.00.5058.0.v1 Version 12.00 (Available in all regions): 12.00.4422.0.v1 - // Microsoft SQL Server Standard Edition (sqlserver-se) - // - // Version 10.50 (Available in all regions): 10.50.2789.0.v1 Version 10.50 - // (Available in all regions): 10.50.6000.34.v1 Version 11.00 (Available in - // all regions): 11.00.2100.60.v1 Version 11.00 (Available in all regions): - // 11.00.5058.0.v1 Version 12.00 (Available in all regions): 12.00.4422.0.v1 - // Microsoft SQL Server Web Edition (sqlserver-web) - // - // Version 10.50 (Available in all regions): 10.50.2789.0.v1 Version 10.50 - // (Available in all regions): 10.50.6000.34.v1 Version 11.00 (Available in - // all regions): 11.00.2100.60.v1 Version 11.00 (Available in all regions): - // 11.00.5058.0.v1 Version 12.00 (Available in all regions): 12.00.4422.0.v1 + // Amazon Aurora + // + // Version 5.6 (only available in AWS regions ap-northeast-1, ap-northeast-2, + // ap-south-1, ap-southeast-2, eu-west-1, us-east-1, us-west-2): 5.6.10a + // + // MariaDB + // + // Version 10.1 (available in all AWS regions except us-gov-west-1): 10.1.14 + // + // Version 10.0 (available in all AWS regions): 10.0.17 | 10.0.24 + // + // Microsoft SQL Server Enterprise Edition (sqlserver-ee) + // + // Version 11.00 (available in all AWS regions): 11.00.2100.60.v1 | 11.00.5058.0.v1 + // | 11.00.6020.0.v1 + // + // Version 10.50 (available in all AWS regions): 10.50.2789.0.v1 | 10.50.6000.34.v1 + // | 10.50.6529.0.v1 + // + // Microsoft SQL Server Express Edition (sqlserver-ex) + // + // Version 12.00 (available in all AWS regions): 12.00.4422.0.v1 + // + // Version 11.00 (available in all AWS regions): 11.00.2100.60.v1 | 11.00.5058.0.v1 + // | 11.00.6020.0.v1 + // + // Version 10.50 (available in all AWS regions): 10.50.2789.0.v1 | 10.50.6000.34.v1 + // | 10.50.6529.0.v1 + // + // Microsoft SQL Server Standard Edition (sqlserver-se) + // + // Version 12.00 (available in all AWS regions): 12.00.4422.0.v1 + // + // Version 11.00 (available in all AWS regions): 11.00.2100.60.v1 | 11.00.5058.0.v1 + // | 11.00.6020.0.v1 + // + // Version 10.50 (available in all AWS regions): 10.50.2789.0.v1 | 10.50.6000.34.v1 + // | 10.50.6529.0.v1 + // + // Microsoft SQL Server Web Edition (sqlserver-web) + // + // Version 12.00 (available in all AWS regions): 12.00.4422.0.v1 + // + // Version 11.00 (available in all AWS regions): 11.00.2100.60.v1 | 11.00.5058.0.v1 + // | 11.00.6020.0.v1 + // + // Version 10.50 (available in all AWS regions): 10.50.2789.0.v1 | 10.50.6000.34.v1 + // | 10.50.6529.0.v1 + // + // MySQL + // + // Version 5.7 (available in all AWS regions): 5.7.10 | 5.7.11 + // + // Version 5.6 (available in all AWS regions except ap-south-1, ap-northeast-2): + // 5.6.19a | 5.6.19b | 5.6.21 | 5.6.21b | 5.6.22 + // + // Version 5.6 (available in all AWS regions except ap-south-1): 5.6.23 + // + // Version 5.6 (available in all AWS regions): 5.6.27 | 5.6.29 + // + // Version 5.5 (only available in AWS regions ap-northeast-1, ap-southeast-1, + // ap-southeast-2, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, + // us-west-2): 5.5.40 | 5.5.40a + // + // Version 5.5 (available in all AWS regions except ap-south-1, ap-northeast-2): + // 5.5.40b | 5.5.41 + // + // Version 5.5 (available in all AWS regions except ap-south-1): 5.5.42 + // + // Version 5.5 (available in all AWS regions): 5.5.46 + // + // Oracle Database Enterprise Edition (oracle-ee) + // + // Version 12.1 (available in all AWS regions except ap-south-1, ap-northeast-2): + // 12.1.0.1.v1 | 12.1.0.1.v2 + // + // Version 12.1 (only available in AWS regions ap-northeast-1, ap-southeast-1, + // ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, + // us-west-2): 12.1.0.1.v3 | 12.1.0.1.v4 | 12.1.0.1.v5 + // + // Version 12.1 (available in all AWS regions): 12.1.0.2.v1 + // + // Version 12.1 (available in all AWS regions except us-gov-west-1): 12.1.0.2.v2 + // | 12.1.0.2.v3 | 12.1.0.2.v4 + // + // Version 11.2 (available in all AWS regions): 11.2.0.4.v1 | 11.2.0.4.v3 + // | 11.2.0.4.v4 + // + // Version 11.2 (available in all AWS regions except us-gov-west-1): 11.2.0.4.v5 + // | 11.2.0.4.v6 | 11.2.0.4.v7 | 11.2.0.4.v8 + // + // Oracle Database Standard Edition (oracle-se) + // + // Version 12.1 (available in all AWS regions except ap-south-1, ap-northeast-2): + // 12.1.0.1.v1 | 12.1.0.1.v2 + // + // Version 12.1 (only available in AWS regions ap-northeast-1, ap-southeast-1, + // ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, + // us-west-2): 12.1.0.1.v3 | 12.1.0.1.v4 | 12.1.0.1.v5 + // + // Version 11.2 (available in all AWS regions): 11.2.0.4.v1 | 11.2.0.4.v3 + // | 11.2.0.4.v4 + // + // Version 11.2 (available in all AWS regions except us-gov-west-1): 11.2.0.4.v5 + // | 11.2.0.4.v6 | 11.2.0.4.v7 | 11.2.0.4.v8 + // + // Oracle Database Standard Edition One (oracle-se1) + // + // Version 12.1 (available in all AWS regions except ap-south-1, ap-northeast-2): + // 12.1.0.1.v1 | 12.1.0.1.v2 + // + // Version 12.1 (only available in AWS regions ap-northeast-1, ap-southeast-1, + // ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, + // us-west-2): 12.1.0.1.v3 | 12.1.0.1.v4 | 12.1.0.1.v5 + // + // Version 11.2 (available in all AWS regions): 11.2.0.4.v1 | 11.2.0.4.v3 + // | 11.2.0.4.v4 + // + // Version 11.2 (available in all AWS regions except us-gov-west-1): 11.2.0.4.v5 + // | 11.2.0.4.v6 | 11.2.0.4.v7 | 11.2.0.4.v8 + // + // Oracle Database Standard Edition Two (oracle-se2) + // + // Version 12.1 (available in all AWS regions except us-gov-west-1): 12.1.0.2.v2 + // | 12.1.0.2.v3 | 12.1.0.2.v4 + // + // PostgreSQL + // + // Version 9.5 (available in all AWS regions except us-gov-west-1): 9.5.2 + // + // Version 9.4 (available in all AWS regions except ap-south-1): 9.4.1 + // | 9.4.4 + // + // Version 9.4 (available in all AWS regions): 9.4.5 + // + // Version 9.4 (available in all AWS regions except us-gov-west-1): 9.4.7 + // + // Version 9.3 (only available in AWS regions ap-northeast-1, ap-southeast-1, + // ap-southeast-2, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, + // us-west-2): 9.3.1 | 9.3.2 + // + // Version 9.3 (available in all AWS regions except ap-south-1, ap-northeast-2): + // 9.3.10 | 9.3.3 | 9.3.5 | 9.3.6 | 9.3.9 + // + // Version 9.3 (only available in AWS regions ap-northeast-1, ap-southeast-1, + // ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, + // us-west-2): 9.3.12 EngineVersion *string `type:"string"` // The amount of Provisioned IOPS (input/output operations per second) to be @@ -4059,27 +8791,27 @@ type CreateDBInstanceInput struct { // // MySQL // - // Constraints: Must contain from 8 to 41 characters. + // Constraints: Must contain from 8 to 41 characters. // // MariaDB // - // Constraints: Must contain from 8 to 41 characters. + // Constraints: Must contain from 8 to 41 characters. // // Oracle // - // Constraints: Must contain from 8 to 30 characters. + // Constraints: Must contain from 8 to 30 characters. // // SQL Server // - // Constraints: Must contain from 8 to 128 characters. + // Constraints: Must contain from 8 to 128 characters. // // PostgreSQL // - // Constraints: Must contain from 8 to 128 characters. + // Constraints: Must contain from 8 to 128 characters. // // Amazon Aurora // - // Constraints: Must contain from 8 to 41 characters. + // Constraints: Must contain from 8 to 41 characters. MasterUserPassword *string `type:"string"` // The name of master user for the client DB instance. @@ -4088,35 +8820,56 @@ type CreateDBInstanceInput struct { // // Constraints: // - // Must be 1 to 16 alphanumeric characters. First character must be a letter. - // Cannot be a reserved word for the chosen database engine. MariaDB + // Must be 1 to 16 alphanumeric characters. + // + // First character must be a letter. + // + // Cannot be a reserved word for the chosen database engine. + // + // MariaDB // // Constraints: // - // Must be 1 to 16 alphanumeric characters. Cannot be a reserved word for - // the chosen database engine. Type: String + // Must be 1 to 16 alphanumeric characters. + // + // Cannot be a reserved word for the chosen database engine. + // + // Type: String // // Oracle // // Constraints: // - // Must be 1 to 30 alphanumeric characters. First character must be a letter. - // Cannot be a reserved word for the chosen database engine. SQL Server + // Must be 1 to 30 alphanumeric characters. + // + // First character must be a letter. + // + // Cannot be a reserved word for the chosen database engine. + // + // SQL Server // // Constraints: // - // Must be 1 to 128 alphanumeric characters. First character must be a letter. - // Cannot be a reserved word for the chosen database engine. PostgreSQL + // Must be 1 to 128 alphanumeric characters. + // + // First character must be a letter. + // + // Cannot be a reserved word for the chosen database engine. + // + // PostgreSQL // // Constraints: // - // Must be 1 to 63 alphanumeric characters. First character must be a letter. - // Cannot be a reserved word for the chosen database engine. + // Must be 1 to 63 alphanumeric characters. + // + // First character must be a letter. + // + // Cannot be a reserved word for the chosen database engine. MasterUsername *string `type:"string"` // The interval, in seconds, between points when Enhanced Monitoring metrics // are collected for the DB instance. To disable collecting Enhanced Monitoring - // metrics, specify 0. The default is 60. + // metrics, specify 0. The default is 0. // // If MonitoringRoleArn is specified, then you must also set MonitoringInterval // to a value other than 0. @@ -4134,17 +8887,15 @@ type CreateDBInstanceInput struct { MonitoringRoleArn *string `type:"string"` // Specifies if the DB instance is a Multi-AZ deployment. You cannot set the - // AvailabilityZone parameter if the MultiAZ parameter is set to true. Do not - // set this value if you want a Multi-AZ deployment for a SQL Server DB instance. - // Multi-AZ for SQL Server is set using the Mirroring option in an option group. + // AvailabilityZone parameter if the MultiAZ parameter is set to true. MultiAZ *bool `type:"boolean"` // Indicates that the DB instance should be associated with the specified option // group. // - // Permanent options, such as the TDE option for Oracle Advanced Security - // TDE, cannot be removed from an option group, and that option group cannot - // be removed from a DB instance once it is associated with a DB instance + // Permanent options, such as the TDE option for Oracle Advanced Security TDE, + // cannot be removed from an option group, and that option group cannot be removed + // from a DB instance once it is associated with a DB instance OptionGroupName *string `type:"string"` // The port number on which the database accepts connections. @@ -4206,9 +8957,13 @@ type CreateDBInstanceInput struct { // // Constraints: // - // Must be in the format hh24:mi-hh24:mi. Times should be in Universal Coordinated - // Time (UTC). Must not conflict with the preferred maintenance window. Must - // be at least 30 minutes. + // Must be in the format hh24:mi-hh24:mi. + // + // Times should be in Universal Coordinated Time (UTC). + // + // Must not conflict with the preferred maintenance window. + // + // Must be at least 30 minutes. PreferredBackupWindow *string `type:"string"` // The weekly time range during which system maintenance can occur, in Universal @@ -4241,19 +8996,23 @@ type CreateDBInstanceInput struct { // which resolves to a public IP address. A value of false specifies an internal // instance with a DNS name that resolves to a private IP address. // - // Default: The default behavior varies depending on whether a VPC has been + // Default: The default behavior varies depending on whether a VPC has been // requested or not. The following list shows the default behavior in each case. // - // Default VPC: true VPC: false If no DB subnet group has been specified - // as part of the request and the PubliclyAccessible value has not been set, - // the DB instance will be publicly accessible. If a specific DB subnet group - // has been specified as part of the request and the PubliclyAccessible value - // has not been set, the DB instance will be private. + // Default VPC: true + // + // VPC: false + // + // If no DB subnet group has been specified as part of the request and the + // PubliclyAccessible value has not been set, the DB instance will be publicly + // accessible. If a specific DB subnet group has been specified as part of the + // request and the PubliclyAccessible value has not been set, the DB instance + // will be private. PubliclyAccessible *bool `type:"boolean"` // Specifies whether the DB instance is encrypted. // - // Default: false + // Default: false StorageEncrypted *bool `type:"boolean"` // Specifies the storage type to be associated with the DB instance. @@ -4275,9 +9034,13 @@ type CreateDBInstanceInput struct { // device. TdeCredentialPassword *string `type:"string"` + // The time zone of the DB instance. The time zone parameter is currently supported + // only by Microsoft SQL Server (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone). + Timezone *string `type:"string"` + // A list of EC2 VPC security groups to associate with this DB instance. // - // Default: The default EC2 VPC security group for the DB subnet group's VPC. + // Default: The default EC2 VPC security group for the DB subnet group's VPC. VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"` } @@ -4315,8 +9078,14 @@ type CreateDBInstanceOutput struct { // Contains the result of a successful invocation of the following actions: // - // CreateDBInstance DeleteDBInstance ModifyDBInstance This data type - // is used as a response element in the DescribeDBInstances action. + // CreateDBInstance + // + // DeleteDBInstance + // + // ModifyDBInstance + // + // This data type is used as a response element in the DescribeDBInstances + // action. DBInstance *DBInstance `type:"structure"` } @@ -4341,7 +9110,7 @@ type CreateDBInstanceReadReplicaInput struct { // The Amazon EC2 Availability Zone that the Read Replica will be created in. // - // Default: A random, system-chosen Availability Zone in the endpoint's region. + // Default: A random, system-chosen Availability Zone in the endpoint's region. // // Example: us-east-1d AvailabilityZone *string `type:"string"` @@ -4365,6 +9134,8 @@ type CreateDBInstanceReadReplicaInput struct { // The DB instance identifier of the Read Replica. This identifier is the unique // key that identifies a DB instance. This parameter is stored as a lowercase // string. + // + // DBInstanceIdentifier is a required field DBInstanceIdentifier *string `type:"string" required:"true"` // Specifies a DB subnet group for the DB instance. The new DB instance will @@ -4373,15 +9144,23 @@ type CreateDBInstanceReadReplicaInput struct { // // Constraints: // - // Can only be specified if the source DB instance identifier specifies a - // DB instance in another region. The specified DB subnet group must be in the - // same region in which the operation is running. All Read Replicas in one - // region that are created from the same source DB instance must either: Specify - // DB subnet groups from the same VPC. All these Read Replicas will be created - // in the same VPC.Not specify a DB subnet group. All these Read Replicas will - // be created outside of any VPC. Constraints: Must contain no more than 255 - // alphanumeric characters, periods, underscores, spaces, or hyphens. Must not - // be default. + // Can only be specified if the source DB instance identifier specifies a + // DB instance in another region. + // + // The specified DB subnet group must be in the same region in which the + // operation is running. + // + // All Read Replicas in one region that are created from the same source + // DB instance must either:> + // + // Specify DB subnet groups from the same VPC. All these Read Replicas will + // be created in the same VPC. + // + // Not specify a DB subnet group. All these Read Replicas will be created + // outside of any VPC. + // + // Constraints: Must contain no more than 255 alphanumeric characters, + // periods, underscores, spaces, or hyphens. Must not be default. // // Example: mySubnetgroup DBSubnetGroupName *string `type:"string"` @@ -4392,7 +9171,7 @@ type CreateDBInstanceReadReplicaInput struct { // The interval, in seconds, between points when Enhanced Monitoring metrics // are collected for the Read Replica. To disable collecting Enhanced Monitoring - // metrics, specify 0. The default is 60. + // metrics, specify 0. The default is 0. // // If MonitoringRoleArn is specified, then you must also set MonitoringInterval // to a value other than 0. @@ -4425,14 +9204,18 @@ type CreateDBInstanceReadReplicaInput struct { // which resolves to a public IP address. A value of false specifies an internal // instance with a DNS name that resolves to a private IP address. // - // Default: The default behavior varies depending on whether a VPC has been + // Default: The default behavior varies depending on whether a VPC has been // requested or not. The following list shows the default behavior in each case. // - // Default VPC:true VPC:false If no DB subnet group has been specified - // as part of the request and the PubliclyAccessible value has not been set, - // the DB instance will be publicly accessible. If a specific DB subnet group - // has been specified as part of the request and the PubliclyAccessible value - // has not been set, the DB instance will be private. + // Default VPC:true + // + // VPC:false + // + // If no DB subnet group has been specified as part of the request and the + // PubliclyAccessible value has not been set, the DB instance will be publicly + // accessible. If a specific DB subnet group has been specified as part of the + // request and the PubliclyAccessible value has not been set, the DB instance + // will be private. PubliclyAccessible *bool `type:"boolean"` // The identifier of the DB instance that will act as the source for the Read @@ -4440,16 +9223,26 @@ type CreateDBInstanceReadReplicaInput struct { // // Constraints: // - // Must be the identifier of an existing MySQL, MariaDB, or PostgreSQL DB - // instance. Can specify a DB instance that is a MySQL Read Replica only if - // the source is running MySQL 5.6. Can specify a DB instance that is a PostgreSQL - // Read Replica only if the source is running PostgreSQL 9.3.5. The specified - // DB instance must have automatic backups enabled, its backup retention period - // must be greater than 0. If the source DB instance is in the same region as - // the Read Replica, specify a valid DB instance identifier. If the source DB - // instance is in a different region than the Read Replica, specify a valid - // DB instance ARN. For more information, go to Constructing a Amazon RDS Amazon - // Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html#USER_Tagging.ARN). + // Must be the identifier of an existing MySQL, MariaDB, or PostgreSQL DB + // instance. + // + // Can specify a DB instance that is a MySQL Read Replica only if the source + // is running MySQL 5.6. + // + // Can specify a DB instance that is a PostgreSQL Read Replica only if the + // source is running PostgreSQL 9.3.5. + // + // The specified DB instance must have automatic backups enabled, its backup + // retention period must be greater than 0. + // + // If the source DB instance is in the same region as the Read Replica, specify + // a valid DB instance identifier. + // + // If the source DB instance is in a different region than the Read Replica, + // specify a valid DB instance ARN. For more information, go to Constructing + // a Amazon RDS Amazon Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing). + // + // SourceDBInstanceIdentifier is a required field SourceDBInstanceIdentifier *string `type:"string" required:"true"` // Specifies the storage type to be associated with the Read Replica. @@ -4496,8 +9289,14 @@ type CreateDBInstanceReadReplicaOutput struct { // Contains the result of a successful invocation of the following actions: // - // CreateDBInstance DeleteDBInstance ModifyDBInstance This data type - // is used as a response element in the DescribeDBInstances action. + // CreateDBInstance + // + // DeleteDBInstance + // + // ModifyDBInstance + // + // This data type is used as a response element in the DescribeDBInstances + // action. DBInstance *DBInstance `type:"structure"` } @@ -4518,18 +9317,28 @@ type CreateDBParameterGroupInput struct { // with one and only one DB parameter group family, and can be applied only // to a DB instance running a database engine and engine version compatible // with that DB parameter group family. + // + // DBParameterGroupFamily is a required field DBParameterGroupFamily *string `type:"string" required:"true"` // The name of the DB parameter group. // - // Constraints: + // Constraints: + // + // Must be 1 to 255 alphanumeric characters + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // This value is stored as a lowercase string. // - // Must be 1 to 255 alphanumeric characters First character must be a letter - // Cannot end with a hyphen or contain two consecutive hyphens This value is - // stored as a lowercase string. + // DBParameterGroupName is a required field DBParameterGroupName *string `type:"string" required:"true"` // The description for the DB parameter group. + // + // Description is a required field Description *string `type:"string" required:"true"` // A list of tags. @@ -4590,15 +9399,25 @@ type CreateDBSecurityGroupInput struct { _ struct{} `type:"structure"` // The description for the DB security group. + // + // DBSecurityGroupDescription is a required field DBSecurityGroupDescription *string `type:"string" required:"true"` // The name for the DB security group. This value is stored as a lowercase string. // // Constraints: // - // Must be 1 to 255 alphanumeric characters First character must be a letter - // Cannot end with a hyphen or contain two consecutive hyphens Must not be "Default" - // Cannot contain spaces Example: mysecuritygroup + // Must be 1 to 255 alphanumeric characters + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // Must not be "Default" + // + // Example: mysecuritygroup + // + // DBSecurityGroupName is a required field DBSecurityGroupName *string `type:"string" required:"true"` // A list of tags. @@ -4636,9 +9455,16 @@ type CreateDBSecurityGroupOutput struct { // Contains the result of a successful invocation of the following actions: // - // DescribeDBSecurityGroups AuthorizeDBSecurityGroupIngress CreateDBSecurityGroup - // RevokeDBSecurityGroupIngress This data type is used as a response element - // in the DescribeDBSecurityGroups action. + // DescribeDBSecurityGroups + // + // AuthorizeDBSecurityGroupIngress + // + // CreateDBSecurityGroup + // + // RevokeDBSecurityGroupIngress + // + // This data type is used as a response element in the DescribeDBSecurityGroups + // action. DBSecurityGroup *DBSecurityGroup `type:"structure"` } @@ -4659,17 +9485,30 @@ type CreateDBSnapshotInput struct { // // Constraints: // - // Must contain from 1 to 63 alphanumeric characters or hyphens First character - // must be a letter Cannot end with a hyphen or contain two consecutive hyphens + // Must contain from 1 to 63 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // DBInstanceIdentifier is a required field DBInstanceIdentifier *string `type:"string" required:"true"` // The identifier for the DB snapshot. // // Constraints: // - // Cannot be null, empty, or blank Must contain from 1 to 255 alphanumeric - // characters or hyphens First character must be a letter Cannot end with a - // hyphen or contain two consecutive hyphens Example: my-snapshot-id + // Cannot be null, empty, or blank + // + // Must contain from 1 to 255 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // Example: my-snapshot-id + // + // DBSnapshotIdentifier is a required field DBSnapshotIdentifier *string `type:"string" required:"true"` // A list of tags. @@ -4707,8 +9546,12 @@ type CreateDBSnapshotOutput struct { // Contains the result of a successful invocation of the following actions: // - // CreateDBSnapshot DeleteDBSnapshot This data type is used as a response - // element in the DescribeDBSnapshots action. + // CreateDBSnapshot + // + // DeleteDBSnapshot + // + // This data type is used as a response element in the DescribeDBSnapshots + // action. DBSnapshot *DBSnapshot `type:"structure"` } @@ -4726,6 +9569,8 @@ type CreateDBSubnetGroupInput struct { _ struct{} `type:"structure"` // The description for the DB subnet group. + // + // DBSubnetGroupDescription is a required field DBSubnetGroupDescription *string `type:"string" required:"true"` // The name for the DB subnet group. This value is stored as a lowercase string. @@ -4734,9 +9579,13 @@ type CreateDBSubnetGroupInput struct { // underscores, spaces, or hyphens. Must not be default. // // Example: mySubnetgroup + // + // DBSubnetGroupName is a required field DBSubnetGroupName *string `type:"string" required:"true"` // The EC2 Subnet IDs for the DB subnet group. + // + // SubnetIds is a required field SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"` // A list of tags. @@ -4777,7 +9626,14 @@ type CreateDBSubnetGroupOutput struct { // Contains the result of a successful invocation of the following actions: // - // CreateDBSubnetGroup ModifyDBSubnetGroup DescribeDBSubnetGroups DeleteDBSubnetGroup + // CreateDBSubnetGroup + // + // ModifyDBSubnetGroup + // + // DescribeDBSubnetGroups + // + // DeleteDBSubnetGroup + // // This data type is used as a response element in the DescribeDBSubnetGroups // action. DBSubnetGroup *DBSubnetGroup `type:"structure"` @@ -4810,6 +9666,8 @@ type CreateEventSubscriptionInput struct { // The Amazon Resource Name (ARN) of the SNS topic created for event notification. // The ARN is created by Amazon SNS when you create a topic and subscribe to // it. + // + // SnsTopicArn is a required field SnsTopicArn *string `type:"string" required:"true"` // The list of identifiers of the event sources for which events will be returned. @@ -4819,12 +9677,18 @@ type CreateEventSubscriptionInput struct { // // Constraints: // - // If SourceIds are supplied, SourceType must also be provided. If the source - // type is a DB instance, then a DBInstanceIdentifier must be supplied. If the - // source type is a DB security group, a DBSecurityGroupName must be supplied. - // If the source type is a DB parameter group, a DBParameterGroupName must be - // supplied. If the source type is a DB snapshot, a DBSnapshotIdentifier must + // If SourceIds are supplied, SourceType must also be provided. + // + // If the source type is a DB instance, then a DBInstanceIdentifier must // be supplied. + // + // If the source type is a DB security group, a DBSecurityGroupName must + // be supplied. + // + // If the source type is a DB parameter group, a DBParameterGroupName must + // be supplied. + // + // If the source type is a DB snapshot, a DBSnapshotIdentifier must be supplied. SourceIds []*string `locationNameList:"SourceId" type:"list"` // The type of source that will be generating the events. For example, if you @@ -4832,12 +9696,15 @@ type CreateEventSubscriptionInput struct { // parameter to db-instance. if this value is not specified, all events are // returned. // - // Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot + // Valid values: db-instance | db-cluster | db-parameter-group | db-security-group + // | db-snapshot | db-cluster-snapshot SourceType *string `type:"string"` // The name of the subscription. // // Constraints: The name must be less than 255 characters. + // + // SubscriptionName is a required field SubscriptionName *string `type:"string" required:"true"` // A list of tags. @@ -4893,22 +9760,34 @@ type CreateOptionGroupInput struct { // Specifies the name of the engine that this option group should be associated // with. + // + // EngineName is a required field EngineName *string `type:"string" required:"true"` // Specifies the major version of the engine that this option group should be // associated with. + // + // MajorEngineVersion is a required field MajorEngineVersion *string `type:"string" required:"true"` // The description of the option group. + // + // OptionGroupDescription is a required field OptionGroupDescription *string `type:"string" required:"true"` // Specifies the name of the option group to be created. // - // Constraints: + // Constraints: + // + // Must be 1 to 255 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // Example: myoptiongroup // - // Must be 1 to 255 alphanumeric characters or hyphens First character must - // be a letter Cannot end with a hyphen or contain two consecutive hyphens - // Example: myoptiongroup + // OptionGroupName is a required field OptionGroupName *string `type:"string" required:"true"` // A list of tags. @@ -4965,9 +9844,20 @@ func (s CreateOptionGroupOutput) GoString() string { // Contains the result of a successful invocation of the following actions: // -// CreateDBCluster DeleteDBCluster FailoverDBCluster ModifyDBCluster -// RestoreDBClusterFromSnapshot This data type is used as a response element -// in the DescribeDBClusters action. +// CreateDBCluster +// +// DeleteDBCluster +// +// FailoverDBCluster +// +// ModifyDBCluster +// +// RestoreDBClusterFromSnapshot +// +// RestoreDBClusterToPointInTime +// +// This data type is used as a response element in the DescribeDBClusters +// action. type DBCluster struct { _ struct{} `type:"structure"` @@ -4985,6 +9875,9 @@ type DBCluster struct { // associated with. CharacterSetName *string `type:"string"` + // The Amazon Resource Name (ARN) for the DB cluster. + DBClusterArn *string `type:"string"` + // Contains a user-supplied DB cluster identifier. This identifier is the unique // key that identifies a DB cluster. DBClusterIdentifier *string `type:"string"` @@ -5053,6 +9946,27 @@ type DBCluster struct { // in Universal Coordinated Time (UTC). PreferredMaintenanceWindow *string `type:"string"` + // Contains one or more identifiers of the Read Replicas associated with this + // DB cluster. + ReadReplicaIdentifiers []*string `locationNameList:"ReadReplicaIdentifier" type:"list"` + + // The reader endpoint for the DB cluster. The reader endpoint for a DB cluster + // load-balances connections across the Aurora Replicas that are available in + // a DB cluster. As clients request new connections to the reader endpoint, + // Aurora distributes the connection requests among the Aurora Replicas in the + // DB cluster. This functionality can help balance your read workload across + // multiple Aurora Replicas in your DB cluster. + // + // If a failover occurs, and the Aurora Replica that you are connected to is + // promoted to be the primary instance, your connection will be dropped. To + // continue sending your read workload to other Aurora Replicas in the cluster, + // you can then recoonect to the reader endpoint. + ReaderEndpoint *string `type:"string"` + + // Contains the identifier of the source DB cluster if this DB cluster is a + // Read Replica. + ReplicationSourceIdentifier *string `type:"string"` + // Specifies the current state of this DB cluster. Status *string `type:"string"` @@ -5126,7 +10040,7 @@ func (s DBClusterOptionGroupStatus) GoString() string { } // Contains the result of a successful invocation of the CreateDBClusterParameterGroup -// action. +// or CopyDBClusterParameterGroup action. // // This data type is used as a request parameter in the DeleteDBClusterParameterGroup // action, and as a response element in the DescribeDBClusterParameterGroups @@ -5134,6 +10048,9 @@ func (s DBClusterOptionGroupStatus) GoString() string { type DBClusterParameterGroup struct { _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) for the DB cluster parameter group. + DBClusterParameterGroupArn *string `type:"string"` + // Provides the name of the DB cluster parameter group. DBClusterParameterGroupName *string `type:"string"` @@ -5161,11 +10078,15 @@ type DBClusterParameterGroupNameMessage struct { // The name of the DB cluster parameter group. // - // Constraints: + // Constraints: + // + // Must be 1 to 255 alphanumeric characters + // + // First character must be a letter // - // Must be 1 to 255 alphanumeric characters First character must be a letter - // Cannot end with a hyphen or contain two consecutive hyphens This value is - // stored as a lowercase string. + // Cannot end with a hyphen or contain two consecutive hyphens + // + // This value is stored as a lowercase string. DBClusterParameterGroupName *string `type:"string"` } @@ -5181,8 +10102,12 @@ func (s DBClusterParameterGroupNameMessage) GoString() string { // Contains the result of a successful invocation of the following actions: // -// CreateDBClusterSnapshot DeleteDBClusterSnapshot This data type is -// used as a response element in the DescribeDBClusterSnapshots action. +// CreateDBClusterSnapshot +// +// DeleteDBClusterSnapshot +// +// This data type is used as a response element in the DescribeDBClusterSnapshots +// action. type DBClusterSnapshot struct { _ struct{} `type:"structure"` @@ -5201,6 +10126,9 @@ type DBClusterSnapshot struct { // snapshot was created from. DBClusterIdentifier *string `type:"string"` + // The Amazon Resource Name (ARN) for the DB cluster snapshot. + DBClusterSnapshotArn *string `type:"string"` + // Specifies the identifier for the DB cluster snapshot. DBClusterSnapshotIdentifier *string `type:"string"` @@ -5254,6 +10182,68 @@ func (s DBClusterSnapshot) GoString() string { return s.String() } +// Contains the name and values of a manual DB cluster snapshot attribute. +// +// Manual DB cluster snapshot attributes are used to authorize other AWS accounts +// to restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute +// API action. +type DBClusterSnapshotAttribute struct { + _ struct{} `type:"structure"` + + // The name of the manual DB cluster snapshot attribute. + // + // The attribute named restore refers to the list of AWS accounts that have + // permission to copy or restore the manual DB cluster snapshot. For more information, + // see the ModifyDBClusterSnapshotAttribute API action. + AttributeName *string `type:"string"` + + // The value(s) for the manual DB cluster snapshot attribute. + // + // If the AttributeName field is set to restore, then this element returns + // a list of IDs of the AWS accounts that are authorized to copy or restore + // the manual DB cluster snapshot. If a value of all is in the list, then the + // manual DB cluster snapshot is public and available for any AWS account to + // copy or restore. + AttributeValues []*string `locationNameList:"AttributeValue" type:"list"` +} + +// String returns the string representation +func (s DBClusterSnapshotAttribute) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DBClusterSnapshotAttribute) GoString() string { + return s.String() +} + +// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes +// API action. +// +// Manual DB cluster snapshot attributes are used to authorize other AWS accounts +// to copy or restore a manual DB cluster snapshot. For more information, see +// the ModifyDBClusterSnapshotAttribute API action. +type DBClusterSnapshotAttributesResult struct { + _ struct{} `type:"structure"` + + // The list of attributes and values for the manual DB cluster snapshot. + DBClusterSnapshotAttributes []*DBClusterSnapshotAttribute `locationNameList:"DBClusterSnapshotAttribute" type:"list"` + + // The identifier of the manual DB cluster snapshot that the attributes apply + // to. + DBClusterSnapshotIdentifier *string `type:"string"` +} + +// String returns the string representation +func (s DBClusterSnapshotAttributesResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DBClusterSnapshotAttributesResult) GoString() string { + return s.String() +} + // This data type is used as a response element in the action DescribeDBEngineVersions. type DBEngineVersion struct { _ struct{} `type:"structure"` @@ -5278,9 +10268,13 @@ type DBEngineVersion struct { EngineVersion *string `type:"string"` // A list of the character sets supported by this engine for the CharacterSetName - // parameter of the CreateDBInstance API. + // parameter of the CreateDBInstance action. SupportedCharacterSets []*CharacterSet `locationNameList:"CharacterSet" type:"list"` + // A list of the time zones supported by this engine for the Timezone parameter + // of the CreateDBInstance action. + SupportedTimezones []*Timezone `locationNameList:"Timezone" type:"list"` + // A list of engine versions that this database engine version can be upgraded // to. ValidUpgradeTarget []*UpgradeTarget `locationNameList:"UpgradeTarget" type:"list"` @@ -5298,8 +10292,14 @@ func (s DBEngineVersion) GoString() string { // Contains the result of a successful invocation of the following actions: // -// CreateDBInstance DeleteDBInstance ModifyDBInstance This data type -// is used as a response element in the DescribeDBInstances action. +// CreateDBInstance +// +// DeleteDBInstance +// +// ModifyDBInstance +// +// This data type is used as a response element in the DescribeDBInstances +// action. type DBInstance struct { _ struct{} `type:"structure"` @@ -5330,6 +10330,9 @@ type DBInstance struct { // DB cluster that the DB instance is a member of. DBClusterIdentifier *string `type:"string"` + // The Amazon Resource Name (ARN) for the DB instance. + DBInstanceArn *string `type:"string"` + // Contains the name of the compute and memory capacity class of the DB instance. DBInstanceClass *string `type:"string"` @@ -5347,7 +10350,7 @@ type DBInstance struct { // // MySQL, MariaDB, SQL Server, PostgreSQL, Amazon Aurora // - // Contains the name of the initial database of this instance that was provided + // Contains the name of the initial database of this instance that was provided // at create time, if one was specified when the DB instance was created. This // same name is returned for the life of the DB instance. // @@ -5355,7 +10358,7 @@ type DBInstance struct { // // Oracle // - // Contains the Oracle System ID (SID) of the created DB instance. Not shown + // Contains the Oracle System ID (SID) of the created DB instance. Not shown // when the returned parameters do not apply to an Oracle DB instance. DBName *string `type:"string"` @@ -5451,14 +10454,18 @@ type DBInstance struct { // which resolves to a public IP address. A value of false specifies an internal // instance with a DNS name that resolves to a private IP address. // - // Default: The default behavior varies depending on whether a VPC has been + // Default: The default behavior varies depending on whether a VPC has been // requested or not. The following list shows the default behavior in each case. // - // Default VPC:true VPC:false If no DB subnet group has been specified - // as part of the request and the PubliclyAccessible value has not been set, - // the DB instance will be publicly accessible. If a specific DB subnet group - // has been specified as part of the request and the PubliclyAccessible value - // has not been set, the DB instance will be private. + // Default VPC:true + // + // VPC:false + // + // If no DB subnet group has been specified as part of the request and the + // PubliclyAccessible value has not been set, the DB instance will be publicly + // accessible. If a specific DB subnet group has been specified as part of the + // request and the PubliclyAccessible value has not been set, the DB instance + // will be private. PubliclyAccessible *bool `type:"boolean"` // Contains one or more identifiers of the Read Replicas associated with this @@ -5483,11 +10490,16 @@ type DBInstance struct { // Specifies the storage type associated with DB instance. StorageType *string `type:"string"` - // The ARN from the Key Store with which the instance is associated for TDE + // The ARN from the key store with which the instance is associated for TDE // encryption. TdeCredentialArn *string `type:"string"` - // Provides List of VPC security group elements that the DB instance belongs + // The time zone of the DB instance. In most cases, the Timezone element is + // empty. Timezone content appears only for Microsoft SQL Server DB instances + // that were created with a time zone specified. + Timezone *string `type:"string"` + + // Provides a list of VPC security group elements that the DB instance belongs // to. VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"` } @@ -5540,6 +10552,9 @@ func (s DBInstanceStatusInfo) GoString() string { type DBParameterGroup struct { _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) for the DB parameter group. + DBParameterGroupArn *string `type:"string"` + // Provides the name of the DB parameter group family that this DB parameter // group is compatible with. DBParameterGroupFamily *string `type:"string"` @@ -5584,8 +10599,17 @@ func (s DBParameterGroupNameMessage) GoString() string { // // This data type is used as a response element in the following actions: // -// CreateDBInstance CreateDBInstanceReadReplica DeleteDBInstance ModifyDBInstance -// RebootDBInstance RestoreDBInstanceFromDBSnapshot +// CreateDBInstance +// +// CreateDBInstanceReadReplica +// +// DeleteDBInstance +// +// ModifyDBInstance +// +// RebootDBInstance +// +// RestoreDBInstanceFromDBSnapshot type DBParameterGroupStatus struct { _ struct{} `type:"structure"` @@ -5608,12 +10632,22 @@ func (s DBParameterGroupStatus) GoString() string { // Contains the result of a successful invocation of the following actions: // -// DescribeDBSecurityGroups AuthorizeDBSecurityGroupIngress CreateDBSecurityGroup -// RevokeDBSecurityGroupIngress This data type is used as a response element -// in the DescribeDBSecurityGroups action. +// DescribeDBSecurityGroups +// +// AuthorizeDBSecurityGroupIngress +// +// CreateDBSecurityGroup +// +// RevokeDBSecurityGroupIngress +// +// This data type is used as a response element in the DescribeDBSecurityGroups +// action. type DBSecurityGroup struct { _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) for the DB security group. + DBSecurityGroupArn *string `type:"string"` + // Provides the description of the DB security group. DBSecurityGroupDescription *string `type:"string"` @@ -5645,8 +10679,13 @@ func (s DBSecurityGroup) GoString() string { // This data type is used as a response element in the following actions: // -// ModifyDBInstance RebootDBInstance RestoreDBInstanceFromDBSnapshot -// RestoreDBInstanceToPointInTime +// ModifyDBInstance +// +// RebootDBInstance +// +// RestoreDBInstanceFromDBSnapshot +// +// RestoreDBInstanceToPointInTime type DBSecurityGroupMembership struct { _ struct{} `type:"structure"` @@ -5669,8 +10708,12 @@ func (s DBSecurityGroupMembership) GoString() string { // Contains the result of a successful invocation of the following actions: // -// CreateDBSnapshot DeleteDBSnapshot This data type is used as a response -// element in the DescribeDBSnapshots action. +// CreateDBSnapshot +// +// DeleteDBSnapshot +// +// This data type is used as a response element in the DescribeDBSnapshots +// action. type DBSnapshot struct { _ struct{} `type:"structure"` @@ -5685,6 +10728,9 @@ type DBSnapshot struct { // was created from. DBInstanceIdentifier *string `type:"string"` + // The Amazon Resource Name (ARN) for the DB snapshot. + DBSnapshotArn *string `type:"string"` + // Specifies the identifier for the DB snapshot. DBSnapshotIdentifier *string `type:"string"` @@ -5741,12 +10787,17 @@ type DBSnapshot struct { // Specifies the status of this DB snapshot. Status *string `type:"string"` - // Specifies the storage type associated with DB Snapshot. + // Specifies the storage type associated with DB snapshot. StorageType *string `type:"string"` - // The ARN from the Key Store with which to associate the instance for TDE encryption. + // The ARN from the key store with which to associate the instance for TDE encryption. TdeCredentialArn *string `type:"string"` + // The time zone of the DB snapshot. In most cases, the Timezone element is + // empty. Timezone content appears only for snapshots taken from Microsoft SQL + // Server DB instances that were created with a time zone specified. + Timezone *string `type:"string"` + // Provides the VPC ID associated with the DB snapshot. VpcId *string `type:"string"` } @@ -5771,16 +10822,17 @@ type DBSnapshotAttribute struct { // The name of the manual DB snapshot attribute. // - // An attribute name of restore applies to the list of AWS accounts that have - // permission to copy or restore the manual DB snapshot. + // The attribute named restore refers to the list of AWS accounts that have + // permission to copy or restore the manual DB cluster snapshot. For more information, + // see the ModifyDBSnapshotAttribute API action. AttributeName *string `type:"string"` - // The value(s) for the manual DB snapshot attribute. + // The value or values for the manual DB snapshot attribute. // - // If the AttributeName field is restore, then this field returns a list of - // AWS account ids that are authorized to copy or restore the manual DB snapshot. - // If a value of all is in the list, then the manual DB snapshot is public and - // available for any AWS account to copy or restore. + // If the AttributeName field is set to restore, then this element returns + // a list of IDs of the AWS accounts that are authorized to copy or restore + // the manual DB snapshot. If a value of all is in the list, then the manual + // DB snapshot is public and available for any AWS account to copy or restore. AttributeValues []*string `locationNameList:"AttributeValue" type:"list"` } @@ -5795,11 +10847,11 @@ func (s DBSnapshotAttribute) GoString() string { } // Contains the results of a successful call to the DescribeDBSnapshotAttributes -// API. +// API action. // // Manual DB snapshot attributes are used to authorize other AWS accounts to // copy or restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute -// API. +// API action. type DBSnapshotAttributesResult struct { _ struct{} `type:"structure"` @@ -5822,12 +10874,22 @@ func (s DBSnapshotAttributesResult) GoString() string { // Contains the result of a successful invocation of the following actions: // -// CreateDBSubnetGroup ModifyDBSubnetGroup DescribeDBSubnetGroups DeleteDBSubnetGroup +// CreateDBSubnetGroup +// +// ModifyDBSubnetGroup +// +// DescribeDBSubnetGroups +// +// DeleteDBSubnetGroup +// // This data type is used as a response element in the DescribeDBSubnetGroups // action. type DBSubnetGroup struct { _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) for the DB subnet group. + DBSubnetGroupArn *string `type:"string"` + // Provides the description of the DB subnet group. DBSubnetGroupDescription *string `type:"string"` @@ -5862,26 +10924,38 @@ type DeleteDBClusterInput struct { // // Constraints: // - // Must contain from 1 to 63 alphanumeric characters or hyphens First character - // must be a letter Cannot end with a hyphen or contain two consecutive hyphens + // Must contain from 1 to 63 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // DBClusterIdentifier is a required field DBClusterIdentifier *string `type:"string" required:"true"` // The DB cluster snapshot identifier of the new DB cluster snapshot created // when SkipFinalSnapshot is set to false. // - // Specifying this parameter and also setting the SkipFinalShapshot parameter - // to true results in an error. Constraints: + // Specifying this parameter and also setting the SkipFinalShapshot parameter + // to true results in an error. // - // Must be 1 to 255 alphanumeric characters First character must be a letter - // Cannot end with a hyphen or contain two consecutive hyphens + // Constraints: + // + // Must be 1 to 255 alphanumeric characters + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens FinalDBSnapshotIdentifier *string `type:"string"` // Determines whether a final DB cluster snapshot is created before the DB cluster // is deleted. If true is specified, no DB cluster snapshot is created. If false // is specified, a DB cluster snapshot is created before the DB cluster is deleted. // - // You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot - // is false. Default: false + // You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot + // is false. + // + // Default: false SkipFinalSnapshot *bool `type:"boolean"` } @@ -5913,9 +10987,20 @@ type DeleteDBClusterOutput struct { // Contains the result of a successful invocation of the following actions: // - // CreateDBCluster DeleteDBCluster FailoverDBCluster ModifyDBCluster - // RestoreDBClusterFromSnapshot This data type is used as a response element - // in the DescribeDBClusters action. + // CreateDBCluster + // + // DeleteDBCluster + // + // FailoverDBCluster + // + // ModifyDBCluster + // + // RestoreDBClusterFromSnapshot + // + // RestoreDBClusterToPointInTime + // + // This data type is used as a response element in the DescribeDBClusters + // action. DBCluster *DBCluster `type:"structure"` } @@ -5936,9 +11021,13 @@ type DeleteDBClusterParameterGroupInput struct { // // Constraints: // - // Must be the name of an existing DB cluster parameter group. You cannot - // delete a default DB cluster parameter group. Cannot be associated with any - // DB clusters. + // Must be the name of an existing DB cluster parameter group. + // + // You cannot delete a default DB cluster parameter group. + // + // Cannot be associated with any DB clusters. + // + // DBClusterParameterGroupName is a required field DBClusterParameterGroupName *string `type:"string" required:"true"` } @@ -5986,6 +11075,8 @@ type DeleteDBClusterSnapshotInput struct { // // Constraints: Must be the name of an existing DB cluster snapshot in the // available state. + // + // DBClusterSnapshotIdentifier is a required field DBClusterSnapshotIdentifier *string `type:"string" required:"true"` } @@ -6017,8 +11108,12 @@ type DeleteDBClusterSnapshotOutput struct { // Contains the result of a successful invocation of the following actions: // - // CreateDBClusterSnapshot DeleteDBClusterSnapshot This data type is - // used as a response element in the DescribeDBClusterSnapshots action. + // CreateDBClusterSnapshot + // + // DeleteDBClusterSnapshot + // + // This data type is used as a response element in the DescribeDBClusterSnapshots + // action. DBClusterSnapshot *DBClusterSnapshot `type:"structure"` } @@ -6040,19 +11135,30 @@ type DeleteDBInstanceInput struct { // // Constraints: // - // Must contain from 1 to 63 alphanumeric characters or hyphens First character - // must be a letter Cannot end with a hyphen or contain two consecutive hyphens + // Must contain from 1 to 63 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // DBInstanceIdentifier is a required field DBInstanceIdentifier *string `type:"string" required:"true"` // The DBSnapshotIdentifier of the new DBSnapshot created when SkipFinalSnapshot // is set to false. // // Specifying this parameter and also setting the SkipFinalShapshot parameter - // to true results in an error. Constraints: + // to true results in an error. + // + // Constraints: + // + // Must be 1 to 255 alphanumeric characters + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens // - // Must be 1 to 255 alphanumeric characters First character must be a letter - // Cannot end with a hyphen or contain two consecutive hyphens Cannot be specified - // when deleting a Read Replica. + // Cannot be specified when deleting a Read Replica. FinalDBSnapshotIdentifier *string `type:"string"` // Determines whether a final DB snapshot is created before the DB instance @@ -6065,8 +11171,10 @@ type DeleteDBInstanceInput struct { // // Specify true when deleting a Read Replica. // - // The FinalDBSnapshotIdentifier parameter must be specified if SkipFinalSnapshot - // is false. Default: false + // The FinalDBSnapshotIdentifier parameter must be specified if SkipFinalSnapshot + // is false. + // + // Default: false SkipFinalSnapshot *bool `type:"boolean"` } @@ -6098,8 +11206,14 @@ type DeleteDBInstanceOutput struct { // Contains the result of a successful invocation of the following actions: // - // CreateDBInstance DeleteDBInstance ModifyDBInstance This data type - // is used as a response element in the DescribeDBInstances action. + // CreateDBInstance + // + // DeleteDBInstance + // + // ModifyDBInstance + // + // This data type is used as a response element in the DescribeDBInstances + // action. DBInstance *DBInstance `type:"structure"` } @@ -6120,8 +11234,13 @@ type DeleteDBParameterGroupInput struct { // // Constraints: // - // Must be the name of an existing DB parameter group You cannot delete a - // default DB parameter group Cannot be associated with any DB instances + // Must be the name of an existing DB parameter group + // + // You cannot delete a default DB parameter group + // + // Cannot be associated with any DB instances + // + // DBParameterGroupName is a required field DBParameterGroupName *string `type:"string" required:"true"` } @@ -6167,11 +11286,19 @@ type DeleteDBSecurityGroupInput struct { // The name of the DB security group to delete. // - // You cannot delete the default DB security group. Constraints: + // You cannot delete the default DB security group. + // + // Constraints: + // + // Must be 1 to 255 alphanumeric characters // - // Must be 1 to 255 alphanumeric characters First character must be a letter - // Cannot end with a hyphen or contain two consecutive hyphens Must not be "Default" - // Cannot contain spaces + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // Must not be "Default" + // + // DBSecurityGroupName is a required field DBSecurityGroupName *string `type:"string" required:"true"` } @@ -6219,6 +11346,8 @@ type DeleteDBSnapshotInput struct { // // Constraints: Must be the name of an existing DB snapshot in the available // state. + // + // DBSnapshotIdentifier is a required field DBSnapshotIdentifier *string `type:"string" required:"true"` } @@ -6250,8 +11379,12 @@ type DeleteDBSnapshotOutput struct { // Contains the result of a successful invocation of the following actions: // - // CreateDBSnapshot DeleteDBSnapshot This data type is used as a response - // element in the DescribeDBSnapshots action. + // CreateDBSnapshot + // + // DeleteDBSnapshot + // + // This data type is used as a response element in the DescribeDBSnapshots + // action. DBSnapshot *DBSnapshot `type:"structure"` } @@ -6270,12 +11403,16 @@ type DeleteDBSubnetGroupInput struct { // The name of the database subnet group to delete. // - // You cannot delete the default subnet group. Constraints: + // You cannot delete the default subnet group. + // + // Constraints: // // Constraints: Must contain no more than 255 alphanumeric characters, periods, // underscores, spaces, or hyphens. Must not be default. // // Example: mySubnetgroup + // + // DBSubnetGroupName is a required field DBSubnetGroupName *string `type:"string" required:"true"` } @@ -6320,6 +11457,8 @@ type DeleteEventSubscriptionInput struct { _ struct{} `type:"structure"` // The name of the RDS event notification subscription you want to delete. + // + // SubscriptionName is a required field SubscriptionName *string `type:"string" required:"true"` } @@ -6369,7 +11508,9 @@ type DeleteOptionGroupInput struct { // The name of the option group to be deleted. // - // You cannot delete default option groups. + // You cannot delete default option groups. + // + // OptionGroupName is a required field OptionGroupName *string `type:"string" required:"true"` } @@ -6452,8 +11593,11 @@ type DescribeCertificatesInput struct { // // Constraints: // - // Must contain from 1 to 63 alphanumeric characters or hyphens First character - // must be a letter Cannot end with a hyphen or contain two consecutive hyphens + // Must contain from 1 to 63 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens CertificateIdentifier *string `type:"string"` // This parameter is not currently supported. @@ -6534,8 +11678,11 @@ type DescribeDBClusterParameterGroupsInput struct { // // Constraints: // - // Must be 1 to 255 alphanumeric characters First character must be a letter - // Cannot end with a hyphen or contain two consecutive hyphens + // Must be 1 to 255 alphanumeric characters + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens DBClusterParameterGroupName *string `type:"string"` // This parameter is not currently supported. @@ -6616,8 +11763,13 @@ type DescribeDBClusterParametersInput struct { // // Constraints: // - // Must be 1 to 255 alphanumeric characters First character must be a letter - // Cannot end with a hyphen or contain two consecutive hyphens + // Must be 1 to 255 alphanumeric characters + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // DBClusterParameterGroupName is a required field DBClusterParameterGroupName *string `type:"string" required:"true"` // This parameter is not currently supported. @@ -6699,17 +11851,74 @@ func (s DescribeDBClusterParametersOutput) GoString() string { return s.String() } +type DescribeDBClusterSnapshotAttributesInput struct { + _ struct{} `type:"structure"` + + // The identifier for the DB cluster snapshot to describe the attributes for. + // + // DBClusterSnapshotIdentifier is a required field + DBClusterSnapshotIdentifier *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeDBClusterSnapshotAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDBClusterSnapshotAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDBClusterSnapshotAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotAttributesInput"} + if s.DBClusterSnapshotIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DescribeDBClusterSnapshotAttributesOutput struct { + _ struct{} `type:"structure"` + + // Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes + // API action. + // + // Manual DB cluster snapshot attributes are used to authorize other AWS accounts + // to copy or restore a manual DB cluster snapshot. For more information, see + // the ModifyDBClusterSnapshotAttribute API action. + DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"` +} + +// String returns the string representation +func (s DescribeDBClusterSnapshotAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDBClusterSnapshotAttributesOutput) GoString() string { + return s.String() +} + type DescribeDBClusterSnapshotsInput struct { _ struct{} `type:"structure"` - // A DB cluster identifier to retrieve the list of DB cluster snapshots for. + // The ID of the DB cluster to retrieve the list of DB cluster snapshots for. // This parameter cannot be used in conjunction with the DBClusterSnapshotIdentifier // parameter. This parameter is not case-sensitive. // // Constraints: // - // Must contain from 1 to 63 alphanumeric characters or hyphens First character - // must be a letter Cannot end with a hyphen or contain two consecutive hyphens + // Must contain from 1 to 63 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens DBClusterIdentifier *string `type:"string"` // A specific DB cluster snapshot identifier to describe. This parameter cannot @@ -6718,15 +11927,35 @@ type DescribeDBClusterSnapshotsInput struct { // // Constraints: // - // Must be 1 to 255 alphanumeric characters First character must be a letter - // Cannot end with a hyphen or contain two consecutive hyphens If this is the - // identifier of an automated snapshot, the SnapshotType parameter must also - // be specified. + // Must be 1 to 255 alphanumeric characters + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // If this identifier is for an automated snapshot, the SnapshotType parameter + // must also be specified. DBClusterSnapshotIdentifier *string `type:"string"` // This parameter is not currently supported. Filters []*Filter `locationNameList:"Filter" type:"list"` + // Set this value to true to include manual DB cluster snapshots that are public + // and can be copied or restored by any AWS account, otherwise set this value + // to false. The default is false. The default is false. + // + // You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute + // API action. + IncludePublic *bool `type:"boolean"` + + // Set this value to true to include shared manual DB cluster snapshots from + // other AWS accounts that this AWS account has been given permission to copy + // or restore, otherwise set this value to false. The default is false. + // + // You can give an AWS account permission to restore a manual DB cluster snapshot + // from another AWS account by the ModifyDBClusterSnapshotAttribute API action. + IncludeShared *bool `type:"boolean"` + // An optional pagination token provided by a previous DescribeDBClusterSnapshots // request. If this parameter is specified, the response includes only records // beyond the marker, up to the value specified by MaxRecords. @@ -6741,9 +11970,30 @@ type DescribeDBClusterSnapshotsInput struct { // Constraints: Minimum 20, maximum 100. MaxRecords *int64 `type:"integer"` - // The type of DB cluster snapshots that will be returned. Values can be automated - // or manual. If this parameter is not specified, the returned results will - // include all snapshot types. + // The type of DB cluster snapshots to be returned. You can specify one of the + // following values: + // + // automated - Return all DB cluster snapshots that have been automatically + // taken by Amazon RDS for my AWS account. + // + // manual - Return all DB cluster snapshots that have been taken by my AWS + // account. + // + // shared - Return all manual DB cluster snapshots that have been shared + // to my AWS account. + // + // public - Return all DB cluster snapshots that have been marked as public. + // + // If you don't specify a SnapshotType value, then both automated and manual + // DB cluster snapshots are returned. You can include shared DB cluster snapshots + // with these results by setting the IncludeShared parameter to true. You can + // include public DB cluster snapshots with these results by setting the IncludePublic + // parameter to true. + // + // The IncludeShared and IncludePublic parameters don't apply for SnapshotType + // values of manual or automated. The IncludePublic parameter doesn't apply + // when SnapshotType is set to shared. The IncludeShared parameter doesn't apply + // when SnapshotType is set to public. SnapshotType *string `type:"string"` } @@ -6810,8 +12060,11 @@ type DescribeDBClustersInput struct { // // Constraints: // - // Must contain from 1 to 63 alphanumeric characters or hyphens First character - // must be a letter Cannot end with a hyphen or contain two consecutive hyphens + // Must contain from 1 to 63 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens DBClusterIdentifier *string `type:"string"` // This parameter is not currently supported. @@ -6891,8 +12144,11 @@ type DescribeDBEngineVersionsInput struct { // // Constraints: // - // Must be 1 to 255 alphanumeric characters First character must be a letter - // Cannot end with a hyphen or contain two consecutive hyphens + // Must be 1 to 255 alphanumeric characters + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens DBParameterGroupFamily *string `type:"string"` // Indicates that only the default version of the specified engine or engine @@ -6910,11 +12166,16 @@ type DescribeDBEngineVersionsInput struct { // Not currently supported. Filters []*Filter `locationNameList:"Filter" type:"list"` - // If this parameter is specified, and if the requested engine supports the - // CharacterSetName parameter for CreateDBInstance, the response includes a - // list of supported character sets for each engine version. + // If this parameter is specified and the requested engine supports the CharacterSetName + // parameter for CreateDBInstance, the response includes a list of supported + // character sets for each engine version. ListSupportedCharacterSets *bool `type:"boolean"` + // If this parameter is specified and the requested engine supports the TimeZone + // parameter for CreateDBInstance, the response includes a list of supported + // time zones for each engine version. + ListSupportedTimezones *bool `type:"boolean"` + // An optional pagination token provided by a previous request. If this parameter // is specified, the response includes only records beyond the marker, up to // the value specified by MaxRecords. @@ -6992,8 +12253,11 @@ type DescribeDBInstancesInput struct { // // Constraints: // - // Must contain from 1 to 63 alphanumeric characters or hyphens First character - // must be a letter Cannot end with a hyphen or contain two consecutive hyphens + // Must contain from 1 to 63 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens DBInstanceIdentifier *string `type:"string"` // This parameter is not currently supported. @@ -7100,8 +12364,13 @@ type DescribeDBLogFilesInput struct { // // Constraints: // - // Must contain from 1 to 63 alphanumeric characters or hyphens First character - // must be a letter Cannot end with a hyphen or contain two consecutive hyphens + // Must contain from 1 to 63 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // DBInstanceIdentifier is a required field DBInstanceIdentifier *string `type:"string" required:"true"` // Filters the available log files for files written since the specified date, @@ -7190,8 +12459,11 @@ type DescribeDBParameterGroupsInput struct { // // Constraints: // - // Must be 1 to 255 alphanumeric characters First character must be a letter - // Cannot end with a hyphen or contain two consecutive hyphens + // Must be 1 to 255 alphanumeric characters + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens DBParameterGroupName *string `type:"string"` // This parameter is not currently supported. @@ -7273,8 +12545,13 @@ type DescribeDBParametersInput struct { // // Constraints: // - // Must be 1 to 255 alphanumeric characters First character must be a letter - // Cannot end with a hyphen or contain two consecutive hyphens + // Must be 1 to 255 alphanumeric characters + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // DBParameterGroupName is a required field DBParameterGroupName *string `type:"string" required:"true"` // This parameter is not currently supported. @@ -7440,8 +12717,10 @@ func (s DescribeDBSecurityGroupsOutput) GoString() string { type DescribeDBSnapshotAttributesInput struct { _ struct{} `type:"structure"` - // The identifier for the DB snapshot to modify the attributes for. - DBSnapshotIdentifier *string `type:"string"` + // The identifier for the DB snapshot to describe the attributes for. + // + // DBSnapshotIdentifier is a required field + DBSnapshotIdentifier *string `type:"string" required:"true"` } // String returns the string representation @@ -7454,15 +12733,28 @@ func (s DescribeDBSnapshotAttributesInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDBSnapshotAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDBSnapshotAttributesInput"} + if s.DBSnapshotIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + type DescribeDBSnapshotAttributesOutput struct { _ struct{} `type:"structure"` // Contains the results of a successful call to the DescribeDBSnapshotAttributes - // API. + // API action. // // Manual DB snapshot attributes are used to authorize other AWS accounts to // copy or restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute - // API. + // API action. DBSnapshotAttributesResult *DBSnapshotAttributesResult `type:"structure"` } @@ -7479,14 +12771,17 @@ func (s DescribeDBSnapshotAttributesOutput) GoString() string { type DescribeDBSnapshotsInput struct { _ struct{} `type:"structure"` - // A DB instance identifier to retrieve the list of DB snapshots for. This parameter - // cannot be used in conjunction with DBSnapshotIdentifier. This parameter is - // not case-sensitive. + // The ID of the DB instance to retrieve the list of DB snapshots for. This + // parameter cannot be used in conjunction with DBSnapshotIdentifier. This parameter + // is not case-sensitive. // // Constraints: // - // Must contain from 1 to 63 alphanumeric characters or hyphens First character - // must be a letter Cannot end with a hyphen or contain two consecutive hyphens + // Must contain from 1 to 63 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens DBInstanceIdentifier *string `type:"string"` // A specific DB snapshot identifier to describe. This parameter cannot be used @@ -7495,28 +12790,33 @@ type DescribeDBSnapshotsInput struct { // // Constraints: // - // Must be 1 to 255 alphanumeric characters. First character must be a letter. - // Cannot end with a hyphen or contain two consecutive hyphens. If this is the - // identifier of an automated snapshot, the SnapshotType parameter must also - // be specified. + // Must be 1 to 255 alphanumeric characters. + // + // First character must be a letter. + // + // Cannot end with a hyphen or contain two consecutive hyphens. + // + // If this identifier is for an automated snapshot, the SnapshotType parameter + // must also be specified. DBSnapshotIdentifier *string `type:"string"` // This parameter is not currently supported. Filters []*Filter `locationNameList:"Filter" type:"list"` - // True to include manual DB snapshots that are public and can be copied or - // restored by any AWS account; otherwise false. The default is false. + // Set this value to true to include manual DB snapshots that are public and + // can be copied or restored by any AWS account, otherwise set this value to + // false. The default is false. // - // An manual DB snapshot is shared as public by the ModifyDBSnapshotAttribute + // You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute // API. IncludePublic *bool `type:"boolean"` - // True to include shared manual DB snapshots from other AWS accounts that this - // AWS account has been given permission to copy or restore; otherwise false. - // The default is false. + // Set this value to true to include shared manual DB snapshots from other AWS + // accounts that this AWS account has been given permission to copy or restore, + // otherwise set this value to false. The default is false. // - // An AWS account is given permission to restore a manual DB snapshot from - // another AWS account by the ModifyDBSnapshotAttribute API. + // You can give an AWS account permission to restore a manual DB snapshot from + // another AWS account by using the ModifyDBSnapshotAttribute API action. IncludeShared *bool `type:"boolean"` // An optional pagination token provided by a previous DescribeDBSnapshots request. @@ -7533,23 +12833,29 @@ type DescribeDBSnapshotsInput struct { // Constraints: Minimum 20, maximum 100. MaxRecords *int64 `type:"integer"` - // The type of snapshots that will be returned. You can specify one of the following + // The type of snapshots to be returned. You can specify one of the following // values: // - // automated - Return all DB snapshots that have been automatically taken - // by Amazon RDS for my AWS account. manual - Return all DB snapshots that have - // been taken by my AWS account. shared - Return all manual DB snapshots that - // have been shared to my AWS account. public - Return all DB snapshots that - // have been marked as public. If you do not specify a SnapshotType, then both - // automated and manual snapshots are returned. You can include shared snapshots - // with these results by setting the IncludeShared parameter to true. You can - // include public snapshots with these results by setting the IncludePublic - // parameter to true. + // automated - Return all DB snapshots that have been automatically taken + // by Amazon RDS for my AWS account. + // + // manual - Return all DB snapshots that have been taken by my AWS account. + // + // shared - Return all manual DB snapshots that have been shared to my AWS + // account. + // + // public - Return all DB snapshots that have been marked as public. + // + // If you don't specify a SnapshotType value, then both automated and manual + // snapshots are returned. Shared and public DB snapshots are not included in + // the returned results by default. You can include shared snapshots with these + // results by setting the IncludeShared parameter to true. You can include public + // snapshots with these results by setting the IncludePublic parameter to true. // - // The IncludeShared and IncludePublic parameters do not apply for SnapshotType - // values of manual or automated. The IncludePublic parameter does not apply - // when SnapshotType is set to shared. the IncludeShared parameter does not - // apply when SnapshotType is set to public. + // The IncludeShared and IncludePublic parameters don't apply for SnapshotType + // values of manual or automated. The IncludePublic parameter doesn't apply + // when SnapshotType is set to shared. The IncludeShared parameter doesn't apply + // when SnapshotType is set to public. SnapshotType *string `type:"string"` } @@ -7690,6 +12996,8 @@ type DescribeEngineDefaultClusterParametersInput struct { // The name of the DB cluster parameter group family to return engine parameter // information for. + // + // DBParameterGroupFamily is a required field DBParameterGroupFamily *string `type:"string" required:"true"` // This parameter is not currently supported. @@ -7765,6 +13073,8 @@ type DescribeEngineDefaultParametersInput struct { _ struct{} `type:"structure"` // The name of the DB parameter group family. + // + // DBParameterGroupFamily is a required field DBParameterGroupFamily *string `type:"string" required:"true"` // Not currently supported. @@ -8014,12 +13324,19 @@ type DescribeEventsInput struct { // // Constraints: // - // If SourceIdentifier is supplied, SourceType must also be provided. If the - // source type is DBInstance, then a DBInstanceIdentifier must be supplied. - // If the source type is DBSecurityGroup, a DBSecurityGroupName must be supplied. - // If the source type is DBParameterGroup, a DBParameterGroupName must be supplied. - // If the source type is DBSnapshot, a DBSnapshotIdentifier must be supplied. - // Cannot end with a hyphen or contain two consecutive hyphens. + // If SourceIdentifier is supplied, SourceType must also be provided. + // + // If the source type is DBInstance, then a DBInstanceIdentifier must be + // supplied. + // + // If the source type is DBSecurityGroup, a DBSecurityGroupName must be supplied. + // + // If the source type is DBParameterGroup, a DBParameterGroupName must be + // supplied. + // + // If the source type is DBSnapshot, a DBSnapshotIdentifier must be supplied. + // + // Cannot end with a hyphen or contain two consecutive hyphens. SourceIdentifier *string `type:"string"` // The event source to retrieve events for. If no value is specified, all events @@ -8092,6 +13409,8 @@ type DescribeOptionGroupOptionsInput struct { // A required parameter. Options available for the given engine name will be // described. + // + // EngineName is a required field EngineName *string `type:"string" required:"true"` // This parameter is not currently supported. @@ -8266,6 +13585,8 @@ type DescribeOrderableDBInstanceOptionsInput struct { DBInstanceClass *string `type:"string"` // The name of the engine to retrieve DB instance options for. + // + // Engine is a required field Engine *string `type:"string" required:"true"` // The engine version filter value. Specify this parameter to show only the @@ -8364,7 +13685,7 @@ type DescribePendingMaintenanceActionsInput struct { // // Supported filters: // - // db-instance-id - Accepts DB instance identifiers and DB instance Amazon + // db-instance-id - Accepts DB instance identifiers and DB instance Amazon // Resource Names (ARNs). The results list will only include pending maintenance // actions for the DB instances identified by these ARNs. Filters []*Filter `locationNameList:"Filter" type:"list"` @@ -8652,6 +13973,89 @@ func (s DescribeReservedDBInstancesOutput) GoString() string { return s.String() } +type DescribeSourceRegionsInput struct { + _ struct{} `type:"structure"` + + // This parameter is not currently supported. + Filters []*Filter `locationNameList:"Filter" type:"list"` + + // An optional pagination token provided by a previous DescribeSourceRegions + // request. If this parameter is specified, the response includes only records + // beyond the marker, up to the value specified by MaxRecords. + Marker *string `type:"string"` + + // 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 the remaining results can be retrieved. + // + // Default: 100 + // + // Constraints: Minimum 20, maximum 100. + MaxRecords *int64 `type:"integer"` + + // The source region name. For example, us-east-1. + // + // Constraints: + // + // Must specify a valid AWS Region name. + RegionName *string `type:"string"` +} + +// String returns the string representation +func (s DescribeSourceRegionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSourceRegionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeSourceRegionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeSourceRegionsInput"} + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the result of a successful invocation of the DescribeSourceRegions +// action. +type DescribeSourceRegionsOutput struct { + _ struct{} `type:"structure"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` + + // A list of SourceRegion instances that contains each source AWS Region that + // the current region can get a Read Replica or a DB snapshot from. + SourceRegions []*SourceRegion `locationNameList:"SourceRegion" type:"list"` +} + +// String returns the string representation +func (s DescribeSourceRegionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSourceRegionsOutput) GoString() string { + return s.String() +} + // An Active Directory Domain membership record associated with the DB instance. type DomainMembership struct { _ struct{} `type:"structure"` @@ -8689,11 +14093,18 @@ type DownloadDBLogFilePortionInput struct { // // Constraints: // - // Must contain from 1 to 63 alphanumeric characters or hyphens First character - // must be a letter Cannot end with a hyphen or contain two consecutive hyphens + // Must contain from 1 to 63 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // DBInstanceIdentifier is a required field DBInstanceIdentifier *string `type:"string" required:"true"` // The name of the log file to be downloaded. + // + // LogFileName is a required field LogFileName *string `type:"string" required:"true"` // The pagination token provided in the previous request or "0". If the Marker @@ -8706,21 +14117,23 @@ type DownloadDBLogFilePortionInput struct { // // If the NumberOfLines parameter is specified, then the block of lines returned // can be from the beginning or the end of the log file, depending on the value - // of the Marker parameter. If neither Marker or NumberOfLines are specified, - // the entire log file is returned up to a maximum of 10000 lines, starting - // with the most recent log entries first. + // of the Marker parameter. // - // If NumberOfLines is specified and Marker is not specified, then the most + // If neither Marker or NumberOfLines are specified, the entire log file + // 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 Marker is specified as "0", then the specified number of lines from the - // beginning 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. // - // You can download the log file in blocks of lines by specifying the size of - // the block using the NumberOfLines parameter, and by specifying a value of - // "0" for the Marker parameter in your first request. Include the Marker value - // returned in the response as the Marker value for the next request, continuing - // until the AdditionalDataPending response element returns false. + // You can download the log file in blocks of lines by specifying the size + // of the block using the NumberOfLines parameter, and by specifying a value + // of "0" for the Marker parameter in your first request. Include the Marker + // value returned in the response as the Marker value for the next request, + // continuing until the AdditionalDataPending response element returns false. NumberOfLines *int64 `type:"integer"` } @@ -8777,7 +14190,11 @@ func (s DownloadDBLogFilePortionOutput) GoString() string { // This data type is used as a response element in the following actions: // -// AuthorizeDBSecurityGroupIngress DescribeDBSecurityGroups RevokeDBSecurityGroupIngress +// AuthorizeDBSecurityGroupIngress +// +// DescribeDBSecurityGroups +// +// RevokeDBSecurityGroupIngress type EC2SecurityGroup struct { _ struct{} `type:"structure"` @@ -8808,7 +14225,11 @@ func (s EC2SecurityGroup) GoString() string { // This data type is used as a response element in the following actions: // -// CreateDBInstance DescribeDBInstances DeleteDBInstance +// CreateDBInstance +// +// DescribeDBInstances +// +// DeleteDBInstance type Endpoint struct { _ struct{} `type:"structure"` @@ -8873,6 +14294,9 @@ type Event struct { // Provides the text of this event. Message *string `type:"string"` + // The Amazon Resource Name (ARN) for the event. + SourceArn *string `type:"string"` + // Provides the identifier for the source of the event. SourceIdentifier *string `type:"string"` @@ -8930,6 +14354,9 @@ type EventSubscription struct { // A list of event categories for the RDS event notification subscription. EventCategoriesList []*string `locationNameList:"EventCategory" type:"list"` + // The Amazon Resource Name (ARN) for the event subscription. + EventSubscriptionArn *string `type:"string"` + // The topic ARN of the RDS event notification subscription. SnsTopicArn *string `type:"string"` @@ -8972,9 +14399,18 @@ type FailoverDBClusterInput struct { // // Constraints: // - // Must contain from 1 to 63 alphanumeric characters or hyphens First character - // must be a letter Cannot end with a hyphen or contain two consecutive hyphens + // Must contain from 1 to 63 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens DBClusterIdentifier *string `type:"string"` + + // The name of the instance to promote to the primary instance. + // + // You must specify the instance identifier for an Aurora Replica in the DB + // cluster. For example, mydbcluster-replica1. + TargetDBInstanceIdentifier *string `type:"string"` } // String returns the string representation @@ -8992,9 +14428,20 @@ type FailoverDBClusterOutput struct { // Contains the result of a successful invocation of the following actions: // - // CreateDBCluster DeleteDBCluster FailoverDBCluster ModifyDBCluster - // RestoreDBClusterFromSnapshot This data type is used as a response element - // in the DescribeDBClusters action. + // CreateDBCluster + // + // DeleteDBCluster + // + // FailoverDBCluster + // + // ModifyDBCluster + // + // RestoreDBClusterFromSnapshot + // + // RestoreDBClusterToPointInTime + // + // This data type is used as a response element in the DescribeDBClusters + // action. DBCluster *DBCluster `type:"structure"` } @@ -9008,13 +14455,18 @@ func (s FailoverDBClusterOutput) GoString() string { return s.String() } +// This type is not currently supported. type Filter struct { _ struct{} `type:"structure"` // This parameter is not currently supported. + // + // Name is a required field Name *string `type:"string" required:"true"` // This parameter is not currently supported. + // + // Values is a required field Values []*string `locationNameList:"Value" type:"list" required:"true"` } @@ -9075,7 +14527,9 @@ type ListTagsForResourceInput struct { // The Amazon RDS resource with tags to be listed. This value is an Amazon Resource // Name (ARN). For information about creating an ARN, see Constructing an RDS - // Amazon Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html#USER_Tagging.ARN). + // Amazon Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing). + // + // ResourceName is a required field ResourceName *string `type:"string" required:"true"` } @@ -9155,7 +14609,7 @@ type ModifyDBClusterInput struct { // // Constraints: // - // Must be a value from 1 to 35 + // Must be a value from 1 to 35 BackupRetentionPeriod *int64 `type:"integer"` // The DB cluster identifier for the cluster being modified. This parameter @@ -9163,9 +14617,15 @@ type ModifyDBClusterInput struct { // // Constraints: // - // Must be the identifier for an existing DB cluster. Must contain from 1 - // to 63 alphanumeric characters or hyphens. First character must be a letter. - // Cannot end with a hyphen or contain two consecutive hyphens. + // Must be the identifier for an existing DB cluster. + // + // Must contain from 1 to 63 alphanumeric characters or hyphens. + // + // First character must be a letter. + // + // Cannot end with a hyphen or contain two consecutive hyphens. + // + // DBClusterIdentifier is a required field DBClusterIdentifier *string `type:"string" required:"true"` // The name of the DB cluster parameter group to use for the DB cluster. @@ -9182,9 +14642,13 @@ type ModifyDBClusterInput struct { // // Constraints: // - // Must contain from 1 to 63 alphanumeric characters or hyphens First character - // must be a letter Cannot end with a hyphen or contain two consecutive hyphens - // Example: my-cluster2 + // Must contain from 1 to 63 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // Example: my-cluster2 NewDBClusterIdentifier *string `type:"string"` // A value that indicates that the DB cluster should be associated with the @@ -9216,9 +14680,13 @@ type ModifyDBClusterInput struct { // // Constraints: // - // Must be in the format hh24:mi-hh24:mi. Times should be in Universal Coordinated - // Time (UTC). Must not conflict with the preferred maintenance window. Must - // be at least 30 minutes. + // Must be in the format hh24:mi-hh24:mi. + // + // Times should be in Universal Coordinated Time (UTC). + // + // Must not conflict with the preferred maintenance window. + // + // Must be at least 30 minutes. PreferredBackupWindow *string `type:"string"` // The weekly time range during which system maintenance can occur, in Universal @@ -9268,9 +14736,20 @@ type ModifyDBClusterOutput struct { // Contains the result of a successful invocation of the following actions: // - // CreateDBCluster DeleteDBCluster FailoverDBCluster ModifyDBCluster - // RestoreDBClusterFromSnapshot This data type is used as a response element - // in the DescribeDBClusters action. + // CreateDBCluster + // + // DeleteDBCluster + // + // FailoverDBCluster + // + // ModifyDBCluster + // + // RestoreDBClusterFromSnapshot + // + // RestoreDBClusterToPointInTime + // + // This data type is used as a response element in the DescribeDBClusters + // action. DBCluster *DBCluster `type:"structure"` } @@ -9288,9 +14767,13 @@ type ModifyDBClusterParameterGroupInput struct { _ struct{} `type:"structure"` // The name of the DB cluster parameter group to modify. + // + // DBClusterParameterGroupName is a required field DBClusterParameterGroupName *string `type:"string" required:"true"` // A list of parameters in the DB cluster parameter group to modify. + // + // Parameters is a required field Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"` } @@ -9320,6 +14803,92 @@ func (s *ModifyDBClusterParameterGroupInput) Validate() error { return nil } +type ModifyDBClusterSnapshotAttributeInput struct { + _ struct{} `type:"structure"` + + // The name of the DB cluster snapshot attribute to modify. + // + // To manage authorization for other AWS accounts to copy or restore a manual + // DB cluster snapshot, set this value to restore. + // + // AttributeName is a required field + AttributeName *string `type:"string" required:"true"` + + // The identifier for the DB cluster snapshot to modify the attributes for. + // + // DBClusterSnapshotIdentifier is a required field + DBClusterSnapshotIdentifier *string `type:"string" required:"true"` + + // A list of DB cluster snapshot attributes to add to the attribute specified + // by AttributeName. + // + // To authorize other AWS accounts to copy or restore a manual DB cluster snapshot, + // set this list to include one or more AWS account IDs, or all to make the + // manual DB cluster snapshot restorable by any AWS account. Do not add the + // all value for any manual DB cluster snapshots that contain private information + // that you don't want available to all AWS accounts. + ValuesToAdd []*string `locationNameList:"AttributeValue" type:"list"` + + // A list of DB cluster snapshot attributes to remove from the attribute specified + // by AttributeName. + // + // To remove authorization for other AWS accounts to copy or restore a manual + // DB cluster snapshot, set this list to include one or more AWS account identifiers, + // or all to remove authorization for any AWS account to copy or restore the + // DB cluster snapshot. If you specify all, an AWS account whose account ID + // is explicitly added to the restore attribute can still copy or restore a + // manual DB cluster snapshot. + ValuesToRemove []*string `locationNameList:"AttributeValue" type:"list"` +} + +// String returns the string representation +func (s ModifyDBClusterSnapshotAttributeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyDBClusterSnapshotAttributeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyDBClusterSnapshotAttributeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterSnapshotAttributeInput"} + if s.AttributeName == nil { + invalidParams.Add(request.NewErrParamRequired("AttributeName")) + } + if s.DBClusterSnapshotIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type ModifyDBClusterSnapshotAttributeOutput struct { + _ struct{} `type:"structure"` + + // Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes + // API action. + // + // Manual DB cluster snapshot attributes are used to authorize other AWS accounts + // to copy or restore a manual DB cluster snapshot. For more information, see + // the ModifyDBClusterSnapshotAttribute API action. + DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"` +} + +// String returns the string representation +func (s ModifyDBClusterSnapshotAttributeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyDBClusterSnapshotAttributeOutput) GoString() string { + return s.String() +} + type ModifyDBInstanceInput struct { _ struct{} `type:"structure"` @@ -9377,7 +14946,7 @@ type ModifyDBInstanceInput struct { // // Cannot be modified. // - // If you choose to migrate your DB instance from using standard storage to + // If you choose to migrate your DB instance from using standard storage to // using Provisioned IOPS, or from using Provisioned IOPS to using standard // storage, the process can take time. The duration of the migration depends // on several factors such as database load, storage size, storage type (standard @@ -9439,10 +15008,15 @@ type ModifyDBInstanceInput struct { // // Constraints: // - // Must be a value from 0 to 35 Can be specified for a MySQL Read Replica - // only if the source is running MySQL 5.6 Can be specified for a PostgreSQL - // Read Replica only if the source is running PostgreSQL 9.3.5 Cannot be set - // to 0 if the DB instance is a source to Read Replicas + // Must be a value from 0 to 35 + // + // Can be specified for a MySQL Read Replica only if the source is running + // MySQL 5.6 + // + // Can be specified for a PostgreSQL Read Replica only if the source is running + // PostgreSQL 9.3.5 + // + // Cannot be set to 0 if the DB instance is a source to Read Replicas BackupRetentionPeriod *int64 `type:"integer"` // Indicates the certificate that needs to be associated with the instance. @@ -9474,9 +15048,15 @@ type ModifyDBInstanceInput struct { // // Constraints: // - // Must be the identifier for an existing DB instance Must contain from 1 - // to 63 alphanumeric characters or hyphens First character must be a letter - // Cannot end with a hyphen or contain two consecutive hyphens + // Must be the identifier for an existing DB instance + // + // Must contain from 1 to 63 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // DBInstanceIdentifier is a required field DBInstanceIdentifier *string `type:"string" required:"true"` // The name of the DB parameter group to apply to the DB instance. Changing @@ -9546,26 +15126,43 @@ type ModifyDBInstanceInput struct { // // Constraints: // - // Must be 1 to 255 alphanumeric characters First character must be a letter - // Cannot end with a hyphen or contain two consecutive hyphens + // Must be 1 to 255 alphanumeric characters + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"` - // Specify the Active Directory Domain to move the instance to. + // The new DB subnet group for the DB instance. You can use this parameter to + // move your DB instance to a different VPC, or to a different subnet group + // in the same VPC. If your DB instance is not 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). // - // The specified Active Directory Domain must be created prior to this operation. - // Currently only a SQL Server instance can be created in a Active Directory - // Domain. + // Changing the subnet group causes an outage during the change. The change + // is applied during the next maintenance window, unless you specify true for + // the ApplyImmediately parameter. + // + // Constraints: Must contain no more than 255 alphanumeric characters, periods, + // underscores, spaces, or hyphens. + // + // Example: mySubnetGroup + DBSubnetGroupName *string `type:"string"` + + // The Active Directory Domain to move the instance to. Specify none to remove + // the instance from its current domain. The domain must be created prior to + // this operation. Currently only a Microsoft SQL Server instance can be created + // in a Active Directory Domain. Domain *string `type:"string"` - // Specify the name of the IAM role to be used when making API calls to the - // Directory Service. + // The name of the IAM role to use when making API calls to the Directory Service. DomainIAMRoleName *string `type:"string"` // The version number of the database engine to upgrade to. Changing this parameter // results in an outage and the change is applied during the next maintenance // window unless the ApplyImmediately parameter is set to true for this request. // - // For major version upgrades, if a non-default DB parameter group is currently + // For major version upgrades, if a non-default DB parameter group is currently // in use, a new DB parameter group in the DB parameter group family for the // new engine version must be specified. The new DB parameter group can be the // default for that DB parameter group family. @@ -9593,7 +15190,7 @@ type ModifyDBInstanceInput struct { // // Type: Integer // - // If you choose to migrate your DB instance from using standard storage to + // If you choose to migrate your DB instance from using standard storage to // using Provisioned IOPS, or from using Provisioned IOPS to using standard // storage, the process can take time. The duration of the migration depends // on several factors such as database load, storage size, storage type (standard @@ -9608,6 +15205,11 @@ type ModifyDBInstanceInput struct { // snapshot of the instance. Iops *int64 `type:"integer"` + // The license model for the DB instance. + // + // Valid values: license-included | bring-your-own-license | general-public-license + LicenseModel *string `type:"string"` + // The new password for the DB instance master user. Can be any printable ASCII // character except "/", """, or "@". // @@ -9629,7 +15231,7 @@ type ModifyDBInstanceInput struct { // The interval, in seconds, between points when Enhanced Monitoring metrics // are collected for the DB instance. To disable collecting Enhanced Monitoring - // metrics, specify 0. The default is 60. + // metrics, specify 0. The default is 0. // // If MonitoringRoleArn is specified, then you must also set MonitoringInterval // to a value other than 0. @@ -9650,10 +15252,7 @@ type ModifyDBInstanceInput struct { // does not result in an outage and the change is applied during the next maintenance // window unless the ApplyImmediately parameter is set to true for this request. // - // Constraints: Cannot be specified if the DB instance is a Read Replica. This - // parameter cannot be used with SQL Server DB instances. Multi-AZ for SQL Server - // DB instances is set using the Mirroring option in an option group associated - // with the DB instance. + // Constraints: Cannot be specified if the DB instance is a Read Replica. MultiAZ *bool `type:"boolean"` // The new DB instance identifier for the DB instance when renaming a DB instance. @@ -9664,8 +15263,11 @@ type ModifyDBInstanceInput struct { // // Constraints: // - // Must contain from 1 to 63 alphanumeric characters or hyphens First character - // must be a letter Cannot end with a hyphen or contain two consecutive hyphens + // Must contain from 1 to 63 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens NewDBInstanceIdentifier *string `type:"string"` // Indicates that the DB instance should be associated with the specified option @@ -9676,9 +15278,9 @@ type ModifyDBInstanceInput struct { // can cause a brief (sub-second) period during which new connections are rejected // but existing connections are not interrupted. // - // Permanent options, such as the TDE option for Oracle Advanced Security - // TDE, cannot be removed from an option group, and that option group cannot - // be removed from a DB instance once it is associated with a DB instance + // Permanent options, such as the TDE option for Oracle Advanced Security TDE, + // cannot be removed from an option group, and that option group cannot be removed + // from a DB instance once it is associated with a DB instance OptionGroupName *string `type:"string"` // The daily time range during which automated backups are created if automated @@ -9688,9 +15290,13 @@ type ModifyDBInstanceInput struct { // // Constraints: // - // Must be in the format hh24:mi-hh24:mi Times should be in Universal Time - // Coordinated (UTC) Must not conflict with the preferred maintenance window - // Must be at least 30 minutes + // Must be in the format hh24:mi-hh24:mi + // + // Times should be in Universal Time Coordinated (UTC) + // + // Must not conflict with the preferred maintenance window + // + // Must be at least 30 minutes PreferredBackupWindow *string `type:"string"` // The weekly time range (in UTC) during which system maintenance can occur, @@ -9726,14 +15332,14 @@ type ModifyDBInstanceInput struct { // to make the DB instance internal with a DNS name that resolves to a private // IP address. // - // PubliclyAccessible only applies to DB instances in a VPC. The DB instance + // PubliclyAccessible only applies to DB instances in a VPC. The DB instance // must be part of a public subnet and PubliclyAccessible must be true in order // for it to be publicly accessible. // // Changes to the PubliclyAccessible parameter are applied immediately regardless // of the value of the ApplyImmediately parameter. // - // Default: false + // Default: false PubliclyAccessible *bool `type:"boolean"` // Specifies the storage type to be associated with the DB instance. @@ -9757,8 +15363,11 @@ type ModifyDBInstanceInput struct { // // Constraints: // - // Must be 1 to 255 alphanumeric characters First character must be a letter - // Cannot end with a hyphen or contain two consecutive hyphens + // Must be 1 to 255 alphanumeric characters + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"` } @@ -9790,8 +15399,14 @@ type ModifyDBInstanceOutput struct { // Contains the result of a successful invocation of the following actions: // - // CreateDBInstance DeleteDBInstance ModifyDBInstance This data type - // is used as a response element in the DescribeDBInstances action. + // CreateDBInstance + // + // DeleteDBInstance + // + // ModifyDBInstance + // + // This data type is used as a response element in the DescribeDBInstances + // action. DBInstance *DBInstance `type:"structure"` } @@ -9812,9 +15427,15 @@ type ModifyDBParameterGroupInput struct { // // Constraints: // - // Must be the name of an existing DB parameter group Must be 1 to 255 alphanumeric - // characters First character must be a letter Cannot end with a hyphen or contain - // two consecutive hyphens + // Must be the name of an existing DB parameter group + // + // Must be 1 to 255 alphanumeric characters + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // DBParameterGroupName is a required field DBParameterGroupName *string `type:"string" required:"true"` // An array of parameter names, values, and the apply method for the parameter @@ -9824,9 +15445,11 @@ type ModifyDBParameterGroupInput struct { // // Valid Values (for the application method): immediate | pending-reboot // - // You can use the immediate value with dynamic parameters only. You can use + // You can use the immediate value with dynamic parameters only. You can use // the pending-reboot value for both dynamic and static parameters, and changes // are applied when you reboot the DB instance without failover. + // + // Parameters is a required field Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"` } @@ -9862,29 +15485,33 @@ type ModifyDBSnapshotAttributeInput struct { // The name of the DB snapshot attribute to modify. // // To manage authorization for other AWS accounts to copy or restore a manual - // DB snapshot, this value is restore. - AttributeName *string `type:"string"` + // DB snapshot, set this value to restore. + // + // AttributeName is a required field + AttributeName *string `type:"string" required:"true"` // The identifier for the DB snapshot to modify the attributes for. + // + // DBSnapshotIdentifier is a required field DBSnapshotIdentifier *string `type:"string" required:"true"` // A list of DB snapshot attributes to add to the attribute specified by AttributeName. // - // To authorize other AWS Accounts to copy or restore a manual snapshot, this - // is one or more AWS account identifiers, or all to make the manual DB snapshot - // restorable by any AWS account. Do not add the all value for any manual DB - // snapshots that contain private information that you do not want to be available - // to all AWS accounts. + // To authorize other AWS accounts to copy or restore a manual snapshot, set + // this list to include one or more AWS account IDs, or all to make the manual + // DB snapshot restorable by any AWS account. Do not add the all value for any + // manual DB snapshots that contain private information that you don't want + // available to all AWS accounts. ValuesToAdd []*string `locationNameList:"AttributeValue" type:"list"` // A list of DB snapshot attributes to remove from the attribute specified by // AttributeName. // - // To remove authorization for other AWS Accounts to copy or restore a manual - // snapshot, this is one or more AWS account identifiers, or all to remove authorization - // for any AWS account to copy or restore the DB snapshot. If you specify all, - // AWS accounts that have their account identifier explicitly added to the restore - // attribute can still copy or restore the manual DB snapshot. + // To remove authorization for other AWS accounts to copy or restore a manual + // snapshot, set this list to include one or more AWS account identifiers, or + // all to remove authorization for any AWS account to copy or restore the DB + // snapshot. If you specify all, an AWS account whose account ID is explicitly + // added to the restore attribute can still copy or restore the manual DB snapshot. ValuesToRemove []*string `locationNameList:"AttributeValue" type:"list"` } @@ -9901,6 +15528,9 @@ func (s ModifyDBSnapshotAttributeInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ModifyDBSnapshotAttributeInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ModifyDBSnapshotAttributeInput"} + if s.AttributeName == nil { + invalidParams.Add(request.NewErrParamRequired("AttributeName")) + } if s.DBSnapshotIdentifier == nil { invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier")) } @@ -9915,11 +15545,11 @@ type ModifyDBSnapshotAttributeOutput struct { _ struct{} `type:"structure"` // Contains the results of a successful call to the DescribeDBSnapshotAttributes - // API. + // API action. // // Manual DB snapshot attributes are used to authorize other AWS accounts to // copy or restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute - // API. + // API action. DBSnapshotAttributesResult *DBSnapshotAttributesResult `type:"structure"` } @@ -9945,9 +15575,13 @@ type ModifyDBSubnetGroupInput struct { // underscores, spaces, or hyphens. Must not be default. // // Example: mySubnetgroup + // + // DBSubnetGroupName is a required field DBSubnetGroupName *string `type:"string" required:"true"` // The EC2 subnet IDs for the DB subnet group. + // + // SubnetIds is a required field SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"` } @@ -9982,7 +15616,14 @@ type ModifyDBSubnetGroupOutput struct { // Contains the result of a successful invocation of the following actions: // - // CreateDBSubnetGroup ModifyDBSubnetGroup DescribeDBSubnetGroups DeleteDBSubnetGroup + // CreateDBSubnetGroup + // + // ModifyDBSubnetGroup + // + // DescribeDBSubnetGroups + // + // DeleteDBSubnetGroup + // // This data type is used as a response element in the DescribeDBSubnetGroups // action. DBSubnetGroup *DBSubnetGroup `type:"structure"` @@ -10025,6 +15666,8 @@ type ModifyEventSubscriptionInput struct { SourceType *string `type:"string"` // The name of the RDS event notification subscription. + // + // SubscriptionName is a required field SubscriptionName *string `type:"string" required:"true"` } @@ -10078,9 +15721,11 @@ type ModifyOptionGroupInput struct { // The name of the option group to be modified. // - // Permanent options, such as the TDE option for Oracle Advanced Security - // TDE, cannot be removed from an option group, and that option group cannot - // be removed from a DB instance once it is associated with a DB instance + // Permanent options, such as the TDE option for Oracle Advanced Security TDE, + // cannot be removed from an option group, and that option group cannot be removed + // from a DB instance once it is associated with a DB instance + // + // OptionGroupName is a required field OptionGroupName *string `type:"string" required:"true"` // Options in this list are added to the option group or, if already present, @@ -10157,6 +15802,9 @@ type Option struct { // The option settings for this option. OptionSettings []*OptionSetting `locationNameList:"OptionSetting" type:"list"` + // The version of the option. + OptionVersion *string `type:"string"` + // Indicate if this option is permanent. Permanent *bool `type:"boolean"` @@ -10189,11 +15837,16 @@ type OptionConfiguration struct { DBSecurityGroupMemberships []*string `locationNameList:"DBSecurityGroupName" type:"list"` // The configuration of options to include in a group. + // + // OptionName is a required field OptionName *string `type:"string" required:"true"` // The option settings to include in an option group. OptionSettings []*OptionSetting `locationNameList:"OptionSetting" type:"list"` + // The version for the option. + OptionVersion *string `type:"string"` + // The optional port for the option. Port *int64 `type:"integer"` @@ -10238,6 +15891,9 @@ type OptionGroup struct { // Indicates the major engine version associated with this option group. MajorEngineVersion *string `type:"string"` + // The Amazon Resource Name (ARN) for the option group. + OptionGroupArn *string `type:"string"` + // Provides a description of the option group. OptionGroupDescription *string `type:"string"` @@ -10310,22 +15966,27 @@ type OptionGroupOption struct { // The name of the option. Name *string `type:"string"` - // Specifies the option settings that are available (and the default value) - // for each option in an option group. + // The option settings that are available (and the default value) for each option + // in an option group. OptionGroupOptionSettings []*OptionGroupOptionSetting `locationNameList:"OptionGroupOptionSetting" type:"list"` - // List of all options that are prerequisites for this option. + // The versions that are available for the option. + OptionGroupOptionVersions []*OptionVersion `locationNameList:"OptionVersion" type:"list"` + + // The options that conflict with this option. + OptionsConflictsWith []*string `locationNameList:"OptionConflictName" type:"list"` + + // The options that are prerequisites for this option. OptionsDependedOn []*string `locationNameList:"OptionName" type:"list"` - // A permanent option cannot be removed from the option group once the option - // group is used, and it cannot be removed from the db instance after assigning - // an option group with this permanent option. + // Permanent options can never be removed from an option group. An option group + // containing a permanent option can't be removed from a DB instance. Permanent *bool `type:"boolean"` - // A persistent option cannot be removed from the option group once the option - // group is used, but this option can be removed from the db instance while - // modifying the related data and assigning another option group without this - // option. + // Persistent options can't be removed from an option group while DB instances + // are associated with the option group. If you disassociate all DB instances + // from the option group, your can remove the persistent option from the option + // group. Persistent *bool `type:"boolean"` // Specifies whether the option requires a port. @@ -10403,24 +16064,46 @@ type OptionSetting struct { // Indicates if the option setting is part of a collection. IsCollection *bool `type:"boolean"` - // A Boolean value that, when true, indicates the option setting can be modified - // from the default. - IsModifiable *bool `type:"boolean"` + // A Boolean value that, when true, indicates the option setting can be modified + // from the default. + IsModifiable *bool `type:"boolean"` + + // The name of the option that has settings that you can set. + Name *string `type:"string"` + + // The current value of the option setting. + Value *string `type:"string"` +} + +// String returns the string representation +func (s OptionSetting) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OptionSetting) GoString() string { + return s.String() +} + +// The version for an option. Option group option versions are returned by the +// DescribeOptionGroupOptions action. +type OptionVersion struct { + _ struct{} `type:"structure"` - // The name of the option that has settings that you can set. - Name *string `type:"string"` + // True if the version is the default version of the option; otherwise, false. + IsDefault *bool `type:"boolean"` - // The current value of the option setting. - Value *string `type:"string"` + // The version of the option. + Version *string `type:"string"` } // String returns the string representation -func (s OptionSetting) String() string { +func (s OptionVersion) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s OptionSetting) GoString() string { +func (s OptionVersion) GoString() string { return s.String() } @@ -10595,6 +16278,9 @@ type PendingModifiedValues struct { // or is in progress. DBInstanceIdentifier *string `type:"string"` + // The new DB subnet group for the DB instance. + DBSubnetGroupName *string `type:"string"` + // Indicates the database engine version. EngineVersion *string `type:"string"` @@ -10602,6 +16288,11 @@ type PendingModifiedValues struct { // applied or is being applied. Iops *int64 `type:"integer"` + // The license model for the DB instance. + // + // Valid values: license-included | bring-your-own-license | general-public-license + LicenseModel *string `type:"string"` + // Contains the pending or in-progress change of the master credentials for // the DB instance. MasterUserPassword *string `type:"string"` @@ -10626,6 +16317,81 @@ func (s PendingModifiedValues) GoString() string { return s.String() } +type PromoteReadReplicaDBClusterInput struct { + _ struct{} `type:"structure"` + + // The identifier of the DB cluster Read Replica to promote. This parameter + // is not case-sensitive. + // + // Constraints: + // + // Must contain from 1 to 63 alphanumeric characters or hyphens. + // + // First character must be a letter. + // + // Cannot end with a hyphen or contain two consecutive hyphens. + // + // Example: my-cluster-replica1 + // + // DBClusterIdentifier is a required field + DBClusterIdentifier *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s PromoteReadReplicaDBClusterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PromoteReadReplicaDBClusterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PromoteReadReplicaDBClusterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PromoteReadReplicaDBClusterInput"} + if s.DBClusterIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type PromoteReadReplicaDBClusterOutput struct { + _ struct{} `type:"structure"` + + // Contains the result of a successful invocation of the following actions: + // + // CreateDBCluster + // + // DeleteDBCluster + // + // FailoverDBCluster + // + // ModifyDBCluster + // + // RestoreDBClusterFromSnapshot + // + // RestoreDBClusterToPointInTime + // + // This data type is used as a response element in the DescribeDBClusters + // action. + DBCluster *DBCluster `type:"structure"` +} + +// String returns the string representation +func (s PromoteReadReplicaDBClusterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PromoteReadReplicaDBClusterOutput) GoString() string { + return s.String() +} + type PromoteReadReplicaInput struct { _ struct{} `type:"structure"` @@ -10633,21 +16399,28 @@ type PromoteReadReplicaInput struct { // a positive number enables backups. Setting this parameter to 0 disables automated // backups. // - // Default: 1 + // Default: 1 // // Constraints: // - // Must be a value from 0 to 8 + // Must be a value from 0 to 8 BackupRetentionPeriod *int64 `type:"integer"` // The DB instance identifier. This value is stored as a lowercase string. // // Constraints: // - // Must be the identifier for an existing Read Replica DB instance Must contain - // from 1 to 63 alphanumeric characters or hyphens First character must be a - // letter Cannot end with a hyphen or contain two consecutive hyphens Example: - // mydbinstance + // Must be the identifier for an existing Read Replica DB instance + // + // Must contain from 1 to 63 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // Example: mydbinstance + // + // DBInstanceIdentifier is a required field DBInstanceIdentifier *string `type:"string" required:"true"` // The daily time range during which automated backups are created if automated @@ -10660,9 +16433,13 @@ type PromoteReadReplicaInput struct { // // Constraints: // - // Must be in the format hh24:mi-hh24:mi. Times should be in Universal Coordinated - // Time (UTC). Must not conflict with the preferred maintenance window. Must - // be at least 30 minutes. + // Must be in the format hh24:mi-hh24:mi. + // + // Times should be in Universal Coordinated Time (UTC). + // + // Must not conflict with the preferred maintenance window. + // + // Must be at least 30 minutes. PreferredBackupWindow *string `type:"string"` } @@ -10694,8 +16471,14 @@ type PromoteReadReplicaOutput struct { // Contains the result of a successful invocation of the following actions: // - // CreateDBInstance DeleteDBInstance ModifyDBInstance This data type - // is used as a response element in the DescribeDBInstances action. + // CreateDBInstance + // + // DeleteDBInstance + // + // ModifyDBInstance + // + // This data type is used as a response element in the DescribeDBInstances + // action. DBInstance *DBInstance `type:"structure"` } @@ -10725,6 +16508,8 @@ type PurchaseReservedDBInstancesOfferingInput struct { // The ID of the Reserved DB instance offering to purchase. // // Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706 + // + // ReservedDBInstancesOfferingId is a required field ReservedDBInstancesOfferingId *string `type:"string" required:"true"` // A list of tags. @@ -10779,8 +16564,13 @@ type RebootDBInstanceInput struct { // // Constraints: // - // Must contain from 1 to 63 alphanumeric characters or hyphens First character - // must be a letter Cannot end with a hyphen or contain two consecutive hyphens + // Must contain from 1 to 63 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // DBInstanceIdentifier is a required field DBInstanceIdentifier *string `type:"string" required:"true"` // When true, the reboot will be conducted through a MultiAZ failover. @@ -10818,8 +16608,14 @@ type RebootDBInstanceOutput struct { // Contains the result of a successful invocation of the following actions: // - // CreateDBInstance DeleteDBInstance ModifyDBInstance This data type - // is used as a response element in the DescribeDBInstances action. + // CreateDBInstance + // + // DeleteDBInstance + // + // ModifyDBInstance + // + // This data type is used as a response element in the DescribeDBInstances + // action. DBInstance *DBInstance `type:"structure"` } @@ -10860,10 +16656,14 @@ type RemoveSourceIdentifierFromSubscriptionInput struct { // The source identifier to be removed from the subscription, such as the DB // instance identifier for a DB instance or the name of a security group. + // + // SourceIdentifier is a required field SourceIdentifier *string `type:"string" required:"true"` // The name of the RDS event notification subscription you want to remove a // source identifier from. + // + // SubscriptionName is a required field SubscriptionName *string `type:"string" required:"true"` } @@ -10916,10 +16716,14 @@ type RemoveTagsFromResourceInput struct { // The Amazon RDS resource the tags will be removed from. This value is an Amazon // Resource Name (ARN). For information about creating an ARN, see Constructing - // an RDS Amazon Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html#USER_Tagging.ARN). + // an RDS Amazon Resource Name (ARN) (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing). + // + // ResourceName is a required field ResourceName *string `type:"string" required:"true"` // The tag key (name) of the tag to be removed. + // + // TagKeys is a required field TagKeys []*string `type:"list" required:"true"` } @@ -10995,6 +16799,9 @@ type ReservedDBInstance struct { // The recurring price charged to run this reserved DB instance. RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"` + // The Amazon Resource Name (ARN) for the reserved DB instance. + ReservedDBInstanceArn *string `type:"string"` + // The unique identifier for the reservation. ReservedDBInstanceId *string `type:"string"` @@ -11071,6 +16878,8 @@ type ResetDBClusterParameterGroupInput struct { _ struct{} `type:"structure"` // The name of the DB cluster parameter group to reset. + // + // DBClusterParameterGroupName is a required field DBClusterParameterGroupName *string `type:"string" required:"true"` // A list of parameter names in the DB cluster parameter group to reset to the @@ -11089,83 +16898,355 @@ func (s ResetDBClusterParameterGroupInput) String() string { return awsutil.Prettify(s) } -// GoString returns the string representation -func (s ResetDBClusterParameterGroupInput) GoString() string { - return s.String() -} +// GoString returns the string representation +func (s ResetDBClusterParameterGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResetDBClusterParameterGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResetDBClusterParameterGroupInput"} + if s.DBClusterParameterGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type ResetDBParameterGroupInput struct { + _ struct{} `type:"structure"` + + // The name of the DB parameter group. + // + // Constraints: + // + // Must be 1 to 255 alphanumeric characters + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // DBParameterGroupName is a required field + DBParameterGroupName *string `type:"string" required:"true"` + + // An array of parameter names, values, and the apply method for the parameter + // update. At least one parameter name, value, and apply method must be supplied; + // subsequent arguments are optional. A maximum of 20 parameters can be modified + // in a single request. + // + // MySQL + // + // Valid Values (for Apply method): immediate | pending-reboot + // + // You can use the immediate value with dynamic parameters only. You can use + // the pending-reboot value for both dynamic and static parameters, and changes + // are applied when DB instance reboots. + // + // MariaDB + // + // Valid Values (for Apply method): immediate | pending-reboot + // + // You can use the immediate value with dynamic parameters only. You can use + // the pending-reboot value for both dynamic and static parameters, and changes + // are applied when DB instance reboots. + // + // Oracle + // + // Valid Values (for Apply method): pending-reboot + Parameters []*Parameter `locationNameList:"Parameter" type:"list"` + + // Specifies whether (true) or not (false) to reset all parameters in the DB + // parameter group to default values. + // + // Default: true + ResetAllParameters *bool `type:"boolean"` +} + +// String returns the string representation +func (s ResetDBParameterGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResetDBParameterGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResetDBParameterGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResetDBParameterGroupInput"} + if s.DBParameterGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Describes the pending maintenance actions for a resource. +type ResourcePendingMaintenanceActions struct { + _ struct{} `type:"structure"` + + // A list that provides details about the pending maintenance actions for the + // resource. + PendingMaintenanceActionDetails []*PendingMaintenanceAction `locationNameList:"PendingMaintenanceAction" type:"list"` + + // The ARN of the resource that has pending maintenance actions. + ResourceIdentifier *string `type:"string"` +} + +// String returns the string representation +func (s ResourcePendingMaintenanceActions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourcePendingMaintenanceActions) GoString() string { + return s.String() +} + +type RestoreDBClusterFromS3Input struct { + _ struct{} `type:"structure"` + + // A list of EC2 Availability Zones that instances in the restored DB cluster + // can be created in. + AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"` + + // The number of days for which automated backups of the restored DB cluster + // are retained. You must specify a minimum value of 1. + // + // Default: 1 + // + // Constraints: + // + // Must be a value from 1 to 35 + BackupRetentionPeriod *int64 `type:"integer"` + + // A value that indicates that the restored DB cluster should be associated + // with the specified CharacterSet. + CharacterSetName *string `type:"string"` + + // The name of the DB cluster to create from the source data in the S3 bucket. + // This parameter is isn't case-sensitive. + // + // Constraints: + // + // Must contain from 1 to 63 alphanumeric characters or hyphens. + // + // First character must be a letter. + // + // Cannot end with a hyphen or contain two consecutive hyphens. + // + // Example: my-cluster1 + // + // DBClusterIdentifier is a required field + DBClusterIdentifier *string `type:"string" required:"true"` + + // The name of the DB cluster parameter group to associate with the restored + // DB cluster. If this argument is omitted, default.aurora5.6 will be used. + // + // Constraints: + // + // Must be 1 to 255 alphanumeric characters + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + DBClusterParameterGroupName *string `type:"string"` + + // A DB subnet group to associate with the restored DB cluster. + // + // Constraints: Must contain no more than 255 alphanumeric characters, periods, + // underscores, spaces, or hyphens. Must not be default. + // + // Example: mySubnetgroup + DBSubnetGroupName *string `type:"string"` + + // The database name for the restored DB cluster. + DatabaseName *string `type:"string"` + + // The name of the database engine to be used for the restored DB cluster. + // + // Valid Values: aurora + // + // Engine is a required field + Engine *string `type:"string" required:"true"` + + // The version number of the database engine to use. + // + // Aurora + // + // Example: 5.6.10a + EngineVersion *string `type:"string"` + + // The KMS key identifier for an encrypted DB cluster. + // + // The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption + // key. If you are creating a DB cluster with the same AWS account that owns + // 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 KM encryption key. + // + // If the StorageEncrypted parameter is true, and you do not specify a value + // for the KmsKeyId parameter, 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. + KmsKeyId *string `type:"string"` -// Validate inspects the fields of the type to determine if they are valid. -func (s *ResetDBClusterParameterGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ResetDBClusterParameterGroupInput"} - if s.DBClusterParameterGroupName == nil { - invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName")) - } + // The password for the master database user. This password can contain any + // printable ASCII character except "/", """, or "@". + // + // Constraints: Must contain from 8 to 41 characters. + // + // MasterUserPassword is a required field + MasterUserPassword *string `type:"string" required:"true"` - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} + // The name of the master user for the restored DB cluster. + // + // Constraints: + // + // Must be 1 to 16 alphanumeric characters. + // + // First character must be a letter. + // + // Cannot be a reserved word for the chosen database engine. + // + // MasterUsername is a required field + MasterUsername *string `type:"string" required:"true"` -type ResetDBParameterGroupInput struct { - _ struct{} `type:"structure"` + // A value that indicates that the restored DB cluster should be associated + // with the specified option group. + // + // Permanent options cannot be removed from an option group. An option group + // cannot be removed from a DB cluster once it is associated with a DB cluster. + OptionGroupName *string `type:"string"` - // The name of the DB parameter group. + // The port number on which the instances in the restored DB cluster accept + // connections. + // + // Default: 3306 + Port *int64 `type:"integer"` + + // The daily time range during which automated backups are created if automated + // backups are enabled using the BackupRetentionPeriod parameter. + // + // Default: A 30-minute window selected at random from an 8-hour block of time + // per region. To see the time blocks available, see Adjusting the Preferred + // Maintenance Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html) + // in the Amazon RDS User Guide. // // Constraints: // - // Must be 1 to 255 alphanumeric characters First character must be a letter - // Cannot end with a hyphen or contain two consecutive hyphens - DBParameterGroupName *string `type:"string" required:"true"` + // Must be in the format hh24:mi-hh24:mi. + // + // Times should be in Universal Coordinated Time (UTC). + // + // Must not conflict with the preferred maintenance window. + // + // Must be at least 30 minutes. + PreferredBackupWindow *string `type:"string"` - // An array of parameter names, values, and the apply method for the parameter - // update. At least one parameter name, value, and apply method must be supplied; - // subsequent arguments are optional. A maximum of 20 parameters can be modified - // in a single request. + // The weekly time range during which system maintenance can occur, in Universal + // Coordinated Time (UTC). // - // MySQL + // Format: ddd:hh24:mi-ddd:hh24:mi // - // Valid Values (for Apply method): immediate | pending-reboot + // Default: A 30-minute window selected at random from an 8-hour block of time + // per region, occurring on a random day of the week. To see the time blocks + // available, see Adjusting the Preferred Maintenance Window (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html) + // in the Amazon RDS User Guide. // - // You can use the immediate value with dynamic parameters only. You can use - // the pending-reboot value for both dynamic and static parameters, and changes - // are applied when DB instance reboots. + // Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun // - // MariaDB + // Constraints: Minimum 30-minute window. + PreferredMaintenanceWindow *string `type:"string"` + + // The name of the Amazon S3 bucket that contains the data used to create the + // Amazon Aurora DB cluster. // - // Valid Values (for Apply method): immediate | pending-reboot + // S3BucketName is a required field + S3BucketName *string `type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the AWS Identity and Access Management + // (IAM) role that authorizes Amazon RDS to access the Amazon S3 bucket on your + // behalf. // - // You can use the immediate value with dynamic parameters only. You can use - // the pending-reboot value for both dynamic and static parameters, and changes - // are applied when DB instance reboots. + // S3IngestionRoleArn is a required field + S3IngestionRoleArn *string `type:"string" required:"true"` + + // The prefix for all of the file names that contain the data used to create + // the Amazon Aurora DB cluster. If you do not specify a SourceS3Prefix value, + // then the Amazon Aurora DB cluster is created by using all of the files in + // the Amazon S3 bucket. + S3Prefix *string `type:"string"` + + // The identifier for the database engine that was backed up to create the files + // stored in the Amazon S3 bucket. // - // Oracle + // Valid values: mysql // - // Valid Values (for Apply method): pending-reboot - Parameters []*Parameter `locationNameList:"Parameter" type:"list"` + // SourceEngine is a required field + SourceEngine *string `type:"string" required:"true"` - // Specifies whether (true) or not (false) to reset all parameters in the DB - // parameter group to default values. + // The version of the database that the backup files were created from. // - // Default: true - ResetAllParameters *bool `type:"boolean"` + // MySQL version 5.5 and 5.6 are supported. + // + // Example: 5.6.22 + // + // SourceEngineVersion is a required field + SourceEngineVersion *string `type:"string" required:"true"` + + // Specifies whether the restored DB cluster is encrypted. + StorageEncrypted *bool `type:"boolean"` + + // A list of tags. + Tags []*Tag `locationNameList:"Tag" type:"list"` + + // A list of EC2 VPC security groups to associate with the restored DB cluster. + VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"` } // String returns the string representation -func (s ResetDBParameterGroupInput) String() string { +func (s RestoreDBClusterFromS3Input) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResetDBParameterGroupInput) GoString() string { +func (s RestoreDBClusterFromS3Input) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ResetDBParameterGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ResetDBParameterGroupInput"} - if s.DBParameterGroupName == nil { - invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName")) +func (s *RestoreDBClusterFromS3Input) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterFromS3Input"} + if s.DBClusterIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier")) + } + if s.Engine == nil { + invalidParams.Add(request.NewErrParamRequired("Engine")) + } + if s.MasterUserPassword == nil { + invalidParams.Add(request.NewErrParamRequired("MasterUserPassword")) + } + if s.MasterUsername == nil { + invalidParams.Add(request.NewErrParamRequired("MasterUsername")) + } + if s.S3BucketName == nil { + invalidParams.Add(request.NewErrParamRequired("S3BucketName")) + } + if s.S3IngestionRoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("S3IngestionRoleArn")) + } + if s.SourceEngine == nil { + invalidParams.Add(request.NewErrParamRequired("SourceEngine")) + } + if s.SourceEngineVersion == nil { + invalidParams.Add(request.NewErrParamRequired("SourceEngineVersion")) } if invalidParams.Len() > 0 { @@ -11174,25 +17255,35 @@ func (s *ResetDBParameterGroupInput) Validate() error { return nil } -// Describes the pending maintenance actions for a resource. -type ResourcePendingMaintenanceActions struct { +type RestoreDBClusterFromS3Output struct { _ struct{} `type:"structure"` - // A list that provides details about the pending maintenance actions for the - // resource. - PendingMaintenanceActionDetails []*PendingMaintenanceAction `locationNameList:"PendingMaintenanceAction" type:"list"` - - // The ARN of the resource that has pending maintenance actions. - ResourceIdentifier *string `type:"string"` + // Contains the result of a successful invocation of the following actions: + // + // CreateDBCluster + // + // DeleteDBCluster + // + // FailoverDBCluster + // + // ModifyDBCluster + // + // RestoreDBClusterFromSnapshot + // + // RestoreDBClusterToPointInTime + // + // This data type is used as a response element in the DescribeDBClusters + // action. + DBCluster *DBCluster `type:"structure"` } // String returns the string representation -func (s ResourcePendingMaintenanceActions) String() string { +func (s RestoreDBClusterFromS3Output) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResourcePendingMaintenanceActions) GoString() string { +func (s RestoreDBClusterFromS3Output) GoString() string { return s.String() } @@ -11208,9 +17299,15 @@ type RestoreDBClusterFromSnapshotInput struct { // // Constraints: // - // Must contain from 1 to 255 alphanumeric characters or hyphens First character - // must be a letter Cannot end with a hyphen or contain two consecutive hyphens - // Example: my-snapshot-id + // Must contain from 1 to 255 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // Example: my-snapshot-id + // + // DBClusterIdentifier is a required field DBClusterIdentifier *string `type:"string" required:"true"` // The name of the DB subnet group to use for the new DB cluster. @@ -11229,13 +17326,15 @@ type RestoreDBClusterFromSnapshotInput struct { // Default: The same as source // // Constraint: Must be compatible with the engine of the source + // + // Engine is a required field Engine *string `type:"string" required:"true"` // The version of the database engine to use for the new DB cluster. EngineVersion *string `type:"string"` // The KMS key identifier to use when restoring an encrypted DB cluster from - // an encrypted DB cluster snapshot. + // a DB cluster snapshot. // // The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption // key. If you are restoring a DB cluster with the same AWS account that owns @@ -11245,12 +17344,11 @@ type RestoreDBClusterFromSnapshotInput struct { // If you do not specify a value for the KmsKeyId parameter, then the following // will occur: // - // If the DB cluster snapshot is encrypted, then the restored DB cluster is - // encrypted using the KMS key that was used to encrypt the DB cluster snapshot. - // If the DB cluster snapshot is not encrypted, then the restored DB cluster - // is not encrypted. If SnapshotIdentifier refers to a DB cluster snapshot - // that is not encrypted, and you specify a value for the KmsKeyId parameter, - // then the restore request is rejected. + // If the DB cluster snapshot is encrypted, then the restored DB cluster + // is encrypted using the KMS key that was used to encrypt the DB cluster snapshot. + // + // If the DB cluster snapshot is not encrypted, then the restored DB cluster + // is encrypted using the specified encryption key. KmsKeyId *string `type:"string"` // The name of the option group to use for the restored DB cluster. @@ -11267,8 +17365,13 @@ type RestoreDBClusterFromSnapshotInput struct { // // Constraints: // - // Must contain from 1 to 63 alphanumeric characters or hyphens First character - // must be a letter Cannot end with a hyphen or contain two consecutive hyphens + // Must contain from 1 to 63 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // SnapshotIdentifier is a required field SnapshotIdentifier *string `type:"string" required:"true"` // The tags to be assigned to the restored DB cluster. @@ -11312,9 +17415,20 @@ type RestoreDBClusterFromSnapshotOutput struct { // Contains the result of a successful invocation of the following actions: // - // CreateDBCluster DeleteDBCluster FailoverDBCluster ModifyDBCluster - // RestoreDBClusterFromSnapshot This data type is used as a response element - // in the DescribeDBClusters action. + // CreateDBCluster + // + // DeleteDBCluster + // + // FailoverDBCluster + // + // ModifyDBCluster + // + // RestoreDBClusterFromSnapshot + // + // RestoreDBClusterToPointInTime + // + // This data type is used as a response element in the DescribeDBClusters + // action. DBCluster *DBCluster `type:"structure"` } @@ -11335,8 +17449,13 @@ type RestoreDBClusterToPointInTimeInput struct { // // Constraints: // - // Must contain from 1 to 63 alphanumeric characters or hyphens First character - // must be a letter Cannot end with a hyphen or contain two consecutive hyphens + // Must contain from 1 to 63 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // DBClusterIdentifier is a required field DBClusterIdentifier *string `type:"string" required:"true"` // The DB subnet group name to use for the new DB cluster. @@ -11363,11 +17482,14 @@ type RestoreDBClusterToPointInTimeInput struct { // If you do not specify a value for the KmsKeyId parameter, then the following // will occur: // - // 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 DBClusterIdentifier refers to a DB cluster that is note encrypted, then - // the restore request is rejected. + // 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 DBClusterIdentifier refers to a DB cluster that is note encrypted, + // then the restore request is rejected. KmsKeyId *string `type:"string"` // The name of the option group for the new DB cluster. @@ -11386,17 +17508,26 @@ type RestoreDBClusterToPointInTimeInput struct { // // Constraints: // - // Must be before the latest restorable time for the DB instance Cannot be - // specified if UseLatestRestorableTime parameter is true Example: 2015-03-07T23:45:00Z + // Must be before the latest restorable time for the DB instance + // + // Cannot be specified if UseLatestRestorableTime parameter is true + // + // Example: 2015-03-07T23:45:00Z RestoreToTime *time.Time `type:"timestamp" timestampFormat:"iso8601"` // The identifier of the source DB cluster from which to restore. // // Constraints: // - // Must be the identifier of an existing database instance Must contain from - // 1 to 63 alphanumeric characters or hyphens First character must be a letter - // Cannot end with a hyphen or contain two consecutive hyphens + // Must be the identifier of an existing database instance + // + // Must contain from 1 to 63 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // SourceDBClusterIdentifier is a required field SourceDBClusterIdentifier *string `type:"string" required:"true"` // A list of tags. @@ -11445,9 +17576,20 @@ type RestoreDBClusterToPointInTimeOutput struct { // Contains the result of a successful invocation of the following actions: // - // CreateDBCluster DeleteDBCluster FailoverDBCluster ModifyDBCluster - // RestoreDBClusterFromSnapshot This data type is used as a response element - // in the DescribeDBClusters action. + // CreateDBCluster + // + // DeleteDBCluster + // + // FailoverDBCluster + // + // ModifyDBCluster + // + // RestoreDBClusterFromSnapshot + // + // RestoreDBClusterToPointInTime + // + // This data type is used as a response element in the DescribeDBClusters + // action. DBCluster *DBCluster `type:"structure"` } @@ -11496,24 +17638,37 @@ type RestoreDBInstanceFromDBSnapshotInput struct { // // Constraints: // - // Must contain from 1 to 63 alphanumeric characters or hyphens (1 to 15 for - // SQL Server) First character must be a letter Cannot end with a hyphen or - // contain two consecutive hyphens Example: my-snapshot-id + // Must contain from 1 to 63 alphanumeric characters or hyphens (1 to 15 + // for SQL Server) + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // Example: my-snapshot-id + // + // DBInstanceIdentifier is a required field DBInstanceIdentifier *string `type:"string" required:"true"` // The database name for the restored DB instance. // - // This parameter doesn't apply to the MySQL or MariaDB engines. + // This parameter doesn't apply to the MySQL, PostgreSQL, or MariaDB engines. DBName *string `type:"string"` // The identifier for the DB snapshot to restore from. // // Constraints: // - // Must contain from 1 to 255 alphanumeric characters or hyphens First character - // must be a letter Cannot end with a hyphen or contain two consecutive hyphens - // If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier + // Must contain from 1 to 255 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier // must be the ARN of the shared DB snapshot. + // + // DBSnapshotIdentifier is a required field DBSnapshotIdentifier *string `type:"string" required:"true"` // The DB subnet group name to use for the new instance. @@ -11548,7 +17703,7 @@ type RestoreDBInstanceFromDBSnapshotInput struct { // though your DB instance will be available for connections before the conversion // starts. // - // Constraints: Must be an integer greater than 1000. + // Constraints: Must be an integer greater than 1000. // // SQL Server // @@ -11557,7 +17712,7 @@ type RestoreDBInstanceFromDBSnapshotInput struct { // License model information for the restored DB instance. // - // Default: Same as source. + // Default: Same as source. // // Valid values: license-included | bring-your-own-license | general-public-license LicenseModel *string `type:"string"` @@ -11587,14 +17742,18 @@ type RestoreDBInstanceFromDBSnapshotInput struct { // which resolves to a public IP address. A value of false specifies an internal // instance with a DNS name that resolves to a private IP address. // - // Default: The default behavior varies depending on whether a VPC has been + // Default: The default behavior varies depending on whether a VPC has been // requested or not. The following list shows the default behavior in each case. // - // Default VPC: true VPC: false If no DB subnet group has been specified - // as part of the request and the PubliclyAccessible value has not been set, - // the DB instance will be publicly accessible. If a specific DB subnet group - // has been specified as part of the request and the PubliclyAccessible value - // has not been set, the DB instance will be private. + // Default VPC: true + // + // VPC: false + // + // If no DB subnet group has been specified as part of the request and the + // PubliclyAccessible value has not been set, the DB instance will be publicly + // accessible. If a specific DB subnet group has been specified as part of the + // request and the PubliclyAccessible value has not been set, the DB instance + // will be private. PubliclyAccessible *bool `type:"boolean"` // Specifies the storage type to be associated with the DB instance. @@ -11648,8 +17807,14 @@ type RestoreDBInstanceFromDBSnapshotOutput struct { // Contains the result of a successful invocation of the following actions: // - // CreateDBInstance DeleteDBInstance ModifyDBInstance This data type - // is used as a response element in the DescribeDBInstances action. + // CreateDBInstance + // + // DeleteDBInstance + // + // ModifyDBInstance + // + // This data type is used as a response element in the DescribeDBInstances + // action. DBInstance *DBInstance `type:"structure"` } @@ -11728,7 +17893,7 @@ type RestoreDBInstanceToPointInTimeInput struct { // The amount of Provisioned IOPS (input/output operations per second) to be // initially allocated for the DB instance. // - // Constraints: Must be an integer greater than 1000. + // Constraints: Must be an integer greater than 1000. // // SQL Server // @@ -11737,7 +17902,7 @@ type RestoreDBInstanceToPointInTimeInput struct { // License model information for the restored DB instance. // - // Default: Same as source. + // Default: Same as source. // // Valid values: license-included | bring-your-own-license | general-public-license LicenseModel *string `type:"string"` @@ -11767,14 +17932,18 @@ type RestoreDBInstanceToPointInTimeInput struct { // which resolves to a public IP address. A value of false specifies an internal // instance with a DNS name that resolves to a private IP address. // - // Default: The default behavior varies depending on whether a VPC has been + // Default: The default behavior varies depending on whether a VPC has been // requested or not. The following list shows the default behavior in each case. // - // Default VPC:true VPC:false If no DB subnet group has been specified - // as part of the request and the PubliclyAccessible value has not been set, - // the DB instance will be publicly accessible. If a specific DB subnet group - // has been specified as part of the request and the PubliclyAccessible value - // has not been set, the DB instance will be private. + // Default VPC:true + // + // VPC:false + // + // If no DB subnet group has been specified as part of the request and the + // PubliclyAccessible value has not been set, the DB instance will be publicly + // accessible. If a specific DB subnet group has been specified as part of the + // request and the PubliclyAccessible value has not been set, the DB instance + // will be private. PubliclyAccessible *bool `type:"boolean"` // The date and time to restore from. @@ -11783,17 +17952,26 @@ type RestoreDBInstanceToPointInTimeInput struct { // // Constraints: // - // Must be before the latest restorable time for the DB instance Cannot be - // specified if UseLatestRestorableTime parameter is true Example: 2009-09-07T23:45:00Z + // Must be before the latest restorable time for the DB instance + // + // Cannot be specified if UseLatestRestorableTime parameter is true + // + // Example: 2009-09-07T23:45:00Z RestoreTime *time.Time `type:"timestamp" timestampFormat:"iso8601"` // The identifier of the source DB instance from which to restore. // // Constraints: // - // Must be the identifier of an existing database instance Must contain from - // 1 to 63 alphanumeric characters or hyphens First character must be a letter - // Cannot end with a hyphen or contain two consecutive hyphens + // Must be the identifier of an existing database instance + // + // Must contain from 1 to 63 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // SourceDBInstanceIdentifier is a required field SourceDBInstanceIdentifier *string `type:"string" required:"true"` // Specifies the storage type to be associated with the DB instance. @@ -11812,8 +17990,13 @@ type RestoreDBInstanceToPointInTimeInput struct { // // Constraints: // - // Must contain from 1 to 63 alphanumeric characters or hyphens First character - // must be a letter Cannot end with a hyphen or contain two consecutive hyphens + // Must contain from 1 to 63 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // TargetDBInstanceIdentifier is a required field TargetDBInstanceIdentifier *string `type:"string" required:"true"` // The ARN from the Key Store with which to associate the instance for TDE encryption. @@ -11863,8 +18046,14 @@ type RestoreDBInstanceToPointInTimeOutput struct { // Contains the result of a successful invocation of the following actions: // - // CreateDBInstance DeleteDBInstance ModifyDBInstance This data type - // is used as a response element in the DescribeDBInstances action. + // CreateDBInstance + // + // DeleteDBInstance + // + // ModifyDBInstance + // + // This data type is used as a response element in the DescribeDBInstances + // action. DBInstance *DBInstance `type:"structure"` } @@ -11887,6 +18076,8 @@ type RevokeDBSecurityGroupIngressInput struct { CIDRIP *string `type:"string"` // The name of the DB security group to revoke ingress from. + // + // DBSecurityGroupName is a required field DBSecurityGroupName *string `type:"string" required:"true"` // The id of the EC2 security group to revoke access from. For VPC DB security @@ -11935,9 +18126,16 @@ type RevokeDBSecurityGroupIngressOutput struct { // Contains the result of a successful invocation of the following actions: // - // DescribeDBSecurityGroups AuthorizeDBSecurityGroupIngress CreateDBSecurityGroup - // RevokeDBSecurityGroupIngress This data type is used as a response element - // in the DescribeDBSecurityGroups action. + // DescribeDBSecurityGroups + // + // AuthorizeDBSecurityGroupIngress + // + // CreateDBSecurityGroup + // + // RevokeDBSecurityGroupIngress + // + // This data type is used as a response element in the DescribeDBSecurityGroups + // action. DBSecurityGroup *DBSecurityGroup `type:"structure"` } @@ -11951,6 +18149,31 @@ func (s RevokeDBSecurityGroupIngressOutput) GoString() string { return s.String() } +// Contains an AWS Region name as the result of a successful call to the DescribeSourceRegions +// action. +type SourceRegion struct { + _ struct{} `type:"structure"` + + // The source region endpoint. + Endpoint *string `type:"string"` + + // The source region name. + RegionName *string `type:"string"` + + // The status of the source region. + Status *string `type:"string"` +} + +// String returns the string representation +func (s SourceRegion) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SourceRegion) GoString() string { + return s.String() +} + // This data type is used as a response element in the DescribeDBSubnetGroups // action. type Subnet struct { @@ -11958,7 +18181,9 @@ type Subnet struct { // Contains Availability Zone information. // - // This data type is used as an element in the following data type: OrderableDBInstanceOption + // This data type is used as an element in the following data type: + // + // OrderableDBInstanceOption SubnetAvailabilityZone *AvailabilityZone `type:"structure"` // Specifies the identifier of the subnet. @@ -12005,6 +18230,26 @@ func (s Tag) GoString() string { return s.String() } +// A time zone associated with a DBInstance or a DBSnapshot. This data type +// is an element in the response to the DescribeDBInstances, the DescribeDBSnapshots, +// and the DescribeDBEngineVersions actions. +type Timezone struct { + _ struct{} `type:"structure"` + + // The name of the time zone. + TimezoneName *string `type:"string"` +} + +// String returns the string representation +func (s Timezone) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Timezone) GoString() string { + return s.String() +} + // The version of the database engine that a DB instance can be upgraded to. type UpgradeTarget struct { _ struct{} `type:"structure"` @@ -12060,23 +18305,29 @@ func (s VpcSecurityGroupMembership) GoString() string { } const ( - // @enum ApplyMethod + // ApplyMethodImmediate is a ApplyMethod enum value ApplyMethodImmediate = "immediate" - // @enum ApplyMethod + + // ApplyMethodPendingReboot is a ApplyMethod enum value ApplyMethodPendingReboot = "pending-reboot" ) const ( - // @enum SourceType + // SourceTypeDbInstance is a SourceType enum value SourceTypeDbInstance = "db-instance" - // @enum SourceType + + // SourceTypeDbParameterGroup is a SourceType enum value SourceTypeDbParameterGroup = "db-parameter-group" - // @enum SourceType + + // SourceTypeDbSecurityGroup is a SourceType enum value SourceTypeDbSecurityGroup = "db-security-group" - // @enum SourceType + + // SourceTypeDbSnapshot is a SourceType enum value SourceTypeDbSnapshot = "db-snapshot" - // @enum SourceType + + // SourceTypeDbCluster is a SourceType enum value SourceTypeDbCluster = "db-cluster" - // @enum SourceType + + // SourceTypeDbClusterSnapshot is a SourceType enum value SourceTypeDbClusterSnapshot = "db-cluster-snapshot" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/rds/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/rds/waiters.go index b73b51bdaf76..165fc0e631c7 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/rds/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/rds/waiters.go @@ -6,6 +6,10 @@ import ( "github.com/aws/aws-sdk-go/private/waiter" ) +// WaitUntilDBInstanceAvailable uses the Amazon RDS API operation +// DescribeDBInstances to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *RDS) WaitUntilDBInstanceAvailable(input *DescribeDBInstancesInput) error { waiterCfg := waiter.Config{ Operation: "DescribeDBInstances", @@ -71,6 +75,10 @@ func (c *RDS) WaitUntilDBInstanceAvailable(input *DescribeDBInstancesInput) erro return w.Wait() } +// WaitUntilDBInstanceDeleted uses the Amazon RDS API operation +// DescribeDBInstances to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *RDS) WaitUntilDBInstanceDeleted(input *DescribeDBInstancesInput) error { waiterCfg := waiter.Config{ Operation: "DescribeDBInstances", diff --git a/vendor/github.com/aws/aws-sdk-go/service/redshift/api.go b/vendor/github.com/aws/aws-sdk-go/service/redshift/api.go index 97ff5ecfead9..33d5614e25be 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/redshift/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/redshift/api.go @@ -14,7 +14,30 @@ import ( const opAuthorizeClusterSecurityGroupIngress = "AuthorizeClusterSecurityGroupIngress" -// AuthorizeClusterSecurityGroupIngressRequest generates a request for the AuthorizeClusterSecurityGroupIngress operation. +// AuthorizeClusterSecurityGroupIngressRequest generates a "aws/request.Request" representing the +// client's request for the AuthorizeClusterSecurityGroupIngress operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AuthorizeClusterSecurityGroupIngress for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AuthorizeClusterSecurityGroupIngress method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AuthorizeClusterSecurityGroupIngressRequest method. +// req, resp := client.AuthorizeClusterSecurityGroupIngressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) AuthorizeClusterSecurityGroupIngressRequest(input *AuthorizeClusterSecurityGroupIngressInput) (req *request.Request, output *AuthorizeClusterSecurityGroupIngressOutput) { op := &request.Operation{ Name: opAuthorizeClusterSecurityGroupIngress, @@ -32,6 +55,8 @@ func (c *Redshift) AuthorizeClusterSecurityGroupIngressRequest(input *AuthorizeC return } +// AuthorizeClusterSecurityGroupIngress API operation for Amazon Redshift. +// // Adds an inbound (ingress) rule to an Amazon Redshift security group. Depending // on whether the application accessing your cluster is running on the Internet // or an Amazon EC2 instance, you can authorize inbound access to either a Classless @@ -43,15 +68,38 @@ func (c *Redshift) AuthorizeClusterSecurityGroupIngressRequest(input *AuthorizeC // and EC2SecurityGroupOwnerId. The Amazon EC2 security group and Amazon Redshift // cluster must be in the same AWS region. // -// If you authorize access to a CIDR/IP address range, specify CIDRIP. For +// If you authorize access to a CIDR/IP address range, specify CIDRIP. For // an overview of CIDR blocks, see the Wikipedia article on Classless Inter-Domain // Routing (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). // -// You must also associate the security group with a cluster so that clients +// You must also associate the security group with a cluster so that clients // running on these IP addresses or the EC2 instance are authorized to connect // to the cluster. For information about managing security groups, go to Working // with Security Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html) // in the Amazon Redshift Cluster Management 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 +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation AuthorizeClusterSecurityGroupIngress for usage and error information. +// +// Returned Error Codes: +// * ClusterSecurityGroupNotFound +// The cluster security group name does not refer to an existing cluster security +// group. +// +// * InvalidClusterSecurityGroupState +// The state of the cluster security group is not available. +// +// * AuthorizationAlreadyExists +// The specified CIDR block or EC2 security group is already authorized for +// the specified cluster security group. +// +// * AuthorizationQuotaExceeded +// The authorization quota for the cluster security group has been reached. +// func (c *Redshift) AuthorizeClusterSecurityGroupIngress(input *AuthorizeClusterSecurityGroupIngressInput) (*AuthorizeClusterSecurityGroupIngressOutput, error) { req, out := c.AuthorizeClusterSecurityGroupIngressRequest(input) err := req.Send() @@ -60,7 +108,30 @@ func (c *Redshift) AuthorizeClusterSecurityGroupIngress(input *AuthorizeClusterS const opAuthorizeSnapshotAccess = "AuthorizeSnapshotAccess" -// AuthorizeSnapshotAccessRequest generates a request for the AuthorizeSnapshotAccess operation. +// AuthorizeSnapshotAccessRequest generates a "aws/request.Request" representing the +// client's request for the AuthorizeSnapshotAccess operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AuthorizeSnapshotAccess for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AuthorizeSnapshotAccess method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AuthorizeSnapshotAccessRequest method. +// req, resp := client.AuthorizeSnapshotAccessRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) AuthorizeSnapshotAccessRequest(input *AuthorizeSnapshotAccessInput) (req *request.Request, output *AuthorizeSnapshotAccessOutput) { op := &request.Operation{ Name: opAuthorizeSnapshotAccess, @@ -78,11 +149,43 @@ func (c *Redshift) AuthorizeSnapshotAccessRequest(input *AuthorizeSnapshotAccess return } +// AuthorizeSnapshotAccess API operation for Amazon Redshift. +// // Authorizes the specified AWS customer account to restore the specified snapshot. // // For more information about working with snapshots, go to Amazon Redshift // Snapshots (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html) // in the Amazon Redshift Cluster Management 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 +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation AuthorizeSnapshotAccess for usage and error information. +// +// Returned Error Codes: +// * ClusterSnapshotNotFound +// The snapshot identifier does not refer to an existing cluster snapshot. +// +// * AuthorizationAlreadyExists +// The specified CIDR block or EC2 security group is already authorized for +// the specified cluster security group. +// +// * AuthorizationQuotaExceeded +// The authorization quota for the cluster security group has been reached. +// +// * DependentServiceRequestThrottlingFault +// The request cannot be completed because a dependent service is throttling +// requests made by Amazon Redshift on your behalf. Wait and retry the request. +// +// * InvalidClusterSnapshotState +// The specified cluster snapshot is not in the available state, or other accounts +// are authorized to access the snapshot. +// +// * LimitExceededFault +// The encryption key has exceeded its grant limit in AWS KMS. +// func (c *Redshift) AuthorizeSnapshotAccess(input *AuthorizeSnapshotAccessInput) (*AuthorizeSnapshotAccessOutput, error) { req, out := c.AuthorizeSnapshotAccessRequest(input) err := req.Send() @@ -91,7 +194,30 @@ func (c *Redshift) AuthorizeSnapshotAccess(input *AuthorizeSnapshotAccessInput) const opCopyClusterSnapshot = "CopyClusterSnapshot" -// CopyClusterSnapshotRequest generates a request for the CopyClusterSnapshot operation. +// CopyClusterSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the CopyClusterSnapshot operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CopyClusterSnapshot for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CopyClusterSnapshot method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CopyClusterSnapshotRequest method. +// req, resp := client.CopyClusterSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) CopyClusterSnapshotRequest(input *CopyClusterSnapshotInput) (req *request.Request, output *CopyClusterSnapshotOutput) { op := &request.Operation{ Name: opCopyClusterSnapshot, @@ -109,11 +235,13 @@ func (c *Redshift) CopyClusterSnapshotRequest(input *CopyClusterSnapshotInput) ( return } +// CopyClusterSnapshot API operation for Amazon Redshift. +// // Copies the specified automated cluster snapshot to a new manual cluster snapshot. // The source must be an automated snapshot and it must be in the available // state. // -// When you delete a cluster, Amazon Redshift deletes any automated snapshots +// When you delete a cluster, Amazon Redshift deletes any automated snapshots // of the cluster. Also, when the retention period of the snapshot expires, // Amazon Redshift automatically deletes it. If you want to keep an automated // snapshot for a longer period, you can make a manual copy of the snapshot. @@ -122,6 +250,30 @@ func (c *Redshift) CopyClusterSnapshotRequest(input *CopyClusterSnapshotInput) ( // For more information about working with snapshots, go to Amazon Redshift // Snapshots (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html) // in the Amazon Redshift Cluster Management 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 +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation CopyClusterSnapshot for usage and error information. +// +// Returned Error Codes: +// * ClusterSnapshotAlreadyExists +// The value specified as a snapshot identifier is already used by an existing +// snapshot. +// +// * ClusterSnapshotNotFound +// The snapshot identifier does not refer to an existing cluster snapshot. +// +// * InvalidClusterSnapshotState +// The specified cluster snapshot is not in the available state, or other accounts +// are authorized to access the snapshot. +// +// * ClusterSnapshotQuotaExceeded +// The request would result in the user exceeding the allowed number of cluster +// snapshots. +// func (c *Redshift) CopyClusterSnapshot(input *CopyClusterSnapshotInput) (*CopyClusterSnapshotOutput, error) { req, out := c.CopyClusterSnapshotRequest(input) err := req.Send() @@ -130,7 +282,30 @@ func (c *Redshift) CopyClusterSnapshot(input *CopyClusterSnapshotInput) (*CopyCl const opCreateCluster = "CreateCluster" -// CreateClusterRequest generates a request for the CreateCluster operation. +// CreateClusterRequest generates a "aws/request.Request" representing the +// client's request for the CreateCluster operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateCluster for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateCluster method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateClusterRequest method. +// req, resp := client.CreateClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) { op := &request.Operation{ Name: opCreateCluster, @@ -148,13 +323,91 @@ func (c *Redshift) CreateClusterRequest(input *CreateClusterInput) (req *request return } -// Creates a new cluster. To create the cluster in virtual private cloud (VPC), -// you must provide cluster subnet group name. If you don't provide a cluster -// subnet group name or the cluster security group parameter, Amazon Redshift -// creates a non-VPC cluster, it associates the default cluster security group -// with the cluster. For more information about managing clusters, go to Amazon -// Redshift Clusters (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) -// in the Amazon Redshift Cluster Management Guide . +// CreateCluster API operation for Amazon Redshift. +// +// Creates a new cluster. +// +// To create the cluster in Virtual Private Cloud (VPC), you must provide a +// cluster subnet group name. The cluster subnet group identifies the subnets +// of your VPC that Amazon Redshift uses when creating the cluster. For more +// information about managing clusters, go to Amazon Redshift Clusters (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) +// in the Amazon Redshift Cluster Management 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 +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation CreateCluster for usage and error information. +// +// Returned Error Codes: +// * ClusterAlreadyExists +// The account already has a cluster with the given identifier. +// +// * InsufficientClusterCapacity +// The number of nodes specified exceeds the allotted capacity of the cluster. +// +// * ClusterParameterGroupNotFound +// The parameter group name does not refer to an existing parameter group. +// +// * ClusterSecurityGroupNotFound +// The cluster security group name does not refer to an existing cluster security +// group. +// +// * ClusterQuotaExceeded +// The request would exceed the allowed number of cluster instances for this +// account. For information about increasing your quota, go to Limits in Amazon +// Redshift (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) +// in the Amazon Redshift Cluster Management Guide. +// +// * NumberOfNodesQuotaExceeded +// The operation would exceed the number of nodes allotted to the account. For +// information about increasing your quota, go to Limits in Amazon Redshift +// (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) +// in the Amazon Redshift Cluster Management Guide. +// +// * NumberOfNodesPerClusterLimitExceeded +// The operation would exceed the number of nodes allowed for a cluster. +// +// * ClusterSubnetGroupNotFoundFault +// The cluster subnet group name does not refer to an existing cluster subnet +// group. +// +// * InvalidVPCNetworkStateFault +// The cluster subnet group does not cover all Availability Zones. +// +// * InvalidClusterSubnetGroupStateFault +// The cluster subnet group cannot be deleted because it is in use. +// +// * InvalidSubnet +// The requested subnet is not valid, or not all of the subnets are in the same +// VPC. +// +// * UnauthorizedOperation +// Your account is not authorized to perform the requested operation. +// +// * HsmClientCertificateNotFoundFault +// There is no Amazon Redshift HSM client certificate with the specified identifier. +// +// * HsmConfigurationNotFoundFault +// There is no Amazon Redshift HSM configuration with the specified identifier. +// +// * InvalidElasticIpFault +// The Elastic IP (EIP) is invalid or cannot be found. +// +// * TagLimitExceededFault +// The request exceeds the limit of 10 tags for the resource. +// +// * InvalidTagFault +// The tag is invalid. +// +// * LimitExceededFault +// The encryption key has exceeded its grant limit in AWS KMS. +// +// * DependentServiceRequestThrottlingFault +// The request cannot be completed because a dependent service is throttling +// requests made by Amazon Redshift on your behalf. Wait and retry the request. +// func (c *Redshift) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) { req, out := c.CreateClusterRequest(input) err := req.Send() @@ -163,7 +416,30 @@ func (c *Redshift) CreateCluster(input *CreateClusterInput) (*CreateClusterOutpu const opCreateClusterParameterGroup = "CreateClusterParameterGroup" -// CreateClusterParameterGroupRequest generates a request for the CreateClusterParameterGroup operation. +// CreateClusterParameterGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateClusterParameterGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateClusterParameterGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateClusterParameterGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateClusterParameterGroupRequest method. +// req, resp := client.CreateClusterParameterGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) CreateClusterParameterGroupRequest(input *CreateClusterParameterGroupInput) (req *request.Request, output *CreateClusterParameterGroupOutput) { op := &request.Operation{ Name: opCreateClusterParameterGroup, @@ -181,6 +457,8 @@ func (c *Redshift) CreateClusterParameterGroupRequest(input *CreateClusterParame return } +// CreateClusterParameterGroup API operation for Amazon Redshift. +// // Creates an Amazon Redshift parameter group. // // Creating parameter groups is independent of creating clusters. You can associate @@ -188,10 +466,34 @@ func (c *Redshift) CreateClusterParameterGroupRequest(input *CreateClusterParame // associate an existing cluster with a parameter group after the cluster is // created by using ModifyCluster. // -// Parameters in the parameter group define specific behavior that applies +// Parameters in the parameter group define specific behavior that applies // to the databases you create on the cluster. For more information about parameters // and parameter groups, go to Amazon Redshift Parameter Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html) // in the Amazon Redshift Cluster Management 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 +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation CreateClusterParameterGroup for usage and error information. +// +// Returned Error Codes: +// * ClusterParameterGroupQuotaExceeded +// The request would result in the user exceeding the allowed number of cluster +// parameter groups. For information about increasing your quota, go to Limits +// in Amazon Redshift (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) +// in the Amazon Redshift Cluster Management Guide. +// +// * ClusterParameterGroupAlreadyExists +// A cluster parameter group with the same name already exists. +// +// * TagLimitExceededFault +// The request exceeds the limit of 10 tags for the resource. +// +// * InvalidTagFault +// The tag is invalid. +// func (c *Redshift) CreateClusterParameterGroup(input *CreateClusterParameterGroupInput) (*CreateClusterParameterGroupOutput, error) { req, out := c.CreateClusterParameterGroupRequest(input) err := req.Send() @@ -200,7 +502,30 @@ func (c *Redshift) CreateClusterParameterGroup(input *CreateClusterParameterGrou const opCreateClusterSecurityGroup = "CreateClusterSecurityGroup" -// CreateClusterSecurityGroupRequest generates a request for the CreateClusterSecurityGroup operation. +// CreateClusterSecurityGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateClusterSecurityGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateClusterSecurityGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateClusterSecurityGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateClusterSecurityGroupRequest method. +// req, resp := client.CreateClusterSecurityGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) CreateClusterSecurityGroupRequest(input *CreateClusterSecurityGroupInput) (req *request.Request, output *CreateClusterSecurityGroupOutput) { op := &request.Operation{ Name: opCreateClusterSecurityGroup, @@ -218,12 +543,38 @@ func (c *Redshift) CreateClusterSecurityGroupRequest(input *CreateClusterSecurit return } +// CreateClusterSecurityGroup API operation for Amazon Redshift. +// // Creates a new Amazon Redshift security group. You use security groups to // control access to non-VPC clusters. // // For information about managing security groups, go to Amazon Redshift Cluster // Security Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html) // in the Amazon Redshift Cluster Management 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 +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation CreateClusterSecurityGroup for usage and error information. +// +// Returned Error Codes: +// * ClusterSecurityGroupAlreadyExists +// A cluster security group with the same name already exists. +// +// * QuotaExceeded.ClusterSecurityGroup +// The request would result in the user exceeding the allowed number of cluster +// security groups. For information about increasing your quota, go to Limits +// in Amazon Redshift (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) +// in the Amazon Redshift Cluster Management Guide. +// +// * TagLimitExceededFault +// The request exceeds the limit of 10 tags for the resource. +// +// * InvalidTagFault +// The tag is invalid. +// func (c *Redshift) CreateClusterSecurityGroup(input *CreateClusterSecurityGroupInput) (*CreateClusterSecurityGroupOutput, error) { req, out := c.CreateClusterSecurityGroupRequest(input) err := req.Send() @@ -232,7 +583,30 @@ func (c *Redshift) CreateClusterSecurityGroup(input *CreateClusterSecurityGroupI const opCreateClusterSnapshot = "CreateClusterSnapshot" -// CreateClusterSnapshotRequest generates a request for the CreateClusterSnapshot operation. +// CreateClusterSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the CreateClusterSnapshot operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateClusterSnapshot for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateClusterSnapshot method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateClusterSnapshotRequest method. +// req, resp := client.CreateClusterSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) CreateClusterSnapshotRequest(input *CreateClusterSnapshotInput) (req *request.Request, output *CreateClusterSnapshotOutput) { op := &request.Operation{ Name: opCreateClusterSnapshot, @@ -250,12 +624,43 @@ func (c *Redshift) CreateClusterSnapshotRequest(input *CreateClusterSnapshotInpu return } +// CreateClusterSnapshot API operation for Amazon Redshift. +// // Creates a manual snapshot of the specified cluster. The cluster must be in // the available state. // // For more information about working with snapshots, go to Amazon Redshift // Snapshots (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html) // in the Amazon Redshift Cluster Management 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 +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation CreateClusterSnapshot for usage and error information. +// +// Returned Error Codes: +// * ClusterSnapshotAlreadyExists +// The value specified as a snapshot identifier is already used by an existing +// snapshot. +// +// * InvalidClusterState +// The specified cluster is not in the available state. +// +// * ClusterNotFound +// The ClusterIdentifier parameter does not refer to an existing cluster. +// +// * ClusterSnapshotQuotaExceeded +// The request would result in the user exceeding the allowed number of cluster +// snapshots. +// +// * TagLimitExceededFault +// The request exceeds the limit of 10 tags for the resource. +// +// * InvalidTagFault +// The tag is invalid. +// func (c *Redshift) CreateClusterSnapshot(input *CreateClusterSnapshotInput) (*CreateClusterSnapshotOutput, error) { req, out := c.CreateClusterSnapshotRequest(input) err := req.Send() @@ -264,7 +669,30 @@ func (c *Redshift) CreateClusterSnapshot(input *CreateClusterSnapshotInput) (*Cr const opCreateClusterSubnetGroup = "CreateClusterSubnetGroup" -// CreateClusterSubnetGroupRequest generates a request for the CreateClusterSubnetGroup operation. +// CreateClusterSubnetGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateClusterSubnetGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateClusterSubnetGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateClusterSubnetGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateClusterSubnetGroupRequest method. +// req, resp := client.CreateClusterSubnetGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) CreateClusterSubnetGroupRequest(input *CreateClusterSubnetGroupInput) (req *request.Request, output *CreateClusterSubnetGroupOutput) { op := &request.Operation{ Name: opCreateClusterSubnetGroup, @@ -282,6 +710,8 @@ func (c *Redshift) CreateClusterSubnetGroupRequest(input *CreateClusterSubnetGro return } +// CreateClusterSubnetGroup API operation for Amazon Redshift. +// // Creates a new Amazon Redshift subnet group. You must provide a list of one // or more subnets in your existing Amazon Virtual Private Cloud (Amazon VPC) // when creating Amazon Redshift subnet group. @@ -289,6 +719,47 @@ func (c *Redshift) CreateClusterSubnetGroupRequest(input *CreateClusterSubnetGro // For information about subnet groups, go to Amazon Redshift Cluster Subnet // Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-cluster-subnet-groups.html) // in the Amazon Redshift Cluster Management 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 +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation CreateClusterSubnetGroup for usage and error information. +// +// Returned Error Codes: +// * ClusterSubnetGroupAlreadyExists +// A ClusterSubnetGroupName is already used by an existing cluster subnet group. +// +// * ClusterSubnetGroupQuotaExceeded +// The request would result in user exceeding the allowed number of cluster +// subnet groups. For information about increasing your quota, go to Limits +// in Amazon Redshift (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) +// in the Amazon Redshift Cluster Management Guide. +// +// * ClusterSubnetQuotaExceededFault +// The request would result in user exceeding the allowed number of subnets +// in a cluster subnet groups. For information about increasing your quota, +// go to Limits in Amazon Redshift (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) +// in the Amazon Redshift Cluster Management Guide. +// +// * InvalidSubnet +// The requested subnet is not valid, or not all of the subnets are in the same +// VPC. +// +// * UnauthorizedOperation +// Your account is not authorized to perform the requested operation. +// +// * TagLimitExceededFault +// The request exceeds the limit of 10 tags for the resource. +// +// * InvalidTagFault +// The tag is invalid. +// +// * DependentServiceRequestThrottlingFault +// The request cannot be completed because a dependent service is throttling +// requests made by Amazon Redshift on your behalf. Wait and retry the request. +// func (c *Redshift) CreateClusterSubnetGroup(input *CreateClusterSubnetGroupInput) (*CreateClusterSubnetGroupOutput, error) { req, out := c.CreateClusterSubnetGroupRequest(input) err := req.Send() @@ -297,7 +768,30 @@ func (c *Redshift) CreateClusterSubnetGroup(input *CreateClusterSubnetGroupInput const opCreateEventSubscription = "CreateEventSubscription" -// CreateEventSubscriptionRequest generates a request for the CreateEventSubscription operation. +// CreateEventSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the CreateEventSubscription operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateEventSubscription for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateEventSubscription method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateEventSubscriptionRequest method. +// req, resp := client.CreateEventSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) CreateEventSubscriptionRequest(input *CreateEventSubscriptionInput) (req *request.Request, output *CreateEventSubscriptionOutput) { op := &request.Operation{ Name: opCreateEventSubscription, @@ -315,13 +809,15 @@ func (c *Redshift) CreateEventSubscriptionRequest(input *CreateEventSubscription return } +// CreateEventSubscription API operation for Amazon Redshift. +// // Creates an Amazon Redshift event notification subscription. This action requires // an ARN (Amazon Resource Name) of an Amazon SNS topic created by either the // Amazon Redshift console, the Amazon SNS console, or the Amazon SNS API. To // obtain an ARN with Amazon SNS, you must create a topic in Amazon SNS and // subscribe to the topic. The ARN is displayed in the SNS console. // -// You can specify the source type, and lists of Amazon Redshift source IDs, +// You can specify the source type, and lists of Amazon Redshift source IDs, // event categories, and event severities. Notifications will be sent for all // events you want that match those criteria. For example, you can specify source // type = cluster, source ID = my-cluster-1 and mycluster2, event categories @@ -329,7 +825,7 @@ func (c *Redshift) CreateEventSubscriptionRequest(input *CreateEventSubscription // send notifications for those ERROR events in the Availability and Backup // categories for the specified clusters. // -// If you specify both the source type and source IDs, such as source type +// If you specify both the source type and source IDs, such as source type // = cluster and source identifier = my-cluster-1, notifications will be sent // for all the cluster events for my-cluster-1. If you specify a source type // but do not specify a source identifier, you will receive notice of the events @@ -337,6 +833,58 @@ func (c *Redshift) CreateEventSubscriptionRequest(input *CreateEventSubscription // the SourceType nor the SourceIdentifier, you will be notified of events generated // from all Amazon Redshift sources belonging to your AWS account. You must // specify a source type if you specify a source 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 Redshift's +// API operation CreateEventSubscription for usage and error information. +// +// Returned Error Codes: +// * EventSubscriptionQuotaExceeded +// The request would exceed the allowed number of event subscriptions for this +// account. For information about increasing your quota, go to Limits in Amazon +// Redshift (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) +// in the Amazon Redshift Cluster Management Guide. +// +// * SubscriptionAlreadyExist +// There is already an existing event notification subscription with the specified +// name. +// +// * SNSInvalidTopic +// Amazon SNS has responded that there is a problem with the specified Amazon +// SNS topic. +// +// * SNSNoAuthorization +// You do not have permission to publish to the specified Amazon SNS topic. +// +// * SNSTopicArnNotFound +// An Amazon SNS topic with the specified Amazon Resource Name (ARN) does not +// exist. +// +// * SubscriptionEventIdNotFound +// An Amazon Redshift event with the specified event ID does not exist. +// +// * SubscriptionCategoryNotFound +// The value specified for the event category was not one of the allowed values, +// or it specified a category that does not apply to the specified source type. +// The allowed values are Configuration, Management, Monitoring, and Security. +// +// * SubscriptionSeverityNotFound +// The value specified for the event severity was not one of the allowed values, +// or it specified a severity that does not apply to the specified source type. +// The allowed values are ERROR and INFO. +// +// * SourceNotFound +// The specified Amazon Redshift event source could not be found. +// +// * TagLimitExceededFault +// The request exceeds the limit of 10 tags for the resource. +// +// * InvalidTagFault +// The tag is invalid. +// func (c *Redshift) CreateEventSubscription(input *CreateEventSubscriptionInput) (*CreateEventSubscriptionOutput, error) { req, out := c.CreateEventSubscriptionRequest(input) err := req.Send() @@ -345,7 +893,30 @@ func (c *Redshift) CreateEventSubscription(input *CreateEventSubscriptionInput) const opCreateHsmClientCertificate = "CreateHsmClientCertificate" -// CreateHsmClientCertificateRequest generates a request for the CreateHsmClientCertificate operation. +// CreateHsmClientCertificateRequest generates a "aws/request.Request" representing the +// client's request for the CreateHsmClientCertificate operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateHsmClientCertificate for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateHsmClientCertificate method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateHsmClientCertificateRequest method. +// req, resp := client.CreateHsmClientCertificateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) CreateHsmClientCertificateRequest(input *CreateHsmClientCertificateInput) (req *request.Request, output *CreateHsmClientCertificateOutput) { op := &request.Operation{ Name: opCreateHsmClientCertificate, @@ -363,6 +934,8 @@ func (c *Redshift) CreateHsmClientCertificateRequest(input *CreateHsmClientCerti return } +// CreateHsmClientCertificate API operation for Amazon Redshift. +// // Creates an HSM client certificate that an Amazon Redshift cluster will use // to connect to the client's HSM in order to store and retrieve the keys used // to encrypt the cluster databases. @@ -372,6 +945,30 @@ func (c *Redshift) CreateHsmClientCertificateRequest(input *CreateHsmClientCerti // that provides a cluster the information needed to store and use encryption // keys in the HSM. For more information, go to Hardware Security Modules (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-HSM.html) // in the Amazon Redshift Cluster Management 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 +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation CreateHsmClientCertificate for usage and error information. +// +// Returned Error Codes: +// * HsmClientCertificateAlreadyExistsFault +// There is already an existing Amazon Redshift HSM client certificate with +// the specified identifier. +// +// * HsmClientCertificateQuotaExceededFault +// The quota for HSM client certificates has been reached. For information about +// increasing your quota, go to Limits in Amazon Redshift (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) +// in the Amazon Redshift Cluster Management Guide. +// +// * TagLimitExceededFault +// The request exceeds the limit of 10 tags for the resource. +// +// * InvalidTagFault +// The tag is invalid. +// func (c *Redshift) CreateHsmClientCertificate(input *CreateHsmClientCertificateInput) (*CreateHsmClientCertificateOutput, error) { req, out := c.CreateHsmClientCertificateRequest(input) err := req.Send() @@ -380,7 +977,30 @@ func (c *Redshift) CreateHsmClientCertificate(input *CreateHsmClientCertificateI const opCreateHsmConfiguration = "CreateHsmConfiguration" -// CreateHsmConfigurationRequest generates a request for the CreateHsmConfiguration operation. +// CreateHsmConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the CreateHsmConfiguration operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateHsmConfiguration for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateHsmConfiguration method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateHsmConfigurationRequest method. +// req, resp := client.CreateHsmConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) CreateHsmConfigurationRequest(input *CreateHsmConfigurationInput) (req *request.Request, output *CreateHsmConfigurationOutput) { op := &request.Operation{ Name: opCreateHsmConfiguration, @@ -398,6 +1018,8 @@ func (c *Redshift) CreateHsmConfigurationRequest(input *CreateHsmConfigurationIn return } +// CreateHsmConfiguration API operation for Amazon Redshift. +// // Creates an HSM configuration that contains the information required by an // Amazon Redshift cluster to store and use database encryption keys in a Hardware // Security Module (HSM). After creating the HSM configuration, you can specify @@ -408,6 +1030,30 @@ func (c *Redshift) CreateHsmConfigurationRequest(input *CreateHsmConfigurationIn // client certificate. For more information, go to Hardware Security Modules // (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-HSM.html) in // the Amazon Redshift Cluster Management 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 +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation CreateHsmConfiguration for usage and error information. +// +// Returned Error Codes: +// * HsmConfigurationAlreadyExistsFault +// There is already an existing Amazon Redshift HSM configuration with the specified +// identifier. +// +// * HsmConfigurationQuotaExceededFault +// The quota for HSM configurations has been reached. For information about +// increasing your quota, go to Limits in Amazon Redshift (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) +// in the Amazon Redshift Cluster Management Guide. +// +// * TagLimitExceededFault +// The request exceeds the limit of 10 tags for the resource. +// +// * InvalidTagFault +// The tag is invalid. +// func (c *Redshift) CreateHsmConfiguration(input *CreateHsmConfigurationInput) (*CreateHsmConfigurationOutput, error) { req, out := c.CreateHsmConfigurationRequest(input) err := req.Send() @@ -416,7 +1062,30 @@ func (c *Redshift) CreateHsmConfiguration(input *CreateHsmConfigurationInput) (* const opCreateSnapshotCopyGrant = "CreateSnapshotCopyGrant" -// CreateSnapshotCopyGrantRequest generates a request for the CreateSnapshotCopyGrant operation. +// CreateSnapshotCopyGrantRequest generates a "aws/request.Request" representing the +// client's request for the CreateSnapshotCopyGrant operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateSnapshotCopyGrant for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateSnapshotCopyGrant method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateSnapshotCopyGrantRequest method. +// req, resp := client.CreateSnapshotCopyGrantRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) CreateSnapshotCopyGrantRequest(input *CreateSnapshotCopyGrantInput) (req *request.Request, output *CreateSnapshotCopyGrantOutput) { op := &request.Operation{ Name: opCreateSnapshotCopyGrant, @@ -434,6 +1103,8 @@ func (c *Redshift) CreateSnapshotCopyGrantRequest(input *CreateSnapshotCopyGrant return } +// CreateSnapshotCopyGrant API operation for Amazon Redshift. +// // Creates a snapshot copy grant that permits Amazon Redshift to use a customer // master key (CMK) from AWS Key Management Service (AWS KMS) to encrypt copied // snapshots in a destination region. @@ -441,6 +1112,36 @@ func (c *Redshift) CreateSnapshotCopyGrantRequest(input *CreateSnapshotCopyGrant // For more information about managing snapshot copy grants, go to Amazon // Redshift Database Encryption (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html) // in the Amazon Redshift Cluster Management 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 +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation CreateSnapshotCopyGrant for usage and error information. +// +// Returned Error Codes: +// * SnapshotCopyGrantAlreadyExistsFault +// The snapshot copy grant can't be created because a grant with the same name +// already exists. +// +// * SnapshotCopyGrantQuotaExceededFault +// The AWS account has exceeded the maximum number of snapshot copy grants in +// this region. +// +// * LimitExceededFault +// The encryption key has exceeded its grant limit in AWS KMS. +// +// * TagLimitExceededFault +// The request exceeds the limit of 10 tags for the resource. +// +// * InvalidTagFault +// The tag is invalid. +// +// * DependentServiceRequestThrottlingFault +// The request cannot be completed because a dependent service is throttling +// requests made by Amazon Redshift on your behalf. Wait and retry the request. +// func (c *Redshift) CreateSnapshotCopyGrant(input *CreateSnapshotCopyGrantInput) (*CreateSnapshotCopyGrantOutput, error) { req, out := c.CreateSnapshotCopyGrantRequest(input) err := req.Send() @@ -449,7 +1150,30 @@ func (c *Redshift) CreateSnapshotCopyGrant(input *CreateSnapshotCopyGrantInput) const opCreateTags = "CreateTags" -// CreateTagsRequest generates a request for the CreateTags operation. +// CreateTagsRequest generates a "aws/request.Request" representing the +// client's request for the CreateTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateTagsRequest method. +// req, resp := client.CreateTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) { op := &request.Operation{ Name: opCreateTags, @@ -469,13 +1193,33 @@ func (c *Redshift) CreateTagsRequest(input *CreateTagsInput) (req *request.Reque return } +// CreateTags API operation for Amazon Redshift. +// // Adds one or more tags to a specified resource. // -// A resource can have up to 10 tags. If you try to create more than 10 tags +// A resource can have up to 10 tags. If you try to create more than 10 tags // for a resource, you will receive an error and the attempt will fail. // -// If you specify a key that already exists for the resource, the value for +// If you specify a key that already exists for the resource, the value for // that key will be updated with the new value. +// +// 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 Redshift's +// API operation CreateTags for usage and error information. +// +// Returned Error Codes: +// * TagLimitExceededFault +// The request exceeds the limit of 10 tags for the resource. +// +// * ResourceNotFoundFault +// The resource could not be found. +// +// * InvalidTagFault +// The tag is invalid. +// func (c *Redshift) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) { req, out := c.CreateTagsRequest(input) err := req.Send() @@ -484,7 +1228,30 @@ func (c *Redshift) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) const opDeleteCluster = "DeleteCluster" -// DeleteClusterRequest generates a request for the DeleteCluster operation. +// DeleteClusterRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCluster operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteCluster for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteCluster method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteClusterRequest method. +// req, resp := client.DeleteClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Request, output *DeleteClusterOutput) { op := &request.Operation{ Name: opDeleteCluster, @@ -502,23 +1269,48 @@ func (c *Redshift) DeleteClusterRequest(input *DeleteClusterInput) (req *request return } +// DeleteCluster API operation for Amazon Redshift. +// // Deletes a previously provisioned cluster. A successful response from the // web service indicates that the request was received correctly. Use DescribeClusters // to monitor the status of the deletion. The delete operation cannot be canceled // or reverted once submitted. For more information about managing clusters, // go to Amazon Redshift Clusters (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) -// in the Amazon Redshift Cluster Management Guide . +// in the Amazon Redshift Cluster Management Guide. // -// If you want to shut down the cluster and retain it for future use, set -// SkipFinalClusterSnapshot to false and specify a name for FinalClusterSnapshotIdentifier. -// You can later restore this snapshot to resume using the cluster. If a final -// cluster snapshot is requested, the status of the cluster will be "final-snapshot" -// while the snapshot is being taken, then it's "deleting" once Amazon Redshift -// begins deleting the cluster. +// If you want to shut down the cluster and retain it for future use, set SkipFinalClusterSnapshot +// to false and specify a name for FinalClusterSnapshotIdentifier. You can later +// restore this snapshot to resume using the cluster. If a final cluster snapshot +// is requested, the status of the cluster will be "final-snapshot" while the +// snapshot is being taken, then it's "deleting" once Amazon Redshift begins +// deleting the cluster. // // For more information about managing clusters, go to Amazon Redshift Clusters // (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) -// in the Amazon Redshift Cluster Management Guide . +// in the Amazon Redshift Cluster Management 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 +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation DeleteCluster for usage and error information. +// +// Returned Error Codes: +// * ClusterNotFound +// The ClusterIdentifier parameter does not refer to an existing cluster. +// +// * InvalidClusterState +// The specified cluster is not in the available state. +// +// * ClusterSnapshotAlreadyExists +// The value specified as a snapshot identifier is already used by an existing +// snapshot. +// +// * ClusterSnapshotQuotaExceeded +// The request would result in the user exceeding the allowed number of cluster +// snapshots. +// func (c *Redshift) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) { req, out := c.DeleteClusterRequest(input) err := req.Send() @@ -527,7 +1319,30 @@ func (c *Redshift) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutpu const opDeleteClusterParameterGroup = "DeleteClusterParameterGroup" -// DeleteClusterParameterGroupRequest generates a request for the DeleteClusterParameterGroup operation. +// DeleteClusterParameterGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteClusterParameterGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteClusterParameterGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteClusterParameterGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteClusterParameterGroupRequest method. +// req, resp := client.DeleteClusterParameterGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DeleteClusterParameterGroupRequest(input *DeleteClusterParameterGroupInput) (req *request.Request, output *DeleteClusterParameterGroupOutput) { op := &request.Operation{ Name: opDeleteClusterParameterGroup, @@ -547,8 +1362,28 @@ func (c *Redshift) DeleteClusterParameterGroupRequest(input *DeleteClusterParame return } -// Deletes a specified Amazon Redshift parameter group. You cannot delete a -// parameter group if it is associated with a cluster. +// DeleteClusterParameterGroup API operation for Amazon Redshift. +// +// Deletes a specified Amazon Redshift parameter group. +// +// You cannot delete a parameter group if it is associated with a cluster. +// +// 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 Redshift's +// API operation DeleteClusterParameterGroup for usage and error information. +// +// Returned Error Codes: +// * InvalidClusterParameterGroupState +// The cluster parameter group action can not be completed because another task +// is in progress that involves the parameter group. Wait a few moments and +// try the operation again. +// +// * ClusterParameterGroupNotFound +// The parameter group name does not refer to an existing parameter group. +// func (c *Redshift) DeleteClusterParameterGroup(input *DeleteClusterParameterGroupInput) (*DeleteClusterParameterGroupOutput, error) { req, out := c.DeleteClusterParameterGroupRequest(input) err := req.Send() @@ -557,7 +1392,30 @@ func (c *Redshift) DeleteClusterParameterGroup(input *DeleteClusterParameterGrou const opDeleteClusterSecurityGroup = "DeleteClusterSecurityGroup" -// DeleteClusterSecurityGroupRequest generates a request for the DeleteClusterSecurityGroup operation. +// DeleteClusterSecurityGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteClusterSecurityGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteClusterSecurityGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteClusterSecurityGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteClusterSecurityGroupRequest method. +// req, resp := client.DeleteClusterSecurityGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DeleteClusterSecurityGroupRequest(input *DeleteClusterSecurityGroupInput) (req *request.Request, output *DeleteClusterSecurityGroupOutput) { op := &request.Operation{ Name: opDeleteClusterSecurityGroup, @@ -577,12 +1435,32 @@ func (c *Redshift) DeleteClusterSecurityGroupRequest(input *DeleteClusterSecurit return } +// DeleteClusterSecurityGroup API operation for Amazon Redshift. +// // Deletes an Amazon Redshift security group. // -// You cannot delete a security group that is associated with any clusters. -// You cannot delete the default security group. For information about managing -// security groups, go to Amazon Redshift Cluster Security Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html) +// You cannot delete a security group that is associated with any clusters. +// You cannot delete the default security group. +// +// For information about managing security groups, go to Amazon Redshift +// Cluster Security Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html) // in the Amazon Redshift Cluster Management 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 +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation DeleteClusterSecurityGroup for usage and error information. +// +// Returned Error Codes: +// * InvalidClusterSecurityGroupState +// The state of the cluster security group is not available. +// +// * ClusterSecurityGroupNotFound +// The cluster security group name does not refer to an existing cluster security +// group. +// func (c *Redshift) DeleteClusterSecurityGroup(input *DeleteClusterSecurityGroupInput) (*DeleteClusterSecurityGroupOutput, error) { req, out := c.DeleteClusterSecurityGroupRequest(input) err := req.Send() @@ -591,7 +1469,30 @@ func (c *Redshift) DeleteClusterSecurityGroup(input *DeleteClusterSecurityGroupI const opDeleteClusterSnapshot = "DeleteClusterSnapshot" -// DeleteClusterSnapshotRequest generates a request for the DeleteClusterSnapshot operation. +// DeleteClusterSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the DeleteClusterSnapshot operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteClusterSnapshot for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteClusterSnapshot method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteClusterSnapshotRequest method. +// req, resp := client.DeleteClusterSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DeleteClusterSnapshotRequest(input *DeleteClusterSnapshotInput) (req *request.Request, output *DeleteClusterSnapshotOutput) { op := &request.Operation{ Name: opDeleteClusterSnapshot, @@ -609,14 +1510,32 @@ func (c *Redshift) DeleteClusterSnapshotRequest(input *DeleteClusterSnapshotInpu return } +// DeleteClusterSnapshot API operation for Amazon Redshift. +// // Deletes the specified manual snapshot. The snapshot must be in the available // state, with no other users authorized to access the snapshot. // -// Unlike automated snapshots, manual snapshots are retained even after you +// Unlike automated snapshots, manual snapshots are retained even after you // delete your cluster. Amazon Redshift does not delete your manual snapshots. // You must delete manual snapshot explicitly to avoid getting charged. If other // accounts are authorized to access the snapshot, you must revoke all of the // authorizations before you can delete the snapshot. +// +// 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 Redshift's +// API operation DeleteClusterSnapshot for usage and error information. +// +// Returned Error Codes: +// * InvalidClusterSnapshotState +// The specified cluster snapshot is not in the available state, or other accounts +// are authorized to access the snapshot. +// +// * ClusterSnapshotNotFound +// The snapshot identifier does not refer to an existing cluster snapshot. +// func (c *Redshift) DeleteClusterSnapshot(input *DeleteClusterSnapshotInput) (*DeleteClusterSnapshotOutput, error) { req, out := c.DeleteClusterSnapshotRequest(input) err := req.Send() @@ -625,7 +1544,30 @@ func (c *Redshift) DeleteClusterSnapshot(input *DeleteClusterSnapshotInput) (*De const opDeleteClusterSubnetGroup = "DeleteClusterSubnetGroup" -// DeleteClusterSubnetGroupRequest generates a request for the DeleteClusterSubnetGroup operation. +// DeleteClusterSubnetGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteClusterSubnetGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteClusterSubnetGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteClusterSubnetGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteClusterSubnetGroupRequest method. +// req, resp := client.DeleteClusterSubnetGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DeleteClusterSubnetGroupRequest(input *DeleteClusterSubnetGroupInput) (req *request.Request, output *DeleteClusterSubnetGroupOutput) { op := &request.Operation{ Name: opDeleteClusterSubnetGroup, @@ -645,7 +1587,28 @@ func (c *Redshift) DeleteClusterSubnetGroupRequest(input *DeleteClusterSubnetGro return } +// DeleteClusterSubnetGroup API operation for Amazon Redshift. +// // Deletes the specified cluster subnet group. +// +// 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 Redshift's +// API operation DeleteClusterSubnetGroup for usage and error information. +// +// Returned Error Codes: +// * InvalidClusterSubnetGroupStateFault +// The cluster subnet group cannot be deleted because it is in use. +// +// * InvalidClusterSubnetStateFault +// The state of the subnet is invalid. +// +// * ClusterSubnetGroupNotFoundFault +// The cluster subnet group name does not refer to an existing cluster subnet +// group. +// func (c *Redshift) DeleteClusterSubnetGroup(input *DeleteClusterSubnetGroupInput) (*DeleteClusterSubnetGroupOutput, error) { req, out := c.DeleteClusterSubnetGroupRequest(input) err := req.Send() @@ -654,7 +1617,30 @@ func (c *Redshift) DeleteClusterSubnetGroup(input *DeleteClusterSubnetGroupInput const opDeleteEventSubscription = "DeleteEventSubscription" -// DeleteEventSubscriptionRequest generates a request for the DeleteEventSubscription operation. +// DeleteEventSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteEventSubscription operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteEventSubscription for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteEventSubscription method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteEventSubscriptionRequest method. +// req, resp := client.DeleteEventSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DeleteEventSubscriptionRequest(input *DeleteEventSubscriptionInput) (req *request.Request, output *DeleteEventSubscriptionOutput) { op := &request.Operation{ Name: opDeleteEventSubscription, @@ -674,7 +1660,26 @@ func (c *Redshift) DeleteEventSubscriptionRequest(input *DeleteEventSubscription return } +// DeleteEventSubscription API operation for Amazon Redshift. +// // Deletes an Amazon Redshift event notification subscription. +// +// 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 Redshift's +// API operation DeleteEventSubscription for usage and error information. +// +// Returned Error Codes: +// * SubscriptionNotFound +// An Amazon Redshift event notification subscription with the specified name +// does not exist. +// +// * InvalidSubscriptionStateFault +// The subscription request is invalid because it is a duplicate request. This +// subscription request is already in progress. +// func (c *Redshift) DeleteEventSubscription(input *DeleteEventSubscriptionInput) (*DeleteEventSubscriptionOutput, error) { req, out := c.DeleteEventSubscriptionRequest(input) err := req.Send() @@ -683,7 +1688,30 @@ func (c *Redshift) DeleteEventSubscription(input *DeleteEventSubscriptionInput) const opDeleteHsmClientCertificate = "DeleteHsmClientCertificate" -// DeleteHsmClientCertificateRequest generates a request for the DeleteHsmClientCertificate operation. +// DeleteHsmClientCertificateRequest generates a "aws/request.Request" representing the +// client's request for the DeleteHsmClientCertificate operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteHsmClientCertificate for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteHsmClientCertificate method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteHsmClientCertificateRequest method. +// req, resp := client.DeleteHsmClientCertificateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DeleteHsmClientCertificateRequest(input *DeleteHsmClientCertificateInput) (req *request.Request, output *DeleteHsmClientCertificateOutput) { op := &request.Operation{ Name: opDeleteHsmClientCertificate, @@ -703,7 +1731,25 @@ func (c *Redshift) DeleteHsmClientCertificateRequest(input *DeleteHsmClientCerti return } +// DeleteHsmClientCertificate API operation for Amazon Redshift. +// // Deletes the specified HSM client certificate. +// +// 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 Redshift's +// API operation DeleteHsmClientCertificate for usage and error information. +// +// Returned Error Codes: +// * InvalidHsmClientCertificateStateFault +// The specified HSM client certificate is not in the available state, or it +// is still in use by one or more Amazon Redshift clusters. +// +// * HsmClientCertificateNotFoundFault +// There is no Amazon Redshift HSM client certificate with the specified identifier. +// func (c *Redshift) DeleteHsmClientCertificate(input *DeleteHsmClientCertificateInput) (*DeleteHsmClientCertificateOutput, error) { req, out := c.DeleteHsmClientCertificateRequest(input) err := req.Send() @@ -712,7 +1758,30 @@ func (c *Redshift) DeleteHsmClientCertificate(input *DeleteHsmClientCertificateI const opDeleteHsmConfiguration = "DeleteHsmConfiguration" -// DeleteHsmConfigurationRequest generates a request for the DeleteHsmConfiguration operation. +// DeleteHsmConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteHsmConfiguration operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteHsmConfiguration for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteHsmConfiguration method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteHsmConfigurationRequest method. +// req, resp := client.DeleteHsmConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DeleteHsmConfigurationRequest(input *DeleteHsmConfigurationInput) (req *request.Request, output *DeleteHsmConfigurationOutput) { op := &request.Operation{ Name: opDeleteHsmConfiguration, @@ -732,7 +1801,25 @@ func (c *Redshift) DeleteHsmConfigurationRequest(input *DeleteHsmConfigurationIn return } +// DeleteHsmConfiguration API operation for Amazon Redshift. +// // Deletes the specified Amazon Redshift HSM configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation DeleteHsmConfiguration for usage and error information. +// +// Returned Error Codes: +// * InvalidHsmConfigurationStateFault +// The specified HSM configuration is not in the available state, or it is still +// in use by one or more Amazon Redshift clusters. +// +// * HsmConfigurationNotFoundFault +// There is no Amazon Redshift HSM configuration with the specified identifier. +// func (c *Redshift) DeleteHsmConfiguration(input *DeleteHsmConfigurationInput) (*DeleteHsmConfigurationOutput, error) { req, out := c.DeleteHsmConfigurationRequest(input) err := req.Send() @@ -741,7 +1828,30 @@ func (c *Redshift) DeleteHsmConfiguration(input *DeleteHsmConfigurationInput) (* const opDeleteSnapshotCopyGrant = "DeleteSnapshotCopyGrant" -// DeleteSnapshotCopyGrantRequest generates a request for the DeleteSnapshotCopyGrant operation. +// DeleteSnapshotCopyGrantRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSnapshotCopyGrant operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteSnapshotCopyGrant for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteSnapshotCopyGrant method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteSnapshotCopyGrantRequest method. +// req, resp := client.DeleteSnapshotCopyGrantRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DeleteSnapshotCopyGrantRequest(input *DeleteSnapshotCopyGrantInput) (req *request.Request, output *DeleteSnapshotCopyGrantOutput) { op := &request.Operation{ Name: opDeleteSnapshotCopyGrant, @@ -761,7 +1871,26 @@ func (c *Redshift) DeleteSnapshotCopyGrantRequest(input *DeleteSnapshotCopyGrant return } +// DeleteSnapshotCopyGrant API operation for Amazon Redshift. +// // Deletes the specified snapshot copy grant. +// +// 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 Redshift's +// API operation DeleteSnapshotCopyGrant for usage and error information. +// +// Returned Error Codes: +// * InvalidSnapshotCopyGrantStateFault +// The snapshot copy grant can't be deleted because it is used by one or more +// clusters. +// +// * SnapshotCopyGrantNotFoundFault +// The specified snapshot copy grant can't be found. Make sure that the name +// is typed correctly and that the grant exists in the destination region. +// func (c *Redshift) DeleteSnapshotCopyGrant(input *DeleteSnapshotCopyGrantInput) (*DeleteSnapshotCopyGrantOutput, error) { req, out := c.DeleteSnapshotCopyGrantRequest(input) err := req.Send() @@ -770,7 +1899,30 @@ func (c *Redshift) DeleteSnapshotCopyGrant(input *DeleteSnapshotCopyGrantInput) const opDeleteTags = "DeleteTags" -// DeleteTagsRequest generates a request for the DeleteTags operation. +// DeleteTagsRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteTagsRequest method. +// req, resp := client.DeleteTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) { op := &request.Operation{ Name: opDeleteTags, @@ -790,8 +1942,25 @@ func (c *Redshift) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Reque return } +// DeleteTags API operation for Amazon Redshift. +// // Deletes a tag or tags from a resource. You must provide the ARN of the resource // from which you want to delete the tag or tags. +// +// 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 Redshift's +// API operation DeleteTags for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundFault +// The resource could not be found. +// +// * InvalidTagFault +// The tag is invalid. +// func (c *Redshift) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) { req, out := c.DeleteTagsRequest(input) err := req.Send() @@ -800,7 +1969,30 @@ func (c *Redshift) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) const opDescribeClusterParameterGroups = "DescribeClusterParameterGroups" -// DescribeClusterParameterGroupsRequest generates a request for the DescribeClusterParameterGroups operation. +// DescribeClusterParameterGroupsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeClusterParameterGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeClusterParameterGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeClusterParameterGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeClusterParameterGroupsRequest method. +// req, resp := client.DescribeClusterParameterGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DescribeClusterParameterGroupsRequest(input *DescribeClusterParameterGroupsInput) (req *request.Request, output *DescribeClusterParameterGroupsOutput) { op := &request.Operation{ Name: opDescribeClusterParameterGroups, @@ -824,6 +2016,8 @@ func (c *Redshift) DescribeClusterParameterGroupsRequest(input *DescribeClusterP return } +// DescribeClusterParameterGroups API operation for Amazon Redshift. +// // Returns a list of Amazon Redshift parameter groups, including parameter groups // you created and the default parameter group. For each parameter group, the // response includes the parameter group name, description, and parameter group @@ -843,12 +2037,44 @@ func (c *Redshift) DescribeClusterParameterGroupsRequest(input *DescribeClusterP // If both tag keys and values are omitted from the request, parameter groups // are returned regardless of whether they have tag keys or values associated // with them. +// +// 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 Redshift's +// API operation DescribeClusterParameterGroups for usage and error information. +// +// Returned Error Codes: +// * ClusterParameterGroupNotFound +// The parameter group name does not refer to an existing parameter group. +// +// * InvalidTagFault +// The tag is invalid. +// func (c *Redshift) DescribeClusterParameterGroups(input *DescribeClusterParameterGroupsInput) (*DescribeClusterParameterGroupsOutput, error) { req, out := c.DescribeClusterParameterGroupsRequest(input) err := req.Send() return out, err } +// DescribeClusterParameterGroupsPages iterates over the pages of a DescribeClusterParameterGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeClusterParameterGroups 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 DescribeClusterParameterGroups operation. +// pageNum := 0 +// err := client.DescribeClusterParameterGroupsPages(params, +// func(page *DescribeClusterParameterGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *Redshift) DescribeClusterParameterGroupsPages(input *DescribeClusterParameterGroupsInput, fn func(p *DescribeClusterParameterGroupsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeClusterParameterGroupsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -859,7 +2085,30 @@ func (c *Redshift) DescribeClusterParameterGroupsPages(input *DescribeClusterPar const opDescribeClusterParameters = "DescribeClusterParameters" -// DescribeClusterParametersRequest generates a request for the DescribeClusterParameters operation. +// DescribeClusterParametersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeClusterParameters operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeClusterParameters for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeClusterParameters method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeClusterParametersRequest method. +// req, resp := client.DescribeClusterParametersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DescribeClusterParametersRequest(input *DescribeClusterParametersInput) (req *request.Request, output *DescribeClusterParametersOutput) { op := &request.Operation{ Name: opDescribeClusterParameters, @@ -883,6 +2132,8 @@ func (c *Redshift) DescribeClusterParametersRequest(input *DescribeClusterParame return } +// DescribeClusterParameters API operation for Amazon Redshift. +// // Returns a detailed list of parameters contained within the specified Amazon // Redshift parameter group. For each parameter the response includes information // such as parameter name, description, data type, value, whether the parameter @@ -895,12 +2146,41 @@ func (c *Redshift) DescribeClusterParametersRequest(input *DescribeClusterParame // For more information about parameters and parameter groups, go to Amazon // Redshift Parameter Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html) // in the Amazon Redshift Cluster Management 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 +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation DescribeClusterParameters for usage and error information. +// +// Returned Error Codes: +// * ClusterParameterGroupNotFound +// The parameter group name does not refer to an existing parameter group. +// func (c *Redshift) DescribeClusterParameters(input *DescribeClusterParametersInput) (*DescribeClusterParametersOutput, error) { req, out := c.DescribeClusterParametersRequest(input) err := req.Send() return out, err } +// DescribeClusterParametersPages iterates over the pages of a DescribeClusterParameters operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeClusterParameters 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 DescribeClusterParameters operation. +// pageNum := 0 +// err := client.DescribeClusterParametersPages(params, +// func(page *DescribeClusterParametersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *Redshift) DescribeClusterParametersPages(input *DescribeClusterParametersInput, fn func(p *DescribeClusterParametersOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeClusterParametersRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -911,7 +2191,30 @@ func (c *Redshift) DescribeClusterParametersPages(input *DescribeClusterParamete const opDescribeClusterSecurityGroups = "DescribeClusterSecurityGroups" -// DescribeClusterSecurityGroupsRequest generates a request for the DescribeClusterSecurityGroups operation. +// DescribeClusterSecurityGroupsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeClusterSecurityGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeClusterSecurityGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeClusterSecurityGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeClusterSecurityGroupsRequest method. +// req, resp := client.DescribeClusterSecurityGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DescribeClusterSecurityGroupsRequest(input *DescribeClusterSecurityGroupsInput) (req *request.Request, output *DescribeClusterSecurityGroupsOutput) { op := &request.Operation{ Name: opDescribeClusterSecurityGroups, @@ -935,6 +2238,8 @@ func (c *Redshift) DescribeClusterSecurityGroupsRequest(input *DescribeClusterSe return } +// DescribeClusterSecurityGroups API operation for Amazon Redshift. +// // Returns information about Amazon Redshift security groups. If the name of // a security group is specified, the response will contain only information // about only that security group. @@ -952,12 +2257,45 @@ func (c *Redshift) DescribeClusterSecurityGroupsRequest(input *DescribeClusterSe // If both tag keys and values are omitted from the request, security groups // are returned regardless of whether they have tag keys or values associated // with them. +// +// 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 Redshift's +// API operation DescribeClusterSecurityGroups for usage and error information. +// +// Returned Error Codes: +// * ClusterSecurityGroupNotFound +// The cluster security group name does not refer to an existing cluster security +// group. +// +// * InvalidTagFault +// The tag is invalid. +// func (c *Redshift) DescribeClusterSecurityGroups(input *DescribeClusterSecurityGroupsInput) (*DescribeClusterSecurityGroupsOutput, error) { req, out := c.DescribeClusterSecurityGroupsRequest(input) err := req.Send() return out, err } +// DescribeClusterSecurityGroupsPages iterates over the pages of a DescribeClusterSecurityGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeClusterSecurityGroups 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 DescribeClusterSecurityGroups operation. +// pageNum := 0 +// err := client.DescribeClusterSecurityGroupsPages(params, +// func(page *DescribeClusterSecurityGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *Redshift) DescribeClusterSecurityGroupsPages(input *DescribeClusterSecurityGroupsInput, fn func(p *DescribeClusterSecurityGroupsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeClusterSecurityGroupsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -968,7 +2306,30 @@ func (c *Redshift) DescribeClusterSecurityGroupsPages(input *DescribeClusterSecu const opDescribeClusterSnapshots = "DescribeClusterSnapshots" -// DescribeClusterSnapshotsRequest generates a request for the DescribeClusterSnapshots operation. +// DescribeClusterSnapshotsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeClusterSnapshots operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeClusterSnapshots for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeClusterSnapshots method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeClusterSnapshotsRequest method. +// req, resp := client.DescribeClusterSnapshotsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DescribeClusterSnapshotsRequest(input *DescribeClusterSnapshotsInput) (req *request.Request, output *DescribeClusterSnapshotsOutput) { op := &request.Operation{ Name: opDescribeClusterSnapshots, @@ -992,6 +2353,8 @@ func (c *Redshift) DescribeClusterSnapshotsRequest(input *DescribeClusterSnapsho return } +// DescribeClusterSnapshots API operation for Amazon Redshift. +// // Returns one or more snapshot objects, which contain metadata about your cluster // snapshots. By default, this operation returns information about all snapshots // of all clusters that are owned by you AWS customer account. No information @@ -1008,12 +2371,44 @@ func (c *Redshift) DescribeClusterSnapshotsRequest(input *DescribeClusterSnapsho // If both tag keys and values are omitted from the request, snapshots are // returned regardless of whether they have tag keys or values associated with // them. +// +// 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 Redshift's +// API operation DescribeClusterSnapshots for usage and error information. +// +// Returned Error Codes: +// * ClusterSnapshotNotFound +// The snapshot identifier does not refer to an existing cluster snapshot. +// +// * InvalidTagFault +// The tag is invalid. +// func (c *Redshift) DescribeClusterSnapshots(input *DescribeClusterSnapshotsInput) (*DescribeClusterSnapshotsOutput, error) { req, out := c.DescribeClusterSnapshotsRequest(input) err := req.Send() return out, err } +// DescribeClusterSnapshotsPages iterates over the pages of a DescribeClusterSnapshots operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeClusterSnapshots 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 DescribeClusterSnapshots operation. +// pageNum := 0 +// err := client.DescribeClusterSnapshotsPages(params, +// func(page *DescribeClusterSnapshotsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *Redshift) DescribeClusterSnapshotsPages(input *DescribeClusterSnapshotsInput, fn func(p *DescribeClusterSnapshotsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeClusterSnapshotsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1024,7 +2419,30 @@ func (c *Redshift) DescribeClusterSnapshotsPages(input *DescribeClusterSnapshots const opDescribeClusterSubnetGroups = "DescribeClusterSubnetGroups" -// DescribeClusterSubnetGroupsRequest generates a request for the DescribeClusterSubnetGroups operation. +// DescribeClusterSubnetGroupsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeClusterSubnetGroups operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeClusterSubnetGroups for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeClusterSubnetGroups method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeClusterSubnetGroupsRequest method. +// req, resp := client.DescribeClusterSubnetGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DescribeClusterSubnetGroupsRequest(input *DescribeClusterSubnetGroupsInput) (req *request.Request, output *DescribeClusterSubnetGroupsOutput) { op := &request.Operation{ Name: opDescribeClusterSubnetGroups, @@ -1048,6 +2466,8 @@ func (c *Redshift) DescribeClusterSubnetGroupsRequest(input *DescribeClusterSubn return } +// DescribeClusterSubnetGroups API operation for Amazon Redshift. +// // Returns one or more cluster subnet group objects, which contain metadata // about your cluster subnet groups. By default, this operation returns information // about all cluster subnet groups that are defined in you AWS account. @@ -1061,12 +2481,45 @@ func (c *Redshift) DescribeClusterSubnetGroupsRequest(input *DescribeClusterSubn // If both tag keys and values are omitted from the request, subnet groups // are returned regardless of whether they have tag keys or values associated // with them. +// +// 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 Redshift's +// API operation DescribeClusterSubnetGroups for usage and error information. +// +// Returned Error Codes: +// * ClusterSubnetGroupNotFoundFault +// The cluster subnet group name does not refer to an existing cluster subnet +// group. +// +// * InvalidTagFault +// The tag is invalid. +// func (c *Redshift) DescribeClusterSubnetGroups(input *DescribeClusterSubnetGroupsInput) (*DescribeClusterSubnetGroupsOutput, error) { req, out := c.DescribeClusterSubnetGroupsRequest(input) err := req.Send() return out, err } +// DescribeClusterSubnetGroupsPages iterates over the pages of a DescribeClusterSubnetGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeClusterSubnetGroups 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 DescribeClusterSubnetGroups operation. +// pageNum := 0 +// err := client.DescribeClusterSubnetGroupsPages(params, +// func(page *DescribeClusterSubnetGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *Redshift) DescribeClusterSubnetGroupsPages(input *DescribeClusterSubnetGroupsInput, fn func(p *DescribeClusterSubnetGroupsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeClusterSubnetGroupsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1077,7 +2530,30 @@ func (c *Redshift) DescribeClusterSubnetGroupsPages(input *DescribeClusterSubnet const opDescribeClusterVersions = "DescribeClusterVersions" -// DescribeClusterVersionsRequest generates a request for the DescribeClusterVersions operation. +// DescribeClusterVersionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeClusterVersions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeClusterVersions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeClusterVersions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeClusterVersionsRequest method. +// req, resp := client.DescribeClusterVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DescribeClusterVersionsRequest(input *DescribeClusterVersionsInput) (req *request.Request, output *DescribeClusterVersionsOutput) { op := &request.Operation{ Name: opDescribeClusterVersions, @@ -1101,17 +2577,43 @@ func (c *Redshift) DescribeClusterVersionsRequest(input *DescribeClusterVersions return } +// DescribeClusterVersions API operation for Amazon Redshift. +// // Returns descriptions of the available Amazon Redshift cluster versions. You // can call this operation even before creating any clusters to learn more about // the Amazon Redshift versions. For more information about managing clusters, // go to Amazon Redshift Clusters (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) -// in the Amazon Redshift Cluster Management Guide +// in the Amazon Redshift Cluster Management 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 +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation DescribeClusterVersions for usage and error information. func (c *Redshift) DescribeClusterVersions(input *DescribeClusterVersionsInput) (*DescribeClusterVersionsOutput, error) { req, out := c.DescribeClusterVersionsRequest(input) err := req.Send() return out, err } +// DescribeClusterVersionsPages iterates over the pages of a DescribeClusterVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeClusterVersions 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 DescribeClusterVersions operation. +// pageNum := 0 +// err := client.DescribeClusterVersionsPages(params, +// func(page *DescribeClusterVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *Redshift) DescribeClusterVersionsPages(input *DescribeClusterVersionsInput, fn func(p *DescribeClusterVersionsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeClusterVersionsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1122,7 +2624,30 @@ func (c *Redshift) DescribeClusterVersionsPages(input *DescribeClusterVersionsIn const opDescribeClusters = "DescribeClusters" -// DescribeClustersRequest generates a request for the DescribeClusters operation. +// DescribeClustersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeClusters operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeClusters for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeClusters method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeClustersRequest method. +// req, resp := client.DescribeClustersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DescribeClustersRequest(input *DescribeClustersInput) (req *request.Request, output *DescribeClustersOutput) { op := &request.Operation{ Name: opDescribeClusters, @@ -1146,11 +2671,13 @@ func (c *Redshift) DescribeClustersRequest(input *DescribeClustersInput) (req *r return } +// DescribeClusters API operation for Amazon Redshift. +// // Returns properties of provisioned clusters including general cluster properties, // cluster database properties, maintenance and backup properties, and security // and access properties. This operation supports pagination. For more information // about managing clusters, go to Amazon Redshift Clusters (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) -// in the Amazon Redshift Cluster Management Guide . +// in the Amazon Redshift Cluster Management Guide. // // If you specify both tag keys and tag values in the same request, Amazon // Redshift returns all clusters that match any combination of the specified @@ -1160,12 +2687,44 @@ func (c *Redshift) DescribeClustersRequest(input *DescribeClustersInput) (req *r // // If both tag keys and values are omitted from the request, clusters are returned // regardless of whether they have tag keys or values associated with them. +// +// 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 Redshift's +// API operation DescribeClusters for usage and error information. +// +// Returned Error Codes: +// * ClusterNotFound +// The ClusterIdentifier parameter does not refer to an existing cluster. +// +// * InvalidTagFault +// The tag is invalid. +// func (c *Redshift) DescribeClusters(input *DescribeClustersInput) (*DescribeClustersOutput, error) { req, out := c.DescribeClustersRequest(input) err := req.Send() return out, err } +// DescribeClustersPages iterates over the pages of a DescribeClusters operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeClusters 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 DescribeClusters operation. +// pageNum := 0 +// err := client.DescribeClustersPages(params, +// func(page *DescribeClustersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *Redshift) DescribeClustersPages(input *DescribeClustersInput, fn func(p *DescribeClustersOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeClustersRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1176,7 +2735,30 @@ func (c *Redshift) DescribeClustersPages(input *DescribeClustersInput, fn func(p const opDescribeDefaultClusterParameters = "DescribeDefaultClusterParameters" -// DescribeDefaultClusterParametersRequest generates a request for the DescribeDefaultClusterParameters operation. +// DescribeDefaultClusterParametersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDefaultClusterParameters operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeDefaultClusterParameters for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeDefaultClusterParameters method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeDefaultClusterParametersRequest method. +// req, resp := client.DescribeDefaultClusterParametersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DescribeDefaultClusterParametersRequest(input *DescribeDefaultClusterParametersInput) (req *request.Request, output *DescribeDefaultClusterParametersOutput) { op := &request.Operation{ Name: opDescribeDefaultClusterParameters, @@ -1200,17 +2782,43 @@ func (c *Redshift) DescribeDefaultClusterParametersRequest(input *DescribeDefaul return } +// DescribeDefaultClusterParameters API operation for Amazon Redshift. +// // Returns a list of parameter settings for the specified parameter group family. // // For more information about parameters and parameter groups, go to Amazon // Redshift Parameter Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html) // in the Amazon Redshift Cluster Management 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 +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation DescribeDefaultClusterParameters for usage and error information. func (c *Redshift) DescribeDefaultClusterParameters(input *DescribeDefaultClusterParametersInput) (*DescribeDefaultClusterParametersOutput, error) { req, out := c.DescribeDefaultClusterParametersRequest(input) err := req.Send() return out, err } +// DescribeDefaultClusterParametersPages iterates over the pages of a DescribeDefaultClusterParameters operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeDefaultClusterParameters 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 DescribeDefaultClusterParameters operation. +// pageNum := 0 +// err := client.DescribeDefaultClusterParametersPages(params, +// func(page *DescribeDefaultClusterParametersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *Redshift) DescribeDefaultClusterParametersPages(input *DescribeDefaultClusterParametersInput, fn func(p *DescribeDefaultClusterParametersOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeDefaultClusterParametersRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1221,7 +2829,30 @@ func (c *Redshift) DescribeDefaultClusterParametersPages(input *DescribeDefaultC const opDescribeEventCategories = "DescribeEventCategories" -// DescribeEventCategoriesRequest generates a request for the DescribeEventCategories operation. +// DescribeEventCategoriesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEventCategories operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeEventCategories for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeEventCategories method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeEventCategoriesRequest method. +// req, resp := client.DescribeEventCategoriesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DescribeEventCategoriesRequest(input *DescribeEventCategoriesInput) (req *request.Request, output *DescribeEventCategoriesOutput) { op := &request.Operation{ Name: opDescribeEventCategories, @@ -1239,9 +2870,18 @@ func (c *Redshift) DescribeEventCategoriesRequest(input *DescribeEventCategories return } +// DescribeEventCategories API operation for Amazon Redshift. +// // Displays a list of event categories for all event source types, or for a // specified source type. For a list of the event categories and source types, // go to Amazon Redshift Event Notifications (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-event-notifications.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. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation DescribeEventCategories for usage and error information. func (c *Redshift) DescribeEventCategories(input *DescribeEventCategoriesInput) (*DescribeEventCategoriesOutput, error) { req, out := c.DescribeEventCategoriesRequest(input) err := req.Send() @@ -1250,7 +2890,30 @@ func (c *Redshift) DescribeEventCategories(input *DescribeEventCategoriesInput) const opDescribeEventSubscriptions = "DescribeEventSubscriptions" -// DescribeEventSubscriptionsRequest generates a request for the DescribeEventSubscriptions operation. +// DescribeEventSubscriptionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEventSubscriptions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeEventSubscriptions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeEventSubscriptions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeEventSubscriptionsRequest method. +// req, resp := client.DescribeEventSubscriptionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DescribeEventSubscriptionsRequest(input *DescribeEventSubscriptionsInput) (req *request.Request, output *DescribeEventSubscriptionsOutput) { op := &request.Operation{ Name: opDescribeEventSubscriptions, @@ -1274,15 +2937,47 @@ func (c *Redshift) DescribeEventSubscriptionsRequest(input *DescribeEventSubscri return } +// DescribeEventSubscriptions API operation for Amazon Redshift. +// // Lists descriptions of all the Amazon Redshift event notifications subscription // for a customer account. If you specify a subscription name, lists the description // for that subscription. +// +// 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 Redshift's +// API operation DescribeEventSubscriptions for usage and error information. +// +// Returned Error Codes: +// * SubscriptionNotFound +// An Amazon Redshift event notification subscription with the specified name +// does not exist. +// func (c *Redshift) DescribeEventSubscriptions(input *DescribeEventSubscriptionsInput) (*DescribeEventSubscriptionsOutput, error) { req, out := c.DescribeEventSubscriptionsRequest(input) err := req.Send() return out, err } +// DescribeEventSubscriptionsPages iterates over the pages of a DescribeEventSubscriptions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeEventSubscriptions 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 DescribeEventSubscriptions operation. +// pageNum := 0 +// err := client.DescribeEventSubscriptionsPages(params, +// func(page *DescribeEventSubscriptionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *Redshift) DescribeEventSubscriptionsPages(input *DescribeEventSubscriptionsInput, fn func(p *DescribeEventSubscriptionsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeEventSubscriptionsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1293,7 +2988,30 @@ func (c *Redshift) DescribeEventSubscriptionsPages(input *DescribeEventSubscript const opDescribeEvents = "DescribeEvents" -// DescribeEventsRequest generates a request for the DescribeEvents operation. +// DescribeEventsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEvents operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeEvents for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeEvents method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeEventsRequest method. +// req, resp := client.DescribeEventsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) { op := &request.Operation{ Name: opDescribeEvents, @@ -1317,16 +3035,42 @@ func (c *Redshift) DescribeEventsRequest(input *DescribeEventsInput) (req *reque return } +// DescribeEvents API operation for Amazon Redshift. +// // Returns events related to clusters, security groups, snapshots, and parameter // groups for the past 14 days. Events specific to a particular cluster, security // group, snapshot or parameter group can be obtained by providing the name // as a parameter. By default, the past hour of events are returned. +// +// 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 Redshift's +// API operation DescribeEvents for usage and error information. func (c *Redshift) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) { req, out := c.DescribeEventsRequest(input) err := req.Send() return out, err } +// DescribeEventsPages iterates over the pages of a DescribeEvents operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeEvents 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 DescribeEvents operation. +// pageNum := 0 +// err := client.DescribeEventsPages(params, +// func(page *DescribeEventsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *Redshift) DescribeEventsPages(input *DescribeEventsInput, fn func(p *DescribeEventsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeEventsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1337,7 +3081,30 @@ func (c *Redshift) DescribeEventsPages(input *DescribeEventsInput, fn func(p *De const opDescribeHsmClientCertificates = "DescribeHsmClientCertificates" -// DescribeHsmClientCertificatesRequest generates a request for the DescribeHsmClientCertificates operation. +// DescribeHsmClientCertificatesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeHsmClientCertificates operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeHsmClientCertificates for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeHsmClientCertificates method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeHsmClientCertificatesRequest method. +// req, resp := client.DescribeHsmClientCertificatesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DescribeHsmClientCertificatesRequest(input *DescribeHsmClientCertificatesInput) (req *request.Request, output *DescribeHsmClientCertificatesOutput) { op := &request.Operation{ Name: opDescribeHsmClientCertificates, @@ -1361,6 +3128,8 @@ func (c *Redshift) DescribeHsmClientCertificatesRequest(input *DescribeHsmClient return } +// DescribeHsmClientCertificates API operation for Amazon Redshift. +// // Returns information about the specified HSM client certificate. If no certificate // ID is specified, returns information about all the HSM certificates owned // by your AWS customer account. @@ -1374,12 +3143,44 @@ func (c *Redshift) DescribeHsmClientCertificatesRequest(input *DescribeHsmClient // If both tag keys and values are omitted from the request, HSM client certificates // are returned regardless of whether they have tag keys or values associated // with them. +// +// 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 Redshift's +// API operation DescribeHsmClientCertificates for usage and error information. +// +// Returned Error Codes: +// * HsmClientCertificateNotFoundFault +// There is no Amazon Redshift HSM client certificate with the specified identifier. +// +// * InvalidTagFault +// The tag is invalid. +// func (c *Redshift) DescribeHsmClientCertificates(input *DescribeHsmClientCertificatesInput) (*DescribeHsmClientCertificatesOutput, error) { req, out := c.DescribeHsmClientCertificatesRequest(input) err := req.Send() return out, err } +// DescribeHsmClientCertificatesPages iterates over the pages of a DescribeHsmClientCertificates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeHsmClientCertificates 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 DescribeHsmClientCertificates operation. +// pageNum := 0 +// err := client.DescribeHsmClientCertificatesPages(params, +// func(page *DescribeHsmClientCertificatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *Redshift) DescribeHsmClientCertificatesPages(input *DescribeHsmClientCertificatesInput, fn func(p *DescribeHsmClientCertificatesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeHsmClientCertificatesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1390,7 +3191,30 @@ func (c *Redshift) DescribeHsmClientCertificatesPages(input *DescribeHsmClientCe const opDescribeHsmConfigurations = "DescribeHsmConfigurations" -// DescribeHsmConfigurationsRequest generates a request for the DescribeHsmConfigurations operation. +// DescribeHsmConfigurationsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeHsmConfigurations operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeHsmConfigurations for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeHsmConfigurations method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeHsmConfigurationsRequest method. +// req, resp := client.DescribeHsmConfigurationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DescribeHsmConfigurationsRequest(input *DescribeHsmConfigurationsInput) (req *request.Request, output *DescribeHsmConfigurationsOutput) { op := &request.Operation{ Name: opDescribeHsmConfigurations, @@ -1414,6 +3238,8 @@ func (c *Redshift) DescribeHsmConfigurationsRequest(input *DescribeHsmConfigurat return } +// DescribeHsmConfigurations API operation for Amazon Redshift. +// // Returns information about the specified Amazon Redshift HSM configuration. // If no configuration ID is specified, returns information about all the HSM // configurations owned by your AWS customer account. @@ -1427,12 +3253,44 @@ func (c *Redshift) DescribeHsmConfigurationsRequest(input *DescribeHsmConfigurat // If both tag keys and values are omitted from the request, HSM connections // are returned regardless of whether they have tag keys or values associated // with them. +// +// 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 Redshift's +// API operation DescribeHsmConfigurations for usage and error information. +// +// Returned Error Codes: +// * HsmConfigurationNotFoundFault +// There is no Amazon Redshift HSM configuration with the specified identifier. +// +// * InvalidTagFault +// The tag is invalid. +// func (c *Redshift) DescribeHsmConfigurations(input *DescribeHsmConfigurationsInput) (*DescribeHsmConfigurationsOutput, error) { req, out := c.DescribeHsmConfigurationsRequest(input) err := req.Send() return out, err } +// DescribeHsmConfigurationsPages iterates over the pages of a DescribeHsmConfigurations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeHsmConfigurations 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 DescribeHsmConfigurations operation. +// pageNum := 0 +// err := client.DescribeHsmConfigurationsPages(params, +// func(page *DescribeHsmConfigurationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *Redshift) DescribeHsmConfigurationsPages(input *DescribeHsmConfigurationsInput, fn func(p *DescribeHsmConfigurationsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeHsmConfigurationsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1443,7 +3301,30 @@ func (c *Redshift) DescribeHsmConfigurationsPages(input *DescribeHsmConfiguratio const opDescribeLoggingStatus = "DescribeLoggingStatus" -// DescribeLoggingStatusRequest generates a request for the DescribeLoggingStatus operation. +// DescribeLoggingStatusRequest generates a "aws/request.Request" representing the +// client's request for the DescribeLoggingStatus operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeLoggingStatus for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeLoggingStatus method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeLoggingStatusRequest method. +// req, resp := client.DescribeLoggingStatusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DescribeLoggingStatusRequest(input *DescribeLoggingStatusInput) (req *request.Request, output *LoggingStatus) { op := &request.Operation{ Name: opDescribeLoggingStatus, @@ -1461,8 +3342,22 @@ func (c *Redshift) DescribeLoggingStatusRequest(input *DescribeLoggingStatusInpu return } +// DescribeLoggingStatus API operation for Amazon Redshift. +// // Describes whether information, such as queries and connection attempts, is // being logged for the specified Amazon Redshift cluster. +// +// 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 Redshift's +// API operation DescribeLoggingStatus for usage and error information. +// +// Returned Error Codes: +// * ClusterNotFound +// The ClusterIdentifier parameter does not refer to an existing cluster. +// func (c *Redshift) DescribeLoggingStatus(input *DescribeLoggingStatusInput) (*LoggingStatus, error) { req, out := c.DescribeLoggingStatusRequest(input) err := req.Send() @@ -1471,7 +3366,30 @@ func (c *Redshift) DescribeLoggingStatus(input *DescribeLoggingStatusInput) (*Lo const opDescribeOrderableClusterOptions = "DescribeOrderableClusterOptions" -// DescribeOrderableClusterOptionsRequest generates a request for the DescribeOrderableClusterOptions operation. +// DescribeOrderableClusterOptionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeOrderableClusterOptions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeOrderableClusterOptions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeOrderableClusterOptions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeOrderableClusterOptionsRequest method. +// req, resp := client.DescribeOrderableClusterOptionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DescribeOrderableClusterOptionsRequest(input *DescribeOrderableClusterOptionsInput) (req *request.Request, output *DescribeOrderableClusterOptionsOutput) { op := &request.Operation{ Name: opDescribeOrderableClusterOptions, @@ -1495,6 +3413,8 @@ func (c *Redshift) DescribeOrderableClusterOptionsRequest(input *DescribeOrderab return } +// DescribeOrderableClusterOptions API operation for Amazon Redshift. +// // Returns a list of orderable cluster options. Before you create a new cluster // you can use this operation to find what options are available, such as the // EC2 Availability Zones (AZ) in the specific AWS region that you can specify, @@ -1503,13 +3423,37 @@ func (c *Redshift) DescribeOrderableClusterOptionsRequest(input *DescribeOrderab // list of cluster options in the specific region and specify values when creating // a cluster. For more information about managing clusters, go to Amazon Redshift // Clusters (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) -// in the Amazon Redshift Cluster Management Guide +// in the Amazon Redshift Cluster Management 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 +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation DescribeOrderableClusterOptions for usage and error information. func (c *Redshift) DescribeOrderableClusterOptions(input *DescribeOrderableClusterOptionsInput) (*DescribeOrderableClusterOptionsOutput, error) { req, out := c.DescribeOrderableClusterOptionsRequest(input) err := req.Send() return out, err } +// DescribeOrderableClusterOptionsPages iterates over the pages of a DescribeOrderableClusterOptions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeOrderableClusterOptions 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 DescribeOrderableClusterOptions operation. +// pageNum := 0 +// err := client.DescribeOrderableClusterOptionsPages(params, +// func(page *DescribeOrderableClusterOptionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *Redshift) DescribeOrderableClusterOptionsPages(input *DescribeOrderableClusterOptionsInput, fn func(p *DescribeOrderableClusterOptionsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeOrderableClusterOptionsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1520,7 +3464,30 @@ func (c *Redshift) DescribeOrderableClusterOptionsPages(input *DescribeOrderable const opDescribeReservedNodeOfferings = "DescribeReservedNodeOfferings" -// DescribeReservedNodeOfferingsRequest generates a request for the DescribeReservedNodeOfferings operation. +// DescribeReservedNodeOfferingsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeReservedNodeOfferings operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeReservedNodeOfferings for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeReservedNodeOfferings method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeReservedNodeOfferingsRequest method. +// req, resp := client.DescribeReservedNodeOfferingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DescribeReservedNodeOfferingsRequest(input *DescribeReservedNodeOfferingsInput) (req *request.Request, output *DescribeReservedNodeOfferingsOutput) { op := &request.Operation{ Name: opDescribeReservedNodeOfferings, @@ -1544,6 +3511,8 @@ func (c *Redshift) DescribeReservedNodeOfferingsRequest(input *DescribeReservedN return } +// DescribeReservedNodeOfferings API operation for Amazon Redshift. +// // Returns a list of the available reserved node offerings by Amazon Redshift // with their descriptions including the node type, the fixed and recurring // costs of reserving the node and duration the node will be reserved for you. @@ -1554,12 +3523,44 @@ func (c *Redshift) DescribeReservedNodeOfferingsRequest(input *DescribeReservedN // For more information about reserved node offerings, go to Purchasing Reserved // Nodes (http://docs.aws.amazon.com/redshift/latest/mgmt/purchase-reserved-node-instance.html) // in the Amazon Redshift Cluster Management 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 +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation DescribeReservedNodeOfferings for usage and error information. +// +// Returned Error Codes: +// * ReservedNodeOfferingNotFound +// Specified offering does not exist. +// +// * UnsupportedOperation +// The requested operation isn't supported. +// func (c *Redshift) DescribeReservedNodeOfferings(input *DescribeReservedNodeOfferingsInput) (*DescribeReservedNodeOfferingsOutput, error) { req, out := c.DescribeReservedNodeOfferingsRequest(input) err := req.Send() return out, err } +// DescribeReservedNodeOfferingsPages iterates over the pages of a DescribeReservedNodeOfferings operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeReservedNodeOfferings 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 DescribeReservedNodeOfferings operation. +// pageNum := 0 +// err := client.DescribeReservedNodeOfferingsPages(params, +// func(page *DescribeReservedNodeOfferingsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *Redshift) DescribeReservedNodeOfferingsPages(input *DescribeReservedNodeOfferingsInput, fn func(p *DescribeReservedNodeOfferingsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeReservedNodeOfferingsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1570,7 +3571,30 @@ func (c *Redshift) DescribeReservedNodeOfferingsPages(input *DescribeReservedNod const opDescribeReservedNodes = "DescribeReservedNodes" -// DescribeReservedNodesRequest generates a request for the DescribeReservedNodes operation. +// DescribeReservedNodesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeReservedNodes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeReservedNodes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeReservedNodes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeReservedNodesRequest method. +// req, resp := client.DescribeReservedNodesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DescribeReservedNodesRequest(input *DescribeReservedNodesInput) (req *request.Request, output *DescribeReservedNodesOutput) { op := &request.Operation{ Name: opDescribeReservedNodes, @@ -1594,13 +3618,44 @@ func (c *Redshift) DescribeReservedNodesRequest(input *DescribeReservedNodesInpu return } +// DescribeReservedNodes API operation for Amazon Redshift. +// // Returns the descriptions of the reserved nodes. +// +// 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 Redshift's +// API operation DescribeReservedNodes for usage and error information. +// +// Returned Error Codes: +// * ReservedNodeNotFound +// The specified reserved compute node not found. +// func (c *Redshift) DescribeReservedNodes(input *DescribeReservedNodesInput) (*DescribeReservedNodesOutput, error) { req, out := c.DescribeReservedNodesRequest(input) err := req.Send() return out, err } +// DescribeReservedNodesPages iterates over the pages of a DescribeReservedNodes operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeReservedNodes 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 DescribeReservedNodes operation. +// pageNum := 0 +// err := client.DescribeReservedNodesPages(params, +// func(page *DescribeReservedNodesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *Redshift) DescribeReservedNodesPages(input *DescribeReservedNodesInput, fn func(p *DescribeReservedNodesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeReservedNodesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1611,7 +3666,30 @@ func (c *Redshift) DescribeReservedNodesPages(input *DescribeReservedNodesInput, const opDescribeResize = "DescribeResize" -// DescribeResizeRequest generates a request for the DescribeResize operation. +// DescribeResizeRequest generates a "aws/request.Request" representing the +// client's request for the DescribeResize operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeResize for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeResize method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeResizeRequest method. +// req, resp := client.DescribeResizeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DescribeResizeRequest(input *DescribeResizeInput) (req *request.Request, output *DescribeResizeOutput) { op := &request.Operation{ Name: opDescribeResize, @@ -1629,13 +3707,30 @@ func (c *Redshift) DescribeResizeRequest(input *DescribeResizeInput) (req *reque return } +// DescribeResize API operation for Amazon Redshift. +// // Returns information about the last resize operation for the specified cluster. // If no resize operation has ever been initiated for the specified cluster, // a HTTP 404 error is returned. If a resize operation was initiated and completed, // the status of the resize remains as SUCCEEDED until the next resize. // -// A resize operation can be requested using ModifyCluster and specifying -// a different number or type of nodes for the cluster. +// A resize operation can be requested using ModifyCluster and specifying a +// different number or type of nodes for the cluster. +// +// 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 Redshift's +// API operation DescribeResize for usage and error information. +// +// Returned Error Codes: +// * ClusterNotFound +// The ClusterIdentifier parameter does not refer to an existing cluster. +// +// * ResizeNotFound +// A resize operation for the specified cluster is not found. +// func (c *Redshift) DescribeResize(input *DescribeResizeInput) (*DescribeResizeOutput, error) { req, out := c.DescribeResizeRequest(input) err := req.Send() @@ -1644,7 +3739,30 @@ func (c *Redshift) DescribeResize(input *DescribeResizeInput) (*DescribeResizeOu const opDescribeSnapshotCopyGrants = "DescribeSnapshotCopyGrants" -// DescribeSnapshotCopyGrantsRequest generates a request for the DescribeSnapshotCopyGrants operation. +// DescribeSnapshotCopyGrantsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSnapshotCopyGrants operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeSnapshotCopyGrants for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeSnapshotCopyGrants method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeSnapshotCopyGrantsRequest method. +// req, resp := client.DescribeSnapshotCopyGrantsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DescribeSnapshotCopyGrantsRequest(input *DescribeSnapshotCopyGrantsInput) (req *request.Request, output *DescribeSnapshotCopyGrantsOutput) { op := &request.Operation{ Name: opDescribeSnapshotCopyGrants, @@ -1662,12 +3780,30 @@ func (c *Redshift) DescribeSnapshotCopyGrantsRequest(input *DescribeSnapshotCopy return } +// DescribeSnapshotCopyGrants API operation for Amazon Redshift. +// // Returns a list of snapshot copy grants owned by the AWS account in the destination // region. // // For more information about managing snapshot copy grants, go to Amazon // Redshift Database Encryption (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html) // in the Amazon Redshift Cluster Management 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 +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation DescribeSnapshotCopyGrants for usage and error information. +// +// Returned Error Codes: +// * SnapshotCopyGrantNotFoundFault +// The specified snapshot copy grant can't be found. Make sure that the name +// is typed correctly and that the grant exists in the destination region. +// +// * InvalidTagFault +// The tag is invalid. +// func (c *Redshift) DescribeSnapshotCopyGrants(input *DescribeSnapshotCopyGrantsInput) (*DescribeSnapshotCopyGrantsOutput, error) { req, out := c.DescribeSnapshotCopyGrantsRequest(input) err := req.Send() @@ -1676,7 +3812,30 @@ func (c *Redshift) DescribeSnapshotCopyGrants(input *DescribeSnapshotCopyGrantsI const opDescribeTableRestoreStatus = "DescribeTableRestoreStatus" -// DescribeTableRestoreStatusRequest generates a request for the DescribeTableRestoreStatus operation. +// DescribeTableRestoreStatusRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTableRestoreStatus operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeTableRestoreStatus for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeTableRestoreStatus method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeTableRestoreStatusRequest method. +// req, resp := client.DescribeTableRestoreStatusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DescribeTableRestoreStatusRequest(input *DescribeTableRestoreStatusInput) (req *request.Request, output *DescribeTableRestoreStatusOutput) { op := &request.Operation{ Name: opDescribeTableRestoreStatus, @@ -1694,11 +3853,28 @@ func (c *Redshift) DescribeTableRestoreStatusRequest(input *DescribeTableRestore return } +// DescribeTableRestoreStatus API operation for Amazon Redshift. +// // Lists the status of one or more table restore requests made using the RestoreTableFromClusterSnapshot // API action. If you don't specify a value for the TableRestoreRequestId parameter, // then DescribeTableRestoreStatus returns the status of all table restore requests // ordered by the date and time of the request in ascending order. Otherwise // DescribeTableRestoreStatus returns the status of the table specified by TableRestoreRequestId. +// +// 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 Redshift's +// API operation DescribeTableRestoreStatus for usage and error information. +// +// Returned Error Codes: +// * TableRestoreNotFoundFault +// The specified TableRestoreRequestId value was not found. +// +// * ClusterNotFound +// The ClusterIdentifier parameter does not refer to an existing cluster. +// func (c *Redshift) DescribeTableRestoreStatus(input *DescribeTableRestoreStatusInput) (*DescribeTableRestoreStatusOutput, error) { req, out := c.DescribeTableRestoreStatusRequest(input) err := req.Send() @@ -1707,7 +3883,30 @@ func (c *Redshift) DescribeTableRestoreStatus(input *DescribeTableRestoreStatusI const opDescribeTags = "DescribeTags" -// DescribeTagsRequest generates a request for the DescribeTags operation. +// DescribeTagsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTags operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeTags for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeTags method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeTagsRequest method. +// req, resp := client.DescribeTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) { op := &request.Operation{ Name: opDescribeTags, @@ -1725,17 +3924,24 @@ func (c *Redshift) DescribeTagsRequest(input *DescribeTagsInput) (req *request.R return } +// DescribeTags API operation for Amazon Redshift. +// // Returns a list of tags. You can return tags from a specific resource by specifying // an ARN, or you can return all tags for a given type of resource, such as // clusters, snapshots, and so on. // -// The following are limitations for DescribeTags: You cannot specify an -// ARN and a resource-type value together in the same request. You cannot use -// the MaxRecords and Marker parameters together with the ARN parameter. The -// MaxRecords parameter can be a range from 10 to 50 results to return in a +// The following are limitations for DescribeTags: +// +// You cannot specify an ARN and a resource-type value together in the same // request. // -// If you specify both tag keys and tag values in the same request, Amazon +// You cannot use the MaxRecords and Marker parameters together with the +// ARN parameter. +// +// The MaxRecords parameter can be a range from 10 to 50 results to return +// in a request. +// +// If you specify both tag keys and tag values in the same request, Amazon // Redshift returns all resources that match any combination of the specified // keys and values. For example, if you have owner and environment for tag keys, // and admin and test for tag values, all resources that have any combination @@ -1744,6 +3950,21 @@ func (c *Redshift) DescribeTagsRequest(input *DescribeTagsInput) (req *request.R // If both tag keys and values are omitted from the request, resources are // returned regardless of whether they have tag keys or values associated with // them. +// +// 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 Redshift's +// API operation DescribeTags for usage and error information. +// +// Returned Error Codes: +// * ResourceNotFoundFault +// The resource could not be found. +// +// * InvalidTagFault +// The tag is invalid. +// func (c *Redshift) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) { req, out := c.DescribeTagsRequest(input) err := req.Send() @@ -1752,7 +3973,30 @@ func (c *Redshift) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, const opDisableLogging = "DisableLogging" -// DisableLoggingRequest generates a request for the DisableLogging operation. +// DisableLoggingRequest generates a "aws/request.Request" representing the +// client's request for the DisableLogging operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DisableLogging for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DisableLogging method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DisableLoggingRequest method. +// req, resp := client.DisableLoggingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DisableLoggingRequest(input *DisableLoggingInput) (req *request.Request, output *LoggingStatus) { op := &request.Operation{ Name: opDisableLogging, @@ -1770,8 +4014,22 @@ func (c *Redshift) DisableLoggingRequest(input *DisableLoggingInput) (req *reque return } +// DisableLogging API operation for Amazon Redshift. +// // Stops logging information, such as queries and connection attempts, for the // specified Amazon Redshift cluster. +// +// 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 Redshift's +// API operation DisableLogging for usage and error information. +// +// Returned Error Codes: +// * ClusterNotFound +// The ClusterIdentifier parameter does not refer to an existing cluster. +// func (c *Redshift) DisableLogging(input *DisableLoggingInput) (*LoggingStatus, error) { req, out := c.DisableLoggingRequest(input) err := req.Send() @@ -1780,7 +4038,30 @@ func (c *Redshift) DisableLogging(input *DisableLoggingInput) (*LoggingStatus, e const opDisableSnapshotCopy = "DisableSnapshotCopy" -// DisableSnapshotCopyRequest generates a request for the DisableSnapshotCopy operation. +// DisableSnapshotCopyRequest generates a "aws/request.Request" representing the +// client's request for the DisableSnapshotCopy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DisableSnapshotCopy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DisableSnapshotCopy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DisableSnapshotCopyRequest method. +// req, resp := client.DisableSnapshotCopyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) DisableSnapshotCopyRequest(input *DisableSnapshotCopyInput) (req *request.Request, output *DisableSnapshotCopyOutput) { op := &request.Operation{ Name: opDisableSnapshotCopy, @@ -1798,12 +4079,35 @@ func (c *Redshift) DisableSnapshotCopyRequest(input *DisableSnapshotCopyInput) ( return } +// DisableSnapshotCopy API operation for Amazon Redshift. +// // Disables the automatic copying of snapshots from one region to another region // for a specified cluster. // // If your cluster and its snapshots are encrypted using a customer master // key (CMK) from AWS KMS, use DeleteSnapshotCopyGrant to delete the grant that // grants Amazon Redshift permission to the CMK in the destination 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 +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation DisableSnapshotCopy for usage and error information. +// +// Returned Error Codes: +// * ClusterNotFound +// The ClusterIdentifier parameter does not refer to an existing cluster. +// +// * SnapshotCopyAlreadyDisabledFault +// The cluster already has cross-region snapshot copy disabled. +// +// * InvalidClusterState +// The specified cluster is not in the available state. +// +// * UnauthorizedOperation +// Your account is not authorized to perform the requested operation. +// func (c *Redshift) DisableSnapshotCopy(input *DisableSnapshotCopyInput) (*DisableSnapshotCopyOutput, error) { req, out := c.DisableSnapshotCopyRequest(input) err := req.Send() @@ -1812,7 +4116,30 @@ func (c *Redshift) DisableSnapshotCopy(input *DisableSnapshotCopyInput) (*Disabl const opEnableLogging = "EnableLogging" -// EnableLoggingRequest generates a request for the EnableLogging operation. +// EnableLoggingRequest generates a "aws/request.Request" representing the +// client's request for the EnableLogging operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See EnableLogging for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the EnableLogging method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the EnableLoggingRequest method. +// req, resp := client.EnableLoggingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) EnableLoggingRequest(input *EnableLoggingInput) (req *request.Request, output *LoggingStatus) { op := &request.Operation{ Name: opEnableLogging, @@ -1830,8 +4157,38 @@ func (c *Redshift) EnableLoggingRequest(input *EnableLoggingInput) (req *request return } +// EnableLogging API operation for Amazon Redshift. +// // Starts logging information, such as queries and connection attempts, for // the specified Amazon Redshift cluster. +// +// 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 Redshift's +// API operation EnableLogging for usage and error information. +// +// Returned Error Codes: +// * ClusterNotFound +// The ClusterIdentifier parameter does not refer to an existing cluster. +// +// * BucketNotFoundFault +// Could not find the specified S3 bucket. +// +// * InsufficientS3BucketPolicyFault +// The cluster does not have read bucket or put object permissions on the S3 +// bucket specified when enabling logging. +// +// * InvalidS3KeyPrefixFault +// The string specified for the logging S3 key prefix does not comply with the +// documented constraints. +// +// * InvalidS3BucketNameFault +// The S3 bucket name is invalid. For more information about naming rules, go +// to Bucket Restrictions and Limitations (http://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html) +// in the Amazon Simple Storage Service (S3) Developer Guide. +// func (c *Redshift) EnableLogging(input *EnableLoggingInput) (*LoggingStatus, error) { req, out := c.EnableLoggingRequest(input) err := req.Send() @@ -1840,7 +4197,30 @@ func (c *Redshift) EnableLogging(input *EnableLoggingInput) (*LoggingStatus, err const opEnableSnapshotCopy = "EnableSnapshotCopy" -// EnableSnapshotCopyRequest generates a request for the EnableSnapshotCopy operation. +// EnableSnapshotCopyRequest generates a "aws/request.Request" representing the +// client's request for the EnableSnapshotCopy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See EnableSnapshotCopy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the EnableSnapshotCopy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the EnableSnapshotCopyRequest method. +// req, resp := client.EnableSnapshotCopyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) EnableSnapshotCopyRequest(input *EnableSnapshotCopyInput) (req *request.Request, output *EnableSnapshotCopyOutput) { op := &request.Operation{ Name: opEnableSnapshotCopy, @@ -1858,8 +4238,51 @@ func (c *Redshift) EnableSnapshotCopyRequest(input *EnableSnapshotCopyInput) (re return } +// EnableSnapshotCopy API operation for Amazon Redshift. +// // Enables the automatic copy of snapshots from one region to another region // for a specified cluster. +// +// 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 Redshift's +// API operation EnableSnapshotCopy for usage and error information. +// +// Returned Error Codes: +// * IncompatibleOrderableOptions +// The specified options are incompatible. +// +// * InvalidClusterState +// The specified cluster is not in the available state. +// +// * ClusterNotFound +// The ClusterIdentifier parameter does not refer to an existing cluster. +// +// * CopyToRegionDisabledFault +// Cross-region snapshot copy was temporarily disabled. Try your request again. +// +// * SnapshotCopyAlreadyEnabledFault +// The cluster already has cross-region snapshot copy enabled. +// +// * UnknownSnapshotCopyRegionFault +// The specified region is incorrect or does not exist. +// +// * UnauthorizedOperation +// Your account is not authorized to perform the requested operation. +// +// * SnapshotCopyGrantNotFoundFault +// The specified snapshot copy grant can't be found. Make sure that the name +// is typed correctly and that the grant exists in the destination region. +// +// * LimitExceededFault +// The encryption key has exceeded its grant limit in AWS KMS. +// +// * DependentServiceRequestThrottlingFault +// The request cannot be completed because a dependent service is throttling +// requests made by Amazon Redshift on your behalf. Wait and retry the request. +// func (c *Redshift) EnableSnapshotCopy(input *EnableSnapshotCopyInput) (*EnableSnapshotCopyOutput, error) { req, out := c.EnableSnapshotCopyRequest(input) err := req.Send() @@ -1868,7 +4291,30 @@ func (c *Redshift) EnableSnapshotCopy(input *EnableSnapshotCopyInput) (*EnableSn const opModifyCluster = "ModifyCluster" -// ModifyClusterRequest generates a request for the ModifyCluster operation. +// ModifyClusterRequest generates a "aws/request.Request" representing the +// client's request for the ModifyCluster operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyCluster for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyCluster method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyClusterRequest method. +// req, resp := client.ModifyClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) ModifyClusterRequest(input *ModifyClusterInput) (req *request.Request, output *ModifyClusterOutput) { op := &request.Operation{ Name: opModifyCluster, @@ -1886,17 +4332,78 @@ func (c *Redshift) ModifyClusterRequest(input *ModifyClusterInput) (req *request return } +// ModifyCluster API operation for Amazon Redshift. +// // Modifies the settings for a cluster. For example, you can add another security // or parameter group, update the preferred maintenance window, or change the // master user password. Resetting a cluster password or modifying the security // groups associated with a cluster do not need a reboot. However, modifying // a parameter group requires a reboot for parameters to take effect. For more // information about managing clusters, go to Amazon Redshift Clusters (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) -// in the Amazon Redshift Cluster Management Guide . +// in the Amazon Redshift Cluster Management Guide. // // You can also change node type and the number of nodes to scale up or down // the cluster. When resizing a cluster, you must specify both the number of // nodes and the node type even if one of the parameters does not change. +// +// 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 Redshift's +// API operation ModifyCluster for usage and error information. +// +// Returned Error Codes: +// * InvalidClusterState +// The specified cluster is not in the available state. +// +// * InvalidClusterSecurityGroupState +// The state of the cluster security group is not available. +// +// * ClusterNotFound +// The ClusterIdentifier parameter does not refer to an existing cluster. +// +// * NumberOfNodesQuotaExceeded +// The operation would exceed the number of nodes allotted to the account. For +// information about increasing your quota, go to Limits in Amazon Redshift +// (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) +// in the Amazon Redshift Cluster Management Guide. +// +// * ClusterSecurityGroupNotFound +// The cluster security group name does not refer to an existing cluster security +// group. +// +// * ClusterParameterGroupNotFound +// The parameter group name does not refer to an existing parameter group. +// +// * InsufficientClusterCapacity +// The number of nodes specified exceeds the allotted capacity of the cluster. +// +// * UnsupportedOptionFault +// A request option was specified that is not supported. +// +// * UnauthorizedOperation +// Your account is not authorized to perform the requested operation. +// +// * HsmClientCertificateNotFoundFault +// There is no Amazon Redshift HSM client certificate with the specified identifier. +// +// * HsmConfigurationNotFoundFault +// There is no Amazon Redshift HSM configuration with the specified identifier. +// +// * ClusterAlreadyExists +// The account already has a cluster with the given identifier. +// +// * LimitExceededFault +// The encryption key has exceeded its grant limit in AWS KMS. +// +// * DependentServiceRequestThrottlingFault +// The request cannot be completed because a dependent service is throttling +// requests made by Amazon Redshift on your behalf. Wait and retry the request. +// +// * InvalidElasticIpFault +// The Elastic IP (EIP) is invalid or cannot be found. +// func (c *Redshift) ModifyCluster(input *ModifyClusterInput) (*ModifyClusterOutput, error) { req, out := c.ModifyClusterRequest(input) err := req.Send() @@ -1905,7 +4412,30 @@ func (c *Redshift) ModifyCluster(input *ModifyClusterInput) (*ModifyClusterOutpu const opModifyClusterIamRoles = "ModifyClusterIamRoles" -// ModifyClusterIamRolesRequest generates a request for the ModifyClusterIamRoles operation. +// ModifyClusterIamRolesRequest generates a "aws/request.Request" representing the +// client's request for the ModifyClusterIamRoles operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyClusterIamRoles for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyClusterIamRoles method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyClusterIamRolesRequest method. +// req, resp := client.ModifyClusterIamRolesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) ModifyClusterIamRolesRequest(input *ModifyClusterIamRolesInput) (req *request.Request, output *ModifyClusterIamRolesOutput) { op := &request.Operation{ Name: opModifyClusterIamRoles, @@ -1923,10 +4453,27 @@ func (c *Redshift) ModifyClusterIamRolesRequest(input *ModifyClusterIamRolesInpu return } +// ModifyClusterIamRoles API operation for Amazon Redshift. +// // Modifies the list of AWS Identity and Access Management (IAM) roles that // can be used by the cluster to access other AWS services. // // A cluster can have up to 10 IAM roles associated at any time. +// +// 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 Redshift's +// API operation ModifyClusterIamRoles for usage and error information. +// +// Returned Error Codes: +// * InvalidClusterState +// The specified cluster is not in the available state. +// +// * ClusterNotFound +// The ClusterIdentifier parameter does not refer to an existing cluster. +// func (c *Redshift) ModifyClusterIamRoles(input *ModifyClusterIamRolesInput) (*ModifyClusterIamRolesOutput, error) { req, out := c.ModifyClusterIamRolesRequest(input) err := req.Send() @@ -1935,7 +4482,30 @@ func (c *Redshift) ModifyClusterIamRoles(input *ModifyClusterIamRolesInput) (*Mo const opModifyClusterParameterGroup = "ModifyClusterParameterGroup" -// ModifyClusterParameterGroupRequest generates a request for the ModifyClusterParameterGroup operation. +// ModifyClusterParameterGroupRequest generates a "aws/request.Request" representing the +// client's request for the ModifyClusterParameterGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyClusterParameterGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyClusterParameterGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyClusterParameterGroupRequest method. +// req, resp := client.ModifyClusterParameterGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) ModifyClusterParameterGroupRequest(input *ModifyClusterParameterGroupInput) (req *request.Request, output *ClusterParameterGroupNameMessage) { op := &request.Operation{ Name: opModifyClusterParameterGroup, @@ -1953,11 +4523,30 @@ func (c *Redshift) ModifyClusterParameterGroupRequest(input *ModifyClusterParame return } +// ModifyClusterParameterGroup API operation for Amazon Redshift. +// // Modifies the parameters of a parameter group. // // For more information about parameters and parameter groups, go to Amazon // Redshift Parameter Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html) // in the Amazon Redshift Cluster Management 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 +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation ModifyClusterParameterGroup for usage and error information. +// +// Returned Error Codes: +// * ClusterParameterGroupNotFound +// The parameter group name does not refer to an existing parameter group. +// +// * InvalidClusterParameterGroupState +// The cluster parameter group action can not be completed because another task +// is in progress that involves the parameter group. Wait a few moments and +// try the operation again. +// func (c *Redshift) ModifyClusterParameterGroup(input *ModifyClusterParameterGroupInput) (*ClusterParameterGroupNameMessage, error) { req, out := c.ModifyClusterParameterGroupRequest(input) err := req.Send() @@ -1966,7 +4555,30 @@ func (c *Redshift) ModifyClusterParameterGroup(input *ModifyClusterParameterGrou const opModifyClusterSubnetGroup = "ModifyClusterSubnetGroup" -// ModifyClusterSubnetGroupRequest generates a request for the ModifyClusterSubnetGroup operation. +// ModifyClusterSubnetGroupRequest generates a "aws/request.Request" representing the +// client's request for the ModifyClusterSubnetGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyClusterSubnetGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyClusterSubnetGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyClusterSubnetGroupRequest method. +// req, resp := client.ModifyClusterSubnetGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) ModifyClusterSubnetGroupRequest(input *ModifyClusterSubnetGroupInput) (req *request.Request, output *ModifyClusterSubnetGroupOutput) { op := &request.Operation{ Name: opModifyClusterSubnetGroup, @@ -1984,9 +4596,44 @@ func (c *Redshift) ModifyClusterSubnetGroupRequest(input *ModifyClusterSubnetGro return } +// ModifyClusterSubnetGroup API operation for Amazon Redshift. +// // Modifies a cluster subnet group to include the specified list of VPC subnets. // The operation replaces the existing list of subnets with the new list of // subnets. +// +// 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 Redshift's +// API operation ModifyClusterSubnetGroup for usage and error information. +// +// Returned Error Codes: +// * ClusterSubnetGroupNotFoundFault +// The cluster subnet group name does not refer to an existing cluster subnet +// group. +// +// * ClusterSubnetQuotaExceededFault +// The request would result in user exceeding the allowed number of subnets +// in a cluster subnet groups. For information about increasing your quota, +// go to Limits in Amazon Redshift (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) +// in the Amazon Redshift Cluster Management Guide. +// +// * SubnetAlreadyInUse +// A specified subnet is already in use by another cluster. +// +// * InvalidSubnet +// The requested subnet is not valid, or not all of the subnets are in the same +// VPC. +// +// * UnauthorizedOperation +// Your account is not authorized to perform the requested operation. +// +// * DependentServiceRequestThrottlingFault +// The request cannot be completed because a dependent service is throttling +// requests made by Amazon Redshift on your behalf. Wait and retry the request. +// func (c *Redshift) ModifyClusterSubnetGroup(input *ModifyClusterSubnetGroupInput) (*ModifyClusterSubnetGroupOutput, error) { req, out := c.ModifyClusterSubnetGroupRequest(input) err := req.Send() @@ -1995,7 +4642,30 @@ func (c *Redshift) ModifyClusterSubnetGroup(input *ModifyClusterSubnetGroupInput const opModifyEventSubscription = "ModifyEventSubscription" -// ModifyEventSubscriptionRequest generates a request for the ModifyEventSubscription operation. +// ModifyEventSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the ModifyEventSubscription operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyEventSubscription for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyEventSubscription method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyEventSubscriptionRequest method. +// req, resp := client.ModifyEventSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) ModifyEventSubscriptionRequest(input *ModifyEventSubscriptionInput) (req *request.Request, output *ModifyEventSubscriptionOutput) { op := &request.Operation{ Name: opModifyEventSubscription, @@ -2013,7 +4683,53 @@ func (c *Redshift) ModifyEventSubscriptionRequest(input *ModifyEventSubscription return } +// ModifyEventSubscription API operation for Amazon Redshift. +// // Modifies an existing Amazon Redshift event notification subscription. +// +// 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 Redshift's +// API operation ModifyEventSubscription for usage and error information. +// +// Returned Error Codes: +// * SubscriptionNotFound +// An Amazon Redshift event notification subscription with the specified name +// does not exist. +// +// * SNSInvalidTopic +// Amazon SNS has responded that there is a problem with the specified Amazon +// SNS topic. +// +// * SNSNoAuthorization +// You do not have permission to publish to the specified Amazon SNS topic. +// +// * SNSTopicArnNotFound +// An Amazon SNS topic with the specified Amazon Resource Name (ARN) does not +// exist. +// +// * SubscriptionEventIdNotFound +// An Amazon Redshift event with the specified event ID does not exist. +// +// * SubscriptionCategoryNotFound +// The value specified for the event category was not one of the allowed values, +// or it specified a category that does not apply to the specified source type. +// The allowed values are Configuration, Management, Monitoring, and Security. +// +// * SubscriptionSeverityNotFound +// The value specified for the event severity was not one of the allowed values, +// or it specified a severity that does not apply to the specified source type. +// The allowed values are ERROR and INFO. +// +// * SourceNotFound +// The specified Amazon Redshift event source could not be found. +// +// * InvalidSubscriptionStateFault +// The subscription request is invalid because it is a duplicate request. This +// subscription request is already in progress. +// func (c *Redshift) ModifyEventSubscription(input *ModifyEventSubscriptionInput) (*ModifyEventSubscriptionOutput, error) { req, out := c.ModifyEventSubscriptionRequest(input) err := req.Send() @@ -2022,7 +4738,30 @@ func (c *Redshift) ModifyEventSubscription(input *ModifyEventSubscriptionInput) const opModifySnapshotCopyRetentionPeriod = "ModifySnapshotCopyRetentionPeriod" -// ModifySnapshotCopyRetentionPeriodRequest generates a request for the ModifySnapshotCopyRetentionPeriod operation. +// ModifySnapshotCopyRetentionPeriodRequest generates a "aws/request.Request" representing the +// client's request for the ModifySnapshotCopyRetentionPeriod operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifySnapshotCopyRetentionPeriod for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifySnapshotCopyRetentionPeriod method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifySnapshotCopyRetentionPeriodRequest method. +// req, resp := client.ModifySnapshotCopyRetentionPeriodRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) ModifySnapshotCopyRetentionPeriodRequest(input *ModifySnapshotCopyRetentionPeriodInput) (req *request.Request, output *ModifySnapshotCopyRetentionPeriodOutput) { op := &request.Operation{ Name: opModifySnapshotCopyRetentionPeriod, @@ -2040,8 +4779,31 @@ func (c *Redshift) ModifySnapshotCopyRetentionPeriodRequest(input *ModifySnapsho return } +// ModifySnapshotCopyRetentionPeriod API operation for Amazon Redshift. +// // Modifies the number of days to retain automated snapshots in the destination // region after they are copied from the source 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 +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation ModifySnapshotCopyRetentionPeriod for usage and error information. +// +// Returned Error Codes: +// * ClusterNotFound +// The ClusterIdentifier parameter does not refer to an existing cluster. +// +// * SnapshotCopyDisabledFault +// Cross-region snapshot copy was temporarily disabled. Try your request again. +// +// * UnauthorizedOperation +// Your account is not authorized to perform the requested operation. +// +// * InvalidClusterState +// The specified cluster is not in the available state. +// func (c *Redshift) ModifySnapshotCopyRetentionPeriod(input *ModifySnapshotCopyRetentionPeriodInput) (*ModifySnapshotCopyRetentionPeriodOutput, error) { req, out := c.ModifySnapshotCopyRetentionPeriodRequest(input) err := req.Send() @@ -2050,7 +4812,30 @@ func (c *Redshift) ModifySnapshotCopyRetentionPeriod(input *ModifySnapshotCopyRe const opPurchaseReservedNodeOffering = "PurchaseReservedNodeOffering" -// PurchaseReservedNodeOfferingRequest generates a request for the PurchaseReservedNodeOffering operation. +// PurchaseReservedNodeOfferingRequest generates a "aws/request.Request" representing the +// client's request for the PurchaseReservedNodeOffering operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PurchaseReservedNodeOffering for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PurchaseReservedNodeOffering method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PurchaseReservedNodeOfferingRequest method. +// req, resp := client.PurchaseReservedNodeOfferingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) PurchaseReservedNodeOfferingRequest(input *PurchaseReservedNodeOfferingInput) (req *request.Request, output *PurchaseReservedNodeOfferingOutput) { op := &request.Operation{ Name: opPurchaseReservedNodeOffering, @@ -2068,6 +4853,8 @@ func (c *Redshift) PurchaseReservedNodeOfferingRequest(input *PurchaseReservedNo return } +// PurchaseReservedNodeOffering API operation for Amazon Redshift. +// // Allows you to purchase reserved nodes. Amazon Redshift offers a predefined // set of reserved node offerings. You can purchase one or more of the offerings. // You can call the DescribeReservedNodeOfferings API to obtain the available @@ -2077,6 +4864,29 @@ func (c *Redshift) PurchaseReservedNodeOfferingRequest(input *PurchaseReservedNo // For more information about reserved node offerings, go to Purchasing Reserved // Nodes (http://docs.aws.amazon.com/redshift/latest/mgmt/purchase-reserved-node-instance.html) // in the Amazon Redshift Cluster Management 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 +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation PurchaseReservedNodeOffering for usage and error information. +// +// Returned Error Codes: +// * ReservedNodeOfferingNotFound +// Specified offering does not exist. +// +// * ReservedNodeAlreadyExists +// User already has a reservation with the given identifier. +// +// * ReservedNodeQuotaExceeded +// Request would exceed the user's compute node quota. For information about +// increasing your quota, go to Limits in Amazon Redshift (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) +// in the Amazon Redshift Cluster Management Guide. +// +// * UnsupportedOperation +// The requested operation isn't supported. +// func (c *Redshift) PurchaseReservedNodeOffering(input *PurchaseReservedNodeOfferingInput) (*PurchaseReservedNodeOfferingOutput, error) { req, out := c.PurchaseReservedNodeOfferingRequest(input) err := req.Send() @@ -2085,7 +4895,30 @@ func (c *Redshift) PurchaseReservedNodeOffering(input *PurchaseReservedNodeOffer const opRebootCluster = "RebootCluster" -// RebootClusterRequest generates a request for the RebootCluster operation. +// RebootClusterRequest generates a "aws/request.Request" representing the +// client's request for the RebootCluster operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RebootCluster for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RebootCluster method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RebootClusterRequest method. +// req, resp := client.RebootClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) RebootClusterRequest(input *RebootClusterInput) (req *request.Request, output *RebootClusterOutput) { op := &request.Operation{ Name: opRebootCluster, @@ -2103,13 +4936,30 @@ func (c *Redshift) RebootClusterRequest(input *RebootClusterInput) (req *request return } +// RebootCluster API operation for Amazon Redshift. +// // Reboots a cluster. This action is taken as soon as possible. It results in // a momentary outage to the cluster, during which the cluster status is set // to rebooting. A cluster event is created when the reboot is completed. Any // pending cluster modifications (see ModifyCluster) are applied at this reboot. // For more information about managing clusters, go to Amazon Redshift Clusters // (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) -// in the Amazon Redshift Cluster Management Guide +// in the Amazon Redshift Cluster Management 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 +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation RebootCluster for usage and error information. +// +// Returned Error Codes: +// * InvalidClusterState +// The specified cluster is not in the available state. +// +// * ClusterNotFound +// The ClusterIdentifier parameter does not refer to an existing cluster. +// func (c *Redshift) RebootCluster(input *RebootClusterInput) (*RebootClusterOutput, error) { req, out := c.RebootClusterRequest(input) err := req.Send() @@ -2118,7 +4968,30 @@ func (c *Redshift) RebootCluster(input *RebootClusterInput) (*RebootClusterOutpu const opResetClusterParameterGroup = "ResetClusterParameterGroup" -// ResetClusterParameterGroupRequest generates a request for the ResetClusterParameterGroup operation. +// ResetClusterParameterGroupRequest generates a "aws/request.Request" representing the +// client's request for the ResetClusterParameterGroup operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ResetClusterParameterGroup for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ResetClusterParameterGroup method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ResetClusterParameterGroupRequest method. +// req, resp := client.ResetClusterParameterGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) ResetClusterParameterGroupRequest(input *ResetClusterParameterGroupInput) (req *request.Request, output *ClusterParameterGroupNameMessage) { op := &request.Operation{ Name: opResetClusterParameterGroup, @@ -2136,10 +5009,29 @@ func (c *Redshift) ResetClusterParameterGroupRequest(input *ResetClusterParamete return } +// ResetClusterParameterGroup API operation for Amazon Redshift. +// // Sets one or more parameters of the specified parameter group to their default // values and sets the source values of the parameters to "engine-default". // To reset the entire parameter group specify the ResetAllParameters parameter. // For parameter changes to take effect you must reboot any associated clusters. +// +// 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 Redshift's +// API operation ResetClusterParameterGroup for usage and error information. +// +// Returned Error Codes: +// * InvalidClusterParameterGroupState +// The cluster parameter group action can not be completed because another task +// is in progress that involves the parameter group. Wait a few moments and +// try the operation again. +// +// * ClusterParameterGroupNotFound +// The parameter group name does not refer to an existing parameter group. +// func (c *Redshift) ResetClusterParameterGroup(input *ResetClusterParameterGroupInput) (*ClusterParameterGroupNameMessage, error) { req, out := c.ResetClusterParameterGroupRequest(input) err := req.Send() @@ -2148,7 +5040,30 @@ func (c *Redshift) ResetClusterParameterGroup(input *ResetClusterParameterGroupI const opRestoreFromClusterSnapshot = "RestoreFromClusterSnapshot" -// RestoreFromClusterSnapshotRequest generates a request for the RestoreFromClusterSnapshot operation. +// RestoreFromClusterSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the RestoreFromClusterSnapshot operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RestoreFromClusterSnapshot for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RestoreFromClusterSnapshot method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RestoreFromClusterSnapshotRequest method. +// req, resp := client.RestoreFromClusterSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) RestoreFromClusterSnapshotRequest(input *RestoreFromClusterSnapshotInput) (req *request.Request, output *RestoreFromClusterSnapshotOutput) { op := &request.Operation{ Name: opRestoreFromClusterSnapshot, @@ -2166,6 +5081,8 @@ func (c *Redshift) RestoreFromClusterSnapshotRequest(input *RestoreFromClusterSn return } +// RestoreFromClusterSnapshot API operation for Amazon Redshift. +// // Creates a new cluster from a snapshot. By default, Amazon Redshift creates // the resulting cluster with the same configuration as the original cluster // from which the snapshot was created, except that the new cluster is created @@ -2175,12 +5092,96 @@ func (c *Redshift) RestoreFromClusterSnapshotRequest(input *RestoreFromClusterSn // you are using a DS node type, you can also choose to change to another DS // node type of the same size during restore. // -// If you restore a cluster into a VPC, you must provide a cluster subnet -// group where you want the cluster restored. +// If you restore a cluster into a VPC, you must provide a cluster subnet group +// where you want the cluster restored. // // For more information about working with snapshots, go to Amazon Redshift // Snapshots (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html) // in the Amazon Redshift Cluster Management 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 +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation RestoreFromClusterSnapshot for usage and error information. +// +// Returned Error Codes: +// * AccessToSnapshotDenied +// The owner of the specified snapshot has not authorized your account to access +// the snapshot. +// +// * ClusterAlreadyExists +// The account already has a cluster with the given identifier. +// +// * ClusterSnapshotNotFound +// The snapshot identifier does not refer to an existing cluster snapshot. +// +// * ClusterQuotaExceeded +// The request would exceed the allowed number of cluster instances for this +// account. For information about increasing your quota, go to Limits in Amazon +// Redshift (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) +// in the Amazon Redshift Cluster Management Guide. +// +// * InsufficientClusterCapacity +// The number of nodes specified exceeds the allotted capacity of the cluster. +// +// * InvalidClusterSnapshotState +// The specified cluster snapshot is not in the available state, or other accounts +// are authorized to access the snapshot. +// +// * InvalidRestore +// The restore is invalid. +// +// * NumberOfNodesQuotaExceeded +// The operation would exceed the number of nodes allotted to the account. For +// information about increasing your quota, go to Limits in Amazon Redshift +// (http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) +// in the Amazon Redshift Cluster Management Guide. +// +// * NumberOfNodesPerClusterLimitExceeded +// The operation would exceed the number of nodes allowed for a cluster. +// +// * InvalidVPCNetworkStateFault +// The cluster subnet group does not cover all Availability Zones. +// +// * InvalidClusterSubnetGroupStateFault +// The cluster subnet group cannot be deleted because it is in use. +// +// * InvalidSubnet +// The requested subnet is not valid, or not all of the subnets are in the same +// VPC. +// +// * ClusterSubnetGroupNotFoundFault +// The cluster subnet group name does not refer to an existing cluster subnet +// group. +// +// * UnauthorizedOperation +// Your account is not authorized to perform the requested operation. +// +// * HsmClientCertificateNotFoundFault +// There is no Amazon Redshift HSM client certificate with the specified identifier. +// +// * HsmConfigurationNotFoundFault +// There is no Amazon Redshift HSM configuration with the specified identifier. +// +// * InvalidElasticIpFault +// The Elastic IP (EIP) is invalid or cannot be found. +// +// * ClusterParameterGroupNotFound +// The parameter group name does not refer to an existing parameter group. +// +// * ClusterSecurityGroupNotFound +// The cluster security group name does not refer to an existing cluster security +// group. +// +// * LimitExceededFault +// The encryption key has exceeded its grant limit in AWS KMS. +// +// * DependentServiceRequestThrottlingFault +// The request cannot be completed because a dependent service is throttling +// requests made by Amazon Redshift on your behalf. Wait and retry the request. +// func (c *Redshift) RestoreFromClusterSnapshot(input *RestoreFromClusterSnapshotInput) (*RestoreFromClusterSnapshotOutput, error) { req, out := c.RestoreFromClusterSnapshotRequest(input) err := req.Send() @@ -2189,7 +5190,30 @@ func (c *Redshift) RestoreFromClusterSnapshot(input *RestoreFromClusterSnapshotI const opRestoreTableFromClusterSnapshot = "RestoreTableFromClusterSnapshot" -// RestoreTableFromClusterSnapshotRequest generates a request for the RestoreTableFromClusterSnapshot operation. +// RestoreTableFromClusterSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the RestoreTableFromClusterSnapshot operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RestoreTableFromClusterSnapshot for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RestoreTableFromClusterSnapshot method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RestoreTableFromClusterSnapshotRequest method. +// req, resp := client.RestoreTableFromClusterSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) RestoreTableFromClusterSnapshotRequest(input *RestoreTableFromClusterSnapshotInput) (req *request.Request, output *RestoreTableFromClusterSnapshotOutput) { op := &request.Operation{ Name: opRestoreTableFromClusterSnapshot, @@ -2207,6 +5231,8 @@ func (c *Redshift) RestoreTableFromClusterSnapshotRequest(input *RestoreTableFro return } +// RestoreTableFromClusterSnapshot API operation for Amazon Redshift. +// // Creates a new table from a table in an Amazon Redshift cluster snapshot. // You must create the new table within the Amazon Redshift cluster that the // snapshot was taken from. @@ -2220,6 +5246,39 @@ func (c *Redshift) RestoreTableFromClusterSnapshotRequest(input *RestoreTableFro // name of the table as the NewTableName parameter value in the call to RestoreTableFromClusterSnapshot. // This way, you can replace the original table with the table created from // the snapshot. +// +// 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 Redshift's +// API operation RestoreTableFromClusterSnapshot for usage and error information. +// +// Returned Error Codes: +// * ClusterSnapshotNotFound +// The snapshot identifier does not refer to an existing cluster snapshot. +// +// * InProgressTableRestoreQuotaExceededFault +// You have exceeded the allowed number of table restore requests. Wait for +// your current table restore requests to complete before making a new request. +// +// * InvalidClusterSnapshotState +// The specified cluster snapshot is not in the available state, or other accounts +// are authorized to access the snapshot. +// +// * InvalidTableRestoreArgument +// The value specified for the sourceDatabaseName, sourceSchemaName, or sourceTableName +// parameter, or a combination of these, doesn't exist in the snapshot. +// +// * ClusterNotFound +// The ClusterIdentifier parameter does not refer to an existing cluster. +// +// * InvalidClusterState +// The specified cluster is not in the available state. +// +// * UnsupportedOperation +// The requested operation isn't supported. +// func (c *Redshift) RestoreTableFromClusterSnapshot(input *RestoreTableFromClusterSnapshotInput) (*RestoreTableFromClusterSnapshotOutput, error) { req, out := c.RestoreTableFromClusterSnapshotRequest(input) err := req.Send() @@ -2228,7 +5287,30 @@ func (c *Redshift) RestoreTableFromClusterSnapshot(input *RestoreTableFromCluste const opRevokeClusterSecurityGroupIngress = "RevokeClusterSecurityGroupIngress" -// RevokeClusterSecurityGroupIngressRequest generates a request for the RevokeClusterSecurityGroupIngress operation. +// RevokeClusterSecurityGroupIngressRequest generates a "aws/request.Request" representing the +// client's request for the RevokeClusterSecurityGroupIngress operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RevokeClusterSecurityGroupIngress for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RevokeClusterSecurityGroupIngress method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RevokeClusterSecurityGroupIngressRequest method. +// req, resp := client.RevokeClusterSecurityGroupIngressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) RevokeClusterSecurityGroupIngressRequest(input *RevokeClusterSecurityGroupIngressInput) (req *request.Request, output *RevokeClusterSecurityGroupIngressOutput) { op := &request.Operation{ Name: opRevokeClusterSecurityGroupIngress, @@ -2246,11 +5328,33 @@ func (c *Redshift) RevokeClusterSecurityGroupIngressRequest(input *RevokeCluster return } +// RevokeClusterSecurityGroupIngress API operation for Amazon Redshift. +// // Revokes an ingress rule in an Amazon Redshift security group for a previously // authorized IP range or Amazon EC2 security group. To add an ingress rule, // see AuthorizeClusterSecurityGroupIngress. For information about managing // security groups, go to Amazon Redshift Cluster Security Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html) // in the Amazon Redshift Cluster Management 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 +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation RevokeClusterSecurityGroupIngress for usage and error information. +// +// Returned Error Codes: +// * ClusterSecurityGroupNotFound +// The cluster security group name does not refer to an existing cluster security +// group. +// +// * AuthorizationNotFound +// The specified CIDR IP range or EC2 security group is not authorized for the +// specified cluster security group. +// +// * InvalidClusterSecurityGroupState +// The state of the cluster security group is not available. +// func (c *Redshift) RevokeClusterSecurityGroupIngress(input *RevokeClusterSecurityGroupIngressInput) (*RevokeClusterSecurityGroupIngressOutput, error) { req, out := c.RevokeClusterSecurityGroupIngressRequest(input) err := req.Send() @@ -2259,7 +5363,30 @@ func (c *Redshift) RevokeClusterSecurityGroupIngress(input *RevokeClusterSecurit const opRevokeSnapshotAccess = "RevokeSnapshotAccess" -// RevokeSnapshotAccessRequest generates a request for the RevokeSnapshotAccess operation. +// RevokeSnapshotAccessRequest generates a "aws/request.Request" representing the +// client's request for the RevokeSnapshotAccess operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RevokeSnapshotAccess for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RevokeSnapshotAccess method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RevokeSnapshotAccessRequest method. +// req, resp := client.RevokeSnapshotAccessRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) RevokeSnapshotAccessRequest(input *RevokeSnapshotAccessInput) (req *request.Request, output *RevokeSnapshotAccessOutput) { op := &request.Operation{ Name: opRevokeSnapshotAccess, @@ -2277,6 +5404,8 @@ func (c *Redshift) RevokeSnapshotAccessRequest(input *RevokeSnapshotAccessInput) return } +// RevokeSnapshotAccess API operation for Amazon Redshift. +// // Removes the ability of the specified AWS customer account to restore the // specified snapshot. If the account is currently restoring the snapshot, the // restore will run to completion. @@ -2284,6 +5413,26 @@ func (c *Redshift) RevokeSnapshotAccessRequest(input *RevokeSnapshotAccessInput) // For more information about working with snapshots, go to Amazon Redshift // Snapshots (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html) // in the Amazon Redshift Cluster Management 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 +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation RevokeSnapshotAccess for usage and error information. +// +// Returned Error Codes: +// * AccessToSnapshotDenied +// The owner of the specified snapshot has not authorized your account to access +// the snapshot. +// +// * AuthorizationNotFound +// The specified CIDR IP range or EC2 security group is not authorized for the +// specified cluster security group. +// +// * ClusterSnapshotNotFound +// The snapshot identifier does not refer to an existing cluster snapshot. +// func (c *Redshift) RevokeSnapshotAccess(input *RevokeSnapshotAccessInput) (*RevokeSnapshotAccessOutput, error) { req, out := c.RevokeSnapshotAccessRequest(input) err := req.Send() @@ -2292,7 +5441,30 @@ func (c *Redshift) RevokeSnapshotAccess(input *RevokeSnapshotAccessInput) (*Revo const opRotateEncryptionKey = "RotateEncryptionKey" -// RotateEncryptionKeyRequest generates a request for the RotateEncryptionKey operation. +// RotateEncryptionKeyRequest generates a "aws/request.Request" representing the +// client's request for the RotateEncryptionKey operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RotateEncryptionKey for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RotateEncryptionKey method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RotateEncryptionKeyRequest method. +// req, resp := client.RotateEncryptionKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Redshift) RotateEncryptionKeyRequest(input *RotateEncryptionKeyInput) (req *request.Request, output *RotateEncryptionKeyOutput) { op := &request.Operation{ Name: opRotateEncryptionKey, @@ -2310,7 +5482,28 @@ func (c *Redshift) RotateEncryptionKeyRequest(input *RotateEncryptionKeyInput) ( return } +// RotateEncryptionKey API operation for Amazon Redshift. +// // Rotates the encryption keys for a cluster. +// +// 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 Redshift's +// API operation RotateEncryptionKey for usage and error information. +// +// Returned Error Codes: +// * ClusterNotFound +// The ClusterIdentifier parameter does not refer to an existing cluster. +// +// * InvalidClusterState +// The specified cluster is not in the available state. +// +// * DependentServiceRequestThrottlingFault +// The request cannot be completed because a dependent service is throttling +// requests made by Amazon Redshift on your behalf. Wait and retry the request. +// func (c *Redshift) RotateEncryptionKey(input *RotateEncryptionKeyInput) (*RotateEncryptionKeyOutput, error) { req, out := c.RotateEncryptionKeyRequest(input) err := req.Send() @@ -2342,6 +5535,8 @@ type AuthorizeClusterSecurityGroupIngressInput struct { CIDRIP *string `type:"string"` // The name of the security group to which the ingress rule is added. + // + // ClusterSecurityGroupName is a required field ClusterSecurityGroupName *string `type:"string" required:"true"` // The EC2 security group to be added the Amazon Redshift security group. @@ -2351,7 +5546,7 @@ type AuthorizeClusterSecurityGroupIngressInput struct { // EC2SecurityGroupName parameter. The AWS Access Key ID is not an acceptable // value. // - // Example: 111122223333 + // Example: 111122223333 EC2SecurityGroupOwnerId *string `type:"string"` } @@ -2400,6 +5595,8 @@ type AuthorizeSnapshotAccessInput struct { // The identifier of the AWS customer account authorized to restore the specified // snapshot. + // + // AccountWithRestoreAccess is a required field AccountWithRestoreAccess *string `type:"string" required:"true"` // The identifier of the cluster the snapshot was created from. This parameter @@ -2408,6 +5605,8 @@ type AuthorizeSnapshotAccessInput struct { SnapshotClusterIdentifier *string `type:"string"` // The identifier of the snapshot the account is authorized to restore. + // + // SnapshotIdentifier is a required field SnapshotIdentifier *string `type:"string" required:"true"` } @@ -2476,8 +5675,8 @@ func (s AvailabilityZone) GoString() string { type Cluster struct { _ struct{} `type:"structure"` - // If true, major version upgrades will be applied automatically to the cluster - // during the maintenance window. + // A Boolean value that, if true, indicates that major version upgrades will + // be applied automatically to the cluster during the maintenance window. AllowVersionUpgrade *bool `type:"boolean"` // The number of days that automatic cluster snapshots are retained. @@ -2492,7 +5691,7 @@ type Cluster struct { // The unique identifier of the cluster. ClusterIdentifier *string `type:"string"` - // The nodes in a cluster. + // The nodes in the cluster. ClusterNodes []*ClusterNode `type:"list"` // The list of cluster parameter groups that are associated with this cluster. @@ -2509,19 +5708,48 @@ type Cluster struct { // security group is represented by an element that contains ClusterSecurityGroup.Name // and ClusterSecurityGroup.Status subelements. // - // Cluster security groups are used when the cluster is not created in a VPC. - // Clusters that are created in a VPC use VPC security groups, which are listed - // by the VpcSecurityGroups parameter. - ClusterSecurityGroups []*ClusterSecurityGroupMembership `locationNameList:"ClusterSecurityGroup" type:"list"` - - // Returns the destination region and retention period that are configured for - // cross-region snapshot copy. - ClusterSnapshotCopyStatus *ClusterSnapshotCopyStatus `type:"structure"` - - // The current state of the cluster. Possible values are: available creating - // deleting final-snapshot hardware-failure incompatible-hsm incompatible-network - // incompatible-parameters incompatible-restore modifying rebooting renaming - // resizing rotating-keys storage-full updating-hsm + // Cluster security groups are used when the cluster is not created in an Amazon + // Virtual Private Cloud (VPC). Clusters that are created in a VPC use VPC security + // groups, which are listed by the VpcSecurityGroups parameter. + ClusterSecurityGroups []*ClusterSecurityGroupMembership `locationNameList:"ClusterSecurityGroup" type:"list"` + + // A value that returns the destination region and retention period that are + // configured for cross-region snapshot copy. + ClusterSnapshotCopyStatus *ClusterSnapshotCopyStatus `type:"structure"` + + // The current state of the cluster. Possible values are the following: + // + // available + // + // creating + // + // deleting + // + // final-snapshot + // + // hardware-failure + // + // incompatible-hsm + // + // incompatible-network + // + // incompatible-parameters + // + // incompatible-restore + // + // modifying + // + // rebooting + // + // renaming + // + // resizing + // + // rotating-keys + // + // storage-full + // + // updating-hsm ClusterStatus *string `type:"string"` // The name of the subnet group that is associated with the cluster. This parameter @@ -2533,20 +5761,33 @@ type Cluster struct { // The name of the initial database that was created when the cluster was created. // This same name is returned for the life of the cluster. If an initial database - // was not specified, a database named "dev" was created by default. + // was not specified, a database named devdev was created by default. DBName *string `type:"string"` // The status of the elastic IP (EIP) address. ElasticIpStatus *ElasticIpStatus `type:"structure"` - // If true, data in the cluster is encrypted at rest. + // A Boolean value that, if true, indicates that data in the cluster is encrypted + // at rest. Encrypted *bool `type:"boolean"` // The connection endpoint. Endpoint *Endpoint `type:"structure"` - // Reports whether the Amazon Redshift cluster has finished applying any HSM - // settings changes specified in a modify cluster command. + // An option that specifies whether to create the cluster with enhanced VPC + // routing enabled. To create a cluster that uses enhanced VPC routing, the + // cluster must be in a VPC. For more information, see Enhanced VPC Routing + // (http://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html) + // in the Amazon Redshift Cluster Management Guide. + // + // If this option is true, enhanced VPC routing is enabled. + // + // Default: false + EnhancedVpcRouting *bool `type:"boolean"` + + // A value that reports whether the Amazon Redshift cluster has finished applying + // any hardware security module (HSM) settings changes specified in a modify + // cluster command. // // Values: active, applying HsmStatus *HsmStatus `type:"structure"` @@ -2555,12 +5796,12 @@ type Cluster struct { // by the cluster to access other AWS services. IamRoles []*ClusterIamRole `locationNameList:"ClusterIamRole" type:"list"` - // The AWS Key Management Service (KMS) key ID of the encryption key used to - // encrypt data in the cluster. + // The AWS Key Management Service (AWS KMS) key ID of the encryption key used + // to encrypt data in the cluster. KmsKeyId *string `type:"string"` // The master user name for the cluster. This name is used to connect to the - // database that is specified in DBName. + // database that is specified in the DBName parameter. MasterUsername *string `type:"string"` // The status of a modify operation, if any, initiated for the cluster. @@ -2572,18 +5813,20 @@ type Cluster struct { // The number of compute nodes in the cluster. NumberOfNodes *int64 `type:"integer"` - // If present, changes to the cluster are pending. Specific pending changes - // are identified by subelements. + // A value that, if present, indicates that changes to the cluster are pending. + // Specific pending changes are identified by subelements. PendingModifiedValues *PendingModifiedValues `type:"structure"` - // The weekly time range (in UTC) during which system maintenance can occur. + // The weekly time range, in Universal Coordinated Time (UTC), during which + // system maintenance can occur. PreferredMaintenanceWindow *string `type:"string"` - // If true, the cluster can be accessed from a public network. + // A Boolean value that, if true, indicates that the cluster can be accessed + // from a public network. PubliclyAccessible *bool `type:"boolean"` - // Describes the status of a cluster restore action. Returns null if the cluster - // was not created by restoring a snapshot. + // A value that describes the status of a cluster restore action. This parameter + // returns null if the cluster was not created by restoring a snapshot. RestoreStatus *RestoreStatus `type:"structure"` // The list of tags for the cluster. @@ -2592,9 +5835,9 @@ type Cluster struct { // The identifier of the VPC the cluster is in, if the cluster is in a VPC. VpcId *string `type:"string"` - // A list of Virtual Private Cloud (VPC) security groups that are associated - // with the cluster. This parameter is returned only if the cluster is in a - // VPC. + // A list of Amazon Virtual Private Cloud (Amazon VPC) security groups that + // are associated with the cluster. This parameter is returned only if the cluster + // is in a VPC. VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroup" type:"list"` } @@ -2613,16 +5856,20 @@ func (s Cluster) GoString() string { type ClusterIamRole struct { _ struct{} `type:"structure"` - // Describes the status of the IAM role's association with an Amazon Redshift - // cluster. + // A value that describes the status of the IAM role's association with an Amazon + // Redshift cluster. + // + // The following are possible statuses and descriptions. // - // The following are possible statuses and descriptions. in-sync: The role - // is available for use by the cluster. adding: The role is in the process of - // being associated with the cluster. removing: The role is in the process of - // being disassociated with the cluster. + // in-sync: The role is available for use by the cluster. + // + // adding: The role is in the process of being associated with the cluster. + // + // removing: The role is in the process of being disassociated with the + // cluster. ApplyStatus *string `type:"string"` - // The Amazon Resource Name (ARN) of the IAM role. For example, arn:aws:iam::123456789012:role/RedshiftCopyUnload. + // The Amazon Resource Name (ARN) of the IAM role, for example, arn:aws:iam::123456789012:role/RedshiftCopyUnload. IamRoleArn *string `type:"string"` } @@ -2749,16 +5996,26 @@ type ClusterParameterStatus struct { // with the database, waiting for a cluster reboot, or encountered an error // when being applied. // - // The following are possible statuses and descriptions. in-sync: The parameter - // value is in sync with the database. pending-reboot: The parameter value will - // be applied after the cluster reboots. applying: The parameter value is being - // applied to the database. invalid-parameter: Cannot apply the parameter value - // because it has an invalid value or syntax. apply-deferred: The parameter - // contains static property changes. The changes are deferred until the cluster - // reboots. apply-error: Cannot connect to the cluster. The parameter change - // will be applied after the cluster reboots. unknown-error: Cannot apply the - // parameter change right now. The change will be applied after the cluster + // The following are possible statuses and descriptions. + // + // in-sync: The parameter value is in sync with the database. + // + // pending-reboot: The parameter value will be applied after the cluster // reboots. + // + // applying: The parameter value is being applied to the database. + // + // invalid-parameter: Cannot apply the parameter value because it has an + // invalid value or syntax. + // + // apply-deferred: The parameter contains static property changes. The changes + // are deferred until the cluster reboots. + // + // apply-error: Cannot connect to the cluster. The parameter change will + // be applied after the cluster reboots. + // + // unknown-error: Cannot apply the parameter change right now. The change + // will be applied after the cluster reboots. ParameterApplyStatus *string `type:"string"` // The name of the parameter. @@ -2923,24 +6180,33 @@ type CopyClusterSnapshotInput struct { // // Constraints: // - // Must be the identifier for a valid cluster. + // Must be the identifier for a valid cluster. SourceSnapshotClusterIdentifier *string `type:"string"` // The identifier for the source snapshot. // // Constraints: // - // Must be the identifier for a valid automated snapshot whose state is available. + // Must be the identifier for a valid automated snapshot whose state is available. + // + // SourceSnapshotIdentifier is a required field SourceSnapshotIdentifier *string `type:"string" required:"true"` // The identifier given to the new manual snapshot. // // Constraints: // - // Cannot be null, empty, or blank. Must contain from 1 to 255 alphanumeric - // characters or hyphens. First character must be a letter. Cannot end with - // a hyphen or contain two consecutive hyphens. Must be unique for the AWS account - // that is making the request. + // Cannot be null, empty, or blank. + // + // Must contain from 1 to 255 alphanumeric characters or hyphens. + // + // First character must be a letter. + // + // Cannot end with a hyphen or contain two consecutive hyphens. + // + // Must be unique for the AWS account that is making the request. + // + // TargetSnapshotIdentifier is a required field TargetSnapshotIdentifier *string `type:"string" required:"true"` } @@ -2996,7 +6262,7 @@ type CreateClusterInput struct { // If true, major version upgrades can be applied during the maintenance window // to the Amazon Redshift engine that is running on the cluster. // - // When a new major version of the Amazon Redshift engine is released, you + // When a new major version of the Amazon Redshift engine is released, you // can request that the service automatically apply upgrades during the maintenance // window to the Amazon Redshift engine that is running on your cluster. // @@ -3007,7 +6273,7 @@ type CreateClusterInput struct { // 0, automated snapshots are disabled. Even if automated snapshots are disabled, // you can still create manual snapshots when you want with CreateClusterSnapshot. // - // Default: 1 + // Default: 1 // // Constraints: Must be a value from 0 to 35. AutomatedSnapshotRetentionPeriod *int64 `type:"integer"` @@ -3017,13 +6283,13 @@ type CreateClusterInput struct { // specific Availability Zone, then you might want the cluster to be provisioned // in the same zone in order to decrease network latency. // - // Default: A random, system-chosen Availability Zone in the region that is + // Default: A random, system-chosen Availability Zone in the region that is // specified by the endpoint. // - // Example: us-east-1d + // Example: us-east-1d // - // Constraint: The specified Availability Zone must be in the same region - // as the current endpoint. + // Constraint: The specified Availability Zone must be in the same region as + // the current endpoint. AvailabilityZone *string `type:"string"` // A unique identifier for the cluster. You use this identifier to refer to @@ -3032,10 +6298,19 @@ type CreateClusterInput struct { // // Constraints: // - // Must contain from 1 to 63 alphanumeric characters or hyphens. Alphabetic - // characters must be lowercase. First character must be a letter. Cannot end - // with a hyphen or contain two consecutive hyphens. Must be unique for all - // clusters within an AWS account. Example: myexamplecluster + // Must contain from 1 to 63 alphanumeric characters or hyphens. + // + // Alphabetic characters must be lowercase. + // + // First character must be a letter. + // + // Cannot end with a hyphen or contain two consecutive hyphens. + // + // Must be unique for all clusters within an AWS account. + // + // Example: myexamplecluster + // + // ClusterIdentifier is a required field ClusterIdentifier *string `type:"string" required:"true"` // The name of the parameter group to be associated with this cluster. @@ -3044,28 +6319,33 @@ type CreateClusterInput struct { // about the default parameter group, go to Working with Amazon Redshift Parameter // Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html) // - // Constraints: + // Constraints: + // + // Must be 1 to 255 alphanumeric characters or hyphens. + // + // First character must be a letter. // - // Must be 1 to 255 alphanumeric characters or hyphens. First character must - // be a letter. Cannot end with a hyphen or contain two consecutive hyphens. + // Cannot end with a hyphen or contain two consecutive hyphens. ClusterParameterGroupName *string `type:"string"` // A list of security groups to be associated with this cluster. // - // Default: The default cluster security group for Amazon Redshift. + // Default: The default cluster security group for Amazon Redshift. ClusterSecurityGroups []*string `locationNameList:"ClusterSecurityGroupName" type:"list"` // The name of a cluster subnet group to be associated with this cluster. // - // If this parameter is not provided the resulting cluster will be deployed + // If this parameter is not provided the resulting cluster will be deployed // outside virtual private cloud (VPC). ClusterSubnetGroupName *string `type:"string"` - // The type of the cluster. When cluster type is specified as single-node, - // the NumberOfNodes parameter is not required. multi-node, the NumberOfNodes - // parameter is required. + // The type of the cluster. When cluster type is specified as + // + // single-node, the NumberOfNodes parameter is not required. + // + // multi-node, the NumberOfNodes parameter is required. // - // Valid Values: multi-node | single-node + // Valid Values: multi-node | single-node // // Default: multi-node ClusterType *string `type:"string"` @@ -3073,7 +6353,7 @@ type CreateClusterInput struct { // The version of the Amazon Redshift engine software that you want to deploy // on the cluster. // - // The version selected runs on all the nodes in the cluster. + // The version selected runs on all the nodes in the cluster. // // Constraints: Only version 1.0 is currently available. // @@ -3091,9 +6371,12 @@ type CreateClusterInput struct { // // Constraints: // - // Must contain 1 to 64 alphanumeric characters. Must contain only lowercase - // letters. Cannot be a word that is reserved by the service. A list of reserved - // words can be found in Reserved Words (http://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html) + // Must contain 1 to 64 alphanumeric characters. + // + // Must contain only lowercase letters. + // + // Cannot be a word that is reserved by the service. A list of reserved words + // can be found in Reserved Words (http://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html) // in the Amazon Redshift Database Developer Guide. DBName *string `type:"string"` @@ -3110,6 +6393,17 @@ type CreateClusterInput struct { // Default: false Encrypted *bool `type:"boolean"` + // An option that specifies whether to create the cluster with enhanced VPC + // routing enabled. To create a cluster that uses enhanced VPC routing, the + // cluster must be in a VPC. For more information, see Enhanced VPC Routing + // (http://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html) + // in the Amazon Redshift Cluster Management Guide. + // + // If this option is true, enhanced VPC routing is enabled. + // + // Default: false + EnhancedVpcRouting *bool `type:"boolean"` + // Specifies the name of the HSM client certificate the Amazon Redshift cluster // uses to retrieve the data encryption keys stored in an HSM. HsmClientCertificateIdentifier *string `type:"string"` @@ -3123,7 +6417,7 @@ type CreateClusterInput struct { // in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM roles // in a single request. // - // A cluster can have up to 10 IAM roles associated at any time. + // A cluster can have up to 10 IAM roles associated with it at any time. IamRoles []*string `locationNameList:"IamRoleArn" type:"list"` // The AWS Key Management Service (KMS) key ID of the encryption key that you @@ -3133,12 +6427,20 @@ type CreateClusterInput struct { // The password associated with the master user account for the cluster that // is being created. // - // Constraints: + // Constraints: + // + // Must be between 8 and 64 characters in length. + // + // Must contain at least one uppercase letter. + // + // Must contain at least one lowercase letter. // - // Must be between 8 and 64 characters in length. Must contain at least one - // uppercase letter. Must contain at least one lowercase letter. Must contain - // one number. Can be any printable ASCII character (ASCII code 33 to 126) except - // ' (single quote), " (double quote), \, /, @, or space. + // Must contain one number. + // + // Can be any printable ASCII character (ASCII code 33 to 126) except ' (single + // quote), " (double quote), \, /, @, or space. + // + // MasterUserPassword is a required field MasterUserPassword *string `type:"string" required:"true"` // The user name associated with the master user account for the cluster that @@ -3146,18 +6448,25 @@ type CreateClusterInput struct { // // Constraints: // - // Must be 1 - 128 alphanumeric characters. First character must be a letter. - // Cannot be a reserved word. A list of reserved words can be found in Reserved + // Must be 1 - 128 alphanumeric characters. + // + // First character must be a letter. + // + // Cannot be a reserved word. A list of reserved words can be found in Reserved // Words (http://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html) // in the Amazon Redshift Database Developer Guide. + // + // MasterUsername is a required field MasterUsername *string `type:"string" required:"true"` // The node type to be provisioned for the cluster. For information about node // types, go to Working with Clusters (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes) // in the Amazon Redshift Cluster Management Guide. // - // Valid Values: ds1.xlarge | ds1.8xlarge | ds2.xlarge | ds2.8xlarge | dc1.large + // Valid Values: ds1.xlarge | ds1.8xlarge | ds2.xlarge | ds2.8xlarge | dc1.large // | dc1.8xlarge. + // + // NodeType is a required field NodeType *string `type:"string" required:"true"` // The number of compute nodes in the cluster. This parameter is required when @@ -3182,9 +6491,9 @@ type CreateClusterInput struct { // Part of the connection string requires the port on which the cluster will // listen for incoming connections. // - // Default: 5439 + // Default: 5439 // - // Valid Values: 1150-65535 + // Valid Values: 1150-65535 Port *int64 `type:"integer"` // The weekly time range (in UTC) during which automated cluster maintenance @@ -3268,6 +6577,8 @@ type CreateClusterParameterGroupInput struct { _ struct{} `type:"structure"` // A description of the parameter group. + // + // Description is a required field Description *string `type:"string" required:"true"` // The Amazon Redshift engine version to which the cluster parameter group applies. @@ -3279,16 +6590,25 @@ type CreateClusterParameterGroupInput struct { // each Amazon Redshift engine version. The parameter group family names associated // with the default parameter groups provide you the valid values. For example, // a valid family name is "redshift-1.0". + // + // ParameterGroupFamily is a required field ParameterGroupFamily *string `type:"string" required:"true"` // The name of the cluster parameter group. // - // Constraints: + // Constraints: // - // Must be 1 to 255 alphanumeric characters or hyphens First character must - // be a letter. Cannot end with a hyphen or contain two consecutive hyphens. - // Must be unique withing your AWS account. This value is stored as a lower-case - // string. + // Must be 1 to 255 alphanumeric characters or hyphens + // + // First character must be a letter. + // + // Cannot end with a hyphen or contain two consecutive hyphens. + // + // Must be unique withing your AWS account. + // + // This value is stored as a lower-case string. + // + // ParameterGroupName is a required field ParameterGroupName *string `type:"string" required:"true"` // A list of tag instances. @@ -3349,12 +6669,20 @@ type CreateClusterSecurityGroupInput struct { // // Constraints: // - // Must contain no more than 255 alphanumeric characters or hyphens. Must - // not be "Default". Must be unique for all security groups that are created - // by your AWS account. Example: examplesecuritygroup + // Must contain no more than 255 alphanumeric characters or hyphens. + // + // Must not be "Default". + // + // Must be unique for all security groups that are created by your AWS account. + // + // Example: examplesecuritygroup + // + // ClusterSecurityGroupName is a required field ClusterSecurityGroupName *string `type:"string" required:"true"` // A description for the security group. + // + // Description is a required field Description *string `type:"string" required:"true"` // A list of tag instances. @@ -3408,6 +6736,8 @@ type CreateClusterSnapshotInput struct { _ struct{} `type:"structure"` // The cluster identifier for which you want a snapshot. + // + // ClusterIdentifier is a required field ClusterIdentifier *string `type:"string" required:"true"` // A unique identifier for the snapshot that you are requesting. This identifier @@ -3415,9 +6745,17 @@ type CreateClusterSnapshotInput struct { // // Constraints: // - // Cannot be null, empty, or blank Must contain from 1 to 255 alphanumeric - // characters or hyphens First character must be a letter Cannot end with a - // hyphen or contain two consecutive hyphens Example: my-snapshot-id + // Cannot be null, empty, or blank + // + // Must contain from 1 to 255 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens + // + // Example: my-snapshot-id + // + // SnapshotIdentifier is a required field SnapshotIdentifier *string `type:"string" required:"true"` // A list of tag instances. @@ -3475,16 +6813,26 @@ type CreateClusterSubnetGroupInput struct { // // Constraints: // - // Must contain no more than 255 alphanumeric characters or hyphens. Must - // not be "Default". Must be unique for all subnet groups that are created by - // your AWS account. Example: examplesubnetgroup + // Must contain no more than 255 alphanumeric characters or hyphens. + // + // Must not be "Default". + // + // Must be unique for all subnet groups that are created by your AWS account. + // + // Example: examplesubnetgroup + // + // ClusterSubnetGroupName is a required field ClusterSubnetGroupName *string `type:"string" required:"true"` // A description for the subnet group. + // + // Description is a required field Description *string `type:"string" required:"true"` // An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a // single request. + // + // SubnetIds is a required field SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"` // A list of tag instances. @@ -3559,6 +6907,8 @@ type CreateEventSubscriptionInput struct { // The Amazon Resource Name (ARN) of the Amazon SNS topic used to transmit the // event notifications. The ARN is created by Amazon SNS when you create a topic // and subscribe to it. + // + // SnsTopicArn is a required field SnsTopicArn *string `type:"string" required:"true"` // A list of one or more identifiers of Amazon Redshift source objects. All @@ -3586,9 +6936,15 @@ type CreateEventSubscriptionInput struct { // // Constraints: // - // Cannot be null, empty, or blank. Must contain from 1 to 255 alphanumeric - // characters or hyphens. First character must be a letter. Cannot end with - // a hyphen or contain two consecutive hyphens. + // Cannot be null, empty, or blank. + // + // Must contain from 1 to 255 alphanumeric characters or hyphens. + // + // First character must be a letter. + // + // Cannot end with a hyphen or contain two consecutive hyphens. + // + // SubscriptionName is a required field SubscriptionName *string `type:"string" required:"true"` // A list of tag instances. @@ -3643,6 +6999,8 @@ type CreateHsmClientCertificateInput struct { // The identifier to be assigned to the new HSM client certificate that the // cluster will use to connect to the HSM to use the database encryption keys. + // + // HsmClientCertificateIdentifier is a required field HsmClientCertificateIdentifier *string `type:"string" required:"true"` // A list of tag instances. @@ -3695,23 +7053,35 @@ type CreateHsmConfigurationInput struct { _ struct{} `type:"structure"` // A text description of the HSM configuration to be created. + // + // Description is a required field Description *string `type:"string" required:"true"` // The identifier to be assigned to the new Amazon Redshift HSM configuration. + // + // HsmConfigurationIdentifier is a required field HsmConfigurationIdentifier *string `type:"string" required:"true"` // The IP address that the Amazon Redshift cluster must use to access the HSM. + // + // HsmIpAddress is a required field HsmIpAddress *string `type:"string" required:"true"` // The name of the partition in the HSM where the Amazon Redshift clusters will // store their database encryption keys. + // + // HsmPartitionName is a required field HsmPartitionName *string `type:"string" required:"true"` // The password required to access the HSM partition. + // + // HsmPartitionPassword is a required field HsmPartitionPassword *string `type:"string" required:"true"` // The HSMs public certificate file. When using Cloud HSM, the file name is // server.pem. + // + // HsmServerPublicCertificate is a required field HsmServerPublicCertificate *string `type:"string" required:"true"` // A list of tag instances. @@ -3786,12 +7156,19 @@ type CreateSnapshotCopyGrantInput struct { // The name of the snapshot copy grant. This name must be unique in the region // for the AWS account. // - // Constraints: + // Constraints: + // + // Must contain from 1 to 63 alphanumeric characters or hyphens. + // + // Alphabetic characters must be lowercase. + // + // First character must be a letter. // - // Must contain from 1 to 63 alphanumeric characters or hyphens. Alphabetic - // characters must be lowercase. First character must be a letter. Cannot end - // with a hyphen or contain two consecutive hyphens. Must be unique for all - // clusters within an AWS account. + // Cannot end with a hyphen or contain two consecutive hyphens. + // + // Must be unique for all clusters within an AWS account. + // + // SnapshotCopyGrantName is a required field SnapshotCopyGrantName *string `type:"string" required:"true"` // A list of tag instances. @@ -3850,6 +7227,8 @@ type CreateTagsInput struct { // The Amazon Resource Name (ARN) to which you want to add the tag or tags. // For example, arn:aws:redshift:us-east-1:123456789:cluster:t1. + // + // ResourceName is a required field ResourceName *string `type:"string" required:"true"` // One or more name/value pairs to add as tags to the specified resource. Each @@ -3857,6 +7236,8 @@ type CreateTagsInput struct { // is passed in with the parameter Value. The Key and Value parameters are separated // by a comma (,). Separate multiple tags with a space. For example, --tags // "Key"="owner","Value"="admin" "Key"="environment","Value"="test" "Key"="version","Value"="1.0". + // + // Tags is a required field Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"` } @@ -3936,9 +7317,15 @@ type DeleteClusterInput struct { // // Constraints: // - // Must contain lowercase characters. Must contain from 1 to 63 alphanumeric - // characters or hyphens. First character must be a letter. Cannot end with - // a hyphen or contain two consecutive hyphens. + // Must contain lowercase characters. + // + // Must contain from 1 to 63 alphanumeric characters or hyphens. + // + // First character must be a letter. + // + // Cannot end with a hyphen or contain two consecutive hyphens. + // + // ClusterIdentifier is a required field ClusterIdentifier *string `type:"string" required:"true"` // The identifier of the final snapshot that is to be created immediately before @@ -3947,16 +7334,21 @@ type DeleteClusterInput struct { // // Constraints: // - // Must be 1 to 255 alphanumeric characters. First character must be a letter. - // Cannot end with a hyphen or contain two consecutive hyphens. + // Must be 1 to 255 alphanumeric characters. + // + // First character must be a letter. + // + // Cannot end with a hyphen or contain two consecutive hyphens. FinalClusterSnapshotIdentifier *string `type:"string"` // Determines whether a final snapshot of the cluster is created before Amazon // Redshift deletes the cluster. If true, a final cluster snapshot is not created. // If false, a final cluster snapshot is created before the cluster is deleted. // - // The FinalClusterSnapshotIdentifier parameter must be specified if SkipFinalClusterSnapshot - // is false. Default: false + // The FinalClusterSnapshotIdentifier parameter must be specified if SkipFinalClusterSnapshot + // is false. + // + // Default: false SkipFinalClusterSnapshot *bool `type:"boolean"` } @@ -4007,8 +7399,11 @@ type DeleteClusterParameterGroupInput struct { // // Constraints: // - // Must be the name of an existing cluster parameter group. Cannot delete - // a default cluster parameter group. + // Must be the name of an existing cluster parameter group. + // + // Cannot delete a default cluster parameter group. + // + // ParameterGroupName is a required field ParameterGroupName *string `type:"string" required:"true"` } @@ -4053,6 +7448,8 @@ type DeleteClusterSecurityGroupInput struct { _ struct{} `type:"structure"` // The name of the cluster security group to be deleted. + // + // ClusterSecurityGroupName is a required field ClusterSecurityGroupName *string `type:"string" required:"true"` } @@ -4107,6 +7504,8 @@ type DeleteClusterSnapshotInput struct { // // Constraints: Must be the name of an existing snapshot that is in the available // state. + // + // SnapshotIdentifier is a required field SnapshotIdentifier *string `type:"string" required:"true"` } @@ -4154,6 +7553,8 @@ type DeleteClusterSubnetGroupInput struct { _ struct{} `type:"structure"` // The name of the cluster subnet group name to be deleted. + // + // ClusterSubnetGroupName is a required field ClusterSubnetGroupName *string `type:"string" required:"true"` } @@ -4198,6 +7599,8 @@ type DeleteEventSubscriptionInput struct { _ struct{} `type:"structure"` // The name of the Amazon Redshift event notification subscription to be deleted. + // + // SubscriptionName is a required field SubscriptionName *string `type:"string" required:"true"` } @@ -4242,6 +7645,8 @@ type DeleteHsmClientCertificateInput struct { _ struct{} `type:"structure"` // The identifier of the HSM client certificate to be deleted. + // + // HsmClientCertificateIdentifier is a required field HsmClientCertificateIdentifier *string `type:"string" required:"true"` } @@ -4286,6 +7691,8 @@ type DeleteHsmConfigurationInput struct { _ struct{} `type:"structure"` // The identifier of the Amazon Redshift HSM configuration to be deleted. + // + // HsmConfigurationIdentifier is a required field HsmConfigurationIdentifier *string `type:"string" required:"true"` } @@ -4331,6 +7738,8 @@ type DeleteSnapshotCopyGrantInput struct { _ struct{} `type:"structure"` // The name of the snapshot copy grant to delete. + // + // SnapshotCopyGrantName is a required field SnapshotCopyGrantName *string `type:"string" required:"true"` } @@ -4377,9 +7786,13 @@ type DeleteTagsInput struct { // The Amazon Resource Name (ARN) from which you want to remove the tag or tags. // For example, arn:aws:redshift:us-east-1:123456789:cluster:t1. + // + // ResourceName is a required field ResourceName *string `type:"string" required:"true"` // The tag key that you want to delete. + // + // TagKeys is a required field TagKeys []*string `locationNameList:"TagKey" type:"list" required:"true"` } @@ -4523,6 +7936,8 @@ type DescribeClusterParametersInput struct { MaxRecords *int64 `type:"integer"` // The name of a cluster parameter group for which to return details. + // + // ParameterGroupName is a required field ParameterGroupName *string `type:"string" required:"true"` // The parameter types to return. Specify user to show parameters that are different @@ -4601,7 +8016,7 @@ type DescribeClusterSecurityGroupsInput struct { // by providing the returned marker value in the Marker parameter and retrying // the request. // - // Constraints: You can specify either the ClusterSecurityGroupName parameter + // Constraints: You can specify either the ClusterSecurityGroupName parameter // or the Marker parameter, but not both. Marker *string `type:"string"` @@ -4709,7 +8124,7 @@ type DescribeClusterSnapshotsInput struct { // The type of snapshots for which you are requesting information. By default, // snapshots of all types are returned. // - // Valid Values: automated | manual + // Valid Values: automated | manual SnapshotType *string `type:"string"` // A value that requests only snapshots created at or after the specified time. @@ -4854,8 +8269,11 @@ type DescribeClusterVersionsInput struct { // // Constraints: // - // Must be 1 to 255 alphanumeric characters First character must be a letter - // Cannot end with a hyphen or contain two consecutive hyphens + // Must be 1 to 255 alphanumeric characters + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens ClusterParameterGroupFamily *string `type:"string"` // The specific cluster version to return. @@ -4931,8 +8349,8 @@ type DescribeClustersInput struct { // the response. You can retrieve the next set of response records by providing // the returned marker value in the Marker parameter and retrying the request. // - // Constraints: You can specify either the ClusterIdentifier parameter or - // the Marker parameter, but not both. + // Constraints: You can specify either the ClusterIdentifier parameter or the + // Marker parameter, but not both. Marker *string `type:"string"` // The maximum number of response records to return in each call. If the number @@ -5019,6 +8437,8 @@ type DescribeDefaultClusterParametersInput struct { MaxRecords *int64 `type:"integer"` // The name of the cluster parameter group family. + // + // ParameterGroupFamily is a required field ParameterGroupFamily *string `type:"string" required:"true"` } @@ -5068,7 +8488,7 @@ type DescribeEventCategoriesInput struct { // The source type, such as cluster or parameter group, to which the described // event categories apply. // - // Valid values: cluster, cluster-snapshot, cluster-parameter-group, and cluster-security-group. + // Valid values: cluster, cluster-snapshot, cluster-parameter-group, and cluster-security-group. SourceType *string `type:"string"` } @@ -5199,10 +8619,13 @@ type DescribeEventsInput struct { // // If SourceIdentifier is supplied, SourceType must also be provided. // - // Specify a cluster identifier when SourceType is cluster. Specify a cluster - // security group name when SourceType is cluster-security-group. Specify a - // cluster parameter group name when SourceType is cluster-parameter-group. - // Specify a cluster snapshot identifier when SourceType is cluster-snapshot. + // Specify a cluster identifier when SourceType is cluster. + // + // Specify a cluster security group name when SourceType is cluster-security-group. + // + // Specify a cluster parameter group name when SourceType is cluster-parameter-group. + // + // Specify a cluster snapshot identifier when SourceType is cluster-snapshot. SourceIdentifier *string `type:"string"` // The event source to retrieve events for. If no value is specified, all events @@ -5212,11 +8635,15 @@ type DescribeEventsInput struct { // // If SourceType is supplied, SourceIdentifier must also be provided. // - // Specify cluster when SourceIdentifier is a cluster identifier. Specify - // cluster-security-group when SourceIdentifier is a cluster security group - // name. Specify cluster-parameter-group when SourceIdentifier is a cluster - // parameter group name. Specify cluster-snapshot when SourceIdentifier is a - // cluster snapshot identifier. + // Specify cluster when SourceIdentifier is a cluster identifier. + // + // Specify cluster-security-group when SourceIdentifier is a cluster security + // group name. + // + // Specify cluster-parameter-group when SourceIdentifier is a cluster parameter + // group name. + // + // Specify cluster-snapshot when SourceIdentifier is a cluster snapshot identifier. SourceType *string `type:"string" enum:"SourceType"` // The beginning of the time interval to retrieve events for, specified in ISO @@ -5423,6 +8850,8 @@ type DescribeLoggingStatusInput struct { // The identifier of the cluster from which to get the logging status. // // Example: examplecluster + // + // ClusterIdentifier is a required field ClusterIdentifier *string `type:"string" required:"true"` } @@ -5644,6 +9073,8 @@ type DescribeResizeInput struct { // // By default, resize operations for all clusters defined for an AWS account // are returned. + // + // ClusterIdentifier is a required field ClusterIdentifier *string `type:"string" required:"true"` } @@ -5755,7 +9186,7 @@ type DescribeSnapshotCopyGrantsInput struct { // by providing the returned marker value in the Marker parameter and retrying // the request. // - // Constraints: You can specify either the SnapshotCopyGrantName parameter + // Constraints: You can specify either the SnapshotCopyGrantName parameter // or the Marker parameter, but not both. Marker *string `type:"string"` @@ -5809,7 +9240,7 @@ type DescribeSnapshotCopyGrantsOutput struct { // by providing the returned marker value in the Marker parameter and retrying // the request. // - // Constraints: You can specify either the SnapshotCopyGrantName parameter + // Constraints: You can specify either the SnapshotCopyGrantName parameter // or the Marker parameter, but not both. Marker *string `type:"string"` @@ -5901,11 +9332,29 @@ type DescribeTagsInput struct { ResourceName *string `type:"string"` // The type of resource with which you want to view tags. Valid resource types - // are: Cluster CIDR/IP EC2 security group Snapshot Cluster security group - // Subnet group HSM connection HSM certificate Parameter group Snapshot copy - // grant + // are: + // + // Cluster + // + // CIDR/IP // - // For more information about Amazon Redshift resource types and constructing + // EC2 security group + // + // Snapshot + // + // Cluster security group + // + // Subnet group + // + // HSM connection + // + // HSM certificate + // + // Parameter group + // + // Snapshot copy grant + // + // For more information about Amazon Redshift resource types and constructing // ARNs, go to Constructing an Amazon Redshift Amazon Resource Name (ARN) (http://docs.aws.amazon.com/redshift/latest/mgmt/constructing-redshift-arn.html) // in the Amazon Redshift Cluster Management Guide. ResourceType *string `type:"string"` @@ -5967,6 +9416,8 @@ type DisableLoggingInput struct { // The identifier of the cluster on which logging is to be stopped. // // Example: examplecluster + // + // ClusterIdentifier is a required field ClusterIdentifier *string `type:"string" required:"true"` } @@ -5999,8 +9450,10 @@ type DisableSnapshotCopyInput struct { // The unique identifier of the source cluster that you want to disable copying // of snapshots to a destination region. // - // Constraints: Must be the valid name of an existing cluster that has cross-region + // Constraints: Must be the valid name of an existing cluster that has cross-region // snapshot copy enabled. + // + // ClusterIdentifier is a required field ClusterIdentifier *string `type:"string" required:"true"` } @@ -6100,22 +9553,39 @@ type EnableLoggingInput struct { // // Constraints: // - // Must be in the same region as the cluster The cluster must have read bucket - // and put object permissions + // Must be in the same region as the cluster + // + // The cluster must have read bucket and put object permissions + // + // BucketName is a required field BucketName *string `type:"string" required:"true"` // The identifier of the cluster on which logging is to be started. // // Example: examplecluster + // + // ClusterIdentifier is a required field ClusterIdentifier *string `type:"string" required:"true"` // The prefix applied to the log file names. // // Constraints: // - // Cannot exceed 512 characters Cannot contain spaces( ), double quotes ("), - // single quotes ('), a backslash (\), or control characters. The hexadecimal - // codes for invalid characters are: x00 to x20 x22 x27 x5c x7f or larger + // Cannot exceed 512 characters + // + // Cannot contain spaces( ), double quotes ("), single quotes ('), a backslash + // (\), or control characters. The hexadecimal codes for invalid characters + // are: + // + // x00 to x20 + // + // x22 + // + // x27 + // + // x5c + // + // x7f or larger S3KeyPrefix *string `type:"string"` } @@ -6150,23 +9620,27 @@ type EnableSnapshotCopyInput struct { // The unique identifier of the source cluster to copy snapshots from. // - // Constraints: Must be the valid name of an existing cluster that does not + // Constraints: Must be the valid name of an existing cluster that does not // already have cross-region snapshot copy enabled. + // + // ClusterIdentifier is a required field ClusterIdentifier *string `type:"string" required:"true"` // The destination region that you want to copy snapshots to. // - // Constraints: Must be the name of a valid region. For more information, - // see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#redshift_region) + // Constraints: Must be the name of a valid region. For more information, see + // Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#redshift_region) // in the Amazon Web Services General Reference. + // + // DestinationRegion is a required field DestinationRegion *string `type:"string" required:"true"` // The number of days to retain automated snapshots in the destination region // after they are copied from the source region. // - // Default: 7. + // Default: 7. // - // Constraints: Must be at least 1 and no more than 35. + // Constraints: Must be at least 1 and no more than 35. RetentionPeriod *int64 `type:"integer"` // The name of the snapshot copy grant to use when snapshots of an AWS KMS-encrypted @@ -6371,10 +9845,11 @@ type EventSubscription struct { // // Constraints: // - // Can be one of the following: active | no-permission | topic-not-exist The - // status "no-permission" indicates that Amazon Redshift no longer has permission - // to post to the Amazon SNS topic. The status "topic-not-exist" indicates that - // the topic was deleted after the subscription was created. + // Can be one of the following: active | no-permission | topic-not-exist + // + // The status "no-permission" indicates that Amazon Redshift no longer has + // permission to post to the Amazon SNS topic. The status "topic-not-exist" + // indicates that the topic was deleted after the subscription was created. Status *string `type:"string"` // The date and time the Amazon Redshift event notification subscription was @@ -6544,17 +10019,19 @@ func (s LoggingStatus) GoString() string { type ModifyClusterIamRolesInput struct { _ struct{} `type:"structure"` - // Zero or more IAM roles (in their ARN format) to associate with the cluster. - // You can associate up to 10 IAM roles with a single cluster in a single request. + // Zero or more IAM roles to associate with the cluster. The roles must be in + // their Amazon Resource Name (ARN) format. You can associate up to 10 IAM roles + // with a single cluster in a single request. AddIamRoles []*string `locationNameList:"IamRoleArn" type:"list"` // The unique identifier of the cluster for which you want to associate or disassociate // IAM roles. + // + // ClusterIdentifier is a required field ClusterIdentifier *string `type:"string" required:"true"` - // Zero or more IAM roles (in their ARN format) to disassociate from the cluster. - // You can disassociate up to 10 IAM roles from a single cluster in a single - // request. + // Zero or more IAM roles in ARN format to disassociate from the cluster. You + // can disassociate up to 10 IAM roles from a single cluster in a single request. RemoveIamRoles []*string `locationNameList:"IamRoleArn" type:"list"` } @@ -6611,7 +10088,7 @@ type ModifyClusterInput struct { // 0, automated snapshots are disabled. Even if automated snapshots are disabled, // you can still create manual snapshots when you want with CreateClusterSnapshot. // - // If you decrease the automated snapshot retention period from its current + // If you decrease the automated snapshot retention period from its current // value, existing automated snapshots that fall outside of the new retention // period will be immediately deleted. // @@ -6623,6 +10100,8 @@ type ModifyClusterInput struct { // The unique identifier of the cluster to be modified. // // Example: examplecluster + // + // ClusterIdentifier is a required field ClusterIdentifier *string `type:"string" required:"true"` // The name of the cluster parameter group to apply to this cluster. This change @@ -6642,13 +10121,16 @@ type ModifyClusterInput struct { // // Constraints: // - // Must be 1 to 255 alphanumeric characters or hyphens First character must - // be a letter Cannot end with a hyphen or contain two consecutive hyphens + // Must be 1 to 255 alphanumeric characters or hyphens + // + // First character must be a letter + // + // Cannot end with a hyphen or contain two consecutive hyphens ClusterSecurityGroups []*string `locationNameList:"ClusterSecurityGroupName" type:"list"` // The new cluster type. // - // When you submit your cluster resize request, your existing cluster goes + // When you submit your cluster resize request, your existing cluster goes // into a read-only mode. After Amazon Redshift provisions a new cluster based // on your resize requirements, there will be outage for a period while the // old cluster is deleted and your connection is switched to the new cluster. @@ -6659,7 +10141,7 @@ type ModifyClusterInput struct { // The new version number of the Amazon Redshift engine to upgrade to. // - // For major version upgrades, if a non-default cluster parameter group is + // For major version upgrades, if a non-default cluster parameter group is // currently in use, a new cluster parameter group in the cluster parameter // group family for the new version must be specified. The new cluster parameter // group can be the default for that cluster parameter group family. For more @@ -6678,6 +10160,17 @@ type ModifyClusterInput struct { // in the Amazon Redshift Cluster Management Guide. ElasticIp *string `type:"string"` + // An option that specifies whether to create the cluster with enhanced VPC + // routing enabled. To create a cluster that uses enhanced VPC routing, the + // cluster must be in a VPC. For more information, see Enhanced VPC Routing + // (http://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html) + // in the Amazon Redshift Cluster Management Guide. + // + // If this option is true, enhanced VPC routing is enabled. + // + // Default: false + EnhancedVpcRouting *bool `type:"boolean"` + // Specifies the name of the HSM client certificate the Amazon Redshift cluster // uses to retrieve the data encryption keys stored in an HSM. HsmClientCertificateIdentifier *string `type:"string"` @@ -6689,35 +10182,50 @@ type ModifyClusterInput struct { // The new password for the cluster master user. This change is asynchronously // applied as soon as possible. Between the time of the request and the completion // of the request, the MasterUserPassword element exists in the PendingModifiedValues - // element of the operation response. Operations never return the password, - // so this operation provides a way to regain access to the master user account - // for a cluster if the password is lost. + // element of the operation response. // - // Default: Uses existing setting. + // Operations never return the password, so this operation provides a way + // to regain access to the master user account for a cluster if the password + // is lost. + // + // Default: Uses existing setting. + // + // Constraints: // - // Constraints: + // Must be between 8 and 64 characters in length. // - // Must be between 8 and 64 characters in length. Must contain at least one - // uppercase letter. Must contain at least one lowercase letter. Must contain - // one number. Can be any printable ASCII character (ASCII code 33 to 126) except - // ' (single quote), " (double quote), \, /, @, or space. + // Must contain at least one uppercase letter. + // + // Must contain at least one lowercase letter. + // + // Must contain one number. + // + // Can be any printable ASCII character (ASCII code 33 to 126) except ' (single + // quote), " (double quote), \, /, @, or space. MasterUserPassword *string `type:"string"` // The new identifier for the cluster. // // Constraints: // - // Must contain from 1 to 63 alphanumeric characters or hyphens. Alphabetic - // characters must be lowercase. First character must be a letter. Cannot end - // with a hyphen or contain two consecutive hyphens. Must be unique for all - // clusters within an AWS account. Example: examplecluster + // Must contain from 1 to 63 alphanumeric characters or hyphens. + // + // Alphabetic characters must be lowercase. + // + // First character must be a letter. + // + // Cannot end with a hyphen or contain two consecutive hyphens. + // + // Must be unique for all clusters within an AWS account. + // + // Example: examplecluster NewClusterIdentifier *string `type:"string"` // The new node type of the cluster. If you specify a new node type, you must // also specify the number of nodes parameter. // - // When you submit your request to resize a cluster, Amazon Redshift sets - // access permissions for the cluster to read-only. After Amazon Redshift provisions + // When you submit your request to resize a cluster, Amazon Redshift sets access + // permissions for the cluster to read-only. After Amazon Redshift provisions // a new cluster according to your resize requirements, there will be a temporary // outage while the old cluster is deleted and your connection is switched to // the new cluster. When the new connection is complete, the original access @@ -6731,8 +10239,8 @@ type ModifyClusterInput struct { // The new number of nodes of the cluster. If you specify a new number of nodes, // you must also specify the node type parameter. // - // When you submit your request to resize a cluster, Amazon Redshift sets - // access permissions for the cluster to read-only. After Amazon Redshift provisions + // When you submit your request to resize a cluster, Amazon Redshift sets access + // permissions for the cluster to read-only. After Amazon Redshift provisions // a new cluster according to your resize requirements, there will be a temporary // outage while the old cluster is deleted and your connection is switched to // the new cluster. When the new connection is complete, the original access @@ -6746,7 +10254,7 @@ type ModifyClusterInput struct { // if necessary. If system maintenance is necessary during the window, it may // result in an outage. // - // This maintenance window change is made immediately. If the new maintenance + // This maintenance window change is made immediately. If the new maintenance // window indicates the current time, there must be at least 120 minutes between // the current time and end of the window in order to ensure that pending changes // are applied. @@ -6813,16 +10321,20 @@ type ModifyClusterParameterGroupInput struct { _ struct{} `type:"structure"` // The name of the parameter group to be modified. + // + // ParameterGroupName is a required field ParameterGroupName *string `type:"string" required:"true"` // An array of parameters to be modified. A maximum of 20 parameters can be // modified in a single request. // - // For each parameter to be modified, you must supply at least the parameter + // For each parameter to be modified, you must supply at least the parameter // name and parameter value; other name-value pairs of the parameter are optional. // - // For the workload management (WLM) configuration, you must supply all the + // For the workload management (WLM) configuration, you must supply all the // name-value pairs in the wlm_json_configuration parameter. + // + // Parameters is a required field Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"` } @@ -6856,6 +10368,8 @@ type ModifyClusterSubnetGroupInput struct { _ struct{} `type:"structure"` // The name of the subnet group to be modified. + // + // ClusterSubnetGroupName is a required field ClusterSubnetGroupName *string `type:"string" required:"true"` // A text description of the subnet group to be modified. @@ -6863,6 +10377,8 @@ type ModifyClusterSubnetGroupInput struct { // An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a // single request. + // + // SubnetIds is a required field SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"` } @@ -6954,6 +10470,8 @@ type ModifyEventSubscriptionInput struct { SourceType *string `type:"string"` // The name of the modified Amazon Redshift event notification subscription. + // + // SubscriptionName is a required field SubscriptionName *string `type:"string" required:"true"` } @@ -7003,19 +10521,23 @@ type ModifySnapshotCopyRetentionPeriodInput struct { // The unique identifier of the cluster for which you want to change the retention // period for automated snapshots that are copied to a destination region. // - // Constraints: Must be the valid name of an existing cluster that has cross-region + // Constraints: Must be the valid name of an existing cluster that has cross-region // snapshot copy enabled. + // + // ClusterIdentifier is a required field ClusterIdentifier *string `type:"string" required:"true"` // The number of days to retain automated snapshots in the destination region // after they are copied from the source region. // - // If you decrease the retention period for automated snapshots that are copied + // If you decrease the retention period for automated snapshots that are copied // to a destination region, Amazon Redshift will delete any existing automated // snapshots that were copied to the destination region and that fall outside // of the new retention period. // - // Constraints: Must be at least 1 and no more than 35. + // Constraints: Must be at least 1 and no more than 35. + // + // RetentionPeriod is a required field RetentionPeriod *int64 `type:"integer" required:"true"` } @@ -7154,6 +10676,17 @@ type PendingModifiedValues struct { // The pending or in-progress change of the service version. ClusterVersion *string `type:"string"` + // An option that specifies whether to create the cluster with enhanced VPC + // routing enabled. To create a cluster that uses enhanced VPC routing, the + // cluster must be in a VPC. For more information, see Enhanced VPC Routing + // (http://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html) + // in the Amazon Redshift Cluster Management Guide. + // + // If this option is true, enhanced VPC routing is enabled. + // + // Default: false + EnhancedVpcRouting *bool `type:"boolean"` + // The pending or in-progress change of the master user password for the cluster. MasterUserPassword *string `type:"string"` @@ -7187,6 +10720,8 @@ type PurchaseReservedNodeOfferingInput struct { NodeCount *int64 `type:"integer"` // The unique identifier of the reserved node offering you want to purchase. + // + // ReservedNodeOfferingId is a required field ReservedNodeOfferingId *string `type:"string" required:"true"` } @@ -7235,6 +10770,8 @@ type RebootClusterInput struct { _ struct{} `type:"structure"` // The cluster identifier. + // + // ClusterIdentifier is a required field ClusterIdentifier *string `type:"string" required:"true"` } @@ -7341,10 +10878,13 @@ type ReservedNode struct { // // Possible Values: // - // pending-payment-This reserved node has recently been purchased, and the - // sale has been approved, but payment has not yet been confirmed. active-This - // reserved node is owned by the caller and is available for use. payment-failed-Payment - // failed for the purchase attempt. + // pending-payment-This reserved node has recently been purchased, and the + // sale has been approved, but payment has not yet been confirmed. + // + // active-This reserved node is owned by the caller and is available for + // use. + // + // payment-failed-Payment failed for the purchase attempt. State *string `type:"string"` // The hourly rate Amazon Redshift charges you for this reserved node. @@ -7409,6 +10949,8 @@ type ResetClusterParameterGroupInput struct { _ struct{} `type:"structure"` // The name of the cluster parameter group to be reset. + // + // ParameterGroupName is a required field ParameterGroupName *string `type:"string" required:"true"` // An array of names of parameters to be reset. If ResetAllParameters option @@ -7463,7 +11005,7 @@ type RestoreFromClusterSnapshotInput struct { // 0, automated snapshots are disabled. Even if automated snapshots are disabled, // you can still create manual snapshots when you want with CreateClusterSnapshot. // - // Default: The value selected for the cluster from which the snapshot was + // Default: The value selected for the cluster from which the snapshot was // taken. // // Constraints: Must be a value from 0 to 35. @@ -7478,12 +11020,19 @@ type RestoreFromClusterSnapshotInput struct { // The identifier of the cluster that will be created from restoring the snapshot. // - // Constraints: + // Constraints: + // + // Must contain from 1 to 63 alphanumeric characters or hyphens. // - // Must contain from 1 to 63 alphanumeric characters or hyphens. Alphabetic - // characters must be lowercase. First character must be a letter. Cannot end - // with a hyphen or contain two consecutive hyphens. Must be unique for all - // clusters within an AWS account. + // Alphabetic characters must be lowercase. + // + // First character must be a letter. + // + // Cannot end with a hyphen or contain two consecutive hyphens. + // + // Must be unique for all clusters within an AWS account. + // + // ClusterIdentifier is a required field ClusterIdentifier *string `type:"string" required:"true"` // The name of the parameter group to be associated with this cluster. @@ -7492,28 +11041,42 @@ type RestoreFromClusterSnapshotInput struct { // about the default parameter group, go to Working with Amazon Redshift Parameter // Groups (http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html). // - // Constraints: + // Constraints: + // + // Must be 1 to 255 alphanumeric characters or hyphens. // - // Must be 1 to 255 alphanumeric characters or hyphens. First character must - // be a letter. Cannot end with a hyphen or contain two consecutive hyphens. + // First character must be a letter. + // + // Cannot end with a hyphen or contain two consecutive hyphens. ClusterParameterGroupName *string `type:"string"` // A list of security groups to be associated with this cluster. // - // Default: The default cluster security group for Amazon Redshift. + // Default: The default cluster security group for Amazon Redshift. // // Cluster security groups only apply to clusters outside of VPCs. ClusterSecurityGroups []*string `locationNameList:"ClusterSecurityGroupName" type:"list"` // The name of the subnet group where you want to cluster restored. // - // A snapshot of cluster in VPC can be restored only in VPC. Therefore, you + // A snapshot of cluster in VPC can be restored only in VPC. Therefore, you // must provide subnet group name where you want the cluster restored. ClusterSubnetGroupName *string `type:"string"` // The elastic IP (EIP) address for the cluster. ElasticIp *string `type:"string"` + // An option that specifies whether to create the cluster with enhanced VPC + // routing enabled. To create a cluster that uses enhanced VPC routing, the + // cluster must be in a VPC. For more information, see Enhanced VPC Routing + // (http://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html) + // in the Amazon Redshift Cluster Management Guide. + // + // If this option is true, enhanced VPC routing is enabled. + // + // Default: false + EnhancedVpcRouting *bool `type:"boolean"` + // Specifies the name of the HSM client certificate the Amazon Redshift cluster // uses to retrieve the data encryption keys stored in an HSM. HsmClientCertificateIdentifier *string `type:"string"` @@ -7537,7 +11100,7 @@ type RestoreFromClusterSnapshotInput struct { // The node type that the restored cluster will be provisioned with. // - // Default: The node type of the cluster from which the snapshot was taken. + // Default: The node type of the cluster from which the snapshot was taken. // You can modify this if you are using any DS node type. In that case, you // can choose to restore into another DS node type of the same size. For example, // you can restore ds1.8xlarge into ds2.8xlarge, or ds2.xlarge into ds1.xlarge. @@ -7586,14 +11149,16 @@ type RestoreFromClusterSnapshotInput struct { // isn't case sensitive. // // Example: my-snapshot-id + // + // SnapshotIdentifier is a required field SnapshotIdentifier *string `type:"string" required:"true"` // A list of Virtual Private Cloud (VPC) security groups to be associated with // the cluster. // - // Default: The default VPC security group is associated with the cluster. + // Default: The default VPC security group is associated with the cluster. // - // VPC security groups only apply to clusters in VPCs. + // VPC security groups only apply to clusters in VPCs. VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"` } @@ -7682,17 +11247,25 @@ type RestoreTableFromClusterSnapshotInput struct { _ struct{} `type:"structure"` // The identifier of the Amazon Redshift cluster to restore the table to. + // + // ClusterIdentifier is a required field ClusterIdentifier *string `type:"string" required:"true"` // The name of the table to create as a result of the current request. + // + // NewTableName is a required field NewTableName *string `type:"string" required:"true"` // The identifier of the snapshot to restore the table from. This snapshot must // have been created from the Amazon Redshift cluster specified by the ClusterIdentifier // parameter. + // + // SnapshotIdentifier is a required field SnapshotIdentifier *string `type:"string" required:"true"` // The name of the source database that contains the table to restore from. + // + // SourceDatabaseName is a required field SourceDatabaseName *string `type:"string" required:"true"` // The name of the source schema that contains the table to restore from. If @@ -7700,6 +11273,8 @@ type RestoreTableFromClusterSnapshotInput struct { SourceSchemaName *string `type:"string"` // The name of the source table to restore from. + // + // SourceTableName is a required field SourceTableName *string `type:"string" required:"true"` // The name of the database to restore the table to. @@ -7770,6 +11345,8 @@ type RevokeClusterSecurityGroupIngressInput struct { CIDRIP *string `type:"string"` // The name of the security Group from which to revoke the ingress rule. + // + // ClusterSecurityGroupName is a required field ClusterSecurityGroupName *string `type:"string" required:"true"` // The name of the EC2 Security Group whose access is to be revoked. If EC2SecurityGroupName @@ -7831,6 +11408,8 @@ type RevokeSnapshotAccessInput struct { // The identifier of the AWS customer account that can no longer restore the // specified snapshot. + // + // AccountWithRestoreAccess is a required field AccountWithRestoreAccess *string `type:"string" required:"true"` // The identifier of the cluster the snapshot was created from. This parameter @@ -7839,6 +11418,8 @@ type RevokeSnapshotAccessInput struct { SnapshotClusterIdentifier *string `type:"string"` // The identifier of the snapshot that the account can no longer access. + // + // SnapshotIdentifier is a required field SnapshotIdentifier *string `type:"string" required:"true"` } @@ -7891,7 +11472,9 @@ type RotateEncryptionKeyInput struct { // The unique identifier of the cluster that you want to rotate the encryption // keys for. // - // Constraints: Must be the name of valid cluster that has encryption enabled. + // Constraints: Must be the name of valid cluster that has encryption enabled. + // + // ClusterIdentifier is a required field ClusterIdentifier *string `type:"string" required:"true"` } @@ -7980,6 +11563,17 @@ type Snapshot struct { // using HSM keys. EncryptedWithHSM *bool `type:"boolean"` + // An option that specifies whether to create the cluster with enhanced VPC + // routing enabled. To create a cluster that uses enhanced VPC routing, the + // cluster must be in a VPC. For more information, see Enhanced VPC Routing + // (http://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html) + // in the Amazon Redshift Cluster Management Guide. + // + // If this option is true, enhanced VPC routing is enabled. + // + // Default: false + EnhancedVpcRouting *bool `type:"boolean"` + // The estimate of the time remaining before the snapshot backup will complete. // Returns 0 for a completed backup. EstimatedSecondsToCompletion *int64 `type:"long"` @@ -8023,9 +11617,14 @@ type Snapshot struct { SourceRegion *string `type:"string"` // The snapshot status. The value of the status depends on the API operation - // used. CreateClusterSnapshot and CopyClusterSnapshot returns status as "creating". - // DescribeClusterSnapshots returns status as "creating", "available", "final - // snapshot", or "failed". DeleteClusterSnapshot returns status as "deleted". + // used. + // + // CreateClusterSnapshot and CopyClusterSnapshot returns status as "creating". + // + // DescribeClusterSnapshots returns status as "creating", "available", "final + // snapshot", or "failed". + // + // DeleteClusterSnapshot returns status as "deleted". Status *string `type:"string"` // The list of tags for the cluster snapshot. @@ -8197,10 +11796,27 @@ type TaggedResource struct { ResourceName *string `type:"string"` // The type of resource with which the tag is associated. Valid resource types - // are: Cluster CIDR/IP EC2 security group Snapshot Cluster security group - // Subnet group HSM connection HSM certificate Parameter group + // are: + // + // Cluster // - // For more information about Amazon Redshift resource types and constructing + // CIDR/IP + // + // EC2 security group + // + // Snapshot + // + // Cluster security group + // + // Subnet group + // + // HSM connection + // + // HSM certificate + // + // Parameter group + // + // For more information about Amazon Redshift resource types and constructing // ARNs, go to Constructing an Amazon Redshift Amazon Resource Name (ARN) (http://docs.aws.amazon.com/redshift/latest/mgmt/constructing-redshift-arn.html) // in the Amazon Redshift Cluster Management Guide. ResourceType *string `type:"string"` @@ -8241,32 +11857,40 @@ func (s VpcSecurityGroupMembership) GoString() string { } const ( - // @enum ParameterApplyType + // ParameterApplyTypeStatic is a ParameterApplyType enum value ParameterApplyTypeStatic = "static" - // @enum ParameterApplyType + + // ParameterApplyTypeDynamic is a ParameterApplyType enum value ParameterApplyTypeDynamic = "dynamic" ) const ( - // @enum SourceType + // SourceTypeCluster is a SourceType enum value SourceTypeCluster = "cluster" - // @enum SourceType + + // SourceTypeClusterParameterGroup is a SourceType enum value SourceTypeClusterParameterGroup = "cluster-parameter-group" - // @enum SourceType + + // SourceTypeClusterSecurityGroup is a SourceType enum value SourceTypeClusterSecurityGroup = "cluster-security-group" - // @enum SourceType + + // SourceTypeClusterSnapshot is a SourceType enum value SourceTypeClusterSnapshot = "cluster-snapshot" ) const ( - // @enum TableRestoreStatusType + // TableRestoreStatusTypePending is a TableRestoreStatusType enum value TableRestoreStatusTypePending = "PENDING" - // @enum TableRestoreStatusType + + // TableRestoreStatusTypeInProgress is a TableRestoreStatusType enum value TableRestoreStatusTypeInProgress = "IN_PROGRESS" - // @enum TableRestoreStatusType + + // TableRestoreStatusTypeSucceeded is a TableRestoreStatusType enum value TableRestoreStatusTypeSucceeded = "SUCCEEDED" - // @enum TableRestoreStatusType + + // TableRestoreStatusTypeFailed is a TableRestoreStatusType enum value TableRestoreStatusTypeFailed = "FAILED" - // @enum TableRestoreStatusType + + // TableRestoreStatusTypeCanceled is a TableRestoreStatusType enum value TableRestoreStatusTypeCanceled = "CANCELED" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/redshift/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/redshift/waiters.go index 7fe00bc4e242..604da1093c47 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/redshift/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/redshift/waiters.go @@ -6,6 +6,10 @@ import ( "github.com/aws/aws-sdk-go/private/waiter" ) +// WaitUntilClusterAvailable uses the Amazon Redshift API operation +// DescribeClusters to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *Redshift) WaitUntilClusterAvailable(input *DescribeClustersInput) error { waiterCfg := waiter.Config{ Operation: "DescribeClusters", @@ -41,6 +45,10 @@ func (c *Redshift) WaitUntilClusterAvailable(input *DescribeClustersInput) error return w.Wait() } +// WaitUntilClusterDeleted uses the Amazon Redshift API operation +// DescribeClusters to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *Redshift) WaitUntilClusterDeleted(input *DescribeClustersInput) error { waiterCfg := waiter.Config{ Operation: "DescribeClusters", @@ -76,6 +84,10 @@ func (c *Redshift) WaitUntilClusterDeleted(input *DescribeClustersInput) error { return w.Wait() } +// WaitUntilClusterRestored uses the Amazon Redshift API operation +// DescribeClusters to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *Redshift) WaitUntilClusterRestored(input *DescribeClustersInput) error { waiterCfg := waiter.Config{ Operation: "DescribeClusters", @@ -105,6 +117,10 @@ func (c *Redshift) WaitUntilClusterRestored(input *DescribeClustersInput) error return w.Wait() } +// WaitUntilSnapshotAvailable uses the Amazon Redshift API operation +// DescribeClusterSnapshots to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *Redshift) WaitUntilSnapshotAvailable(input *DescribeClusterSnapshotsInput) error { waiterCfg := waiter.Config{ Operation: "DescribeClusterSnapshots", diff --git a/vendor/github.com/aws/aws-sdk-go/service/route53/api.go b/vendor/github.com/aws/aws-sdk-go/service/route53/api.go index f0c31332953e..5e836a2783d8 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/route53/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/route53/api.go @@ -13,7 +13,30 @@ import ( const opAssociateVPCWithHostedZone = "AssociateVPCWithHostedZone" -// AssociateVPCWithHostedZoneRequest generates a request for the AssociateVPCWithHostedZone operation. +// AssociateVPCWithHostedZoneRequest generates a "aws/request.Request" representing the +// client's request for the AssociateVPCWithHostedZone operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AssociateVPCWithHostedZone for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AssociateVPCWithHostedZone method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AssociateVPCWithHostedZoneRequest method. +// req, resp := client.AssociateVPCWithHostedZoneRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) AssociateVPCWithHostedZoneRequest(input *AssociateVPCWithHostedZoneInput) (req *request.Request, output *AssociateVPCWithHostedZoneOutput) { op := &request.Operation{ Name: opAssociateVPCWithHostedZone, @@ -31,14 +54,54 @@ func (c *Route53) AssociateVPCWithHostedZoneRequest(input *AssociateVPCWithHoste return } -// This action associates a VPC with an hosted zone. +// AssociateVPCWithHostedZone API operation for Amazon Route 53. +// +// Associates an Amazon VPC with a private hosted zone. +// +// The VPC and the hosted zone must already exist, and you must have created +// a private hosted zone. You cannot convert a public hosted zone into a private +// hosted zone. +// +// Send a POST request to the /Amazon Route 53 API version/hostedzone/hosted +// zone ID/associatevpc resource. The request body must include an XML document +// with a AssociateVPCWithHostedZoneRequest element. The response returns the +// AssociateVPCWithHostedZoneResponse element. +// +// If you used different accounts to create the hosted zone and to create +// the Amazon VPCs that you want to associate with the hosted zone, we need +// to update account permissions for you. For more information, see Associating +// Amazon VPCs and Private Hosted Zones That You Create with Different AWS Accounts +// (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zone-private-associate-vpcs-different-accounts.html) +// in the Amazon Route 53 Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon Route 53's +// API operation AssociateVPCWithHostedZone for usage and error information. +// +// Returned Error Codes: +// * NoSuchHostedZone +// No hosted zone exists with the ID that you specified. +// +// * InvalidVPCId +// The hosted zone you are trying to create for your VPC_ID does not belong +// to you. Amazon Route 53 returns this error when the VPC specified by VPCId +// does not belong to you. +// +// * InvalidInput +// The input is not valid. +// +// * PublicZoneVPCAssociation +// The hosted zone specified in HostedZoneId is a public hosted zone. +// +// * ConflictingDomainExists + +// +// * LimitsExceeded +// The limits specified for a resource have been exceeded. // -// To associate a VPC with an hosted zone, send a POST request to the /Route -// 53 API version/hostedzone/hosted zone ID/associatevpc resource. The request -// body must include a document with a AssociateVPCWithHostedZoneRequest element. -// The response returns the AssociateVPCWithHostedZoneResponse element that -// contains ChangeInfo for you to track the progress of the AssociateVPCWithHostedZoneRequest -// you made. See GetChange operation for how to track the progress of your change. func (c *Route53) AssociateVPCWithHostedZone(input *AssociateVPCWithHostedZoneInput) (*AssociateVPCWithHostedZoneOutput, error) { req, out := c.AssociateVPCWithHostedZoneRequest(input) err := req.Send() @@ -47,7 +110,30 @@ func (c *Route53) AssociateVPCWithHostedZone(input *AssociateVPCWithHostedZoneIn const opChangeResourceRecordSets = "ChangeResourceRecordSets" -// ChangeResourceRecordSetsRequest generates a request for the ChangeResourceRecordSets operation. +// ChangeResourceRecordSetsRequest generates a "aws/request.Request" representing the +// client's request for the ChangeResourceRecordSets operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ChangeResourceRecordSets for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ChangeResourceRecordSets method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ChangeResourceRecordSetsRequest method. +// req, resp := client.ChangeResourceRecordSetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) ChangeResourceRecordSetsRequest(input *ChangeResourceRecordSetsInput) (req *request.Request, output *ChangeResourceRecordSetsOutput) { op := &request.Operation{ Name: opChangeResourceRecordSets, @@ -65,31 +151,130 @@ func (c *Route53) ChangeResourceRecordSetsRequest(input *ChangeResourceRecordSet return } -// Use this action to create or change your authoritative DNS information. To -// use this action, send a POST request to the /Route 53 API version/hostedzone/hosted -// Zone ID/rrset resource. The request body must include a document with a ChangeResourceRecordSetsRequest -// element. +// ChangeResourceRecordSets API operation for Amazon Route 53. +// +// Create, change, update, or delete authoritative DNS information on all Amazon +// Route 53 servers. Send a POST request to: // -// Changes are a list of change items and are considered transactional. For -// more information on transactional changes, also known as change batches, -// see POST ChangeResourceRecordSets (http://docs.aws.amazon.com/Route53/latest/APIReference/API_ChangeResourceRecordSets.html) -// in the Amazon Route 53 API Reference. -// -// Due to the nature of transactional changes, you cannot delete the same resource -// record set more than once in a single change batch. If you attempt to delete -// the same change batch more than once, Amazon Route 53 returns an InvalidChangeBatch -// error. In response to a ChangeResourceRecordSets request, your DNS data is -// changed on all Amazon Route 53 DNS servers. Initially, the status of a change -// is PENDING. This means the change has not yet propagated to all the authoritative +// /2013-04-01/hostedzone/Amazon Route 53 hosted Zone ID/rrset resource. +// +// The request body must include a document with a ChangeResourceRecordSetsRequest +// element. The request body contains a list of change items, known as a change +// batch. Change batches are considered transactional changes. When using the +// Amazon Route 53 API to change resource record sets, Amazon Route 53 either +// makes all or none of the changes in a change batch request. This ensures +// that Amazon Route 53 never partially implements the intended changes to the +// resource record sets in a hosted zone. +// +// For example, a change batch request that deletes the CNAMErecord for www.example.com +// and creates an alias resource record set for www.example.com. Amazon Route +// 53 deletes the first resource record set and creates the second resource +// record set in a single operation. If either the DELETE or the CREATE action +// fails, then both changes (plus any other changes in the batch) fail, and +// the original CNAME record continues to exist. +// +// Due to the nature of transactional changes, you cannot delete the same +// resource record set more than once in a single change batch. If you attempt +// to delete the same change batch more than once, Amazon Route 53 returns an +// InvalidChangeBatch error. +// +// To create resource record sets for complex routing configurations, use +// either the traffic flow visual editor in the Amazon Route 53 console or the +// API actions for traffic policies and traffic policy instances. Save the configuration +// as a traffic policy, then associate the traffic policy with one or more domain +// names (such as example.com) or subdomain names (such as www.example.com), +// in the same hosted zone or in multiple hosted zones. You can roll back the +// updates if the new configuration isn't performing as expected. For more information, +// see Using Traffic Flow to Route DNS Traffic (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/traffic-flow.html) +// in the Amazon Route 53 API Reference or Actions on Traffic Policies and Traffic +// Policy Instances (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/actions-on-polices) +// in this guide. +// +// Use ChangeResourceRecordsSetsRequest to perform the following actions: +// +// CREATE:Creates a resource record set that has the specified values. +// +// DELETE: Deletes an existing resource record set that has the specified +// values for Name, Type, Set Identifier (for code latency, weighted, geolocation, +// and failover resource record sets), and TTL (except alias resource record +// sets, for which the TTL is determined by the AWS resource you're routing +// queries to). +// +// UPSERT: If a resource record set does not already exist, AWS creates +// it. If a resource set does exist, Amazon Route 53 updates it with the values +// in the request. Amazon Route 53 can update an existing resource record set +// only when all of the following values match: Name, Type, and Set Identifier +// (for weighted, latency, geolocation, and failover resource record sets). +// +// In response to a ChangeResourceRecordSets request, the DNS data is changed +// on all Amazon Route 53 DNS servers. Initially, the status of a change is +// PENDING, meaning the change has not yet propagated to all the authoritative // Amazon Route 53 DNS servers. When the change is propagated to all hosts, // the change returns a status of INSYNC. // +// After sending a change request, confirm your change has propagated to all +// Amazon Route 53 DNS servers. Changes generally propagate to all Amazon Route +// 53 name servers in a few minutes. In rare circumstances, propagation can +// take up to 30 minutes. For more information, see GetChange. +// // Note the following limitations on a ChangeResourceRecordSets request: // -// A request cannot contain more than 100 Change elements. A request cannot -// contain more than 1000 ResourceRecord elements. The sum of the number of -// characters (including spaces) in all Value elements in a request cannot exceed -// 32,000 characters. +// A request cannot contain more than 100 Change elements. +// +// A request cannot contain more than 1000 ResourceRecord elements. +// +// The sum of the number of characters (including spaces) in all Value elements +// in a request cannot exceed 32,000 characters. +// +// If the value of the Action element in a ChangeResourceRecordSets request +// is UPSERT and the resource record set already exists, Amazon Route 53 automatically +// performs a DELETE request and a CREATE request. When Amazon Route 53 calculates +// the number of characters in the Value elements of a change batch request, +// it adds the number of characters in the Value element of the resource record +// set being deleted and the number of characters in the Value element of the +// resource record set being created. +// +// The same resource cannot be deleted more than once in a single batch. +// +// If the value of the Action element in a ChangeResourceRecordSets request +// is UPSERT and the resource record set already exists, Amazon Route 53 automatically +// performs a DELETE request and a CREATE request. When Amazon Route 53 calculates +// the number of characters in the Value elements of a change batch request, +// it adds the number of characters in the Value element of the resource record +// set being deleted and the number of characters in the Value element of the +// resource record set being created. +// +// For more information on transactional changes, see ChangeResourceRecordSets. +// +// 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 Route 53's +// API operation ChangeResourceRecordSets for usage and error information. +// +// Returned Error Codes: +// * NoSuchHostedZone +// No hosted zone exists with the ID that you specified. +// +// * NoSuchHealthCheck +// No health check exists with the ID that you specified in the DeleteHealthCheck +// request. +// +// * InvalidChangeBatch +// This exception contains a list of messages that might contain one or more +// error messages. Each error message indicates one error in the change batch. +// +// * InvalidInput +// The input is not valid. +// +// * PriorRequestNotComplete +// If Amazon Route 53 can't process a request before the next request arrives, +// it will reject subsequent requests for the same hosted zone and return an +// HTTP 400 error (Bad request). If Amazon Route 53 returns this error repeatedly +// for the same request, we recommend that you wait, in intervals of increasing +// duration, before you try the request again. +// func (c *Route53) ChangeResourceRecordSets(input *ChangeResourceRecordSetsInput) (*ChangeResourceRecordSetsOutput, error) { req, out := c.ChangeResourceRecordSetsRequest(input) err := req.Send() @@ -98,7 +283,30 @@ func (c *Route53) ChangeResourceRecordSets(input *ChangeResourceRecordSetsInput) const opChangeTagsForResource = "ChangeTagsForResource" -// ChangeTagsForResourceRequest generates a request for the ChangeTagsForResource operation. +// ChangeTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ChangeTagsForResource operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ChangeTagsForResource for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ChangeTagsForResource method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ChangeTagsForResourceRequest method. +// req, resp := client.ChangeTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) ChangeTagsForResourceRequest(input *ChangeTagsForResourceInput) (req *request.Request, output *ChangeTagsForResourceOutput) { op := &request.Operation{ Name: opChangeTagsForResource, @@ -116,6 +324,36 @@ func (c *Route53) ChangeTagsForResourceRequest(input *ChangeTagsForResourceInput return } +// ChangeTagsForResource API operation for Amazon Route 53. +// +// 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 Route 53's +// API operation ChangeTagsForResource for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The input is not valid. +// +// * NoSuchHealthCheck +// No health check exists with the ID that you specified in the DeleteHealthCheck +// request. +// +// * NoSuchHostedZone +// No hosted zone exists with the ID that you specified. +// +// * PriorRequestNotComplete +// If Amazon Route 53 can't process a request before the next request arrives, +// it will reject subsequent requests for the same hosted zone and return an +// HTTP 400 error (Bad request). If Amazon Route 53 returns this error repeatedly +// for the same request, we recommend that you wait, in intervals of increasing +// duration, before you try the request again. +// +// * ThrottlingException + +// func (c *Route53) ChangeTagsForResource(input *ChangeTagsForResourceInput) (*ChangeTagsForResourceOutput, error) { req, out := c.ChangeTagsForResourceRequest(input) err := req.Send() @@ -124,7 +362,30 @@ func (c *Route53) ChangeTagsForResource(input *ChangeTagsForResourceInput) (*Cha const opCreateHealthCheck = "CreateHealthCheck" -// CreateHealthCheckRequest generates a request for the CreateHealthCheck operation. +// CreateHealthCheckRequest generates a "aws/request.Request" representing the +// client's request for the CreateHealthCheck operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateHealthCheck for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateHealthCheck method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateHealthCheckRequest method. +// req, resp := client.CreateHealthCheckRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) CreateHealthCheckRequest(input *CreateHealthCheckInput) (req *request.Request, output *CreateHealthCheckOutput) { op := &request.Operation{ Name: opCreateHealthCheck, @@ -142,12 +403,61 @@ func (c *Route53) CreateHealthCheckRequest(input *CreateHealthCheckInput) (req * return } -// This action creates a new health check. +// CreateHealthCheck API operation for Amazon Route 53. +// +// Creates a new health check. +// +// To create a new health check, send a POST request to the /2013-04-01/healthcheck +// resource. The request body must include an XML document with a CreateHealthCheckRequest +// element. The response returns the CreateHealthCheckResponse element, containing +// the health check ID specified when adding health check to a resource record +// set. For information about adding health checks to resource record sets, +// see ResourceRecordSet$HealthCheckId in ChangeResourceRecordSets. +// +// If you are registering Amazon EC2 instances with an Elastic Load Balancing +// (ELB) load balancer, do not create Amazon Route 53 health checks for the +// Amazon EC2 instances. When you register an Amazon EC2 instance with a load +// balancer, you configure settings for an ELB health check, which performs +// a similar function to an Amazon Route 53 health check. +// +// You can associate health checks with failover resource record sets in a +// private hosted zone. Note the following: +// +// Amazon Route 53 health checkers are outside the VPC. To check the health +// of an endpoint within a VPC by IP address, you must assign a public IP address +// to the instance in the VPC. +// +// You can configure a health checker to check the health of an external +// resource that the instance relies on, such as a database server. +// +// You can create a CloudWatch metric, associate an alarm with the metric, +// and then create a health check that is based on the state of the alarm. For +// example, you might create a CloudWatch metric that checks the status of the +// Amazon EC2 StatusCheckFailed metric, add an alarm to the metric, and then +// create a health check that is based on the state of the alarm. For information +// about creating CloudWatch metrics and alarms by using the CloudWatch console, +// see the Amazon CloudWatch Developer Guide (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatch.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. +// +// See the AWS API reference guide for Amazon Route 53's +// API operation CreateHealthCheck for usage and error information. +// +// Returned Error Codes: +// * TooManyHealthChecks + +// +// * HealthCheckAlreadyExists +// The health check you're attempting to create already exists. +// +// Amazon Route 53 returns this error when a health check has already been +// created with the specified value for CallerReference. +// +// * InvalidInput +// The input is not valid. // -// To create a new health check, send a POST request to the /Route 53 API version/healthcheck -// resource. The request body must include a document with a CreateHealthCheckRequest -// element. The response returns the CreateHealthCheckResponse element that -// contains metadata about the health check. func (c *Route53) CreateHealthCheck(input *CreateHealthCheckInput) (*CreateHealthCheckOutput, error) { req, out := c.CreateHealthCheckRequest(input) err := req.Send() @@ -156,7 +466,30 @@ func (c *Route53) CreateHealthCheck(input *CreateHealthCheckInput) (*CreateHealt const opCreateHostedZone = "CreateHostedZone" -// CreateHostedZoneRequest generates a request for the CreateHostedZone operation. +// CreateHostedZoneRequest generates a "aws/request.Request" representing the +// client's request for the CreateHostedZone operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateHostedZone for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateHostedZone method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateHostedZoneRequest method. +// req, resp := client.CreateHostedZoneRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) CreateHostedZoneRequest(input *CreateHostedZoneInput) (req *request.Request, output *CreateHostedZoneOutput) { op := &request.Operation{ Name: opCreateHostedZone, @@ -174,28 +507,93 @@ func (c *Route53) CreateHostedZoneRequest(input *CreateHostedZoneInput) (req *re return } -// This action creates a new hosted zone. +// CreateHostedZone API operation for Amazon Route 53. // -// To create a new hosted zone, send a POST request to the /Route 53 API version/hostedzone -// resource. The request body must include a document with a CreateHostedZoneRequest -// element. The response returns the CreateHostedZoneResponse element that contains +// Creates a new public hosted zone, used to specify how the Domain Name System +// (DNS) routes traffic on the Internet for a domain, such as example.com, and +// its subdomains. +// +// Public hosted zones cannot be converted to a private hosted zone or vice +// versa. Instead, create a new hosted zone with the same name and create new +// resource record sets. +// +// Send a POST request to the /Amazon Route 53 API version/hostedzone resource. +// The request body must include an XML document with a CreateHostedZoneRequest +// element. The response returns the CreateHostedZoneResponse element containing // metadata about the hosted zone. // -// Amazon Route 53 automatically creates a default SOA record and four NS records -// for the zone. The NS records in the hosted zone are the name servers you -// give your registrar to delegate your domain to. For more information about -// SOA and NS records, see NS and SOA Records that Amazon Route 53 Creates for -// a Hosted Zone (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/SOA-NSrecords.html) +// Fore more information about charges for hosted zones, see AmazonAmazon Route +// 53 Pricing (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/pricing/). +// +// Note the following: +// +// You cannot create a hosted zone for a top-level domain (TLD). +// +// Amazon Route 53 automatically creates a default SOA record and four NS +// records for the zone. For more information about SOA and NS records, see +// NS and SOA Records that Amazon Route 53 Creates for a Hosted Zone (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/SOA-NSrecords.html) // in the Amazon Route 53 Developer Guide. // -// When you create a zone, its initial status is PENDING. This means that it -// is not yet available on all DNS servers. The status of the zone changes to -// INSYNC when the NS and SOA records are available on all Amazon Route 53 DNS -// servers. +// If your domain is registered with a registrar other than Amazon Route +// 53, you must update the name servers with your registrar to make Amazon Route +// 53 your DNS service. For more information, see Configuring Amazon Route 53 +// as your DNS Service (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/creating-migrating.html) +// in the Amazon Route 53 Developer's Guide. +// +// After creating a zone, its initial status is PENDING. This means that +// it is not yet available on all DNS servers. The status of the zone changes +// to INSYNC when the NS and SOA records are available on all Amazon Route 53 +// DNS servers. +// +// When trying to create a hosted zone using a reusable delegation set, specify +// an optional DelegationSetId, and Amazon Route 53 would assign those 4 NS +// records for the zone, instead of alloting a new one. +// +// 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 Route 53's +// API operation CreateHostedZone for usage and error information. +// +// Returned Error Codes: +// * InvalidDomainName +// The specified domain name is not valid. +// +// * HostedZoneAlreadyExists +// The hosted zone you are trying to create already exists. Amazon Route 53 +// returns this error when a hosted zone has already been created with the specified +// CallerReference. +// +// * TooManyHostedZones +// This hosted zone cannot be created because the hosted zone limit is exceeded. +// To request a limit increase, go to the Amazon Route 53 Contact Us (http://aws.amazon.com/route53-request/) +// page. +// +// * InvalidVPCId +// The hosted zone you are trying to create for your VPC_ID does not belong +// to you. Amazon Route 53 returns this error when the VPC specified by VPCId +// does not belong to you. +// +// * InvalidInput +// The input is not valid. +// +// * DelegationSetNotAvailable +// You can create a hosted zone that has the same name as an existing hosted +// zone (example.com is common), but there is a limit to the number of hosted +// zones that have the same name. If you get this error, Amazon Route 53 has +// reached that limit. If you own the domain name and Amazon Route 53 generates +// this error, contact Customer Support. +// +// * ConflictingDomainExists + +// +// * NoSuchDelegationSet +// A reusable delegation set with the specified ID does not exist. +// +// * DelegationSetNotReusable +// A reusable delegation set with the specified ID does not exist. // -// When trying to create a hosted zone using a reusable delegation set, you -// could specify an optional DelegationSetId, and Route53 would assign those -// 4 NS records for the zone, instead of alloting a new one. func (c *Route53) CreateHostedZone(input *CreateHostedZoneInput) (*CreateHostedZoneOutput, error) { req, out := c.CreateHostedZoneRequest(input) err := req.Send() @@ -204,7 +602,30 @@ func (c *Route53) CreateHostedZone(input *CreateHostedZoneInput) (*CreateHostedZ const opCreateReusableDelegationSet = "CreateReusableDelegationSet" -// CreateReusableDelegationSetRequest generates a request for the CreateReusableDelegationSet operation. +// CreateReusableDelegationSetRequest generates a "aws/request.Request" representing the +// client's request for the CreateReusableDelegationSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateReusableDelegationSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateReusableDelegationSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateReusableDelegationSetRequest method. +// req, resp := client.CreateReusableDelegationSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) CreateReusableDelegationSetRequest(input *CreateReusableDelegationSetInput) (req *request.Request, output *CreateReusableDelegationSetOutput) { op := &request.Operation{ Name: opCreateReusableDelegationSet, @@ -222,16 +643,56 @@ func (c *Route53) CreateReusableDelegationSetRequest(input *CreateReusableDelega return } -// This action creates a reusable delegationSet. +// CreateReusableDelegationSet API operation for Amazon Route 53. +// +// Creates a delegation set (a group of four anem servers) that can be reused +// by multiple hosted zones. If a hosted zoned ID is specified, CreateReusableDelegationSet +// marks the delegation set associated with that zone as reusable +// +// Send a POST request to the /Amazon Route 53 API version/delegationset resource. +// The request body must include an XML document with a CreateReusableDelegationSetRequest +// element. +// +// A reusable delegation set cannot be associated with a private hosted zone/ +// +// For more information, including a procedure on how to create and configure +// a reusable delegation set (also known as white label name servers), see Configuring +// White Label Name Servers (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/white-label-name-servers.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. +// +// See the AWS API reference guide for Amazon Route 53's +// API operation CreateReusableDelegationSet for usage and error information. +// +// Returned Error Codes: +// * DelegationSetAlreadyCreated +// A delegation set with the same owner and caller reference combination has +// already been created. +// +// * LimitsExceeded +// The limits specified for a resource have been exceeded. +// +// * HostedZoneNotFound +// The specified HostedZone cannot be found. +// +// * InvalidArgument +// Parameter name and problem. // -// To create a new reusable delegationSet, send a POST request to the /Route -// 53 API version/delegationset resource. The request body must include a document -// with a CreateReusableDelegationSetRequest element. The response returns the -// CreateReusableDelegationSetResponse element that contains metadata about -// the delegationSet. +// * InvalidInput +// The input is not valid. +// +// * DelegationSetNotAvailable +// You can create a hosted zone that has the same name as an existing hosted +// zone (example.com is common), but there is a limit to the number of hosted +// zones that have the same name. If you get this error, Amazon Route 53 has +// reached that limit. If you own the domain name and Amazon Route 53 generates +// this error, contact Customer Support. +// +// * DelegationSetAlreadyReusable +// The specified delegation set has already been marked as reusable. // -// If the optional parameter HostedZoneId is specified, it marks the delegationSet -// associated with that particular hosted zone as reusable. func (c *Route53) CreateReusableDelegationSet(input *CreateReusableDelegationSetInput) (*CreateReusableDelegationSetOutput, error) { req, out := c.CreateReusableDelegationSetRequest(input) err := req.Send() @@ -240,7 +701,30 @@ func (c *Route53) CreateReusableDelegationSet(input *CreateReusableDelegationSet const opCreateTrafficPolicy = "CreateTrafficPolicy" -// CreateTrafficPolicyRequest generates a request for the CreateTrafficPolicy operation. +// CreateTrafficPolicyRequest generates a "aws/request.Request" representing the +// client's request for the CreateTrafficPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateTrafficPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateTrafficPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateTrafficPolicyRequest method. +// req, resp := client.CreateTrafficPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) CreateTrafficPolicyRequest(input *CreateTrafficPolicyInput) (req *request.Request, output *CreateTrafficPolicyOutput) { op := &request.Operation{ Name: opCreateTrafficPolicy, @@ -258,14 +742,40 @@ func (c *Route53) CreateTrafficPolicyRequest(input *CreateTrafficPolicyInput) (r return } +// CreateTrafficPolicy API operation for Amazon Route 53. +// // Creates a traffic policy, which you use to create multiple DNS resource record // sets for one domain name (such as example.com) or one subdomain name (such // as www.example.com). // -// To create a traffic policy, send a POST request to the /Route 53 API version/trafficpolicy -// resource. The request body must include a document with a CreateTrafficPolicyRequest +// Send a POST request to the /Amazon Route 53 API version/trafficpolicy resource. +// The request body must include a document with a CreateTrafficPolicyRequest // element. The response includes the CreateTrafficPolicyResponse element, which // contains information about the new traffic policy. +// +// 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 Route 53's +// API operation CreateTrafficPolicy for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The input is not valid. +// +// * TooManyTrafficPolicies +// You've created the maximum number of traffic policies that can be created +// for the current AWS account. You can request an increase to the limit on +// the Contact Us (http://aws.amazon.com/route53-request/) page. +// +// * TrafficPolicyAlreadyExists +// A traffic policy that has the same value for Name already exists. +// +// * InvalidTrafficPolicyDocument +// The format of the traffic policy document that you specified in the Document +// element is invalid. +// func (c *Route53) CreateTrafficPolicy(input *CreateTrafficPolicyInput) (*CreateTrafficPolicyOutput, error) { req, out := c.CreateTrafficPolicyRequest(input) err := req.Send() @@ -274,7 +784,30 @@ func (c *Route53) CreateTrafficPolicy(input *CreateTrafficPolicyInput) (*CreateT const opCreateTrafficPolicyInstance = "CreateTrafficPolicyInstance" -// CreateTrafficPolicyInstanceRequest generates a request for the CreateTrafficPolicyInstance operation. +// CreateTrafficPolicyInstanceRequest generates a "aws/request.Request" representing the +// client's request for the CreateTrafficPolicyInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateTrafficPolicyInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateTrafficPolicyInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateTrafficPolicyInstanceRequest method. +// req, resp := client.CreateTrafficPolicyInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) CreateTrafficPolicyInstanceRequest(input *CreateTrafficPolicyInstanceInput) (req *request.Request, output *CreateTrafficPolicyInstanceOutput) { op := &request.Operation{ Name: opCreateTrafficPolicyInstance, @@ -292,6 +825,8 @@ func (c *Route53) CreateTrafficPolicyInstanceRequest(input *CreateTrafficPolicyI return } +// CreateTrafficPolicyInstance API operation for Amazon Route 53. +// // Creates resource record sets in a specified hosted zone based on the settings // in a specified traffic policy version. In addition, CreateTrafficPolicyInstance // associates the resource record sets with a specified domain name (such as @@ -299,11 +834,36 @@ func (c *Route53) CreateTrafficPolicyInstanceRequest(input *CreateTrafficPolicyI // responds to DNS queries for the domain or subdomain name by using the resource // record sets that CreateTrafficPolicyInstance created. // -// To create a traffic policy instance, send a POST request to the /Route 53 -// API version/trafficpolicyinstance resource. The request body must include -// a document with a CreateTrafficPolicyRequest element. The response returns -// the CreateTrafficPolicyInstanceResponse element, which contains information -// about the traffic policy instance. +// Send a POST request to the /Amazon Route 53 API version/trafficpolicyinstance +// resource. The request body must include a document with a CreateTrafficPolicyRequest +// element. The response returns the CreateTrafficPolicyInstanceResponse element, +// which contains information about the traffic policy instance. +// +// 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 Route 53's +// API operation CreateTrafficPolicyInstance for usage and error information. +// +// Returned Error Codes: +// * NoSuchHostedZone +// No hosted zone exists with the ID that you specified. +// +// * InvalidInput +// The input is not valid. +// +// * TooManyTrafficPolicyInstances +// You've created the maximum number of traffic policy instances that can be +// created for the current AWS account. You can request an increase to the limit +// on the Contact Us (http://aws.amazon.com/route53-request/) page. +// +// * NoSuchTrafficPolicy +// No traffic policy exists with the specified ID. +// +// * TrafficPolicyInstanceAlreadyExists +// Traffic policy instance with given Id already exists. +// func (c *Route53) CreateTrafficPolicyInstance(input *CreateTrafficPolicyInstanceInput) (*CreateTrafficPolicyInstanceOutput, error) { req, out := c.CreateTrafficPolicyInstanceRequest(input) err := req.Send() @@ -312,7 +872,30 @@ func (c *Route53) CreateTrafficPolicyInstance(input *CreateTrafficPolicyInstance const opCreateTrafficPolicyVersion = "CreateTrafficPolicyVersion" -// CreateTrafficPolicyVersionRequest generates a request for the CreateTrafficPolicyVersion operation. +// CreateTrafficPolicyVersionRequest generates a "aws/request.Request" representing the +// client's request for the CreateTrafficPolicyVersion operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateTrafficPolicyVersion for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateTrafficPolicyVersion method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateTrafficPolicyVersionRequest method. +// req, resp := client.CreateTrafficPolicyVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) CreateTrafficPolicyVersionRequest(input *CreateTrafficPolicyVersionInput) (req *request.Request, output *CreateTrafficPolicyVersionOutput) { op := &request.Operation{ Name: opCreateTrafficPolicyVersion, @@ -330,17 +913,44 @@ func (c *Route53) CreateTrafficPolicyVersionRequest(input *CreateTrafficPolicyVe return } +// CreateTrafficPolicyVersion API operation for Amazon Route 53. +// // Creates a new version of an existing traffic policy. When you create a new // version of a traffic policy, you specify the ID of the traffic policy that // you want to update and a JSON-formatted document that describes the new version. -// // You use traffic policies to create multiple DNS resource record sets for // one domain name (such as example.com) or one subdomain name (such as www.example.com). +// You can create a maximum of 1000 versions of a traffic policy. If you reach +// the limit and need to create another version, you'll need to start a new +// traffic policy. // -// To create a new version, send a POST request to the /Route 53 API version/trafficpolicy/ -// resource. The request body includes a document with a CreateTrafficPolicyVersionRequest +// Send a POST request to the /Amazon Route 53 version/trafficpolicy/ resource. +// The request body includes a document with a CreateTrafficPolicyVersionRequest // element. The response returns the CreateTrafficPolicyVersionResponse element, // which contains information about the new version of the traffic policy. +// +// 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 Route 53's +// API operation CreateTrafficPolicyVersion for usage and error information. +// +// Returned Error Codes: +// * NoSuchTrafficPolicy +// No traffic policy exists with the specified ID. +// +// * InvalidInput +// The input is not valid. +// +// * ConcurrentModification +// Another user submitted a request to update the object at the same time that +// you did. Retry the request. +// +// * InvalidTrafficPolicyDocument +// The format of the traffic policy document that you specified in the Document +// element is invalid. +// func (c *Route53) CreateTrafficPolicyVersion(input *CreateTrafficPolicyVersionInput) (*CreateTrafficPolicyVersionOutput, error) { req, out := c.CreateTrafficPolicyVersionRequest(input) err := req.Send() @@ -349,7 +959,30 @@ func (c *Route53) CreateTrafficPolicyVersion(input *CreateTrafficPolicyVersionIn const opDeleteHealthCheck = "DeleteHealthCheck" -// DeleteHealthCheckRequest generates a request for the DeleteHealthCheck operation. +// DeleteHealthCheckRequest generates a "aws/request.Request" representing the +// client's request for the DeleteHealthCheck operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteHealthCheck for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteHealthCheck method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteHealthCheckRequest method. +// req, resp := client.DeleteHealthCheckRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) DeleteHealthCheckRequest(input *DeleteHealthCheckInput) (req *request.Request, output *DeleteHealthCheckOutput) { op := &request.Operation{ Name: opDeleteHealthCheck, @@ -367,16 +1000,40 @@ func (c *Route53) DeleteHealthCheckRequest(input *DeleteHealthCheckInput) (req * return } -// This action deletes a health check. To delete a health check, send a DELETE -// request to the /Route 53 API version/healthcheck/health check ID resource. +// DeleteHealthCheck API operation for Amazon Route 53. +// +// Deletes a health check. Send a DELETE request to the /2013-04-01/healthcheck/health +// check ID resource. +// +// Amazon Route 53 does not prevent you from deleting a health check even +// if the health check is associated with one or more resource record sets. +// If you delete a health check and you don't update the associated resource +// record sets, the future status of the health check cannot be predicted and +// may change. This will affect the routing of DNS queries for your DNS failover +// configuration. For more information, see Replacing and Deleting Health Checks +// (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/health-checks-creating-deleting.html#health-checks-deleting.html) +// in the Amazon Route 53 Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon Route 53's +// API operation DeleteHealthCheck for usage and error information. +// +// Returned Error Codes: +// * NoSuchHealthCheck +// No health check exists with the ID that you specified in the DeleteHealthCheck +// request. +// +// * HealthCheckInUse +// The health check ID for this health check is referenced in the HealthCheckId +// element in one of the resource record sets in one of the hosted zones that +// are owned by the current AWS account. +// +// * InvalidInput +// The input is not valid. // -// You can delete a health check only if there are no resource record sets -// associated with this health check. If resource record sets are associated -// with this health check, you must disassociate them before you can delete -// your health check. If you try to delete a health check that is associated -// with resource record sets, Amazon Route 53 will deny your request with a -// HealthCheckInUse error. For information about disassociating the records -// from your health check, see ChangeResourceRecordSets. func (c *Route53) DeleteHealthCheck(input *DeleteHealthCheckInput) (*DeleteHealthCheckOutput, error) { req, out := c.DeleteHealthCheckRequest(input) err := req.Send() @@ -385,7 +1042,30 @@ func (c *Route53) DeleteHealthCheck(input *DeleteHealthCheckInput) (*DeleteHealt const opDeleteHostedZone = "DeleteHostedZone" -// DeleteHostedZoneRequest generates a request for the DeleteHostedZone operation. +// DeleteHostedZoneRequest generates a "aws/request.Request" representing the +// client's request for the DeleteHostedZone operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteHostedZone for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteHostedZone method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteHostedZoneRequest method. +// req, resp := client.DeleteHostedZoneRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) DeleteHostedZoneRequest(input *DeleteHostedZoneInput) (req *request.Request, output *DeleteHostedZoneOutput) { op := &request.Operation{ Name: opDeleteHostedZone, @@ -403,20 +1083,45 @@ func (c *Route53) DeleteHostedZoneRequest(input *DeleteHostedZoneInput) (req *re return } -// This action deletes a hosted zone. To delete a hosted zone, send a DELETE -// request to the /Route 53 API version/hostedzone/hosted zone ID resource. +// DeleteHostedZone API operation for Amazon Route 53. // -// For more information about deleting a hosted zone, see Deleting a Hosted -// Zone (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DeleteHostedZone.html) -// in the Amazon Route 53 Developer Guide. +// Deletes a hosted zone. Send a DELETE request to the /Amazon Route 53 API +// version/hostedzone/hosted zone ID resource. +// +// Delete a hosted zone only if there are no resource record sets other than +// the default SOA record and NS resource record sets. If the hosted zone contains +// other resource record sets, delete them before deleting the hosted zone. +// If you try to delete a hosted zone that contains other resource record sets, +// Amazon Route 53 denies your request with a HostedZoneNotEmpty error. For +// information about deleting records from your hosted zone, see ChangeResourceRecordSets. +// +// 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 Route 53's +// API operation DeleteHostedZone for usage and error information. +// +// Returned Error Codes: +// * NoSuchHostedZone +// No hosted zone exists with the ID that you specified. +// +// * HostedZoneNotEmpty +// The hosted zone contains resource records that are not SOA or NS records. +// +// * PriorRequestNotComplete +// If Amazon Route 53 can't process a request before the next request arrives, +// it will reject subsequent requests for the same hosted zone and return an +// HTTP 400 error (Bad request). If Amazon Route 53 returns this error repeatedly +// for the same request, we recommend that you wait, in intervals of increasing +// duration, before you try the request again. +// +// * InvalidInput +// The input is not valid. +// +// * InvalidDomainName +// The specified domain name is not valid. // -// You can delete a hosted zone only if there are no resource record sets -// other than the default SOA record and NS resource record sets. If your hosted -// zone contains other resource record sets, you must delete them before you -// can delete your hosted zone. If you try to delete a hosted zone that contains -// other resource record sets, Amazon Route 53 will deny your request with a -// HostedZoneNotEmpty error. For information about deleting records from your -// hosted zone, see ChangeResourceRecordSets. func (c *Route53) DeleteHostedZone(input *DeleteHostedZoneInput) (*DeleteHostedZoneOutput, error) { req, out := c.DeleteHostedZoneRequest(input) err := req.Send() @@ -425,7 +1130,30 @@ func (c *Route53) DeleteHostedZone(input *DeleteHostedZoneInput) (*DeleteHostedZ const opDeleteReusableDelegationSet = "DeleteReusableDelegationSet" -// DeleteReusableDelegationSetRequest generates a request for the DeleteReusableDelegationSet operation. +// DeleteReusableDelegationSetRequest generates a "aws/request.Request" representing the +// client's request for the DeleteReusableDelegationSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteReusableDelegationSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteReusableDelegationSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteReusableDelegationSetRequest method. +// req, resp := client.DeleteReusableDelegationSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) DeleteReusableDelegationSetRequest(input *DeleteReusableDelegationSetInput) (req *request.Request, output *DeleteReusableDelegationSetOutput) { op := &request.Operation{ Name: opDeleteReusableDelegationSet, @@ -443,16 +1171,39 @@ func (c *Route53) DeleteReusableDelegationSetRequest(input *DeleteReusableDelega return } -// This action deletes a reusable delegation set. To delete a reusable delegation -// set, send a DELETE request to the /Route 53 API version/delegationset/delegation -// set ID resource. +// DeleteReusableDelegationSet API operation for Amazon Route 53. +// +// Deletes a reusable delegation set. Send a DELETE request to the /2013-04-01/delegationset/delegation +// set ID resource. +// +// You can delete a reusable delegation set only if there are no associated +// hosted zones. +// +// To verify that the reusable delegation set is not associated with any hosted +// zones, run the GetReusableDelegationSet action and specify the ID of the +// reusable delegation set that you want to delete. +// +// 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 Route 53's +// API operation DeleteReusableDelegationSet for usage and error information. +// +// Returned Error Codes: +// * NoSuchDelegationSet +// A reusable delegation set with the specified ID does not exist. +// +// * DelegationSetInUse +// The specified delegation contains associated hosted zones which must be deleted +// before the reusable delegation set can be deleted. +// +// * DelegationSetNotReusable +// A reusable delegation set with the specified ID does not exist. +// +// * InvalidInput +// The input is not valid. // -// You can delete a reusable delegation set only if there are no associated -// hosted zones. If your reusable delegation set contains associated hosted -// zones, you must delete them before you can delete your reusable delegation -// set. If you try to delete a reusable delegation set that contains associated -// hosted zones, Amazon Route 53 will deny your request with a DelegationSetInUse -// error. func (c *Route53) DeleteReusableDelegationSet(input *DeleteReusableDelegationSetInput) (*DeleteReusableDelegationSetOutput, error) { req, out := c.DeleteReusableDelegationSetRequest(input) err := req.Send() @@ -461,7 +1212,30 @@ func (c *Route53) DeleteReusableDelegationSet(input *DeleteReusableDelegationSet const opDeleteTrafficPolicy = "DeleteTrafficPolicy" -// DeleteTrafficPolicyRequest generates a request for the DeleteTrafficPolicy operation. +// DeleteTrafficPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTrafficPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteTrafficPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteTrafficPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteTrafficPolicyRequest method. +// req, resp := client.DeleteTrafficPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) DeleteTrafficPolicyRequest(input *DeleteTrafficPolicyInput) (req *request.Request, output *DeleteTrafficPolicyOutput) { op := &request.Operation{ Name: opDeleteTrafficPolicy, @@ -479,8 +1253,35 @@ func (c *Route53) DeleteTrafficPolicyRequest(input *DeleteTrafficPolicyInput) (r return } -// Deletes a traffic policy. To delete a traffic policy, send a DELETE request -// to the /Route 53 API version/trafficpolicy resource. +// DeleteTrafficPolicy API operation for Amazon Route 53. +// +// Deletes a traffic policy. +// +// Send a DELETE request to the /Amazon Route 53 API version/trafficpolicy +// resource. +// +// 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 Route 53's +// API operation DeleteTrafficPolicy for usage and error information. +// +// Returned Error Codes: +// * NoSuchTrafficPolicy +// No traffic policy exists with the specified ID. +// +// * InvalidInput +// The input is not valid. +// +// * TrafficPolicyInUse +// One or more traffic policy instances were created by using the specified +// traffic policy. +// +// * ConcurrentModification +// Another user submitted a request to update the object at the same time that +// you did. Retry the request. +// func (c *Route53) DeleteTrafficPolicy(input *DeleteTrafficPolicyInput) (*DeleteTrafficPolicyOutput, error) { req, out := c.DeleteTrafficPolicyRequest(input) err := req.Send() @@ -489,7 +1290,30 @@ func (c *Route53) DeleteTrafficPolicy(input *DeleteTrafficPolicyInput) (*DeleteT const opDeleteTrafficPolicyInstance = "DeleteTrafficPolicyInstance" -// DeleteTrafficPolicyInstanceRequest generates a request for the DeleteTrafficPolicyInstance operation. +// DeleteTrafficPolicyInstanceRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTrafficPolicyInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteTrafficPolicyInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteTrafficPolicyInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteTrafficPolicyInstanceRequest method. +// req, resp := client.DeleteTrafficPolicyInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) DeleteTrafficPolicyInstanceRequest(input *DeleteTrafficPolicyInstanceInput) (req *request.Request, output *DeleteTrafficPolicyInstanceOutput) { op := &request.Operation{ Name: opDeleteTrafficPolicyInstance, @@ -507,15 +1331,38 @@ func (c *Route53) DeleteTrafficPolicyInstanceRequest(input *DeleteTrafficPolicyI return } +// DeleteTrafficPolicyInstance API operation for Amazon Route 53. +// // Deletes a traffic policy instance and all of the resource record sets that // Amazon Route 53 created when you created the instance. // -// To delete a traffic policy instance, send a DELETE request to the /Route -// 53 API version/trafficpolicy/traffic policy instance ID resource. +// Send a DELETE request to the /Amazon Route 53 API version/trafficpolicy/traffic +// policy instance ID resource. +// +// In the Amazon Route 53 console, traffic policy instances are known as policy +// records. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53's +// API operation DeleteTrafficPolicyInstance for usage and error information. +// +// Returned Error Codes: +// * NoSuchTrafficPolicyInstance +// No traffic policy instance exists with the specified ID. +// +// * InvalidInput +// The input is not valid. +// +// * PriorRequestNotComplete +// If Amazon Route 53 can't process a request before the next request arrives, +// it will reject subsequent requests for the same hosted zone and return an +// HTTP 400 error (Bad request). If Amazon Route 53 returns this error repeatedly +// for the same request, we recommend that you wait, in intervals of increasing +// duration, before you try the request again. // -// When you delete a traffic policy instance, Amazon Route 53 also deletes -// all of the resource record sets that were created when you created the traffic -// policy instance. func (c *Route53) DeleteTrafficPolicyInstance(input *DeleteTrafficPolicyInstanceInput) (*DeleteTrafficPolicyInstanceOutput, error) { req, out := c.DeleteTrafficPolicyInstanceRequest(input) err := req.Send() @@ -524,7 +1371,30 @@ func (c *Route53) DeleteTrafficPolicyInstance(input *DeleteTrafficPolicyInstance const opDisassociateVPCFromHostedZone = "DisassociateVPCFromHostedZone" -// DisassociateVPCFromHostedZoneRequest generates a request for the DisassociateVPCFromHostedZone operation. +// DisassociateVPCFromHostedZoneRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateVPCFromHostedZone operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DisassociateVPCFromHostedZone for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DisassociateVPCFromHostedZone method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DisassociateVPCFromHostedZoneRequest method. +// req, resp := client.DisassociateVPCFromHostedZoneRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) DisassociateVPCFromHostedZoneRequest(input *DisassociateVPCFromHostedZoneInput) (req *request.Request, output *DisassociateVPCFromHostedZoneOutput) { op := &request.Operation{ Name: opDisassociateVPCFromHostedZone, @@ -542,14 +1412,46 @@ func (c *Route53) DisassociateVPCFromHostedZoneRequest(input *DisassociateVPCFro return } -// This action disassociates a VPC from an hosted zone. +// DisassociateVPCFromHostedZone API operation for Amazon Route 53. +// +// Disassociates a VPC from a Amazon Route 53 private hosted zone. +// +// Send a POST request to the /Amazon Route 53 API version/hostedzone/hosted +// zone ID/disassociatevpc resource. The request body must include an XML document +// with a DisassociateVPCFromHostedZoneRequest element. The response returns +// the DisassociateVPCFromHostedZoneResponse element. +// +// You can only disassociate a VPC from a private hosted zone when two or +// more VPCs are associated with that hosted zone. You cannot convert a private +// hosted zone into a public hosted zone. +// +// 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 Route 53's +// API operation DisassociateVPCFromHostedZone for usage and error information. +// +// Returned Error Codes: +// * NoSuchHostedZone +// No hosted zone exists with the ID that you specified. +// +// * InvalidVPCId +// The hosted zone you are trying to create for your VPC_ID does not belong +// to you. Amazon Route 53 returns this error when the VPC specified by VPCId +// does not belong to you. +// +// * VPCAssociationNotFound +// The specified VPC and hosted zone are not currently associated. +// +// * LastVPCAssociation +// Only one VPC is currently associated with the hosted zone. You cannot convert +// a private hosted zone into a public hosted zone by disassociating the last +// VPC from a hosted zone. +// +// * InvalidInput +// The input is not valid. // -// To disassociate a VPC to a hosted zone, send a POST request to the /Route -// 53 API version/hostedzone/hosted zone ID/disassociatevpc resource. The request -// body must include a document with a DisassociateVPCFromHostedZoneRequest -// element. The response returns the DisassociateVPCFromHostedZoneResponse element -// that contains ChangeInfo for you to track the progress of the DisassociateVPCFromHostedZoneRequest -// you made. See GetChange operation for how to track the progress of your change. func (c *Route53) DisassociateVPCFromHostedZone(input *DisassociateVPCFromHostedZoneInput) (*DisassociateVPCFromHostedZoneOutput, error) { req, out := c.DisassociateVPCFromHostedZoneRequest(input) err := req.Send() @@ -558,7 +1460,30 @@ func (c *Route53) DisassociateVPCFromHostedZone(input *DisassociateVPCFromHosted const opGetChange = "GetChange" -// GetChangeRequest generates a request for the GetChange operation. +// GetChangeRequest generates a "aws/request.Request" representing the +// client's request for the GetChange operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetChange for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetChange method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetChangeRequest method. +// req, resp := client.GetChangeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) GetChangeRequest(input *GetChangeInput) (req *request.Request, output *GetChangeOutput) { op := &request.Operation{ Name: opGetChange, @@ -576,15 +1501,32 @@ func (c *Route53) GetChangeRequest(input *GetChangeInput) (req *request.Request, return } -// This action returns the current status of a change batch request. The status -// is one of the following values: +// GetChange API operation for Amazon Route 53. +// +// Returns the current status of a change batch request. The status is one of +// the following values: // -// - PENDING indicates that the changes in this request have not replicated +// PENDING indicates that the changes in this request have not replicated // to all Amazon Route 53 DNS servers. This is the initial status of all change // batch requests. // -// - INSYNC indicates that the changes have replicated to all Amazon Route +// INSYNC indicates that the changes have replicated to all Amazon Route // 53 DNS servers. +// +// 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 Route 53's +// API operation GetChange for usage and error information. +// +// Returned Error Codes: +// * NoSuchChange + +// +// * InvalidInput +// The input is not valid. +// func (c *Route53) GetChange(input *GetChangeInput) (*GetChangeOutput, error) { req, out := c.GetChangeRequest(input) err := req.Send() @@ -593,7 +1535,30 @@ func (c *Route53) GetChange(input *GetChangeInput) (*GetChangeOutput, error) { const opGetChangeDetails = "GetChangeDetails" -// GetChangeDetailsRequest generates a request for the GetChangeDetails operation. +// GetChangeDetailsRequest generates a "aws/request.Request" representing the +// client's request for the GetChangeDetails operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetChangeDetails for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetChangeDetails method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetChangeDetailsRequest method. +// req, resp := client.GetChangeDetailsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) GetChangeDetailsRequest(input *GetChangeDetailsInput) (req *request.Request, output *GetChangeDetailsOutput) { if c.Client.Config.Logger != nil { c.Client.Config.Logger.Log("This operation, GetChangeDetails, has been deprecated") @@ -614,7 +1579,24 @@ func (c *Route53) GetChangeDetailsRequest(input *GetChangeDetailsInput) (req *re return } -// This action returns the status and changes of a change batch request. +// GetChangeDetails API operation for Amazon Route 53. +// +// Returns the status and changes of a change batch request. +// +// 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 Route 53's +// API operation GetChangeDetails for usage and error information. +// +// Returned Error Codes: +// * NoSuchChange + +// +// * InvalidInput +// The input is not valid. +// func (c *Route53) GetChangeDetails(input *GetChangeDetailsInput) (*GetChangeDetailsOutput, error) { req, out := c.GetChangeDetailsRequest(input) err := req.Send() @@ -623,7 +1605,30 @@ func (c *Route53) GetChangeDetails(input *GetChangeDetailsInput) (*GetChangeDeta const opGetCheckerIpRanges = "GetCheckerIpRanges" -// GetCheckerIpRangesRequest generates a request for the GetCheckerIpRanges operation. +// GetCheckerIpRangesRequest generates a "aws/request.Request" representing the +// client's request for the GetCheckerIpRanges operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetCheckerIpRanges for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetCheckerIpRanges method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetCheckerIpRangesRequest method. +// req, resp := client.GetCheckerIpRangesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) GetCheckerIpRangesRequest(input *GetCheckerIpRangesInput) (req *request.Request, output *GetCheckerIpRangesOutput) { op := &request.Operation{ Name: opGetCheckerIpRanges, @@ -641,11 +1646,20 @@ func (c *Route53) GetCheckerIpRangesRequest(input *GetCheckerIpRangesInput) (req return } -// To retrieve a list of the IP ranges used by Amazon Route 53 health checkers -// to check the health of your resources, send a GET request to the /Route 53 -// API version/checkeripranges resource. You can use these IP addresses to configure -// router and firewall rules to allow health checkers to check the health of -// your resources. +// GetCheckerIpRanges API operation for Amazon Route 53. +// +// Retrieves a list of the IP ranges used by Amazon Route 53 health checkers +// to check the health of your resources. Send a GET request to the /Amazon +// Route 53 API version/checkeripranges resource. Use these IP addresses to +// configure router and firewall rules to allow health checkers to check the +// health of your resources. +// +// 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 Route 53's +// API operation GetCheckerIpRanges for usage and error information. func (c *Route53) GetCheckerIpRanges(input *GetCheckerIpRangesInput) (*GetCheckerIpRangesOutput, error) { req, out := c.GetCheckerIpRangesRequest(input) err := req.Send() @@ -654,7 +1668,30 @@ func (c *Route53) GetCheckerIpRanges(input *GetCheckerIpRangesInput) (*GetChecke const opGetGeoLocation = "GetGeoLocation" -// GetGeoLocationRequest generates a request for the GetGeoLocation operation. +// GetGeoLocationRequest generates a "aws/request.Request" representing the +// client's request for the GetGeoLocation operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetGeoLocation for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetGeoLocation method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetGeoLocationRequest method. +// req, resp := client.GetGeoLocationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) GetGeoLocationRequest(input *GetGeoLocationInput) (req *request.Request, output *GetGeoLocationOutput) { op := &request.Operation{ Name: opGetGeoLocation, @@ -672,9 +1709,26 @@ func (c *Route53) GetGeoLocationRequest(input *GetGeoLocationInput) (req *reques return } -// To retrieve a single geo location, send a GET request to the /Route 53 API -// version/geolocation resource with one of these options: continentcode | countrycode -// | countrycode and subdivisioncode. +// GetGeoLocation API operation for Amazon Route 53. +// +// Retrieves a single geo location. Send a GET request to the /2013-04-01/geolocation +// resource with one of these options: continentcode | countrycode | countrycode +// and subdivisioncode. +// +// 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 Route 53's +// API operation GetGeoLocation for usage and error information. +// +// Returned Error Codes: +// * NoSuchGeoLocation +// Amazon Route 53 doesn't support the specified geolocation. +// +// * InvalidInput +// The input is not valid. +// func (c *Route53) GetGeoLocation(input *GetGeoLocationInput) (*GetGeoLocationOutput, error) { req, out := c.GetGeoLocationRequest(input) err := req.Send() @@ -683,7 +1737,30 @@ func (c *Route53) GetGeoLocation(input *GetGeoLocationInput) (*GetGeoLocationOut const opGetHealthCheck = "GetHealthCheck" -// GetHealthCheckRequest generates a request for the GetHealthCheck operation. +// GetHealthCheckRequest generates a "aws/request.Request" representing the +// client's request for the GetHealthCheck operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetHealthCheck for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetHealthCheck method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetHealthCheckRequest method. +// req, resp := client.GetHealthCheckRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) GetHealthCheckRequest(input *GetHealthCheckInput) (req *request.Request, output *GetHealthCheckOutput) { op := &request.Operation{ Name: opGetHealthCheck, @@ -701,8 +1778,33 @@ func (c *Route53) GetHealthCheckRequest(input *GetHealthCheckInput) (req *reques return } -// To retrieve the health check, send a GET request to the /Route 53 API version/healthcheck/health -// check ID resource. +// GetHealthCheck API operation for Amazon Route 53. +// +// Gets information about a specified health check. Send a GET request to the +// /2013-04-01/healthcheck/health check ID resource. For more information about +// using the console to perform this operation, see Amazon Route 53 Health Checks +// and DNS Failover (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) +// in the Amazon Route 53 Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon Route 53's +// API operation GetHealthCheck for usage and error information. +// +// Returned Error Codes: +// * NoSuchHealthCheck +// No health check exists with the ID that you specified in the DeleteHealthCheck +// request. +// +// * InvalidInput +// The input is not valid. +// +// * IncompatibleVersion +// The resource you are trying to access is unsupported on this Amazon Route +// 53 endpoint. Please consider using a newer endpoint or a tool that does so. +// func (c *Route53) GetHealthCheck(input *GetHealthCheckInput) (*GetHealthCheckOutput, error) { req, out := c.GetHealthCheckRequest(input) err := req.Send() @@ -711,7 +1813,30 @@ func (c *Route53) GetHealthCheck(input *GetHealthCheckInput) (*GetHealthCheckOut const opGetHealthCheckCount = "GetHealthCheckCount" -// GetHealthCheckCountRequest generates a request for the GetHealthCheckCount operation. +// GetHealthCheckCountRequest generates a "aws/request.Request" representing the +// client's request for the GetHealthCheckCount operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetHealthCheckCount for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetHealthCheckCount method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetHealthCheckCountRequest method. +// req, resp := client.GetHealthCheckCountRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) GetHealthCheckCountRequest(input *GetHealthCheckCountInput) (req *request.Request, output *GetHealthCheckCountOutput) { op := &request.Operation{ Name: opGetHealthCheckCount, @@ -729,8 +1854,17 @@ func (c *Route53) GetHealthCheckCountRequest(input *GetHealthCheckCountInput) (r return } +// GetHealthCheckCount API operation for Amazon Route 53. +// // To retrieve a count of all your health checks, send a GET request to the -// /Route 53 API version/healthcheckcount resource. +// /2013-04-01/healthcheckcount resource. +// +// 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 Route 53's +// API operation GetHealthCheckCount for usage and error information. func (c *Route53) GetHealthCheckCount(input *GetHealthCheckCountInput) (*GetHealthCheckCountOutput, error) { req, out := c.GetHealthCheckCountRequest(input) err := req.Send() @@ -739,7 +1873,30 @@ func (c *Route53) GetHealthCheckCount(input *GetHealthCheckCountInput) (*GetHeal const opGetHealthCheckLastFailureReason = "GetHealthCheckLastFailureReason" -// GetHealthCheckLastFailureReasonRequest generates a request for the GetHealthCheckLastFailureReason operation. +// GetHealthCheckLastFailureReasonRequest generates a "aws/request.Request" representing the +// client's request for the GetHealthCheckLastFailureReason operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetHealthCheckLastFailureReason for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetHealthCheckLastFailureReason method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetHealthCheckLastFailureReasonRequest method. +// req, resp := client.GetHealthCheckLastFailureReasonRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) GetHealthCheckLastFailureReasonRequest(input *GetHealthCheckLastFailureReasonInput) (req *request.Request, output *GetHealthCheckLastFailureReasonOutput) { op := &request.Operation{ Name: opGetHealthCheckLastFailureReason, @@ -757,10 +1914,28 @@ func (c *Route53) GetHealthCheckLastFailureReasonRequest(input *GetHealthCheckLa return } +// GetHealthCheckLastFailureReason API operation for Amazon Route 53. +// // If you want to learn why a health check is currently failing or why it failed // most recently (if at all), you can get the failure reason for the most recent -// failure. Send a GET request to the /Route 53 API version/healthcheck/health +// failure. Send a GET request to the /Amazon Route 53 API version/healthcheck/health // check ID/lastfailurereason resource. +// +// 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 Route 53's +// API operation GetHealthCheckLastFailureReason for usage and error information. +// +// Returned Error Codes: +// * NoSuchHealthCheck +// No health check exists with the ID that you specified in the DeleteHealthCheck +// request. +// +// * InvalidInput +// The input is not valid. +// func (c *Route53) GetHealthCheckLastFailureReason(input *GetHealthCheckLastFailureReasonInput) (*GetHealthCheckLastFailureReasonOutput, error) { req, out := c.GetHealthCheckLastFailureReasonRequest(input) err := req.Send() @@ -769,7 +1944,30 @@ func (c *Route53) GetHealthCheckLastFailureReason(input *GetHealthCheckLastFailu const opGetHealthCheckStatus = "GetHealthCheckStatus" -// GetHealthCheckStatusRequest generates a request for the GetHealthCheckStatus operation. +// GetHealthCheckStatusRequest generates a "aws/request.Request" representing the +// client's request for the GetHealthCheckStatus operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetHealthCheckStatus for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetHealthCheckStatus method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetHealthCheckStatusRequest method. +// req, resp := client.GetHealthCheckStatusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) GetHealthCheckStatusRequest(input *GetHealthCheckStatusInput) (req *request.Request, output *GetHealthCheckStatusOutput) { op := &request.Operation{ Name: opGetHealthCheckStatus, @@ -787,9 +1985,27 @@ func (c *Route53) GetHealthCheckStatusRequest(input *GetHealthCheckStatusInput) return } -// To retrieve the health check status, send a GET request to the /Route 53 -// API version/healthcheck/health check ID/status resource. You can use this -// call to get a health check's current status. +// GetHealthCheckStatus API operation for Amazon Route 53. +// +// Gets status of a specified health check. Send a GET request to the /2013-04-01/healthcheck/health +// check ID/status resource. You can use this call to get a health check's current +// status. +// +// 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 Route 53's +// API operation GetHealthCheckStatus for usage and error information. +// +// Returned Error Codes: +// * NoSuchHealthCheck +// No health check exists with the ID that you specified in the DeleteHealthCheck +// request. +// +// * InvalidInput +// The input is not valid. +// func (c *Route53) GetHealthCheckStatus(input *GetHealthCheckStatusInput) (*GetHealthCheckStatusOutput, error) { req, out := c.GetHealthCheckStatusRequest(input) err := req.Send() @@ -798,7 +2014,30 @@ func (c *Route53) GetHealthCheckStatus(input *GetHealthCheckStatusInput) (*GetHe const opGetHostedZone = "GetHostedZone" -// GetHostedZoneRequest generates a request for the GetHostedZone operation. +// GetHostedZoneRequest generates a "aws/request.Request" representing the +// client's request for the GetHostedZone operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetHostedZone for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetHostedZone method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetHostedZoneRequest method. +// req, resp := client.GetHostedZoneRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) GetHostedZoneRequest(input *GetHostedZoneInput) (req *request.Request, output *GetHostedZoneOutput) { op := &request.Operation{ Name: opGetHostedZone, @@ -816,10 +2055,26 @@ func (c *Route53) GetHostedZoneRequest(input *GetHostedZoneInput) (req *request. return } -// To retrieve the delegation set for a hosted zone, send a GET request to the -// /Route 53 API version/hostedzone/hosted zone ID resource. The delegation -// set is the four Amazon Route 53 name servers that were assigned to the hosted -// zone when you created it. +// GetHostedZone API operation for Amazon Route 53. +// +// Retrieves the delegation set for a hosted zone, including the four name servers +// assigned to the hosted zone. Send a GET request to the /Amazon Route 53 API +// version/hostedzone/hosted zone ID resource. +// +// 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 Route 53's +// API operation GetHostedZone for usage and error information. +// +// Returned Error Codes: +// * NoSuchHostedZone +// No hosted zone exists with the ID that you specified. +// +// * InvalidInput +// The input is not valid. +// func (c *Route53) GetHostedZone(input *GetHostedZoneInput) (*GetHostedZoneOutput, error) { req, out := c.GetHostedZoneRequest(input) err := req.Send() @@ -828,7 +2083,30 @@ func (c *Route53) GetHostedZone(input *GetHostedZoneInput) (*GetHostedZoneOutput const opGetHostedZoneCount = "GetHostedZoneCount" -// GetHostedZoneCountRequest generates a request for the GetHostedZoneCount operation. +// GetHostedZoneCountRequest generates a "aws/request.Request" representing the +// client's request for the GetHostedZoneCount operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetHostedZoneCount for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetHostedZoneCount method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetHostedZoneCountRequest method. +// req, resp := client.GetHostedZoneCountRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) GetHostedZoneCountRequest(input *GetHostedZoneCountInput) (req *request.Request, output *GetHostedZoneCountOutput) { op := &request.Operation{ Name: opGetHostedZoneCount, @@ -846,8 +2124,22 @@ func (c *Route53) GetHostedZoneCountRequest(input *GetHostedZoneCountInput) (req return } -// To retrieve a count of all your hosted zones, send a GET request to the /Route -// 53 API version/hostedzonecount resource. +// GetHostedZoneCount API operation for Amazon Route 53. +// +// Retrieves a count of all your hosted zones. Send a GET request to the /2013-04-01/hostedzonecount +// resource. +// +// 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 Route 53's +// API operation GetHostedZoneCount for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The input is not valid. +// func (c *Route53) GetHostedZoneCount(input *GetHostedZoneCountInput) (*GetHostedZoneCountOutput, error) { req, out := c.GetHostedZoneCountRequest(input) err := req.Send() @@ -856,7 +2148,30 @@ func (c *Route53) GetHostedZoneCount(input *GetHostedZoneCountInput) (*GetHosted const opGetReusableDelegationSet = "GetReusableDelegationSet" -// GetReusableDelegationSetRequest generates a request for the GetReusableDelegationSet operation. +// GetReusableDelegationSetRequest generates a "aws/request.Request" representing the +// client's request for the GetReusableDelegationSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetReusableDelegationSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetReusableDelegationSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetReusableDelegationSetRequest method. +// req, resp := client.GetReusableDelegationSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) GetReusableDelegationSetRequest(input *GetReusableDelegationSetInput) (req *request.Request, output *GetReusableDelegationSetOutput) { op := &request.Operation{ Name: opGetReusableDelegationSet, @@ -874,8 +2189,28 @@ func (c *Route53) GetReusableDelegationSetRequest(input *GetReusableDelegationSe return } -// To retrieve the reusable delegation set, send a GET request to the /Route -// 53 API version/delegationset/delegation set ID resource. +// GetReusableDelegationSet API operation for Amazon Route 53. +// +// Retrieves the reusable delegation set. Send a GET request to the /2013-04-01/delegationset/delegation +// set ID resource. +// +// 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 Route 53's +// API operation GetReusableDelegationSet for usage and error information. +// +// Returned Error Codes: +// * NoSuchDelegationSet +// A reusable delegation set with the specified ID does not exist. +// +// * DelegationSetNotReusable +// A reusable delegation set with the specified ID does not exist. +// +// * InvalidInput +// The input is not valid. +// func (c *Route53) GetReusableDelegationSet(input *GetReusableDelegationSetInput) (*GetReusableDelegationSetOutput, error) { req, out := c.GetReusableDelegationSetRequest(input) err := req.Send() @@ -884,7 +2219,30 @@ func (c *Route53) GetReusableDelegationSet(input *GetReusableDelegationSetInput) const opGetTrafficPolicy = "GetTrafficPolicy" -// GetTrafficPolicyRequest generates a request for the GetTrafficPolicy operation. +// GetTrafficPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetTrafficPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetTrafficPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetTrafficPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetTrafficPolicyRequest method. +// req, resp := client.GetTrafficPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) GetTrafficPolicyRequest(input *GetTrafficPolicyInput) (req *request.Request, output *GetTrafficPolicyOutput) { op := &request.Operation{ Name: opGetTrafficPolicy, @@ -902,8 +2260,26 @@ func (c *Route53) GetTrafficPolicyRequest(input *GetTrafficPolicyInput) (req *re return } -// Gets information about a specific traffic policy version. To get the information, -// send a GET request to the /Route 53 API version/trafficpolicy resource. +// GetTrafficPolicy API operation for Amazon Route 53. +// +// Gets information about a specific traffic policy version. +// +// Send a GET request to the /Amazon Route 53 API version/trafficpolicy resource. +// +// 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 Route 53's +// API operation GetTrafficPolicy for usage and error information. +// +// Returned Error Codes: +// * NoSuchTrafficPolicy +// No traffic policy exists with the specified ID. +// +// * InvalidInput +// The input is not valid. +// func (c *Route53) GetTrafficPolicy(input *GetTrafficPolicyInput) (*GetTrafficPolicyOutput, error) { req, out := c.GetTrafficPolicyRequest(input) err := req.Send() @@ -912,7 +2288,30 @@ func (c *Route53) GetTrafficPolicy(input *GetTrafficPolicyInput) (*GetTrafficPol const opGetTrafficPolicyInstance = "GetTrafficPolicyInstance" -// GetTrafficPolicyInstanceRequest generates a request for the GetTrafficPolicyInstance operation. +// GetTrafficPolicyInstanceRequest generates a "aws/request.Request" representing the +// client's request for the GetTrafficPolicyInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetTrafficPolicyInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetTrafficPolicyInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetTrafficPolicyInstanceRequest method. +// req, resp := client.GetTrafficPolicyInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) GetTrafficPolicyInstanceRequest(input *GetTrafficPolicyInstanceInput) (req *request.Request, output *GetTrafficPolicyInstanceOutput) { op := &request.Operation{ Name: opGetTrafficPolicyInstance, @@ -930,15 +2329,35 @@ func (c *Route53) GetTrafficPolicyInstanceRequest(input *GetTrafficPolicyInstanc return } +// GetTrafficPolicyInstance API operation for Amazon Route 53. +// // Gets information about a specified traffic policy instance. // -// To get information about the traffic policy instance, send a GET request -// to the /Route 53 API version/trafficpolicyinstance resource. +// Send a GET request to the /Amazon Route 53 API version/trafficpolicyinstance +// resource. // -// After you submit a CreateTrafficPolicyInstance or an UpdateTrafficPolicyInstance +// After you submit a CreateTrafficPolicyInstance or an UpdateTrafficPolicyInstance // request, there's a brief delay while Amazon Route 53 creates the resource // record sets that are specified in the traffic policy definition. For more // information, see the State response element. +// +// In the Amazon Route 53 console, traffic policy instances are known as +// policy records. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53's +// API operation GetTrafficPolicyInstance for usage and error information. +// +// Returned Error Codes: +// * NoSuchTrafficPolicyInstance +// No traffic policy instance exists with the specified ID. +// +// * InvalidInput +// The input is not valid. +// func (c *Route53) GetTrafficPolicyInstance(input *GetTrafficPolicyInstanceInput) (*GetTrafficPolicyInstanceOutput, error) { req, out := c.GetTrafficPolicyInstanceRequest(input) err := req.Send() @@ -947,7 +2366,30 @@ func (c *Route53) GetTrafficPolicyInstance(input *GetTrafficPolicyInstanceInput) const opGetTrafficPolicyInstanceCount = "GetTrafficPolicyInstanceCount" -// GetTrafficPolicyInstanceCountRequest generates a request for the GetTrafficPolicyInstanceCount operation. +// GetTrafficPolicyInstanceCountRequest generates a "aws/request.Request" representing the +// client's request for the GetTrafficPolicyInstanceCount operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetTrafficPolicyInstanceCount for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetTrafficPolicyInstanceCount method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetTrafficPolicyInstanceCountRequest method. +// req, resp := client.GetTrafficPolicyInstanceCountRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) GetTrafficPolicyInstanceCountRequest(input *GetTrafficPolicyInstanceCountInput) (req *request.Request, output *GetTrafficPolicyInstanceCountOutput) { op := &request.Operation{ Name: opGetTrafficPolicyInstanceCount, @@ -965,11 +2407,20 @@ func (c *Route53) GetTrafficPolicyInstanceCountRequest(input *GetTrafficPolicyIn return } +// GetTrafficPolicyInstanceCount API operation for Amazon Route 53. +// // Gets the number of traffic policy instances that are associated with the // current AWS account. // // To get the number of traffic policy instances, send a GET request to the -// /Route 53 API version/trafficpolicyinstancecount resource. +// /2013-04-01/trafficpolicyinstancecount resource. +// +// 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 Route 53's +// API operation GetTrafficPolicyInstanceCount for usage and error information. func (c *Route53) GetTrafficPolicyInstanceCount(input *GetTrafficPolicyInstanceCountInput) (*GetTrafficPolicyInstanceCountOutput, error) { req, out := c.GetTrafficPolicyInstanceCountRequest(input) err := req.Send() @@ -978,7 +2429,30 @@ func (c *Route53) GetTrafficPolicyInstanceCount(input *GetTrafficPolicyInstanceC const opListChangeBatchesByHostedZone = "ListChangeBatchesByHostedZone" -// ListChangeBatchesByHostedZoneRequest generates a request for the ListChangeBatchesByHostedZone operation. +// ListChangeBatchesByHostedZoneRequest generates a "aws/request.Request" representing the +// client's request for the ListChangeBatchesByHostedZone operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListChangeBatchesByHostedZone for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListChangeBatchesByHostedZone method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListChangeBatchesByHostedZoneRequest method. +// req, resp := client.ListChangeBatchesByHostedZoneRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) ListChangeBatchesByHostedZoneRequest(input *ListChangeBatchesByHostedZoneInput) (req *request.Request, output *ListChangeBatchesByHostedZoneOutput) { if c.Client.Config.Logger != nil { c.Client.Config.Logger.Log("This operation, ListChangeBatchesByHostedZone, has been deprecated") @@ -999,8 +2473,25 @@ func (c *Route53) ListChangeBatchesByHostedZoneRequest(input *ListChangeBatchesB return } -// This action gets the list of ChangeBatches in a given time period for a given -// hosted zone. +// ListChangeBatchesByHostedZone API operation for Amazon Route 53. +// +// Gets the list of ChangeBatches in a given time period for a given hosted +// zone. +// +// 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 Route 53's +// API operation ListChangeBatchesByHostedZone for usage and error information. +// +// Returned Error Codes: +// * NoSuchHostedZone +// No hosted zone exists with the ID that you specified. +// +// * InvalidInput +// The input is not valid. +// func (c *Route53) ListChangeBatchesByHostedZone(input *ListChangeBatchesByHostedZoneInput) (*ListChangeBatchesByHostedZoneOutput, error) { req, out := c.ListChangeBatchesByHostedZoneRequest(input) err := req.Send() @@ -1009,7 +2500,30 @@ func (c *Route53) ListChangeBatchesByHostedZone(input *ListChangeBatchesByHosted const opListChangeBatchesByRRSet = "ListChangeBatchesByRRSet" -// ListChangeBatchesByRRSetRequest generates a request for the ListChangeBatchesByRRSet operation. +// ListChangeBatchesByRRSetRequest generates a "aws/request.Request" representing the +// client's request for the ListChangeBatchesByRRSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListChangeBatchesByRRSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListChangeBatchesByRRSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListChangeBatchesByRRSetRequest method. +// req, resp := client.ListChangeBatchesByRRSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) ListChangeBatchesByRRSetRequest(input *ListChangeBatchesByRRSetInput) (req *request.Request, output *ListChangeBatchesByRRSetOutput) { if c.Client.Config.Logger != nil { c.Client.Config.Logger.Log("This operation, ListChangeBatchesByRRSet, has been deprecated") @@ -1030,8 +2544,25 @@ func (c *Route53) ListChangeBatchesByRRSetRequest(input *ListChangeBatchesByRRSe return } -// This action gets the list of ChangeBatches in a given time period for a given -// hosted zone and RRSet. +// ListChangeBatchesByRRSet API operation for Amazon Route 53. +// +// Gets the list of ChangeBatches in a given time period for a given hosted +// zone and RRSet. +// +// 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 Route 53's +// API operation ListChangeBatchesByRRSet for usage and error information. +// +// Returned Error Codes: +// * NoSuchHostedZone +// No hosted zone exists with the ID that you specified. +// +// * InvalidInput +// The input is not valid. +// func (c *Route53) ListChangeBatchesByRRSet(input *ListChangeBatchesByRRSetInput) (*ListChangeBatchesByRRSetOutput, error) { req, out := c.ListChangeBatchesByRRSetRequest(input) err := req.Send() @@ -1040,7 +2571,30 @@ func (c *Route53) ListChangeBatchesByRRSet(input *ListChangeBatchesByRRSetInput) const opListGeoLocations = "ListGeoLocations" -// ListGeoLocationsRequest generates a request for the ListGeoLocations operation. +// ListGeoLocationsRequest generates a "aws/request.Request" representing the +// client's request for the ListGeoLocations operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListGeoLocations for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListGeoLocations method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListGeoLocationsRequest method. +// req, resp := client.ListGeoLocationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) ListGeoLocationsRequest(input *ListGeoLocationsInput) (req *request.Request, output *ListGeoLocationsOutput) { op := &request.Operation{ Name: opListGeoLocations, @@ -1058,19 +2612,28 @@ func (c *Route53) ListGeoLocationsRequest(input *ListGeoLocationsInput) (req *re return } -// To retrieve a list of supported geo locations, send a GET request to the -// /Route 53 API version/geolocations resource. The response to this request -// includes a GeoLocationDetailsList element with zero, one, or multiple GeoLocationDetails -// child elements. The list is sorted by country code, and then subdivision -// code, followed by continents at the end of the list. +// ListGeoLocations API operation for Amazon Route 53. +// +// Retrieves a list of supported geo locations. Send a GET request to the /2013-04-01/geolocations +// resource. The response to this request includes a GeoLocationDetailsList +// element for each location that Amazon Route 53 supports. +// +// Countries are listed first, and continents are listed last. If Amazon Route +// 53 supports subdivisions for a country (for example, states or provinces), +// the subdivisions for that country are listed in alphabetical order immediately +// after the corresponding country. +// +// 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 Route 53's +// API operation ListGeoLocations for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The input is not valid. // -// By default, the list of geo locations is displayed on a single page. You -// can control the length of the page that is displayed by using the MaxItems -// parameter. If the list is truncated, IsTruncated will be set to true and -// a combination of NextContinentCode, NextCountryCode, NextSubdivisionCode -// will be populated. You can pass these as parameters to StartContinentCode, -// StartCountryCode, StartSubdivisionCode to control the geo location that the -// list begins with. func (c *Route53) ListGeoLocations(input *ListGeoLocationsInput) (*ListGeoLocationsOutput, error) { req, out := c.ListGeoLocationsRequest(input) err := req.Send() @@ -1079,7 +2642,30 @@ func (c *Route53) ListGeoLocations(input *ListGeoLocationsInput) (*ListGeoLocati const opListHealthChecks = "ListHealthChecks" -// ListHealthChecksRequest generates a request for the ListHealthChecks operation. +// ListHealthChecksRequest generates a "aws/request.Request" representing the +// client's request for the ListHealthChecks operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListHealthChecks for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListHealthChecks method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListHealthChecksRequest method. +// req, resp := client.ListHealthChecksRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) ListHealthChecksRequest(input *ListHealthChecksInput) (req *request.Request, output *ListHealthChecksOutput) { op := &request.Operation{ Name: opListHealthChecks, @@ -1103,22 +2689,56 @@ func (c *Route53) ListHealthChecksRequest(input *ListHealthChecksInput) (req *re return } -// To retrieve a list of your health checks, send a GET request to the /Route -// 53 API version/healthcheck resource. The response to this request includes -// a HealthChecks element with zero, one, or multiple HealthCheck child elements. -// By default, the list of health checks is displayed on a single page. You -// can control the length of the page that is displayed by using the MaxItems -// parameter. You can use the Marker parameter to control the health check that -// the list begins with. +// ListHealthChecks API operation for Amazon Route 53. +// +// Retrieve a list of your health checks. Send a GET request to the /2013-04-01/healthcheck +// resource. The response to this request includes a HealthChecks element with +// zero or more HealthCheck child elements. By default, the list of health checks +// is displayed on a single page. You can control the length of the page that +// is displayed by using the MaxItems parameter. You can use the Marker parameter +// to control the health check that the list begins with. +// +// For information about listing health checks using the Amazon Route 53 console, +// see Amazon Route 53 Health Checks and DNS Failover (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.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. +// +// See the AWS API reference guide for Amazon Route 53's +// API operation ListHealthChecks for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The input is not valid. +// +// * IncompatibleVersion +// The resource you are trying to access is unsupported on this Amazon Route +// 53 endpoint. Please consider using a newer endpoint or a tool that does so. // -// Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to -// a value greater than 100, Amazon Route 53 returns only the first 100. func (c *Route53) ListHealthChecks(input *ListHealthChecksInput) (*ListHealthChecksOutput, error) { req, out := c.ListHealthChecksRequest(input) err := req.Send() return out, err } +// ListHealthChecksPages iterates over the pages of a ListHealthChecks operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListHealthChecks 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 ListHealthChecks operation. +// pageNum := 0 +// err := client.ListHealthChecksPages(params, +// func(page *ListHealthChecksOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *Route53) ListHealthChecksPages(input *ListHealthChecksInput, fn func(p *ListHealthChecksOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListHealthChecksRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1129,7 +2749,30 @@ func (c *Route53) ListHealthChecksPages(input *ListHealthChecksInput, fn func(p const opListHostedZones = "ListHostedZones" -// ListHostedZonesRequest generates a request for the ListHostedZones operation. +// ListHostedZonesRequest generates a "aws/request.Request" representing the +// client's request for the ListHostedZones operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListHostedZones for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListHostedZones method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListHostedZonesRequest method. +// req, resp := client.ListHostedZonesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) ListHostedZonesRequest(input *ListHostedZonesInput) (req *request.Request, output *ListHostedZonesOutput) { op := &request.Operation{ Name: opListHostedZones, @@ -1153,22 +2796,75 @@ func (c *Route53) ListHostedZonesRequest(input *ListHostedZonesInput) (req *requ return } -// To retrieve a list of your hosted zones, send a GET request to the /Route -// 53 API version/hostedzone resource. The response to this request includes -// a HostedZones element with zero, one, or multiple HostedZone child elements. -// By default, the list of hosted zones is displayed on a single page. You can -// control the length of the page that is displayed by using the MaxItems parameter. -// You can use the Marker parameter to control the hosted zone that the list -// begins with. +// ListHostedZones API operation for Amazon Route 53. +// +// To retrieve a list of your public and private hosted zones, send a GET request +// to the /2013-04-01/hostedzone resource. The response to this request includes +// a HostedZones child element for each hosted zone created by the current AWS +// account. +// +// Amazon Route 53 returns a maximum of 100 items in each response. If you +// have a lot of hosted zones, you can use the maxitems parameter to list them +// in groups of up to 100. The response includes four values that help navigate +// from one group of maxitems hosted zones to the next: +// +// MaxItemsis the value specified for the maxitems parameter in the request +// that produced the current response. +// +// If the value of IsTruncated in the response is true, there are more hosted +// zones associated with the current AWS account. +// +// NextMarkeris the hosted zone ID of the next hosted zone that is associated +// with the current AWS account. If you want to list more hosted zones, make +// another call to ListHostedZones, and specify the value of the NextMarker +// element in the marker parameter. +// +// If IsTruncated is false, the NextMarker element is omitted from the response. +// +// If you're making the second or subsequent call to ListHostedZones, the +// Marker element matches the value that you specified in the marker parameter +// in the previous request. +// +// 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 Route 53's +// API operation ListHostedZones for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The input is not valid. +// +// * NoSuchDelegationSet +// A reusable delegation set with the specified ID does not exist. +// +// * DelegationSetNotReusable +// A reusable delegation set with the specified ID does not exist. // -// Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to -// a value greater than 100, Amazon Route 53 returns only the first 100. func (c *Route53) ListHostedZones(input *ListHostedZonesInput) (*ListHostedZonesOutput, error) { req, out := c.ListHostedZonesRequest(input) err := req.Send() return out, err } +// ListHostedZonesPages iterates over the pages of a ListHostedZones operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListHostedZones 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 ListHostedZones operation. +// pageNum := 0 +// err := client.ListHostedZonesPages(params, +// func(page *ListHostedZonesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *Route53) ListHostedZonesPages(input *ListHostedZonesInput, fn func(p *ListHostedZonesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListHostedZonesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1179,7 +2875,30 @@ func (c *Route53) ListHostedZonesPages(input *ListHostedZonesInput, fn func(p *L const opListHostedZonesByName = "ListHostedZonesByName" -// ListHostedZonesByNameRequest generates a request for the ListHostedZonesByName operation. +// ListHostedZonesByNameRequest generates a "aws/request.Request" representing the +// client's request for the ListHostedZonesByName operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListHostedZonesByName for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListHostedZonesByName method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListHostedZonesByNameRequest method. +// req, resp := client.ListHostedZonesByNameRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) ListHostedZonesByNameRequest(input *ListHostedZonesByNameInput) (req *request.Request, output *ListHostedZonesByNameOutput) { op := &request.Operation{ Name: opListHostedZonesByName, @@ -1197,17 +2916,73 @@ func (c *Route53) ListHostedZonesByNameRequest(input *ListHostedZonesByNameInput return } -// To retrieve a list of your hosted zones in lexicographic order, send a GET -// request to the /Route 53 API version/hostedzonesbyname resource. The response -// to this request includes a HostedZones element with zero or more HostedZone -// child elements lexicographically ordered by DNS name. By default, the list -// of hosted zones is displayed on a single page. You can control the length -// of the page that is displayed by using the MaxItems parameter. You can use -// the DNSName and HostedZoneId parameters to control the hosted zone that the -// list begins with. +// ListHostedZonesByName API operation for Amazon Route 53. +// +// Retrieves a list of your hosted zones in lexicographic order. Send a GET +// request to the /2013-04-01/hostedzonesbyname resource. The response includes +// a HostedZones child element for each hosted zone created by the current AWS +// account. +// +// ListHostedZonesByName sorts hosted zones by name with the labels reversed. +// For example: +// +// com.example.www. +// +// Note the trailing dot, which can change the sort order in some circumstances. +// +// If the domain name includes escape characters or Punycode, ListHostedZonesByName +// alphabetizes the domain name using the escaped or Punycoded value, which +// is the format that Amazon Route 53 saves in its database. For example, to +// create a hosted zone for example.com, specify ex\344mple.com for the domain +// name. ListHostedZonesByName alphabetizes it as: +// +// com.ex\344mple. +// +// The labels are reversed and alphabetized using the escaped value. For +// more information about valid domain name formats, including internationalized +// domain names, see DNS Domain Name Format (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html) +// in the Amazon Route 53 Developer Guide. +// +// Amazon Route 53 returns up to 100 items in each response. If you have a +// lot of hosted zones, use the MaxItems parameter to list them in groups of +// up to 100. The response includes values that help navigate from one group +// of MaxItems hosted zones to the next: +// +// The DNSName and HostedZoneId elements in the response contain the values, +// if any, specified for the dnsname and hostedzoneid parameters in the request +// that produced the current response. +// +// The MaxItems element in the response contains the value, if any, that +// you specified for the maxitems parameter in the request that produced the +// current response. +// +// If the value of IsTruncated in the response is true, there are more hosted +// zones associated with the current AWS account. +// +// If IsTruncated is false, this response includes the last hosted zone that +// is associated with the current account. The NextDNSName element and NextHostedZoneId +// elements are omitted from the response. +// +// The NextDNSName and NextHostedZoneId elements in the response contain +// the domain name and the hosted zone ID of the next hosted zone that is associated +// with the current AWS account. If you want to list more hosted zones, make +// another call to ListHostedZonesByName, and specify the value of NextDNSName +// and NextHostedZoneId in the dnsname and hostedzoneid parameters, respectively. +// +// 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 Route 53's +// API operation ListHostedZonesByName for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The input is not valid. +// +// * InvalidDomainName +// The specified domain name is not valid. // -// Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to -// a value greater than 100, Amazon Route 53 returns only the first 100. func (c *Route53) ListHostedZonesByName(input *ListHostedZonesByNameInput) (*ListHostedZonesByNameOutput, error) { req, out := c.ListHostedZonesByNameRequest(input) err := req.Send() @@ -1216,7 +2991,30 @@ func (c *Route53) ListHostedZonesByName(input *ListHostedZonesByNameInput) (*Lis const opListResourceRecordSets = "ListResourceRecordSets" -// ListResourceRecordSetsRequest generates a request for the ListResourceRecordSets operation. +// ListResourceRecordSetsRequest generates a "aws/request.Request" representing the +// client's request for the ListResourceRecordSets operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListResourceRecordSets for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListResourceRecordSets method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListResourceRecordSetsRequest method. +// req, resp := client.ListResourceRecordSetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) ListResourceRecordSetsRequest(input *ListResourceRecordSetsInput) (req *request.Request, output *ListResourceRecordSetsOutput) { op := &request.Operation{ Name: opListResourceRecordSets, @@ -1240,50 +3038,45 @@ func (c *Route53) ListResourceRecordSetsRequest(input *ListResourceRecordSetsInp return } -// Imagine all the resource record sets in a zone listed out in front of you. -// Imagine them sorted lexicographically first by DNS name (with the labels -// reversed, like "com.amazon.www" for example), and secondarily, lexicographically -// by record type. This operation retrieves at most MaxItems resource record -// sets from this list, in order, starting at a position specified by the Name -// and Type arguments: -// -// If both Name and Type are omitted, this means start the results at the -// first RRSET in the HostedZone. If Name is specified but Type is omitted, -// this means start the results at the first RRSET in the list whose name is -// greater than or equal to Name. If both Name and Type are specified, this -// means start the results at the first RRSET in the list whose name is greater -// than or equal to Name and whose type is greater than or equal to Type. It -// is an error to specify the Type but not the Name. Use ListResourceRecordSets -// to retrieve a single known record set by specifying the record set's name -// and type, and setting MaxItems = 1 -// -// To retrieve all the records in a HostedZone, first pause any processes making -// calls to ChangeResourceRecordSets. Initially call ListResourceRecordSets -// without a Name and Type to get the first page of record sets. For subsequent -// calls, set Name and Type to the NextName and NextType values returned by -// the previous response. -// -// In the presence of concurrent ChangeResourceRecordSets calls, there is no -// consistency of results across calls to ListResourceRecordSets. The only way -// to get a consistent multi-page snapshot of all RRSETs in a zone is to stop -// making changes while pagination is in progress. -// -// However, the results from ListResourceRecordSets are consistent within a -// page. If MakeChange calls are taking place concurrently, the result of each -// one will either be completely visible in your results or not at all. You -// will not see partial changes, or changes that do not ultimately succeed. -// (This follows from the fact that MakeChange is atomic) -// -// The results from ListResourceRecordSets are strongly consistent with ChangeResourceRecordSets. -// To be precise, if a single process makes a call to ChangeResourceRecordSets -// and receives a successful response, the effects of that change will be visible -// in a subsequent call to ListResourceRecordSets by that process. +// ListResourceRecordSets API operation for Amazon Route 53. +// +// 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 Route 53's +// API operation ListResourceRecordSets for usage and error information. +// +// Returned Error Codes: +// * NoSuchHostedZone +// No hosted zone exists with the ID that you specified. +// +// * InvalidInput +// The input is not valid. +// func (c *Route53) ListResourceRecordSets(input *ListResourceRecordSetsInput) (*ListResourceRecordSetsOutput, error) { req, out := c.ListResourceRecordSetsRequest(input) err := req.Send() return out, err } +// ListResourceRecordSetsPages iterates over the pages of a ListResourceRecordSets operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListResourceRecordSets 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 ListResourceRecordSets operation. +// pageNum := 0 +// err := client.ListResourceRecordSetsPages(params, +// func(page *ListResourceRecordSetsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *Route53) ListResourceRecordSetsPages(input *ListResourceRecordSetsInput, fn func(p *ListResourceRecordSetsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListResourceRecordSetsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1294,7 +3087,30 @@ func (c *Route53) ListResourceRecordSetsPages(input *ListResourceRecordSetsInput const opListReusableDelegationSets = "ListReusableDelegationSets" -// ListReusableDelegationSetsRequest generates a request for the ListReusableDelegationSets operation. +// ListReusableDelegationSetsRequest generates a "aws/request.Request" representing the +// client's request for the ListReusableDelegationSets operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListReusableDelegationSets for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListReusableDelegationSets method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListReusableDelegationSetsRequest method. +// req, resp := client.ListReusableDelegationSetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) ListReusableDelegationSetsRequest(input *ListReusableDelegationSetsInput) (req *request.Request, output *ListReusableDelegationSetsOutput) { op := &request.Operation{ Name: opListReusableDelegationSets, @@ -1312,16 +3128,30 @@ func (c *Route53) ListReusableDelegationSetsRequest(input *ListReusableDelegatio return } +// ListReusableDelegationSets API operation for Amazon Route 53. +// // To retrieve a list of your reusable delegation sets, send a GET request to -// the /Route 53 API version/delegationset resource. The response to this request -// includes a DelegationSets element with zero, one, or multiple DelegationSet -// child elements. By default, the list of delegation sets is displayed on a -// single page. You can control the length of the page that is displayed by -// using the MaxItems parameter. You can use the Marker parameter to control -// the delegation set that the list begins with. +// the /2013-04-01/delegationset resource. The response to this request includes +// a DelegationSets element with zero, one, or multiple DelegationSet child +// elements. By default, the list of delegation sets is displayed on a single +// page. You can control the length of the page that is displayed by using the +// MaxItems parameter. You can use the Marker parameter to control the delegation +// set that the list begins with. // -// Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to +// Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to // a value greater than 100, Amazon Route 53 returns only the first 100. +// +// 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 Route 53's +// API operation ListReusableDelegationSets for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The input is not valid. +// func (c *Route53) ListReusableDelegationSets(input *ListReusableDelegationSetsInput) (*ListReusableDelegationSetsOutput, error) { req, out := c.ListReusableDelegationSetsRequest(input) err := req.Send() @@ -1330,7 +3160,30 @@ func (c *Route53) ListReusableDelegationSets(input *ListReusableDelegationSetsIn const opListTagsForResource = "ListTagsForResource" -// ListTagsForResourceRequest generates a request for the ListTagsForResource operation. +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListTagsForResource for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListTagsForResource method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // 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) +// } +// func (c *Route53) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { op := &request.Operation{ Name: opListTagsForResource, @@ -1348,6 +3201,36 @@ func (c *Route53) ListTagsForResourceRequest(input *ListTagsForResourceInput) (r return } +// ListTagsForResource API operation for Amazon Route 53. +// +// 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 Route 53's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The input is not valid. +// +// * NoSuchHealthCheck +// No health check exists with the ID that you specified in the DeleteHealthCheck +// request. +// +// * NoSuchHostedZone +// No hosted zone exists with the ID that you specified. +// +// * PriorRequestNotComplete +// If Amazon Route 53 can't process a request before the next request arrives, +// it will reject subsequent requests for the same hosted zone and return an +// HTTP 400 error (Bad request). If Amazon Route 53 returns this error repeatedly +// for the same request, we recommend that you wait, in intervals of increasing +// duration, before you try the request again. +// +// * ThrottlingException + +// func (c *Route53) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { req, out := c.ListTagsForResourceRequest(input) err := req.Send() @@ -1356,7 +3239,30 @@ func (c *Route53) ListTagsForResource(input *ListTagsForResourceInput) (*ListTag const opListTagsForResources = "ListTagsForResources" -// ListTagsForResourcesRequest generates a request for the ListTagsForResources operation. +// ListTagsForResourcesRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResources operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListTagsForResources for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListTagsForResources method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListTagsForResourcesRequest method. +// req, resp := client.ListTagsForResourcesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) ListTagsForResourcesRequest(input *ListTagsForResourcesInput) (req *request.Request, output *ListTagsForResourcesOutput) { op := &request.Operation{ Name: opListTagsForResources, @@ -1374,6 +3280,36 @@ func (c *Route53) ListTagsForResourcesRequest(input *ListTagsForResourcesInput) return } +// ListTagsForResources API operation for Amazon Route 53. +// +// 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 Route 53's +// API operation ListTagsForResources for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The input is not valid. +// +// * NoSuchHealthCheck +// No health check exists with the ID that you specified in the DeleteHealthCheck +// request. +// +// * NoSuchHostedZone +// No hosted zone exists with the ID that you specified. +// +// * PriorRequestNotComplete +// If Amazon Route 53 can't process a request before the next request arrives, +// it will reject subsequent requests for the same hosted zone and return an +// HTTP 400 error (Bad request). If Amazon Route 53 returns this error repeatedly +// for the same request, we recommend that you wait, in intervals of increasing +// duration, before you try the request again. +// +// * ThrottlingException + +// func (c *Route53) ListTagsForResources(input *ListTagsForResourcesInput) (*ListTagsForResourcesOutput, error) { req, out := c.ListTagsForResourcesRequest(input) err := req.Send() @@ -1382,7 +3318,30 @@ func (c *Route53) ListTagsForResources(input *ListTagsForResourcesInput) (*ListT const opListTrafficPolicies = "ListTrafficPolicies" -// ListTrafficPoliciesRequest generates a request for the ListTrafficPolicies operation. +// ListTrafficPoliciesRequest generates a "aws/request.Request" representing the +// client's request for the ListTrafficPolicies operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListTrafficPolicies for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListTrafficPolicies method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListTrafficPoliciesRequest method. +// req, resp := client.ListTrafficPoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) ListTrafficPoliciesRequest(input *ListTrafficPoliciesInput) (req *request.Request, output *ListTrafficPoliciesOutput) { op := &request.Operation{ Name: opListTrafficPolicies, @@ -1400,9 +3359,11 @@ func (c *Route53) ListTrafficPoliciesRequest(input *ListTrafficPoliciesInput) (r return } +// ListTrafficPolicies API operation for Amazon Route 53. +// // Gets information about the latest version for every traffic policy that is -// associated with the current AWS account. To get the information, send a GET -// request to the /Route 53 API version/trafficpolicy resource. +// associated with the current AWS account. Send a GET request to the /Amazon +// Route 53 API version/trafficpolicy resource. // // Amazon Route 53 returns a maximum of 100 items in each response. If you // have a lot of traffic policies, you can use the maxitems parameter to list @@ -1411,23 +3372,41 @@ func (c *Route53) ListTrafficPoliciesRequest(input *ListTrafficPoliciesInput) (r // The response includes three values that help you navigate from one group // of maxitems traffic policies to the next: // -// IsTruncated If the value of IsTruncated in the response is true, there -// are more traffic policies associated with the current AWS account. +// IsTruncated +// +// If the value of IsTruncated in the response is true, there are more traffic +// policies associated with the current AWS account. // // If IsTruncated is false, this response includes the last traffic policy // that is associated with the current account. // -// TrafficPolicyIdMarker If IsTruncated is true, TrafficPolicyIdMarker is the -// ID of the first traffic policy in the next group of MaxItems traffic policies. -// If you want to list more traffic policies, make another call to ListTrafficPolicies, -// and specify the value of the TrafficPolicyIdMarker element from the response -// in the TrafficPolicyIdMarker request parameter. +// TrafficPolicyIdMarker +// +// If IsTruncated is true, TrafficPolicyIdMarker is the ID of the first traffic +// policy in the next group of MaxItems traffic policies. If you want to list +// more traffic policies, make another call to ListTrafficPolicies, and specify +// the value of the TrafficPolicyIdMarker element from the response in the TrafficPolicyIdMarker +// request parameter. // // If IsTruncated is false, the TrafficPolicyIdMarker element is omitted from // the response. // -// MaxItems The value that you specified for the MaxItems parameter in the -// request that produced the current response. +// MaxItems +// +// The value that you specified for the MaxItems parameter in the request that +// produced the current 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. +// +// See the AWS API reference guide for Amazon Route 53's +// API operation ListTrafficPolicies for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The input is not valid. +// func (c *Route53) ListTrafficPolicies(input *ListTrafficPoliciesInput) (*ListTrafficPoliciesOutput, error) { req, out := c.ListTrafficPoliciesRequest(input) err := req.Send() @@ -1436,7 +3415,30 @@ func (c *Route53) ListTrafficPolicies(input *ListTrafficPoliciesInput) (*ListTra const opListTrafficPolicyInstances = "ListTrafficPolicyInstances" -// ListTrafficPolicyInstancesRequest generates a request for the ListTrafficPolicyInstances operation. +// ListTrafficPolicyInstancesRequest generates a "aws/request.Request" representing the +// client's request for the ListTrafficPolicyInstances operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListTrafficPolicyInstances for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListTrafficPolicyInstances method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListTrafficPolicyInstancesRequest method. +// req, resp := client.ListTrafficPolicyInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) ListTrafficPolicyInstancesRequest(input *ListTrafficPolicyInstancesInput) (req *request.Request, output *ListTrafficPolicyInstancesOutput) { op := &request.Operation{ Name: opListTrafficPolicyInstances, @@ -1454,14 +3456,17 @@ func (c *Route53) ListTrafficPolicyInstancesRequest(input *ListTrafficPolicyInst return } +// ListTrafficPolicyInstances API operation for Amazon Route 53. +// // Gets information about the traffic policy instances that you created by using // the current AWS account. // -// After you submit an UpdateTrafficPolicyInstance request, there's a brief +// After you submit an UpdateTrafficPolicyInstance request, there's a brief // delay while Amazon Route 53 creates the resource record sets that are specified // in the traffic policy definition. For more information, see the State response -// element. To get information about the traffic policy instances that are associated -// with the current AWS account, send a GET request to the /Route 53 API version/trafficpolicyinstance +// element. +// +// Send a GET request to the /Amazon Route 53 API version/trafficpolicyinstance // resource. // // Amazon Route 53 returns a maximum of 100 items in each response. If you @@ -1471,22 +3476,42 @@ func (c *Route53) ListTrafficPolicyInstancesRequest(input *ListTrafficPolicyInst // The response includes five values that help you navigate from one group // of MaxItems traffic policy instances to the next: // -// IsTruncated If the value of IsTruncated in the response is true, there -// are more traffic policy instances associated with the current AWS account. +// IsTruncated +// +// If the value of IsTruncated in the response is true, there are more traffic +// policy instances associated with the current AWS account. // // If IsTruncated is false, this response includes the last traffic policy // instance that is associated with the current account. // -// MaxItems The value that you specified for the MaxItems parameter in the -// request that produced the current response. +// MaxItems +// +// The value that you specified for the MaxItems parameter in the request that +// produced the current response. +// +// HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker // -// HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker // If IsTruncated is true, these three values in the response represent the // first traffic policy instance in the next group of MaxItems traffic policy // instances. To list more traffic policy instances, make another call to ListTrafficPolicyInstances, // and specify these values in the corresponding request parameters. // // If IsTruncated is false, all three elements are omitted from the 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. +// +// See the AWS API reference guide for Amazon Route 53's +// API operation ListTrafficPolicyInstances for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The input is not valid. +// +// * NoSuchTrafficPolicyInstance +// No traffic policy instance exists with the specified ID. +// func (c *Route53) ListTrafficPolicyInstances(input *ListTrafficPolicyInstancesInput) (*ListTrafficPolicyInstancesOutput, error) { req, out := c.ListTrafficPolicyInstancesRequest(input) err := req.Send() @@ -1495,7 +3520,30 @@ func (c *Route53) ListTrafficPolicyInstances(input *ListTrafficPolicyInstancesIn const opListTrafficPolicyInstancesByHostedZone = "ListTrafficPolicyInstancesByHostedZone" -// ListTrafficPolicyInstancesByHostedZoneRequest generates a request for the ListTrafficPolicyInstancesByHostedZone operation. +// ListTrafficPolicyInstancesByHostedZoneRequest generates a "aws/request.Request" representing the +// client's request for the ListTrafficPolicyInstancesByHostedZone operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListTrafficPolicyInstancesByHostedZone for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListTrafficPolicyInstancesByHostedZone method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListTrafficPolicyInstancesByHostedZoneRequest method. +// req, resp := client.ListTrafficPolicyInstancesByHostedZoneRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) ListTrafficPolicyInstancesByHostedZoneRequest(input *ListTrafficPolicyInstancesByHostedZoneInput) (req *request.Request, output *ListTrafficPolicyInstancesByHostedZoneOutput) { op := &request.Operation{ Name: opListTrafficPolicyInstancesByHostedZone, @@ -1513,14 +3561,17 @@ func (c *Route53) ListTrafficPolicyInstancesByHostedZoneRequest(input *ListTraff return } +// ListTrafficPolicyInstancesByHostedZone API operation for Amazon Route 53. +// // Gets information about the traffic policy instances that you created in a // specified hosted zone. // -// After you submit an UpdateTrafficPolicyInstance request, there's a brief +// After you submit an UpdateTrafficPolicyInstance request, there's a brief // delay while Amazon Route 53 creates the resource record sets that are specified // in the traffic policy definition. For more information, see the State response -// element. To get information about the traffic policy instances that you created -// in a specified hosted zone, send a GET request to the /Route 53 API version/trafficpolicyinstance +// element. +// +// Send a GET request to the /Amazon Route 53 API version/trafficpolicyinstance // resource and include the ID of the hosted zone. // // Amazon Route 53 returns a maximum of 100 items in each response. If you @@ -1530,22 +3581,45 @@ func (c *Route53) ListTrafficPolicyInstancesByHostedZoneRequest(input *ListTraff // The response includes four values that help you navigate from one group // of MaxItems traffic policy instances to the next: // -// IsTruncated If the value of IsTruncated in the response is true, there -// are more traffic policy instances associated with the current AWS account. +// IsTruncated +// +// If the value of IsTruncated in the response is true, there are more traffic +// policy instances associated with the current AWS account. // // If IsTruncated is false, this response includes the last traffic policy // instance that is associated with the current account. // -// MaxItems The value that you specified for the MaxItems parameter in the -// request that produced the current response. +// MaxItems +// +// The value that you specified for the MaxItems parameter in the request that +// produced the current response. // -// TrafficPolicyInstanceNameMarker and TrafficPolicyInstanceTypeMarker If IsTruncated -// is true, these two values in the response represent the first traffic policy -// instance in the next group of MaxItems traffic policy instances. To list -// more traffic policy instances, make another call to ListTrafficPolicyInstancesByHostedZone, +// TrafficPolicyInstanceNameMarker and TrafficPolicyInstanceTypeMarker +// +// If IsTruncated is true, these two values in the response represent the first +// traffic policy instance in the next group of MaxItems traffic policy instances. +// To list more traffic policy instances, make another call to ListTrafficPolicyInstancesByHostedZone, // and specify these values in the corresponding request parameters. // // If IsTruncated is false, all three elements are omitted from the 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. +// +// See the AWS API reference guide for Amazon Route 53's +// API operation ListTrafficPolicyInstancesByHostedZone for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The input is not valid. +// +// * NoSuchTrafficPolicyInstance +// No traffic policy instance exists with the specified ID. +// +// * NoSuchHostedZone +// No hosted zone exists with the ID that you specified. +// func (c *Route53) ListTrafficPolicyInstancesByHostedZone(input *ListTrafficPolicyInstancesByHostedZoneInput) (*ListTrafficPolicyInstancesByHostedZoneOutput, error) { req, out := c.ListTrafficPolicyInstancesByHostedZoneRequest(input) err := req.Send() @@ -1554,7 +3628,30 @@ func (c *Route53) ListTrafficPolicyInstancesByHostedZone(input *ListTrafficPolic const opListTrafficPolicyInstancesByPolicy = "ListTrafficPolicyInstancesByPolicy" -// ListTrafficPolicyInstancesByPolicyRequest generates a request for the ListTrafficPolicyInstancesByPolicy operation. +// ListTrafficPolicyInstancesByPolicyRequest generates a "aws/request.Request" representing the +// client's request for the ListTrafficPolicyInstancesByPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListTrafficPolicyInstancesByPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListTrafficPolicyInstancesByPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListTrafficPolicyInstancesByPolicyRequest method. +// req, resp := client.ListTrafficPolicyInstancesByPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) ListTrafficPolicyInstancesByPolicyRequest(input *ListTrafficPolicyInstancesByPolicyInput) (req *request.Request, output *ListTrafficPolicyInstancesByPolicyOutput) { op := &request.Operation{ Name: opListTrafficPolicyInstancesByPolicy, @@ -1572,16 +3669,18 @@ func (c *Route53) ListTrafficPolicyInstancesByPolicyRequest(input *ListTrafficPo return } +// ListTrafficPolicyInstancesByPolicy API operation for Amazon Route 53. +// // Gets information about the traffic policy instances that you created by using // a specify traffic policy version. // -// After you submit a CreateTrafficPolicyInstance or an UpdateTrafficPolicyInstance +// After you submit a CreateTrafficPolicyInstance or an UpdateTrafficPolicyInstance // request, there's a brief delay while Amazon Route 53 creates the resource // record sets that are specified in the traffic policy definition. For more -// information, see the State response element. To get information about the -// traffic policy instances that you created by using a specify traffic policy -// version, send a GET request to the /Route 53 API version/trafficpolicyinstance -// resource and include the ID and version of the traffic policy. +// information, see the State response element. +// +// Send a GET request to the /Route 53 API version/trafficpolicyinstance resource +// and include the ID and version of the traffic policy. // // Amazon Route 53 returns a maximum of 100 items in each response. If you // have a lot of traffic policy instances, you can use the MaxItems parameter @@ -1590,22 +3689,45 @@ func (c *Route53) ListTrafficPolicyInstancesByPolicyRequest(input *ListTrafficPo // The response includes five values that help you navigate from one group // of MaxItems traffic policy instances to the next: // -// IsTruncated If the value of IsTruncated in the response is true, there -// are more traffic policy instances associated with the specified traffic policy. +// IsTruncated +// +// If the value of IsTruncated in the response is true, there are more traffic +// policy instances associated with the specified traffic policy. // // If IsTruncated is false, this response includes the last traffic policy // instance that is associated with the specified traffic policy. // -// MaxItems The value that you specified for the MaxItems parameter in the -// request that produced the current response. +// MaxItems +// +// The value that you specified for the MaxItems parameter in the request that +// produced the current response. +// +// HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker // -// HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker // If IsTruncated is true, these values in the response represent the first // traffic policy instance in the next group of MaxItems traffic policy instances. // To list more traffic policy instances, make another call to ListTrafficPolicyInstancesByPolicy, // and specify these values in the corresponding request parameters. // // If IsTruncated is false, all three elements are omitted from the 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. +// +// See the AWS API reference guide for Amazon Route 53's +// API operation ListTrafficPolicyInstancesByPolicy for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The input is not valid. +// +// * NoSuchTrafficPolicyInstance +// No traffic policy instance exists with the specified ID. +// +// * NoSuchTrafficPolicy +// No traffic policy exists with the specified ID. +// func (c *Route53) ListTrafficPolicyInstancesByPolicy(input *ListTrafficPolicyInstancesByPolicyInput) (*ListTrafficPolicyInstancesByPolicyOutput, error) { req, out := c.ListTrafficPolicyInstancesByPolicyRequest(input) err := req.Send() @@ -1614,7 +3736,30 @@ func (c *Route53) ListTrafficPolicyInstancesByPolicy(input *ListTrafficPolicyIns const opListTrafficPolicyVersions = "ListTrafficPolicyVersions" -// ListTrafficPolicyVersionsRequest generates a request for the ListTrafficPolicyVersions operation. +// ListTrafficPolicyVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListTrafficPolicyVersions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListTrafficPolicyVersions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListTrafficPolicyVersions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListTrafficPolicyVersionsRequest method. +// req, resp := client.ListTrafficPolicyVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) ListTrafficPolicyVersionsRequest(input *ListTrafficPolicyVersionsInput) (req *request.Request, output *ListTrafficPolicyVersionsOutput) { op := &request.Operation{ Name: opListTrafficPolicyVersions, @@ -1632,8 +3777,12 @@ func (c *Route53) ListTrafficPolicyVersionsRequest(input *ListTrafficPolicyVersi return } +// ListTrafficPolicyVersions API operation for Amazon Route 53. +// // Gets information about all of the versions for a specified traffic policy. -// ListTrafficPolicyVersions lists only versions that have not been deleted. +// +// Send a GET request to the /Amazon Route 53 API version/trafficpolicy resource +// and specify the ID of the traffic policy for which you want to list versions. // // Amazon Route 53 returns a maximum of 100 items in each response. If you // have a lot of traffic policies, you can use the maxitems parameter to list @@ -1642,32 +3791,140 @@ func (c *Route53) ListTrafficPolicyVersionsRequest(input *ListTrafficPolicyVersi // The response includes three values that help you navigate from one group // of maxitemsmaxitems traffic policies to the next: // -// IsTruncated If the value of IsTruncated in the response is true, there -// are more traffic policy versions associated with the specified traffic policy. +// IsTruncated +// +// If the value of IsTruncated in the response is true, there are more traffic +// policy versions associated with the specified traffic policy. // // If IsTruncated is false, this response includes the last traffic policy // version that is associated with the specified traffic policy. // -// TrafficPolicyVersionMarker The ID of the next traffic policy version that -// is associated with the current AWS account. If you want to list more traffic -// policies, make another call to ListTrafficPolicyVersions, and specify the -// value of the TrafficPolicyVersionMarker element in the TrafficPolicyVersionMarker -// request parameter. +// TrafficPolicyVersionMarker +// +// The ID of the next traffic policy version that is associated with the current +// AWS account. If you want to list more traffic policies, make another call +// to ListTrafficPolicyVersions, and specify the value of the TrafficPolicyVersionMarker +// element in the TrafficPolicyVersionMarker request parameter. // // If IsTruncated is false, Amazon Route 53 omits the TrafficPolicyVersionMarker // element from the response. // -// MaxItems The value that you specified for the MaxItems parameter in the -// request that produced the current response. -func (c *Route53) ListTrafficPolicyVersions(input *ListTrafficPolicyVersionsInput) (*ListTrafficPolicyVersionsOutput, error) { - req, out := c.ListTrafficPolicyVersionsRequest(input) +// MaxItems +// +// The value that you specified for the MaxItems parameter in the request that +// produced the current 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. +// +// See the AWS API reference guide for Amazon Route 53's +// API operation ListTrafficPolicyVersions for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The input is not valid. +// +// * NoSuchTrafficPolicy +// No traffic policy exists with the specified ID. +// +func (c *Route53) ListTrafficPolicyVersions(input *ListTrafficPolicyVersionsInput) (*ListTrafficPolicyVersionsOutput, error) { + req, out := c.ListTrafficPolicyVersionsRequest(input) + err := req.Send() + return out, err +} + +const opTestDNSAnswer = "TestDNSAnswer" + +// TestDNSAnswerRequest generates a "aws/request.Request" representing the +// client's request for the TestDNSAnswer operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See TestDNSAnswer for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the TestDNSAnswer method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the TestDNSAnswerRequest method. +// req, resp := client.TestDNSAnswerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *Route53) TestDNSAnswerRequest(input *TestDNSAnswerInput) (req *request.Request, output *TestDNSAnswerOutput) { + op := &request.Operation{ + Name: opTestDNSAnswer, + HTTPMethod: "GET", + HTTPPath: "/2013-04-01/testdnsanswer", + } + + if input == nil { + input = &TestDNSAnswerInput{} + } + + req = c.newRequest(op, input, output) + output = &TestDNSAnswerOutput{} + req.Data = output + return +} + +// TestDNSAnswer API operation for Amazon Route 53. +// +// 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 Route 53's +// API operation TestDNSAnswer for usage and error information. +// +// Returned Error Codes: +// * NoSuchHostedZone +// No hosted zone exists with the ID that you specified. +// +// * InvalidInput +// The input is not valid. +// +func (c *Route53) TestDNSAnswer(input *TestDNSAnswerInput) (*TestDNSAnswerOutput, error) { + req, out := c.TestDNSAnswerRequest(input) err := req.Send() return out, err } const opUpdateHealthCheck = "UpdateHealthCheck" -// UpdateHealthCheckRequest generates a request for the UpdateHealthCheck operation. +// UpdateHealthCheckRequest generates a "aws/request.Request" representing the +// client's request for the UpdateHealthCheck operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateHealthCheck for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateHealthCheck method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateHealthCheckRequest method. +// req, resp := client.UpdateHealthCheckRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) UpdateHealthCheckRequest(input *UpdateHealthCheckInput) (req *request.Request, output *UpdateHealthCheckOutput) { op := &request.Operation{ Name: opUpdateHealthCheck, @@ -1685,12 +3942,34 @@ func (c *Route53) UpdateHealthCheckRequest(input *UpdateHealthCheckInput) (req * return } -// This action updates an existing health check. +// UpdateHealthCheck API operation for Amazon Route 53. +// +// Updates an existing health check. +// +// Send a POST request to the /Amazon Route 53 API version/healthcheck/health +// check ID resource. The request body must include an XML document with an +// UpdateHealthCheckRequest element. For more information about updating health +// checks, see Creating, Updating, and Deleting Health Checks (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/health-checks-creating-deleting.html) +// in the Amazon Route 53 Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon Route 53's +// API operation UpdateHealthCheck for usage and error information. +// +// Returned Error Codes: +// * NoSuchHealthCheck +// No health check exists with the ID that you specified in the DeleteHealthCheck +// request. +// +// * InvalidInput +// The input is not valid. +// +// * HealthCheckVersionMismatch + // -// To update a health check, send a POST request to the /Route 53 API version/healthcheck/health -// check ID resource. The request body must include a document with an UpdateHealthCheckRequest -// element. The response returns an UpdateHealthCheckResponse element, which -// contains metadata about the health check. func (c *Route53) UpdateHealthCheck(input *UpdateHealthCheckInput) (*UpdateHealthCheckOutput, error) { req, out := c.UpdateHealthCheckRequest(input) err := req.Send() @@ -1699,7 +3978,30 @@ func (c *Route53) UpdateHealthCheck(input *UpdateHealthCheckInput) (*UpdateHealt const opUpdateHostedZoneComment = "UpdateHostedZoneComment" -// UpdateHostedZoneCommentRequest generates a request for the UpdateHostedZoneComment operation. +// UpdateHostedZoneCommentRequest generates a "aws/request.Request" representing the +// client's request for the UpdateHostedZoneComment operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateHostedZoneComment for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateHostedZoneComment method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateHostedZoneCommentRequest method. +// req, resp := client.UpdateHostedZoneCommentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) UpdateHostedZoneCommentRequest(input *UpdateHostedZoneCommentInput) (req *request.Request, output *UpdateHostedZoneCommentOutput) { op := &request.Operation{ Name: opUpdateHostedZoneComment, @@ -1717,12 +4019,25 @@ func (c *Route53) UpdateHostedZoneCommentRequest(input *UpdateHostedZoneCommentI return } -// To update the hosted zone comment, send a POST request to the /Route 53 API -// version/hostedzone/hosted zone ID resource. The request body must include -// a document with a UpdateHostedZoneCommentRequest element. The response to -// this request includes the modified HostedZone element. +// UpdateHostedZoneComment API operation for Amazon Route 53. +// +// Updates the hosted zone comment. Send a POST request to the /2013-04-01/hostedzone/hosted +// zone ID resource. +// +// 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 Route 53's +// API operation UpdateHostedZoneComment for usage and error information. +// +// Returned Error Codes: +// * NoSuchHostedZone +// No hosted zone exists with the ID that you specified. +// +// * InvalidInput +// The input is not valid. // -// The comment can have a maximum length of 256 characters. func (c *Route53) UpdateHostedZoneComment(input *UpdateHostedZoneCommentInput) (*UpdateHostedZoneCommentOutput, error) { req, out := c.UpdateHostedZoneCommentRequest(input) err := req.Send() @@ -1731,7 +4046,30 @@ func (c *Route53) UpdateHostedZoneComment(input *UpdateHostedZoneCommentInput) ( const opUpdateTrafficPolicyComment = "UpdateTrafficPolicyComment" -// UpdateTrafficPolicyCommentRequest generates a request for the UpdateTrafficPolicyComment operation. +// UpdateTrafficPolicyCommentRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTrafficPolicyComment operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateTrafficPolicyComment for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateTrafficPolicyComment method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateTrafficPolicyCommentRequest method. +// req, resp := client.UpdateTrafficPolicyCommentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) UpdateTrafficPolicyCommentRequest(input *UpdateTrafficPolicyCommentInput) (req *request.Request, output *UpdateTrafficPolicyCommentOutput) { op := &request.Operation{ Name: opUpdateTrafficPolicyComment, @@ -1749,13 +4087,33 @@ func (c *Route53) UpdateTrafficPolicyCommentRequest(input *UpdateTrafficPolicyCo return } +// UpdateTrafficPolicyComment API operation for Amazon Route 53. +// // Updates the comment for a specified traffic policy version. // -// To update the comment, send a POST request to the /Route 53 API version/trafficpolicy/ -// resource. +// Send a POST request to the /Amazon Route 53 API version/trafficpolicy/ resource. // // The request body must include a document with an UpdateTrafficPolicyCommentRequest // element. +// +// 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 Route 53's +// API operation UpdateTrafficPolicyComment for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The input is not valid. +// +// * NoSuchTrafficPolicy +// No traffic policy exists with the specified ID. +// +// * ConcurrentModification +// Another user submitted a request to update the object at the same time that +// you did. Retry the request. +// func (c *Route53) UpdateTrafficPolicyComment(input *UpdateTrafficPolicyCommentInput) (*UpdateTrafficPolicyCommentOutput, error) { req, out := c.UpdateTrafficPolicyCommentRequest(input) err := req.Send() @@ -1764,7 +4122,30 @@ func (c *Route53) UpdateTrafficPolicyComment(input *UpdateTrafficPolicyCommentIn const opUpdateTrafficPolicyInstance = "UpdateTrafficPolicyInstance" -// UpdateTrafficPolicyInstanceRequest generates a request for the UpdateTrafficPolicyInstance operation. +// UpdateTrafficPolicyInstanceRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTrafficPolicyInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateTrafficPolicyInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateTrafficPolicyInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateTrafficPolicyInstanceRequest method. +// req, resp := client.UpdateTrafficPolicyInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *Route53) UpdateTrafficPolicyInstanceRequest(input *UpdateTrafficPolicyInstanceInput) (req *request.Request, output *UpdateTrafficPolicyInstanceOutput) { op := &request.Operation{ Name: opUpdateTrafficPolicyInstance, @@ -1782,43 +4163,87 @@ func (c *Route53) UpdateTrafficPolicyInstanceRequest(input *UpdateTrafficPolicyI return } +// UpdateTrafficPolicyInstance API operation for Amazon Route 53. +// // Updates the resource record sets in a specified hosted zone that were created // based on the settings in a specified traffic policy version. // -// The DNS type of the resource record sets that you're updating must match -// the DNS type in the JSON document that is associated with the traffic policy -// version that you're using to update the traffic policy instance. When you -// update a traffic policy instance, Amazon Route 53 continues to respond to -// DNS queries for the root resource record set name (such as example.com) while -// it replaces one group of resource record sets with another. Amazon Route -// 53 performs the following operations: +// Send a POST request to the /Amazon Route 53 API version/trafficpolicyinstance/traffic +// policy ID resource. The request body must include a document with an UpdateTrafficPolicyInstanceRequest +// element. +// +// When you update a traffic policy instance, Amazon Route 53 continues to +// respond to DNS queries for the root resource record set name (such as example.com) +// while it replaces one group of resource record sets with another. Amazon +// Route 53 performs the following operations: // -// Amazon Route 53 creates a new group of resource record sets based on the +// Amazon Route 53 creates a new group of resource record sets based on the // specified traffic policy. This is true regardless of how substantial the // differences are between the existing resource record sets and the new resource -// record sets. When all of the new resource record sets have been created, -// Amazon Route 53 starts to respond to DNS queries for the root resource record -// set name (such as example.com) by using the new resource record sets. Amazon -// Route 53 deletes the old group of resource record sets that are associated -// with the root resource record set name. To update a traffic policy instance, -// send a POST request to the /Route 53 API version/trafficpolicyinstance/traffic -// policy ID resource. The request body must include a document with an UpdateTrafficPolicyInstanceRequest -// element. +// record sets. +// +// When all of the new resource record sets have been created, Amazon Route +// 53 starts to respond to DNS queries for the root resource record set name +// (such as example.com) by using the new resource record sets. +// +// Amazon Route 53 deletes the old group of resource record sets that are +// associated with the root resource record set name. +// +// 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 Route 53's +// API operation UpdateTrafficPolicyInstance for usage and error information. +// +// Returned Error Codes: +// * InvalidInput +// The input is not valid. +// +// * NoSuchTrafficPolicy +// No traffic policy exists with the specified ID. +// +// * NoSuchTrafficPolicyInstance +// No traffic policy instance exists with the specified ID. +// +// * PriorRequestNotComplete +// If Amazon Route 53 can't process a request before the next request arrives, +// it will reject subsequent requests for the same hosted zone and return an +// HTTP 400 error (Bad request). If Amazon Route 53 returns this error repeatedly +// for the same request, we recommend that you wait, in intervals of increasing +// duration, before you try the request again. +// +// * ConflictingTypes +// You tried to update a traffic policy instance by using a traffic policy version +// that has a different DNS type than the current type for the instance. You +// specified the type in the JSON document in the CreateTrafficPolicy or CreateTrafficPolicyVersionrequest. +// func (c *Route53) UpdateTrafficPolicyInstance(input *UpdateTrafficPolicyInstanceInput) (*UpdateTrafficPolicyInstanceOutput, error) { req, out := c.UpdateTrafficPolicyInstanceRequest(input) err := req.Send() return out, err } -// A complex type that contains information to uniquely identify the CloudWatch -// alarm that you're associating with a Route 53 health check. +// A complex type that identifies the CloudWatch alarm that you want Amazon +// Route 53 health checkers to use to determine whether this health check is +// healthy. type AlarmIdentifier struct { _ struct{} `type:"structure"` - // The name of the CloudWatch alarm. + // The name of the CloudWatch alarm that you want Amazon Route 53 health checkers + // to use to determine whether this health check is healthy. + // + // Name is a required field Name *string `min:"1" type:"string" required:"true"` - // The CloudWatchRegion that the CloudWatch alarm was created in. + // A complex type that identifies the CloudWatch alarm that you want Amazon + // Route 53 health checkers to use to determine whether this health check is + // healthy. + // + // For the current list of CloudWatch regions, see Amazon CloudWatch (http://docs.aws.amazon.com/general/latest/gr/rande.html#cw_region) + // in AWS Regions and Endpoints in the Amazon Web Services General Reference. + // + // Region is a required field Region *string `min:"1" type:"string" required:"true" enum:"CloudWatchRegion"` } @@ -1855,127 +4280,210 @@ func (s *AlarmIdentifier) Validate() error { } // Alias resource record sets only: Information about the CloudFront distribution, -// ELB load balancer, Amazon S3 bucket, or Amazon Route 53 resource record set -// to which you are routing traffic. -// -// If you're creating resource record sets for a private hosted zone, note -// the following: -// -// You can create alias resource record sets only for Amazon Route 53 resource -// record sets in the same private hosted zone. Creating alias resource record -// sets for CloudFront distributions, ELB load balancers, and Amazon S3 buckets -// is not supported. You can't create alias resource record sets for failover, -// geolocation, or latency resource record sets in a private hosted zone. For -// more information and an example, see Example: Creating Alias Resource Record -// Sets (http://docs.aws.amazon.com/Route53/latest/APIReference/CreateAliasRRSAPI.html) -// in the Amazon Route 53 API Reference. +// Elastic Beanstalk environment, ELB load balancer, Amazon S3 bucket, or Amazon +// Route 53 resource record set to which you are redirecting queries. The Elastic +// Beanstalk environment must have a regionalized subdomain. +// +// When creating resource record sets for a private hosted zone, note the following: +// +// Resource record sets cannot be created for CloudFront distributions in +// a private hosted zone. +// +// Creating geolocation alias resource record sets or latency alias resource +// record sets in a private hosted zone is unsupported. +// +// For information about creating failover resource record sets in a private +// hosted zone, see Configuring Failover in a Private Hosted Zone (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html). type AliasTarget struct { _ struct{} `type:"structure"` - // Alias resource record sets only: The external DNS name associated with the - // AWS Resource. The value that you specify depends on where you want to route - // queries: - // - // A CloudFront distribution: Specify the domain name that CloudFront assigned - // when you created your distribution. Your CloudFront distribution must include - // an alternate domain name that matches the name of the resource record set. - // For example, if the name of the resource record set is acme.example.com, - // your CloudFront distribution must include acme.example.com as one of the - // alternate domain names. For more information, see Using Alternate Domain - // Names (CNAMEs) (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html) - // in the Amazon CloudFront Developer Guide. An ELB load balancer: Specify the - // DNS name associated with the load balancer. You can get the DNS name by using - // the AWS Management Console, the ELB API, or the AWS CLI. Use the same method - // to get values for HostedZoneId and DNSName. If you get one value from the - // console and the other value from the API or the CLI, creating the resource - // record set will fail. An Elastic Beanstalk environment: Specify the CNAME - // attribute for the environment. (The environment must have a regionalized - // domain name.) An Amazon S3 bucket that is configured as a static website: - // Specify the domain name of the Amazon S3 website endpoint in which you created - // the bucket; for example, s3-website-us-east-1.amazonaws.com. For more information + // Alias resource record sets only: The value that you specify depends on where + // you want to route queries: + // + // A CloudFront distribution: Specify the domain name that CloudFront assigned + // when you created your distribution. + // + // Your CloudFront distribution must include an alternate domain name that + // matches the name of the resource record set. For example, if the name of + // the resource record set is acme.example.com, your CloudFront distribution + // must include acme.example.com as one of the alternate domain names. For more + // information, see Using Alternate Domain Names (CNAMEs) (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html) + // in the Amazon CloudFront Developer Guide. + // + // Elastic Beanstalk environment: Specify the CNAME attribute for the environment. + // (The environment must have a regionalized domain name.) You can use the following + // methods to get the value of the CNAME attribute: + // + // AWS Managment Console: For information about how to get the value by + // using the console, see Using Custom Domains with Elastic Beanstalk (http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html) + // in the AWS Elastic Beanstalk Developer Guide. + // + // Elastic Load Balancing API: Use the DescribeEnvironments action to get + // the value of the CNAME attribute. For more information, see DescribeEnvironments + // (http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/API_DescribeEnvironments.html) + // in the AWS Elastic Beanstalk API Reference. + // + // AWS CLI: Use the describe-environments command to get the value of the + // CNAME attribute. For more information, see describe-environments (http://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html) + // in the AWS Command Line Interface Reference. + // + // An ELB load balancer: Specify the DNS name associated with the load + // balancer. Get the DNS name by using the AWS Management Console, the ELB API, + // or the AWS CLI. Use the same method to get values for HostedZoneId and DNSName. + // If you get one value from the console and the other value from the API or + // the CLI, creating the resource record set will fail. + // + // AWS Management Console: Go to the Amazon EC2 page, click Load Balancers + // in the navigation pane, choose the load balancer, choose the Description + // tab, and get the value of the DNS Name field that begins with dualstack. + // Use the same process to get the Hosted Zone ID. See HostedZone$Id. + // + // Elastic Load Balancing API: Use DescribeLoadBalancers (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/APIReference/API_DescribeLoadBalancers.html) + // to get the value of CanonicalHostedZoneName. Use the same process to get + // the CanonicalHostedZoneNameId. See HostedZone$Id. + // + // AWS CLI: Use describe-load-balancers (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/APIReference/API_DescribeLoadBalancers.html) + // to get the value of CanonicalHostedZoneName. Use the same process to get + // the CanonicalHostedZoneNameId. See HostedZoneId. + // + // An Amazon S3 bucket that is configured as a static website: Specify + // the domain name of the Amazon S3 website endpoint in which you created the + // bucket; for example, s3-website-us-east-1.amazonaws.com. For more information // about valid values, see the table Amazon Simple Storage Service (S3) Website // Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) // in the Amazon Web Services General Reference. For more information about // using Amazon S3 buckets for websites, see Hosting a Static Website on Amazon // S3 (http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html) in - // the Amazon Simple Storage Service Developer Guide. Another Amazon Route 53 - // resource record set: Specify the value of the Name element for a resource - // record set in the current hosted zone. For more information and an example, - // see Example: Creating Alias Resource Record Sets (http://docs.aws.amazon.com/Route53/latest/APIReference/CreateAliasRRSAPI.html) - // in the Amazon Route 53 API Reference. + // the Amazon Simple Storage Service Developer Guide. + // + // Another Amazon Route 53 resource record set: Specify the value of the + // Name element for a resource record set in the current hosted zone. + // + // DNSName is a required field DNSName *string `type:"string" required:"true"` - // Alias resource record sets only: If you set the value of EvaluateTargetHealth - // to true for the resource record set or sets in an alias, weighted alias, - // latency alias, or failover alias resource record set, and if you specify - // a value for HealthCheckId for every resource record set that is referenced - // by these alias resource record sets, the alias resource record sets inherit - // the health of the referenced resource record sets. + // Applies only to alias, weighted alias, latency alias, and failover alias + // record sets: If you set the value of EvaluateTargetHealth to true for the + // resource record set or sets in an alias, weighted alias, latency alias, or + // failover alias resource record set, and if you specify a value for HealthCheck$Id + // for every resource record set that is referenced by these alias resource + // record sets, the alias resource record sets inherit the health of the referenced + // resource record sets. // // In this configuration, when Amazon Route 53 receives a DNS query for an // alias resource record set: // - // Amazon Route 53 looks at the resource record sets that are referenced by - // the alias resource record sets to determine which health checks they're using. - // Amazon Route 53 checks the current status of each health check. (Amazon Route - // 53 periodically checks the health of the endpoint that is specified in a - // health check; it doesn't perform the health check when the DNS query arrives.) - // Based on the status of the health checks, Amazon Route 53 determines which + // Amazon Route 53 looks at the resource record sets that are referenced + // by the alias resource record sets to determine which health checks they're + // using. + // + // Amazon Route 53 checks the current status of each health check. (Amazon + // Route 53 periodically checks the health of the endpoint that is specified + // in a health check; it doesn't perform the health check when the DNS query + // arrives.) + // + // Based on the status of the health checks, Amazon Route 53 determines which // resource record sets are healthy. Unhealthy resource record sets are immediately // removed from consideration. In addition, if all of the resource record sets // that are referenced by an alias resource record set are unhealthy, that alias - // resource record set also is immediately removed from consideration. Based - // on the configuration of the alias resource record sets (weighted alias or - // latency alias, for example) and the configuration of the resource record - // sets that they reference, Amazon Route 53 chooses a resource record set from - // the healthy resource record sets, and responds to the query. Note the following: - // - // You cannot set EvaluateTargetHealth to true when the alias target is a CloudFront - // distribution. If the AWS resource that you specify in AliasTarget is a resource - // record set or a group of resource record sets (for example, a group of weighted + // resource record set also is immediately removed from consideration. + // + // Based on the configuration of the alias resource record sets (weighted + // alias or latency alias, for example) and the configuration of the resource + // record sets that they reference, Amazon Route 53 chooses a resource record + // set from the healthy resource record sets, and responds to the query. + // + // Note the following: + // + // You cannot set EvaluateTargetHealth to true when the alias target is a + // CloudFront distribution. + // + // If the AWS resource that you specify in AliasTarget is a resource record + // set or a group of resource record sets (for example, a group of weighted // resource record sets), but it is not another alias resource record set, we // recommend that you associate a health check with all of the resource record - // sets in the alias target. For more information, see What Happens When You + // sets in the alias target.For more information, see What Happens When You // Omit Health Checks? (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html#dns-failover-complex-configs-hc-omitting) - // in the Amazon Route 53 Developer Guide. If you specify an ELB load balancer - // in AliasTarget, Elastic Load Balancing routes queries only to the healthy - // Amazon EC2 instances that are registered with the load balancer. If no Amazon - // EC2 instances are healthy or if the load balancer itself is unhealthy, and - // if EvaluateTargetHealth is true for the corresponding alias resource record - // set, Amazon Route 53 routes queries to other resources. When you create a - // load balancer, you configure settings for Elastic Load Balancing health checks; - // they're not Amazon Route 53 health checks, but they perform a similar function. - // Do not create Amazon Route 53 health checks for the Amazon EC2 instances - // that you register with an ELB load balancer. For more information, see How - // Health Checks Work in More Complex Amazon Route 53 Configurations (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html) - // in the Amazon Route 53 Developer Guide. We recommend that you set EvaluateTargetHealth - // to true only when you have enough idle capacity to handle the failure of - // one or more endpoints. - // - // For more information and examples, see Amazon Route 53 Health Checks and + // in the Amazon Route 53 Developer Guide. + // + // If you specify an Elastic Beanstalk environment in HostedZoneId and DNSName, + // and if the environment contains an ELB load balancer, Elastic Load Balancing + // routes queries only to the healthy Amazon EC2 instances that are registered + // with the load balancer. (An environment automatically contains an ELB load + // balancer if it includes more than one Amazon EC2 instance.) If you set EvaluateTargetHealth + // to true and either no Amazon EC2 instances are healthy or the load balancer + // itself is unhealthy, Amazon Route 53 routes queries to other available resources + // that are healthy, if any. + // + // If the environment contains a single Amazon EC2 instance, there are no special + // requirements. + // + // If you specify an ELB load balancer in AliasTarget , Elastic Load Balancing + // routes queries only to the healthy Amazon EC2 instances that are registered + // with the load balancer. If no Amazon EC2 instances are healthy or if the + // load balancer itself is unhealthy, and if EvaluateTargetHealth is true for + // the corresponding alias resource record set, Amazon Route 53 routes queries + // to other resources. When you create a load balancer, you configure settings + // for Elastic Load Balancing health checks; they're not Amazon Route 53 health + // checks, but they perform a similar function. Do not create Amazon Route 53 + // health checks for the Amazon EC2 instances that you register with an ELB + // load balancer. + // + // For more information, see How Health Checks Work in More Complex Amazon + // Route 53 Configurations (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html) + // in the Amazon Route 53 Developers Guide. + // + // We recommend that you set EvaluateTargetHealth to true only when you have + // enough idle capacity to handle the failure of one or more endpoints. + // + // For more information and examples, see Amazon Route 53 Health Checks and // DNS Failover (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) // in the Amazon Route 53 Developer Guide. + // + // EvaluateTargetHealth is a required field EvaluateTargetHealth *bool `type:"boolean" required:"true"` - // Alias resource record sets only: The value you use depends on where you want - // to route queries: + // Alias resource records sets only: The value used depends on where the queries + // are routed: // - // A CloudFront distribution: Specify Z2FDTNDATAQYW2. An ELB load balancer: - // Specify the value of the hosted zone ID for the load balancer. You can get - // the hosted zone ID by using the AWS Management Console, the ELB API, or the - // AWS CLI. Use the same method to get values for HostedZoneId and DNSName. - // If you get one value from the console and the other value from the API or - // the CLI, creating the resource record set will fail. An Amazon S3 bucket - // that is configured as a static website: Specify the hosted zone ID for the - // Amazon S3 website endpoint in which you created the bucket. For more information - // about valid values, see the table Amazon Simple Storage Service (S3) Website + // A CloudFront distribution Specify Z2FDTNDATAQYW2. + // + // Alias resource record sets for CloudFront cannot be created in a private + // zone. + // + // Elastic Beanstalk environment Specify the hosted zone ID for the region + // in which you created the environment. The environment must have a regionalized + // subdomain. For a list of regions and the corresponding hosted zone IDs, see + // AWS Elastic Beanstalk (http://docs.aws.amazon.com/general/latest/gr/rande.html#elasticbeanstalk_region) + // in the Regions and Endpoints chapter of the AWSk General Reference. + // + // ELB load balancer Specify the value of the hosted zone ID for the load + // balancer. Use the following methods to get the hosted zone ID: + // + // AWS Management Console: Go to the Amazon EC2; page, click Load Balancers + // in the navigation pane, select the load balancer, and get the value of the + // Hosted Zone ID field on the Description tab. Use the same process to get + // the DNS Name. See HostedZone$Name. + // + // Elastic Load Balancing API: Use DescribeLoadBalancers to get the value + // of CanonicalHostedZoneNameID. Use the same process to get the CanonicalHostedZoneName. + // See HostedZone$Name. + // + // AWS CLI: Use describe-load-balancers (http://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html) + // to get the value of CanonicalHostedZoneNameID. Use the same process to get + // the CanonicalHostedZoneName. See HostedZone$Name. + // + // An Amazon S3 bucket configured as a static website Specify the hosted + // zone ID for the Amazon S3 website endpoint in which you created the bucket. + // For more information about valid values, see the table Amazon S3 (S3) Website // Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) - // in the Amazon Web Services General Reference. Another Amazon Route 53 resource - // record set in your hosted zone: Specify the hosted zone ID of your hosted - // zone. (An alias resource record set cannot reference a resource record set - // in a different hosted zone.) For more information and an example, see Example: - // Creating Alias Resource Record Sets (http://docs.aws.amazon.com/Route53/latest/APIReference/CreateAliasRRSAPI.html) - // in the Amazon Route 53 API Reference. + // in the Amazon Web Services General Reference. + // + // Another Amazon Route 53 resource record set in your hosted zone Specify + // the hosted zone ID of your hosted zone. (An alias resource record set cannot + // reference a resource record set in a different hosted zone.) + // + // HostedZoneId is a required field HostedZoneId *string `type:"string" required:"true"` } @@ -2008,21 +4516,26 @@ func (s *AliasTarget) Validate() error { return nil } -// A complex type that contains information about the request to associate a -// VPC with an hosted zone. +// A complex type that contains information about the VPC and the hosted zone +// that you want to associate. type AssociateVPCWithHostedZoneInput struct { _ struct{} `locationName:"AssociateVPCWithHostedZoneRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"` - // Optional: Any comments you want to include about a AssociateVPCWithHostedZoneRequest. + // Optional: A comment about the association request. Comment *string `type:"string"` // The ID of the hosted zone you want to associate your VPC with. // // Note that you cannot associate a VPC with a hosted zone that doesn't have // an existing VPC association. + // + // HostedZoneId is a required field HostedZoneId *string `location:"uri" locationName:"Id" type:"string" required:"true"` - // The VPC that you want your hosted zone to be associated with. + // A complex type containing information about the Amazon VPC that you're associating + // with the specified hosted zone. + // + // VPC is a required field VPC *VPC `type:"structure" required:"true"` } @@ -2057,12 +4570,13 @@ func (s *AssociateVPCWithHostedZoneInput) Validate() error { return nil } -// A complex type containing the response information for the request. +// A complex type that contains the response information for the hosted zone. type AssociateVPCWithHostedZoneOutput struct { _ struct{} `type:"structure"` - // A complex type that contains the ID, the status, and the date and time of - // your AssociateVPCWithHostedZoneRequest. + // A complex type that describes the changes made to your hosted zone. + // + // ChangeInfo is a required field ChangeInfo *ChangeInfo `type:"structure" required:"true"` } @@ -2076,27 +4590,40 @@ func (s AssociateVPCWithHostedZoneOutput) GoString() string { return s.String() } -// A complex type that contains the information for each change in a change -// batch request. +// The information for each resource record set that you want to change. type Change struct { _ struct{} `type:"structure"` // The action to perform: // - // CREATE: Creates a resource record set that has the specified values. DELETE: - // Deletes a existing resource record set that has the specified values for - // Name, Type, SetIdentifier (for latency, weighted, geolocation, and failover - // resource record sets), and TTL (except alias resource record sets, for which - // the TTL is determined by the AWS resource that you're routing DNS queries - // to). UPSERT: If a resource record set does not already exist, Amazon Route + // CREATE: Creates a resource record set that has the specified values. + // + // DELETE: Deletes a existing resource record set that has the specified + // values for Name, Type, SetIdentifier (for latency, weighted, geolocation, + // and failover resource record sets), and TTL (except alias resource record + // sets, for which the TTL is determined by the AWS resource that you're routing + // DNS queries to). + // + // To delete the resource record set that is associated with a traffic policy + // instance, use DeleteTrafficPolicyInstance . Amazon Route 53will delete the + // resource record set automatically. If you delete the resource record set + // by using ChangeResourceRecordSets, Amazon Route 53 doesn't automatically + // delete the traffic policy instance, and you'll continue to be charged for + // it even though it's no longer in use. + // + // UPSERT: If a resource record set does not already exist, Amazon Route // 53 creates it. If a resource record set does exist, Amazon Route 53 updates // it with the values in the request. Amazon Route 53 can update an existing // resource record set only when all of the following values match: Name, Type, // and SetIdentifier (for weighted, latency, geolocation, and failover resource // record sets). + // + // Action is a required field Action *string `type:"string" required:"true" enum:"ChangeAction"` // Information about the resource record set to create or delete. + // + // ResourceRecordSet is a required field ResourceRecordSet *ResourceRecordSet `type:"structure" required:"true"` } @@ -2131,13 +4658,13 @@ func (s *Change) Validate() error { return nil } -// A complex type that contains an optional comment and the changes that you -// want to make with a change batch request. +// The information for a change request. type ChangeBatch struct { _ struct{} `type:"structure"` - // A complex type that contains one Change element for each resource record - // set that you want to create or delete. + // Information about the changes to make to the record sets. + // + // Changes is a required field Changes []*Change `locationNameList:"Change" min:"1" type:"list" required:"true"` // Optional: Any comments you want to include about a change batch request. @@ -2196,12 +4723,16 @@ type ChangeBatchRecord struct { // The ID of the request. Use this ID to track when the change has completed // across all Amazon Route 53 DNS servers. + // + // Id is a required field Id *string `type:"string" required:"true"` // The current state of the request. PENDING indicates that this request has // not yet been applied to all Amazon Route 53 DNS servers. // // Valid Values: PENDING | INSYNC + // + // Status is a required field Status *string `type:"string" required:"true" enum:"ChangeStatus"` // The date and time the change was submitted, in the format YYYY-MM-DDThh:mm:ssZ, @@ -2226,9 +4757,6 @@ func (s ChangeBatchRecord) GoString() string { // A complex type that describes change information about changes made to your // hosted zone. -// -// This element contains an ID that you use when performing a GetChange action -// to get detailed information about the change. type ChangeInfo struct { _ struct{} `type:"structure"` @@ -2239,20 +4767,22 @@ type ChangeInfo struct { // to get detailed information about the change. Comment *string `type:"string"` - // The ID of the request. Use this ID to track when the change has completed - // across all Amazon Route 53 DNS servers. + // The ID of the request. + // + // Id is a required field Id *string `type:"string" required:"true"` // The current state of the request. PENDING indicates that this request has // not yet been applied to all Amazon Route 53 DNS servers. // - // Valid Values: PENDING | INSYNC + // Status is a required field Status *string `type:"string" required:"true" enum:"ChangeStatus"` - // The date and time the change was submitted, in the format YYYY-MM-DDThh:mm:ssZ, - // as specified in the ISO 8601 standard (for example, 2009-11-19T19:37:58Z). - // The Z after the time indicates that the time is listed in Coordinated Universal - // Time (UTC). + // The date and time the change request was submitted, in Coordinated Universal + // Time (UTC) format: YYYY-MM-DDThh:mm:ssZ. For more information, see the Wikipedia + // entry ISO 8601 (https://en.wikipedia.org/wiki/ISO_8601). + // + // SubmittedAt is a required field SubmittedAt *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` } @@ -2266,15 +4796,19 @@ func (s ChangeInfo) GoString() string { return s.String() } -// A complex type that contains a change batch. +// A complex type that contains change information for the resource record set. type ChangeResourceRecordSetsInput struct { _ struct{} `locationName:"ChangeResourceRecordSetsRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"` // A complex type that contains an optional comment and the Changes element. + // + // ChangeBatch is a required field ChangeBatch *ChangeBatch `type:"structure" required:"true"` // The ID of the hosted zone that contains the resource record sets that you // want to change. + // + // HostedZoneId is a required field HostedZoneId *string `location:"uri" locationName:"Id" type:"string" required:"true"` } @@ -2318,6 +4852,8 @@ type ChangeResourceRecordSetsOutput struct { // // This element contains an ID that you use when performing a GetChange action // to get detailed information about the change. + // + // ChangeInfo is a required field ChangeInfo *ChangeInfo `type:"structure" required:"true"` } @@ -2331,26 +4867,34 @@ func (s ChangeResourceRecordSetsOutput) GoString() string { return s.String() } -// A complex type containing information about a request to add, change, or -// delete the tags that are associated with a resource. +// A complex type that contains information about the tags that you want to +// add, edit, or delete. type ChangeTagsForResourceInput struct { _ struct{} `locationName:"ChangeTagsForResourceRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"` - // A complex type that contains a list of Tag elements. Each Tag element identifies - // a tag that you want to add or update for the specified resource. + // A complex type that contains a list of the tags that you want to add to the + // specified health check or hosted zone and/or the tags for which you want + // to edit the Value element. + // + // You can add a maximum of 10 tags to a health check or a hosted zone. AddTags []*Tag `locationNameList:"Tag" min:"1" type:"list"` - // A list of Tag keys that you want to remove from the specified resource. + // A complex type that contains a list of the tags that you want to delete from + // the specified health check or hosted zone. You can specify up to 10 keys. RemoveTagKeys []*string `locationNameList:"Key" min:"1" type:"list"` // The ID of the resource for which you want to add, change, or delete tags. + // + // ResourceId is a required field ResourceId *string `location:"uri" locationName:"ResourceId" type:"string" required:"true"` // The type of the resource. // - // - The resource type for health checks is healthcheck. + // The resource type for health checks is healthcheck. + // + // The resource type for hosted zones is hostedzone. // - // - The resource type for hosted zones is hostedzone. + // ResourceType is a required field ResourceType *string `location:"uri" locationName:"ResourceType" type:"string" required:"true" enum:"TagResourceType"` } @@ -2401,49 +4945,57 @@ func (s ChangeTagsForResourceOutput) GoString() string { return s.String() } -// For CLOUDWATCH_METRIC health checks, a complex type that contains information -// about the CloudWatch alarm that you're associating with the health check. +// A complex type that contains information about the CloudWatch alarm that +// Amazon Route 53 is monitoring for this health check. type CloudWatchAlarmConfiguration struct { _ struct{} `type:"structure"` - // The arithmetic operation to use when comparing the specified Statistic and - // Threshold. + // For the metric that the CloudWatch alarm is associated with, the arithmetic + // operation that is used for the comparison. // - // Valid Values are GreaterThanOrEqualToThreshold, GreaterThanThreshold, LessThanThreshold - // and LessThanOrEqualToThreshold + // ComparisonOperator is a required field ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperator"` - // A list of Dimension elements for the CloudWatch metric that is associated - // with the CloudWatch alarm. For information about the metrics and dimensions - // that CloudWatch supports, see Amazon CloudWatch Namespaces, Dimensions, and - // Metrics Reference (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html). + // For the metric that the CloudWatch alarm is associated with, a complex type + // that contains information about the dimensions for the metric.For information, + // see Amazon CloudWatch Namespaces, Dimensions, and Metrics Reference ( http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html) + // in the Amazon CloudWatch Developer Guide. Dimensions []*Dimension `locationNameList:"Dimension" type:"list"` - // The number of periods over which data is compared to the specified threshold. + // For the metric that the CloudWatch alarm is associated with, the number of + // periods that the metric is compared to the threshold. + // + // EvaluationPeriods is a required field EvaluationPeriods *int64 `min:"1" type:"integer" required:"true"` - // The name of the CloudWatch metric that is associated with the CloudWatch - // alarm. + // The name of the CloudWatch metric that the alarm is associated with. + // + // MetricName is a required field MetricName *string `min:"1" type:"string" required:"true"` - // The namespace of the CloudWatch metric that is associated with the CloudWatch - // alarm. + // The namespace of the metric that the alarm is associated with. For more information, + // see Amazon CloudWatch Namespaces, Dimensions, and Metrics Reference (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html) + // in the Amazon CloudWatch Developer Guide. + // + // Namespace is a required field Namespace *string `min:"1" type:"string" required:"true"` - // An integer that represents the period in seconds over which the statistic - // is applied. + // For the metric that the CloudWatch alarm is associated with, the duration + // of one evaluation period in seconds. + // + // Period is a required field Period *int64 `min:"60" type:"integer" required:"true"` - // The statistic to apply to the CloudWatch metric that is associated with the - // CloudWatch alarm. + // For the metric that the CloudWatch alarm is associated with, the statistic + // that is applied to the metric. // - // Valid Values are SampleCount, Average, Sum, Minimum and Maximum + // Statistic is a required field Statistic *string `type:"string" required:"true" enum:"Statistic"` - // The value that the metric is compared with to determine the state of the - // alarm. For example, if you want the health check to fail if the average TCP - // connection time is greater than 500 milliseconds for more than 60 seconds, - // the threshold is 500. + // For the metric that the CloudWatch alarm is associated with, the value the + // metric is compared with. + // + // Threshold is a required field Threshold *float64 `type:"double" required:"true"` } @@ -2457,22 +5009,21 @@ func (s CloudWatchAlarmConfiguration) GoString() string { return s.String() } -// >A complex type that contains information about the request to create a health -// check. +// A complex type that contains the health check request information. type CreateHealthCheckInput struct { _ struct{} `locationName:"CreateHealthCheckRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"` // A unique string that identifies the request and that allows failed CreateHealthCheck // requests to be retried without the risk of executing the operation twice. // You must use a unique CallerReference string every time you create a health - // check. CallerReference can be any unique string; you might choose to use - // a string that identifies your project. + // check. // - // Valid characters are any Unicode code points that are legal in an XML 1.0 - // document. The UTF-8 encoding of the value must be less than 128 bytes. + // CallerReference is a required field CallerReference *string `min:"1" type:"string" required:"true"` - // A complex type that contains health check configuration. + // A complex type that contains the response to a CreateHealthCheck request. + // + // HealthCheckConfig is a required field HealthCheckConfig *HealthCheckConfig `type:"structure" required:"true"` } @@ -2515,9 +5066,13 @@ type CreateHealthCheckOutput struct { _ struct{} `type:"structure"` // A complex type that contains identifying information about the health check. + // + // HealthCheck is a required field HealthCheck *HealthCheck `type:"structure" required:"true"` // The unique URL representing the new health check. + // + // Location is a required field Location *string `location:"header" locationName:"Location" type:"string" required:"true"` } @@ -2531,37 +5086,48 @@ func (s CreateHealthCheckOutput) GoString() string { return s.String() } -// A complex type that contains information about the request to create a hosted -// zone. +// A complex type containing the hosted zone request information. type CreateHostedZoneInput struct { _ struct{} `locationName:"CreateHostedZoneRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"` // A unique string that identifies the request and that allows failed CreateHostedZone // requests to be retried without the risk of executing the operation twice. // You must use a unique CallerReference string every time you create a hosted - // zone. CallerReference can be any unique string; you might choose to use a - // string that identifies your project, such as DNSMigration_01. + // zone. CallerReference can be any unique string, for example, a date/time + // stamp. // - // Valid characters are any Unicode code points that are legal in an XML 1.0 - // document. The UTF-8 encoding of the value must be less than 128 bytes. + // CallerReference is a required field CallerReference *string `min:"1" type:"string" required:"true"` - // The delegation set id of the reusable delgation set whose NS records you - // want to assign to the new hosted zone. + // If you want to associate a reusable delegation set with this hosted zone, + // the ID that Amazon Route 53 assigned to the reusable delegation set when + // you created it. For more information about reusable delegation sets, see + // CreateReusableDelegationSet. + // + // Type String + // + // Default None + // + // Parent CreatedHostedZoneRequest DelegationSetId *string `type:"string"` - // A complex type that contains an optional comment about your hosted zone. + // (Optional) A complex type that contains an optional comment about your hosted + // zone. If you don't want to specify a comment, omit both the HostedZoneConfig + // and Comment elements. HostedZoneConfig *HostedZoneConfig `type:"structure"` - // The name of the domain. This must be a fully-specified domain, for example, - // www.example.com. The trailing dot is optional; Amazon Route 53 assumes that - // the domain name is fully qualified. This means that Amazon Route 53 treats - // www.example.com (without a trailing dot) and www.example.com. (with a trailing - // dot) as identical. + // The name of the domain. For resource record types that include a domain name, + // specify a fully qualified domain name, for example, www.example.com. The + // trailing dot is optional; Amazon Route 53 assumes that the domain name is + // fully qualified. This means that Amazon Route 53 treats www.example.com (without + // a trailing dot) and www.example.com. (with a trailing dot) as identical. + // + // If you're creating a public hosted zone, this is the name you have registered + // with your DNS registrar. If your domain name is registered with a registrar + // other than Amazon Route 53, change the name servers for your domain to the + // set of NameServers that CreateHostedZone returns in the DelegationSet element. // - // This is the name you have registered with your DNS registrar. You should - // ask your registrar to change the authoritative name servers for your domain - // to the set of NameServers elements returned in DelegationSet. + // Name is a required field Name *string `type:"string" required:"true"` // The VPC that you want your hosted zone to be associated with. By providing @@ -2604,22 +5170,28 @@ func (s *CreateHostedZoneInput) Validate() error { return nil } -// A complex type containing the response information for the new hosted zone. +// A complex type containing the response information for the hosted zone. type CreateHostedZoneOutput struct { _ struct{} `type:"structure"` - // A complex type that contains information about the request to create a hosted - // zone. This includes an ID that you use when you call the GetChange action - // to get the current status of the change request. + // A complex type that describes the changes made to your hosted zone. + // + // ChangeInfo is a required field ChangeInfo *ChangeInfo `type:"structure" required:"true"` - // A complex type that contains name server information. + // A complex type that describes the name servers for this hosted zone. + // + // DelegationSet is a required field DelegationSet *DelegationSet `type:"structure" required:"true"` - // A complex type that contains identifying information about the hosted zone. + // A complex type that contains general information about the hosted zone. + // + // HostedZone is a required field HostedZone *HostedZone `type:"structure" required:"true"` // The unique URL representing the new hosted zone. + // + // Location is a required field Location *string `location:"header" locationName:"Location" type:"string" required:"true"` VPC *VPC `type:"structure"` @@ -2638,18 +5210,17 @@ func (s CreateHostedZoneOutput) GoString() string { type CreateReusableDelegationSetInput struct { _ struct{} `locationName:"CreateReusableDelegationSetRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"` - // A unique string that identifies the request and that allows failed CreateReusableDelegationSet - // requests to be retried without the risk of executing the operation twice. - // You must use a unique CallerReference string every time you create a reusable - // delegation set. CallerReference can be any unique string; you might choose - // to use a string that identifies your project, such as DNSMigration_01. + // A unique string that identifies the request, and that allows you to retry + // failed CreateReusableDelegationSet requests without the risk of executing + // the operation twice. You must use a unique CallerReference string every time + // you submit a CreateReusableDelegationSet request. CallerReference can be + // any unique string, for example a date/time stamp. // - // Valid characters are any Unicode code points that are legal in an XML 1.0 - // document. The UTF-8 encoding of the value must be less than 128 bytes. + // CallerReference is a required field CallerReference *string `min:"1" type:"string" required:"true"` - // The ID of the hosted zone whose delegation set you want to mark as reusable. - // It is an optional parameter. + // If you want to mark the delegation set for an existing hosted zone as reusable, + // the ID for that hosted zone. HostedZoneId *string `type:"string"` } @@ -2683,9 +5254,13 @@ type CreateReusableDelegationSetOutput struct { _ struct{} `type:"structure"` // A complex type that contains name server information. + // + // DelegationSet is a required field DelegationSet *DelegationSet `type:"structure" required:"true"` // The unique URL representing the new reusbale delegation set. + // + // Location is a required field Location *string `location:"header" locationName:"Location" type:"string" required:"true"` } @@ -2704,13 +5279,19 @@ func (s CreateReusableDelegationSetOutput) GoString() string { type CreateTrafficPolicyInput struct { _ struct{} `locationName:"CreateTrafficPolicyRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"` - // Any comments that you want to include about the traffic policy. + // (Optional) Any comments that you want to include about the traffic policy. Comment *string `type:"string"` - // The definition of this traffic policy in JSON format. + // The definition of this traffic policy in JSON format. For more information, + // see Traffic Policy Document Format (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/api-policies-traffic-policy-document-format.html) + // in the Amazon Route 53 API Reference. + // + // Document is a required field Document *string `type:"string" required:"true"` // The name of the traffic policy. + // + // Name is a required field Name *string `type:"string" required:"true"` } @@ -2747,23 +5328,33 @@ type CreateTrafficPolicyInstanceInput struct { // The ID of the hosted zone in which you want Amazon Route 53 to create resource // record sets by using the configuration in a traffic policy. + // + // HostedZoneId is a required field HostedZoneId *string `type:"string" required:"true"` // The domain name (such as example.com) or subdomain name (such as www.example.com) // for which Amazon Route 53 responds to DNS queries by using the resource record // sets that Amazon Route 53 creates for this traffic policy instance. + // + // Name is a required field Name *string `type:"string" required:"true"` - // The TTL that you want Amazon Route 53 to assign to all of the resource record - // sets that it creates in the specified hosted zone. + // (Optional) The TTL that you want Amazon Route 53 to assign to all of the + // resource record sets that it creates in the specified hosted zone. + // + // TTL is a required field TTL *int64 `type:"long" required:"true"` // The ID of the traffic policy that you want to use to create resource record // sets in the specified hosted zone. + // + // TrafficPolicyId is a required field TrafficPolicyId *string `type:"string" required:"true"` // The version of the traffic policy that you want to use to create resource // record sets in the specified hosted zone. + // + // TrafficPolicyVersion is a required field TrafficPolicyVersion *int64 `min:"1" type:"integer" required:"true"` } @@ -2811,9 +5402,13 @@ type CreateTrafficPolicyInstanceOutput struct { _ struct{} `type:"structure"` // A unique URL that represents a new traffic policy instance. + // + // Location is a required field Location *string `location:"header" locationName:"Location" type:"string" required:"true"` // A complex type that contains settings for the new traffic policy instance. + // + // TrafficPolicyInstance is a required field TrafficPolicyInstance *TrafficPolicyInstance `type:"structure" required:"true"` } @@ -2832,9 +5427,12 @@ func (s CreateTrafficPolicyInstanceOutput) GoString() string { type CreateTrafficPolicyOutput struct { _ struct{} `type:"structure"` + // Location is a required field Location *string `location:"header" locationName:"Location" type:"string" required:"true"` // A complex type that contains settings for the new traffic policy. + // + // TrafficPolicy is a required field TrafficPolicy *TrafficPolicy `type:"structure" required:"true"` } @@ -2853,15 +5451,20 @@ func (s CreateTrafficPolicyOutput) GoString() string { type CreateTrafficPolicyVersionInput struct { _ struct{} `locationName:"CreateTrafficPolicyVersionRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"` - // Any comments that you want to include about the new traffic policy version. + // The comment that you specified in the CreateTrafficPolicyVersion request, + // if any. Comment *string `type:"string"` - // The definition of a new traffic policy version, in JSON format. You must - // specify the full definition of the new traffic policy. You cannot specify - // just the differences between the new version and a previous version. + // The definition of this version of the traffic policy, in JSON format. You + // specified the JSON in the CreateTrafficPolicyVersion request. For more information + // about the JSON format, see CreateTrafficPolicy. + // + // Document is a required field Document *string `type:"string" required:"true"` // The ID of the traffic policy for which you want to create a new version. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } @@ -2896,10 +5499,13 @@ func (s *CreateTrafficPolicyVersionInput) Validate() error { type CreateTrafficPolicyVersionOutput struct { _ struct{} `type:"structure"` + // Location is a required field Location *string `location:"header" locationName:"Location" type:"string" required:"true"` // A complex type that contains settings for the new version of the traffic // policy. + // + // TrafficPolicy is a required field TrafficPolicy *TrafficPolicy `type:"structure" required:"true"` } @@ -2913,7 +5519,7 @@ func (s CreateTrafficPolicyVersionOutput) GoString() string { return s.String() } -// A complex type that contains name server information. +// A complex type that describes the name servers for this hosted zone. type DelegationSet struct { _ struct{} `type:"structure"` @@ -2921,9 +5527,10 @@ type DelegationSet struct { Id *string `type:"string"` - // A complex type that contains the authoritative name servers for the hosted - // zone. Use the method provided by your domain registrar to add an NS record - // to your domain for each NameServer that is assigned to your hosted zone. + // A complex type that contains a list of the authoritative name servers for + // the hosted zone. + // + // NameServers is a required field NameServers []*string `locationNameList:"NameServer" min:"1" type:"list" required:"true"` } @@ -2937,11 +5544,12 @@ func (s DelegationSet) GoString() string { return s.String() } -// A complex type containing the request information for delete health check. +// This action deletes a health check. Send a DELETE request to the /2013-04-01/DeleteHealthCheckRequest +// resource. type DeleteHealthCheckInput struct { _ struct{} `type:"structure"` - // The ID of the health check to delete. + // HealthCheckId is a required field HealthCheckId *string `location:"uri" locationName:"HealthCheckId" type:"string" required:"true"` } @@ -2968,7 +5576,7 @@ func (s *DeleteHealthCheckInput) Validate() error { return nil } -// Empty response for the request. +// An empty element. type DeleteHealthCheckOutput struct { _ struct{} `type:"structure"` } @@ -2989,6 +5597,8 @@ type DeleteHostedZoneInput struct { _ struct{} `type:"structure"` // The ID of the hosted zone you want to delete. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } @@ -3021,6 +5631,8 @@ type DeleteHostedZoneOutput struct { // A complex type that contains the ID, the status, and the date and time of // your delete request. + // + // ChangeInfo is a required field ChangeInfo *ChangeInfo `type:"structure" required:"true"` } @@ -3039,6 +5651,8 @@ type DeleteReusableDelegationSetInput struct { _ struct{} `type:"structure"` // The ID of the reusable delegation set you want to delete. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } @@ -3065,7 +5679,7 @@ func (s *DeleteReusableDelegationSetInput) Validate() error { return nil } -// Empty response for the request. +// An empty element. type DeleteReusableDelegationSetOutput struct { _ struct{} `type:"structure"` } @@ -3085,9 +5699,13 @@ type DeleteTrafficPolicyInput struct { _ struct{} `type:"structure"` // The ID of the traffic policy that you want to delete. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` // The version number of the traffic policy that you want to delete. + // + // Version is a required field Version *int64 `location:"uri" locationName:"Version" min:"1" type:"integer" required:"true"` } @@ -3127,9 +5745,11 @@ type DeleteTrafficPolicyInstanceInput struct { // The ID of the traffic policy instance that you want to delete. // - // When you delete a traffic policy instance, Amazon Route 53 also deletes + // When you delete a traffic policy instance, Amazon Route 53 also deletes // all of the resource record sets that were created when you created the traffic // policy instance. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } @@ -3186,14 +5806,21 @@ func (s DeleteTrafficPolicyOutput) GoString() string { return s.String() } -// The name and value of a dimension for a CloudWatch metric. +// For the metric that the CloudWatch alarm is associated with, a complex type +// that contains information about one dimension. type Dimension struct { _ struct{} `type:"structure"` - // The name of the dimension. + // For the metric that the CloudWatch alarm is associated with, the name of + // one dimension. + // + // Name is a required field Name *string `min:"1" type:"string" required:"true"` - // The value of the dimension. + // For the metric that the CloudWatch alarm is associated with, the value of + // one dimension. + // + // Value is a required field Value *string `min:"1" type:"string" required:"true"` } @@ -3207,20 +5834,24 @@ func (s Dimension) GoString() string { return s.String() } -// A complex type that contains information about the request to disassociate -// a VPC from an hosted zone. +// A complex type that contains information about the VPC and the hosted zone +// that you want to disassociate. type DisassociateVPCFromHostedZoneInput struct { _ struct{} `locationName:"DisassociateVPCFromHostedZoneRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"` - // Optional: Any comments you want to include about a DisassociateVPCFromHostedZoneRequest. + // Optional: A comment about the disassociation request. Comment *string `type:"string"` - // The ID of the hosted zone you want to disassociate your VPC from. + // The ID of the VPC that you want to disassociate from an Amazon Route 53 hosted + // zone. // - // Note that you cannot disassociate the last VPC from a hosted zone. + // HostedZoneId is a required field HostedZoneId *string `location:"uri" locationName:"Id" type:"string" required:"true"` - // The VPC that you want your hosted zone to be disassociated from. + // A complex type containing information about the Amazon VPC that you're disassociating + // from the specified hosted zone. + // + // VPC is a required field VPC *VPC `type:"structure" required:"true"` } @@ -3255,12 +5886,14 @@ func (s *DisassociateVPCFromHostedZoneInput) Validate() error { return nil } -// A complex type containing the response information for the request. +// A complex type that contains the response information for the disassociate +// request. type DisassociateVPCFromHostedZoneOutput struct { _ struct{} `type:"structure"` - // A complex type that contains the ID, the status, and the date and time of - // your DisassociateVPCFromHostedZoneRequest. + // A complex type that describes the changes made to your hosted zone. + // + // ChangeInfo is a required field ChangeInfo *ChangeInfo `type:"structure" required:"true"` } @@ -3278,8 +5911,7 @@ func (s DisassociateVPCFromHostedZoneOutput) GoString() string { type GeoLocation struct { _ struct{} `type:"structure"` - // The code for a continent geo location. Note: only continent locations have - // a continent code. + // The two-letter code for the continent. // // Valid values: AF | AN | AS | EU | OC | NA | SA // @@ -3287,18 +5919,11 @@ type GeoLocation struct { // returns an InvalidInput error. ContinentCode *string `min:"2" type:"string"` - // The code for a country geo location. The default location uses '*' for the - // country code and will match all locations that are not matched by a geo location. - // - // The default geo location uses a * for the country code. All other country - // codes follow the ISO 3166 two-character code. + // The two-letter code for the country. CountryCode *string `min:"1" type:"string"` - // The code for a country's subdivision (e.g., a province of Canada). A subdivision - // code is only valid with the appropriate country code. - // - // Constraint: Specifying SubdivisionCode without CountryCode returns an InvalidInput - // error. + // The code for the subdivision, for example, a state in the United States or + // a province in Canada. SubdivisionCode *string `min:"1" type:"string"` } @@ -3331,35 +5956,29 @@ func (s *GeoLocation) Validate() error { return nil } -// A complex type that contains information about a GeoLocation. +// A complex type that contains the codes and full continent, country, and subdivision +// names for the specified geolocation code. type GeoLocationDetails struct { _ struct{} `type:"structure"` - // The code for a continent geo location. Note: only continent locations have - // a continent code. + // The two-letter code for the continent. ContinentCode *string `min:"2" type:"string"` - // The name of the continent. This element is only present if ContinentCode - // is also present. + // The full name of the continent. ContinentName *string `min:"1" type:"string"` - // The code for a country geo location. The default location uses '*' for the - // country code and will match all locations that are not matched by a geo location. - // - // The default geo location uses a * for the country code. All other country - // codes follow the ISO 3166 two-character code. + // The two-letter code for the country. CountryCode *string `min:"1" type:"string"` - // The name of the country. This element is only present if CountryCode is also - // present. + // The name of the country. CountryName *string `min:"1" type:"string"` - // The code for a country's subdivision (e.g., a province of Canada). A subdivision - // code is only valid with the appropriate country code. + // The code for the subdivision, for example, a state in the United States or + // a province in Canada. SubdivisionCode *string `min:"1" type:"string"` - // The name of the subdivision. This element is only present if SubdivisionCode - // is also present. + // The full name of the subdivision, for example, a state in the United States + // or a province in Canada. SubdivisionName *string `min:"1" type:"string"` } @@ -3377,9 +5996,10 @@ func (s GeoLocationDetails) GoString() string { type GetChangeDetailsInput struct { _ struct{} `deprecated:"true" type:"structure"` - // The ID of the change batch request. The value that you specify here is the - // value that ChangeResourceRecordSets returned in the Id element when you submitted - // the request. + // The ID of the change batch. This is the value that you specified in the change + // ID parameter when you submitted the request. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } @@ -3413,6 +6033,8 @@ type GetChangeDetailsOutput struct { // A complex type that contains information about the specified change batch, // including the change batch ID, the status of the change, and the contained // changes. + // + // ChangeBatchRecord is a required field ChangeBatchRecord *ChangeBatchRecord `deprecated:"true" type:"structure" required:"true"` } @@ -3433,6 +6055,8 @@ type GetChangeInput struct { // The ID of the change batch request. The value that you specify here is the // value that ChangeResourceRecordSets returned in the Id element when you submitted // the request. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } @@ -3463,9 +6087,9 @@ func (s *GetChangeInput) Validate() error { type GetChangeOutput struct { _ struct{} `type:"structure"` - // A complex type that contains information about the specified change batch, - // including the change batch ID, the status of the change, and the date and - // time of the request. + // A complex type that contains information about the specified change batch. + // + // ChangeInfo is a required field ChangeInfo *ChangeInfo `type:"structure" required:"true"` } @@ -3500,6 +6124,8 @@ type GetCheckerIpRangesOutput struct { // A complex type that contains sorted list of IP ranges in CIDR format for // Amazon Route 53 health checkers. + // + // CheckerIpRanges is a required field CheckerIpRanges []*string `type:"list" required:"true"` } @@ -3517,27 +6143,31 @@ func (s GetCheckerIpRangesOutput) GoString() string { type GetGeoLocationInput struct { _ struct{} `type:"structure"` - // The code for a continent geo location. Note: only continent locations have - // a continent code. + // Amazon Route 53 supports the following contintent codes: // - // Valid values: AF | AN | AS | EU | OC | NA | SA + // AF: Africa // - // Constraint: Specifying ContinentCode with either CountryCode or SubdivisionCode - // returns an InvalidInput error. + // AN: Antarctica + // + // AS: Asia + // + // EU: Europe + // + // OC: Oceania + // + // NA: North America + // + // SA: South America ContinentCode *string `location:"querystring" locationName:"continentcode" min:"2" type:"string"` - // The code for a country geo location. The default location uses '*' for the - // country code and will match all locations that are not matched by a geo location. - // - // The default geo location uses a * for the country code. All other country - // codes follow the ISO 3166 two-character code. + // Amazon Route 53 uses the two-letter country codes that are specified in ISO + // standard 3166-1 alpha-2 (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). CountryCode *string `location:"querystring" locationName:"countrycode" min:"1" type:"string"` - // The code for a country's subdivision (e.g., a province of Canada). A subdivision - // code is only valid with the appropriate country code. - // - // Constraint: Specifying SubdivisionCode without CountryCode returns an InvalidInput - // error. + // Amazon Route 53 uses the one- to three-letter subdivision codes that are + // specified in ISO standard 3166-1 alpha-2 (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). + // Amazon Route 53 doesn't support subdivision codes for all countries. If you + // specify SubdivisionCode, you must also specify CountryCode. SubdivisionCode *string `location:"querystring" locationName:"subdivisioncode" min:"1" type:"string"` } @@ -3570,11 +6200,15 @@ func (s *GetGeoLocationInput) Validate() error { return nil } -// A complex type containing information about the specified geo location. +// A complex type that contains the response information for the specified geolocation +// code. type GetGeoLocationOutput struct { _ struct{} `type:"structure"` - // A complex type that contains the information about the specified geo location. + // A complex type that contains the codes and full continent, country, and subdivision + // names for the specified geolocation code. + // + // GeoLocationDetails is a required field GeoLocationDetails *GeoLocationDetails `type:"structure" required:"true"` } @@ -3589,7 +6223,7 @@ func (s GetGeoLocationOutput) GoString() string { } // To retrieve a count of all your health checks, send a GET request to the -// /Route 53 API version/healthcheckcount resource. +// /2013-04-01/healthcheckcount resource. type GetHealthCheckCountInput struct { _ struct{} `type:"structure"` } @@ -3604,12 +6238,13 @@ func (s GetHealthCheckCountInput) GoString() string { return s.String() } -// A complex type that contains the count of health checks associated with the -// current AWS account. +// A complex type that contains the response to a healthcheckcount request. type GetHealthCheckCountOutput struct { _ struct{} `type:"structure"` // The number of health checks associated with the current AWS account. + // + // HealthCheckCount is a required field HealthCheckCount *int64 `type:"long" required:"true"` } @@ -3623,12 +6258,24 @@ func (s GetHealthCheckCountOutput) GoString() string { return s.String() } -// A complex type that contains information about the request to get a health -// check. +// This action gets information about a specified health check. +// +// Send a GET request to the /Amazon Route 53 API version/gethealthcheckrequest +// resource. +// +// For information about getting information about a health check using the +// Amazon Route 53 console, see Amazon Route 53 Health Checks and DNS Failover +// (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) +// in the Amazon Route 53 Developer Guide. type GetHealthCheckInput struct { _ struct{} `type:"structure"` - // The ID of the health check to retrieve. + // The identifier that Amazon Route 53 assigned to the health check when you + // created it. When you add or update a resource record set, you use this value + // to specify which health check to use. The value can be up to 64 characters + // long. + // + // HealthCheckId is a required field HealthCheckId *string `location:"uri" locationName:"HealthCheckId" type:"string" required:"true"` } @@ -3655,13 +6302,23 @@ func (s *GetHealthCheckInput) Validate() error { return nil } -// A complex type that contains information about the request to get the most -// recent failure reason for a health check. +// This action gets the reason that a specified health check failed most recently. +// +// To get the reason for the last failure of a health check, send a GET request +// to the /2013-04-01/healthcheck/health check ID/lastfailurereason resource. +// +// For information about viewing the last failure reason for a health check +// using the Amazon Route 53 console, see Viewing Health Check Status and the +// Reason for Health Check Failures (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/health-checks-monitor-view-status.html) +// in the Amazon Route 53 Developer Guide. type GetHealthCheckLastFailureReasonInput struct { _ struct{} `type:"structure"` - // The ID of the health check for which you want to retrieve the reason for - // the most recent failure. + // The ID for the health check for which you want the last failure reason. When + // you created the health check, CreateHealthCheck returned the ID in the response, + // in the HealthCheckId element. + // + // HealthCheckId is a required field HealthCheckId *string `location:"uri" locationName:"HealthCheckId" type:"string" required:"true"` } @@ -3688,13 +6345,15 @@ func (s *GetHealthCheckLastFailureReasonInput) Validate() error { return nil } -// A complex type that contains information about the most recent failure for -// the specified health check. +// A complex type that contains the response to a GetHealthCheckLastFailureReason +// request. type GetHealthCheckLastFailureReasonOutput struct { _ struct{} `type:"structure"` - // A list that contains one HealthCheckObservation element for each Amazon Route - // 53 health checker. + // A list that contains one Observation element for each Amazon Route 53 health + // checker that is reporting a last failure reason. + // + // HealthCheckObservations is a required field HealthCheckObservations []*HealthCheckObservation `locationNameList:"HealthCheckObservation" type:"list" required:"true"` } @@ -3708,11 +6367,14 @@ func (s GetHealthCheckLastFailureReasonOutput) GoString() string { return s.String() } -// A complex type containing information about the specified health check. +// A complex type that contains the response to a GetHealthCheck request. type GetHealthCheckOutput struct { _ struct{} `type:"structure"` - // A complex type that contains the information about the specified health check. + // A complex type that contains information about one health check that is associated + // with the current AWS account. + // + // HealthCheck is a required field HealthCheck *HealthCheck `type:"structure" required:"true"` } @@ -3748,16 +6410,17 @@ type GetHealthCheckStatusInput struct { // want Amazon Route 53 to base the choice in part on the status of a health // check. Configuring health checks only makes sense in the following configurations: // - // You're checking the health of the resource record sets in a weighted, latency, - // geolocation, or failover resource record set, and you specify health check - // IDs for all of the resource record sets. If the health check for one resource - // record set specifies an endpoint that is not healthy, Amazon Route 53 stops - // responding to queries using the value for that resource record set. You set - // EvaluateTargetHealth to true for the resource record sets in an alias, weighted - // alias, latency alias, geolocation alias, or failover alias resource record - // set, and you specify health check IDs for all of the resource record sets - // that are referenced by the alias resource record sets. For more information - // about this configuration, see EvaluateTargetHealth. + // You're checking the health of the resource record sets in a weighted, + // latency, geolocation, or failover resource record set, and you specify health + // check IDs for all of the resource record sets. If the health check for one + // resource record set specifies an endpoint that is not healthy, Amazon Route + // 53 stops responding to queries using the value for that resource record set. + // + // You set EvaluateTargetHealth to true for the resource record sets in an + // alias, weighted alias, latency alias, geolocation alias, or failover alias + // resource record set, and you specify health check IDs for all of the resource + // record sets that are referenced by the alias resource record sets. For more + // information about this configuration, see EvaluateTargetHealth. // // Amazon Route 53 doesn't check the health of the endpoint specified in the // resource record set, for example, the endpoint specified by the IP address @@ -3782,10 +6445,12 @@ type GetHealthCheckStatusInput struct { // server (such as us-east-1-www.example.com), not the name of the resource // record sets (example.com). // - // In this configuration, if you create a health check for which the value + // In this configuration, if you create a health check for which the value // of FullyQualifiedDomainName matches the name of the resource record sets // and then associate the health check with those resource record sets, health // check results will be unpredictable. + // + // HealthCheckId is a required field HealthCheckId *string `location:"uri" locationName:"HealthCheckId" type:"string" required:"true"` } @@ -3812,13 +6477,14 @@ func (s *GetHealthCheckStatusInput) Validate() error { return nil } -// A complex type that contains information about the status of the specified -// health check. +// A complex type that contains the response to a GetHealthCheck request. type GetHealthCheckStatusOutput struct { _ struct{} `type:"structure"` // A list that contains one HealthCheckObservation element for each Amazon Route - // 53 health checker. + // 53 health checker that is reporting a status about the health check endpoint. + // + // HealthCheckObservations is a required field HealthCheckObservations []*HealthCheckObservation `locationNameList:"HealthCheckObservation" type:"list" required:"true"` } @@ -3832,8 +6498,8 @@ func (s GetHealthCheckStatusOutput) GoString() string { return s.String() } -// To retrieve a count of all your hosted zones, send a GET request to the /Route -// 53 API version/hostedzonecount resource. +// To retrieve a count of all your hosted zones, send a GET request to the /2013-04-01/hostedzonecount +// resource. type GetHostedZoneCountInput struct { _ struct{} `type:"structure"` } @@ -3848,12 +6514,14 @@ func (s GetHostedZoneCountInput) GoString() string { return s.String() } -// A complex type that contains the count of hosted zones associated with the -// current AWS account. +// A complex type that contains the response to a hostedzonecount request. type GetHostedZoneCountOutput struct { _ struct{} `type:"structure"` - // The number of hosted zones associated with the current AWS account. + // The total number of public and private hosted zones associated with the current + // AWS account. + // + // HostedZoneCount is a required field HostedZoneCount *int64 `type:"long" required:"true"` } @@ -3873,6 +6541,8 @@ type GetHostedZoneInput struct { // The ID of the hosted zone for which you want to get a list of the name servers // in the delegation set. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } @@ -3899,15 +6569,16 @@ func (s *GetHostedZoneInput) Validate() error { return nil } -// A complex type containing information about the specified hosted zone. +// A complex type containing the response information for the hosted zone. type GetHostedZoneOutput struct { _ struct{} `type:"structure"` - // A complex type that contains information about the name servers for the specified - // hosted zone. + // A complex type that describes the name servers for this hosted zone. DelegationSet *DelegationSet `type:"structure"` - // A complex type that contains the information about the specified hosted zone. + // A complex type that contains general information about the hosted zone. + // + // HostedZone is a required field HostedZone *HostedZone `type:"structure" required:"true"` // A complex type that contains information about VPCs associated with the specified @@ -3931,6 +6602,8 @@ type GetReusableDelegationSetInput struct { // The ID of the reusable delegation set for which you want to get a list of // the name server. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } @@ -3957,13 +6630,14 @@ func (s *GetReusableDelegationSetInput) Validate() error { return nil } -// A complex type containing information about the specified reusable delegation -// set. +// A complex type that contains the response to the GetReusableDelegationSet +// request. type GetReusableDelegationSetOutput struct { _ struct{} `type:"structure"` - // A complex type that contains the information about the nameservers for the - // specified delegation set ID. + // A complex type that contains information about the reusable delegation set. + // + // DelegationSet is a required field DelegationSet *DelegationSet `type:"structure" required:"true"` } @@ -3978,16 +6652,20 @@ func (s GetReusableDelegationSetOutput) GoString() string { } // Gets information about a specific traffic policy version. To get the information, -// send a GET request to the /Route 53 API version/trafficpolicy resource, and -// specify the ID and the version of the traffic policy. +// send a GET request to the /2013-04-01/trafficpolicy resource, and specify +// the ID and the version of the traffic policy. type GetTrafficPolicyInput struct { _ struct{} `type:"structure"` // The ID of the traffic policy that you want to get information about. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` // The version number of the traffic policy that you want to get information // about. + // + // Version is a required field Version *int64 `location:"uri" locationName:"Version" min:"1" type:"integer" required:"true"` } @@ -4021,7 +6699,7 @@ func (s *GetTrafficPolicyInput) Validate() error { } // To retrieve a count of all your traffic policy instances, send a GET request -// to the /Route 53 API version/trafficpolicyinstancecount resource. +// to the /2013-04-01/trafficpolicyinstancecount resource. type GetTrafficPolicyInstanceCountInput struct { _ struct{} `type:"structure"` } @@ -4036,13 +6714,15 @@ func (s GetTrafficPolicyInstanceCountInput) GoString() string { return s.String() } -// A complex type that contains information about the number of traffic policy -// instances that are associated with the current AWS account. +// A complex type that contains information about the resource record sets that +// Amazon Route 53 created based on a specified traffic policy. type GetTrafficPolicyInstanceCountOutput struct { _ struct{} `type:"structure"` // The number of traffic policy instances that are associated with the current // AWS account. + // + // TrafficPolicyInstanceCount is a required field TrafficPolicyInstanceCount *int64 `type:"integer" required:"true"` } @@ -4059,11 +6739,13 @@ func (s GetTrafficPolicyInstanceCountOutput) GoString() string { // Gets information about a specified traffic policy instance. // // To get information about a traffic policy instance, send a GET request to -// the /Route 53 API version/trafficpolicyinstance/Id resource. +// the /Amazon Route 53 API version/trafficpolicyinstance/Id resource. type GetTrafficPolicyInstanceInput struct { _ struct{} `type:"structure"` // The ID of the traffic policy instance that you want to get information about. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } @@ -4096,6 +6778,8 @@ type GetTrafficPolicyInstanceOutput struct { _ struct{} `type:"structure"` // A complex type that contains settings for the traffic policy instance. + // + // TrafficPolicyInstance is a required field TrafficPolicyInstance *TrafficPolicyInstance `type:"structure" required:"true"` } @@ -4114,6 +6798,8 @@ type GetTrafficPolicyOutput struct { _ struct{} `type:"structure"` // A complex type that contains settings for the specified traffic policy. + // + // TrafficPolicy is a required field TrafficPolicy *TrafficPolicy `type:"structure" required:"true"` } @@ -4127,26 +6813,38 @@ func (s GetTrafficPolicyOutput) GoString() string { return s.String() } -// A complex type that contains identifying information about the health check. +// A complex type that contains information about one health check that is associated +// with the current AWS account. type HealthCheck struct { _ struct{} `type:"structure"` - // A unique string that identifies the request to create the health check. + // A unique string that you specified when you created the health check. + // + // CallerReference is a required field CallerReference *string `min:"1" type:"string" required:"true"` - // For CLOUDWATCH_METRIC health checks, a complex type that contains information - // about the CloudWatch alarm that you're associating with the health check. + // A complex type that contains information about the CloudWatch alarm that + // Amazon Route 53 is monitoring for this health check. CloudWatchAlarmConfiguration *CloudWatchAlarmConfiguration `type:"structure"` - // A complex type that contains the health check configuration. + // A complex type that contains detailed information about one health check. + // + // HealthCheckConfig is a required field HealthCheckConfig *HealthCheckConfig `type:"structure" required:"true"` // The version of the health check. You can optionally pass this value in a // call to UpdateHealthCheck to prevent overwriting another change to the health // check. + // + // HealthCheckVersion is a required field HealthCheckVersion *int64 `min:"1" type:"long" required:"true"` - // The ID of the specified health check. + // The identifier that Amazon Route 53assigned to the health check when you + // created it. When you add or update a resource record set, you use this value + // to specify which health check to use. The value can be up to 64 characters + // long. + // + // Id is a required field Id *string `type:"string" required:"true"` } @@ -4160,88 +6858,241 @@ func (s HealthCheck) GoString() string { return s.String() } -// A complex type that contains the health check configuration. +// A complex type that contains information about the health check. type HealthCheckConfig struct { _ struct{} `type:"structure"` - // A complex type that contains information to uniquely identify the CloudWatch - // alarm that you're associating with a Route 53 health check. + // A complex type that identifies the CloudWatch alarm that you want Amazon + // Route 53 health checkers to use to determine whether this health check is + // healthy. AlarmIdentifier *AlarmIdentifier `type:"structure"` - // For a specified parent health check, a list of HealthCheckId values for the - // associated child health checks. + // (CALCULATED Health Checks Only) A complex type that contains one ChildHealthCheck + // element for each health check that you want to associate with a CALCULATED + // health check. ChildHealthChecks []*string `locationNameList:"ChildHealthCheck" type:"list"` // Specify whether you want Amazon Route 53 to send the value of FullyQualifiedDomainName - // to the endpoint in the client_hello message during TLS negotiation. If you - // don't specify a value for EnableSNI, Amazon Route 53 defaults to true when - // Type is HTTPS or HTTPS_STR_MATCH and defaults to false when Type is any other - // value. + // to the endpoint in the client_hello message during TLS negotiation. This + // allows the endpoint to respond to HTTPS health check requests with the applicable + // SSL/TLS certificate. + // + // Some endpoints require that HTTPS requests include the host name in the + // client_hello message. If you don't enable SNI, the status of the health check + // will be SSL alert handshake_failure. A health check can also have that status + // for other reasons. If SNI is enabled and you're still getting the error, + // check the SSL/TLS configuration on your endpoint and confirm that your certificate + // is valid. + // + // The SSL/TLS certificate on your endpoint includes a domain name in the Common + // Name field and possibly several more in the Subject Alternative Names field. + // One of the domain names in the certificate should match the value that you + // specify for FullyQualifiedDomainName. If the endpoint responds to the client_hello + // message with a certificate that does not include the domain name that you + // specified in FullyQualifiedDomainName, a health checker will retry the handshake. + // In the second attempt, the health checker will omit FullyQualifiedDomainName + // from the client_hello message. EnableSNI *bool `type:"boolean"` // The number of consecutive health checks that an endpoint must pass or fail // for Amazon Route 53 to change the current status of the endpoint from unhealthy - // to healthy or vice versa. - // - // Valid values are integers between 1 and 10. For more information, see "How - // Amazon Route 53 Determines Whether an Endpoint Is Healthy" in the Amazon - // Route 53 Developer Guide. + // to healthy or vice versa. For more information, see How Amazon Route 53 Determines + // Whether an Endpoint Is Healthy (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html) + // in the Amazon Route 53 Developer Guide. FailureThreshold *int64 `min:"1" type:"integer"` - // Fully qualified domain name of the instance to be health checked. + // Amazon Route 53 behavior depends on whether you specify a value for IPAddress. + // + // If you specify IPAddress: + // + // The value that you want Amazon Route 53 to pass in the Host header in all + // health checks except TCP health checks. This is typically the fully qualified + // DNS name of the website that you are attempting to health check. When Amazon + // Route 53 checks the health of an endpoint, here is how it constructs the + // Host header: + // + // If you specify a value of 80 for Port and HTTP or HTTP_STR_MATCH for Type, + // Amazon Route 53 passes the value of FullyQualifiedDomainName to the endpoint + // in the Host header. + // + // If you specify a value of 443 for Port and HTTPS or HTTPS_STR_MATCH for + // Type, Amazon Route 53 passes the value of FullyQualifiedDomainName to the + // endpoint in the Host header. + // + // If you specify another value for Port and any value except TCP for Type, + // Amazon Route 53 passes FullyQualifiedDomainName:Port to the endpoint in the + // Host header. + // + // If you don't specify a value for FullyQualifiedDomainName, Amazon Route + // 53 substitutes the value of IPAddress in the Host header in each of the preceding + // cases. + // + // If you don't specify IPAddress: + // + // If you don't specify a value for IPAddress, Amazon Route 53 sends a DNS + // request to the domain that you specify in FullyQualifiedDomainName at the + // interval you specify in RequestInterval. Using an IP address that DNS returns, + // Amazon Route 53 then checks the health of the endpoint. + // + // If you want to check the health of weighted, latency, or failover resource + // record sets and you choose to specify the endpoint only by FullyQualifiedDomainName, + // we recommend that you create a separate health check for each endpoint. For + // example, create a health check for each HTTP server that is serving content + // for www.example.com. For the value of FullyQualifiedDomainName, specify the + // domain name of the server (such as us-east-1-www.example.com), not the name + // of the resource record sets (www.example.com). + // + // In this configuration, if you create a health check for which the value + // of FullyQualifiedDomainName matches the name of the resource record sets + // and you then associate the health check with those resource record sets, + // health check results will be unpredictable. + // + // In addition, if the value that you specify for Type is HTTP, HTTPS, HTTP_STR_MATCH, + // or HTTPS_STR_MATCH, Amazon Route 53 passes the value of FullyQualifiedDomainName + // in the Host header, as it does when you specify a value for IPAddress. If + // the value of Type is TCP, Amazon Route 53 doesn't pass a Host header. FullyQualifiedDomainName *string `type:"string"` - // The minimum number of child health checks that must be healthy for Amazon - // Route 53 to consider the parent health check to be healthy. Valid values - // are integers between 0 and 256, inclusive. + // The number of child health checks that are associated with a CALCULATED health + // that Amazon Route 53 must consider healthy for the CALCULATED health check + // to be considered healthy. To specify the child health checks that you want + // to associate with a CALCULATED health check, use the HealthCheckConfig$ChildHealthChecks + // and HealthCheckConfig$ChildHealthChecks elements. + // + // Note the following: + // + // If you specify a number greater than the number of child health checks, + // Amazon Route 53 always considers this health check to be unhealthy. + // + // If you specify 0, Amazon Route 53 always considers this health check to + // be healthy. HealthThreshold *int64 `type:"integer"` - // IP Address of the instance being checked. + // The IPv4 IP address of the endpoint on which you want Amazon Route 53 to + // perform health checks. If you don't specify a value for IPAddress, Amazon + // Route 53 sends a DNS request to resolve the domain name that you specify + // in FullyQualifiedDomainName at the interval that you specify in RequestInterval. + // Using an IP address that DNS returns, Amazon Route 53 then checks the health + // of the endpoint. + // + // If the endpoint is an Amazon EC2 instance, we recommend that you create + // an Elastic IP address, associate it with your Amazon EC2 instance, and specify + // the Elastic IP address for IPAddress. This ensures that the IP address of + // your instance will never change. + // + // For more information, see HealthCheckConfig$FullyQualifiedDomainName. + // + // Contraints: Amazon Route 53 cannot check the health of endpoints for which + // the IP address is in local, private, non-routable, or multicast ranges. For + // more information about IP addresses for which you cannot create health checks, + // see RFC 5735, Special Use IPv4 Addresses (https://tools.ietf.org/html/rfc5735) + // and RFC 6598, IANA-Reserved IPv4 Prefix for Shared Address Space (https://tools.ietf.org/html/rfc6598). + // + // When the value of Type is CALCULATED or CLOUDWATCH_METRIC, omit IPAddress. IPAddress *string `type:"string"` - // The status of the health check when CloudWatch has insufficient data about - // the state of associated alarm. Valid values are Healthy, Unhealthy and LastKnownStatus. + // When CloudWatch has insufficient data about the metric to determine the alarm + // state, the status that you want Amazon Route 53 to assign to the health check: + // + // Healthy: Amazon Route 53 considers the health check to be healthy. + // + // Unhealthy: Amazon Route 53 considers the health check to be unhealthy. + // + // LastKnownStatus: Amazon Route 53uses the status of the health check from + // the last time CloudWatch had sufficient data to determine the alarm state. + // For new health checks that have no last known status, the default status + // for the health check is healthy. InsufficientDataHealthStatus *string `type:"string" enum:"InsufficientDataHealthStatus"` - // A boolean value that indicates whether the status of health check should - // be inverted. For example, if a health check is healthy but Inverted is True, - // then Amazon Route 53 considers the health check to be unhealthy. + // Specify whether you want Amazon Route 53 to invert the status of a health + // check, for example, to consider a health check unhealthy when it otherwise + // would be considered healthy. Inverted *bool `type:"boolean"` - // A Boolean value that indicates whether you want Amazon Route 53 to measure - // the latency between health checkers in multiple AWS regions and your endpoint - // and to display CloudWatch latency graphs in the Amazon Route 53 console. + // Specify whether you want Amazon Route 53 to measure the latency between health + // checkers in multiple AWS regions and your endpoint, and to display CloudWatch + // latency graphs on the Health Checks page in the Amazon Route 53 console. + // + // You can't change the value of MeasureLatency after you create a health + // check. MeasureLatency *bool `type:"boolean"` - // Port on which connection will be opened to the instance to health check. - // For HTTP and HTTP_STR_MATCH this defaults to 80 if the port is not specified. - // For HTTPS and HTTPS_STR_MATCH this defaults to 443 if the port is not specified. + // The port on the endpoint on which you want Amazon Route 53 to perform health + // checks. Specify a value for Port only when you specify a value for IPAddress. Port *int64 `min:"1" type:"integer"` - // A list of HealthCheckRegion values that you want Amazon Route 53 to use to - // perform health checks for the specified endpoint. You must specify at least - // three regions. + // A complex type that contains one Region element for each region from which + // you want Amazon Route 53 health checkers to check the specified endpoint. Regions []*string `locationNameList:"Region" min:"1" type:"list"` // The number of seconds between the time that Amazon Route 53 gets a response // from your endpoint and the time that it sends the next health-check request. + // Each Amazon Route 53 health checker makes requests at this interval. // - // Each Amazon Route 53 health checker makes requests at this interval. Valid - // values are 10 and 30. The default value is 30. + // You can't change the value of RequestInterval after you create a health + // check. RequestInterval *int64 `min:"10" type:"integer"` - // Path to ping on the instance to check the health. Required for HTTP, HTTPS, - // HTTP_STR_MATCH, and HTTPS_STR_MATCH health checks. The HTTP request is issued - // to the instance on the given port and path. + // The path, if any, that you want Amazon Route 53 to request when performing + // health checks. The path can be any value for which your endpoint will return + // an HTTP status code of 2xx or 3xx when the endpoint is healthy, for example, + // the file /docs/route53-health-check.html. ResourcePath *string `type:"string"` - // A string to search for in the body of a health check response. Required for - // HTTP_STR_MATCH and HTTPS_STR_MATCH health checks. Amazon Route 53 considers - // case when searching for SearchString in the response body. + // If the value of Type is HTTP_STR_MATCH or HTTP_STR_MATCH, the string that + // you want Amazon Route 53 to search for in the response body from the specified + // resource. If the string appears in the response body, Amazon Route 53 considers + // the resource healthy. + // + // Amazon Route 53 considers case when searching for SearchString in the response + // body. SearchString *string `type:"string"` - // The type of health check to be performed. Currently supported types are TCP, - // HTTP, HTTPS, HTTP_STR_MATCH, HTTPS_STR_MATCH, CALCULATED and CLOUDWATCH_METRIC. + // The type of health check that you want to create, which indicates how Amazon + // Route 53 determines whether an endpoint is healthy. + // + // You can't change the value of Type after you create a health check. + // + // You can create the following types of health checks: + // + // HTTP: Amazon Route 53 tries to establish a TCP connection. If successful, + // Amazon Route 53 submits an HTTP request and waits for an HTTP status code + // of 200 or greater and less than 400. + // + // HTTPS: Amazon Route 53 tries to establish a TCP connection. If successful, + // Amazon Route 53 submits an HTTPS request and waits for an HTTP status code + // of 200 or greater and less than 400. + // + // If you specify HTTPS for the value of Type, the endpoint must support TLS + // v1.0 or later. + // + // HTTP_STR_MATCH: Amazon Route 53 tries to establish a TCP connection. + // If successful, Amazon Route 53 submits an HTTP request and searches the first + // 5,120 bytes of the response body for the string that you specify in SearchString. + // + // HTTPS_STR_MATCH: Amazon Route 53 tries to establish a TCP connection. + // If successful, Amazon Route 53 submits an HTTPS request and searches the + // first 5,120 bytes of the response body for the string that you specify in + // SearchString. + // + // TCP: Amazon Route 53 tries to establish a TCP connection. + // + // CLOUDWATCH_METRIC: The health check is associated with a CloudWatch alarm. + // If the state of the alarm is OK, the health check is considered healthy. + // If the state is ALARM, the health check is considered unhealthy. If CloudWatch + // doesn't have sufficient data to determine whether the state is OK or ALARM, + // the health check status depends on the setting for InsufficientDataHealthStatus: + // Healthy, Unhealthy, or LastKnownStatus. + // + // CALCULATED: For health checks that monitor the status of other health + // checks, Amazon Route 53 adds up the number of health checks that Amazon Route + // 53 health checkers consider to be healthy and compares that number with the + // value of HealthThreshold. + // + // For more information about how Amazon Route 53 determines whether an endpoint + // is healthy, see the introduction to this topic. + // + // Type is a required field Type *string `type:"string" required:"true" enum:"HealthCheckType"` } @@ -4285,21 +7136,21 @@ func (s *HealthCheckConfig) Validate() error { return nil } -// A complex type that contains the IP address of a Amazon Route 53 health checker -// and the reason for the health check status. +// A complex type that contains the last failure reason as reported by one Amazon +// Route 53 health checker. type HealthCheckObservation struct { _ struct{} `type:"structure"` - // The IP address of the Amazon Route 53 health checker that performed this - // health check. + // The IP address of the Amazon Route 53 health checker that provided the failure + // reason in StatusReport. IPAddress *string `type:"string"` - // The HealthCheckRegion of the Amazon Route 53 health checker that performed - // this health check. + // The region of the Amazon Route 53 health checker that provided the status + // in StatusReport. Region *string `min:"1" type:"string" enum:"HealthCheckRegion"` - // A complex type that contains information about the health check status for - // the current observation. + // A complex type that contains the last failure reason as reported by one Amazon + // Route 53 health checker and the time of the failed health check. StatusReport *StatusReport `type:"structure"` } @@ -4313,31 +7164,37 @@ func (s HealthCheckObservation) GoString() string { return s.String() } -// A complex type that contain information about the specified hosted zone. +// A complex type that contains general information about the hosted zone. type HostedZone struct { _ struct{} `type:"structure"` - // A unique string that identifies the request to create the hosted zone. + // The value that you specified for CallerReference when you created the hosted + // zone. + // + // CallerReference is a required field CallerReference *string `min:"1" type:"string" required:"true"` - // A complex type that contains the Comment element. + // A complex type that includes the Comment and PrivateZone elements. If you + // omitted the HostedZoneConfig and Comment elements from the request, the Config + // and Comment elements don't appear in the response. Config *HostedZoneConfig `type:"structure"` - // The ID of the specified hosted zone. + // The ID that Amazon Route 53 assigned to the hosted zone when you created + // it. + // + // Id is a required field Id *string `type:"string" required:"true"` - // The name of the domain. This must be a fully-specified domain, for example, - // www.example.com. The trailing dot is optional; Amazon Route 53 assumes that - // the domain name is fully qualified. This means that Amazon Route 53 treats - // www.example.com (without a trailing dot) and www.example.com. (with a trailing - // dot) as identical. + // The name of the domain. For public hosted zones, this is the name that you + // have registered with your DNS registrar. + // + // For information about how to specify characters other than a-z, 0-9, and + // - (hyphen) and how to specify internationalized domain names, see CreateHostedZone. // - // This is the name you have registered with your DNS registrar. You should - // ask your registrar to change the authoritative name servers for your domain - // to the set of NameServers elements returned in DelegationSet. + // Name is a required field Name *string `type:"string" required:"true"` - // Total number of resource record sets in the hosted zone. + // The number of resource record sets in the hosted zone. ResourceRecordSetCount *int64 `type:"long"` } @@ -4352,16 +7209,15 @@ func (s HostedZone) GoString() string { } // A complex type that contains an optional comment about your hosted zone. -// If you don't want to specify a comment, you can omit the HostedZoneConfig -// and Comment elements from the XML document. +// If you don't want to specify a comment, omit both the HostedZoneConfig and +// Comment elements. type HostedZoneConfig struct { _ struct{} `type:"structure"` - // An optional comment about your hosted zone. If you don't want to specify - // a comment, you can omit the HostedZoneConfig and Comment elements from the - // XML document. + // Any comments that you want to include about the hosted zone. Comment *string `type:"string"` + // A value that indicates whether this is a private hosted zone. PrivateZone *bool `type:"boolean"` } @@ -4380,9 +7236,13 @@ type ListChangeBatchesByHostedZoneInput struct { _ struct{} `deprecated:"true" type:"structure"` // The end of the time period you want to see changes for. + // + // EndDate is a required field EndDate *string `location:"querystring" locationName:"endDate" deprecated:"true" type:"string" required:"true"` // The ID of the hosted zone that you want to see changes for. + // + // HostedZoneId is a required field HostedZoneId *string `location:"uri" locationName:"Id" type:"string" required:"true"` // The page marker. @@ -4392,6 +7252,8 @@ type ListChangeBatchesByHostedZoneInput struct { MaxItems *string `location:"querystring" locationName:"maxItems" type:"string"` // The start of the time period you want to see changes for. + // + // StartDate is a required field StartDate *string `location:"querystring" locationName:"startDate" deprecated:"true" type:"string" required:"true"` } @@ -4424,20 +7286,29 @@ func (s *ListChangeBatchesByHostedZoneInput) Validate() error { return nil } -// The input for a ListChangeBatchesByHostedZone request. +// A complex type containing the response information for the request. type ListChangeBatchesByHostedZoneOutput struct { _ struct{} `deprecated:"true" type:"structure"` // The change batches within the given hosted zone and time period. + // + // ChangeBatchRecords is a required field ChangeBatchRecords []*ChangeBatchRecord `locationNameList:"ChangeBatchRecord" min:"1" deprecated:"true" type:"list" required:"true"` // A flag that indicates if there are more change batches to list. IsTruncated *bool `type:"boolean"` - // The page marker. + // For the second and subsequent calls to ListHostedZones, Marker is the value + // that you specified for the marker parameter in the request that produced + // the current response. + // + // Marker is a required field Marker *string `type:"string" required:"true"` - // The maximum number of items on a page. + // The value that you specified for the maxitems parameter in the call to ListHostedZones + // that produced the current response. + // + // MaxItems is a required field MaxItems *string `type:"string" required:"true"` // The next page marker. @@ -4459,9 +7330,13 @@ type ListChangeBatchesByRRSetInput struct { _ struct{} `deprecated:"true" type:"structure"` // The end of the time period you want to see changes for. + // + // EndDate is a required field EndDate *string `location:"querystring" locationName:"endDate" deprecated:"true" type:"string" required:"true"` // The ID of the hosted zone that you want to see changes for. + // + // HostedZoneId is a required field HostedZoneId *string `location:"uri" locationName:"Id" type:"string" required:"true"` // The page marker. @@ -4471,15 +7346,21 @@ type ListChangeBatchesByRRSetInput struct { MaxItems *string `location:"querystring" locationName:"maxItems" type:"string"` // The name of the RRSet that you want to see changes for. + // + // Name is a required field Name *string `location:"querystring" locationName:"rrSet_name" type:"string" required:"true"` // The identifier of the RRSet that you want to see changes for. SetIdentifier *string `location:"querystring" locationName:"identifier" min:"1" type:"string"` // The start of the time period you want to see changes for. + // + // StartDate is a required field StartDate *string `location:"querystring" locationName:"startDate" deprecated:"true" type:"string" required:"true"` // The type of the RRSet that you want to see changes for. + // + // Type is a required field Type *string `location:"querystring" locationName:"type" type:"string" required:"true" enum:"RRType"` } @@ -4526,15 +7407,21 @@ type ListChangeBatchesByRRSetOutput struct { _ struct{} `deprecated:"true" type:"structure"` // The change batches within the given hosted zone and time period. + // + // ChangeBatchRecords is a required field ChangeBatchRecords []*ChangeBatchRecord `locationNameList:"ChangeBatchRecord" min:"1" deprecated:"true" type:"list" required:"true"` // A flag that indicates if there are more change batches to list. IsTruncated *bool `type:"boolean"` // The page marker. + // + // Marker is a required field Marker *string `type:"string" required:"true"` // The maximum number of items on a page. + // + // MaxItems is a required field MaxItems *string `type:"string" required:"true"` // The next page marker. @@ -4551,35 +7438,52 @@ func (s ListChangeBatchesByRRSetOutput) GoString() string { return s.String() } -// The input for a ListGeoLocations request. +// To get a list of geographic locations that Amazon Route 53 supports for geolocation, +// send a GET request to the /Amazon Route 53 API version/geolocations resource. +// The response to this request includes a GeoLocationDetails element for each +// location that Amazon Route 53 supports. +// +// Countries are listed first, and continents are listed last. If Amazon Route +// 53 supports subdivisions for a country (for example, states or provinces), +// the subdivisions for that country are listed in alphabetical order immediately +// after the corresponding country. type ListGeoLocationsInput struct { _ struct{} `type:"structure"` - // The maximum number of geo locations you want in the response body. + // (Optional) The maximum number of geolocations to be included in the response + // body for this request. If more than MaxItems geolocations remain to be listed, + // then the value of the IsTruncated element in the response is true. MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"` - // The first continent code in the lexicographic ordering of geo locations that - // you want the ListGeoLocations request to list. For non-continent geo locations, - // this should be null. - // - // Valid values: AF | AN | AS | EU | OC | NA | SA + // The code for the continent with which you want to start listing locations + // that Amazon Route 53 supports for geolocation. If Amazon Route 53 has already + // returned a page or more of results, if IsTruncated is true, and if NextContinentCode + // from the previous response has a value, enter that value in StartContinentCode + // to return the next page of results. // - // Constraint: Specifying ContinentCode with either CountryCode or SubdivisionCode - // returns an InvalidInput error. + // Include StartContinentCode only if you want to list continents. Don't include + // StartContinentCode when you're listing countries or countries with their + // subdivisions. StartContinentCode *string `location:"querystring" locationName:"startcontinentcode" min:"2" type:"string"` - // The first country code in the lexicographic ordering of geo locations that - // you want the ListGeoLocations request to list. + // The code for the country with which you want to start listing locations that + // Amazon Route 53 supports for geolocation. If Amazon Route 53 has already + // returned a page or more of results, if IsTruncated is true, and if NextCountryCode + // from the previous response has a value, enter that value in StartCountryCode + // to return the next page of results. // - // The default geo location uses a * for the country code. All other country - // codes follow the ISO 3166 two-character code. + // Amazon Route 53 uses the two-letter country codes that are specified in + // ISO standard 3166-1 alpha-2 (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). StartCountryCode *string `location:"querystring" locationName:"startcountrycode" min:"1" type:"string"` - // The first subdivision code in the lexicographic ordering of geo locations - // that you want the ListGeoLocations request to list. + // The code for the subdivision (for example, state or province) with which + // you want to start listing locations that Amazon Route 53 supports for geolocation. + // If Amazon Route 53 has already returned a page or more of results, if IsTruncated + // is true, and if NextSubdivisionCode from the previous response has a value, + // enter that value in StartSubdivisionCode to return the next page of results. // - // Constraint: Specifying SubdivisionCode without CountryCode returns an InvalidInput - // error. + // To list subdivisions of a country, you must include both StartCountryCode + // and StartSubdivisionCode. StartSubdivisionCode *string `location:"querystring" locationName:"startsubdivisioncode" min:"1" type:"string"` } @@ -4612,41 +7516,43 @@ func (s *ListGeoLocationsInput) Validate() error { return nil } -// A complex type that contains information about the geo locations that are -// returned by the request and information about the response. +// A complex type containing the response information for the request. type ListGeoLocationsOutput struct { _ struct{} `type:"structure"` - // A complex type that contains information about the geo locations that are - // returned by the request. + // A complex type that contains one GeoLocationDetails element for each location + // that Amazon Route 53 supports for geolocation. + // + // GeoLocationDetailsList is a required field GeoLocationDetailsList []*GeoLocationDetails `locationNameList:"GeoLocationDetails" type:"list" required:"true"` - // A flag that indicates whether there are more geo locations to be listed. - // If your results were truncated, you can make a follow-up request for the - // next page of results by using the values included in the ListGeoLocationsResponse$NextContinentCode, - // ListGeoLocationsResponse$NextCountryCode and ListGeoLocationsResponse$NextSubdivisionCode - // elements. + // A value that indicates whether more locations remain to be listed after the + // last location in this response. If so, the value of IsTruncated is true. + // To get more values, submit another request and include the values of NextContinentCode, + // NextCountryCode, and NextSubdivisionCode in the StartContinentCode, StartCountryCode, + // and StartSubdivisionCode, as applicable. // - // Valid Values: true | false + // IsTruncated is a required field IsTruncated *bool `type:"boolean" required:"true"` - // The maximum number of records you requested. The maximum value of MaxItems - // is 100. + // The value that you specified for MaxItems in the request. + // + // MaxItems is a required field MaxItems *string `type:"string" required:"true"` - // If the results were truncated, the continent code of the next geo location - // in the list. This element is present only if ListGeoLocationsResponse$IsTruncated - // is true and the next geo location to list is a continent location. + // If IsTruncated is true, you can make a follow-up request to display more + // locations. Enter the value of NextContinentCode in the StartContinentCode + // parameter in another GET ListGeoLocations request. NextContinentCode *string `min:"2" type:"string"` - // If the results were truncated, the country code of the next geo location - // in the list. This element is present only if ListGeoLocationsResponse$IsTruncated - // is true and the next geo location to list is not a continent location. + // If IsTruncated is true, you can make a follow-up request to display more + // locations. Enter the value of NextCountryCode in the StartCountryCode parameter + // in another GET ListGeoLocations request. NextCountryCode *string `min:"1" type:"string"` - // If the results were truncated, the subdivision code of the next geo location - // in the list. This element is present only if ListGeoLocationsResponse$IsTruncated - // is true and the next geo location has a subdivision. + // If IsTruncated is true, you can make a follow-up request to display more + // locations. Enter the value of NextSubdivisionCode in the StartSubdivisionCode + // parameter in another GET ListGeoLocations request. NextSubdivisionCode *string `min:"1" type:"string"` } @@ -4660,25 +7566,40 @@ func (s ListGeoLocationsOutput) GoString() string { return s.String() } -// To retrieve a list of your health checks, send a GET request to the /Route -// 53 API version/healthcheck resource. The response to this request includes -// a HealthChecks element with zero or more HealthCheck child elements. By default, -// the list of health checks is displayed on a single page. You can control -// the length of the page that is displayed by using the MaxItems parameter. -// You can use the Marker parameter to control the health check that the list -// begins with. +// To retrieve a list of your health checks, send a GET request to the /2013-04-01/healthcheck +// resource. The response to this request includes a HealthChecks element with +// zero or more HealthCheck child elements. By default, the list of health checks +// is displayed on a single page. You can control the length of the page that +// is displayed by using the MaxItems parameter. You can use the Marker parameter +// to control the health check that the list begins with. // -// Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to +// Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to // a value greater than 100, Amazon Route 53 returns only the first 100. type ListHealthChecksInput struct { _ struct{} `type:"structure"` - // If the request returned more than one page of results, submit another request - // and specify the value of NextMarker from the last response in the marker - // parameter to get the next page of results. + // If the response to a ListHealthChecks is more than one page, marker is the + // health check ID for the first health check on the next page of results. For + // more information, see ListHealthChecksResponse$MaxItems. Marker *string `location:"querystring" locationName:"marker" type:"string"` - // Specify the maximum number of health checks to return per page of results. + // The maximum number of HealthCheck elements you want ListHealthChecks to return + // on each page of the response body. If the AWS account includes more HealthCheck + // elements than the value of maxitems, the response is broken into pages. Each + // page contains the number of HealthCheck elements specified by maxitems. + // + // For example, suppose you specify 10 for maxitems and the current AWS account + // has 51 health checks. In the response, ListHealthChecks sets ListHealthChecksResponse$IsTruncated + // to true and includes the ListHealthChecksResponse$NextMarker element. To + // access the second and subsequent pages, you resend the GET ListHealthChecks + // request, add the ListHealthChecksResponse$Marker parameter to the request, + // and specify the value of the ListHealthChecksResponse$NextMarker element + // from the previous response. On the last (sixth) page of the response, which + // contains only one HealthCheck element: + // + // The value of ListHealthChecksResponse$IsTruncated is false. + // + // ListHealthChecksResponse$NextMarker is omitted. MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"` } @@ -4692,36 +7613,41 @@ func (s ListHealthChecksInput) GoString() string { return s.String() } -// A complex type that contains the response for the request. +// A complex type that contains the response to a ListHealthChecks request. type ListHealthChecksOutput struct { _ struct{} `type:"structure"` - // A complex type that contains information about the health checks associated - // with the current AWS account. + // A complex type that contains one HealthCheck element for each health check + // that is associated with the current AWS account. + // + // HealthChecks is a required field HealthChecks []*HealthCheck `locationNameList:"HealthCheck" type:"list" required:"true"` - // A flag indicating whether there are more health checks to be listed. If your - // results were truncated, you can make a follow-up request for the next page - // of results by using the Marker element. + // A flag that indicates whether there are more health checks to be listed. + // If the response was truncated, you can get the next group of maxitems health + // checks by calling ListHealthChecks again and specifying the value of the + // NextMarker element in the marker parameter. // // Valid Values: true | false + // + // IsTruncated is a required field IsTruncated *bool `type:"boolean" required:"true"` - // If the request returned more than one page of results, submit another request - // and specify the value of NextMarker from the last response in the marker - // parameter to get the next page of results. + // For the second and subsequent calls to ListHealthChecks, Marker is the value + // that you specified for the marker parameter in the previous request. + // + // Marker is a required field Marker *string `type:"string" required:"true"` - // The maximum number of health checks to be included in the response body. - // If the number of health checks associated with this AWS account exceeds MaxItems, - // the value of ListHealthChecksResponse$IsTruncated in the response is true. - // Call ListHealthChecks again and specify the value of ListHealthChecksResponse$NextMarker - // in the ListHostedZonesRequest$Marker element to get the next page of results. + // The value that you specified for the maxitems parameter in the call to ListHealthChecks + // that produced the current response. + // + // MaxItems is a required field MaxItems *string `type:"string" required:"true"` - // Indicates where to continue listing health checks. If ListHealthChecksResponse$IsTruncated - // is true, make another request to ListHealthChecks and include the value of - // the NextMarker element in the Marker element to get the next page of results. + // If IsTruncated is true, the value of NextMarker identifies the first health + // check in the next group of maxitems health checks. Call ListHealthChecks + // again and specify the value of NextMarker in the marker parameter. NextMarker *string `type:"string"` } @@ -4735,35 +7661,78 @@ func (s ListHealthChecksOutput) GoString() string { return s.String() } -// To retrieve a list of your hosted zones in lexicographic order, send a GET -// request to the /Route 53 API version/hostedzonesbyname resource. The response -// to this request includes a HostedZones element with zero or more HostedZone -// child elements lexicographically ordered by DNS name. By default, the list -// of hosted zones is displayed on a single page. You can control the length -// of the page that is displayed by using the MaxItems parameter. You can use -// the DNSName and HostedZoneId parameters to control the hosted zone that the -// list begins with. +// To retrieve a list of your public and private hosted zones in ASCII order +// by domain name, send a GET request to the /Amazon Route 53 API version/hostedzonesbyname +// resource. The response to this request includes a HostedZone child element +// for each hosted zone that was created by the current AWS account. ListHostedZonesByName +// sorts hosted zones by name with the labels reversed, for example: +// +// com.example.www. +// +// Note the trailing dot, which can change the sort order in some circumstances. // -// For more information about listing hosted zones, see Listing the Hosted -// Zones for an AWS Account (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ListInfoOnHostedZone.html) +// If the domain name includes escape characters or Punycode, ListHostedZonesByName +// alphabetizes the domain name using the escaped or Punycoded value, which +// is the format that Amazon Route 53 saves in its database. For example, to +// create a hosted zone for exämple.com, you specify ex\344mple.com for the +// domain name. ListHostedZonesByName alphabetizes it as: com.ex\344mple. The +// labels are reversed, and it's alphabetized using the escaped value. For more +// information about valid domain name formats, including internationalized +// domain names, see DNS Domain Name Format (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html) // in the Amazon Route 53 Developer Guide. +// +// Amazon Route 53 returns up to 100 items in each response. If you have a +// lot of hosted zones, you can use the MaxItems parameter to list them in groups +// of up to 100. The response includes values that help you navigate from one +// group of MaxItems hosted zones to the next: +// +// The DNSName and HostedZoneId elements in the response contain the values, +// if any, that you specified for the dnsname and hostedzoneid parameters in +// the request that produced the current response. +// +// The MaxItems element in the response contains the value, if any, that +// you specified for the maxitems parameter in the request that produced the +// current response. +// +// If the value of IsTruncated in the response is true, there are more hosted +// zones associated with the current Amazon Route 53 account. +// +// If IsTruncated is false, this response includes the last hosted zone that +// is associated with the current account. The NextDNSName element and NextHostedZoneId +// elements are omitted from the response. +// +// The NextDNSName and NextHostedZoneId elements in the response contain +// the domain name and the hosted zone ID of the next hosted zone that is associated +// with the current AWS account. If you want to list more hosted zones, make +// another call to ListHostedZonesByName, and specify the value of NextDNSName +// and NextHostedZoneId in the dnsname and hostedzoneid parameters, respectively. type ListHostedZonesByNameInput struct { _ struct{} `type:"structure"` - // The first name in the lexicographic ordering of domain names that you want - // the ListHostedZonesByNameRequest request to list. - // - // If the request returned more than one page of results, submit another request - // and specify the value of NextDNSName and NextHostedZoneId from the last response - // in the DNSName and HostedZoneId parameters to get the next page of results. + // (Optional) For your first request to ListHostedZonesByName, include the dnsname + // parameter only if you want to specify the name of the first hosted zone in + // the response. If you don't include the dnsname parameter, Amazon Route 53 + // returns all of the hosted zones that were created by the current AWS account, + // in ASCII order. For subsequent requests, include both dnsname and hostedzoneid + // parameters. For dnsname, specify the value of NextDNSName from the previous + // response. DNSName *string `location:"querystring" locationName:"dnsname" type:"string"` - // If the request returned more than one page of results, submit another request - // and specify the value of NextDNSName and NextHostedZoneId from the last response - // in the DNSName and HostedZoneId parameters to get the next page of results. + // (Optional) For your first request to ListHostedZonesByName, do not include + // the hostedzoneid parameter. + // + // If you have more hosted zones than the value of maxitems, ListHostedZonesByName + // returns only the first maxitems hosted zones. To get the next group of maxitems + // hosted zones, submit another request to ListHostedZonesByName and include + // both dnsname and hostedzoneid parameters. For the value of hostedzoneid, + // specify the value of the NextHostedZoneId element from the previous response. HostedZoneId *string `location:"querystring" locationName:"hostedzoneid" type:"string"` - // Specify the maximum number of hosted zones to return per page of results. + // The maximum number of hosted zones to be included in the response body for + // this request. If you have more than maxitems hosted zones, then the value + // of the IsTruncated element in the response is true, and the values of NextDNSName + // and NextHostedZoneId specify the first hosted zone in the next group of maxitems + // hosted zones. MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"` } @@ -4777,47 +7746,53 @@ func (s ListHostedZonesByNameInput) GoString() string { return s.String() } -// A complex type that contains the response for the request. +// A complex type that contains the response information for the request. type ListHostedZonesByNameOutput struct { _ struct{} `type:"structure"` - // The DNSName value sent in the request. + // For the second and subsequent calls to ListHostedZonesByName, DNSName is + // the value that you specified for the dnsname parameter in the request that + // produced the current response. DNSName *string `type:"string"` - // The HostedZoneId value sent in the request. + // The ID that Amazon Route 53 assigned to the hosted zone when you created + // it. HostedZoneId *string `type:"string"` - // A complex type that contains information about the hosted zones associated - // with the current AWS account. + // A complex type that contains general information about the hosted zone. + // + // HostedZones is a required field HostedZones []*HostedZone `locationNameList:"HostedZone" type:"list" required:"true"` - // A flag indicating whether there are more hosted zones to be listed. If your - // results were truncated, you can make a follow-up request for the next page - // of results by using the NextDNSName and NextHostedZoneId elements. + // A flag that indicates whether there are more hosted zones to be listed. If + // the response was truncated, you can get the next group of maxitems hosted + // zones by calling ListHostedZonesByName again and specifying the values of + // NextDNSName and NextHostedZoneId elements in the dnsname and hostedzoneid + // parameters. // - // Valid Values: true | false + // IsTruncated is a required field IsTruncated *bool `type:"boolean" required:"true"` - // The maximum number of hosted zones to be included in the response body. If - // the number of hosted zones associated with this AWS account exceeds MaxItems, - // the value of ListHostedZonesByNameResponse$IsTruncated in the response is - // true. Call ListHostedZonesByName again and specify the value of ListHostedZonesByNameResponse$NextDNSName - // and ListHostedZonesByNameResponse$NextHostedZoneId elements respectively - // to get the next page of results. + // The value that you specified for the maxitems parameter in the call to ListHostedZonesByName + // that produced the current response. + // + // MaxItems is a required field MaxItems *string `type:"string" required:"true"` - // If ListHostedZonesByNameResponse$IsTruncated is true, there are more hosted - // zones associated with the current AWS account. To get the next page of results, - // make another request to ListHostedZonesByName. Specify the value of ListHostedZonesByNameResponse$NextDNSName - // in the ListHostedZonesByNameRequest$DNSName element and ListHostedZonesByNameResponse$NextHostedZoneId - // in the ListHostedZonesByNameRequest$HostedZoneId element. + // If IsTruncated is true, the value of NextDNSName is the name of the first + // hosted zone in the next group of maxitems hosted zones. Call ListHostedZonesByName + // again and specify the value of NextDNSName and NextHostedZoneId in the dnsname + // and hostedzoneid parameters, respectively. + // + // This element is present only if IsTruncated is true. NextDNSName *string `type:"string"` - // If ListHostedZonesByNameResponse$IsTruncated is true, there are more hosted - // zones associated with the current AWS account. To get the next page of results, - // make another request to ListHostedZonesByName. Specify the value of ListHostedZonesByNameResponse$NextDNSName - // in the ListHostedZonesByNameRequest$DNSName element and ListHostedZonesByNameResponse$NextHostedZoneId - // in the ListHostedZonesByNameRequest$HostedZoneId element. + // If IsTruncated is true, the value of NextHostedZoneId identifies the first + // hosted zone in the next group of maxitems hosted zones. Call ListHostedZonesByName + // again and specify the value of NextDNSName and NextHostedZoneId in the dnsname + // and hostedzoneid parameters, respectively. + // + // This element is present only if IsTruncated is true. NextHostedZoneId *string `type:"string"` } @@ -4831,29 +7806,54 @@ func (s ListHostedZonesByNameOutput) GoString() string { return s.String() } -// To retrieve a list of your hosted zones, send a GET request to the /Route -// 53 API version/hostedzone resource. The response to this request includes -// a HostedZones element with zero or more HostedZone child elements. By default, -// the list of hosted zones is displayed on a single page. You can control the -// length of the page that is displayed by using the MaxItems parameter. You -// can use the Marker parameter to control the hosted zone that the list begins -// with. For more information about listing hosted zones, see Listing the Hosted -// Zones for an AWS Account (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ListInfoOnHostedZone.html) -// in the Amazon Route 53 Developer Guide. +// To retrieve a list of your public and private hosted zones, send a GET request +// to the /2013-04-01/hostedzone resource. The response to this request includes +// a HostedZone child element for each hosted zone that was created by the current +// AWS account. // -// Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to -// a value greater than 100, Amazon Route 53 returns only the first 100. +// Amazon Route 53 returns a maximum of 100 items in each response. If you +// have a lot of hosted zones, you can use the maxitems parameter to list them +// in groups of up to 100. The response includes four values that help you navigate +// from one group of maxitems hosted zones to the next: +// +// MaxItems is the value that you specified for the maxitems parameter in +// the request that produced the current response. +// +// If the value of IsTruncated in the response is true, there are more hosted +// zones associated with the current AWS account. +// +// If IsTruncated is false, this response includes the last hosted zone that +// is associated with the current account. +// +// NextMarker is the hosted zone ID of the next hosted zone that is associated +// with the current AWS account. If you want to list more hosted zones, make +// another call to ListHostedZones, and specify the value of the NextMarker +// element in the marker parameter. +// +// If IsTruncated is false, the NextMarker element is omitted from the response. +// +// If you're making the second or subsequent call to ListHostedZones, the +// Marker element matches the value that you specified in the marker parameter +// in the previous request. type ListHostedZonesInput struct { _ struct{} `type:"structure"` DelegationSetId *string `location:"querystring" locationName:"delegationsetid" type:"string"` - // If the request returned more than one page of results, submit another request - // and specify the value of NextMarker from the last response in the marker - // parameter to get the next page of results. + // (Optional) If you have more hosted zones than the value of maxitems, ListHostedZones + // returns only the first maxitems hosted zones. To get the next group of maxitems + // hosted zones, submit another request to ListHostedZones. For the value of + // marker, specify the value of the NextMarker element that was returned in + // the previous response. + // + // Hosted zones are listed in the order in which they were created. Marker *string `location:"querystring" locationName:"marker" type:"string"` - // Specify the maximum number of hosted zones to return per page of results. + // (Optional) The maximum number of hosted zones to be included in the response + // body for this request. If you have more than maxitems hosted zones, the value + // of the IsTruncated element in the response is true, and the value of the + // NextMarker element is the hosted zone ID of the first hosted zone in the + // next group of maxitems hosted zones. MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"` } @@ -4867,36 +7867,40 @@ func (s ListHostedZonesInput) GoString() string { return s.String() } -// A complex type that contains the response for the request. type ListHostedZonesOutput struct { _ struct{} `type:"structure"` - // A complex type that contains information about the hosted zones associated - // with the current AWS account. + // A complex type that contains general information about the hosted zone. + // + // HostedZones is a required field HostedZones []*HostedZone `locationNameList:"HostedZone" type:"list" required:"true"` - // A flag indicating whether there are more hosted zones to be listed. If your - // results were truncated, you can make a follow-up request for the next page - // of results by using the Marker element. + // A flag indicating whether there are more hosted zones to be listed. If the + // response was truncated, you can get the next group of maxitems hosted zones + // by calling ListHostedZones again and specifying the value of the NextMarker + // element in the marker parameter. // - // Valid Values: true | false + // IsTruncated is a required field IsTruncated *bool `type:"boolean" required:"true"` - // If the request returned more than one page of results, submit another request - // and specify the value of NextMarker from the last response in the marker - // parameter to get the next page of results. + // For the second and subsequent calls to ListHostedZones, Marker is the value + // that you specified for the marker parameter in the request that produced + // the current response. + // + // Marker is a required field Marker *string `type:"string" required:"true"` - // The maximum number of hosted zones to be included in the response body. If - // the number of hosted zones associated with this AWS account exceeds MaxItems, - // the value of ListHostedZonesResponse$IsTruncated in the response is true. - // Call ListHostedZones again and specify the value of ListHostedZonesResponse$NextMarker - // in the ListHostedZonesRequest$Marker element to get the next page of results. + // The value that you specified for the maxitems parameter in the call to ListHostedZones + // that produced the current response. + // + // MaxItems is a required field MaxItems *string `type:"string" required:"true"` - // Indicates where to continue listing hosted zones. If ListHostedZonesResponse$IsTruncated - // is true, make another request to ListHostedZones and include the value of - // the NextMarker element in the Marker element to get the next page of results. + // If IsTruncated is true, the value of NextMarker identifies the first hosted + // zone in the next group of maxitems hosted zones. Call ListHostedZones again + // and specify the value of NextMarker in the marker parameter. + // + // This element is present only if IsTruncated is true. NextMarker *string `type:"string"` } @@ -4916,32 +7920,47 @@ type ListResourceRecordSetsInput struct { // The ID of the hosted zone that contains the resource record sets that you // want to get. + // + // HostedZoneId is a required field HostedZoneId *string `location:"uri" locationName:"Id" type:"string" required:"true"` - // The maximum number of records you want in the response body. + // (Optional) The maximum number of resource records sets to include in the + // response body for this request. If the response includes more than maxitems + // resource record sets, the value of the IsTruncated element in the response + // is true, and the values of the NextRecordName and NextRecordType elements + // in the response identify the first resource record set in the next group + // of maxitems resource record sets. MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"` // Weighted resource record sets only: If results were truncated for a given - // DNS name and type, specify the value of ListResourceRecordSetsResponse$NextRecordIdentifier - // from the previous response to get the next resource record set that has the - // current DNS name and type. + // DNS name and type, specify the value of NextRecordIdentifier from the previous + // response to get the next resource record set that has the current DNS name + // and type. StartRecordIdentifier *string `location:"querystring" locationName:"identifier" min:"1" type:"string"` // The first name in the lexicographic ordering of domain names that you want // the ListResourceRecordSets request to list. StartRecordName *string `location:"querystring" locationName:"name" type:"string"` - // The DNS type at which to begin the listing of resource record sets. + // The type of resource record set to begin the record listing from. + // + // Valid values for basic resource record sets: A | AAAA | CNAME | MX | NAPTR + // | NS | PTR | SOA | SPF | SRV | TXT + // + // Values for weighted, latency, geo, and failover resource record sets: A + // | AAAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT + // + // Values for alias resource record sets: // - // Valid values: A | AAAA | CNAME | MX | NS | PTR | SOA | SPF | SRV | TXT + // CloudFront distribution: A // - // Values for Weighted Resource Record Sets: A | AAAA | CNAME | TXT + // Elastic Beanstalk environment that has a regionalized subdomain: A // - // Values for Regional Resource Record Sets: A | AAAA | CNAME | TXT + // ELB load balancer: A | AAAA // - // Values for Alias Resource Record Sets: A | AAAA + // Amazon S3 bucket: A // - // Constraint: Specifying type without specifying name returns an InvalidInput + // Constraint: Specifying type without specifying name returns an InvalidInput // error. StartRecordType *string `location:"querystring" locationName:"type" type:"string" enum:"RRType"` } @@ -4972,40 +7991,40 @@ func (s *ListResourceRecordSetsInput) Validate() error { return nil } -// A complex type that contains information about the resource record sets that -// are returned by the request and information about the response. +// A complex type that contains list information for the resource record set. type ListResourceRecordSetsOutput struct { _ struct{} `type:"structure"` - // A flag that indicates whether there are more resource record sets to be listed. - // If your results were truncated, you can make a follow-up request for the - // next page of results by using the ListResourceRecordSetsResponse$NextRecordName - // element. + // A flag that indicates whether more resource record sets remain to be listed. + // If your results were truncated, you can make a follow-up pagination request + // by using the NextRecordName element. // - // Valid Values: true | false + // IsTruncated is a required field IsTruncated *bool `type:"boolean" required:"true"` - // The maximum number of records you requested. The maximum value of MaxItems - // is 100. + // The maximum number of records you requested. + // + // MaxItems is a required field MaxItems *string `type:"string" required:"true"` - // Weighted resource record sets only: If results were truncated for a given - // DNS name and type, the value of SetIdentifier for the next resource record - // set that has the current DNS name and type. + // Weighted, latency, geolocation, and failover resource record sets only: If + // results were truncated for a given DNS name and type, the value of SetIdentifier + // for the next resource record set that has the current DNS name and type. NextRecordIdentifier *string `min:"1" type:"string"` - // If the results were truncated, the name of the next record in the list. This - // element is present only if ListResourceRecordSetsResponse$IsTruncated is - // true. + // If the results were truncated, the name of the next record in the list. + // + // This element is present only if IsTruncated is true. NextRecordName *string `type:"string"` - // If the results were truncated, the type of the next record in the list. This - // element is present only if ListResourceRecordSetsResponse$IsTruncated is - // true. + // If the results were truncated, the type of the next record in the list. + // + // This element is present only if IsTruncated is true. NextRecordType *string `type:"string" enum:"RRType"` - // A complex type that contains information about the resource record sets that - // are returned by the request. + // Information about multiple resource record sets. + // + // ResourceRecordSets is a required field ResourceRecordSets []*ResourceRecordSet `locationNameList:"ResourceRecordSet" type:"list" required:"true"` } @@ -5020,8 +8039,8 @@ func (s ListResourceRecordSetsOutput) GoString() string { } // To retrieve a list of your reusable delegation sets, send a GET request to -// the /Route 53 API version/delegationset resource. The response to this request -// includes a DelegationSets element with zero or more DelegationSet child elements. +// the /2013-04-01/delegationset resource. The response to this request includes +// a DelegationSets element with zero or more DelegationSet child elements. // By default, the list of reusable delegation sets is displayed on a single // page. You can control the length of the page that is displayed by using the // MaxItems parameter. You can use the Marker parameter to control the delegation @@ -5032,13 +8051,13 @@ func (s ListResourceRecordSetsOutput) GoString() string { type ListReusableDelegationSetsInput struct { _ struct{} `type:"structure"` - // If the request returned more than one page of results, submit another request - // and specify the value of NextMarker from the last response in the marker - // parameter to get the next page of results. + // If you're making the second or subsequent call to ListReusableDelegationSets, + // the Marker element matches the value that you specified in the marker parameter + // in the previous request. Marker *string `location:"querystring" locationName:"marker" type:"string"` - // Specify the maximum number of reusable delegation sets to return per page - // of results. + // The value that you specified for the maxitems parameter in the request that + // produced the current response. MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"` } @@ -5052,38 +8071,42 @@ func (s ListReusableDelegationSetsInput) GoString() string { return s.String() } -// A complex type that contains the response for the request. +// A complex type that contains information about the reusable delegation sets +// that are associated with the current AWS account. type ListReusableDelegationSetsOutput struct { _ struct{} `type:"structure"` - // A complex type that contains information about the reusable delegation sets - // associated with the current AWS account. + // A complex type that contains one DelegationSet element for each reusable + // delegation set that was created by the current AWS account. + // + // DelegationSets is a required field DelegationSets []*DelegationSet `locationNameList:"DelegationSet" type:"list" required:"true"` - // A flag indicating whether there are more reusable delegation sets to be listed. - // If your results were truncated, you can make a follow-up request for the - // next page of results by using the Marker element. + // A flag that indicates whether there are more reusable delegation sets to + // be listed. If the response is truncated, you can get the next group of maxitems + // reusable delegation sets by calling ListReusableDelegationSets again and + // specifying the value of the NextMarker element in the marker parameter. // - // Valid Values: true | false + // IsTruncated is a required field IsTruncated *bool `type:"boolean" required:"true"` - // If the request returned more than one page of results, submit another request - // and specify the value of NextMarker from the last response in the marker - // parameter to get the next page of results. + // For the second and subsequent calls to ListReusableDelegationSets, Marker + // is the value that you specified for the marker parameter in the request that + // produced the current response. + // + // Marker is a required field Marker *string `type:"string" required:"true"` - // The maximum number of reusable delegation sets to be included in the response - // body. If the number of reusable delegation sets associated with this AWS - // account exceeds MaxItems, the value of ListReusablDelegationSetsResponse$IsTruncated - // in the response is true. Call ListReusableDelegationSets again and specify - // the value of ListReusableDelegationSetsResponse$NextMarker in the ListReusableDelegationSetsRequest$Marker - // element to get the next page of results. + // The value that you specified for the maxitems parameter in the call to ListReusableDelegationSets + // that produced the current response. + // + // MaxItems is a required field MaxItems *string `type:"string" required:"true"` - // Indicates where to continue listing reusable delegation sets. If ListReusableDelegationSetsResponse$IsTruncated - // is true, make another request to ListReusableDelegationSets and include the - // value of the NextMarker element in the Marker element to get the next page - // of results. + // If IsTruncated is true, the value of NextMarker identifies the first reusable + // delegation set in the next group of maxitems reusable delegation sets. Call + // ListReusableDelegationSets again and specify the value of NextMarker in the + // marker parameter. NextMarker *string `type:"string"` } @@ -5103,13 +8126,17 @@ type ListTagsForResourceInput struct { _ struct{} `type:"structure"` // The ID of the resource for which you want to retrieve tags. + // + // ResourceId is a required field ResourceId *string `location:"uri" locationName:"ResourceId" type:"string" required:"true"` // The type of the resource. // - // - The resource type for health checks is healthcheck. + // The resource type for health checks is healthcheck. // - // - The resource type for hosted zones is hostedzone. + // The resource type for hosted zones is hostedzone. + // + // ResourceType is a required field ResourceType *string `location:"uri" locationName:"ResourceType" type:"string" required:"true" enum:"TagResourceType"` } @@ -5139,11 +8166,14 @@ func (s *ListTagsForResourceInput) Validate() error { return nil } -// A complex type containing tags for the specified resource. +// A complex type that contains information about the health checks or hosted +// zones for which you want to list tags. type ListTagsForResourceOutput struct { _ struct{} `type:"structure"` // A ResourceTagSet containing tags associated with the specified resource. + // + // ResourceTagSet is a required field ResourceTagSet *ResourceTagSet `type:"structure" required:"true"` } @@ -5157,20 +8187,24 @@ func (s ListTagsForResourceOutput) GoString() string { return s.String() } -// A complex type containing information about a request for a list of the tags -// that are associated with up to 10 specified resources. +// A complex type that contains information about the health checks or hosted +// zones for which you want to list tags. type ListTagsForResourcesInput struct { _ struct{} `locationName:"ListTagsForResourcesRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"` // A complex type that contains the ResourceId element for each resource for // which you want to get a list of tags. + // + // ResourceIds is a required field ResourceIds []*string `locationNameList:"ResourceId" min:"1" type:"list" required:"true"` // The type of the resources. // - // - The resource type for health checks is healthcheck. + // The resource type for health checks is healthcheck. // - // - The resource type for hosted zones is hostedzone. + // The resource type for hosted zones is hostedzone. + // + // ResourceType is a required field ResourceType *string `location:"uri" locationName:"ResourceType" type:"string" required:"true" enum:"TagResourceType"` } @@ -5208,6 +8242,8 @@ type ListTagsForResourcesOutput struct { _ struct{} `type:"structure"` // A list of ResourceTagSets containing tags associated with the specified resources. + // + // ResourceTagSets is a required field ResourceTagSets []*ResourceTagSet `locationNameList:"ResourceTagSet" type:"list" required:"true"` } @@ -5226,15 +8262,15 @@ func (s ListTagsForResourcesOutput) GoString() string { type ListTrafficPoliciesInput struct { _ struct{} `type:"structure"` - // The maximum number of traffic policies to be included in the response body - // for this request. If you have more than MaxItems traffic policies, the value - // of the IsTruncated element in the response is true, and the value of the - // TrafficPolicyIdMarker element is the ID of the first traffic policy in the - // next group of MaxItems traffic policies. + // (Optional) The maximum number of traffic policies to be included in the response + // body for this request. If you have more than MaxItems traffic policies, the + // value of the IsTruncated element in the response is true, and the value of + // the TrafficPolicyIdMarker element is the ID of the first traffic policy in + // the next group of MaxItems traffic policies. MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"` - // For your first request to ListTrafficPolicies, do not include the TrafficPolicyIdMarker - // parameter. + // (Conditional) For your first request to ListTrafficPolicies, do not include + // the TrafficPolicyIdMarker parameter. // // If you have more traffic policies than the value of MaxItems, ListTrafficPolicies // returns only the first MaxItems traffic policies. To get the next group of @@ -5266,18 +8302,26 @@ type ListTrafficPoliciesOutput struct { // the TrafficPolicyIdMarker element in the TrafficPolicyIdMarker request parameter. // // Valid Values: true | false + // + // IsTruncated is a required field IsTruncated *bool `type:"boolean" required:"true"` // The value that you specified for the MaxItems parameter in the call to ListTrafficPolicies // that produced the current response. + // + // MaxItems is a required field MaxItems *string `type:"string" required:"true"` // If the value of IsTruncated is true, TrafficPolicyIdMarker is the ID of the // first traffic policy in the next group of MaxItems traffic policies. + // + // TrafficPolicyIdMarker is a required field TrafficPolicyIdMarker *string `type:"string" required:"true"` // A list that contains one TrafficPolicySummary element for each traffic policy // that was created by the current AWS account. + // + // TrafficPolicySummaries is a required field TrafficPolicySummaries []*TrafficPolicySummary `locationNameList:"TrafficPolicySummary" type:"list" required:"true"` } @@ -5297,6 +8341,8 @@ type ListTrafficPolicyInstancesByHostedZoneInput struct { _ struct{} `type:"structure"` // The ID of the hosted zone for which you want to list traffic policy instances. + // + // HostedZoneId is a required field HostedZoneId *string `location:"querystring" locationName:"id" type:"string" required:"true"` // The maximum number of traffic policy instances to be included in the response @@ -5367,11 +8413,13 @@ type ListTrafficPolicyInstancesByHostedZoneOutput struct { // and TrafficPolicyInstanceTypeMarker elements in the corresponding request // parameters. // - // Valid Values: true | false + // IsTruncated is a required field IsTruncated *bool `type:"boolean" required:"true"` // The value that you specified for the MaxItems parameter in the call to ListTrafficPolicyInstancesByHostedZone // that produced the current response. + // + // MaxItems is a required field MaxItems *string `type:"string" required:"true"` // If IsTruncated is true, TrafficPolicyInstanceNameMarker is the name of the @@ -5386,6 +8434,8 @@ type ListTrafficPolicyInstancesByHostedZoneOutput struct { // A list that contains one TrafficPolicyInstance element for each traffic policy // instance that matches the elements in the request. + // + // TrafficPolicyInstances is a required field TrafficPolicyInstances []*TrafficPolicyInstance `locationNameList:"TrafficPolicyInstance" type:"list" required:"true"` } @@ -5426,6 +8476,8 @@ type ListTrafficPolicyInstancesByPolicyInput struct { MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"` // The ID of the traffic policy for which you want to list traffic policy instances. + // + // TrafficPolicyId is a required field TrafficPolicyId *string `location:"querystring" locationName:"id" type:"string" required:"true"` // For the first request to ListTrafficPolicyInstancesByPolicy, omit this value. @@ -5454,6 +8506,8 @@ type ListTrafficPolicyInstancesByPolicyInput struct { // The version of the traffic policy for which you want to list traffic policy // instances. The version must be associated with the traffic policy that is // specified by TrafficPolicyId. + // + // TrafficPolicyVersion is a required field TrafficPolicyVersion *int64 `location:"querystring" locationName:"version" min:"1" type:"integer" required:"true"` } @@ -5502,11 +8556,13 @@ type ListTrafficPolicyInstancesByPolicyOutput struct { // and TrafficPolicyInstanceTypeMarker elements in the corresponding request // parameters. // - // Valid Values: true | false + // IsTruncated is a required field IsTruncated *bool `type:"boolean" required:"true"` // The value that you specified for the MaxItems parameter in the call to ListTrafficPolicyInstancesByPolicy // that produced the current response. + // + // MaxItems is a required field MaxItems *string `type:"string" required:"true"` // If IsTruncated is true, TrafficPolicyInstanceNameMarker is the name of the @@ -5521,6 +8577,8 @@ type ListTrafficPolicyInstancesByPolicyOutput struct { // A list that contains one TrafficPolicyInstance element for each traffic policy // instance that matches the elements in the request. + // + // TrafficPolicyInstances is a required field TrafficPolicyInstances []*TrafficPolicyInstance `locationNameList:"TrafficPolicyInstance" type:"list" required:"true"` } @@ -5607,11 +8665,13 @@ type ListTrafficPolicyInstancesOutput struct { // and TrafficPolicyInstanceTypeMarker elements in the corresponding request // parameters. // - // Valid Values: true | false + // IsTruncated is a required field IsTruncated *bool `type:"boolean" required:"true"` // The value that you specified for the MaxItems parameter in the call to ListTrafficPolicyInstances // that produced the current response. + // + // MaxItems is a required field MaxItems *string `type:"string" required:"true"` // If IsTruncated is true, TrafficPolicyInstanceNameMarker is the name of the @@ -5626,6 +8686,8 @@ type ListTrafficPolicyInstancesOutput struct { // A list that contains one TrafficPolicyInstance element for each traffic policy // instance that matches the elements in the request. + // + // TrafficPolicyInstances is a required field TrafficPolicyInstances []*TrafficPolicyInstance `locationNameList:"TrafficPolicyInstance" type:"list" required:"true"` } @@ -5646,6 +8708,8 @@ type ListTrafficPolicyVersionsInput struct { // Specify the value of Id of the traffic policy for which you want to list // all versions. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` // The maximum number of traffic policy versions that you want Amazon Route @@ -5701,15 +8765,19 @@ type ListTrafficPolicyVersionsOutput struct { // policies by calling ListTrafficPolicyVersions again and specifying the value // of the NextMarker element in the marker parameter. // - // Valid Values: true | false + // IsTruncated is a required field IsTruncated *bool `type:"boolean" required:"true"` // The value that you specified for the maxitems parameter in the call to ListTrafficPolicyVersions // that produced the current response. + // + // MaxItems is a required field MaxItems *string `type:"string" required:"true"` // A list that contains one TrafficPolicy element for each traffic policy version // that is associated with the specified traffic policy. + // + // TrafficPolicies is a required field TrafficPolicies []*TrafficPolicy `locationNameList:"TrafficPolicy" type:"list" required:"true"` // If IsTruncated is true, the value of TrafficPolicyVersionMarker identifies @@ -5718,6 +8786,8 @@ type ListTrafficPolicyVersionsOutput struct { // in the TrafficPolicyVersionMarker request parameter. // // This element is present only if IsTruncated is true. + // + // TrafficPolicyVersionMarker is a required field TrafficPolicyVersionMarker *string `type:"string" required:"true"` } @@ -5731,19 +8801,24 @@ func (s ListTrafficPolicyVersionsOutput) GoString() string { return s.String() } -// A complex type that contains the value of the Value element for the current -// resource record set. +// Information specific to the resource record. +// +// If you are creating an alias resource record set, omit ResourceRecord. type ResourceRecord struct { _ struct{} `type:"structure"` // The current or new DNS record value, not to exceed 4,000 characters. In the // case of a DELETE action, if the current value does not match the actual value, // an error is returned. For descriptions about how to format Value for different - // record types, see Supported DNS Resource Record Types (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) + // record types, see Supported DNS Resource Record Types (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DeveloperGuide/ResourceRecordTypes.html) // in the Amazon Route 53 Developer Guide. // // You can specify more than one value for all record types except CNAME and // SOA. + // + // If you are creating an alias resource record set, omit Value. + // + // Value is a required field Value *string `type:"string" required:"true"` } @@ -5770,13 +8845,27 @@ func (s *ResourceRecord) Validate() error { return nil } -// A complex type that contains information about the current resource record -// set. +// Information about the resource record set to create or delete. type ResourceRecordSet struct { _ struct{} `type:"structure"` - // Alias resource record sets only: Information about the AWS resource to which - // you are redirecting traffic. + // Alias resource record sets only: Information about the CloudFront distribution, + // Elastic Beanstalk environment, ELB load balancer, Amazon S3 bucket, or Amazon + // Route 53 resource record set to which you are redirecting queries. The Elastic + // Beanstalk environment must have a regionalized subdomain. + // + // If you're creating resource records sets for a private hosted zone, note + // the following: + // + // You can't create alias resource record sets for CloudFront distributions + // in a private hosted zone. + // + // Creating geolocation alias resource record sets or latency alias resource + // record sets in a private hosted zone is unsupported. + // + // For information about creating failover resource record sets in a private + // hosted zone, see Configuring Failover in a Private Hosted Zone (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) + // in the Amazon Route 53 Developer Guide. AliasTarget *AliasTarget `type:"structure"` // Failover resource record sets only: To configure failover, you add the Failover @@ -5786,74 +8875,148 @@ type ResourceRecordSet struct { // specify the health check that you want Amazon Route 53 to perform for each // resource record set. // - // You can create failover and failover alias resource record sets only in - // public hosted zones. Except where noted, the following failover behaviors - // assume that you have included the HealthCheckId element in both resource - // record sets: + // Except where noted, the following failover behaviors assume that you have + // included the HealthCheckId element in both resource record sets: + // + // When the primary resource record set is healthy, Amazon Route 53 responds + // to DNS queries with the applicable value from the primary resource record + // set regardless of the health of the secondary resource record set. + // + // When the primary resource record set is unhealthy and the secondary resource + // record set is healthy, Amazon Route 53 responds to DNS queries with the applicable + // value from the secondary resource record set. // - // When the primary resource record set is healthy, Amazon Route 53 responds + // When the secondary resource record set is unhealthy, Amazon Route 53 responds // to DNS queries with the applicable value from the primary resource record - // set regardless of the health of the secondary resource record set. When the - // primary resource record set is unhealthy and the secondary resource record - // set is healthy, Amazon Route 53 responds to DNS queries with the applicable - // value from the secondary resource record set. When the secondary resource - // record set is unhealthy, Amazon Route 53 responds to DNS queries with the - // applicable value from the primary resource record set regardless of the health - // of the primary resource record set. If you omit the HealthCheckId element - // for the secondary resource record set, and if the primary resource record - // set is unhealthy, Amazon Route 53 always responds to DNS queries with the - // applicable value from the secondary resource record set. This is true regardless - // of the health of the associated endpoint. You cannot create non-failover - // resource record sets that have the same values for the Name and Type elements - // as failover resource record sets. + // set regardless of the health of the primary resource record set. + // + // If you omit the HealthCheckId element for the secondary resource record + // set, and if the primary resource record set is unhealthy, Amazon Route 53 + // always responds to DNS queries with the applicable value from the secondary + // resource record set. This is true regardless of the health of the associated + // endpoint. + // + // You cannot create non-failover resource record sets that have the same + // values for the Name and Type elements as failover resource record sets. // // For failover alias resource record sets, you must also include the EvaluateTargetHealth // element and set the value to true. // // For more information about configuring failover for Amazon Route 53, see - // Amazon Route 53 Health Checks and DNS Failover (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) - // in the Amazon Route 53 Developer Guide. + // the following topics in the Amazon Route 53 Developer Guide: + // + // Amazon Route 53 Health Checks and DNS Failover (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) + // + // Configuring Failover in a Private Hosted Zone (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) + // + // Valid values: PRIMARY | SECONDARY + Failover *string `type:"string" enum:"ResourceRecordSetFailover"` + + // Geo location resource record sets only: A complex type that lets you control + // how Amazon Route 53 responds to DNS queries based on the geographic origin + // of the query. For example, if you want all queries from Africa to be routed + // to a web server with an IP address of 192.0.2.111, create a resource record + // set with a Type of A and a ContinentCode of AF. + // + // Creating geolocation and geolocation alias resource record sets in private + // hosted zones is not supported. + // + // If you create separate resource record sets for overlapping geographic + // regions (for example, one resource record set for a continent and one for + // a country on the same continent), priority goes to the smallest geographic + // region. This allows you to route most queries for a continent to one resource + // and to route queries for a country on that continent to a different resource. + // + // You cannot create two geolocation resource record sets that specify the + // same geographic location. + // + // The value * in the CountryCode element matches all geographic locations + // that aren't specified in other geolocation resource record sets that have + // the same values for the Name and Type elements. + // + // Geolocation works by mapping IP addresses to locations. However, some IP + // addresses aren't mapped to geographic locations, so even if you create geolocation + // resource record sets that cover all seven continents, Amazon Route 53 will + // receive some DNS queries from locations that it can't identify. We recommend + // that you create a resource record set for which the value of CountryCode + // is *, which handles both queries that come from locations for which you haven't + // created geolocation resource record sets and queries from IP addresses that + // aren't mapped to a location. If you don't create a * resource record set, + // Amazon Route 53 returns a "no answer" response for queries from those locations. + // + // You cannot create non-geolocation resource record sets that have the same + // values for the Name and Type elements as geolocation resource record sets. + GeoLocation *GeoLocation `type:"structure"` + + // If you want Amazon Route 53 to return this resource record set in response + // to a DNS query only when a health check is passing, include the HealthCheckId + // element and specify the ID of the applicable health check. + // + // Amazon Route 53 determines whether a resource record set is healthy based + // on one of the following: + // + // By periodically sending a request to the endpoint that is specified in + // the health check + // + // By aggregating the status of a specified group of health checks (calculated + // health checks) + // + // By determining the current state of a CloudWatch alarm (CloudWatch metric + // health checks) + // + // For information about how Amazon Route 53 determines whether a health + // check is healthy, see CreateHealthCheck. + // + // The HealthCheckId element is only useful when Amazon Route 53 is choosing + // between two or more resource record sets to respond to a DNS query, and you + // want Amazon Route 53 to base the choice in part on the status of a health + // check. Configuring health checks only makes sense in the following configurations: + // + // You're checking the health of the resource record sets in a weighted, + // latency, geolocation, or failover resource record set, and you specify health + // check IDs for all of the resource record sets. If the health check for one + // resource record set specifies an endpoint that is not healthy, Amazon Route + // 53 stops responding to queries using the value for that resource record set. + // + // You set EvaluateTargetHealth to true for the resource record sets in an + // alias, weighted alias, latency alias, geolocation alias, or failover alias + // resource record set, and you specify health check IDs for all of the resource + // record sets that are referenced by the alias resource record sets. + // + // Amazon Route 53 doesn't check the health of the endpoint specified in + // the resource record set, for example, the endpoint specified by the IP address + // in the Value element. When you add a HealthCheckId element to a resource + // record set, Amazon Route 53 checks the health of the endpoint that you specified + // in the health check. + // + // For geolocation resource record sets, if an endpoint is unhealthy, Amazon + // Route 53 looks for a resource record set for the larger, associated geographic + // region. For example, suppose you have resource record sets for a state in + // the United States, for the United States, for North America, and for all + // locations. If the endpoint for the state resource record set is unhealthy, + // Amazon Route 53 checks the resource record sets for the United States, for + // North America, and for all locations (a resource record set for which the + // value of CountryCode is *), in that order, until it finds a resource record + // set for which the endpoint is healthy. // - // Valid values: PRIMARY | SECONDARY - Failover *string `type:"string" enum:"ResourceRecordSetFailover"` - - // Geo location resource record sets only: A complex type that lets you control - // how Amazon Route 53 responds to DNS queries based on the geographic origin - // of the query. For example, if you want all queries from Africa to be routed - // to a web server with an IP address of 192.0.2.111, create a resource record - // set with a Type of A and a ContinentCode of AF. + // If your health checks specify the endpoint only by domain name, we recommend + // that you create a separate health check for each endpoint. For example, create + // a health check for each HTTP server that is serving content for www.example.com. + // For the value of FullyQualifiedDomainName, specify the domain name of the + // server (such as us-east-1-www.example.com), not the name of the resource + // record sets (example.com). // - // You can create geolocation and geolocation alias resource record sets only - // in public hosted zones. If you create separate resource record sets for overlapping - // geographic regions (for example, one resource record set for a continent - // and one for a country on the same continent), priority goes to the smallest - // geographic region. This allows you to route most queries for a continent - // to one resource and to route queries for a country on that continent to a - // different resource. + // n this configuration, if you create a health check for which the value + // of FullyQualifiedDomainName matches the name of the resource record sets + // and then associate the health check with those resource record sets, health + // check results will be unpredictable. // - // You cannot create two geolocation resource record sets that specify the - // same geographic location. + // For more informaiton, see the following topics in the Amazon Route 53 Developer + // Guide: // - // The value * in the CountryCode element matches all geographic locations - // that aren't specified in other geolocation resource record sets that have - // the same values for the Name and Type elements. + // Amazon Route 53 Health Checks and DNS Failover (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) // - // Geolocation works by mapping IP addresses to locations. However, some IP - // addresses aren't mapped to geographic locations, so even if you create geolocation - // resource record sets that cover all seven continents, Amazon Route 53 will - // receive some DNS queries from locations that it can't identify. We recommend - // that you create a resource record set for which the value of CountryCode - // is *, which handles both queries that come from locations for which you haven't - // created geolocation resource record sets and queries from IP addresses that - // aren't mapped to a location. If you don't create a * resource record set, - // Amazon Route 53 returns a "no answer" response for queries from those locations. - // You cannot create non-geolocation resource record sets that have the same - // values for the Name and Type elements as geolocation resource record sets. - GeoLocation *GeoLocation `type:"structure"` - - // Health Check resource record sets only, not required for alias resource record - // sets: An identifier that is used to identify health check associated with - // the resource record set. + // Configuring Failover in a Private Hosted Zone (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) HealthCheckId *string `type:"string"` // The name of the domain you want to perform the action on. @@ -5869,14 +9032,26 @@ type ResourceRecordSet struct { // Name Format (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html) // in the Amazon Route 53 Developer Guide. // - // You can use an asterisk (*) character in the name. DNS treats the * character - // either as a wildcard or as the * character (ASCII 42), depending on where - // it appears in the name. For more information, see Using an Asterisk (*) in - // the Names of Hosted Zones and Resource Record Sets (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html#domain-name-format-asterisk) - // in the Amazon Route 53 Developer Guide + // You can use the asterisk (*) wildcard to replace the leftmost label in a + // domain name. For example, *.example.com. Note the following: + // + // The * must replace the entire label. For example, you can't specify *prod.example.com + // or prod*.example.com. // - // You can't use the * wildcard for resource records sets that have a type + // The * can't replace any of the middle labels, for example, marketing.*.example.com. + // + // If you include * in any position other than the leftmost label in a domain + // name, DNS treats it as an * character (ASCII 42), not as a wildcard. + // + // You can't use the * wildcard for resource records sets that have a type // of NS. + // + // You can use the * wildcard as the leftmost label in a domain name, for + // example, *.example.com. You cannot use an * for one of the middle labels, + // for example, marketing.*.example.com. In addition, the * must replace the + // entire label; for example, you can't specify prod*.example.com. + // + // Name is a required field Name *string `type:"string" required:"true"` // Latency-based resource record sets only: The Amazon EC2 region where the @@ -5885,50 +9060,60 @@ type ResourceRecordSet struct { // balancer, and is referred to by an IP address or a DNS domain name, depending // on the record type. // - // You can create latency and latency alias resource record sets only in public - // hosted zones. When Amazon Route 53 receives a DNS query for a domain name - // and type for which you have created latency resource record sets, Amazon - // Route 53 selects the latency resource record set that has the lowest latency - // between the end user and the associated Amazon EC2 region. Amazon Route 53 - // then returns the value that is associated with the selected resource record - // set. + // Creating latency and latency alias resource record sets in private hosted + // zones is not supported. + // + // When Amazon Route 53 receives a DNS query for a domain name and type for + // which you have created latency resource record sets, Amazon Route 53 selects + // the latency resource record set that has the lowest latency between the end + // user and the associated Amazon EC2 region. Amazon Route 53 then returns the + // value that is associated with the selected resource record set. // // Note the following: // - // You can only specify one ResourceRecord per latency resource record set. - // You can only create one latency resource record set for each Amazon EC2 region. - // You are not required to create latency resource record sets for all Amazon + // You can only specify one ResourceRecord per latency resource record set. + // + // You can only create one latency resource record set for each Amazon EC2 + // region. + // + // You are not required to create latency resource record sets for all Amazon // EC2 regions. Amazon Route 53 will choose the region with the best latency // from among the regions for which you create latency resource record sets. - // You cannot create non-latency resource record sets that have the same values - // for the Name and Type elements as latency resource record sets. + // + // You cannot create non-latency resource record sets that have the same + // values for the Name and Type elements as latency resource record sets. Region *string `min:"1" type:"string" enum:"ResourceRecordSetRegion"` - // A complex type that contains the resource records for the current resource - // record set. + // Information about the resource records to act upon. + // + // If you are creating an alias resource record set, omit ResourceRecords. ResourceRecords []*ResourceRecord `locationNameList:"ResourceRecord" min:"1" type:"list"` // Weighted, Latency, Geo, and Failover resource record sets only: An identifier // that differentiates among multiple resource record sets that have the same // combination of DNS name and type. The value of SetIdentifier must be unique // for each resource record set that has the same combination of DNS name and - // type. + // type. Omit SetIdentifier for any other types of record sets. SetIdentifier *string `min:"1" type:"string"` - // The cache time to live for the current resource record set. Note the following: - // - // If you're creating an alias resource record set, omit TTL. Amazon Route - // 53 uses the value of TTL for the alias target. If you're associating this - // resource record set with a health check (if you're adding a HealthCheckId - // element), we recommend that you specify a TTL of 60 seconds or less so clients - // respond quickly to changes in health status. All of the resource record sets - // in a group of weighted, latency, geolocation, or failover resource record - // sets must have the same value for TTL. If a group of weighted resource record - // sets includes one or more weighted alias resource record sets for which the - // alias target is an ELB load balancer, we recommend that you specify a TTL - // of 60 seconds for all of the non-alias weighted resource record sets that - // have the same name and type. Values other than 60 seconds (the TTL for load - // balancers) will change the effect of the values that you specify for Weight. + // The resource record cache time to live (TTL), in seconds. Note the following: + // + // If you're creating an alias resource record set, omit TTL. Amazon Route + // 53 uses the value of TTL for the alias target. + // + // If you're associating this resource record set with a health check (if + // you're adding a HealthCheckId element), we recommend that you specify a TTL + // of 60 seconds or less so clients respond quickly to changes in health status. + // + // All of the resource record sets in a group of weighted, latency, geolocation, + // or failover resource record sets must have the same value for TTL. + // + // If a group of weighted resource record sets includes one or more weighted + // alias resource record sets for which the alias target is an ELB load balancer, + // we recommend that you specify a TTL of 60 seconds for all of the non-alias + // weighted resource record sets that have the same name and type. Values other + // than 60 seconds (the TTL for load balancers) will change the effect of the + // values that you specify for Weight. TTL *int64 `type:"long"` TrafficPolicyInstanceId *string `type:"string"` @@ -5937,28 +9122,38 @@ type ResourceRecordSet struct { // data is encoded for them, see Supported DNS Resource Record Types (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) // in the Amazon Route 53 Developer Guide. // - // Valid values for basic resource record sets: A | AAAA | CNAME | MX | NS - // | PTR | SOA | SPF | SRV | TXT + // Valid values for basic resource record sets: A | AAAA | CNAME | MX | NAPTR + // | NS | PTR | SOA | SPF | SRV | TXT // // Values for weighted, latency, geolocation, and failover resource record - // sets: A | AAAA | CNAME | MX | PTR | SPF | SRV | TXT. When creating a group - // of weighted, latency, geolocation, or failover resource record sets, specify - // the same value for all of the resource record sets in the group. + // sets: A | AAAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT. When creating + // a group of weighted, latency, geolocation, or failover resource record sets, + // specify the same value for all of the resource record sets in the group. // - // SPF records were formerly used to verify the identity of the sender of email - // messages. However, we no longer recommend that you create resource record - // sets for which the value of Type is SPF. RFC 7208, Sender Policy Framework + // SPF records were formerly used to verify the identity of the sender of + // email messages. However, we no longer recommend that you create resource + // record sets for which the value of Type is SPF. RFC 7208, Sender Policy Framework // (SPF) for Authorizing Use of Domains in Email, Version 1, has been updated // to say, "...[I]ts existence and mechanism defined in [RFC4408] have led to // some interoperability issues. Accordingly, its use is no longer appropriate // for SPF version 1; implementations are not to use it." In RFC 7208, see section // 14.1, The SPF DNS Record Type (http://tools.ietf.org/html/rfc7208#section-14.1). - // Values for alias resource record sets: // - // CloudFront distributions: A ELB load balancers: A | AAAA Amazon S3 buckets: - // A Another resource record set in this hosted zone: Specify the type of the - // resource record set for which you're creating the alias. Specify any value - // except NS or SOA. + // Values for alias resource record sets: + // + // CloudFront distributions: A + // + // Elastic Beanstalk environment that has a regionalized subdomain: A + // + // ELB load balancers: A | AAAA + // + // Amazon S3 buckets: A + // + // Another resource record set in this hosted zone: Specify the type of + // the resource record set for which you're creating the alias. Specify any + // value except NS or SOA. + // + // Type is a required field Type *string `type:"string" required:"true" enum:"RRType"` // Weighted resource record sets only: Among resource record sets that have @@ -5969,17 +9164,23 @@ type ResourceRecordSet struct { // 53 then responds to queries based on the ratio of a resource's weight to // the total. Note the following: // - // You must specify a value for the Weight element for every weighted resource - // record set. You can only specify one ResourceRecord per weighted resource - // record set. You cannot create latency, failover, or geolocation resource - // record sets that have the same values for the Name and Type elements as weighted - // resource record sets. You can create a maximum of 100 weighted resource record - // sets that have the same values for the Name and Type elements. For weighted - // (but not weighted alias) resource record sets, if you set Weight to 0 for - // a resource record set, Amazon Route 53 never responds to queries with the - // applicable value for that resource record set. However, if you set Weight - // to 0 for all resource record sets that have the same combination of DNS name - // and type, traffic is routed to all resources with equal probability. + // You must specify a value for the Weight element for every weighted resource + // record set. + // + // You can only specify one ResourceRecord per weighted resource record set. + // + // You cannot create latency, failover, or geolocation resource record sets + // that have the same values for the Name and Type elements as weighted resource + // record sets. + // + // You can create a maximum of 100 weighted resource record sets that have + // the same values for the Name and Type elements. + // + // For weighted (but not weighted alias) resource record sets, if you set + // Weight to 0 for a resource record set, Amazon Route 53 never responds to + // queries with the applicable value for that resource record set. However, + // if you set Weight to 0 for all resource record sets that have the same combination + // of DNS name and type, traffic is routed to all resources with equal probability. // // The effect of setting Weight to 0 is different when you associate health // checks with weighted resource record sets. For more information, see Options @@ -6053,9 +9254,9 @@ type ResourceTagSet struct { // The type of the resource. // - // - The resource type for health checks is healthcheck. + // The resource type for health checks is healthcheck. // - // - The resource type for hosted zones is hostedzone. + // The resource type for hosted zones is hostedzone. ResourceType *string `type:"string" enum:"TagResourceType"` // The tags associated with the specified resource. @@ -6072,18 +9273,19 @@ func (s ResourceTagSet) GoString() string { return s.String() } -// A complex type that contains information about the health check status for -// the current observation. +// A complex type that contains the status that one Amazon Route 53 health checker +// reports and the time of the health check. type StatusReport struct { _ struct{} `type:"structure"` - // The date and time the health check status was observed, in the format YYYY-MM-DDThh:mm:ssZ, - // as specified in the ISO 8601 standard (for example, 2009-11-19T19:37:58Z). - // The Z after the time indicates that the time is listed in Coordinated Universal - // Time (UTC). + // The time at which the health checker performed the health check in ISO 8601 + // format (https://en.wikipedia.org/wiki/ISO_8601) and Coordinated Universal + // Time (UTC). For example, the value 2014-10-27T17:48:16.751Z represents October + // 27, 2014 at 17:48:16.751 UTC. CheckedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"` - // The observed health check status. + // A description of the status of the health check endpoint as reported by one + // of the Amazon Route 53 health checkers. Status *string `type:"string"` } @@ -6097,14 +9299,32 @@ func (s StatusReport) GoString() string { return s.String() } -// A single tag containing a key and value. +// A complex type that contains information about a tag that you want to add +// or edit for the specified health check or hosted zone. type Tag struct { _ struct{} `type:"structure"` - // The key for a Tag. + // The value of Key depends on the operation that you want to perform: + // + // Add a tag to a health check or hosted zone: Key is the name that you + // want to give the new tag. + // + // Edit a tag: Key is the name of the tag whose Value element you want to + // remove. + // + // Delete a key: Key is the name of the tag you want to remove. + // + // Give a name to a health check: Edit the default Name tag. In the Amazon + // Route 53 console, the list of your health checks includes a Name column that + // lets you see the name that you've given to each health check. Key *string `type:"string"` - // The value for a Tag. + // The value of Value depends on the operation that you want to perform: + // + // Add a tag to a health check or hosted zone: Value is the value that you + // want to give the new tag. + // + // Edit a tag: Value is the new value that you want to assign the tag. Value *string `type:"string"` } @@ -6118,19 +9338,152 @@ func (s Tag) GoString() string { return s.String() } +// Gets the value that Amazon Route 53 returns in response to a DNS request +// for a specified record name and type. You can optionally specify the IP address +// of a DNS resolver, an EDNS0 client subnet IP address, and a subnet mask. +// +// Parameters +// +// hostedzoneid The ID of the hosted zone that you want Amazon Route 53 to +// simulate a query for. +// +// recordname The name of the resource record set that you want Amazon Route +// 53 to simulate a query for. +// +// recordtype The type of the resource record set. +// +// resolverip (optional) If you want to simulate a request from a specific +// DNS resolver, specify the IP address for that resolver. If you omit this +// value, TestDNSAnswer uses the IP address of a DNS resolver in the AWS US +// East region. +// +// edns0clientsubnetip (optional) If the resolver that you specified for +// resolverip supports EDNS0, specify the IP address of a client in the applicable +// location. +// +// edns0clientsubnetmask (optional) If you specify an IP address for edns0clientsubnetip, +// you can optionally specify the number of bits of the IP address that you +// want the checking tool to include in the DNS query. For example, if you specify +// 192.0.2.44 for edns0clientsubnetip and 24 for edns0clientsubnetmask, the +// checking tool will simulate a request from 192.0.2.0/24. The default value +// is 24 bits. +type TestDNSAnswerInput struct { + _ struct{} `type:"structure"` + + EDNS0ClientSubnetIP *string `location:"querystring" locationName:"edns0clientsubnetip" type:"string"` + + EDNS0ClientSubnetMask *string `location:"querystring" locationName:"edns0clientsubnetmask" type:"string"` + + // HostedZoneId is a required field + HostedZoneId *string `location:"querystring" locationName:"hostedzoneid" type:"string" required:"true"` + + // RecordName is a required field + RecordName *string `location:"querystring" locationName:"recordname" type:"string" required:"true"` + + // RecordType is a required field + RecordType *string `location:"querystring" locationName:"recordtype" type:"string" required:"true" enum:"RRType"` + + ResolverIP *string `location:"querystring" locationName:"resolverip" type:"string"` +} + +// String returns the string representation +func (s TestDNSAnswerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TestDNSAnswerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TestDNSAnswerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TestDNSAnswerInput"} + if s.HostedZoneId == nil { + invalidParams.Add(request.NewErrParamRequired("HostedZoneId")) + } + if s.RecordName == nil { + invalidParams.Add(request.NewErrParamRequired("RecordName")) + } + if s.RecordType == nil { + invalidParams.Add(request.NewErrParamRequired("RecordType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// A complex type that contains the response to a TestDNSAnswer request. +type TestDNSAnswerOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Route 53 name server used to respond to the request. + // + // Nameserver is a required field + Nameserver *string `type:"string" required:"true"` + + // The protocol that Amazon Route 53 used to respond to the request, either + // UDP or TCP. + // + // Protocol is a required field + Protocol *string `type:"string" required:"true"` + + // A list that contains values that Amazon Route 53 returned for this resource + // record set. + // + // RecordData is a required field + RecordData []*string `locationNameList:"RecordDataEntry" type:"list" required:"true"` + + // The name of the resource record set that you submitted a request for. + // + // RecordName is a required field + RecordName *string `type:"string" required:"true"` + + // The type of the resource record set that you submitted a request for. + // + // RecordType is a required field + RecordType *string `type:"string" required:"true" enum:"RRType"` + + // A code that indicates whether the request is valid or not. The most common + // response code is NOERROR, meaning that the request is valid. If the response + // is not valid, Amazon Route 53 returns a response code that describes the + // error. For a list of possible response codes, see DNS RCODES (http://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-6) + // on the IANA website. + // + // ResponseCode is a required field + ResponseCode *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s TestDNSAnswerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TestDNSAnswerOutput) GoString() string { + return s.String() +} + type TrafficPolicy struct { _ struct{} `type:"structure"` Comment *string `type:"string"` + // Document is a required field Document *string `type:"string" required:"true"` + // Id is a required field Id *string `type:"string" required:"true"` + // Name is a required field Name *string `type:"string" required:"true"` + // Type is a required field Type *string `type:"string" required:"true" enum:"RRType"` + // Version is a required field Version *int64 `min:"1" type:"integer" required:"true"` } @@ -6147,22 +9500,31 @@ func (s TrafficPolicy) GoString() string { type TrafficPolicyInstance struct { _ struct{} `type:"structure"` + // HostedZoneId is a required field HostedZoneId *string `type:"string" required:"true"` + // Id is a required field Id *string `type:"string" required:"true"` + // Message is a required field Message *string `type:"string" required:"true"` + // Name is a required field Name *string `type:"string" required:"true"` + // State is a required field State *string `type:"string" required:"true"` + // TTL is a required field TTL *int64 `type:"long" required:"true"` + // TrafficPolicyId is a required field TrafficPolicyId *string `type:"string" required:"true"` + // TrafficPolicyType is a required field TrafficPolicyType *string `type:"string" required:"true" enum:"RRType"` + // TrafficPolicyVersion is a required field TrafficPolicyVersion *int64 `min:"1" type:"integer" required:"true"` } @@ -6179,14 +9541,19 @@ func (s TrafficPolicyInstance) GoString() string { type TrafficPolicySummary struct { _ struct{} `type:"structure"` + // Id is a required field Id *string `type:"string" required:"true"` + // LatestVersion is a required field LatestVersion *int64 `min:"1" type:"integer" required:"true"` + // Name is a required field Name *string `type:"string" required:"true"` + // TrafficPolicyCount is a required field TrafficPolicyCount *int64 `min:"1" type:"integer" required:"true"` + // Type is a required field Type *string `type:"string" required:"true" enum:"RRType"` } @@ -6200,89 +9567,177 @@ func (s TrafficPolicySummary) GoString() string { return s.String() } -// >A complex type that contains information about the request to update a health -// check. +// A complex type that contains the health check request information. type UpdateHealthCheckInput struct { _ struct{} `locationName:"UpdateHealthCheckRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"` - // A complex type that contains information to uniquely identify the CloudWatch - // alarm that you're associating with a Route 53 health check. + // A complex type that identifies the CloudWatch alarm that you want Amazon + // Route 53 health checkers to use to determine whether this health check is + // healthy. AlarmIdentifier *AlarmIdentifier `type:"structure"` - // For a specified parent health check, a list of HealthCheckId values for the - // associated child health checks. - // - // Specify this value only if you want to change it. + // A complex type that contains one ChildHealthCheck element for each health + // check that you want to associate with a CALCULATED health check. ChildHealthChecks []*string `locationNameList:"ChildHealthCheck" type:"list"` // Specify whether you want Amazon Route 53 to send the value of FullyQualifiedDomainName - // to the endpoint in the client_hello message during TLS negotiation. If you - // don't specify a value for EnableSNI, Amazon Route 53 defaults to true when - // Type is HTTPS or HTTPS_STR_MATCH and defaults to false when Type is any other - // value. - // - // Specify this value only if you want to change it. + // to the endpoint in the client_hello message during TLS negotiation. This + // allows the endpoint to respond to HTTPS health check requests with the applicable + // SSL/TLS certificate. + // + // Some endpoints require that HTTPS requests include the host name in the + // client_hello message. If you don't enable SNI, the status of the health check + // will be SSL alert handshake_failure. A health check can also have that status + // for other reasons. If SNI is enabled and you're still getting the error, + // check the SSL/TLS configuration on your endpoint and confirm that your certificate + // is valid. + // + // The SSL/TLS certificate on your endpoint includes a domain name in the Common + // Name field and possibly several more in the Subject Alternative Names field. + // One of the domain names in the certificate should match the value that you + // specify for FullyQualifiedDomainName. If the endpoint responds to the client_hello + // message with a certificate that does not include the domain name that you + // specified in FullyQualifiedDomainName, a health checker will retry the handshake. + // In the second attempt, the health checker will omit FullyQualifiedDomainName + // from the client_hello message. EnableSNI *bool `type:"boolean"` // The number of consecutive health checks that an endpoint must pass or fail // for Amazon Route 53 to change the current status of the endpoint from unhealthy - // to healthy or vice versa. - // - // Valid values are integers between 1 and 10. For more information, see "How - // Amazon Route 53 Determines Whether an Endpoint Is Healthy" in the Amazon - // Route 53 Developer Guide. - // - // Specify this value only if you want to change it. + // to healthy or vice versa. For more information, see How Amazon Route 53 Determines + // Whether an Endpoint Is Healthy (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html) + // in the Amazon Route 53 Developer Guide. FailureThreshold *int64 `min:"1" type:"integer"` - // Fully qualified domain name of the instance to be health checked. + // Amazon Route 53 behavior depends on whether you specify a value for IPAddress. // - // Specify this value only if you want to change it. + // If a health check already has a value for IPAddress, you can change the + // value. However, you can't update an existing health check to add or remove + // the value of IPAddress. + // + // If you specify IPAddress: + // + // The value that you want Amazon Route 53 to pass in the Host header in all + // health checks except TCP health checks. This is typically the fully qualified + // DNS name of the endpoint on which you want Amazon Route 53 to perform health + // checks. When Amazon Route 53 checks the health of an endpoint, here is how + // it constructs the Host header: + // + // If you specify a value of 80 for Port and HTTP or HTTP_STR_MATCH for Type, + // Amazon Route 53 passes the value of FullyQualifiedDomainName to the endpoint + // in the Host header. + // + // If you specify a value of 443 for Port and HTTPS or HTTPS_STR_MATCH for + // Type, Amazon Route 53 passes the value of FullyQualifiedDomainName to the + // endpoint in the Host header. + // + // If you specify another value for Port and any value except TCP for Type, + // Amazon Route 53 passes FullyQualifiedDomainName:Port to the endpoint in + // the Host header. + // + // If you don't specify a value for FullyQualifiedDomainName, Amazon Route + // 53 substitutes the value of IPAddress in the Host header in each of the above + // cases. + // + // If you don't specify IPAddress: + // + // If you don't specify a value for IPAddress, Amazon Route 53 sends a DNS + // request to the domain that you specify in FullyQualifiedDomainName at the + // interval you specify in RequestInterval. Using an IP address that DNS returns, + // Amazon Route 53 then checks the health of the endpoint. + // + // If you want to check the health of weighted, latency, or failover resource + // record sets and you choose to specify the endpoint only by FullyQualifiedDomainName, + // we recommend that you create a separate health check for each endpoint. For + // example, create a health check for each HTTP server that is serving content + // for www.example.com. For the value of FullyQualifiedDomainName, specify the + // domain name of the server (such as us-east-1-www.example.com), not the name + // of the resource record sets (www.example.com). + // + // In this configuration, if the value of FullyQualifiedDomainName matches + // the name of the resource record sets and you then associate the health check + // with those resource record sets, health check results will be unpredictable. + // + // In addition, if the value of Type is HTTP, HTTPS, HTTP_STR_MATCH, or HTTPS_STR_MATCH, + // Amazon Route 53 passes the value of FullyQualifiedDomainName in the Host + // header, as it does when you specify a value for IPAddress. If the value of + // Type is TCP, Amazon Route 53 doesn't pass a Host header. FullyQualifiedDomainName *string `type:"string"` - // The ID of the health check to update. + // The ID for the health check for which you want detailed information. When + // you created the health check, CreateHealthCheck returned the ID in the response, + // in the HealthCheckId element. + // + // HealthCheckId is a required field HealthCheckId *string `location:"uri" locationName:"HealthCheckId" type:"string" required:"true"` - // Optional. When you specify a health check version, Amazon Route 53 compares - // this value with the current value in the health check, which prevents you - // from updating the health check when the versions don't match. Using HealthCheckVersion - // lets you prevent overwriting another change to the health check. + // A sequential counter that Amazon Route 53 sets to 1 when you create a health + // check and increments by 1 each time you update settings for the health check. + // + // We recommend that you use GetHealthCheck or ListHealthChecks to get the + // current value of HealthCheckVersion for the health check that you want to + // update, and that you include that value in your UpdateHealthCheck request. + // This prevents Amazon Route 53 from overwriting an intervening update: + // + // f the value in the UpdateHealthCheck request matches the value of HealthCheckVersion + // in the health check, Amazon Route 53 updates the health check with the new + // settings. + // + // If the value of HealthCheckVersion in the health check is greater, the + // health check was changed after you got the version number. Amazon Route 53 + // does not update the health check, and it returns a HealthCheckVersionMismatch + // error. HealthCheckVersion *int64 `min:"1" type:"long"` - // The minimum number of child health checks that must be healthy for Amazon - // Route 53 to consider the parent health check to be healthy. Valid values - // are integers between 0 and 256, inclusive. + // The number of child health checks that are associated with a CALCULATED health + // that Amazon Route 53 must consider healthy for the CALCULATED health check + // to be considered healthy. To specify the child health checks that you want + // to associate with a CALCULATED health check, use the ChildHealthChecks and + // ChildHealthCheck elements. // - // Specify this value only if you want to change it. + // Note the following: + // + // If you specify a number greater than the number of child health checks, + // Amazon Route 53 always considers this health check to be unhealthy. + // + // If you specify 0, Amazon Route 53 always considers this health check to + // be healthy. HealthThreshold *int64 `type:"integer"` - // The IP address of the resource that you want to check. - // - // Specify this value only if you want to change it. + // The IPv4 IP address of the endpoint on which you want Amazon Route 53 to + // perform health checks. If you don't specify a value for IPAddress, Amazon + // Route 53 sends a DNS request to resolve the domain name that you specify + // in FullyQualifiedDomainName at the interval you specify in RequestInterval. + // Using an IP address that DNS returns, Amazon Route 53 then checks the health + // of the endpoint. + // + // f the endpoint is an Amazon EC2 instance, we recommend that you create an + // Elastic IP address, associate it with your Amazon EC2 instance, and specify + // the Elastic IP address for IPAddress. This ensures that the IP address of + // your instance never changes. For more information, see Elastic IP Addresses + // (EIP) (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) + // in the Amazon EC2 User Guide for Linux Instances. + // + // If a health check already has a value for IPAddress, you can change the + // value. However, you can't update an existing health check to add or remove + // the value of IPAddress. + // + // For more information, see UpdateHealthCheckRequest$FullyQualifiedDomainName. IPAddress *string `type:"string"` InsufficientDataHealthStatus *string `type:"string" enum:"InsufficientDataHealthStatus"` - // A boolean value that indicates whether the status of health check should - // be inverted. For example, if a health check is healthy but Inverted is True, - // then Amazon Route 53 considers the health check to be unhealthy. - // - // Specify this value only if you want to change it. + // Specify whether you want Amazon Route 53 to invert the status of a health + // check, for example, to consider a health check unhealthy when it otherwise + // would be considered healthy. Inverted *bool `type:"boolean"` - // The port on which you want Amazon Route 53 to open a connection to perform - // health checks. - // - // Specify this value only if you want to change it. + // The port on the endpoint on which you want Amazon Route 53 to perform health + // checks. Port *int64 `min:"1" type:"integer"` - // A list of HealthCheckRegion values that specify the Amazon EC2 regions that - // you want Amazon Route 53 to use to perform health checks. You must specify - // at least three regions. - // - // When you remove a region from the list, Amazon Route 53 will briefly continue - // to check your endpoint from that region. Specify this value only if you want - // to change it. + // A complex type that contains one Region element for each region from which + // you want Amazon Route 53 health checkers to check the specified endpoint. Regions []*string `locationNameList:"Region" min:"1" type:"list"` // The path that you want Amazon Route 53 to request when performing health @@ -6296,10 +9751,8 @@ type UpdateHealthCheckInput struct { // If the value of Type is HTTP_STR_MATCH or HTTP_STR_MATCH, the string that // you want Amazon Route 53 to search for in the response body from the specified // resource. If the string appears in the response body, Amazon Route 53 considers - // the resource healthy. Amazon Route 53 considers case when searching for SearchString - // in the response body. - // - // Specify this value only if you want to change it. + // the resource healthy. (You can't change the value of Type when you update + // a health check.) SearchString *string `type:"string"` } @@ -6346,7 +9799,10 @@ func (s *UpdateHealthCheckInput) Validate() error { type UpdateHealthCheckOutput struct { _ struct{} `type:"structure"` - // A complex type that contains identifying information about the health check. + // A complex type that contains information about one health check that is associated + // with the current AWS account. + // + // HealthCheck is a required field HealthCheck *HealthCheck `type:"structure" required:"true"` } @@ -6360,15 +9816,17 @@ func (s UpdateHealthCheckOutput) GoString() string { return s.String() } -// A complex type that contains information about the request to update a hosted -// zone comment. +// A complex type that contains the hosted zone request information. type UpdateHostedZoneCommentInput struct { _ struct{} `locationName:"UpdateHostedZoneCommentRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"` - // A comment about your hosted zone. + // The new comment for the hosted zone. If you don't specify a value for Comment, + // Amazon Route 53 deletes the existing value of the Comment element, if any. Comment *string `type:"string"` - // The ID of the hosted zone you want to update. + // The ID for the hosted zone for which you want to update the comment. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } @@ -6395,12 +9853,13 @@ func (s *UpdateHostedZoneCommentInput) Validate() error { return nil } -// A complex type containing information about the specified hosted zone after -// the update. +// A complex type that contains the response to the UpdateHostedZoneCommentRequest. type UpdateHostedZoneCommentOutput struct { _ struct{} `type:"structure"` - // A complex type that contain information about the specified hosted zone. + // A complex type that contains general information about the hosted zone. + // + // HostedZone is a required field HostedZone *HostedZone `type:"structure" required:"true"` } @@ -6420,13 +9879,19 @@ type UpdateTrafficPolicyCommentInput struct { _ struct{} `locationName:"UpdateTrafficPolicyCommentRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"` // The new comment for the specified traffic policy and version. + // + // Comment is a required field Comment *string `type:"string" required:"true"` // The value of Id for the traffic policy for which you want to update the comment. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` // The value of Version for the traffic policy for which you want to update // the comment. + // + // Version is a required field Version *int64 `location:"uri" locationName:"Version" min:"1" type:"integer" required:"true"` } @@ -6467,6 +9932,8 @@ type UpdateTrafficPolicyCommentOutput struct { _ struct{} `type:"structure"` // A complex type that contains settings for the specified traffic policy. + // + // TrafficPolicy is a required field TrafficPolicy *TrafficPolicy `type:"structure" required:"true"` } @@ -6486,18 +9953,26 @@ type UpdateTrafficPolicyInstanceInput struct { _ struct{} `locationName:"UpdateTrafficPolicyInstanceRequest" type:"structure" xmlURI:"https://route53.amazonaws.com/doc/2013-04-01/"` // The ID of the traffic policy instance that you want to update. + // + // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` // The TTL that you want Amazon Route 53 to assign to all of the updated resource // record sets. + // + // TTL is a required field TTL *int64 `type:"long" required:"true"` // The ID of the traffic policy that you want Amazon Route 53 to use to update // resource record sets for the specified traffic policy instance. + // + // TrafficPolicyId is a required field TrafficPolicyId *string `type:"string" required:"true"` // The version of the traffic policy that you want Amazon Route 53 to use to // update resource record sets for the specified traffic policy instance. + // + // TrafficPolicyVersion is a required field TrafficPolicyVersion *int64 `min:"1" type:"integer" required:"true"` } @@ -6542,6 +10017,8 @@ type UpdateTrafficPolicyInstanceOutput struct { _ struct{} `type:"structure"` // A complex type that contains settings for the updated traffic policy instance. + // + // TrafficPolicyInstance is a required field TrafficPolicyInstance *TrafficPolicyInstance `type:"structure" required:"true"` } @@ -6588,198 +10065,275 @@ func (s *VPC) Validate() error { } const ( - // @enum ChangeAction + // ChangeActionCreate is a ChangeAction enum value ChangeActionCreate = "CREATE" - // @enum ChangeAction + + // ChangeActionDelete is a ChangeAction enum value ChangeActionDelete = "DELETE" - // @enum ChangeAction + + // ChangeActionUpsert is a ChangeAction enum value ChangeActionUpsert = "UPSERT" ) const ( - // @enum ChangeStatus + // ChangeStatusPending is a ChangeStatus enum value ChangeStatusPending = "PENDING" - // @enum ChangeStatus + + // ChangeStatusInsync is a ChangeStatus enum value ChangeStatusInsync = "INSYNC" ) const ( - // @enum CloudWatchRegion + // CloudWatchRegionUsEast1 is a CloudWatchRegion enum value CloudWatchRegionUsEast1 = "us-east-1" - // @enum CloudWatchRegion + + // CloudWatchRegionUsWest1 is a CloudWatchRegion enum value CloudWatchRegionUsWest1 = "us-west-1" - // @enum CloudWatchRegion + + // CloudWatchRegionUsWest2 is a CloudWatchRegion enum value CloudWatchRegionUsWest2 = "us-west-2" - // @enum CloudWatchRegion + + // CloudWatchRegionEuCentral1 is a CloudWatchRegion enum value CloudWatchRegionEuCentral1 = "eu-central-1" - // @enum CloudWatchRegion + + // CloudWatchRegionEuWest1 is a CloudWatchRegion enum value CloudWatchRegionEuWest1 = "eu-west-1" - // @enum CloudWatchRegion + + // CloudWatchRegionApSouth1 is a CloudWatchRegion enum value + CloudWatchRegionApSouth1 = "ap-south-1" + + // CloudWatchRegionApSoutheast1 is a CloudWatchRegion enum value CloudWatchRegionApSoutheast1 = "ap-southeast-1" - // @enum CloudWatchRegion + + // CloudWatchRegionApSoutheast2 is a CloudWatchRegion enum value CloudWatchRegionApSoutheast2 = "ap-southeast-2" - // @enum CloudWatchRegion + + // CloudWatchRegionApNortheast1 is a CloudWatchRegion enum value CloudWatchRegionApNortheast1 = "ap-northeast-1" - // @enum CloudWatchRegion + + // CloudWatchRegionApNortheast2 is a CloudWatchRegion enum value CloudWatchRegionApNortheast2 = "ap-northeast-2" - // @enum CloudWatchRegion + + // CloudWatchRegionSaEast1 is a CloudWatchRegion enum value CloudWatchRegionSaEast1 = "sa-east-1" ) const ( - // @enum ComparisonOperator + // ComparisonOperatorGreaterThanOrEqualToThreshold is a ComparisonOperator enum value ComparisonOperatorGreaterThanOrEqualToThreshold = "GreaterThanOrEqualToThreshold" - // @enum ComparisonOperator + + // ComparisonOperatorGreaterThanThreshold is a ComparisonOperator enum value ComparisonOperatorGreaterThanThreshold = "GreaterThanThreshold" - // @enum ComparisonOperator + + // ComparisonOperatorLessThanThreshold is a ComparisonOperator enum value ComparisonOperatorLessThanThreshold = "LessThanThreshold" - // @enum ComparisonOperator + + // ComparisonOperatorLessThanOrEqualToThreshold is a ComparisonOperator enum value ComparisonOperatorLessThanOrEqualToThreshold = "LessThanOrEqualToThreshold" ) // An Amazon EC2 region that you want Amazon Route 53 to use to perform health // checks. const ( - // @enum HealthCheckRegion + // HealthCheckRegionUsEast1 is a HealthCheckRegion enum value HealthCheckRegionUsEast1 = "us-east-1" - // @enum HealthCheckRegion + + // HealthCheckRegionUsWest1 is a HealthCheckRegion enum value HealthCheckRegionUsWest1 = "us-west-1" - // @enum HealthCheckRegion + + // HealthCheckRegionUsWest2 is a HealthCheckRegion enum value HealthCheckRegionUsWest2 = "us-west-2" - // @enum HealthCheckRegion + + // HealthCheckRegionEuWest1 is a HealthCheckRegion enum value HealthCheckRegionEuWest1 = "eu-west-1" - // @enum HealthCheckRegion + + // HealthCheckRegionApSoutheast1 is a HealthCheckRegion enum value HealthCheckRegionApSoutheast1 = "ap-southeast-1" - // @enum HealthCheckRegion + + // HealthCheckRegionApSoutheast2 is a HealthCheckRegion enum value HealthCheckRegionApSoutheast2 = "ap-southeast-2" - // @enum HealthCheckRegion + + // HealthCheckRegionApNortheast1 is a HealthCheckRegion enum value HealthCheckRegionApNortheast1 = "ap-northeast-1" - // @enum HealthCheckRegion + + // HealthCheckRegionSaEast1 is a HealthCheckRegion enum value HealthCheckRegionSaEast1 = "sa-east-1" ) const ( - // @enum HealthCheckType + // HealthCheckTypeHttp is a HealthCheckType enum value HealthCheckTypeHttp = "HTTP" - // @enum HealthCheckType + + // HealthCheckTypeHttps is a HealthCheckType enum value HealthCheckTypeHttps = "HTTPS" - // @enum HealthCheckType + + // HealthCheckTypeHttpStrMatch is a HealthCheckType enum value HealthCheckTypeHttpStrMatch = "HTTP_STR_MATCH" - // @enum HealthCheckType + + // HealthCheckTypeHttpsStrMatch is a HealthCheckType enum value HealthCheckTypeHttpsStrMatch = "HTTPS_STR_MATCH" - // @enum HealthCheckType + + // HealthCheckTypeTcp is a HealthCheckType enum value HealthCheckTypeTcp = "TCP" - // @enum HealthCheckType + + // HealthCheckTypeCalculated is a HealthCheckType enum value HealthCheckTypeCalculated = "CALCULATED" - // @enum HealthCheckType + + // HealthCheckTypeCloudwatchMetric is a HealthCheckType enum value HealthCheckTypeCloudwatchMetric = "CLOUDWATCH_METRIC" ) const ( - // @enum InsufficientDataHealthStatus + // InsufficientDataHealthStatusHealthy is a InsufficientDataHealthStatus enum value InsufficientDataHealthStatusHealthy = "Healthy" - // @enum InsufficientDataHealthStatus + + // InsufficientDataHealthStatusUnhealthy is a InsufficientDataHealthStatus enum value InsufficientDataHealthStatusUnhealthy = "Unhealthy" - // @enum InsufficientDataHealthStatus + + // InsufficientDataHealthStatusLastKnownStatus is a InsufficientDataHealthStatus enum value InsufficientDataHealthStatusLastKnownStatus = "LastKnownStatus" ) const ( - // @enum RRType + // RRTypeSoa is a RRType enum value RRTypeSoa = "SOA" - // @enum RRType + + // RRTypeA is a RRType enum value RRTypeA = "A" - // @enum RRType + + // RRTypeTxt is a RRType enum value RRTypeTxt = "TXT" - // @enum RRType + + // RRTypeNs is a RRType enum value RRTypeNs = "NS" - // @enum RRType + + // RRTypeCname is a RRType enum value RRTypeCname = "CNAME" - // @enum RRType + + // RRTypeMx is a RRType enum value RRTypeMx = "MX" - // @enum RRType + + // RRTypeNaptr is a RRType enum value + RRTypeNaptr = "NAPTR" + + // RRTypePtr is a RRType enum value RRTypePtr = "PTR" - // @enum RRType + + // RRTypeSrv is a RRType enum value RRTypeSrv = "SRV" - // @enum RRType + + // RRTypeSpf is a RRType enum value RRTypeSpf = "SPF" - // @enum RRType + + // RRTypeAaaa is a RRType enum value RRTypeAaaa = "AAAA" ) const ( - // @enum ResourceRecordSetFailover + // ResourceRecordSetFailoverPrimary is a ResourceRecordSetFailover enum value ResourceRecordSetFailoverPrimary = "PRIMARY" - // @enum ResourceRecordSetFailover + + // ResourceRecordSetFailoverSecondary is a ResourceRecordSetFailover enum value ResourceRecordSetFailoverSecondary = "SECONDARY" ) const ( - // @enum ResourceRecordSetRegion + // ResourceRecordSetRegionUsEast1 is a ResourceRecordSetRegion enum value ResourceRecordSetRegionUsEast1 = "us-east-1" - // @enum ResourceRecordSetRegion + + // ResourceRecordSetRegionUsWest1 is a ResourceRecordSetRegion enum value ResourceRecordSetRegionUsWest1 = "us-west-1" - // @enum ResourceRecordSetRegion + + // ResourceRecordSetRegionUsWest2 is a ResourceRecordSetRegion enum value ResourceRecordSetRegionUsWest2 = "us-west-2" - // @enum ResourceRecordSetRegion + + // ResourceRecordSetRegionEuWest1 is a ResourceRecordSetRegion enum value ResourceRecordSetRegionEuWest1 = "eu-west-1" - // @enum ResourceRecordSetRegion + + // ResourceRecordSetRegionEuCentral1 is a ResourceRecordSetRegion enum value ResourceRecordSetRegionEuCentral1 = "eu-central-1" - // @enum ResourceRecordSetRegion + + // ResourceRecordSetRegionApSoutheast1 is a ResourceRecordSetRegion enum value ResourceRecordSetRegionApSoutheast1 = "ap-southeast-1" - // @enum ResourceRecordSetRegion + + // ResourceRecordSetRegionApSoutheast2 is a ResourceRecordSetRegion enum value ResourceRecordSetRegionApSoutheast2 = "ap-southeast-2" - // @enum ResourceRecordSetRegion + + // ResourceRecordSetRegionApNortheast1 is a ResourceRecordSetRegion enum value ResourceRecordSetRegionApNortheast1 = "ap-northeast-1" - // @enum ResourceRecordSetRegion + + // ResourceRecordSetRegionApNortheast2 is a ResourceRecordSetRegion enum value ResourceRecordSetRegionApNortheast2 = "ap-northeast-2" - // @enum ResourceRecordSetRegion + + // ResourceRecordSetRegionSaEast1 is a ResourceRecordSetRegion enum value ResourceRecordSetRegionSaEast1 = "sa-east-1" - // @enum ResourceRecordSetRegion + + // ResourceRecordSetRegionCnNorth1 is a ResourceRecordSetRegion enum value ResourceRecordSetRegionCnNorth1 = "cn-north-1" + + // ResourceRecordSetRegionApSouth1 is a ResourceRecordSetRegion enum value + ResourceRecordSetRegionApSouth1 = "ap-south-1" ) const ( - // @enum Statistic + // StatisticAverage is a Statistic enum value StatisticAverage = "Average" - // @enum Statistic + + // StatisticSum is a Statistic enum value StatisticSum = "Sum" - // @enum Statistic + + // StatisticSampleCount is a Statistic enum value StatisticSampleCount = "SampleCount" - // @enum Statistic + + // StatisticMaximum is a Statistic enum value StatisticMaximum = "Maximum" - // @enum Statistic + + // StatisticMinimum is a Statistic enum value StatisticMinimum = "Minimum" ) const ( - // @enum TagResourceType + // TagResourceTypeHealthcheck is a TagResourceType enum value TagResourceTypeHealthcheck = "healthcheck" - // @enum TagResourceType + + // TagResourceTypeHostedzone is a TagResourceType enum value TagResourceTypeHostedzone = "hostedzone" ) const ( - // @enum VPCRegion + // VPCRegionUsEast1 is a VPCRegion enum value VPCRegionUsEast1 = "us-east-1" - // @enum VPCRegion + + // VPCRegionUsWest1 is a VPCRegion enum value VPCRegionUsWest1 = "us-west-1" - // @enum VPCRegion + + // VPCRegionUsWest2 is a VPCRegion enum value VPCRegionUsWest2 = "us-west-2" - // @enum VPCRegion + + // VPCRegionEuWest1 is a VPCRegion enum value VPCRegionEuWest1 = "eu-west-1" - // @enum VPCRegion + + // VPCRegionEuCentral1 is a VPCRegion enum value VPCRegionEuCentral1 = "eu-central-1" - // @enum VPCRegion + + // VPCRegionApSoutheast1 is a VPCRegion enum value VPCRegionApSoutheast1 = "ap-southeast-1" - // @enum VPCRegion + + // VPCRegionApSoutheast2 is a VPCRegion enum value VPCRegionApSoutheast2 = "ap-southeast-2" - // @enum VPCRegion + + // VPCRegionApSouth1 is a VPCRegion enum value + VPCRegionApSouth1 = "ap-south-1" + + // VPCRegionApNortheast1 is a VPCRegion enum value VPCRegionApNortheast1 = "ap-northeast-1" - // @enum VPCRegion + + // VPCRegionApNortheast2 is a VPCRegion enum value VPCRegionApNortheast2 = "ap-northeast-2" - // @enum VPCRegion + + // VPCRegionSaEast1 is a VPCRegion enum value VPCRegionSaEast1 = "sa-east-1" - // @enum VPCRegion + + // VPCRegionCnNorth1 is a VPCRegion enum value VPCRegionCnNorth1 = "cn-north-1" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/route53/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/route53/waiters.go index 04786169e2a6..85a70ab5a412 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/route53/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/route53/waiters.go @@ -6,6 +6,10 @@ import ( "github.com/aws/aws-sdk-go/private/waiter" ) +// WaitUntilResourceRecordSetsChanged uses the Route 53 API operation +// GetChange to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *Route53) WaitUntilResourceRecordSetsChanged(input *GetChangeInput) error { waiterCfg := waiter.Config{ Operation: "GetChange", diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/api.go b/vendor/github.com/aws/aws-sdk-go/service/s3/api.go index f46df025e1a7..3ac043725376 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/s3/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/api.go @@ -16,7 +16,30 @@ import ( const opAbortMultipartUpload = "AbortMultipartUpload" -// AbortMultipartUploadRequest generates a request for the AbortMultipartUpload operation. +// AbortMultipartUploadRequest generates a "aws/request.Request" representing the +// client's request for the AbortMultipartUpload operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AbortMultipartUpload for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AbortMultipartUpload method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AbortMultipartUploadRequest method. +// req, resp := client.AbortMultipartUploadRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) AbortMultipartUploadRequest(input *AbortMultipartUploadInput) (req *request.Request, output *AbortMultipartUploadOutput) { op := &request.Operation{ Name: opAbortMultipartUpload, @@ -34,11 +57,25 @@ func (c *S3) AbortMultipartUploadRequest(input *AbortMultipartUploadInput) (req return } +// AbortMultipartUpload API operation for Amazon Simple Storage Service. +// // Aborts a multipart upload. // // To verify that all parts have been removed, so you don't get charged for // the part storage, you should call the List Parts operation and ensure the // parts list is empty. +// +// 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 Simple Storage Service's +// API operation AbortMultipartUpload for usage and error information. +// +// Returned Error Codes: +// * NoSuchUpload +// The specified multipart upload does not exist. +// func (c *S3) AbortMultipartUpload(input *AbortMultipartUploadInput) (*AbortMultipartUploadOutput, error) { req, out := c.AbortMultipartUploadRequest(input) err := req.Send() @@ -47,7 +84,30 @@ func (c *S3) AbortMultipartUpload(input *AbortMultipartUploadInput) (*AbortMulti const opCompleteMultipartUpload = "CompleteMultipartUpload" -// CompleteMultipartUploadRequest generates a request for the CompleteMultipartUpload operation. +// CompleteMultipartUploadRequest generates a "aws/request.Request" representing the +// client's request for the CompleteMultipartUpload operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CompleteMultipartUpload for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CompleteMultipartUpload method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CompleteMultipartUploadRequest method. +// req, resp := client.CompleteMultipartUploadRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) CompleteMultipartUploadRequest(input *CompleteMultipartUploadInput) (req *request.Request, output *CompleteMultipartUploadOutput) { op := &request.Operation{ Name: opCompleteMultipartUpload, @@ -65,7 +125,16 @@ func (c *S3) CompleteMultipartUploadRequest(input *CompleteMultipartUploadInput) return } +// CompleteMultipartUpload API operation for Amazon Simple Storage Service. +// // Completes a multipart upload by assembling previously uploaded parts. +// +// 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 Simple Storage Service's +// API operation CompleteMultipartUpload for usage and error information. func (c *S3) CompleteMultipartUpload(input *CompleteMultipartUploadInput) (*CompleteMultipartUploadOutput, error) { req, out := c.CompleteMultipartUploadRequest(input) err := req.Send() @@ -74,7 +143,30 @@ func (c *S3) CompleteMultipartUpload(input *CompleteMultipartUploadInput) (*Comp const opCopyObject = "CopyObject" -// CopyObjectRequest generates a request for the CopyObject operation. +// CopyObjectRequest generates a "aws/request.Request" representing the +// client's request for the CopyObject operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CopyObject for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CopyObject method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CopyObjectRequest method. +// req, resp := client.CopyObjectRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, output *CopyObjectOutput) { op := &request.Operation{ Name: opCopyObject, @@ -92,7 +184,22 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou return } +// CopyObject API operation for Amazon Simple Storage Service. +// // Creates a copy of an object that is already stored in Amazon S3. +// +// 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 Simple Storage Service's +// API operation CopyObject for usage and error information. +// +// Returned Error Codes: +// * ObjectNotInActiveTierError +// The source object of the COPY operation is not in the active tier and is +// only stored in Amazon Glacier. +// func (c *S3) CopyObject(input *CopyObjectInput) (*CopyObjectOutput, error) { req, out := c.CopyObjectRequest(input) err := req.Send() @@ -101,7 +208,30 @@ func (c *S3) CopyObject(input *CopyObjectInput) (*CopyObjectOutput, error) { const opCreateBucket = "CreateBucket" -// CreateBucketRequest generates a request for the CreateBucket operation. +// CreateBucketRequest generates a "aws/request.Request" representing the +// client's request for the CreateBucket operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateBucket for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateBucket method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateBucketRequest method. +// req, resp := client.CreateBucketRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *request.Request, output *CreateBucketOutput) { op := &request.Operation{ Name: opCreateBucket, @@ -119,7 +249,25 @@ func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *request.Request return } +// CreateBucket API operation for Amazon Simple Storage Service. +// // Creates a new 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation CreateBucket for usage and error information. +// +// Returned Error Codes: +// * BucketAlreadyExists +// The requested bucket name is not available. The bucket namespace is shared +// by all users of the system. Please select a different name and try again. +// +// * BucketAlreadyOwnedByYou + +// func (c *S3) CreateBucket(input *CreateBucketInput) (*CreateBucketOutput, error) { req, out := c.CreateBucketRequest(input) err := req.Send() @@ -128,7 +276,30 @@ func (c *S3) CreateBucket(input *CreateBucketInput) (*CreateBucketOutput, error) const opCreateMultipartUpload = "CreateMultipartUpload" -// CreateMultipartUploadRequest generates a request for the CreateMultipartUpload operation. +// CreateMultipartUploadRequest generates a "aws/request.Request" representing the +// client's request for the CreateMultipartUpload operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateMultipartUpload for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateMultipartUpload method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateMultipartUploadRequest method. +// req, resp := client.CreateMultipartUploadRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) CreateMultipartUploadRequest(input *CreateMultipartUploadInput) (req *request.Request, output *CreateMultipartUploadOutput) { op := &request.Operation{ Name: opCreateMultipartUpload, @@ -146,6 +317,8 @@ func (c *S3) CreateMultipartUploadRequest(input *CreateMultipartUploadInput) (re return } +// CreateMultipartUpload API operation for Amazon Simple Storage Service. +// // Initiates a multipart upload and returns an upload ID. // // Note: After you initiate multipart upload and upload one or more parts, you @@ -153,6 +326,13 @@ func (c *S3) CreateMultipartUploadRequest(input *CreateMultipartUploadInput) (re // for storage of the uploaded parts. Only after you either complete or abort // multipart upload, Amazon S3 frees up the parts storage and stops charging // you for the parts storage. +// +// 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 Simple Storage Service's +// API operation CreateMultipartUpload for usage and error information. func (c *S3) CreateMultipartUpload(input *CreateMultipartUploadInput) (*CreateMultipartUploadOutput, error) { req, out := c.CreateMultipartUploadRequest(input) err := req.Send() @@ -161,7 +341,30 @@ func (c *S3) CreateMultipartUpload(input *CreateMultipartUploadInput) (*CreateMu const opDeleteBucket = "DeleteBucket" -// DeleteBucketRequest generates a request for the DeleteBucket operation. +// DeleteBucketRequest generates a "aws/request.Request" representing the +// client's request for the DeleteBucket operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteBucket for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteBucket method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteBucketRequest method. +// req, resp := client.DeleteBucketRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) DeleteBucketRequest(input *DeleteBucketInput) (req *request.Request, output *DeleteBucketOutput) { op := &request.Operation{ Name: opDeleteBucket, @@ -181,8 +384,17 @@ func (c *S3) DeleteBucketRequest(input *DeleteBucketInput) (req *request.Request return } +// DeleteBucket API operation for Amazon Simple Storage Service. +// // Deletes the bucket. All objects (including all object versions and Delete // Markers) in the bucket must be deleted before the bucket itself can be deleted. +// +// 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 Simple Storage Service's +// API operation DeleteBucket for usage and error information. func (c *S3) DeleteBucket(input *DeleteBucketInput) (*DeleteBucketOutput, error) { req, out := c.DeleteBucketRequest(input) err := req.Send() @@ -191,7 +403,30 @@ func (c *S3) DeleteBucket(input *DeleteBucketInput) (*DeleteBucketOutput, error) const opDeleteBucketCors = "DeleteBucketCors" -// DeleteBucketCorsRequest generates a request for the DeleteBucketCors operation. +// DeleteBucketCorsRequest generates a "aws/request.Request" representing the +// client's request for the DeleteBucketCors operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteBucketCors for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteBucketCors method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteBucketCorsRequest method. +// req, resp := client.DeleteBucketCorsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) DeleteBucketCorsRequest(input *DeleteBucketCorsInput) (req *request.Request, output *DeleteBucketCorsOutput) { op := &request.Operation{ Name: opDeleteBucketCors, @@ -211,7 +446,16 @@ func (c *S3) DeleteBucketCorsRequest(input *DeleteBucketCorsInput) (req *request return } +// DeleteBucketCors API operation for Amazon Simple Storage Service. +// // Deletes the cors configuration information set for the 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation DeleteBucketCors for usage and error information. func (c *S3) DeleteBucketCors(input *DeleteBucketCorsInput) (*DeleteBucketCorsOutput, error) { req, out := c.DeleteBucketCorsRequest(input) err := req.Send() @@ -220,7 +464,30 @@ func (c *S3) DeleteBucketCors(input *DeleteBucketCorsInput) (*DeleteBucketCorsOu const opDeleteBucketLifecycle = "DeleteBucketLifecycle" -// DeleteBucketLifecycleRequest generates a request for the DeleteBucketLifecycle operation. +// DeleteBucketLifecycleRequest generates a "aws/request.Request" representing the +// client's request for the DeleteBucketLifecycle operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteBucketLifecycle for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteBucketLifecycle method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteBucketLifecycleRequest method. +// req, resp := client.DeleteBucketLifecycleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) DeleteBucketLifecycleRequest(input *DeleteBucketLifecycleInput) (req *request.Request, output *DeleteBucketLifecycleOutput) { op := &request.Operation{ Name: opDeleteBucketLifecycle, @@ -240,7 +507,16 @@ func (c *S3) DeleteBucketLifecycleRequest(input *DeleteBucketLifecycleInput) (re return } +// DeleteBucketLifecycle API operation for Amazon Simple Storage Service. +// // Deletes the lifecycle configuration from the 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation DeleteBucketLifecycle for usage and error information. func (c *S3) DeleteBucketLifecycle(input *DeleteBucketLifecycleInput) (*DeleteBucketLifecycleOutput, error) { req, out := c.DeleteBucketLifecycleRequest(input) err := req.Send() @@ -249,7 +525,30 @@ func (c *S3) DeleteBucketLifecycle(input *DeleteBucketLifecycleInput) (*DeleteBu const opDeleteBucketPolicy = "DeleteBucketPolicy" -// DeleteBucketPolicyRequest generates a request for the DeleteBucketPolicy operation. +// DeleteBucketPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteBucketPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteBucketPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteBucketPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteBucketPolicyRequest method. +// req, resp := client.DeleteBucketPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) DeleteBucketPolicyRequest(input *DeleteBucketPolicyInput) (req *request.Request, output *DeleteBucketPolicyOutput) { op := &request.Operation{ Name: opDeleteBucketPolicy, @@ -269,7 +568,16 @@ func (c *S3) DeleteBucketPolicyRequest(input *DeleteBucketPolicyInput) (req *req return } +// DeleteBucketPolicy API operation for Amazon Simple Storage Service. +// // Deletes the policy from the 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation DeleteBucketPolicy for usage and error information. func (c *S3) DeleteBucketPolicy(input *DeleteBucketPolicyInput) (*DeleteBucketPolicyOutput, error) { req, out := c.DeleteBucketPolicyRequest(input) err := req.Send() @@ -278,7 +586,30 @@ func (c *S3) DeleteBucketPolicy(input *DeleteBucketPolicyInput) (*DeleteBucketPo const opDeleteBucketReplication = "DeleteBucketReplication" -// DeleteBucketReplicationRequest generates a request for the DeleteBucketReplication operation. +// DeleteBucketReplicationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteBucketReplication operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteBucketReplication for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteBucketReplication method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteBucketReplicationRequest method. +// req, resp := client.DeleteBucketReplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) DeleteBucketReplicationRequest(input *DeleteBucketReplicationInput) (req *request.Request, output *DeleteBucketReplicationOutput) { op := &request.Operation{ Name: opDeleteBucketReplication, @@ -298,7 +629,16 @@ func (c *S3) DeleteBucketReplicationRequest(input *DeleteBucketReplicationInput) return } +// DeleteBucketReplication API operation for Amazon Simple Storage Service. +// // Deletes the replication configuration from the 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation DeleteBucketReplication for usage and error information. func (c *S3) DeleteBucketReplication(input *DeleteBucketReplicationInput) (*DeleteBucketReplicationOutput, error) { req, out := c.DeleteBucketReplicationRequest(input) err := req.Send() @@ -307,7 +647,30 @@ func (c *S3) DeleteBucketReplication(input *DeleteBucketReplicationInput) (*Dele const opDeleteBucketTagging = "DeleteBucketTagging" -// DeleteBucketTaggingRequest generates a request for the DeleteBucketTagging operation. +// DeleteBucketTaggingRequest generates a "aws/request.Request" representing the +// client's request for the DeleteBucketTagging operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteBucketTagging for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteBucketTagging method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteBucketTaggingRequest method. +// req, resp := client.DeleteBucketTaggingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) DeleteBucketTaggingRequest(input *DeleteBucketTaggingInput) (req *request.Request, output *DeleteBucketTaggingOutput) { op := &request.Operation{ Name: opDeleteBucketTagging, @@ -327,7 +690,16 @@ func (c *S3) DeleteBucketTaggingRequest(input *DeleteBucketTaggingInput) (req *r return } +// DeleteBucketTagging API operation for Amazon Simple Storage Service. +// // Deletes the tags from the 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation DeleteBucketTagging for usage and error information. func (c *S3) DeleteBucketTagging(input *DeleteBucketTaggingInput) (*DeleteBucketTaggingOutput, error) { req, out := c.DeleteBucketTaggingRequest(input) err := req.Send() @@ -336,7 +708,30 @@ func (c *S3) DeleteBucketTagging(input *DeleteBucketTaggingInput) (*DeleteBucket const opDeleteBucketWebsite = "DeleteBucketWebsite" -// DeleteBucketWebsiteRequest generates a request for the DeleteBucketWebsite operation. +// DeleteBucketWebsiteRequest generates a "aws/request.Request" representing the +// client's request for the DeleteBucketWebsite operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteBucketWebsite for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteBucketWebsite method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteBucketWebsiteRequest method. +// req, resp := client.DeleteBucketWebsiteRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) DeleteBucketWebsiteRequest(input *DeleteBucketWebsiteInput) (req *request.Request, output *DeleteBucketWebsiteOutput) { op := &request.Operation{ Name: opDeleteBucketWebsite, @@ -356,7 +751,16 @@ func (c *S3) DeleteBucketWebsiteRequest(input *DeleteBucketWebsiteInput) (req *r return } +// DeleteBucketWebsite API operation for Amazon Simple Storage Service. +// // This operation removes the website configuration from the 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation DeleteBucketWebsite for usage and error information. func (c *S3) DeleteBucketWebsite(input *DeleteBucketWebsiteInput) (*DeleteBucketWebsiteOutput, error) { req, out := c.DeleteBucketWebsiteRequest(input) err := req.Send() @@ -365,7 +769,30 @@ func (c *S3) DeleteBucketWebsite(input *DeleteBucketWebsiteInput) (*DeleteBucket const opDeleteObject = "DeleteObject" -// DeleteObjectRequest generates a request for the DeleteObject operation. +// DeleteObjectRequest generates a "aws/request.Request" representing the +// client's request for the DeleteObject operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteObject for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteObject method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteObjectRequest method. +// req, resp := client.DeleteObjectRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) DeleteObjectRequest(input *DeleteObjectInput) (req *request.Request, output *DeleteObjectOutput) { op := &request.Operation{ Name: opDeleteObject, @@ -383,9 +810,18 @@ func (c *S3) DeleteObjectRequest(input *DeleteObjectInput) (req *request.Request return } +// DeleteObject API operation for Amazon Simple Storage Service. +// // Removes the null version (if there is one) of an object and inserts a delete // marker, which becomes the latest version of the object. If there isn't a // null version, Amazon S3 does not remove any objects. +// +// 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 Simple Storage Service's +// API operation DeleteObject for usage and error information. func (c *S3) DeleteObject(input *DeleteObjectInput) (*DeleteObjectOutput, error) { req, out := c.DeleteObjectRequest(input) err := req.Send() @@ -394,7 +830,30 @@ func (c *S3) DeleteObject(input *DeleteObjectInput) (*DeleteObjectOutput, error) const opDeleteObjects = "DeleteObjects" -// DeleteObjectsRequest generates a request for the DeleteObjects operation. +// DeleteObjectsRequest generates a "aws/request.Request" representing the +// client's request for the DeleteObjects operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteObjects for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteObjects method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteObjectsRequest method. +// req, resp := client.DeleteObjectsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) DeleteObjectsRequest(input *DeleteObjectsInput) (req *request.Request, output *DeleteObjectsOutput) { op := &request.Operation{ Name: opDeleteObjects, @@ -412,8 +871,17 @@ func (c *S3) DeleteObjectsRequest(input *DeleteObjectsInput) (req *request.Reque return } +// DeleteObjects API operation for Amazon Simple Storage Service. +// // This operation enables you to delete multiple objects from a bucket using // a single HTTP request. You may specify up to 1000 keys. +// +// 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 Simple Storage Service's +// API operation DeleteObjects for usage and error information. func (c *S3) DeleteObjects(input *DeleteObjectsInput) (*DeleteObjectsOutput, error) { req, out := c.DeleteObjectsRequest(input) err := req.Send() @@ -422,7 +890,30 @@ func (c *S3) DeleteObjects(input *DeleteObjectsInput) (*DeleteObjectsOutput, err const opGetBucketAccelerateConfiguration = "GetBucketAccelerateConfiguration" -// GetBucketAccelerateConfigurationRequest generates a request for the GetBucketAccelerateConfiguration operation. +// GetBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the GetBucketAccelerateConfiguration operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetBucketAccelerateConfiguration for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetBucketAccelerateConfiguration method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetBucketAccelerateConfigurationRequest method. +// req, resp := client.GetBucketAccelerateConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) GetBucketAccelerateConfigurationRequest(input *GetBucketAccelerateConfigurationInput) (req *request.Request, output *GetBucketAccelerateConfigurationOutput) { op := &request.Operation{ Name: opGetBucketAccelerateConfiguration, @@ -440,7 +931,16 @@ func (c *S3) GetBucketAccelerateConfigurationRequest(input *GetBucketAccelerateC return } +// GetBucketAccelerateConfiguration API operation for Amazon Simple Storage Service. +// // Returns the accelerate configuration of a 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation GetBucketAccelerateConfiguration for usage and error information. func (c *S3) GetBucketAccelerateConfiguration(input *GetBucketAccelerateConfigurationInput) (*GetBucketAccelerateConfigurationOutput, error) { req, out := c.GetBucketAccelerateConfigurationRequest(input) err := req.Send() @@ -449,7 +949,30 @@ func (c *S3) GetBucketAccelerateConfiguration(input *GetBucketAccelerateConfigur const opGetBucketAcl = "GetBucketAcl" -// GetBucketAclRequest generates a request for the GetBucketAcl operation. +// GetBucketAclRequest generates a "aws/request.Request" representing the +// client's request for the GetBucketAcl operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetBucketAcl for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetBucketAcl method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetBucketAclRequest method. +// req, resp := client.GetBucketAclRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) GetBucketAclRequest(input *GetBucketAclInput) (req *request.Request, output *GetBucketAclOutput) { op := &request.Operation{ Name: opGetBucketAcl, @@ -467,7 +990,16 @@ func (c *S3) GetBucketAclRequest(input *GetBucketAclInput) (req *request.Request return } +// GetBucketAcl API operation for Amazon Simple Storage Service. +// // Gets the access control policy for the 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation GetBucketAcl for usage and error information. func (c *S3) GetBucketAcl(input *GetBucketAclInput) (*GetBucketAclOutput, error) { req, out := c.GetBucketAclRequest(input) err := req.Send() @@ -476,7 +1008,30 @@ func (c *S3) GetBucketAcl(input *GetBucketAclInput) (*GetBucketAclOutput, error) const opGetBucketCors = "GetBucketCors" -// GetBucketCorsRequest generates a request for the GetBucketCors operation. +// GetBucketCorsRequest generates a "aws/request.Request" representing the +// client's request for the GetBucketCors operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetBucketCors for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetBucketCors method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetBucketCorsRequest method. +// req, resp := client.GetBucketCorsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) GetBucketCorsRequest(input *GetBucketCorsInput) (req *request.Request, output *GetBucketCorsOutput) { op := &request.Operation{ Name: opGetBucketCors, @@ -494,7 +1049,16 @@ func (c *S3) GetBucketCorsRequest(input *GetBucketCorsInput) (req *request.Reque return } +// GetBucketCors API operation for Amazon Simple Storage Service. +// // Returns the cors configuration for the 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation GetBucketCors for usage and error information. func (c *S3) GetBucketCors(input *GetBucketCorsInput) (*GetBucketCorsOutput, error) { req, out := c.GetBucketCorsRequest(input) err := req.Send() @@ -503,7 +1067,30 @@ func (c *S3) GetBucketCors(input *GetBucketCorsInput) (*GetBucketCorsOutput, err const opGetBucketLifecycle = "GetBucketLifecycle" -// GetBucketLifecycleRequest generates a request for the GetBucketLifecycle operation. +// GetBucketLifecycleRequest generates a "aws/request.Request" representing the +// client's request for the GetBucketLifecycle operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetBucketLifecycle for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetBucketLifecycle method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetBucketLifecycleRequest method. +// req, resp := client.GetBucketLifecycleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) GetBucketLifecycleRequest(input *GetBucketLifecycleInput) (req *request.Request, output *GetBucketLifecycleOutput) { if c.Client.Config.Logger != nil { c.Client.Config.Logger.Log("This operation, GetBucketLifecycle, has been deprecated") @@ -524,7 +1111,16 @@ func (c *S3) GetBucketLifecycleRequest(input *GetBucketLifecycleInput) (req *req return } +// GetBucketLifecycle API operation for Amazon Simple Storage Service. +// // Deprecated, see the GetBucketLifecycleConfiguration operation. +// +// 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 Simple Storage Service's +// API operation GetBucketLifecycle for usage and error information. func (c *S3) GetBucketLifecycle(input *GetBucketLifecycleInput) (*GetBucketLifecycleOutput, error) { req, out := c.GetBucketLifecycleRequest(input) err := req.Send() @@ -533,7 +1129,30 @@ func (c *S3) GetBucketLifecycle(input *GetBucketLifecycleInput) (*GetBucketLifec const opGetBucketLifecycleConfiguration = "GetBucketLifecycleConfiguration" -// GetBucketLifecycleConfigurationRequest generates a request for the GetBucketLifecycleConfiguration operation. +// GetBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the GetBucketLifecycleConfiguration operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetBucketLifecycleConfiguration for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetBucketLifecycleConfiguration method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetBucketLifecycleConfigurationRequest method. +// req, resp := client.GetBucketLifecycleConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) GetBucketLifecycleConfigurationRequest(input *GetBucketLifecycleConfigurationInput) (req *request.Request, output *GetBucketLifecycleConfigurationOutput) { op := &request.Operation{ Name: opGetBucketLifecycleConfiguration, @@ -551,7 +1170,16 @@ func (c *S3) GetBucketLifecycleConfigurationRequest(input *GetBucketLifecycleCon return } +// GetBucketLifecycleConfiguration API operation for Amazon Simple Storage Service. +// // Returns the lifecycle configuration information set on the 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation GetBucketLifecycleConfiguration for usage and error information. func (c *S3) GetBucketLifecycleConfiguration(input *GetBucketLifecycleConfigurationInput) (*GetBucketLifecycleConfigurationOutput, error) { req, out := c.GetBucketLifecycleConfigurationRequest(input) err := req.Send() @@ -560,7 +1188,30 @@ func (c *S3) GetBucketLifecycleConfiguration(input *GetBucketLifecycleConfigurat const opGetBucketLocation = "GetBucketLocation" -// GetBucketLocationRequest generates a request for the GetBucketLocation operation. +// GetBucketLocationRequest generates a "aws/request.Request" representing the +// client's request for the GetBucketLocation operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetBucketLocation for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetBucketLocation method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetBucketLocationRequest method. +// req, resp := client.GetBucketLocationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) GetBucketLocationRequest(input *GetBucketLocationInput) (req *request.Request, output *GetBucketLocationOutput) { op := &request.Operation{ Name: opGetBucketLocation, @@ -578,7 +1229,16 @@ func (c *S3) GetBucketLocationRequest(input *GetBucketLocationInput) (req *reque return } +// GetBucketLocation API operation for Amazon Simple Storage Service. +// // Returns the region the bucket resides in. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation GetBucketLocation for usage and error information. func (c *S3) GetBucketLocation(input *GetBucketLocationInput) (*GetBucketLocationOutput, error) { req, out := c.GetBucketLocationRequest(input) err := req.Send() @@ -587,7 +1247,30 @@ func (c *S3) GetBucketLocation(input *GetBucketLocationInput) (*GetBucketLocatio const opGetBucketLogging = "GetBucketLogging" -// GetBucketLoggingRequest generates a request for the GetBucketLogging operation. +// GetBucketLoggingRequest generates a "aws/request.Request" representing the +// client's request for the GetBucketLogging operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetBucketLogging for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetBucketLogging method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetBucketLoggingRequest method. +// req, resp := client.GetBucketLoggingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) GetBucketLoggingRequest(input *GetBucketLoggingInput) (req *request.Request, output *GetBucketLoggingOutput) { op := &request.Operation{ Name: opGetBucketLogging, @@ -605,8 +1288,17 @@ func (c *S3) GetBucketLoggingRequest(input *GetBucketLoggingInput) (req *request return } +// GetBucketLogging API operation for Amazon Simple Storage Service. +// // Returns the logging status of a bucket and the permissions users have to // view and modify that status. To use GET, you must be the bucket owner. +// +// 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 Simple Storage Service's +// API operation GetBucketLogging for usage and error information. func (c *S3) GetBucketLogging(input *GetBucketLoggingInput) (*GetBucketLoggingOutput, error) { req, out := c.GetBucketLoggingRequest(input) err := req.Send() @@ -615,7 +1307,30 @@ func (c *S3) GetBucketLogging(input *GetBucketLoggingInput) (*GetBucketLoggingOu const opGetBucketNotification = "GetBucketNotification" -// GetBucketNotificationRequest generates a request for the GetBucketNotification operation. +// GetBucketNotificationRequest generates a "aws/request.Request" representing the +// client's request for the GetBucketNotification operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetBucketNotification for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetBucketNotification method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetBucketNotificationRequest method. +// req, resp := client.GetBucketNotificationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) GetBucketNotificationRequest(input *GetBucketNotificationConfigurationRequest) (req *request.Request, output *NotificationConfigurationDeprecated) { if c.Client.Config.Logger != nil { c.Client.Config.Logger.Log("This operation, GetBucketNotification, has been deprecated") @@ -636,7 +1351,16 @@ func (c *S3) GetBucketNotificationRequest(input *GetBucketNotificationConfigurat return } +// GetBucketNotification API operation for Amazon Simple Storage Service. +// // Deprecated, see the GetBucketNotificationConfiguration operation. +// +// 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 Simple Storage Service's +// API operation GetBucketNotification for usage and error information. func (c *S3) GetBucketNotification(input *GetBucketNotificationConfigurationRequest) (*NotificationConfigurationDeprecated, error) { req, out := c.GetBucketNotificationRequest(input) err := req.Send() @@ -645,7 +1369,30 @@ func (c *S3) GetBucketNotification(input *GetBucketNotificationConfigurationRequ const opGetBucketNotificationConfiguration = "GetBucketNotificationConfiguration" -// GetBucketNotificationConfigurationRequest generates a request for the GetBucketNotificationConfiguration operation. +// GetBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the GetBucketNotificationConfiguration operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetBucketNotificationConfiguration for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetBucketNotificationConfiguration method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetBucketNotificationConfigurationRequest method. +// req, resp := client.GetBucketNotificationConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) GetBucketNotificationConfigurationRequest(input *GetBucketNotificationConfigurationRequest) (req *request.Request, output *NotificationConfiguration) { op := &request.Operation{ Name: opGetBucketNotificationConfiguration, @@ -663,7 +1410,16 @@ func (c *S3) GetBucketNotificationConfigurationRequest(input *GetBucketNotificat return } +// GetBucketNotificationConfiguration API operation for Amazon Simple Storage Service. +// // Returns the notification configuration of a 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation GetBucketNotificationConfiguration for usage and error information. func (c *S3) GetBucketNotificationConfiguration(input *GetBucketNotificationConfigurationRequest) (*NotificationConfiguration, error) { req, out := c.GetBucketNotificationConfigurationRequest(input) err := req.Send() @@ -672,7 +1428,30 @@ func (c *S3) GetBucketNotificationConfiguration(input *GetBucketNotificationConf const opGetBucketPolicy = "GetBucketPolicy" -// GetBucketPolicyRequest generates a request for the GetBucketPolicy operation. +// GetBucketPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetBucketPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetBucketPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetBucketPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetBucketPolicyRequest method. +// req, resp := client.GetBucketPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) GetBucketPolicyRequest(input *GetBucketPolicyInput) (req *request.Request, output *GetBucketPolicyOutput) { op := &request.Operation{ Name: opGetBucketPolicy, @@ -690,7 +1469,16 @@ func (c *S3) GetBucketPolicyRequest(input *GetBucketPolicyInput) (req *request.R return } +// GetBucketPolicy API operation for Amazon Simple Storage Service. +// // Returns the policy of a specified 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation GetBucketPolicy for usage and error information. func (c *S3) GetBucketPolicy(input *GetBucketPolicyInput) (*GetBucketPolicyOutput, error) { req, out := c.GetBucketPolicyRequest(input) err := req.Send() @@ -699,7 +1487,30 @@ func (c *S3) GetBucketPolicy(input *GetBucketPolicyInput) (*GetBucketPolicyOutpu const opGetBucketReplication = "GetBucketReplication" -// GetBucketReplicationRequest generates a request for the GetBucketReplication operation. +// GetBucketReplicationRequest generates a "aws/request.Request" representing the +// client's request for the GetBucketReplication operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetBucketReplication for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetBucketReplication method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetBucketReplicationRequest method. +// req, resp := client.GetBucketReplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) GetBucketReplicationRequest(input *GetBucketReplicationInput) (req *request.Request, output *GetBucketReplicationOutput) { op := &request.Operation{ Name: opGetBucketReplication, @@ -717,7 +1528,16 @@ func (c *S3) GetBucketReplicationRequest(input *GetBucketReplicationInput) (req return } -// Deprecated, see the GetBucketReplicationConfiguration operation. +// GetBucketReplication API operation for Amazon Simple Storage Service. +// +// Returns the replication configuration of a 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation GetBucketReplication for usage and error information. func (c *S3) GetBucketReplication(input *GetBucketReplicationInput) (*GetBucketReplicationOutput, error) { req, out := c.GetBucketReplicationRequest(input) err := req.Send() @@ -726,7 +1546,30 @@ func (c *S3) GetBucketReplication(input *GetBucketReplicationInput) (*GetBucketR const opGetBucketRequestPayment = "GetBucketRequestPayment" -// GetBucketRequestPaymentRequest generates a request for the GetBucketRequestPayment operation. +// GetBucketRequestPaymentRequest generates a "aws/request.Request" representing the +// client's request for the GetBucketRequestPayment operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetBucketRequestPayment for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetBucketRequestPayment method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetBucketRequestPaymentRequest method. +// req, resp := client.GetBucketRequestPaymentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) GetBucketRequestPaymentRequest(input *GetBucketRequestPaymentInput) (req *request.Request, output *GetBucketRequestPaymentOutput) { op := &request.Operation{ Name: opGetBucketRequestPayment, @@ -744,7 +1587,16 @@ func (c *S3) GetBucketRequestPaymentRequest(input *GetBucketRequestPaymentInput) return } +// GetBucketRequestPayment API operation for Amazon Simple Storage Service. +// // Returns the request payment configuration of a 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation GetBucketRequestPayment for usage and error information. func (c *S3) GetBucketRequestPayment(input *GetBucketRequestPaymentInput) (*GetBucketRequestPaymentOutput, error) { req, out := c.GetBucketRequestPaymentRequest(input) err := req.Send() @@ -753,7 +1605,30 @@ func (c *S3) GetBucketRequestPayment(input *GetBucketRequestPaymentInput) (*GetB const opGetBucketTagging = "GetBucketTagging" -// GetBucketTaggingRequest generates a request for the GetBucketTagging operation. +// GetBucketTaggingRequest generates a "aws/request.Request" representing the +// client's request for the GetBucketTagging operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetBucketTagging for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetBucketTagging method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetBucketTaggingRequest method. +// req, resp := client.GetBucketTaggingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) GetBucketTaggingRequest(input *GetBucketTaggingInput) (req *request.Request, output *GetBucketTaggingOutput) { op := &request.Operation{ Name: opGetBucketTagging, @@ -771,7 +1646,16 @@ func (c *S3) GetBucketTaggingRequest(input *GetBucketTaggingInput) (req *request return } +// GetBucketTagging API operation for Amazon Simple Storage Service. +// // Returns the tag set associated with the 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation GetBucketTagging for usage and error information. func (c *S3) GetBucketTagging(input *GetBucketTaggingInput) (*GetBucketTaggingOutput, error) { req, out := c.GetBucketTaggingRequest(input) err := req.Send() @@ -780,7 +1664,30 @@ func (c *S3) GetBucketTagging(input *GetBucketTaggingInput) (*GetBucketTaggingOu const opGetBucketVersioning = "GetBucketVersioning" -// GetBucketVersioningRequest generates a request for the GetBucketVersioning operation. +// GetBucketVersioningRequest generates a "aws/request.Request" representing the +// client's request for the GetBucketVersioning operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetBucketVersioning for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetBucketVersioning method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetBucketVersioningRequest method. +// req, resp := client.GetBucketVersioningRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) GetBucketVersioningRequest(input *GetBucketVersioningInput) (req *request.Request, output *GetBucketVersioningOutput) { op := &request.Operation{ Name: opGetBucketVersioning, @@ -798,7 +1705,16 @@ func (c *S3) GetBucketVersioningRequest(input *GetBucketVersioningInput) (req *r return } +// GetBucketVersioning API operation for Amazon Simple Storage Service. +// // Returns the versioning state of a 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation GetBucketVersioning for usage and error information. func (c *S3) GetBucketVersioning(input *GetBucketVersioningInput) (*GetBucketVersioningOutput, error) { req, out := c.GetBucketVersioningRequest(input) err := req.Send() @@ -807,7 +1723,30 @@ func (c *S3) GetBucketVersioning(input *GetBucketVersioningInput) (*GetBucketVer const opGetBucketWebsite = "GetBucketWebsite" -// GetBucketWebsiteRequest generates a request for the GetBucketWebsite operation. +// GetBucketWebsiteRequest generates a "aws/request.Request" representing the +// client's request for the GetBucketWebsite operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetBucketWebsite for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetBucketWebsite method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetBucketWebsiteRequest method. +// req, resp := client.GetBucketWebsiteRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) GetBucketWebsiteRequest(input *GetBucketWebsiteInput) (req *request.Request, output *GetBucketWebsiteOutput) { op := &request.Operation{ Name: opGetBucketWebsite, @@ -825,7 +1764,16 @@ func (c *S3) GetBucketWebsiteRequest(input *GetBucketWebsiteInput) (req *request return } +// GetBucketWebsite API operation for Amazon Simple Storage Service. +// // Returns the website configuration for a 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation GetBucketWebsite for usage and error information. func (c *S3) GetBucketWebsite(input *GetBucketWebsiteInput) (*GetBucketWebsiteOutput, error) { req, out := c.GetBucketWebsiteRequest(input) err := req.Send() @@ -834,7 +1782,30 @@ func (c *S3) GetBucketWebsite(input *GetBucketWebsiteInput) (*GetBucketWebsiteOu const opGetObject = "GetObject" -// GetObjectRequest generates a request for the GetObject operation. +// GetObjectRequest generates a "aws/request.Request" representing the +// client's request for the GetObject operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetObject for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetObject method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetObjectRequest method. +// req, resp := client.GetObjectRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) GetObjectRequest(input *GetObjectInput) (req *request.Request, output *GetObjectOutput) { op := &request.Operation{ Name: opGetObject, @@ -852,7 +1823,21 @@ func (c *S3) GetObjectRequest(input *GetObjectInput) (req *request.Request, outp return } +// GetObject API operation for Amazon Simple Storage Service. +// // Retrieves objects from Amazon S3. +// +// 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 Simple Storage Service's +// API operation GetObject for usage and error information. +// +// Returned Error Codes: +// * NoSuchKey +// The specified key does not exist. +// func (c *S3) GetObject(input *GetObjectInput) (*GetObjectOutput, error) { req, out := c.GetObjectRequest(input) err := req.Send() @@ -861,7 +1846,30 @@ func (c *S3) GetObject(input *GetObjectInput) (*GetObjectOutput, error) { const opGetObjectAcl = "GetObjectAcl" -// GetObjectAclRequest generates a request for the GetObjectAcl operation. +// GetObjectAclRequest generates a "aws/request.Request" representing the +// client's request for the GetObjectAcl operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetObjectAcl for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetObjectAcl method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetObjectAclRequest method. +// req, resp := client.GetObjectAclRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) GetObjectAclRequest(input *GetObjectAclInput) (req *request.Request, output *GetObjectAclOutput) { op := &request.Operation{ Name: opGetObjectAcl, @@ -879,7 +1887,21 @@ func (c *S3) GetObjectAclRequest(input *GetObjectAclInput) (req *request.Request return } +// GetObjectAcl API operation for Amazon Simple Storage Service. +// // Returns the access control list (ACL) of an object. +// +// 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 Simple Storage Service's +// API operation GetObjectAcl for usage and error information. +// +// Returned Error Codes: +// * NoSuchKey +// The specified key does not exist. +// func (c *S3) GetObjectAcl(input *GetObjectAclInput) (*GetObjectAclOutput, error) { req, out := c.GetObjectAclRequest(input) err := req.Send() @@ -888,7 +1910,30 @@ func (c *S3) GetObjectAcl(input *GetObjectAclInput) (*GetObjectAclOutput, error) const opGetObjectTorrent = "GetObjectTorrent" -// GetObjectTorrentRequest generates a request for the GetObjectTorrent operation. +// GetObjectTorrentRequest generates a "aws/request.Request" representing the +// client's request for the GetObjectTorrent operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetObjectTorrent for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetObjectTorrent method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetObjectTorrentRequest method. +// req, resp := client.GetObjectTorrentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) GetObjectTorrentRequest(input *GetObjectTorrentInput) (req *request.Request, output *GetObjectTorrentOutput) { op := &request.Operation{ Name: opGetObjectTorrent, @@ -906,7 +1951,16 @@ func (c *S3) GetObjectTorrentRequest(input *GetObjectTorrentInput) (req *request return } +// GetObjectTorrent API operation for Amazon Simple Storage Service. +// // Return torrent files from a 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation GetObjectTorrent for usage and error information. func (c *S3) GetObjectTorrent(input *GetObjectTorrentInput) (*GetObjectTorrentOutput, error) { req, out := c.GetObjectTorrentRequest(input) err := req.Send() @@ -915,7 +1969,30 @@ func (c *S3) GetObjectTorrent(input *GetObjectTorrentInput) (*GetObjectTorrentOu const opHeadBucket = "HeadBucket" -// HeadBucketRequest generates a request for the HeadBucket operation. +// HeadBucketRequest generates a "aws/request.Request" representing the +// client's request for the HeadBucket operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See HeadBucket for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the HeadBucket method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the HeadBucketRequest method. +// req, resp := client.HeadBucketRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) HeadBucketRequest(input *HeadBucketInput) (req *request.Request, output *HeadBucketOutput) { op := &request.Operation{ Name: opHeadBucket, @@ -935,8 +2012,22 @@ func (c *S3) HeadBucketRequest(input *HeadBucketInput) (req *request.Request, ou return } +// HeadBucket API operation for Amazon Simple Storage Service. +// // This operation is useful to determine if a bucket exists and you have permission // to access it. +// +// 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 Simple Storage Service's +// API operation HeadBucket for usage and error information. +// +// Returned Error Codes: +// * NoSuchBucket +// The specified bucket does not exist. +// func (c *S3) HeadBucket(input *HeadBucketInput) (*HeadBucketOutput, error) { req, out := c.HeadBucketRequest(input) err := req.Send() @@ -945,7 +2036,30 @@ func (c *S3) HeadBucket(input *HeadBucketInput) (*HeadBucketOutput, error) { const opHeadObject = "HeadObject" -// HeadObjectRequest generates a request for the HeadObject operation. +// HeadObjectRequest generates a "aws/request.Request" representing the +// client's request for the HeadObject operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See HeadObject for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the HeadObject method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the HeadObjectRequest method. +// req, resp := client.HeadObjectRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) HeadObjectRequest(input *HeadObjectInput) (req *request.Request, output *HeadObjectOutput) { op := &request.Operation{ Name: opHeadObject, @@ -963,9 +2077,23 @@ func (c *S3) HeadObjectRequest(input *HeadObjectInput) (req *request.Request, ou return } +// HeadObject API operation for Amazon Simple Storage Service. +// // The HEAD operation retrieves metadata from an object without returning the // object itself. This operation is useful if you're only interested in an object's // metadata. To use HEAD, you must have READ access to the object. +// +// 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 Simple Storage Service's +// API operation HeadObject for usage and error information. +// +// Returned Error Codes: +// * NoSuchKey +// The specified key does not exist. +// func (c *S3) HeadObject(input *HeadObjectInput) (*HeadObjectOutput, error) { req, out := c.HeadObjectRequest(input) err := req.Send() @@ -974,7 +2102,30 @@ func (c *S3) HeadObject(input *HeadObjectInput) (*HeadObjectOutput, error) { const opListBuckets = "ListBuckets" -// ListBucketsRequest generates a request for the ListBuckets operation. +// ListBucketsRequest generates a "aws/request.Request" representing the +// client's request for the ListBuckets operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListBuckets for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListBuckets method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListBucketsRequest method. +// req, resp := client.ListBucketsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) ListBucketsRequest(input *ListBucketsInput) (req *request.Request, output *ListBucketsOutput) { op := &request.Operation{ Name: opListBuckets, @@ -992,7 +2143,16 @@ func (c *S3) ListBucketsRequest(input *ListBucketsInput) (req *request.Request, return } +// ListBuckets API operation for Amazon Simple Storage Service. +// // Returns a list of all buckets owned by the authenticated sender of the request. +// +// 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 Simple Storage Service's +// API operation ListBuckets for usage and error information. func (c *S3) ListBuckets(input *ListBucketsInput) (*ListBucketsOutput, error) { req, out := c.ListBucketsRequest(input) err := req.Send() @@ -1001,7 +2161,30 @@ func (c *S3) ListBuckets(input *ListBucketsInput) (*ListBucketsOutput, error) { const opListMultipartUploads = "ListMultipartUploads" -// ListMultipartUploadsRequest generates a request for the ListMultipartUploads operation. +// ListMultipartUploadsRequest generates a "aws/request.Request" representing the +// client's request for the ListMultipartUploads operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListMultipartUploads for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListMultipartUploads method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListMultipartUploadsRequest method. +// req, resp := client.ListMultipartUploadsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) ListMultipartUploadsRequest(input *ListMultipartUploadsInput) (req *request.Request, output *ListMultipartUploadsOutput) { op := &request.Operation{ Name: opListMultipartUploads, @@ -1025,13 +2208,39 @@ func (c *S3) ListMultipartUploadsRequest(input *ListMultipartUploadsInput) (req return } +// ListMultipartUploads API operation for Amazon Simple Storage Service. +// // This operation lists in-progress multipart uploads. +// +// 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 Simple Storage Service's +// API operation ListMultipartUploads for usage and error information. func (c *S3) ListMultipartUploads(input *ListMultipartUploadsInput) (*ListMultipartUploadsOutput, error) { req, out := c.ListMultipartUploadsRequest(input) err := req.Send() return out, err } +// ListMultipartUploadsPages iterates over the pages of a ListMultipartUploads operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListMultipartUploads 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 ListMultipartUploads operation. +// pageNum := 0 +// err := client.ListMultipartUploadsPages(params, +// func(page *ListMultipartUploadsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *S3) ListMultipartUploadsPages(input *ListMultipartUploadsInput, fn func(p *ListMultipartUploadsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListMultipartUploadsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1042,7 +2251,30 @@ func (c *S3) ListMultipartUploadsPages(input *ListMultipartUploadsInput, fn func const opListObjectVersions = "ListObjectVersions" -// ListObjectVersionsRequest generates a request for the ListObjectVersions operation. +// ListObjectVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListObjectVersions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListObjectVersions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListObjectVersions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListObjectVersionsRequest method. +// req, resp := client.ListObjectVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) ListObjectVersionsRequest(input *ListObjectVersionsInput) (req *request.Request, output *ListObjectVersionsOutput) { op := &request.Operation{ Name: opListObjectVersions, @@ -1066,13 +2298,39 @@ func (c *S3) ListObjectVersionsRequest(input *ListObjectVersionsInput) (req *req return } +// ListObjectVersions API operation for Amazon Simple Storage Service. +// // Returns metadata about all of the versions of objects in a 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation ListObjectVersions for usage and error information. func (c *S3) ListObjectVersions(input *ListObjectVersionsInput) (*ListObjectVersionsOutput, error) { req, out := c.ListObjectVersionsRequest(input) err := req.Send() return out, err } +// ListObjectVersionsPages iterates over the pages of a ListObjectVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListObjectVersions 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 ListObjectVersions operation. +// pageNum := 0 +// err := client.ListObjectVersionsPages(params, +// func(page *ListObjectVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *S3) ListObjectVersionsPages(input *ListObjectVersionsInput, fn func(p *ListObjectVersionsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListObjectVersionsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1083,7 +2341,30 @@ func (c *S3) ListObjectVersionsPages(input *ListObjectVersionsInput, fn func(p * const opListObjects = "ListObjects" -// ListObjectsRequest generates a request for the ListObjects operation. +// ListObjectsRequest generates a "aws/request.Request" representing the +// client's request for the ListObjects operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListObjects for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListObjects method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListObjectsRequest method. +// req, resp := client.ListObjectsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) ListObjectsRequest(input *ListObjectsInput) (req *request.Request, output *ListObjectsOutput) { op := &request.Operation{ Name: opListObjects, @@ -1107,15 +2388,46 @@ func (c *S3) ListObjectsRequest(input *ListObjectsInput) (req *request.Request, return } +// ListObjects API operation for Amazon Simple Storage Service. +// // Returns some or all (up to 1000) of the objects in a bucket. You can use // the request parameters as selection criteria to return a subset of the objects // in a 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation ListObjects for usage and error information. +// +// Returned Error Codes: +// * NoSuchBucket +// The specified bucket does not exist. +// func (c *S3) ListObjects(input *ListObjectsInput) (*ListObjectsOutput, error) { req, out := c.ListObjectsRequest(input) err := req.Send() return out, err } +// ListObjectsPages iterates over the pages of a ListObjects operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListObjects 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 ListObjects operation. +// pageNum := 0 +// err := client.ListObjectsPages(params, +// func(page *ListObjectsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *S3) ListObjectsPages(input *ListObjectsInput, fn func(p *ListObjectsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListObjectsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1124,9 +2436,130 @@ func (c *S3) ListObjectsPages(input *ListObjectsInput, fn func(p *ListObjectsOut }) } +const opListObjectsV2 = "ListObjectsV2" + +// ListObjectsV2Request generates a "aws/request.Request" representing the +// client's request for the ListObjectsV2 operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListObjectsV2 for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListObjectsV2 method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListObjectsV2Request method. +// req, resp := client.ListObjectsV2Request(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *S3) ListObjectsV2Request(input *ListObjectsV2Input) (req *request.Request, output *ListObjectsV2Output) { + op := &request.Operation{ + Name: opListObjectsV2, + HTTPMethod: "GET", + HTTPPath: "/{Bucket}?list-type=2", + Paginator: &request.Paginator{ + InputTokens: []string{"ContinuationToken"}, + OutputTokens: []string{"NextContinuationToken"}, + LimitToken: "MaxKeys", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListObjectsV2Input{} + } + + req = c.newRequest(op, input, output) + output = &ListObjectsV2Output{} + req.Data = output + return +} + +// ListObjectsV2 API operation for Amazon Simple Storage Service. +// +// Returns some or all (up to 1000) of the objects in a bucket. You can use +// the request parameters as selection criteria to return a subset of the objects +// in a bucket. Note: ListObjectsV2 is the revised List Objects API and we recommend +// you use this revised API for new application development. +// +// 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 Simple Storage Service's +// API operation ListObjectsV2 for usage and error information. +// +// Returned Error Codes: +// * NoSuchBucket +// The specified bucket does not exist. +// +func (c *S3) ListObjectsV2(input *ListObjectsV2Input) (*ListObjectsV2Output, error) { + req, out := c.ListObjectsV2Request(input) + err := req.Send() + return out, err +} + +// ListObjectsV2Pages iterates over the pages of a ListObjectsV2 operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListObjectsV2 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 ListObjectsV2 operation. +// pageNum := 0 +// err := client.ListObjectsV2Pages(params, +// func(page *ListObjectsV2Output, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *S3) ListObjectsV2Pages(input *ListObjectsV2Input, fn func(p *ListObjectsV2Output, lastPage bool) (shouldContinue bool)) error { + page, _ := c.ListObjectsV2Request(input) + page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) + return page.EachPage(func(p interface{}, lastPage bool) bool { + return fn(p.(*ListObjectsV2Output), lastPage) + }) +} + const opListParts = "ListParts" -// ListPartsRequest generates a request for the ListParts operation. +// ListPartsRequest generates a "aws/request.Request" representing the +// client's request for the ListParts operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListParts for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListParts method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListPartsRequest method. +// req, resp := client.ListPartsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) ListPartsRequest(input *ListPartsInput) (req *request.Request, output *ListPartsOutput) { op := &request.Operation{ Name: opListParts, @@ -1150,13 +2583,39 @@ func (c *S3) ListPartsRequest(input *ListPartsInput) (req *request.Request, outp return } +// ListParts API operation for Amazon Simple Storage Service. +// // Lists the parts that have been uploaded for a specific multipart upload. +// +// 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 Simple Storage Service's +// API operation ListParts for usage and error information. func (c *S3) ListParts(input *ListPartsInput) (*ListPartsOutput, error) { req, out := c.ListPartsRequest(input) err := req.Send() return out, err } +// ListPartsPages iterates over the pages of a ListParts operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListParts 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 ListParts operation. +// pageNum := 0 +// err := client.ListPartsPages(params, +// func(page *ListPartsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *S3) ListPartsPages(input *ListPartsInput, fn func(p *ListPartsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListPartsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -1167,7 +2626,30 @@ func (c *S3) ListPartsPages(input *ListPartsInput, fn func(p *ListPartsOutput, l const opPutBucketAccelerateConfiguration = "PutBucketAccelerateConfiguration" -// PutBucketAccelerateConfigurationRequest generates a request for the PutBucketAccelerateConfiguration operation. +// PutBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the PutBucketAccelerateConfiguration operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutBucketAccelerateConfiguration for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutBucketAccelerateConfiguration method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutBucketAccelerateConfigurationRequest method. +// req, resp := client.PutBucketAccelerateConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) PutBucketAccelerateConfigurationRequest(input *PutBucketAccelerateConfigurationInput) (req *request.Request, output *PutBucketAccelerateConfigurationOutput) { op := &request.Operation{ Name: opPutBucketAccelerateConfiguration, @@ -1187,7 +2669,16 @@ func (c *S3) PutBucketAccelerateConfigurationRequest(input *PutBucketAccelerateC return } +// PutBucketAccelerateConfiguration API operation for Amazon Simple Storage Service. +// // Sets the accelerate configuration of an existing 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation PutBucketAccelerateConfiguration for usage and error information. func (c *S3) PutBucketAccelerateConfiguration(input *PutBucketAccelerateConfigurationInput) (*PutBucketAccelerateConfigurationOutput, error) { req, out := c.PutBucketAccelerateConfigurationRequest(input) err := req.Send() @@ -1196,7 +2687,30 @@ func (c *S3) PutBucketAccelerateConfiguration(input *PutBucketAccelerateConfigur const opPutBucketAcl = "PutBucketAcl" -// PutBucketAclRequest generates a request for the PutBucketAcl operation. +// PutBucketAclRequest generates a "aws/request.Request" representing the +// client's request for the PutBucketAcl operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutBucketAcl for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutBucketAcl method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutBucketAclRequest method. +// req, resp := client.PutBucketAclRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request, output *PutBucketAclOutput) { op := &request.Operation{ Name: opPutBucketAcl, @@ -1216,7 +2730,16 @@ func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request return } +// PutBucketAcl API operation for Amazon Simple Storage Service. +// // Sets the permissions on a bucket using access control lists (ACL). +// +// 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 Simple Storage Service's +// API operation PutBucketAcl for usage and error information. func (c *S3) PutBucketAcl(input *PutBucketAclInput) (*PutBucketAclOutput, error) { req, out := c.PutBucketAclRequest(input) err := req.Send() @@ -1225,7 +2748,30 @@ func (c *S3) PutBucketAcl(input *PutBucketAclInput) (*PutBucketAclOutput, error) const opPutBucketCors = "PutBucketCors" -// PutBucketCorsRequest generates a request for the PutBucketCors operation. +// PutBucketCorsRequest generates a "aws/request.Request" representing the +// client's request for the PutBucketCors operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutBucketCors for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutBucketCors method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutBucketCorsRequest method. +// req, resp := client.PutBucketCorsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) PutBucketCorsRequest(input *PutBucketCorsInput) (req *request.Request, output *PutBucketCorsOutput) { op := &request.Operation{ Name: opPutBucketCors, @@ -1245,7 +2791,16 @@ func (c *S3) PutBucketCorsRequest(input *PutBucketCorsInput) (req *request.Reque return } +// PutBucketCors API operation for Amazon Simple Storage Service. +// // Sets the cors configuration for a 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation PutBucketCors for usage and error information. func (c *S3) PutBucketCors(input *PutBucketCorsInput) (*PutBucketCorsOutput, error) { req, out := c.PutBucketCorsRequest(input) err := req.Send() @@ -1254,7 +2809,30 @@ func (c *S3) PutBucketCors(input *PutBucketCorsInput) (*PutBucketCorsOutput, err const opPutBucketLifecycle = "PutBucketLifecycle" -// PutBucketLifecycleRequest generates a request for the PutBucketLifecycle operation. +// PutBucketLifecycleRequest generates a "aws/request.Request" representing the +// client's request for the PutBucketLifecycle operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutBucketLifecycle for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutBucketLifecycle method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutBucketLifecycleRequest method. +// req, resp := client.PutBucketLifecycleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) PutBucketLifecycleRequest(input *PutBucketLifecycleInput) (req *request.Request, output *PutBucketLifecycleOutput) { if c.Client.Config.Logger != nil { c.Client.Config.Logger.Log("This operation, PutBucketLifecycle, has been deprecated") @@ -1277,7 +2855,16 @@ func (c *S3) PutBucketLifecycleRequest(input *PutBucketLifecycleInput) (req *req return } +// PutBucketLifecycle API operation for Amazon Simple Storage Service. +// // Deprecated, see the PutBucketLifecycleConfiguration operation. +// +// 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 Simple Storage Service's +// API operation PutBucketLifecycle for usage and error information. func (c *S3) PutBucketLifecycle(input *PutBucketLifecycleInput) (*PutBucketLifecycleOutput, error) { req, out := c.PutBucketLifecycleRequest(input) err := req.Send() @@ -1286,7 +2873,30 @@ func (c *S3) PutBucketLifecycle(input *PutBucketLifecycleInput) (*PutBucketLifec const opPutBucketLifecycleConfiguration = "PutBucketLifecycleConfiguration" -// PutBucketLifecycleConfigurationRequest generates a request for the PutBucketLifecycleConfiguration operation. +// PutBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the PutBucketLifecycleConfiguration operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutBucketLifecycleConfiguration for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutBucketLifecycleConfiguration method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutBucketLifecycleConfigurationRequest method. +// req, resp := client.PutBucketLifecycleConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) PutBucketLifecycleConfigurationRequest(input *PutBucketLifecycleConfigurationInput) (req *request.Request, output *PutBucketLifecycleConfigurationOutput) { op := &request.Operation{ Name: opPutBucketLifecycleConfiguration, @@ -1306,8 +2916,17 @@ func (c *S3) PutBucketLifecycleConfigurationRequest(input *PutBucketLifecycleCon return } +// PutBucketLifecycleConfiguration API operation for Amazon Simple Storage Service. +// // Sets lifecycle configuration for your bucket. If a lifecycle configuration // exists, it replaces it. +// +// 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 Simple Storage Service's +// API operation PutBucketLifecycleConfiguration for usage and error information. func (c *S3) PutBucketLifecycleConfiguration(input *PutBucketLifecycleConfigurationInput) (*PutBucketLifecycleConfigurationOutput, error) { req, out := c.PutBucketLifecycleConfigurationRequest(input) err := req.Send() @@ -1316,7 +2935,30 @@ func (c *S3) PutBucketLifecycleConfiguration(input *PutBucketLifecycleConfigurat const opPutBucketLogging = "PutBucketLogging" -// PutBucketLoggingRequest generates a request for the PutBucketLogging operation. +// PutBucketLoggingRequest generates a "aws/request.Request" representing the +// client's request for the PutBucketLogging operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutBucketLogging for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutBucketLogging method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutBucketLoggingRequest method. +// req, resp := client.PutBucketLoggingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) PutBucketLoggingRequest(input *PutBucketLoggingInput) (req *request.Request, output *PutBucketLoggingOutput) { op := &request.Operation{ Name: opPutBucketLogging, @@ -1336,9 +2978,18 @@ func (c *S3) PutBucketLoggingRequest(input *PutBucketLoggingInput) (req *request return } +// PutBucketLogging API operation for Amazon Simple Storage Service. +// // Set the logging parameters for a bucket and to specify permissions for who // can view and modify the logging parameters. To set the logging status of // a bucket, you must be the bucket owner. +// +// 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 Simple Storage Service's +// API operation PutBucketLogging for usage and error information. func (c *S3) PutBucketLogging(input *PutBucketLoggingInput) (*PutBucketLoggingOutput, error) { req, out := c.PutBucketLoggingRequest(input) err := req.Send() @@ -1347,7 +2998,30 @@ func (c *S3) PutBucketLogging(input *PutBucketLoggingInput) (*PutBucketLoggingOu const opPutBucketNotification = "PutBucketNotification" -// PutBucketNotificationRequest generates a request for the PutBucketNotification operation. +// PutBucketNotificationRequest generates a "aws/request.Request" representing the +// client's request for the PutBucketNotification operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutBucketNotification for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutBucketNotification method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutBucketNotificationRequest method. +// req, resp := client.PutBucketNotificationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) PutBucketNotificationRequest(input *PutBucketNotificationInput) (req *request.Request, output *PutBucketNotificationOutput) { if c.Client.Config.Logger != nil { c.Client.Config.Logger.Log("This operation, PutBucketNotification, has been deprecated") @@ -1370,7 +3044,16 @@ func (c *S3) PutBucketNotificationRequest(input *PutBucketNotificationInput) (re return } +// PutBucketNotification API operation for Amazon Simple Storage Service. +// // Deprecated, see the PutBucketNotificationConfiguraiton operation. +// +// 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 Simple Storage Service's +// API operation PutBucketNotification for usage and error information. func (c *S3) PutBucketNotification(input *PutBucketNotificationInput) (*PutBucketNotificationOutput, error) { req, out := c.PutBucketNotificationRequest(input) err := req.Send() @@ -1379,7 +3062,30 @@ func (c *S3) PutBucketNotification(input *PutBucketNotificationInput) (*PutBucke const opPutBucketNotificationConfiguration = "PutBucketNotificationConfiguration" -// PutBucketNotificationConfigurationRequest generates a request for the PutBucketNotificationConfiguration operation. +// PutBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the PutBucketNotificationConfiguration operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutBucketNotificationConfiguration for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutBucketNotificationConfiguration method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutBucketNotificationConfigurationRequest method. +// req, resp := client.PutBucketNotificationConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) PutBucketNotificationConfigurationRequest(input *PutBucketNotificationConfigurationInput) (req *request.Request, output *PutBucketNotificationConfigurationOutput) { op := &request.Operation{ Name: opPutBucketNotificationConfiguration, @@ -1399,7 +3105,16 @@ func (c *S3) PutBucketNotificationConfigurationRequest(input *PutBucketNotificat return } +// PutBucketNotificationConfiguration API operation for Amazon Simple Storage Service. +// // Enables notifications of specified events for a 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation PutBucketNotificationConfiguration for usage and error information. func (c *S3) PutBucketNotificationConfiguration(input *PutBucketNotificationConfigurationInput) (*PutBucketNotificationConfigurationOutput, error) { req, out := c.PutBucketNotificationConfigurationRequest(input) err := req.Send() @@ -1408,7 +3123,30 @@ func (c *S3) PutBucketNotificationConfiguration(input *PutBucketNotificationConf const opPutBucketPolicy = "PutBucketPolicy" -// PutBucketPolicyRequest generates a request for the PutBucketPolicy operation. +// PutBucketPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutBucketPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutBucketPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutBucketPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutBucketPolicyRequest method. +// req, resp := client.PutBucketPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) PutBucketPolicyRequest(input *PutBucketPolicyInput) (req *request.Request, output *PutBucketPolicyOutput) { op := &request.Operation{ Name: opPutBucketPolicy, @@ -1428,8 +3166,17 @@ func (c *S3) PutBucketPolicyRequest(input *PutBucketPolicyInput) (req *request.R return } +// PutBucketPolicy API operation for Amazon Simple Storage Service. +// // Replaces a policy on a bucket. If the bucket already has a policy, the one // in this request completely replaces it. +// +// 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 Simple Storage Service's +// API operation PutBucketPolicy for usage and error information. func (c *S3) PutBucketPolicy(input *PutBucketPolicyInput) (*PutBucketPolicyOutput, error) { req, out := c.PutBucketPolicyRequest(input) err := req.Send() @@ -1438,7 +3185,30 @@ func (c *S3) PutBucketPolicy(input *PutBucketPolicyInput) (*PutBucketPolicyOutpu const opPutBucketReplication = "PutBucketReplication" -// PutBucketReplicationRequest generates a request for the PutBucketReplication operation. +// PutBucketReplicationRequest generates a "aws/request.Request" representing the +// client's request for the PutBucketReplication operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutBucketReplication for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutBucketReplication method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutBucketReplicationRequest method. +// req, resp := client.PutBucketReplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) PutBucketReplicationRequest(input *PutBucketReplicationInput) (req *request.Request, output *PutBucketReplicationOutput) { op := &request.Operation{ Name: opPutBucketReplication, @@ -1458,8 +3228,17 @@ func (c *S3) PutBucketReplicationRequest(input *PutBucketReplicationInput) (req return } +// PutBucketReplication API operation for Amazon Simple Storage Service. +// // Creates a new replication configuration (or replaces an existing one, if // present). +// +// 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 Simple Storage Service's +// API operation PutBucketReplication for usage and error information. func (c *S3) PutBucketReplication(input *PutBucketReplicationInput) (*PutBucketReplicationOutput, error) { req, out := c.PutBucketReplicationRequest(input) err := req.Send() @@ -1468,7 +3247,30 @@ func (c *S3) PutBucketReplication(input *PutBucketReplicationInput) (*PutBucketR const opPutBucketRequestPayment = "PutBucketRequestPayment" -// PutBucketRequestPaymentRequest generates a request for the PutBucketRequestPayment operation. +// PutBucketRequestPaymentRequest generates a "aws/request.Request" representing the +// client's request for the PutBucketRequestPayment operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutBucketRequestPayment for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutBucketRequestPayment method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutBucketRequestPaymentRequest method. +// req, resp := client.PutBucketRequestPaymentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) PutBucketRequestPaymentRequest(input *PutBucketRequestPaymentInput) (req *request.Request, output *PutBucketRequestPaymentOutput) { op := &request.Operation{ Name: opPutBucketRequestPayment, @@ -1488,11 +3290,20 @@ func (c *S3) PutBucketRequestPaymentRequest(input *PutBucketRequestPaymentInput) return } +// PutBucketRequestPayment API operation for Amazon Simple Storage Service. +// // Sets the request payment configuration for a bucket. By default, the bucket // owner pays for downloads from the bucket. This configuration parameter enables // the bucket owner (only) to specify that the person requesting the download // will be charged for the download. Documentation on requester pays buckets // can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.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. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation PutBucketRequestPayment for usage and error information. func (c *S3) PutBucketRequestPayment(input *PutBucketRequestPaymentInput) (*PutBucketRequestPaymentOutput, error) { req, out := c.PutBucketRequestPaymentRequest(input) err := req.Send() @@ -1501,7 +3312,30 @@ func (c *S3) PutBucketRequestPayment(input *PutBucketRequestPaymentInput) (*PutB const opPutBucketTagging = "PutBucketTagging" -// PutBucketTaggingRequest generates a request for the PutBucketTagging operation. +// PutBucketTaggingRequest generates a "aws/request.Request" representing the +// client's request for the PutBucketTagging operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutBucketTagging for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutBucketTagging method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutBucketTaggingRequest method. +// req, resp := client.PutBucketTaggingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request.Request, output *PutBucketTaggingOutput) { op := &request.Operation{ Name: opPutBucketTagging, @@ -1521,7 +3355,16 @@ func (c *S3) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request return } +// PutBucketTagging API operation for Amazon Simple Storage Service. +// // Sets the tags for a 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation PutBucketTagging for usage and error information. func (c *S3) PutBucketTagging(input *PutBucketTaggingInput) (*PutBucketTaggingOutput, error) { req, out := c.PutBucketTaggingRequest(input) err := req.Send() @@ -1530,7 +3373,30 @@ func (c *S3) PutBucketTagging(input *PutBucketTaggingInput) (*PutBucketTaggingOu const opPutBucketVersioning = "PutBucketVersioning" -// PutBucketVersioningRequest generates a request for the PutBucketVersioning operation. +// PutBucketVersioningRequest generates a "aws/request.Request" representing the +// client's request for the PutBucketVersioning operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutBucketVersioning for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutBucketVersioning method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutBucketVersioningRequest method. +// req, resp := client.PutBucketVersioningRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) PutBucketVersioningRequest(input *PutBucketVersioningInput) (req *request.Request, output *PutBucketVersioningOutput) { op := &request.Operation{ Name: opPutBucketVersioning, @@ -1550,8 +3416,17 @@ func (c *S3) PutBucketVersioningRequest(input *PutBucketVersioningInput) (req *r return } +// PutBucketVersioning API operation for Amazon Simple Storage Service. +// // Sets the versioning state of an existing bucket. To set the versioning state, // you must be the bucket owner. +// +// 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 Simple Storage Service's +// API operation PutBucketVersioning for usage and error information. func (c *S3) PutBucketVersioning(input *PutBucketVersioningInput) (*PutBucketVersioningOutput, error) { req, out := c.PutBucketVersioningRequest(input) err := req.Send() @@ -1560,7 +3435,30 @@ func (c *S3) PutBucketVersioning(input *PutBucketVersioningInput) (*PutBucketVer const opPutBucketWebsite = "PutBucketWebsite" -// PutBucketWebsiteRequest generates a request for the PutBucketWebsite operation. +// PutBucketWebsiteRequest generates a "aws/request.Request" representing the +// client's request for the PutBucketWebsite operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutBucketWebsite for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutBucketWebsite method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutBucketWebsiteRequest method. +// req, resp := client.PutBucketWebsiteRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) PutBucketWebsiteRequest(input *PutBucketWebsiteInput) (req *request.Request, output *PutBucketWebsiteOutput) { op := &request.Operation{ Name: opPutBucketWebsite, @@ -1580,7 +3478,16 @@ func (c *S3) PutBucketWebsiteRequest(input *PutBucketWebsiteInput) (req *request return } +// PutBucketWebsite API operation for Amazon Simple Storage Service. +// // Set the website configuration for a 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation PutBucketWebsite for usage and error information. func (c *S3) PutBucketWebsite(input *PutBucketWebsiteInput) (*PutBucketWebsiteOutput, error) { req, out := c.PutBucketWebsiteRequest(input) err := req.Send() @@ -1589,7 +3496,30 @@ func (c *S3) PutBucketWebsite(input *PutBucketWebsiteInput) (*PutBucketWebsiteOu const opPutObject = "PutObject" -// PutObjectRequest generates a request for the PutObject operation. +// PutObjectRequest generates a "aws/request.Request" representing the +// client's request for the PutObject operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutObject for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutObject method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutObjectRequest method. +// req, resp := client.PutObjectRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, output *PutObjectOutput) { op := &request.Operation{ Name: opPutObject, @@ -1607,7 +3537,16 @@ func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, outp return } +// PutObject API operation for Amazon Simple Storage Service. +// // Adds an object to a 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation PutObject for usage and error information. func (c *S3) PutObject(input *PutObjectInput) (*PutObjectOutput, error) { req, out := c.PutObjectRequest(input) err := req.Send() @@ -1616,7 +3555,30 @@ func (c *S3) PutObject(input *PutObjectInput) (*PutObjectOutput, error) { const opPutObjectAcl = "PutObjectAcl" -// PutObjectAclRequest generates a request for the PutObjectAcl operation. +// PutObjectAclRequest generates a "aws/request.Request" representing the +// client's request for the PutObjectAcl operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutObjectAcl for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutObjectAcl method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutObjectAclRequest method. +// req, resp := client.PutObjectAclRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request, output *PutObjectAclOutput) { op := &request.Operation{ Name: opPutObjectAcl, @@ -1634,8 +3596,22 @@ func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request return } +// PutObjectAcl API operation for Amazon Simple Storage Service. +// // uses the acl subresource to set the access control list (ACL) permissions // for an object that already exists in a 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Storage Service's +// API operation PutObjectAcl for usage and error information. +// +// Returned Error Codes: +// * NoSuchKey +// The specified key does not exist. +// func (c *S3) PutObjectAcl(input *PutObjectAclInput) (*PutObjectAclOutput, error) { req, out := c.PutObjectAclRequest(input) err := req.Send() @@ -1644,7 +3620,30 @@ func (c *S3) PutObjectAcl(input *PutObjectAclInput) (*PutObjectAclOutput, error) const opRestoreObject = "RestoreObject" -// RestoreObjectRequest generates a request for the RestoreObject operation. +// RestoreObjectRequest generates a "aws/request.Request" representing the +// client's request for the RestoreObject operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RestoreObject for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RestoreObject method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RestoreObjectRequest method. +// req, resp := client.RestoreObjectRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Request, output *RestoreObjectOutput) { op := &request.Operation{ Name: opRestoreObject, @@ -1662,7 +3661,21 @@ func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Reque return } +// RestoreObject API operation for Amazon Simple Storage Service. +// // Restores an archived copy of an object back into Amazon S3 +// +// 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 Simple Storage Service's +// API operation RestoreObject for usage and error information. +// +// Returned Error Codes: +// * ObjectAlreadyInActiveTierError +// This operation is not allowed against this storage tier +// func (c *S3) RestoreObject(input *RestoreObjectInput) (*RestoreObjectOutput, error) { req, out := c.RestoreObjectRequest(input) err := req.Send() @@ -1671,7 +3684,30 @@ func (c *S3) RestoreObject(input *RestoreObjectInput) (*RestoreObjectOutput, err const opUploadPart = "UploadPart" -// UploadPartRequest generates a request for the UploadPart operation. +// UploadPartRequest generates a "aws/request.Request" representing the +// client's request for the UploadPart operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UploadPart for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UploadPart method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UploadPartRequest method. +// req, resp := client.UploadPartRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) UploadPartRequest(input *UploadPartInput) (req *request.Request, output *UploadPartOutput) { op := &request.Operation{ Name: opUploadPart, @@ -1689,6 +3725,8 @@ func (c *S3) UploadPartRequest(input *UploadPartInput) (req *request.Request, ou return } +// UploadPart API operation for Amazon Simple Storage Service. +// // Uploads a part in a multipart upload. // // Note: After you initiate multipart upload and upload one or more parts, you @@ -1696,6 +3734,13 @@ func (c *S3) UploadPartRequest(input *UploadPartInput) (req *request.Request, ou // for storage of the uploaded parts. Only after you either complete or abort // multipart upload, Amazon S3 frees up the parts storage and stops charging // you for the parts storage. +// +// 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 Simple Storage Service's +// API operation UploadPart for usage and error information. func (c *S3) UploadPart(input *UploadPartInput) (*UploadPartOutput, error) { req, out := c.UploadPartRequest(input) err := req.Send() @@ -1704,7 +3749,30 @@ func (c *S3) UploadPart(input *UploadPartInput) (*UploadPartOutput, error) { const opUploadPartCopy = "UploadPartCopy" -// UploadPartCopyRequest generates a request for the UploadPartCopy operation. +// UploadPartCopyRequest generates a "aws/request.Request" representing the +// client's request for the UploadPartCopy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UploadPartCopy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UploadPartCopy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UploadPartCopyRequest method. +// req, resp := client.UploadPartCopyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *S3) UploadPartCopyRequest(input *UploadPartCopyInput) (req *request.Request, output *UploadPartCopyOutput) { op := &request.Operation{ Name: opUploadPartCopy, @@ -1722,7 +3790,16 @@ func (c *S3) UploadPartCopyRequest(input *UploadPartCopyInput) (req *request.Req return } +// UploadPartCopy API operation for Amazon Simple Storage Service. +// // Uploads a part by copying data from an existing object as data source. +// +// 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 Simple Storage Service's +// API operation UploadPartCopy for usage and error information. func (c *S3) UploadPartCopy(input *UploadPartCopyInput) (*UploadPartCopyOutput, error) { req, out := c.UploadPartCopyRequest(input) err := req.Send() @@ -1752,8 +3829,10 @@ func (s AbortIncompleteMultipartUpload) GoString() string { type AbortMultipartUploadInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` + // Key is a required field Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Confirms that the requester knows that she or he will be charged for the @@ -1762,6 +3841,7 @@ type AbortMultipartUploadInput struct { // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` + // UploadId is a required field UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"` } @@ -1894,6 +3974,7 @@ func (s Bucket) GoString() string { type BucketLifecycleConfiguration struct { _ struct{} `type:"structure"` + // Rules is a required field Rules []*LifecycleRule `locationName:"Rule" type:"list" flattened:"true" required:"true"` } @@ -1964,6 +4045,7 @@ func (s *BucketLoggingStatus) Validate() error { type CORSConfiguration struct { _ struct{} `type:"structure"` + // CORSRules is a required field CORSRules []*CORSRule `locationName:"CORSRule" type:"list" flattened:"true" required:"true"` } @@ -2008,9 +4090,13 @@ type CORSRule struct { // Identifies HTTP methods that the domain/origin specified in the rule is allowed // to execute. + // + // AllowedMethods is a required field AllowedMethods []*string `locationName:"AllowedMethod" type:"list" flattened:"true" required:"true"` // One or more origins you want customers to be able to access the bucket from. + // + // AllowedOrigins is a required field AllowedOrigins []*string `locationName:"AllowedOrigin" type:"list" flattened:"true" required:"true"` // One or more headers in the response that you want customers to be able to @@ -2095,8 +4181,10 @@ func (s CommonPrefix) GoString() string { type CompleteMultipartUploadInput struct { _ struct{} `type:"structure" payload:"MultipartUpload"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` + // Key is a required field Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` MultipartUpload *CompletedMultipartUpload `locationName:"CompleteMultipartUpload" type:"structure"` @@ -2107,6 +4195,7 @@ type CompleteMultipartUploadInput struct { // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` + // UploadId is a required field UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"` } @@ -2257,6 +4346,7 @@ type CopyObjectInput struct { // The canned ACL to apply to the object. ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // Specifies caching behavior along the request/reply chain. @@ -2278,6 +4368,8 @@ type CopyObjectInput struct { // The name of the source bucket and key name of the source object, separated // by a slash (/). Must be URL-encoded. + // + // CopySource is a required field CopySource *string `location:"header" locationName:"x-amz-copy-source" type:"string" required:"true"` // Copies the object if its entity tag (ETag) matches the specified tag. @@ -2321,6 +4413,7 @@ type CopyObjectInput struct { // Allows grantee to write the ACL for the applicable object. GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` + // Key is a required field Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // A map of metadata to store with the object in S3. @@ -2510,6 +4603,7 @@ type CreateBucketInput struct { // The canned ACL to apply to the bucket. ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` CreateBucketConfiguration *CreateBucketConfiguration `locationName:"CreateBucketConfiguration" type:"structure"` @@ -2576,6 +4670,7 @@ type CreateMultipartUploadInput struct { // The canned ACL to apply to the object. ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // Specifies caching behavior along the request/reply chain. @@ -2610,6 +4705,7 @@ type CreateMultipartUploadInput struct { // Allows grantee to write the ACL for the applicable object. GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` + // Key is a required field Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // A map of metadata to store with the object in S3. @@ -2739,6 +4835,7 @@ func (s CreateMultipartUploadOutput) GoString() string { type Delete struct { _ struct{} `type:"structure"` + // Objects is a required field Objects []*ObjectIdentifier `locationName:"Object" type:"list" flattened:"true" required:"true"` // Element to enable quiet mode for the request. When you add this element, @@ -2782,6 +4879,7 @@ func (s *Delete) Validate() error { type DeleteBucketCorsInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } @@ -2825,6 +4923,7 @@ func (s DeleteBucketCorsOutput) GoString() string { type DeleteBucketInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } @@ -2854,6 +4953,7 @@ func (s *DeleteBucketInput) Validate() error { type DeleteBucketLifecycleInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } @@ -2911,6 +5011,7 @@ func (s DeleteBucketOutput) GoString() string { type DeleteBucketPolicyInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } @@ -2954,6 +5055,7 @@ func (s DeleteBucketPolicyOutput) GoString() string { type DeleteBucketReplicationInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } @@ -2997,6 +5099,7 @@ func (s DeleteBucketReplicationOutput) GoString() string { type DeleteBucketTaggingInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } @@ -3040,6 +5143,7 @@ func (s DeleteBucketTaggingOutput) GoString() string { type DeleteBucketWebsiteInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } @@ -3112,8 +5216,10 @@ func (s DeleteMarkerEntry) GoString() string { type DeleteObjectInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` + // Key is a required field Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // The concatenation of the authentication device's serial number, a space, @@ -3188,8 +5294,10 @@ func (s DeleteObjectOutput) GoString() string { type DeleteObjectsInput struct { _ struct{} `type:"structure" payload:"Delete"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` + // Delete is a required field Delete *Delete `locationName:"Delete" type:"structure" required:"true"` // The concatenation of the authentication device's serial number, a space, @@ -3283,6 +5391,8 @@ type Destination struct { // Amazon resource name (ARN) of the bucket where you want Amazon S3 to store // replicas of the object identified by the rule. + // + // Bucket is a required field Bucket *string `type:"string" required:"true"` // The class of storage used to store the object. @@ -3338,6 +5448,8 @@ type ErrorDocument struct { _ struct{} `type:"structure"` // The object key name to use when a 4XX class error occurs. + // + // Key is a required field Key *string `min:"1" type:"string" required:"true"` } @@ -3395,6 +5507,8 @@ type GetBucketAccelerateConfigurationInput struct { _ struct{} `type:"structure"` // Name of the bucket for which the accelerate configuration is retrieved. + // + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } @@ -3441,6 +5555,7 @@ func (s GetBucketAccelerateConfigurationOutput) GoString() string { type GetBucketAclInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } @@ -3489,6 +5604,7 @@ func (s GetBucketAclOutput) GoString() string { type GetBucketCorsInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } @@ -3534,6 +5650,7 @@ func (s GetBucketCorsOutput) GoString() string { type GetBucketLifecycleConfigurationInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } @@ -3579,6 +5696,7 @@ func (s GetBucketLifecycleConfigurationOutput) GoString() string { type GetBucketLifecycleInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } @@ -3624,6 +5742,7 @@ func (s GetBucketLifecycleOutput) GoString() string { type GetBucketLocationInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } @@ -3669,6 +5788,7 @@ func (s GetBucketLocationOutput) GoString() string { type GetBucketLoggingInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } @@ -3715,6 +5835,8 @@ type GetBucketNotificationConfigurationRequest struct { _ struct{} `type:"structure"` // Name of the bucket to get the notification configuration for. + // + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } @@ -3744,6 +5866,7 @@ func (s *GetBucketNotificationConfigurationRequest) Validate() error { type GetBucketPolicyInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } @@ -3790,6 +5913,7 @@ func (s GetBucketPolicyOutput) GoString() string { type GetBucketReplicationInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } @@ -3837,6 +5961,7 @@ func (s GetBucketReplicationOutput) GoString() string { type GetBucketRequestPaymentInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } @@ -3883,6 +6008,7 @@ func (s GetBucketRequestPaymentOutput) GoString() string { type GetBucketTaggingInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } @@ -3912,6 +6038,7 @@ func (s *GetBucketTaggingInput) Validate() error { type GetBucketTaggingOutput struct { _ struct{} `type:"structure"` + // TagSet is a required field TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"` } @@ -3928,6 +6055,7 @@ func (s GetBucketTaggingOutput) GoString() string { type GetBucketVersioningInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } @@ -3979,6 +6107,7 @@ func (s GetBucketVersioningOutput) GoString() string { type GetBucketWebsiteInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } @@ -4030,8 +6159,10 @@ func (s GetBucketWebsiteOutput) GoString() string { type GetObjectAclInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` + // Key is a required field Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Confirms that the requester knows that she or he will be charged for the @@ -4099,6 +6230,7 @@ func (s GetObjectAclOutput) GoString() string { type GetObjectInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // Return the object only if its entity tag (ETag) is the same as the one specified, @@ -4117,8 +6249,14 @@ type GetObjectInput struct { // otherwise return a 412 (precondition failed). IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp" timestampFormat:"rfc822"` + // Key is a required field Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` + // Part number of the object being read. This is a positive integer between + // 1 and 10,000. Effectively performs a 'ranged' GET request for the part specified. + // Useful for downloading just a part of an object. + PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer"` + // Downloads the specified range bytes of an object. For more information about // the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. Range *string `location:"header" locationName:"Range" type:"string"` @@ -4218,7 +6356,7 @@ type GetObjectOutput struct { ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"` // Size of the body in bytes. - ContentLength *int64 `location:"header" locationName:"Content-Length" type:"integer"` + ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` // The portion of the object returned in the response. ContentRange *string `location:"header" locationName:"Content-Range" type:"string"` @@ -4255,6 +6393,9 @@ type GetObjectOutput struct { // you can create metadata whose values are not legal HTTP headers. MissingMeta *int64 `location:"header" locationName:"x-amz-missing-meta" type:"integer"` + // The count of parts this object has. + PartsCount *int64 `location:"header" locationName:"x-amz-mp-parts-count" type:"integer"` + ReplicationStatus *string `location:"header" locationName:"x-amz-replication-status" type:"string" enum:"ReplicationStatus"` // If present, indicates that the requester was successfully charged for the @@ -4307,8 +6448,10 @@ func (s GetObjectOutput) GoString() string { type GetObjectTorrentInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` + // Key is a required field Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Confirms that the requester knows that she or he will be charged for the @@ -4414,6 +6557,8 @@ type Grantee struct { ID *string `type:"string"` // Type of grantee + // + // Type is a required field Type *string `locationName:"xsi:type" type:"string" xmlAttribute:"true" required:"true" enum:"Type"` // URI of the grantee group. @@ -4446,6 +6591,7 @@ func (s *Grantee) Validate() error { type HeadBucketInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } @@ -4489,6 +6635,7 @@ func (s HeadBucketOutput) GoString() string { type HeadObjectInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // Return the object only if its entity tag (ETag) is the same as the one specified, @@ -4507,8 +6654,15 @@ type HeadObjectInput struct { // otherwise return a 412 (precondition failed). IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp" timestampFormat:"rfc822"` + // Key is a required field Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` + // Part number of the object being read. This is a positive integer between + // 1 and 10,000. Effectively performs a 'ranged' HEAD request for the part specified. + // Useful querying about the size of the part and the number of parts in this + // object. + PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer"` + // Downloads the specified range bytes of an object. For more information about // the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. Range *string `location:"header" locationName:"Range" type:"string"` @@ -4587,7 +6741,7 @@ type HeadObjectOutput struct { ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"` // Size of the body in bytes. - ContentLength *int64 `location:"header" locationName:"Content-Length" type:"integer"` + ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` // A standard MIME type describing the format of the object data. ContentType *string `location:"header" locationName:"Content-Type" type:"string"` @@ -4621,6 +6775,9 @@ type HeadObjectOutput struct { // you can create metadata whose values are not legal HTTP headers. MissingMeta *int64 `location:"header" locationName:"x-amz-missing-meta" type:"integer"` + // The count of parts this object has. + PartsCount *int64 `location:"header" locationName:"x-amz-mp-parts-count" type:"integer"` + ReplicationStatus *string `location:"header" locationName:"x-amz-replication-status" type:"string" enum:"ReplicationStatus"` // If present, indicates that the requester was successfully charged for the @@ -4677,6 +6834,8 @@ type IndexDocument struct { // endpoint (e.g. if the suffix is index.html and you make a request to samplebucket/images/ // the data that is returned will be for the object with the key name images/index.html) // The suffix must not be empty and must not include a slash character. + // + // Suffix is a required field Suffix *string `type:"string" required:"true"` } @@ -4747,6 +6906,7 @@ func (s KeyFilter) GoString() string { type LambdaFunctionConfiguration struct { _ struct{} `type:"structure"` + // Events is a required field Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"` // Container for object key name filtering rules. For information about key @@ -4760,6 +6920,8 @@ type LambdaFunctionConfiguration struct { // Lambda cloud function ARN that Amazon S3 can invoke when it detects events // of the specified type. + // + // LambdaFunctionArn is a required field LambdaFunctionArn *string `locationName:"CloudFunction" type:"string" required:"true"` } @@ -4792,6 +6954,7 @@ func (s *LambdaFunctionConfiguration) Validate() error { type LifecycleConfiguration struct { _ struct{} `type:"structure"` + // Rules is a required field Rules []*Rule `locationName:"Rule" type:"list" flattened:"true" required:"true"` } @@ -4878,10 +7041,14 @@ type LifecycleRule struct { NoncurrentVersionTransitions []*NoncurrentVersionTransition `locationName:"NoncurrentVersionTransition" type:"list" flattened:"true"` // Prefix identifying one or more objects to which the rule applies. + // + // Prefix is a required field Prefix *string `type:"string" required:"true"` // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule // is not currently being applied. + // + // Status is a required field Status *string `type:"string" required:"true" enum:"ExpirationStatus"` Transitions []*Transition `locationName:"Transition" type:"list" flattened:"true"` @@ -4948,6 +7115,7 @@ func (s ListBucketsOutput) GoString() string { type ListMultipartUploadsInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // Character you use to group keys. @@ -5060,6 +7228,7 @@ func (s ListMultipartUploadsOutput) GoString() string { type ListObjectVersionsInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // A delimiter is a character you use to group keys. @@ -5162,6 +7331,7 @@ func (s ListObjectVersionsOutput) GoString() string { type ListObjectsInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // A delimiter is a character you use to group keys. @@ -5184,6 +7354,11 @@ type ListObjectsInput struct { // Limits the response to keys that begin with the specified prefix. Prefix *string `location:"querystring" locationName:"prefix" type:"string"` + + // Confirms that the requester knows that she or he will be charged for the + // list objects request. Bucket owners need not specify this parameter in their + // requests. + RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` } // String returns the string representation @@ -5253,11 +7428,138 @@ func (s ListObjectsOutput) GoString() string { return s.String() } +type ListObjectsV2Input struct { + _ struct{} `type:"structure"` + + // Name of the bucket to list. + // + // Bucket is a required field + Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` + + // ContinuationToken indicates Amazon S3 that the list is being continued on + // this bucket with a token. ContinuationToken is obfuscated and is not a real + // key + ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"` + + // A delimiter is a character you use to group keys. + Delimiter *string `location:"querystring" locationName:"delimiter" type:"string"` + + // Encoding type used by Amazon S3 to encode object keys in the response. + EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"` + + // The owner field is not present in listV2 by default, if you want to return + // owner field with each key in the result then set the fetch owner field to + // true + FetchOwner *bool `location:"querystring" locationName:"fetch-owner" type:"boolean"` + + // Sets the maximum number of keys returned in the response. The response might + // contain fewer keys but will never contain more. + MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"` + + // Limits the response to keys that begin with the specified prefix. + Prefix *string `location:"querystring" locationName:"prefix" type:"string"` + + // Confirms that the requester knows that she or he will be charged for the + // list objects request in V2 style. Bucket owners need not specify this parameter + // in their requests. + RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` + + // StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts + // listing after this specified key. StartAfter can be any key in the bucket + StartAfter *string `location:"querystring" locationName:"start-after" type:"string"` +} + +// String returns the string representation +func (s ListObjectsV2Input) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListObjectsV2Input) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListObjectsV2Input) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListObjectsV2Input"} + if s.Bucket == nil { + invalidParams.Add(request.NewErrParamRequired("Bucket")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type ListObjectsV2Output struct { + _ struct{} `type:"structure"` + + // CommonPrefixes contains all (if there are any) keys between Prefix and the + // next occurrence of the string specified by delimiter + CommonPrefixes []*CommonPrefix `type:"list" flattened:"true"` + + // Metadata about each object returned. + Contents []*Object `type:"list" flattened:"true"` + + // ContinuationToken indicates Amazon S3 that the list is being continued on + // this bucket with a token. ContinuationToken is obfuscated and is not a real + // key + ContinuationToken *string `type:"string"` + + // A delimiter is a character you use to group keys. + Delimiter *string `type:"string"` + + // Encoding type used by Amazon S3 to encode object keys in the response. + EncodingType *string `type:"string" enum:"EncodingType"` + + // A flag that indicates whether or not Amazon S3 returned all of the results + // that satisfied the search criteria. + IsTruncated *bool `type:"boolean"` + + // KeyCount is the number of keys returned with this request. KeyCount will + // always be less than equals to MaxKeys field. Say you ask for 50 keys, your + // result will include less than equals 50 keys + KeyCount *int64 `type:"integer"` + + // Sets the maximum number of keys returned in the response. The response might + // contain fewer keys but will never contain more. + MaxKeys *int64 `type:"integer"` + + // Name of the bucket to list. + Name *string `type:"string"` + + // NextContinuationToken is sent when isTruncated is true which means there + // are more keys in the bucket that can be listed. The next list requests to + // Amazon S3 can be continued with this NextContinuationToken. NextContinuationToken + // is obfuscated and is not a real key + NextContinuationToken *string `type:"string"` + + // Limits the response to keys that begin with the specified prefix. + Prefix *string `type:"string"` + + // StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts + // listing after this specified key. StartAfter can be any key in the bucket + StartAfter *string `type:"string"` +} + +// String returns the string representation +func (s ListObjectsV2Output) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListObjectsV2Output) GoString() string { + return s.String() +} + type ListPartsInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` + // Key is a required field Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Sets the maximum number of parts to return. @@ -5274,6 +7576,8 @@ type ListPartsInput struct { RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` // Upload ID identifying the multipart upload whose parts are being listed. + // + // UploadId is a required field UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"` } @@ -5457,8 +7761,8 @@ type NoncurrentVersionExpiration struct { // Specifies the number of days an object is noncurrent before Amazon S3 can // perform the associated action. For information about the noncurrent days // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent - // (/AmazonS3/latest/dev/s3-access-control.html) in the Amazon Simple Storage - // Service Developer Guide. + // (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) in + // the Amazon Simple Storage Service Developer Guide. NoncurrentDays *int64 `type:"integer"` } @@ -5483,8 +7787,8 @@ type NoncurrentVersionTransition struct { // Specifies the number of days an object is noncurrent before Amazon S3 can // perform the associated action. For information about the noncurrent days // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent - // (/AmazonS3/latest/dev/s3-access-control.html) in the Amazon Simple Storage - // Service Developer Guide. + // (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) in + // the Amazon Simple Storage Service Developer Guide. NoncurrentDays *int64 `type:"integer"` // The class of storage used to store the object. @@ -5634,6 +7938,8 @@ type ObjectIdentifier struct { _ struct{} `type:"structure"` // Key name of the object to delete. + // + // Key is a required field Key *string `min:"1" type:"string" required:"true"` // VersionId for the specific version of the object to delete. @@ -5752,9 +8058,13 @@ type PutBucketAccelerateConfigurationInput struct { _ struct{} `type:"structure" payload:"AccelerateConfiguration"` // Specifies the Accelerate Configuration you want to set for the bucket. + // + // AccelerateConfiguration is a required field AccelerateConfiguration *AccelerateConfiguration `locationName:"AccelerateConfiguration" type:"structure" required:"true"` // Name of the bucket for which the accelerate configuration is set. + // + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` } @@ -5806,6 +8116,7 @@ type PutBucketAclInput struct { AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // Allows grantee the read, write, read ACP, and write ACP permissions on the @@ -5870,8 +8181,10 @@ func (s PutBucketAclOutput) GoString() string { type PutBucketCorsInput struct { _ struct{} `type:"structure" payload:"CORSConfiguration"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` + // CORSConfiguration is a required field CORSConfiguration *CORSConfiguration `locationName:"CORSConfiguration" type:"structure" required:"true"` } @@ -5923,6 +8236,7 @@ func (s PutBucketCorsOutput) GoString() string { type PutBucketLifecycleConfigurationInput struct { _ struct{} `type:"structure" payload:"LifecycleConfiguration"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` LifecycleConfiguration *BucketLifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure"` @@ -5973,6 +8287,7 @@ func (s PutBucketLifecycleConfigurationOutput) GoString() string { type PutBucketLifecycleInput struct { _ struct{} `type:"structure" payload:"LifecycleConfiguration"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` LifecycleConfiguration *LifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure"` @@ -6023,8 +8338,10 @@ func (s PutBucketLifecycleOutput) GoString() string { type PutBucketLoggingInput struct { _ struct{} `type:"structure" payload:"BucketLoggingStatus"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` + // BucketLoggingStatus is a required field BucketLoggingStatus *BucketLoggingStatus `locationName:"BucketLoggingStatus" type:"structure" required:"true"` } @@ -6076,10 +8393,13 @@ func (s PutBucketLoggingOutput) GoString() string { type PutBucketNotificationConfigurationInput struct { _ struct{} `type:"structure" payload:"NotificationConfiguration"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // Container for specifying the notification configuration of the bucket. If // this element is empty, notifications are turned off on the bucket. + // + // NotificationConfiguration is a required field NotificationConfiguration *NotificationConfiguration `locationName:"NotificationConfiguration" type:"structure" required:"true"` } @@ -6131,8 +8451,10 @@ func (s PutBucketNotificationConfigurationOutput) GoString() string { type PutBucketNotificationInput struct { _ struct{} `type:"structure" payload:"NotificationConfiguration"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` + // NotificationConfiguration is a required field NotificationConfiguration *NotificationConfigurationDeprecated `locationName:"NotificationConfiguration" type:"structure" required:"true"` } @@ -6179,9 +8501,12 @@ func (s PutBucketNotificationOutput) GoString() string { type PutBucketPolicyInput struct { _ struct{} `type:"structure" payload:"Policy"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // The bucket policy as a JSON document. + // + // Policy is a required field Policy *string `type:"string" required:"true"` } @@ -6228,10 +8553,13 @@ func (s PutBucketPolicyOutput) GoString() string { type PutBucketReplicationInput struct { _ struct{} `type:"structure" payload:"ReplicationConfiguration"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // Container for replication rules. You can add as many as 1,000 rules. Total // replication configuration size can be up to 2 MB. + // + // ReplicationConfiguration is a required field ReplicationConfiguration *ReplicationConfiguration `locationName:"ReplicationConfiguration" type:"structure" required:"true"` } @@ -6283,8 +8611,10 @@ func (s PutBucketReplicationOutput) GoString() string { type PutBucketRequestPaymentInput struct { _ struct{} `type:"structure" payload:"RequestPaymentConfiguration"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` + // RequestPaymentConfiguration is a required field RequestPaymentConfiguration *RequestPaymentConfiguration `locationName:"RequestPaymentConfiguration" type:"structure" required:"true"` } @@ -6336,8 +8666,10 @@ func (s PutBucketRequestPaymentOutput) GoString() string { type PutBucketTaggingInput struct { _ struct{} `type:"structure" payload:"Tagging"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` + // Tagging is a required field Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true"` } @@ -6389,12 +8721,14 @@ func (s PutBucketTaggingOutput) GoString() string { type PutBucketVersioningInput struct { _ struct{} `type:"structure" payload:"VersioningConfiguration"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // The concatenation of the authentication device's serial number, a space, // and the value that is displayed on your authentication device. MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"` + // VersioningConfiguration is a required field VersioningConfiguration *VersioningConfiguration `locationName:"VersioningConfiguration" type:"structure" required:"true"` } @@ -6441,8 +8775,10 @@ func (s PutBucketVersioningOutput) GoString() string { type PutBucketWebsiteInput struct { _ struct{} `type:"structure" payload:"WebsiteConfiguration"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` + // WebsiteConfiguration is a required field WebsiteConfiguration *WebsiteConfiguration `locationName:"WebsiteConfiguration" type:"structure" required:"true"` } @@ -6499,6 +8835,7 @@ type PutObjectAclInput struct { AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // Allows grantee the read, write, read ACP, and write ACP permissions on the @@ -6517,6 +8854,7 @@ type PutObjectAclInput struct { // Allows grantee to write the ACL for the applicable bucket. GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` + // Key is a required field Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Confirms that the requester knows that she or he will be charged for the @@ -6591,6 +8929,8 @@ type PutObjectInput struct { Body io.ReadSeeker `type:"blob"` // Name of the bucket to which the PUT operation was initiated. + // + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // Specifies caching behavior along the request/reply chain. @@ -6609,7 +8949,7 @@ type PutObjectInput struct { // Size of the body in bytes. This parameter is useful when the size of the // body cannot be determined automatically. - ContentLength *int64 `location:"header" locationName:"Content-Length" type:"integer"` + ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` // A standard MIME type describing the format of the object data. ContentType *string `location:"header" locationName:"Content-Type" type:"string"` @@ -6630,6 +8970,8 @@ type PutObjectInput struct { GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"` // Object key for which the PUT operation was initiated. + // + // Key is a required field Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // A map of metadata to store with the object in S3. @@ -6755,6 +9097,7 @@ func (s PutObjectOutput) GoString() string { type QueueConfiguration struct { _ struct{} `type:"structure"` + // Events is a required field Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"` // Container for object key name filtering rules. For information about key @@ -6768,6 +9111,8 @@ type QueueConfiguration struct { // Amazon SQS queue ARN to which Amazon S3 will publish a message when it detects // events of specified type. + // + // QueueArn is a required field QueueArn *string `locationName:"Queue" type:"string" required:"true"` } @@ -6864,6 +9209,8 @@ type RedirectAllRequestsTo struct { _ struct{} `type:"structure"` // Name of the host where requests will be redirected. + // + // HostName is a required field HostName *string `type:"string" required:"true"` // Protocol to use (http, https) when redirecting requests. The default is the @@ -6901,10 +9248,14 @@ type ReplicationConfiguration struct { // Amazon Resource Name (ARN) of an IAM role for Amazon S3 to assume when replicating // the objects. + // + // Role is a required field Role *string `type:"string" required:"true"` // Container for information about a particular replication rule. Replication // configuration must have at least one rule and can contain up to 1,000 rules. + // + // Rules is a required field Rules []*ReplicationRule `locationName:"Rule" type:"list" flattened:"true" required:"true"` } @@ -6947,6 +9298,7 @@ func (s *ReplicationConfiguration) Validate() error { type ReplicationRule struct { _ struct{} `type:"structure"` + // Destination is a required field Destination *Destination `type:"structure" required:"true"` // Unique identifier for the rule. The value cannot be longer than 255 characters. @@ -6955,9 +9307,13 @@ type ReplicationRule struct { // Object keyname prefix identifying one or more objects to which the rule applies. // Maximum prefix length can be up to 1,024 characters. Overlapping prefixes // are not supported. + // + // Prefix is a required field Prefix *string `type:"string" required:"true"` // The rule is ignored if status is not Enabled. + // + // Status is a required field Status *string `type:"string" required:"true" enum:"ReplicationRuleStatus"` } @@ -6999,6 +9355,8 @@ type RequestPaymentConfiguration struct { _ struct{} `type:"structure"` // Specifies who pays for the download and request fees. + // + // Payer is a required field Payer *string `type:"string" required:"true" enum:"Payer"` } @@ -7028,8 +9386,10 @@ func (s *RequestPaymentConfiguration) Validate() error { type RestoreObjectInput struct { _ struct{} `type:"structure" payload:"RestoreRequest"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` + // Key is a required field Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Confirms that the requester knows that she or he will be charged for the @@ -7099,6 +9459,8 @@ type RestoreRequest struct { _ struct{} `type:"structure"` // Lifetime of the active copy in days + // + // Days is a required field Days *int64 `type:"integer" required:"true"` } @@ -7137,6 +9499,8 @@ type RoutingRule struct { // Container for redirect information. You can redirect requests to another // host, to another page, or with another protocol. In the event of an error, // you can can specify a different error code to return. + // + // Redirect is a required field Redirect *Redirect `type:"structure" required:"true"` } @@ -7190,10 +9554,14 @@ type Rule struct { NoncurrentVersionTransition *NoncurrentVersionTransition `type:"structure"` // Prefix identifying one or more objects to which the rule applies. + // + // Prefix is a required field Prefix *string `type:"string" required:"true"` // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule // is not currently being applied. + // + // Status is a required field Status *string `type:"string" required:"true" enum:"ExpirationStatus"` Transition *Transition `type:"structure"` @@ -7229,9 +9597,13 @@ type Tag struct { _ struct{} `type:"structure"` // Name of the tag. + // + // Key is a required field Key *string `min:"1" type:"string" required:"true"` // Value of the tag. + // + // Value is a required field Value *string `type:"string" required:"true"` } @@ -7267,6 +9639,7 @@ func (s *Tag) Validate() error { type Tagging struct { _ struct{} `type:"structure"` + // TagSet is a required field TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"` } @@ -7342,6 +9715,7 @@ func (s *TargetGrant) Validate() error { type TopicConfiguration struct { _ struct{} `type:"structure"` + // Events is a required field Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"` // Container for object key name filtering rules. For information about key @@ -7355,6 +9729,8 @@ type TopicConfiguration struct { // Amazon SNS topic ARN to which Amazon S3 will publish a message when it detects // events of specified type. + // + // TopicArn is a required field TopicArn *string `locationName:"Topic" type:"string" required:"true"` } @@ -7439,10 +9815,13 @@ func (s Transition) GoString() string { type UploadPartCopyInput struct { _ struct{} `type:"structure"` + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // The name of the source bucket and key name of the source object, separated // by a slash (/). Must be URL-encoded. + // + // CopySource is a required field CopySource *string `location:"header" locationName:"x-amz-copy-source" type:"string" required:"true"` // Copies the object if its entity tag (ETag) matches the specified tag. @@ -7478,10 +9857,13 @@ type UploadPartCopyInput struct { // key was transmitted without error. CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"` + // Key is a required field Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Part number of part being copied. This is a positive integer between 1 and // 10,000. + // + // PartNumber is a required field PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer" required:"true"` // Confirms that the requester knows that she or he will be charged for the @@ -7507,6 +9889,8 @@ type UploadPartCopyInput struct { SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` // Upload ID identifying the multipart upload whose part is being copied. + // + // UploadId is a required field UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"` } @@ -7597,17 +9981,23 @@ type UploadPartInput struct { Body io.ReadSeeker `type:"blob"` // Name of the bucket to which the multipart upload was initiated. + // + // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` // Size of the body in bytes. This parameter is useful when the size of the // body cannot be determined automatically. - ContentLength *int64 `location:"header" locationName:"Content-Length" type:"integer"` + ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` // Object key for which the multipart upload was initiated. + // + // Key is a required field Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` // Part number of part being uploaded. This is a positive integer between 1 // and 10,000. + // + // PartNumber is a required field PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer" required:"true"` // Confirms that the requester knows that she or he will be charged for the @@ -7633,6 +10023,8 @@ type UploadPartInput struct { SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"` // Upload ID identifying the multipart upload whose part is being uploaded. + // + // UploadId is a required field UploadId *string `location:"querystring" locationName:"uploadId" type:"string" required:"true"` } @@ -7790,59 +10182,78 @@ func (s *WebsiteConfiguration) Validate() error { } const ( - // @enum BucketAccelerateStatus + // BucketAccelerateStatusEnabled is a BucketAccelerateStatus enum value BucketAccelerateStatusEnabled = "Enabled" - // @enum BucketAccelerateStatus + + // BucketAccelerateStatusSuspended is a BucketAccelerateStatus enum value BucketAccelerateStatusSuspended = "Suspended" ) const ( - // @enum BucketCannedACL + // BucketCannedACLPrivate is a BucketCannedACL enum value BucketCannedACLPrivate = "private" - // @enum BucketCannedACL + + // BucketCannedACLPublicRead is a BucketCannedACL enum value BucketCannedACLPublicRead = "public-read" - // @enum BucketCannedACL + + // BucketCannedACLPublicReadWrite is a BucketCannedACL enum value BucketCannedACLPublicReadWrite = "public-read-write" - // @enum BucketCannedACL + + // BucketCannedACLAuthenticatedRead is a BucketCannedACL enum value BucketCannedACLAuthenticatedRead = "authenticated-read" ) const ( - // @enum BucketLocationConstraint + // BucketLocationConstraintEu is a BucketLocationConstraint enum value BucketLocationConstraintEu = "EU" - // @enum BucketLocationConstraint + + // BucketLocationConstraintEuWest1 is a BucketLocationConstraint enum value BucketLocationConstraintEuWest1 = "eu-west-1" - // @enum BucketLocationConstraint + + // BucketLocationConstraintUsWest1 is a BucketLocationConstraint enum value BucketLocationConstraintUsWest1 = "us-west-1" - // @enum BucketLocationConstraint + + // BucketLocationConstraintUsWest2 is a BucketLocationConstraint enum value BucketLocationConstraintUsWest2 = "us-west-2" - // @enum BucketLocationConstraint + + // BucketLocationConstraintApSouth1 is a BucketLocationConstraint enum value + BucketLocationConstraintApSouth1 = "ap-south-1" + + // BucketLocationConstraintApSoutheast1 is a BucketLocationConstraint enum value BucketLocationConstraintApSoutheast1 = "ap-southeast-1" - // @enum BucketLocationConstraint + + // BucketLocationConstraintApSoutheast2 is a BucketLocationConstraint enum value BucketLocationConstraintApSoutheast2 = "ap-southeast-2" - // @enum BucketLocationConstraint + + // BucketLocationConstraintApNortheast1 is a BucketLocationConstraint enum value BucketLocationConstraintApNortheast1 = "ap-northeast-1" - // @enum BucketLocationConstraint + + // BucketLocationConstraintSaEast1 is a BucketLocationConstraint enum value BucketLocationConstraintSaEast1 = "sa-east-1" - // @enum BucketLocationConstraint + + // BucketLocationConstraintCnNorth1 is a BucketLocationConstraint enum value BucketLocationConstraintCnNorth1 = "cn-north-1" - // @enum BucketLocationConstraint + + // BucketLocationConstraintEuCentral1 is a BucketLocationConstraint enum value BucketLocationConstraintEuCentral1 = "eu-central-1" ) const ( - // @enum BucketLogsPermission + // BucketLogsPermissionFullControl is a BucketLogsPermission enum value BucketLogsPermissionFullControl = "FULL_CONTROL" - // @enum BucketLogsPermission + + // BucketLogsPermissionRead is a BucketLogsPermission enum value BucketLogsPermissionRead = "READ" - // @enum BucketLogsPermission + + // BucketLogsPermissionWrite is a BucketLogsPermission enum value BucketLogsPermissionWrite = "WRITE" ) const ( - // @enum BucketVersioningStatus + // BucketVersioningStatusEnabled is a BucketVersioningStatus enum value BucketVersioningStatusEnabled = "Enabled" - // @enum BucketVersioningStatus + + // BucketVersioningStatusSuspended is a BucketVersioningStatus enum value BucketVersioningStatusSuspended = "Suspended" ) @@ -7853,147 +10264,178 @@ const ( // XML 1.0, you can add this parameter to request that Amazon S3 encode the // keys in the response. const ( - // @enum EncodingType + // EncodingTypeUrl is a EncodingType enum value EncodingTypeUrl = "url" ) // Bucket event for which to send notifications. const ( - // @enum Event + // EventS3ReducedRedundancyLostObject is a Event enum value EventS3ReducedRedundancyLostObject = "s3:ReducedRedundancyLostObject" - // @enum Event + + // EventS3ObjectCreated is a Event enum value EventS3ObjectCreated = "s3:ObjectCreated:*" - // @enum Event + + // EventS3ObjectCreatedPut is a Event enum value EventS3ObjectCreatedPut = "s3:ObjectCreated:Put" - // @enum Event + + // EventS3ObjectCreatedPost is a Event enum value EventS3ObjectCreatedPost = "s3:ObjectCreated:Post" - // @enum Event + + // EventS3ObjectCreatedCopy is a Event enum value EventS3ObjectCreatedCopy = "s3:ObjectCreated:Copy" - // @enum Event + + // EventS3ObjectCreatedCompleteMultipartUpload is a Event enum value EventS3ObjectCreatedCompleteMultipartUpload = "s3:ObjectCreated:CompleteMultipartUpload" - // @enum Event + + // EventS3ObjectRemoved is a Event enum value EventS3ObjectRemoved = "s3:ObjectRemoved:*" - // @enum Event + + // EventS3ObjectRemovedDelete is a Event enum value EventS3ObjectRemovedDelete = "s3:ObjectRemoved:Delete" - // @enum Event + + // EventS3ObjectRemovedDeleteMarkerCreated is a Event enum value EventS3ObjectRemovedDeleteMarkerCreated = "s3:ObjectRemoved:DeleteMarkerCreated" ) const ( - // @enum ExpirationStatus + // ExpirationStatusEnabled is a ExpirationStatus enum value ExpirationStatusEnabled = "Enabled" - // @enum ExpirationStatus + + // ExpirationStatusDisabled is a ExpirationStatus enum value ExpirationStatusDisabled = "Disabled" ) const ( - // @enum FilterRuleName + // FilterRuleNamePrefix is a FilterRuleName enum value FilterRuleNamePrefix = "prefix" - // @enum FilterRuleName + + // FilterRuleNameSuffix is a FilterRuleName enum value FilterRuleNameSuffix = "suffix" ) const ( - // @enum MFADelete + // MFADeleteEnabled is a MFADelete enum value MFADeleteEnabled = "Enabled" - // @enum MFADelete + + // MFADeleteDisabled is a MFADelete enum value MFADeleteDisabled = "Disabled" ) const ( - // @enum MFADeleteStatus + // MFADeleteStatusEnabled is a MFADeleteStatus enum value MFADeleteStatusEnabled = "Enabled" - // @enum MFADeleteStatus + + // MFADeleteStatusDisabled is a MFADeleteStatus enum value MFADeleteStatusDisabled = "Disabled" ) const ( - // @enum MetadataDirective + // MetadataDirectiveCopy is a MetadataDirective enum value MetadataDirectiveCopy = "COPY" - // @enum MetadataDirective + + // MetadataDirectiveReplace is a MetadataDirective enum value MetadataDirectiveReplace = "REPLACE" ) const ( - // @enum ObjectCannedACL + // ObjectCannedACLPrivate is a ObjectCannedACL enum value ObjectCannedACLPrivate = "private" - // @enum ObjectCannedACL + + // ObjectCannedACLPublicRead is a ObjectCannedACL enum value ObjectCannedACLPublicRead = "public-read" - // @enum ObjectCannedACL + + // ObjectCannedACLPublicReadWrite is a ObjectCannedACL enum value ObjectCannedACLPublicReadWrite = "public-read-write" - // @enum ObjectCannedACL + + // ObjectCannedACLAuthenticatedRead is a ObjectCannedACL enum value ObjectCannedACLAuthenticatedRead = "authenticated-read" - // @enum ObjectCannedACL + + // ObjectCannedACLAwsExecRead is a ObjectCannedACL enum value ObjectCannedACLAwsExecRead = "aws-exec-read" - // @enum ObjectCannedACL + + // ObjectCannedACLBucketOwnerRead is a ObjectCannedACL enum value ObjectCannedACLBucketOwnerRead = "bucket-owner-read" - // @enum ObjectCannedACL + + // ObjectCannedACLBucketOwnerFullControl is a ObjectCannedACL enum value ObjectCannedACLBucketOwnerFullControl = "bucket-owner-full-control" ) const ( - // @enum ObjectStorageClass + // ObjectStorageClassStandard is a ObjectStorageClass enum value ObjectStorageClassStandard = "STANDARD" - // @enum ObjectStorageClass + + // ObjectStorageClassReducedRedundancy is a ObjectStorageClass enum value ObjectStorageClassReducedRedundancy = "REDUCED_REDUNDANCY" - // @enum ObjectStorageClass + + // ObjectStorageClassGlacier is a ObjectStorageClass enum value ObjectStorageClassGlacier = "GLACIER" ) const ( - // @enum ObjectVersionStorageClass + // ObjectVersionStorageClassStandard is a ObjectVersionStorageClass enum value ObjectVersionStorageClassStandard = "STANDARD" ) const ( - // @enum Payer + // PayerRequester is a Payer enum value PayerRequester = "Requester" - // @enum Payer + + // PayerBucketOwner is a Payer enum value PayerBucketOwner = "BucketOwner" ) const ( - // @enum Permission + // PermissionFullControl is a Permission enum value PermissionFullControl = "FULL_CONTROL" - // @enum Permission + + // PermissionWrite is a Permission enum value PermissionWrite = "WRITE" - // @enum Permission + + // PermissionWriteAcp is a Permission enum value PermissionWriteAcp = "WRITE_ACP" - // @enum Permission + + // PermissionRead is a Permission enum value PermissionRead = "READ" - // @enum Permission + + // PermissionReadAcp is a Permission enum value PermissionReadAcp = "READ_ACP" ) const ( - // @enum Protocol + // ProtocolHttp is a Protocol enum value ProtocolHttp = "http" - // @enum Protocol + + // ProtocolHttps is a Protocol enum value ProtocolHttps = "https" ) const ( - // @enum ReplicationRuleStatus + // ReplicationRuleStatusEnabled is a ReplicationRuleStatus enum value ReplicationRuleStatusEnabled = "Enabled" - // @enum ReplicationRuleStatus + + // ReplicationRuleStatusDisabled is a ReplicationRuleStatus enum value ReplicationRuleStatusDisabled = "Disabled" ) const ( - // @enum ReplicationStatus + // ReplicationStatusComplete is a ReplicationStatus enum value ReplicationStatusComplete = "COMPLETE" - // @enum ReplicationStatus + + // ReplicationStatusPending is a ReplicationStatus enum value ReplicationStatusPending = "PENDING" - // @enum ReplicationStatus + + // ReplicationStatusFailed is a ReplicationStatus enum value ReplicationStatusFailed = "FAILED" - // @enum ReplicationStatus + + // ReplicationStatusReplica is a ReplicationStatus enum value ReplicationStatusReplica = "REPLICA" ) // If present, indicates that the requester was successfully charged for the // request. const ( - // @enum RequestCharged + // RequestChargedRequester is a RequestCharged enum value RequestChargedRequester = "requester" ) @@ -8002,38 +10444,44 @@ const ( // Documentation on downloading objects from requester pays buckets can be found // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html const ( - // @enum RequestPayer + // RequestPayerRequester is a RequestPayer enum value RequestPayerRequester = "requester" ) const ( - // @enum ServerSideEncryption + // ServerSideEncryptionAes256 is a ServerSideEncryption enum value ServerSideEncryptionAes256 = "AES256" - // @enum ServerSideEncryption + + // ServerSideEncryptionAwsKms is a ServerSideEncryption enum value ServerSideEncryptionAwsKms = "aws:kms" ) const ( - // @enum StorageClass + // StorageClassStandard is a StorageClass enum value StorageClassStandard = "STANDARD" - // @enum StorageClass + + // StorageClassReducedRedundancy is a StorageClass enum value StorageClassReducedRedundancy = "REDUCED_REDUNDANCY" - // @enum StorageClass + + // StorageClassStandardIa is a StorageClass enum value StorageClassStandardIa = "STANDARD_IA" ) const ( - // @enum TransitionStorageClass + // TransitionStorageClassGlacier is a TransitionStorageClass enum value TransitionStorageClassGlacier = "GLACIER" - // @enum TransitionStorageClass + + // TransitionStorageClassStandardIa is a TransitionStorageClass enum value TransitionStorageClassStandardIa = "STANDARD_IA" ) const ( - // @enum Type + // TypeCanonicalUser is a Type enum value TypeCanonicalUser = "CanonicalUser" - // @enum Type + + // TypeAmazonCustomerByEmail is a Type enum value TypeAmazonCustomerByEmail = "AmazonCustomerByEmail" - // @enum Type + + // TypeGroup is a Type enum value TypeGroup = "Group" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/host_style_bucket.go b/vendor/github.com/aws/aws-sdk-go/service/s3/host_style_bucket.go index 5172929033c7..f05d1eae9a15 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/s3/host_style_bucket.go +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/host_style_bucket.go @@ -1,6 +1,7 @@ package s3 import ( + "bytes" "fmt" "net/url" "regexp" @@ -67,6 +68,10 @@ func updateEndpointForHostStyle(r *request.Request) { moveBucketToHost(r.HTTPRequest.URL, bucket) } +var ( + accelElem = []byte("s3-accelerate.dualstack.") +) + func updateEndpointForAccelerate(r *request.Request) { bucket, ok := bucketNameFromReqParams(r.Params) if !ok { @@ -85,6 +90,22 @@ func updateEndpointForAccelerate(r *request.Request) { // Change endpoint from s3(-[a-z0-1-])?.amazonaws.com to s3-accelerate.amazonaws.com r.HTTPRequest.URL.Host = replaceHostRegion(r.HTTPRequest.URL.Host, "accelerate") + + if aws.BoolValue(r.Config.UseDualStack) { + host := []byte(r.HTTPRequest.URL.Host) + + // Strip region from hostname + if idx := bytes.Index(host, accelElem); idx >= 0 { + start := idx + len(accelElem) + if end := bytes.IndexByte(host[start:], '.'); end >= 0 { + end += start + 1 + copy(host[start:], host[end:]) + host = host[:len(host)-(end-start)] + r.HTTPRequest.URL.Host = string(host) + } + } + } + moveBucketToHost(r.HTTPRequest.URL, bucket) } diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/s3/waiters.go index cbd3d31166e8..5e16be4ba9ca 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/s3/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/waiters.go @@ -6,6 +6,10 @@ import ( "github.com/aws/aws-sdk-go/private/waiter" ) +// WaitUntilBucketExists uses the Amazon S3 API operation +// HeadBucket to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *S3) WaitUntilBucketExists(input *HeadBucketInput) error { waiterCfg := waiter.Config{ Operation: "HeadBucket", @@ -47,6 +51,10 @@ func (c *S3) WaitUntilBucketExists(input *HeadBucketInput) error { return w.Wait() } +// WaitUntilBucketNotExists uses the Amazon S3 API operation +// HeadBucket to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *S3) WaitUntilBucketNotExists(input *HeadBucketInput) error { waiterCfg := waiter.Config{ Operation: "HeadBucket", @@ -70,6 +78,10 @@ func (c *S3) WaitUntilBucketNotExists(input *HeadBucketInput) error { return w.Wait() } +// WaitUntilObjectExists uses the Amazon S3 API operation +// HeadObject to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *S3) WaitUntilObjectExists(input *HeadObjectInput) error { waiterCfg := waiter.Config{ Operation: "HeadObject", @@ -99,6 +111,10 @@ func (c *S3) WaitUntilObjectExists(input *HeadObjectInput) error { return w.Wait() } +// WaitUntilObjectNotExists uses the Amazon S3 API operation +// HeadObject to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. func (c *S3) WaitUntilObjectNotExists(input *HeadObjectInput) error { waiterCfg := waiter.Config{ Operation: "HeadObject", diff --git a/vendor/github.com/aws/aws-sdk-go/service/ses/api.go b/vendor/github.com/aws/aws-sdk-go/service/ses/api.go new file mode 100644 index 000000000000..679af7f7eeca --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/ses/api.go @@ -0,0 +1,7138 @@ +// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. + +// Package ses provides a client for Amazon Simple Email Service. +package ses + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/query" +) + +const opCloneReceiptRuleSet = "CloneReceiptRuleSet" + +// CloneReceiptRuleSetRequest generates a "aws/request.Request" representing the +// client's request for the CloneReceiptRuleSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CloneReceiptRuleSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CloneReceiptRuleSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CloneReceiptRuleSetRequest method. +// req, resp := client.CloneReceiptRuleSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) CloneReceiptRuleSetRequest(input *CloneReceiptRuleSetInput) (req *request.Request, output *CloneReceiptRuleSetOutput) { + op := &request.Operation{ + Name: opCloneReceiptRuleSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CloneReceiptRuleSetInput{} + } + + req = c.newRequest(op, input, output) + output = &CloneReceiptRuleSetOutput{} + req.Data = output + return +} + +// CloneReceiptRuleSet API operation for Amazon Simple Email Service. +// +// Creates a receipt rule set by cloning an existing one. All receipt rules +// and configurations are copied to the new receipt rule set and are completely +// independent of the source rule set. +// +// For information about setting up rule sets, see the Amazon SES Developer +// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html). +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation CloneReceiptRuleSet for usage and error information. +// +// Returned Error Codes: +// * RuleSetDoesNotExist +// Indicates that the provided receipt rule set does not exist. +// +// * AlreadyExists +// Indicates that a resource could not be created due to a naming conflict. +// +// * LimitExceeded +// Indicates that a resource could not be created due to service limits. For +// a list of Amazon SES limits, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/limits.html). +// +func (c *SES) CloneReceiptRuleSet(input *CloneReceiptRuleSetInput) (*CloneReceiptRuleSetOutput, error) { + req, out := c.CloneReceiptRuleSetRequest(input) + err := req.Send() + return out, err +} + +const opCreateReceiptFilter = "CreateReceiptFilter" + +// CreateReceiptFilterRequest generates a "aws/request.Request" representing the +// client's request for the CreateReceiptFilter operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateReceiptFilter for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateReceiptFilter method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateReceiptFilterRequest method. +// req, resp := client.CreateReceiptFilterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) CreateReceiptFilterRequest(input *CreateReceiptFilterInput) (req *request.Request, output *CreateReceiptFilterOutput) { + op := &request.Operation{ + Name: opCreateReceiptFilter, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateReceiptFilterInput{} + } + + req = c.newRequest(op, input, output) + output = &CreateReceiptFilterOutput{} + req.Data = output + return +} + +// CreateReceiptFilter API operation for Amazon Simple Email Service. +// +// Creates a new IP address filter. +// +// For information about setting up IP address filters, see the Amazon SES +// Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-ip-filters.html). +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation CreateReceiptFilter for usage and error information. +// +// Returned Error Codes: +// * LimitExceeded +// Indicates that a resource could not be created due to service limits. For +// a list of Amazon SES limits, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/limits.html). +// +// * AlreadyExists +// Indicates that a resource could not be created due to a naming conflict. +// +func (c *SES) CreateReceiptFilter(input *CreateReceiptFilterInput) (*CreateReceiptFilterOutput, error) { + req, out := c.CreateReceiptFilterRequest(input) + err := req.Send() + return out, err +} + +const opCreateReceiptRule = "CreateReceiptRule" + +// CreateReceiptRuleRequest generates a "aws/request.Request" representing the +// client's request for the CreateReceiptRule operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateReceiptRule for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateReceiptRule method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateReceiptRuleRequest method. +// req, resp := client.CreateReceiptRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) CreateReceiptRuleRequest(input *CreateReceiptRuleInput) (req *request.Request, output *CreateReceiptRuleOutput) { + op := &request.Operation{ + Name: opCreateReceiptRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateReceiptRuleInput{} + } + + req = c.newRequest(op, input, output) + output = &CreateReceiptRuleOutput{} + req.Data = output + return +} + +// CreateReceiptRule API operation for Amazon Simple Email Service. +// +// Creates a receipt rule. +// +// For information about setting up receipt rules, see the Amazon SES Developer +// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rules.html). +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation CreateReceiptRule for usage and error information. +// +// Returned Error Codes: +// * InvalidSnsTopic +// Indicates that the provided Amazon SNS topic is invalid, or that Amazon SES +// could not publish to the topic, possibly due to permissions issues. For information +// about giving permissions, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html). +// +// * InvalidS3Configuration +// Indicates that the provided Amazon S3 bucket or AWS KMS encryption key is +// invalid, or that Amazon SES could not publish to the bucket, possibly due +// to permissions issues. For information about giving permissions, see the +// Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html). +// +// * InvalidLambdaFunction +// Indicates that the provided AWS Lambda function is invalid, or that Amazon +// SES could not execute the provided function, possibly due to permissions +// issues. For information about giving permissions, see the Amazon SES Developer +// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html). +// +// * AlreadyExists +// Indicates that a resource could not be created due to a naming conflict. +// +// * RuleDoesNotExist +// Indicates that the provided receipt rule does not exist. +// +// * RuleSetDoesNotExist +// Indicates that the provided receipt rule set does not exist. +// +// * LimitExceeded +// Indicates that a resource could not be created due to service limits. For +// a list of Amazon SES limits, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/limits.html). +// +func (c *SES) CreateReceiptRule(input *CreateReceiptRuleInput) (*CreateReceiptRuleOutput, error) { + req, out := c.CreateReceiptRuleRequest(input) + err := req.Send() + return out, err +} + +const opCreateReceiptRuleSet = "CreateReceiptRuleSet" + +// CreateReceiptRuleSetRequest generates a "aws/request.Request" representing the +// client's request for the CreateReceiptRuleSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateReceiptRuleSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateReceiptRuleSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateReceiptRuleSetRequest method. +// req, resp := client.CreateReceiptRuleSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) CreateReceiptRuleSetRequest(input *CreateReceiptRuleSetInput) (req *request.Request, output *CreateReceiptRuleSetOutput) { + op := &request.Operation{ + Name: opCreateReceiptRuleSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateReceiptRuleSetInput{} + } + + req = c.newRequest(op, input, output) + output = &CreateReceiptRuleSetOutput{} + req.Data = output + return +} + +// CreateReceiptRuleSet API operation for Amazon Simple Email Service. +// +// Creates an empty receipt rule set. +// +// For information about setting up receipt rule sets, see the Amazon SES Developer +// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html). +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation CreateReceiptRuleSet for usage and error information. +// +// Returned Error Codes: +// * AlreadyExists +// Indicates that a resource could not be created due to a naming conflict. +// +// * LimitExceeded +// Indicates that a resource could not be created due to service limits. For +// a list of Amazon SES limits, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/limits.html). +// +func (c *SES) CreateReceiptRuleSet(input *CreateReceiptRuleSetInput) (*CreateReceiptRuleSetOutput, error) { + req, out := c.CreateReceiptRuleSetRequest(input) + err := req.Send() + return out, err +} + +const opDeleteIdentity = "DeleteIdentity" + +// DeleteIdentityRequest generates a "aws/request.Request" representing the +// client's request for the DeleteIdentity operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteIdentity for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteIdentity method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteIdentityRequest method. +// req, resp := client.DeleteIdentityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) DeleteIdentityRequest(input *DeleteIdentityInput) (req *request.Request, output *DeleteIdentityOutput) { + op := &request.Operation{ + Name: opDeleteIdentity, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteIdentityInput{} + } + + req = c.newRequest(op, input, output) + output = &DeleteIdentityOutput{} + req.Data = output + return +} + +// DeleteIdentity API operation for Amazon Simple Email Service. +// +// Deletes the specified identity (an email address or a domain) from the list +// of verified identities. +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation DeleteIdentity for usage and error information. +func (c *SES) DeleteIdentity(input *DeleteIdentityInput) (*DeleteIdentityOutput, error) { + req, out := c.DeleteIdentityRequest(input) + err := req.Send() + return out, err +} + +const opDeleteIdentityPolicy = "DeleteIdentityPolicy" + +// DeleteIdentityPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteIdentityPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteIdentityPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteIdentityPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteIdentityPolicyRequest method. +// req, resp := client.DeleteIdentityPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) DeleteIdentityPolicyRequest(input *DeleteIdentityPolicyInput) (req *request.Request, output *DeleteIdentityPolicyOutput) { + op := &request.Operation{ + Name: opDeleteIdentityPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteIdentityPolicyInput{} + } + + req = c.newRequest(op, input, output) + output = &DeleteIdentityPolicyOutput{} + req.Data = output + return +} + +// DeleteIdentityPolicy API operation for Amazon Simple Email Service. +// +// Deletes the specified sending authorization policy for the given identity +// (an email address or a domain). This API returns successfully even if a policy +// with the specified name does not exist. +// +// This API is for the identity owner only. If you have not verified the identity, +// this API will return an error. +// +// Sending authorization is a feature that enables an identity owner to authorize +// other senders to use its identities. For information about using sending +// authorization, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html). +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation DeleteIdentityPolicy for usage and error information. +func (c *SES) DeleteIdentityPolicy(input *DeleteIdentityPolicyInput) (*DeleteIdentityPolicyOutput, error) { + req, out := c.DeleteIdentityPolicyRequest(input) + err := req.Send() + return out, err +} + +const opDeleteReceiptFilter = "DeleteReceiptFilter" + +// DeleteReceiptFilterRequest generates a "aws/request.Request" representing the +// client's request for the DeleteReceiptFilter operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteReceiptFilter for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteReceiptFilter method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteReceiptFilterRequest method. +// req, resp := client.DeleteReceiptFilterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) DeleteReceiptFilterRequest(input *DeleteReceiptFilterInput) (req *request.Request, output *DeleteReceiptFilterOutput) { + op := &request.Operation{ + Name: opDeleteReceiptFilter, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteReceiptFilterInput{} + } + + req = c.newRequest(op, input, output) + output = &DeleteReceiptFilterOutput{} + req.Data = output + return +} + +// DeleteReceiptFilter API operation for Amazon Simple Email Service. +// +// Deletes the specified IP address filter. +// +// For information about managing IP address filters, see the Amazon SES Developer +// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-ip-filters.html). +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation DeleteReceiptFilter for usage and error information. +func (c *SES) DeleteReceiptFilter(input *DeleteReceiptFilterInput) (*DeleteReceiptFilterOutput, error) { + req, out := c.DeleteReceiptFilterRequest(input) + err := req.Send() + return out, err +} + +const opDeleteReceiptRule = "DeleteReceiptRule" + +// DeleteReceiptRuleRequest generates a "aws/request.Request" representing the +// client's request for the DeleteReceiptRule operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteReceiptRule for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteReceiptRule method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteReceiptRuleRequest method. +// req, resp := client.DeleteReceiptRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) DeleteReceiptRuleRequest(input *DeleteReceiptRuleInput) (req *request.Request, output *DeleteReceiptRuleOutput) { + op := &request.Operation{ + Name: opDeleteReceiptRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteReceiptRuleInput{} + } + + req = c.newRequest(op, input, output) + output = &DeleteReceiptRuleOutput{} + req.Data = output + return +} + +// DeleteReceiptRule API operation for Amazon Simple Email Service. +// +// Deletes the specified receipt rule. +// +// For information about managing receipt rules, see the Amazon SES Developer +// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rules.html). +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation DeleteReceiptRule for usage and error information. +// +// Returned Error Codes: +// * RuleSetDoesNotExist +// Indicates that the provided receipt rule set does not exist. +// +func (c *SES) DeleteReceiptRule(input *DeleteReceiptRuleInput) (*DeleteReceiptRuleOutput, error) { + req, out := c.DeleteReceiptRuleRequest(input) + err := req.Send() + return out, err +} + +const opDeleteReceiptRuleSet = "DeleteReceiptRuleSet" + +// DeleteReceiptRuleSetRequest generates a "aws/request.Request" representing the +// client's request for the DeleteReceiptRuleSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteReceiptRuleSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteReceiptRuleSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteReceiptRuleSetRequest method. +// req, resp := client.DeleteReceiptRuleSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) DeleteReceiptRuleSetRequest(input *DeleteReceiptRuleSetInput) (req *request.Request, output *DeleteReceiptRuleSetOutput) { + op := &request.Operation{ + Name: opDeleteReceiptRuleSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteReceiptRuleSetInput{} + } + + req = c.newRequest(op, input, output) + output = &DeleteReceiptRuleSetOutput{} + req.Data = output + return +} + +// DeleteReceiptRuleSet API operation for Amazon Simple Email Service. +// +// Deletes the specified receipt rule set and all of the receipt rules it contains. +// +// The currently active rule set cannot be deleted. +// +// For information about managing receipt rule sets, see the Amazon SES Developer +// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html). +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation DeleteReceiptRuleSet for usage and error information. +// +// Returned Error Codes: +// * CannotDelete +// Indicates that the delete operation could not be completed. +// +func (c *SES) DeleteReceiptRuleSet(input *DeleteReceiptRuleSetInput) (*DeleteReceiptRuleSetOutput, error) { + req, out := c.DeleteReceiptRuleSetRequest(input) + err := req.Send() + return out, err +} + +const opDeleteVerifiedEmailAddress = "DeleteVerifiedEmailAddress" + +// DeleteVerifiedEmailAddressRequest generates a "aws/request.Request" representing the +// client's request for the DeleteVerifiedEmailAddress operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteVerifiedEmailAddress for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteVerifiedEmailAddress method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteVerifiedEmailAddressRequest method. +// req, resp := client.DeleteVerifiedEmailAddressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) DeleteVerifiedEmailAddressRequest(input *DeleteVerifiedEmailAddressInput) (req *request.Request, output *DeleteVerifiedEmailAddressOutput) { + op := &request.Operation{ + Name: opDeleteVerifiedEmailAddress, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteVerifiedEmailAddressInput{} + } + + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + output = &DeleteVerifiedEmailAddressOutput{} + req.Data = output + return +} + +// DeleteVerifiedEmailAddress API operation for Amazon Simple Email Service. +// +// Deletes the specified email address from the list of verified addresses. +// +// The DeleteVerifiedEmailAddress action is deprecated as of the May 15, 2012 +// release of Domain Verification. The DeleteIdentity action is now preferred. +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation DeleteVerifiedEmailAddress for usage and error information. +func (c *SES) DeleteVerifiedEmailAddress(input *DeleteVerifiedEmailAddressInput) (*DeleteVerifiedEmailAddressOutput, error) { + req, out := c.DeleteVerifiedEmailAddressRequest(input) + err := req.Send() + return out, err +} + +const opDescribeActiveReceiptRuleSet = "DescribeActiveReceiptRuleSet" + +// DescribeActiveReceiptRuleSetRequest generates a "aws/request.Request" representing the +// client's request for the DescribeActiveReceiptRuleSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeActiveReceiptRuleSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeActiveReceiptRuleSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeActiveReceiptRuleSetRequest method. +// req, resp := client.DescribeActiveReceiptRuleSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) DescribeActiveReceiptRuleSetRequest(input *DescribeActiveReceiptRuleSetInput) (req *request.Request, output *DescribeActiveReceiptRuleSetOutput) { + op := &request.Operation{ + Name: opDescribeActiveReceiptRuleSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeActiveReceiptRuleSetInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeActiveReceiptRuleSetOutput{} + req.Data = output + return +} + +// DescribeActiveReceiptRuleSet API operation for Amazon Simple Email Service. +// +// Returns the metadata and receipt rules for the receipt rule set that is currently +// active. +// +// For information about setting up receipt rule sets, see the Amazon SES Developer +// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html). +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation DescribeActiveReceiptRuleSet for usage and error information. +func (c *SES) DescribeActiveReceiptRuleSet(input *DescribeActiveReceiptRuleSetInput) (*DescribeActiveReceiptRuleSetOutput, error) { + req, out := c.DescribeActiveReceiptRuleSetRequest(input) + err := req.Send() + return out, err +} + +const opDescribeReceiptRule = "DescribeReceiptRule" + +// DescribeReceiptRuleRequest generates a "aws/request.Request" representing the +// client's request for the DescribeReceiptRule operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeReceiptRule for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeReceiptRule method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeReceiptRuleRequest method. +// req, resp := client.DescribeReceiptRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) DescribeReceiptRuleRequest(input *DescribeReceiptRuleInput) (req *request.Request, output *DescribeReceiptRuleOutput) { + op := &request.Operation{ + Name: opDescribeReceiptRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeReceiptRuleInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeReceiptRuleOutput{} + req.Data = output + return +} + +// DescribeReceiptRule API operation for Amazon Simple Email Service. +// +// Returns the details of the specified receipt rule. +// +// For information about setting up receipt rules, see the Amazon SES Developer +// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rules.html). +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation DescribeReceiptRule for usage and error information. +// +// Returned Error Codes: +// * RuleDoesNotExist +// Indicates that the provided receipt rule does not exist. +// +// * RuleSetDoesNotExist +// Indicates that the provided receipt rule set does not exist. +// +func (c *SES) DescribeReceiptRule(input *DescribeReceiptRuleInput) (*DescribeReceiptRuleOutput, error) { + req, out := c.DescribeReceiptRuleRequest(input) + err := req.Send() + return out, err +} + +const opDescribeReceiptRuleSet = "DescribeReceiptRuleSet" + +// DescribeReceiptRuleSetRequest generates a "aws/request.Request" representing the +// client's request for the DescribeReceiptRuleSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeReceiptRuleSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeReceiptRuleSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeReceiptRuleSetRequest method. +// req, resp := client.DescribeReceiptRuleSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) DescribeReceiptRuleSetRequest(input *DescribeReceiptRuleSetInput) (req *request.Request, output *DescribeReceiptRuleSetOutput) { + op := &request.Operation{ + Name: opDescribeReceiptRuleSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeReceiptRuleSetInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeReceiptRuleSetOutput{} + req.Data = output + return +} + +// DescribeReceiptRuleSet API operation for Amazon Simple Email Service. +// +// Returns the details of the specified receipt rule set. +// +// For information about managing receipt rule sets, see the Amazon SES Developer +// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html). +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation DescribeReceiptRuleSet for usage and error information. +// +// Returned Error Codes: +// * RuleSetDoesNotExist +// Indicates that the provided receipt rule set does not exist. +// +func (c *SES) DescribeReceiptRuleSet(input *DescribeReceiptRuleSetInput) (*DescribeReceiptRuleSetOutput, error) { + req, out := c.DescribeReceiptRuleSetRequest(input) + err := req.Send() + return out, err +} + +const opGetIdentityDkimAttributes = "GetIdentityDkimAttributes" + +// GetIdentityDkimAttributesRequest generates a "aws/request.Request" representing the +// client's request for the GetIdentityDkimAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetIdentityDkimAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetIdentityDkimAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetIdentityDkimAttributesRequest method. +// req, resp := client.GetIdentityDkimAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) GetIdentityDkimAttributesRequest(input *GetIdentityDkimAttributesInput) (req *request.Request, output *GetIdentityDkimAttributesOutput) { + op := &request.Operation{ + Name: opGetIdentityDkimAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetIdentityDkimAttributesInput{} + } + + req = c.newRequest(op, input, output) + output = &GetIdentityDkimAttributesOutput{} + req.Data = output + return +} + +// GetIdentityDkimAttributes API operation for Amazon Simple Email Service. +// +// Returns the current status of Easy DKIM signing for an entity. For domain +// name identities, this action also returns the DKIM tokens that are required +// for Easy DKIM signing, and whether Amazon SES has successfully verified that +// these tokens have been published. +// +// This action takes a list of identities as input and returns the following +// information for each: +// +// Whether Easy DKIM signing is enabled or disabled. +// +// A set of DKIM tokens that represent the identity. If the identity is an +// email address, the tokens represent the domain of that address. +// +// Whether Amazon SES has successfully verified the DKIM tokens published +// in the domain's DNS. This information is only returned for domain name identities, +// not for email addresses. +// +// This action is throttled at one request per second and can only get DKIM +// attributes for up to 100 identities at a time. +// +// For more information about creating DNS records using DKIM tokens, go to +// the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim-dns-records.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. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation GetIdentityDkimAttributes for usage and error information. +func (c *SES) GetIdentityDkimAttributes(input *GetIdentityDkimAttributesInput) (*GetIdentityDkimAttributesOutput, error) { + req, out := c.GetIdentityDkimAttributesRequest(input) + err := req.Send() + return out, err +} + +const opGetIdentityMailFromDomainAttributes = "GetIdentityMailFromDomainAttributes" + +// GetIdentityMailFromDomainAttributesRequest generates a "aws/request.Request" representing the +// client's request for the GetIdentityMailFromDomainAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetIdentityMailFromDomainAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetIdentityMailFromDomainAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetIdentityMailFromDomainAttributesRequest method. +// req, resp := client.GetIdentityMailFromDomainAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) GetIdentityMailFromDomainAttributesRequest(input *GetIdentityMailFromDomainAttributesInput) (req *request.Request, output *GetIdentityMailFromDomainAttributesOutput) { + op := &request.Operation{ + Name: opGetIdentityMailFromDomainAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetIdentityMailFromDomainAttributesInput{} + } + + req = c.newRequest(op, input, output) + output = &GetIdentityMailFromDomainAttributesOutput{} + req.Data = output + return +} + +// GetIdentityMailFromDomainAttributes API operation for Amazon Simple Email Service. +// +// Returns the custom MAIL FROM attributes for a list of identities (email addresses +// and/or domains). +// +// This action is throttled at one request per second and can only get custom +// MAIL FROM attributes for up to 100 identities at a time. +// +// 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 Simple Email Service's +// API operation GetIdentityMailFromDomainAttributes for usage and error information. +func (c *SES) GetIdentityMailFromDomainAttributes(input *GetIdentityMailFromDomainAttributesInput) (*GetIdentityMailFromDomainAttributesOutput, error) { + req, out := c.GetIdentityMailFromDomainAttributesRequest(input) + err := req.Send() + return out, err +} + +const opGetIdentityNotificationAttributes = "GetIdentityNotificationAttributes" + +// GetIdentityNotificationAttributesRequest generates a "aws/request.Request" representing the +// client's request for the GetIdentityNotificationAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetIdentityNotificationAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetIdentityNotificationAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetIdentityNotificationAttributesRequest method. +// req, resp := client.GetIdentityNotificationAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) GetIdentityNotificationAttributesRequest(input *GetIdentityNotificationAttributesInput) (req *request.Request, output *GetIdentityNotificationAttributesOutput) { + op := &request.Operation{ + Name: opGetIdentityNotificationAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetIdentityNotificationAttributesInput{} + } + + req = c.newRequest(op, input, output) + output = &GetIdentityNotificationAttributesOutput{} + req.Data = output + return +} + +// GetIdentityNotificationAttributes API operation for Amazon Simple Email Service. +// +// Given a list of verified identities (email addresses and/or domains), returns +// a structure describing identity notification attributes. +// +// This action is throttled at one request per second and can only get notification +// attributes for up to 100 identities at a time. +// +// For more information about using notifications with Amazon SES, see the +// Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.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. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation GetIdentityNotificationAttributes for usage and error information. +func (c *SES) GetIdentityNotificationAttributes(input *GetIdentityNotificationAttributesInput) (*GetIdentityNotificationAttributesOutput, error) { + req, out := c.GetIdentityNotificationAttributesRequest(input) + err := req.Send() + return out, err +} + +const opGetIdentityPolicies = "GetIdentityPolicies" + +// GetIdentityPoliciesRequest generates a "aws/request.Request" representing the +// client's request for the GetIdentityPolicies operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetIdentityPolicies for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetIdentityPolicies method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetIdentityPoliciesRequest method. +// req, resp := client.GetIdentityPoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) GetIdentityPoliciesRequest(input *GetIdentityPoliciesInput) (req *request.Request, output *GetIdentityPoliciesOutput) { + op := &request.Operation{ + Name: opGetIdentityPolicies, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetIdentityPoliciesInput{} + } + + req = c.newRequest(op, input, output) + output = &GetIdentityPoliciesOutput{} + req.Data = output + return +} + +// GetIdentityPolicies API operation for Amazon Simple Email Service. +// +// Returns the requested sending authorization policies for the given identity +// (an email address or a domain). The policies are returned as a map of policy +// names to policy contents. You can retrieve a maximum of 20 policies at a +// time. +// +// This API is for the identity owner only. If you have not verified the identity, +// this API will return an error. +// +// Sending authorization is a feature that enables an identity owner to authorize +// other senders to use its identities. For information about using sending +// authorization, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html). +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation GetIdentityPolicies for usage and error information. +func (c *SES) GetIdentityPolicies(input *GetIdentityPoliciesInput) (*GetIdentityPoliciesOutput, error) { + req, out := c.GetIdentityPoliciesRequest(input) + err := req.Send() + return out, err +} + +const opGetIdentityVerificationAttributes = "GetIdentityVerificationAttributes" + +// GetIdentityVerificationAttributesRequest generates a "aws/request.Request" representing the +// client's request for the GetIdentityVerificationAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetIdentityVerificationAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetIdentityVerificationAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetIdentityVerificationAttributesRequest method. +// req, resp := client.GetIdentityVerificationAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) GetIdentityVerificationAttributesRequest(input *GetIdentityVerificationAttributesInput) (req *request.Request, output *GetIdentityVerificationAttributesOutput) { + op := &request.Operation{ + Name: opGetIdentityVerificationAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetIdentityVerificationAttributesInput{} + } + + req = c.newRequest(op, input, output) + output = &GetIdentityVerificationAttributesOutput{} + req.Data = output + return +} + +// GetIdentityVerificationAttributes API operation for Amazon Simple Email Service. +// +// Given a list of identities (email addresses and/or domains), returns the +// verification status and (for domain identities) the verification token for +// each identity. +// +// This action is throttled at one request per second and can only get verification +// attributes for up to 100 identities at a time. +// +// 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 Simple Email Service's +// API operation GetIdentityVerificationAttributes for usage and error information. +func (c *SES) GetIdentityVerificationAttributes(input *GetIdentityVerificationAttributesInput) (*GetIdentityVerificationAttributesOutput, error) { + req, out := c.GetIdentityVerificationAttributesRequest(input) + err := req.Send() + return out, err +} + +const opGetSendQuota = "GetSendQuota" + +// GetSendQuotaRequest generates a "aws/request.Request" representing the +// client's request for the GetSendQuota operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetSendQuota for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetSendQuota method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetSendQuotaRequest method. +// req, resp := client.GetSendQuotaRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) GetSendQuotaRequest(input *GetSendQuotaInput) (req *request.Request, output *GetSendQuotaOutput) { + op := &request.Operation{ + Name: opGetSendQuota, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetSendQuotaInput{} + } + + req = c.newRequest(op, input, output) + output = &GetSendQuotaOutput{} + req.Data = output + return +} + +// GetSendQuota API operation for Amazon Simple Email Service. +// +// Returns the user's current sending limits. +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation GetSendQuota for usage and error information. +func (c *SES) GetSendQuota(input *GetSendQuotaInput) (*GetSendQuotaOutput, error) { + req, out := c.GetSendQuotaRequest(input) + err := req.Send() + return out, err +} + +const opGetSendStatistics = "GetSendStatistics" + +// GetSendStatisticsRequest generates a "aws/request.Request" representing the +// client's request for the GetSendStatistics operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetSendStatistics for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetSendStatistics method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetSendStatisticsRequest method. +// req, resp := client.GetSendStatisticsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) GetSendStatisticsRequest(input *GetSendStatisticsInput) (req *request.Request, output *GetSendStatisticsOutput) { + op := &request.Operation{ + Name: opGetSendStatistics, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetSendStatisticsInput{} + } + + req = c.newRequest(op, input, output) + output = &GetSendStatisticsOutput{} + req.Data = output + return +} + +// GetSendStatistics API operation for Amazon Simple Email Service. +// +// Returns the user's sending statistics. The result is a list of data points, +// representing the last two weeks of sending activity. +// +// Each data point in the list contains statistics for a 15-minute interval. +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation GetSendStatistics for usage and error information. +func (c *SES) GetSendStatistics(input *GetSendStatisticsInput) (*GetSendStatisticsOutput, error) { + req, out := c.GetSendStatisticsRequest(input) + err := req.Send() + return out, err +} + +const opListIdentities = "ListIdentities" + +// ListIdentitiesRequest generates a "aws/request.Request" representing the +// client's request for the ListIdentities operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListIdentities for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListIdentities method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListIdentitiesRequest method. +// req, resp := client.ListIdentitiesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) ListIdentitiesRequest(input *ListIdentitiesInput) (req *request.Request, output *ListIdentitiesOutput) { + op := &request.Operation{ + Name: opListIdentities, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxItems", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListIdentitiesInput{} + } + + req = c.newRequest(op, input, output) + output = &ListIdentitiesOutput{} + req.Data = output + return +} + +// ListIdentities API operation for Amazon Simple Email Service. +// +// Returns a list containing all of the identities (email addresses and domains) +// for your AWS account, regardless of verification status. +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation ListIdentities for usage and error information. +func (c *SES) ListIdentities(input *ListIdentitiesInput) (*ListIdentitiesOutput, error) { + req, out := c.ListIdentitiesRequest(input) + err := req.Send() + return out, err +} + +// ListIdentitiesPages iterates over the pages of a ListIdentities operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListIdentities 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 ListIdentities operation. +// pageNum := 0 +// err := client.ListIdentitiesPages(params, +// func(page *ListIdentitiesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SES) ListIdentitiesPages(input *ListIdentitiesInput, fn func(p *ListIdentitiesOutput, lastPage bool) (shouldContinue bool)) error { + page, _ := c.ListIdentitiesRequest(input) + page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) + return page.EachPage(func(p interface{}, lastPage bool) bool { + return fn(p.(*ListIdentitiesOutput), lastPage) + }) +} + +const opListIdentityPolicies = "ListIdentityPolicies" + +// ListIdentityPoliciesRequest generates a "aws/request.Request" representing the +// client's request for the ListIdentityPolicies operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListIdentityPolicies for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListIdentityPolicies method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListIdentityPoliciesRequest method. +// req, resp := client.ListIdentityPoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) ListIdentityPoliciesRequest(input *ListIdentityPoliciesInput) (req *request.Request, output *ListIdentityPoliciesOutput) { + op := &request.Operation{ + Name: opListIdentityPolicies, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListIdentityPoliciesInput{} + } + + req = c.newRequest(op, input, output) + output = &ListIdentityPoliciesOutput{} + req.Data = output + return +} + +// ListIdentityPolicies API operation for Amazon Simple Email Service. +// +// Returns a list of sending authorization policies that are attached to the +// given identity (an email address or a domain). This API returns only a list. +// If you want the actual policy content, you can use GetIdentityPolicies. +// +// This API is for the identity owner only. If you have not verified the identity, +// this API will return an error. +// +// Sending authorization is a feature that enables an identity owner to authorize +// other senders to use its identities. For information about using sending +// authorization, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html). +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation ListIdentityPolicies for usage and error information. +func (c *SES) ListIdentityPolicies(input *ListIdentityPoliciesInput) (*ListIdentityPoliciesOutput, error) { + req, out := c.ListIdentityPoliciesRequest(input) + err := req.Send() + return out, err +} + +const opListReceiptFilters = "ListReceiptFilters" + +// ListReceiptFiltersRequest generates a "aws/request.Request" representing the +// client's request for the ListReceiptFilters operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListReceiptFilters for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListReceiptFilters method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListReceiptFiltersRequest method. +// req, resp := client.ListReceiptFiltersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) ListReceiptFiltersRequest(input *ListReceiptFiltersInput) (req *request.Request, output *ListReceiptFiltersOutput) { + op := &request.Operation{ + Name: opListReceiptFilters, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListReceiptFiltersInput{} + } + + req = c.newRequest(op, input, output) + output = &ListReceiptFiltersOutput{} + req.Data = output + return +} + +// ListReceiptFilters API operation for Amazon Simple Email Service. +// +// Lists the IP address filters associated with your AWS account. +// +// For information about managing IP address filters, see the Amazon SES Developer +// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-ip-filters.html). +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation ListReceiptFilters for usage and error information. +func (c *SES) ListReceiptFilters(input *ListReceiptFiltersInput) (*ListReceiptFiltersOutput, error) { + req, out := c.ListReceiptFiltersRequest(input) + err := req.Send() + return out, err +} + +const opListReceiptRuleSets = "ListReceiptRuleSets" + +// ListReceiptRuleSetsRequest generates a "aws/request.Request" representing the +// client's request for the ListReceiptRuleSets operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListReceiptRuleSets for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListReceiptRuleSets method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListReceiptRuleSetsRequest method. +// req, resp := client.ListReceiptRuleSetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) ListReceiptRuleSetsRequest(input *ListReceiptRuleSetsInput) (req *request.Request, output *ListReceiptRuleSetsOutput) { + op := &request.Operation{ + Name: opListReceiptRuleSets, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListReceiptRuleSetsInput{} + } + + req = c.newRequest(op, input, output) + output = &ListReceiptRuleSetsOutput{} + req.Data = output + return +} + +// ListReceiptRuleSets API operation for Amazon Simple Email Service. +// +// Lists the receipt rule sets that exist under your AWS account. If there are +// additional receipt rule sets to be retrieved, you will receive a NextToken +// that you can provide to the next call to ListReceiptRuleSets to retrieve +// the additional entries. +// +// For information about managing receipt rule sets, see the Amazon SES Developer +// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html). +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation ListReceiptRuleSets for usage and error information. +func (c *SES) ListReceiptRuleSets(input *ListReceiptRuleSetsInput) (*ListReceiptRuleSetsOutput, error) { + req, out := c.ListReceiptRuleSetsRequest(input) + err := req.Send() + return out, err +} + +const opListVerifiedEmailAddresses = "ListVerifiedEmailAddresses" + +// ListVerifiedEmailAddressesRequest generates a "aws/request.Request" representing the +// client's request for the ListVerifiedEmailAddresses operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListVerifiedEmailAddresses for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListVerifiedEmailAddresses method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListVerifiedEmailAddressesRequest method. +// req, resp := client.ListVerifiedEmailAddressesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) ListVerifiedEmailAddressesRequest(input *ListVerifiedEmailAddressesInput) (req *request.Request, output *ListVerifiedEmailAddressesOutput) { + op := &request.Operation{ + Name: opListVerifiedEmailAddresses, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListVerifiedEmailAddressesInput{} + } + + req = c.newRequest(op, input, output) + output = &ListVerifiedEmailAddressesOutput{} + req.Data = output + return +} + +// ListVerifiedEmailAddresses API operation for Amazon Simple Email Service. +// +// Returns a list containing all of the email addresses that have been verified. +// +// The ListVerifiedEmailAddresses action is deprecated as of the May 15, 2012 +// release of Domain Verification. The ListIdentities action is now preferred. +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation ListVerifiedEmailAddresses for usage and error information. +func (c *SES) ListVerifiedEmailAddresses(input *ListVerifiedEmailAddressesInput) (*ListVerifiedEmailAddressesOutput, error) { + req, out := c.ListVerifiedEmailAddressesRequest(input) + err := req.Send() + return out, err +} + +const opPutIdentityPolicy = "PutIdentityPolicy" + +// PutIdentityPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutIdentityPolicy operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutIdentityPolicy for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutIdentityPolicy method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutIdentityPolicyRequest method. +// req, resp := client.PutIdentityPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) PutIdentityPolicyRequest(input *PutIdentityPolicyInput) (req *request.Request, output *PutIdentityPolicyOutput) { + op := &request.Operation{ + Name: opPutIdentityPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutIdentityPolicyInput{} + } + + req = c.newRequest(op, input, output) + output = &PutIdentityPolicyOutput{} + req.Data = output + return +} + +// PutIdentityPolicy API operation for Amazon Simple Email Service. +// +// Adds or updates a sending authorization policy for the specified identity +// (an email address or a domain). +// +// This API is for the identity owner only. If you have not verified the identity, +// this API will return an error. +// +// Sending authorization is a feature that enables an identity owner to authorize +// other senders to use its identities. For information about using sending +// authorization, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html). +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation PutIdentityPolicy for usage and error information. +// +// Returned Error Codes: +// * InvalidPolicy +// Indicates that the provided policy is invalid. Check the error stack for +// more information about what caused the error. +// +func (c *SES) PutIdentityPolicy(input *PutIdentityPolicyInput) (*PutIdentityPolicyOutput, error) { + req, out := c.PutIdentityPolicyRequest(input) + err := req.Send() + return out, err +} + +const opReorderReceiptRuleSet = "ReorderReceiptRuleSet" + +// ReorderReceiptRuleSetRequest generates a "aws/request.Request" representing the +// client's request for the ReorderReceiptRuleSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ReorderReceiptRuleSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ReorderReceiptRuleSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ReorderReceiptRuleSetRequest method. +// req, resp := client.ReorderReceiptRuleSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) ReorderReceiptRuleSetRequest(input *ReorderReceiptRuleSetInput) (req *request.Request, output *ReorderReceiptRuleSetOutput) { + op := &request.Operation{ + Name: opReorderReceiptRuleSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ReorderReceiptRuleSetInput{} + } + + req = c.newRequest(op, input, output) + output = &ReorderReceiptRuleSetOutput{} + req.Data = output + return +} + +// ReorderReceiptRuleSet API operation for Amazon Simple Email Service. +// +// Reorders the receipt rules within a receipt rule set. +// +// All of the rules in the rule set must be represented in this request. That +// is, this API will return an error if the reorder request doesn't explicitly +// position all of the rules. +// +// For information about managing receipt rule sets, see the Amazon SES Developer +// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html). +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation ReorderReceiptRuleSet for usage and error information. +// +// Returned Error Codes: +// * RuleSetDoesNotExist +// Indicates that the provided receipt rule set does not exist. +// +// * RuleDoesNotExist +// Indicates that the provided receipt rule does not exist. +// +func (c *SES) ReorderReceiptRuleSet(input *ReorderReceiptRuleSetInput) (*ReorderReceiptRuleSetOutput, error) { + req, out := c.ReorderReceiptRuleSetRequest(input) + err := req.Send() + return out, err +} + +const opSendBounce = "SendBounce" + +// SendBounceRequest generates a "aws/request.Request" representing the +// client's request for the SendBounce operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SendBounce for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SendBounce method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SendBounceRequest method. +// req, resp := client.SendBounceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) SendBounceRequest(input *SendBounceInput) (req *request.Request, output *SendBounceOutput) { + op := &request.Operation{ + Name: opSendBounce, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SendBounceInput{} + } + + req = c.newRequest(op, input, output) + output = &SendBounceOutput{} + req.Data = output + return +} + +// SendBounce API operation for Amazon Simple Email Service. +// +// Generates and sends a bounce message to the sender of an email you received +// through Amazon SES. You can only use this API on an email up to 24 hours +// after you receive it. +// +// You cannot use this API to send generic bounces for mail that was not received +// by Amazon SES. +// +// For information about receiving email through Amazon SES, see the Amazon +// SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html). +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation SendBounce for usage and error information. +// +// Returned Error Codes: +// * MessageRejected +// Indicates that the action failed, and the message could not be sent. Check +// the error stack for more information about what caused the error. +// +func (c *SES) SendBounce(input *SendBounceInput) (*SendBounceOutput, error) { + req, out := c.SendBounceRequest(input) + err := req.Send() + return out, err +} + +const opSendEmail = "SendEmail" + +// SendEmailRequest generates a "aws/request.Request" representing the +// client's request for the SendEmail operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SendEmail for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SendEmail method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SendEmailRequest method. +// req, resp := client.SendEmailRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) SendEmailRequest(input *SendEmailInput) (req *request.Request, output *SendEmailOutput) { + op := &request.Operation{ + Name: opSendEmail, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SendEmailInput{} + } + + req = c.newRequest(op, input, output) + output = &SendEmailOutput{} + req.Data = output + return +} + +// SendEmail API operation for Amazon Simple Email Service. +// +// Composes an email message based on input data, and then immediately queues +// the message for sending. +// +// There are several important points to know about SendEmail: +// +// You can only send email from verified email addresses and domains; otherwise, +// you will get an "Email address not verified" error. If your account is still +// in the Amazon SES sandbox, you must also verify every recipient email address +// except for the recipients provided by the Amazon SES mailbox simulator. For +// more information, go to the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html). +// +// The total size of the message cannot exceed 10 MB. This includes any attachments +// that are part of the message. +// +// Amazon SES has a limit on the total number of recipients per message. +// The combined number of To:, CC: and BCC: email addresses cannot exceed 50. +// If you need to send an email message to a larger audience, you can divide +// your recipient list into groups of 50 or fewer, and then call Amazon SES +// repeatedly to send the message to each group. +// +// For every message that you send, the total number of recipients (To:, +// CC: and BCC:) is counted against your sending quota - the maximum number +// of emails you can send in a 24-hour period. For information about your sending +// quota, go to the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/manage-sending-limits.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. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation SendEmail for usage and error information. +// +// Returned Error Codes: +// * MessageRejected +// Indicates that the action failed, and the message could not be sent. Check +// the error stack for more information about what caused the error. +// +// * MailFromDomainNotVerifiedException +// Indicates that the message could not be sent because Amazon SES could not +// read the MX record required to use the specified MAIL FROM domain. For information +// about editing the custom MAIL FROM domain settings for an identity, see the +// Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from-edit.html). +// +func (c *SES) SendEmail(input *SendEmailInput) (*SendEmailOutput, error) { + req, out := c.SendEmailRequest(input) + err := req.Send() + return out, err +} + +const opSendRawEmail = "SendRawEmail" + +// SendRawEmailRequest generates a "aws/request.Request" representing the +// client's request for the SendRawEmail operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SendRawEmail for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SendRawEmail method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SendRawEmailRequest method. +// req, resp := client.SendRawEmailRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) SendRawEmailRequest(input *SendRawEmailInput) (req *request.Request, output *SendRawEmailOutput) { + op := &request.Operation{ + Name: opSendRawEmail, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SendRawEmailInput{} + } + + req = c.newRequest(op, input, output) + output = &SendRawEmailOutput{} + req.Data = output + return +} + +// SendRawEmail API operation for Amazon Simple Email Service. +// +// Sends an email message, with header and content specified by the client. +// The SendRawEmail action is useful for sending multipart MIME emails. The +// raw text of the message must comply with Internet email standards; otherwise, +// the message cannot be sent. +// +// There are several important points to know about SendRawEmail: +// +// You can only send email from verified email addresses and domains; otherwise, +// you will get an "Email address not verified" error. If your account is still +// in the Amazon SES sandbox, you must also verify every recipient email address +// except for the recipients provided by the Amazon SES mailbox simulator. For +// more information, go to the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html). +// +// The total size of the message cannot exceed 10 MB. This includes any attachments +// that are part of the message. +// +// Amazon SES has a limit on the total number of recipients per message. +// The combined number of To:, CC: and BCC: email addresses cannot exceed 50. +// If you need to send an email message to a larger audience, you can divide +// your recipient list into groups of 50 or fewer, and then call Amazon SES +// repeatedly to send the message to each group. +// +// The To:, CC:, and BCC: headers in the raw message can contain a group +// list. Note that each recipient in a group list counts towards the 50-recipient +// limit. +// +// Amazon SES overrides any Message-ID and Date headers you provide. +// +// For every message that you send, the total number of recipients (To:, +// CC: and BCC:) is counted against your sending quota - the maximum number +// of emails you can send in a 24-hour period. For information about your sending +// quota, go to the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/manage-sending-limits.html). +// +// If you are using sending authorization to send on behalf of another user, +// SendRawEmail enables you to specify the cross-account identity for the email's +// "Source," "From," and "Return-Path" parameters in one of two ways: you can +// pass optional parameters SourceArn, FromArn, and/or ReturnPathArn to the +// API, or you can include the following X-headers in the header of your raw +// email: +// +// X-SES-SOURCE-ARN +// +// X-SES-FROM-ARN +// +// X-SES-RETURN-PATH-ARN +// +// Do not include these X-headers in the DKIM signature, because they are +// removed by Amazon SES before sending the email. +// +// For the most common sending authorization use case, we recommend that you +// specify the SourceIdentityArn and do not specify either the FromIdentityArn +// or ReturnPathIdentityArn. (The same note applies to the corresponding X-headers.) +// If you only specify the SourceIdentityArn, Amazon SES will simply set the +// "From" address and the "Return Path" address to the identity specified in +// SourceIdentityArn. For more information about sending authorization, see +// the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.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. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation SendRawEmail for usage and error information. +// +// Returned Error Codes: +// * MessageRejected +// Indicates that the action failed, and the message could not be sent. Check +// the error stack for more information about what caused the error. +// +// * MailFromDomainNotVerifiedException +// Indicates that the message could not be sent because Amazon SES could not +// read the MX record required to use the specified MAIL FROM domain. For information +// about editing the custom MAIL FROM domain settings for an identity, see the +// Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from-edit.html). +// +func (c *SES) SendRawEmail(input *SendRawEmailInput) (*SendRawEmailOutput, error) { + req, out := c.SendRawEmailRequest(input) + err := req.Send() + return out, err +} + +const opSetActiveReceiptRuleSet = "SetActiveReceiptRuleSet" + +// SetActiveReceiptRuleSetRequest generates a "aws/request.Request" representing the +// client's request for the SetActiveReceiptRuleSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetActiveReceiptRuleSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetActiveReceiptRuleSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetActiveReceiptRuleSetRequest method. +// req, resp := client.SetActiveReceiptRuleSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) SetActiveReceiptRuleSetRequest(input *SetActiveReceiptRuleSetInput) (req *request.Request, output *SetActiveReceiptRuleSetOutput) { + op := &request.Operation{ + Name: opSetActiveReceiptRuleSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SetActiveReceiptRuleSetInput{} + } + + req = c.newRequest(op, input, output) + output = &SetActiveReceiptRuleSetOutput{} + req.Data = output + return +} + +// SetActiveReceiptRuleSet API operation for Amazon Simple Email Service. +// +// Sets the specified receipt rule set as the active receipt rule set. +// +// To disable your email-receiving through Amazon SES completely, you can +// call this API with RuleSetName set to null. +// +// For information about managing receipt rule sets, see the Amazon SES Developer +// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html). +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation SetActiveReceiptRuleSet for usage and error information. +// +// Returned Error Codes: +// * RuleSetDoesNotExist +// Indicates that the provided receipt rule set does not exist. +// +func (c *SES) SetActiveReceiptRuleSet(input *SetActiveReceiptRuleSetInput) (*SetActiveReceiptRuleSetOutput, error) { + req, out := c.SetActiveReceiptRuleSetRequest(input) + err := req.Send() + return out, err +} + +const opSetIdentityDkimEnabled = "SetIdentityDkimEnabled" + +// SetIdentityDkimEnabledRequest generates a "aws/request.Request" representing the +// client's request for the SetIdentityDkimEnabled operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetIdentityDkimEnabled for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetIdentityDkimEnabled method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetIdentityDkimEnabledRequest method. +// req, resp := client.SetIdentityDkimEnabledRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) SetIdentityDkimEnabledRequest(input *SetIdentityDkimEnabledInput) (req *request.Request, output *SetIdentityDkimEnabledOutput) { + op := &request.Operation{ + Name: opSetIdentityDkimEnabled, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SetIdentityDkimEnabledInput{} + } + + req = c.newRequest(op, input, output) + output = &SetIdentityDkimEnabledOutput{} + req.Data = output + return +} + +// SetIdentityDkimEnabled API operation for Amazon Simple Email Service. +// +// Enables or disables Easy DKIM signing of email sent from an identity: +// +// If Easy DKIM signing is enabled for a domain name identity (e.g., example.com), +// then Amazon SES will DKIM-sign all email sent by addresses under that domain +// name (e.g., user@example.com). +// +// If Easy DKIM signing is enabled for an email address, then Amazon SES +// will DKIM-sign all email sent by that email address. +// +// For email addresses (e.g., user@example.com), you can only enable Easy +// DKIM signing if the corresponding domain (e.g., example.com) has been set +// up for Easy DKIM using the AWS Console or the VerifyDomainDkim action. +// +// This action is throttled at one request per second. +// +// For more information about Easy DKIM signing, go to the Amazon SES Developer +// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.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. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation SetIdentityDkimEnabled for usage and error information. +func (c *SES) SetIdentityDkimEnabled(input *SetIdentityDkimEnabledInput) (*SetIdentityDkimEnabledOutput, error) { + req, out := c.SetIdentityDkimEnabledRequest(input) + err := req.Send() + return out, err +} + +const opSetIdentityFeedbackForwardingEnabled = "SetIdentityFeedbackForwardingEnabled" + +// SetIdentityFeedbackForwardingEnabledRequest generates a "aws/request.Request" representing the +// client's request for the SetIdentityFeedbackForwardingEnabled operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetIdentityFeedbackForwardingEnabled for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetIdentityFeedbackForwardingEnabled method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetIdentityFeedbackForwardingEnabledRequest method. +// req, resp := client.SetIdentityFeedbackForwardingEnabledRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) SetIdentityFeedbackForwardingEnabledRequest(input *SetIdentityFeedbackForwardingEnabledInput) (req *request.Request, output *SetIdentityFeedbackForwardingEnabledOutput) { + op := &request.Operation{ + Name: opSetIdentityFeedbackForwardingEnabled, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SetIdentityFeedbackForwardingEnabledInput{} + } + + req = c.newRequest(op, input, output) + output = &SetIdentityFeedbackForwardingEnabledOutput{} + req.Data = output + return +} + +// SetIdentityFeedbackForwardingEnabled API operation for Amazon Simple Email Service. +// +// Given an identity (an email address or a domain), enables or disables whether +// Amazon SES forwards bounce and complaint notifications as email. Feedback +// forwarding can only be disabled when Amazon Simple Notification Service (Amazon +// SNS) topics are specified for both bounces and complaints. +// +// Feedback forwarding does not apply to delivery notifications. Delivery +// notifications are only available through Amazon SNS. +// +// This action is throttled at one request per second. +// +// For more information about using notifications with Amazon SES, see the +// Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.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. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation SetIdentityFeedbackForwardingEnabled for usage and error information. +func (c *SES) SetIdentityFeedbackForwardingEnabled(input *SetIdentityFeedbackForwardingEnabledInput) (*SetIdentityFeedbackForwardingEnabledOutput, error) { + req, out := c.SetIdentityFeedbackForwardingEnabledRequest(input) + err := req.Send() + return out, err +} + +const opSetIdentityHeadersInNotificationsEnabled = "SetIdentityHeadersInNotificationsEnabled" + +// SetIdentityHeadersInNotificationsEnabledRequest generates a "aws/request.Request" representing the +// client's request for the SetIdentityHeadersInNotificationsEnabled operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetIdentityHeadersInNotificationsEnabled for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetIdentityHeadersInNotificationsEnabled method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetIdentityHeadersInNotificationsEnabledRequest method. +// req, resp := client.SetIdentityHeadersInNotificationsEnabledRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) SetIdentityHeadersInNotificationsEnabledRequest(input *SetIdentityHeadersInNotificationsEnabledInput) (req *request.Request, output *SetIdentityHeadersInNotificationsEnabledOutput) { + op := &request.Operation{ + Name: opSetIdentityHeadersInNotificationsEnabled, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SetIdentityHeadersInNotificationsEnabledInput{} + } + + req = c.newRequest(op, input, output) + output = &SetIdentityHeadersInNotificationsEnabledOutput{} + req.Data = output + return +} + +// SetIdentityHeadersInNotificationsEnabled API operation for Amazon Simple Email Service. +// +// Given an identity (an email address or a domain), sets whether Amazon SES +// includes the original email headers in the Amazon Simple Notification Service +// (Amazon SNS) notifications of a specified type. +// +// This action is throttled at one request per second. +// +// For more information about using notifications with Amazon SES, see the +// Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.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. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation SetIdentityHeadersInNotificationsEnabled for usage and error information. +func (c *SES) SetIdentityHeadersInNotificationsEnabled(input *SetIdentityHeadersInNotificationsEnabledInput) (*SetIdentityHeadersInNotificationsEnabledOutput, error) { + req, out := c.SetIdentityHeadersInNotificationsEnabledRequest(input) + err := req.Send() + return out, err +} + +const opSetIdentityMailFromDomain = "SetIdentityMailFromDomain" + +// SetIdentityMailFromDomainRequest generates a "aws/request.Request" representing the +// client's request for the SetIdentityMailFromDomain operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetIdentityMailFromDomain for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetIdentityMailFromDomain method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetIdentityMailFromDomainRequest method. +// req, resp := client.SetIdentityMailFromDomainRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) SetIdentityMailFromDomainRequest(input *SetIdentityMailFromDomainInput) (req *request.Request, output *SetIdentityMailFromDomainOutput) { + op := &request.Operation{ + Name: opSetIdentityMailFromDomain, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SetIdentityMailFromDomainInput{} + } + + req = c.newRequest(op, input, output) + output = &SetIdentityMailFromDomainOutput{} + req.Data = output + return +} + +// SetIdentityMailFromDomain API operation for Amazon Simple Email Service. +// +// Enables or disables the custom MAIL FROM domain setup for a verified identity +// (an email address or a domain). +// +// To send emails using the specified MAIL FROM domain, you must add an MX +// record to your MAIL FROM domain's DNS settings. If you want your emails to +// pass Sender Policy Framework (SPF) checks, you must also add or update an +// SPF record. For more information, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from-set.html). +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation SetIdentityMailFromDomain for usage and error information. +func (c *SES) SetIdentityMailFromDomain(input *SetIdentityMailFromDomainInput) (*SetIdentityMailFromDomainOutput, error) { + req, out := c.SetIdentityMailFromDomainRequest(input) + err := req.Send() + return out, err +} + +const opSetIdentityNotificationTopic = "SetIdentityNotificationTopic" + +// SetIdentityNotificationTopicRequest generates a "aws/request.Request" representing the +// client's request for the SetIdentityNotificationTopic operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetIdentityNotificationTopic for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetIdentityNotificationTopic method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetIdentityNotificationTopicRequest method. +// req, resp := client.SetIdentityNotificationTopicRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) SetIdentityNotificationTopicRequest(input *SetIdentityNotificationTopicInput) (req *request.Request, output *SetIdentityNotificationTopicOutput) { + op := &request.Operation{ + Name: opSetIdentityNotificationTopic, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SetIdentityNotificationTopicInput{} + } + + req = c.newRequest(op, input, output) + output = &SetIdentityNotificationTopicOutput{} + req.Data = output + return +} + +// SetIdentityNotificationTopic API operation for Amazon Simple Email Service. +// +// Given an identity (an email address or a domain), sets the Amazon Simple +// Notification Service (Amazon SNS) topic to which Amazon SES will publish +// bounce, complaint, and/or delivery notifications for emails sent with that +// identity as the Source. +// +// Unless feedback forwarding is enabled, you must specify Amazon SNS topics +// for bounce and complaint notifications. For more information, see SetIdentityFeedbackForwardingEnabled. +// +// This action is throttled at one request per second. +// +// For more information about feedback notification, see the Amazon SES Developer +// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.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. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation SetIdentityNotificationTopic for usage and error information. +func (c *SES) SetIdentityNotificationTopic(input *SetIdentityNotificationTopicInput) (*SetIdentityNotificationTopicOutput, error) { + req, out := c.SetIdentityNotificationTopicRequest(input) + err := req.Send() + return out, err +} + +const opSetReceiptRulePosition = "SetReceiptRulePosition" + +// SetReceiptRulePositionRequest generates a "aws/request.Request" representing the +// client's request for the SetReceiptRulePosition operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetReceiptRulePosition for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetReceiptRulePosition method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetReceiptRulePositionRequest method. +// req, resp := client.SetReceiptRulePositionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) SetReceiptRulePositionRequest(input *SetReceiptRulePositionInput) (req *request.Request, output *SetReceiptRulePositionOutput) { + op := &request.Operation{ + Name: opSetReceiptRulePosition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SetReceiptRulePositionInput{} + } + + req = c.newRequest(op, input, output) + output = &SetReceiptRulePositionOutput{} + req.Data = output + return +} + +// SetReceiptRulePosition API operation for Amazon Simple Email Service. +// +// Sets the position of the specified receipt rule in the receipt rule set. +// +// For information about managing receipt rules, see the Amazon SES Developer +// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rules.html). +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation SetReceiptRulePosition for usage and error information. +// +// Returned Error Codes: +// * RuleSetDoesNotExist +// Indicates that the provided receipt rule set does not exist. +// +// * RuleDoesNotExist +// Indicates that the provided receipt rule does not exist. +// +func (c *SES) SetReceiptRulePosition(input *SetReceiptRulePositionInput) (*SetReceiptRulePositionOutput, error) { + req, out := c.SetReceiptRulePositionRequest(input) + err := req.Send() + return out, err +} + +const opUpdateReceiptRule = "UpdateReceiptRule" + +// UpdateReceiptRuleRequest generates a "aws/request.Request" representing the +// client's request for the UpdateReceiptRule operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateReceiptRule for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateReceiptRule method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateReceiptRuleRequest method. +// req, resp := client.UpdateReceiptRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) UpdateReceiptRuleRequest(input *UpdateReceiptRuleInput) (req *request.Request, output *UpdateReceiptRuleOutput) { + op := &request.Operation{ + Name: opUpdateReceiptRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateReceiptRuleInput{} + } + + req = c.newRequest(op, input, output) + output = &UpdateReceiptRuleOutput{} + req.Data = output + return +} + +// UpdateReceiptRule API operation for Amazon Simple Email Service. +// +// Updates a receipt rule. +// +// For information about managing receipt rules, see the Amazon SES Developer +// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rules.html). +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation UpdateReceiptRule for usage and error information. +// +// Returned Error Codes: +// * InvalidSnsTopic +// Indicates that the provided Amazon SNS topic is invalid, or that Amazon SES +// could not publish to the topic, possibly due to permissions issues. For information +// about giving permissions, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html). +// +// * InvalidS3Configuration +// Indicates that the provided Amazon S3 bucket or AWS KMS encryption key is +// invalid, or that Amazon SES could not publish to the bucket, possibly due +// to permissions issues. For information about giving permissions, see the +// Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html). +// +// * InvalidLambdaFunction +// Indicates that the provided AWS Lambda function is invalid, or that Amazon +// SES could not execute the provided function, possibly due to permissions +// issues. For information about giving permissions, see the Amazon SES Developer +// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html). +// +// * RuleSetDoesNotExist +// Indicates that the provided receipt rule set does not exist. +// +// * RuleDoesNotExist +// Indicates that the provided receipt rule does not exist. +// +// * LimitExceeded +// Indicates that a resource could not be created due to service limits. For +// a list of Amazon SES limits, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/limits.html). +// +func (c *SES) UpdateReceiptRule(input *UpdateReceiptRuleInput) (*UpdateReceiptRuleOutput, error) { + req, out := c.UpdateReceiptRuleRequest(input) + err := req.Send() + return out, err +} + +const opVerifyDomainDkim = "VerifyDomainDkim" + +// VerifyDomainDkimRequest generates a "aws/request.Request" representing the +// client's request for the VerifyDomainDkim operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See VerifyDomainDkim for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the VerifyDomainDkim method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the VerifyDomainDkimRequest method. +// req, resp := client.VerifyDomainDkimRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) VerifyDomainDkimRequest(input *VerifyDomainDkimInput) (req *request.Request, output *VerifyDomainDkimOutput) { + op := &request.Operation{ + Name: opVerifyDomainDkim, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &VerifyDomainDkimInput{} + } + + req = c.newRequest(op, input, output) + output = &VerifyDomainDkimOutput{} + req.Data = output + return +} + +// VerifyDomainDkim API operation for Amazon Simple Email Service. +// +// Returns a set of DKIM tokens for a domain. DKIM tokens are character strings +// that represent your domain's identity. Using these tokens, you will need +// to create DNS CNAME records that point to DKIM public keys hosted by Amazon +// SES. Amazon Web Services will eventually detect that you have updated your +// DNS records; this detection process may take up to 72 hours. Upon successful +// detection, Amazon SES will be able to DKIM-sign email originating from that +// domain. +// +// This action is throttled at one request per second. +// +// To enable or disable Easy DKIM signing for a domain, use the SetIdentityDkimEnabled +// action. +// +// For more information about creating DNS records using DKIM tokens, go to +// the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim-dns-records.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. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation VerifyDomainDkim for usage and error information. +func (c *SES) VerifyDomainDkim(input *VerifyDomainDkimInput) (*VerifyDomainDkimOutput, error) { + req, out := c.VerifyDomainDkimRequest(input) + err := req.Send() + return out, err +} + +const opVerifyDomainIdentity = "VerifyDomainIdentity" + +// VerifyDomainIdentityRequest generates a "aws/request.Request" representing the +// client's request for the VerifyDomainIdentity operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See VerifyDomainIdentity for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the VerifyDomainIdentity method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the VerifyDomainIdentityRequest method. +// req, resp := client.VerifyDomainIdentityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) VerifyDomainIdentityRequest(input *VerifyDomainIdentityInput) (req *request.Request, output *VerifyDomainIdentityOutput) { + op := &request.Operation{ + Name: opVerifyDomainIdentity, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &VerifyDomainIdentityInput{} + } + + req = c.newRequest(op, input, output) + output = &VerifyDomainIdentityOutput{} + req.Data = output + return +} + +// VerifyDomainIdentity API operation for Amazon Simple Email Service. +// +// Verifies a domain. +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation VerifyDomainIdentity for usage and error information. +func (c *SES) VerifyDomainIdentity(input *VerifyDomainIdentityInput) (*VerifyDomainIdentityOutput, error) { + req, out := c.VerifyDomainIdentityRequest(input) + err := req.Send() + return out, err +} + +const opVerifyEmailAddress = "VerifyEmailAddress" + +// VerifyEmailAddressRequest generates a "aws/request.Request" representing the +// client's request for the VerifyEmailAddress operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See VerifyEmailAddress for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the VerifyEmailAddress method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the VerifyEmailAddressRequest method. +// req, resp := client.VerifyEmailAddressRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) VerifyEmailAddressRequest(input *VerifyEmailAddressInput) (req *request.Request, output *VerifyEmailAddressOutput) { + op := &request.Operation{ + Name: opVerifyEmailAddress, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &VerifyEmailAddressInput{} + } + + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + output = &VerifyEmailAddressOutput{} + req.Data = output + return +} + +// VerifyEmailAddress API operation for Amazon Simple Email Service. +// +// Verifies an email address. This action causes a confirmation email message +// to be sent to the specified address. +// +// The VerifyEmailAddress action is deprecated as of the May 15, 2012 release +// of Domain Verification. The VerifyEmailIdentity action is now preferred. +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation VerifyEmailAddress for usage and error information. +func (c *SES) VerifyEmailAddress(input *VerifyEmailAddressInput) (*VerifyEmailAddressOutput, error) { + req, out := c.VerifyEmailAddressRequest(input) + err := req.Send() + return out, err +} + +const opVerifyEmailIdentity = "VerifyEmailIdentity" + +// VerifyEmailIdentityRequest generates a "aws/request.Request" representing the +// client's request for the VerifyEmailIdentity operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See VerifyEmailIdentity for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the VerifyEmailIdentity method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the VerifyEmailIdentityRequest method. +// req, resp := client.VerifyEmailIdentityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SES) VerifyEmailIdentityRequest(input *VerifyEmailIdentityInput) (req *request.Request, output *VerifyEmailIdentityOutput) { + op := &request.Operation{ + Name: opVerifyEmailIdentity, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &VerifyEmailIdentityInput{} + } + + req = c.newRequest(op, input, output) + output = &VerifyEmailIdentityOutput{} + req.Data = output + return +} + +// VerifyEmailIdentity API operation for Amazon Simple Email Service. +// +// Verifies an email address. This action causes a confirmation email message +// to be sent to the specified address. +// +// This action is throttled at one request per second. +// +// 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 Simple Email Service's +// API operation VerifyEmailIdentity for usage and error information. +func (c *SES) VerifyEmailIdentity(input *VerifyEmailIdentityInput) (*VerifyEmailIdentityOutput, error) { + req, out := c.VerifyEmailIdentityRequest(input) + err := req.Send() + return out, err +} + +// When included in a receipt rule, this action adds a header to the received +// email. +// +// For information about adding a header using a receipt rule, see the Amazon +// SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-add-header.html). +type AddHeaderAction struct { + _ struct{} `type:"structure"` + + // The name of the header to add. Must be between 1 and 50 characters, inclusive, + // and consist of alphanumeric (a-z, A-Z, 0-9) characters and dashes only. + // + // HeaderName is a required field + HeaderName *string `type:"string" required:"true"` + + // Must be less than 2048 characters, and must not contain newline characters + // ("\r" or "\n"). + // + // HeaderValue is a required field + HeaderValue *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s AddHeaderAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddHeaderAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddHeaderAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddHeaderAction"} + if s.HeaderName == nil { + invalidParams.Add(request.NewErrParamRequired("HeaderName")) + } + if s.HeaderValue == nil { + invalidParams.Add(request.NewErrParamRequired("HeaderValue")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Represents the body of the message. You can specify text, HTML, or both. +// If you use both, then the message should display correctly in the widest +// variety of email clients. +type Body struct { + _ struct{} `type:"structure"` + + // The content of the message, in HTML format. Use this for email clients that + // can process HTML. You can include clickable links, formatted text, and much + // more in an HTML message. + Html *Content `type:"structure"` + + // The content of the message, in text format. Use this for text-based email + // clients, or clients on high-latency networks (such as mobile devices). + Text *Content `type:"structure"` +} + +// String returns the string representation +func (s Body) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Body) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Body) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Body"} + if s.Html != nil { + if err := s.Html.Validate(); err != nil { + invalidParams.AddNested("Html", err.(request.ErrInvalidParams)) + } + } + if s.Text != nil { + if err := s.Text.Validate(); err != nil { + invalidParams.AddNested("Text", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// When included in a receipt rule, this action rejects the received email by +// returning a bounce response to the sender and, optionally, publishes a notification +// to Amazon Simple Notification Service (Amazon SNS). +// +// For information about sending a bounce message in response to a received +// email, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-bounce.html). +type BounceAction struct { + _ struct{} `type:"structure"` + + // Human-readable text to include in the bounce message. + // + // Message is a required field + Message *string `type:"string" required:"true"` + + // The email address of the sender of the bounced email. This is the address + // from which the bounce message will be sent. + // + // Sender is a required field + Sender *string `type:"string" required:"true"` + + // The SMTP reply code, as defined by RFC 5321 (https://tools.ietf.org/html/rfc5321). + // + // SmtpReplyCode is a required field + SmtpReplyCode *string `type:"string" required:"true"` + + // The SMTP enhanced status code, as defined by RFC 3463 (https://tools.ietf.org/html/rfc3463). + StatusCode *string `type:"string"` + + // The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the + // bounce action is taken. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. + // For more information about Amazon SNS topics, see the Amazon SNS Developer + // Guide (http://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html). + TopicArn *string `type:"string"` +} + +// String returns the string representation +func (s BounceAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BounceAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BounceAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BounceAction"} + if s.Message == nil { + invalidParams.Add(request.NewErrParamRequired("Message")) + } + if s.Sender == nil { + invalidParams.Add(request.NewErrParamRequired("Sender")) + } + if s.SmtpReplyCode == nil { + invalidParams.Add(request.NewErrParamRequired("SmtpReplyCode")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Recipient-related information to include in the Delivery Status Notification +// (DSN) when an email that Amazon SES receives on your behalf bounces. +// +// For information about receiving email through Amazon SES, see the Amazon +// SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html). +type BouncedRecipientInfo struct { + _ struct{} `type:"structure"` + + // The reason for the bounce. You must provide either this parameter or RecipientDsnFields. + BounceType *string `type:"string" enum:"BounceType"` + + // The email address of the recipient of the bounced email. + // + // Recipient is a required field + Recipient *string `type:"string" required:"true"` + + // This parameter is used only for sending authorization. It is the ARN of the + // identity that is associated with the sending authorization policy that permits + // you to receive email for the recipient of the bounced email. For more information + // about sending authorization, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html). + RecipientArn *string `type:"string"` + + // Recipient-related DSN fields, most of which would normally be filled in automatically + // when provided with a BounceType. You must provide either this parameter or + // BounceType. + RecipientDsnFields *RecipientDsnFields `type:"structure"` +} + +// String returns the string representation +func (s BouncedRecipientInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BouncedRecipientInfo) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BouncedRecipientInfo) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BouncedRecipientInfo"} + if s.Recipient == nil { + invalidParams.Add(request.NewErrParamRequired("Recipient")) + } + if s.RecipientDsnFields != nil { + if err := s.RecipientDsnFields.Validate(); err != nil { + invalidParams.AddNested("RecipientDsnFields", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Represents a request to create a receipt rule set by cloning an existing +// one. You use receipt rule sets to receive email with Amazon SES. For more +// information, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html). +type CloneReceiptRuleSetInput struct { + _ struct{} `type:"structure"` + + // The name of the rule set to clone. + // + // OriginalRuleSetName is a required field + OriginalRuleSetName *string `type:"string" required:"true"` + + // The name of the rule set to create. The name must: + // + // Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores + // (_), or dashes (-). + // + // Start and end with a letter or number. + // + // Contain less than 64 characters. + // + // RuleSetName is a required field + RuleSetName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CloneReceiptRuleSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CloneReceiptRuleSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CloneReceiptRuleSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CloneReceiptRuleSetInput"} + if s.OriginalRuleSetName == nil { + invalidParams.Add(request.NewErrParamRequired("OriginalRuleSetName")) + } + if s.RuleSetName == nil { + invalidParams.Add(request.NewErrParamRequired("RuleSetName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// An empty element returned on a successful request. +type CloneReceiptRuleSetOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CloneReceiptRuleSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CloneReceiptRuleSetOutput) GoString() string { + return s.String() +} + +// Represents textual data, plus an optional character set specification. +// +// By default, the text must be 7-bit ASCII, due to the constraints of the +// SMTP protocol. If the text must contain any other characters, then you must +// also specify a character set. Examples include UTF-8, ISO-8859-1, and Shift_JIS. +type Content struct { + _ struct{} `type:"structure"` + + // The character set of the content. + Charset *string `type:"string"` + + // The textual data of the content. + // + // Data is a required field + Data *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s Content) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Content) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Content) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Content"} + if s.Data == nil { + invalidParams.Add(request.NewErrParamRequired("Data")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Represents a request to create a new IP address filter. You use IP address +// filters when you receive email with Amazon SES. For more information, see +// the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html). +type CreateReceiptFilterInput struct { + _ struct{} `type:"structure"` + + // A data structure that describes the IP address filter to create, which consists + // of a name, an IP address range, and whether to allow or block mail from it. + // + // Filter is a required field + Filter *ReceiptFilter `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateReceiptFilterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateReceiptFilterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateReceiptFilterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateReceiptFilterInput"} + if s.Filter == nil { + invalidParams.Add(request.NewErrParamRequired("Filter")) + } + if s.Filter != nil { + if err := s.Filter.Validate(); err != nil { + invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// An empty element returned on a successful request. +type CreateReceiptFilterOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateReceiptFilterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateReceiptFilterOutput) GoString() string { + return s.String() +} + +// Represents a request to create a receipt rule. You use receipt rules to receive +// email with Amazon SES. For more information, see the Amazon SES Developer +// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html). +type CreateReceiptRuleInput struct { + _ struct{} `type:"structure"` + + // The name of an existing rule after which the new rule will be placed. If + // this parameter is null, the new rule will be inserted at the beginning of + // the rule list. + After *string `type:"string"` + + // A data structure that contains the specified rule's name, actions, recipients, + // domains, enabled status, scan status, and TLS policy. + // + // Rule is a required field + Rule *ReceiptRule `type:"structure" required:"true"` + + // The name of the rule set to which to add the rule. + // + // RuleSetName is a required field + RuleSetName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateReceiptRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateReceiptRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateReceiptRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateReceiptRuleInput"} + if s.Rule == nil { + invalidParams.Add(request.NewErrParamRequired("Rule")) + } + if s.RuleSetName == nil { + invalidParams.Add(request.NewErrParamRequired("RuleSetName")) + } + if s.Rule != nil { + if err := s.Rule.Validate(); err != nil { + invalidParams.AddNested("Rule", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// An empty element returned on a successful request. +type CreateReceiptRuleOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateReceiptRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateReceiptRuleOutput) GoString() string { + return s.String() +} + +// Represents a request to create an empty receipt rule set. You use receipt +// rule sets to receive email with Amazon SES. For more information, see the +// Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html). +type CreateReceiptRuleSetInput struct { + _ struct{} `type:"structure"` + + // The name of the rule set to create. The name must: + // + // Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores + // (_), or dashes (-). + // + // Start and end with a letter or number. + // + // Contain less than 64 characters. + // + // RuleSetName is a required field + RuleSetName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateReceiptRuleSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateReceiptRuleSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateReceiptRuleSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateReceiptRuleSetInput"} + if s.RuleSetName == nil { + invalidParams.Add(request.NewErrParamRequired("RuleSetName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// An empty element returned on a successful request. +type CreateReceiptRuleSetOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateReceiptRuleSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateReceiptRuleSetOutput) GoString() string { + return s.String() +} + +// Represents a request to delete one of your Amazon SES identities (an email +// address or domain). +type DeleteIdentityInput struct { + _ struct{} `type:"structure"` + + // The identity to be removed from the list of identities for the AWS Account. + // + // Identity is a required field + Identity *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteIdentityInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteIdentityInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteIdentityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteIdentityInput"} + if s.Identity == nil { + invalidParams.Add(request.NewErrParamRequired("Identity")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// An empty element returned on a successful request. +type DeleteIdentityOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteIdentityOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteIdentityOutput) GoString() string { + return s.String() +} + +// Represents a request to delete a sending authorization policy for an identity. +// Sending authorization is an Amazon SES feature that enables you to authorize +// other senders to use your identities. For information, see the Amazon SES +// Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html). +type DeleteIdentityPolicyInput struct { + _ struct{} `type:"structure"` + + // The identity that is associated with the policy that you want to delete. + // You can specify the identity by using its name or by using its Amazon Resource + // Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com. + // + // To successfully call this API, you must own the identity. + // + // Identity is a required field + Identity *string `type:"string" required:"true"` + + // The name of the policy to be deleted. + // + // PolicyName is a required field + PolicyName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteIdentityPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteIdentityPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteIdentityPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteIdentityPolicyInput"} + if s.Identity == nil { + invalidParams.Add(request.NewErrParamRequired("Identity")) + } + if s.PolicyName == nil { + invalidParams.Add(request.NewErrParamRequired("PolicyName")) + } + if s.PolicyName != nil && len(*s.PolicyName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// An empty element returned on a successful request. +type DeleteIdentityPolicyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteIdentityPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteIdentityPolicyOutput) GoString() string { + return s.String() +} + +// Represents a request to delete an IP address filter. You use IP address filters +// when you receive email with Amazon SES. For more information, see the Amazon +// SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html). +type DeleteReceiptFilterInput struct { + _ struct{} `type:"structure"` + + // The name of the IP address filter to delete. + // + // FilterName is a required field + FilterName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteReceiptFilterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteReceiptFilterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteReceiptFilterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteReceiptFilterInput"} + if s.FilterName == nil { + invalidParams.Add(request.NewErrParamRequired("FilterName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// An empty element returned on a successful request. +type DeleteReceiptFilterOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteReceiptFilterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteReceiptFilterOutput) GoString() string { + return s.String() +} + +// Represents a request to delete a receipt rule. You use receipt rules to receive +// email with Amazon SES. For more information, see the Amazon SES Developer +// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html). +type DeleteReceiptRuleInput struct { + _ struct{} `type:"structure"` + + // The name of the receipt rule to delete. + // + // RuleName is a required field + RuleName *string `type:"string" required:"true"` + + // The name of the receipt rule set that contains the receipt rule to delete. + // + // RuleSetName is a required field + RuleSetName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteReceiptRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteReceiptRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteReceiptRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteReceiptRuleInput"} + if s.RuleName == nil { + invalidParams.Add(request.NewErrParamRequired("RuleName")) + } + if s.RuleSetName == nil { + invalidParams.Add(request.NewErrParamRequired("RuleSetName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// An empty element returned on a successful request. +type DeleteReceiptRuleOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteReceiptRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteReceiptRuleOutput) GoString() string { + return s.String() +} + +// Represents a request to delete a receipt rule set and all of the receipt +// rules it contains. You use receipt rule sets to receive email with Amazon +// SES. For more information, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html). +type DeleteReceiptRuleSetInput struct { + _ struct{} `type:"structure"` + + // The name of the receipt rule set to delete. + // + // RuleSetName is a required field + RuleSetName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteReceiptRuleSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteReceiptRuleSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteReceiptRuleSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteReceiptRuleSetInput"} + if s.RuleSetName == nil { + invalidParams.Add(request.NewErrParamRequired("RuleSetName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// An empty element returned on a successful request. +type DeleteReceiptRuleSetOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteReceiptRuleSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteReceiptRuleSetOutput) GoString() string { + return s.String() +} + +// Represents a request to delete an email address from the list of email addresses +// you have attempted to verify under your AWS account. +type DeleteVerifiedEmailAddressInput struct { + _ struct{} `type:"structure"` + + // An email address to be removed from the list of verified addresses. + // + // EmailAddress is a required field + EmailAddress *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteVerifiedEmailAddressInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteVerifiedEmailAddressInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteVerifiedEmailAddressInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteVerifiedEmailAddressInput"} + if s.EmailAddress == nil { + invalidParams.Add(request.NewErrParamRequired("EmailAddress")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DeleteVerifiedEmailAddressOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteVerifiedEmailAddressOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteVerifiedEmailAddressOutput) GoString() string { + return s.String() +} + +// Represents a request to return the metadata and receipt rules for the receipt +// rule set that is currently active. You use receipt rule sets to receive email +// with Amazon SES. For more information, see the Amazon SES Developer Guide +// (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html). +type DescribeActiveReceiptRuleSetInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DescribeActiveReceiptRuleSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeActiveReceiptRuleSetInput) GoString() string { + return s.String() +} + +// Represents the metadata and receipt rules for the receipt rule set that is +// currently active. +type DescribeActiveReceiptRuleSetOutput struct { + _ struct{} `type:"structure"` + + // The metadata for the currently active receipt rule set. The metadata consists + // of the rule set name and a timestamp of when the rule set was created. + Metadata *ReceiptRuleSetMetadata `type:"structure"` + + // The receipt rules that belong to the active rule set. + Rules []*ReceiptRule `type:"list"` +} + +// String returns the string representation +func (s DescribeActiveReceiptRuleSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeActiveReceiptRuleSetOutput) GoString() string { + return s.String() +} + +// Represents a request to return the details of a receipt rule. You use receipt +// rules to receive email with Amazon SES. For more information, see the Amazon +// SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html). +type DescribeReceiptRuleInput struct { + _ struct{} `type:"structure"` + + // The name of the receipt rule. + // + // RuleName is a required field + RuleName *string `type:"string" required:"true"` + + // The name of the receipt rule set to which the receipt rule belongs. + // + // RuleSetName is a required field + RuleSetName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeReceiptRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeReceiptRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeReceiptRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeReceiptRuleInput"} + if s.RuleName == nil { + invalidParams.Add(request.NewErrParamRequired("RuleName")) + } + if s.RuleSetName == nil { + invalidParams.Add(request.NewErrParamRequired("RuleSetName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Represents the details of a receipt rule. +type DescribeReceiptRuleOutput struct { + _ struct{} `type:"structure"` + + // A data structure that contains the specified receipt rule's name, actions, + // recipients, domains, enabled status, scan status, and Transport Layer Security + // (TLS) policy. + Rule *ReceiptRule `type:"structure"` +} + +// String returns the string representation +func (s DescribeReceiptRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeReceiptRuleOutput) GoString() string { + return s.String() +} + +// Represents a request to return the details of a receipt rule set. You use +// receipt rule sets to receive email with Amazon SES. For more information, +// see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html). +type DescribeReceiptRuleSetInput struct { + _ struct{} `type:"structure"` + + // The name of the receipt rule set to describe. + // + // RuleSetName is a required field + RuleSetName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeReceiptRuleSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeReceiptRuleSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeReceiptRuleSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeReceiptRuleSetInput"} + if s.RuleSetName == nil { + invalidParams.Add(request.NewErrParamRequired("RuleSetName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Represents the details of the specified receipt rule set. +type DescribeReceiptRuleSetOutput struct { + _ struct{} `type:"structure"` + + // The metadata for the receipt rule set, which consists of the rule set name + // and the timestamp of when the rule set was created. + Metadata *ReceiptRuleSetMetadata `type:"structure"` + + // A list of the receipt rules that belong to the specified receipt rule set. + Rules []*ReceiptRule `type:"list"` +} + +// String returns the string representation +func (s DescribeReceiptRuleSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeReceiptRuleSetOutput) GoString() string { + return s.String() +} + +// Represents the destination of the message, consisting of To:, CC:, and BCC: +// fields. +// +// By default, the string must be 7-bit ASCII. If the text must contain any +// other characters, then you must use MIME encoded-word syntax (RFC 2047) instead +// of a literal string. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. +// For more information, see RFC 2047 (http://tools.ietf.org/html/rfc2047). +type Destination struct { + _ struct{} `type:"structure"` + + // The BCC: field(s) of the message. + BccAddresses []*string `type:"list"` + + // The CC: field(s) of the message. + CcAddresses []*string `type:"list"` + + // The To: field(s) of the message. + ToAddresses []*string `type:"list"` +} + +// String returns the string representation +func (s Destination) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Destination) GoString() string { + return s.String() +} + +// Additional X-headers to include in the Delivery Status Notification (DSN) +// when an email that Amazon SES receives on your behalf bounces. +// +// For information about receiving email through Amazon SES, see the Amazon +// SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html). +type ExtensionField struct { + _ struct{} `type:"structure"` + + // The name of the header to add. Must be between 1 and 50 characters, inclusive, + // and consist of alphanumeric (a-z, A-Z, 0-9) characters and dashes only. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The value of the header to add. Must be less than 2048 characters, and must + // not contain newline characters ("\r" or "\n"). + // + // Value is a required field + Value *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ExtensionField) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ExtensionField) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ExtensionField) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ExtensionField"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Represents a request for the status of Amazon SES Easy DKIM signing for an +// identity. For domain identities, this request also returns the DKIM tokens +// that are required for Easy DKIM signing, and whether Amazon SES successfully +// verified that these tokens were published. For more information about Easy +// DKIM, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html). +type GetIdentityDkimAttributesInput struct { + _ struct{} `type:"structure"` + + // A list of one or more verified identities - email addresses, domains, or + // both. + // + // Identities is a required field + Identities []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s GetIdentityDkimAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetIdentityDkimAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetIdentityDkimAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetIdentityDkimAttributesInput"} + if s.Identities == nil { + invalidParams.Add(request.NewErrParamRequired("Identities")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Represents the status of Amazon SES Easy DKIM signing for an identity. For +// domain identities, this response also contains the DKIM tokens that are required +// for Easy DKIM signing, and whether Amazon SES successfully verified that +// these tokens were published. +type GetIdentityDkimAttributesOutput struct { + _ struct{} `type:"structure"` + + // The DKIM attributes for an email address or a domain. + // + // DkimAttributes is a required field + DkimAttributes map[string]*IdentityDkimAttributes `type:"map" required:"true"` +} + +// String returns the string representation +func (s GetIdentityDkimAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetIdentityDkimAttributesOutput) GoString() string { + return s.String() +} + +// Represents a request to return the Amazon SES custom MAIL FROM attributes +// for a list of identities. For information about using a custom MAIL FROM +// domain, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from.html). +type GetIdentityMailFromDomainAttributesInput struct { + _ struct{} `type:"structure"` + + // A list of one or more identities. + // + // Identities is a required field + Identities []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s GetIdentityMailFromDomainAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetIdentityMailFromDomainAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetIdentityMailFromDomainAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetIdentityMailFromDomainAttributesInput"} + if s.Identities == nil { + invalidParams.Add(request.NewErrParamRequired("Identities")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Represents the custom MAIL FROM attributes for a list of identities. +type GetIdentityMailFromDomainAttributesOutput struct { + _ struct{} `type:"structure"` + + // A map of identities to custom MAIL FROM attributes. + // + // MailFromDomainAttributes is a required field + MailFromDomainAttributes map[string]*IdentityMailFromDomainAttributes `type:"map" required:"true"` +} + +// String returns the string representation +func (s GetIdentityMailFromDomainAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetIdentityMailFromDomainAttributesOutput) GoString() string { + return s.String() +} + +// Represents a request to return the notification attributes for a list of +// identities you verified with Amazon SES. For information about Amazon SES +// notifications, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications.html). +type GetIdentityNotificationAttributesInput struct { + _ struct{} `type:"structure"` + + // A list of one or more identities. You can specify an identity by using its + // name or by using its Amazon Resource Name (ARN). Examples: user@example.com, + // example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com. + // + // Identities is a required field + Identities []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s GetIdentityNotificationAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetIdentityNotificationAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetIdentityNotificationAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetIdentityNotificationAttributesInput"} + if s.Identities == nil { + invalidParams.Add(request.NewErrParamRequired("Identities")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Represents the notification attributes for a list of identities. +type GetIdentityNotificationAttributesOutput struct { + _ struct{} `type:"structure"` + + // A map of Identity to IdentityNotificationAttributes. + // + // NotificationAttributes is a required field + NotificationAttributes map[string]*IdentityNotificationAttributes `type:"map" required:"true"` +} + +// String returns the string representation +func (s GetIdentityNotificationAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetIdentityNotificationAttributesOutput) GoString() string { + return s.String() +} + +// Represents a request to return the requested sending authorization policies +// for an identity. Sending authorization is an Amazon SES feature that enables +// you to authorize other senders to use your identities. For information, see +// the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html). +type GetIdentityPoliciesInput struct { + _ struct{} `type:"structure"` + + // The identity for which the policies will be retrieved. You can specify an + // identity by using its name or by using its Amazon Resource Name (ARN). Examples: + // user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com. + // + // To successfully call this API, you must own the identity. + // + // Identity is a required field + Identity *string `type:"string" required:"true"` + + // A list of the names of policies to be retrieved. You can retrieve a maximum + // of 20 policies at a time. If you do not know the names of the policies that + // are attached to the identity, you can use ListIdentityPolicies. + // + // PolicyNames is a required field + PolicyNames []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s GetIdentityPoliciesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetIdentityPoliciesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetIdentityPoliciesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetIdentityPoliciesInput"} + if s.Identity == nil { + invalidParams.Add(request.NewErrParamRequired("Identity")) + } + if s.PolicyNames == nil { + invalidParams.Add(request.NewErrParamRequired("PolicyNames")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Represents the requested sending authorization policies. +type GetIdentityPoliciesOutput struct { + _ struct{} `type:"structure"` + + // A map of policy names to policies. + // + // Policies is a required field + Policies map[string]*string `type:"map" required:"true"` +} + +// String returns the string representation +func (s GetIdentityPoliciesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetIdentityPoliciesOutput) GoString() string { + return s.String() +} + +// Represents a request to return the Amazon SES verification status of a list +// of identities. For domain identities, this request also returns the verification +// token. For information about verifying identities with Amazon SES, see the +// Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html). +type GetIdentityVerificationAttributesInput struct { + _ struct{} `type:"structure"` + + // A list of identities. + // + // Identities is a required field + Identities []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s GetIdentityVerificationAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetIdentityVerificationAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetIdentityVerificationAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetIdentityVerificationAttributesInput"} + if s.Identities == nil { + invalidParams.Add(request.NewErrParamRequired("Identities")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The Amazon SES verification status of a list of identities. For domain identities, +// this response also contains the verification token. +type GetIdentityVerificationAttributesOutput struct { + _ struct{} `type:"structure"` + + // A map of Identities to IdentityVerificationAttributes objects. + // + // VerificationAttributes is a required field + VerificationAttributes map[string]*IdentityVerificationAttributes `type:"map" required:"true"` +} + +// String returns the string representation +func (s GetIdentityVerificationAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetIdentityVerificationAttributesOutput) GoString() string { + return s.String() +} + +type GetSendQuotaInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s GetSendQuotaInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSendQuotaInput) GoString() string { + return s.String() +} + +// Represents your Amazon SES daily sending quota, maximum send rate, and the +// number of emails you have sent in the last 24 hours. +type GetSendQuotaOutput struct { + _ struct{} `type:"structure"` + + // The maximum number of emails the user is allowed to send in a 24-hour interval. + // A value of -1 signifies an unlimited quota. + Max24HourSend *float64 `type:"double"` + + // The maximum number of emails that Amazon SES can accept from the user's account + // per second. + // + // The rate at which Amazon SES accepts the user's messages might be less + // than the maximum send rate. + MaxSendRate *float64 `type:"double"` + + // The number of emails sent during the previous 24 hours. + SentLast24Hours *float64 `type:"double"` +} + +// String returns the string representation +func (s GetSendQuotaOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSendQuotaOutput) GoString() string { + return s.String() +} + +type GetSendStatisticsInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s GetSendStatisticsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSendStatisticsInput) GoString() string { + return s.String() +} + +// Represents a list of data points. This list contains aggregated data from +// the previous two weeks of your sending activity with Amazon SES. +type GetSendStatisticsOutput struct { + _ struct{} `type:"structure"` + + // A list of data points, each of which represents 15 minutes of activity. + SendDataPoints []*SendDataPoint `type:"list"` +} + +// String returns the string representation +func (s GetSendStatisticsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSendStatisticsOutput) GoString() string { + return s.String() +} + +// Represents the DKIM attributes of a verified email address or a domain. +type IdentityDkimAttributes struct { + _ struct{} `type:"structure"` + + // True if DKIM signing is enabled for email sent from the identity; false otherwise. + // + // DkimEnabled is a required field + DkimEnabled *bool `type:"boolean" required:"true"` + + // A set of character strings that represent the domain's identity. Using these + // tokens, you will need to create DNS CNAME records that point to DKIM public + // keys hosted by Amazon SES. Amazon Web Services will eventually detect that + // you have updated your DNS records; this detection process may take up to + // 72 hours. Upon successful detection, Amazon SES will be able to DKIM-sign + // email originating from that domain. (This only applies to domain identities, + // not email address identities.) + // + // For more information about creating DNS records using DKIM tokens, go to + // the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim-dns-records.html). + DkimTokens []*string `type:"list"` + + // Describes whether Amazon SES has successfully verified the DKIM DNS records + // (tokens) published in the domain name's DNS. (This only applies to domain + // identities, not email address identities.) + // + // DkimVerificationStatus is a required field + DkimVerificationStatus *string `type:"string" required:"true" enum:"VerificationStatus"` +} + +// String returns the string representation +func (s IdentityDkimAttributes) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IdentityDkimAttributes) GoString() string { + return s.String() +} + +// Represents the custom MAIL FROM domain attributes of a verified identity +// (email address or domain). +type IdentityMailFromDomainAttributes struct { + _ struct{} `type:"structure"` + + // The action that Amazon SES takes if it cannot successfully read the required + // MX record when you send an email. A value of UseDefaultValue indicates that + // if Amazon SES cannot read the required MX record, it uses amazonses.com (or + // a subdomain of that) as the MAIL FROM domain. A value of RejectMessage indicates + // that if Amazon SES cannot read the required MX record, Amazon SES returns + // a MailFromDomainNotVerified error and does not send the email. + // + // The custom MAIL FROM setup states that result in this behavior are Pending, + // Failed, and TemporaryFailure. + // + // BehaviorOnMXFailure is a required field + BehaviorOnMXFailure *string `type:"string" required:"true" enum:"BehaviorOnMXFailure"` + + // The custom MAIL FROM domain that the identity is configured to use. + // + // MailFromDomain is a required field + MailFromDomain *string `type:"string" required:"true"` + + // The state that indicates whether Amazon SES has successfully read the MX + // record required for custom MAIL FROM domain setup. If the state is Success, + // Amazon SES uses the specified custom MAIL FROM domain when the verified identity + // sends an email. All other states indicate that Amazon SES takes the action + // described by BehaviorOnMXFailure. + // + // MailFromDomainStatus is a required field + MailFromDomainStatus *string `type:"string" required:"true" enum:"CustomMailFromStatus"` +} + +// String returns the string representation +func (s IdentityMailFromDomainAttributes) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IdentityMailFromDomainAttributes) GoString() string { + return s.String() +} + +// Represents the notification attributes of an identity, including whether +// an identity has Amazon Simple Notification Service (Amazon SNS) topics set +// for bounce, complaint, and/or delivery notifications, and whether feedback +// forwarding is enabled for bounce and complaint notifications. +type IdentityNotificationAttributes struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Amazon SNS topic where Amazon SES will + // publish bounce notifications. + // + // BounceTopic is a required field + BounceTopic *string `type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the Amazon SNS topic where Amazon SES will + // publish complaint notifications. + // + // ComplaintTopic is a required field + ComplaintTopic *string `type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the Amazon SNS topic where Amazon SES will + // publish delivery notifications. + // + // DeliveryTopic is a required field + DeliveryTopic *string `type:"string" required:"true"` + + // Describes whether Amazon SES will forward bounce and complaint notifications + // as email. true indicates that Amazon SES will forward bounce and complaint + // notifications as email, while false indicates that bounce and complaint notifications + // will be published only to the specified bounce and complaint Amazon SNS topics. + // + // ForwardingEnabled is a required field + ForwardingEnabled *bool `type:"boolean" required:"true"` + + // Describes whether Amazon SES includes the original email headers in Amazon + // SNS notifications of type Bounce. A value of true specifies that Amazon SES + // will include headers in bounce notifications, and a value of false specifies + // that Amazon SES will not include headers in bounce notifications. + HeadersInBounceNotificationsEnabled *bool `type:"boolean"` + + // Describes whether Amazon SES includes the original email headers in Amazon + // SNS notifications of type Complaint. A value of true specifies that Amazon + // SES will include headers in complaint notifications, and a value of false + // specifies that Amazon SES will not include headers in complaint notifications. + HeadersInComplaintNotificationsEnabled *bool `type:"boolean"` + + // Describes whether Amazon SES includes the original email headers in Amazon + // SNS notifications of type Delivery. A value of true specifies that Amazon + // SES will include headers in delivery notifications, and a value of false + // specifies that Amazon SES will not include headers in delivery notifications. + HeadersInDeliveryNotificationsEnabled *bool `type:"boolean"` +} + +// String returns the string representation +func (s IdentityNotificationAttributes) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IdentityNotificationAttributes) GoString() string { + return s.String() +} + +// Represents the verification attributes of a single identity. +type IdentityVerificationAttributes struct { + _ struct{} `type:"structure"` + + // The verification status of the identity: "Pending", "Success", "Failed", + // or "TemporaryFailure". + // + // VerificationStatus is a required field + VerificationStatus *string `type:"string" required:"true" enum:"VerificationStatus"` + + // The verification token for a domain identity. Null for email address identities. + VerificationToken *string `type:"string"` +} + +// String returns the string representation +func (s IdentityVerificationAttributes) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IdentityVerificationAttributes) GoString() string { + return s.String() +} + +// When included in a receipt rule, this action calls an AWS Lambda function +// and, optionally, publishes a notification to Amazon Simple Notification Service +// (Amazon SNS). +// +// To enable Amazon SES to call your AWS Lambda function or to publish to an +// Amazon SNS topic of another account, Amazon SES must have permission to access +// those resources. For information about giving permissions, see the Amazon +// SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html). +// +// For information about using AWS Lambda actions in receipt rules, see the +// Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-lambda.html). +type LambdaAction struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the AWS Lambda function. An example of + // an AWS Lambda function ARN is arn:aws:lambda:us-west-2:account-id:function:MyFunction. + // For more information about AWS Lambda, see the AWS Lambda Developer Guide + // (http://docs.aws.amazon.com/lambda/latest/dg/welcome.html). + // + // FunctionArn is a required field + FunctionArn *string `type:"string" required:"true"` + + // The invocation type of the AWS Lambda function. An invocation type of RequestResponse + // means that the execution of the function will immediately result in a response, + // and a value of Event means that the function will be invoked asynchronously. + // The default value is Event. For information about AWS Lambda invocation types, + // see the AWS Lambda Developer Guide (http://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html). + // + // There is a 30-second timeout on RequestResponse invocations. You should + // use Event invocation in most cases. Use RequestResponse only when you want + // to make a mail flow decision, such as whether to stop the receipt rule or + // the receipt rule set. + InvocationType *string `type:"string" enum:"InvocationType"` + + // The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the + // Lambda action is taken. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. + // For more information about Amazon SNS topics, see the Amazon SNS Developer + // Guide (http://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html). + TopicArn *string `type:"string"` +} + +// String returns the string representation +func (s LambdaAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LambdaAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LambdaAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LambdaAction"} + if s.FunctionArn == nil { + invalidParams.Add(request.NewErrParamRequired("FunctionArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Represents a request to return a list of all identities (email addresses +// and domains) that you have attempted to verify under your AWS account, regardless +// of verification status. +type ListIdentitiesInput struct { + _ struct{} `type:"structure"` + + // The type of the identities to list. Possible values are "EmailAddress" and + // "Domain". If this parameter is omitted, then all identities will be listed. + IdentityType *string `type:"string" enum:"IdentityType"` + + // The maximum number of identities per page. Possible values are 1-1000 inclusive. + MaxItems *int64 `type:"integer"` + + // The token to use for pagination. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListIdentitiesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListIdentitiesInput) GoString() string { + return s.String() +} + +// A list of all identities that you have attempted to verify under your AWS +// account, regardless of verification status. +type ListIdentitiesOutput struct { + _ struct{} `type:"structure"` + + // A list of identities. + // + // Identities is a required field + Identities []*string `type:"list" required:"true"` + + // The token used for pagination. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListIdentitiesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListIdentitiesOutput) GoString() string { + return s.String() +} + +// Represents a request to return a list of sending authorization policies that +// are attached to an identity. Sending authorization is an Amazon SES feature +// that enables you to authorize other senders to use your identities. For information, +// see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html). +type ListIdentityPoliciesInput struct { + _ struct{} `type:"structure"` + + // The identity that is associated with the policy for which the policies will + // be listed. You can specify an identity by using its name or by using its + // Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com. + // + // To successfully call this API, you must own the identity. + // + // Identity is a required field + Identity *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ListIdentityPoliciesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListIdentityPoliciesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListIdentityPoliciesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListIdentityPoliciesInput"} + if s.Identity == nil { + invalidParams.Add(request.NewErrParamRequired("Identity")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// A list of names of sending authorization policies that apply to an identity. +type ListIdentityPoliciesOutput struct { + _ struct{} `type:"structure"` + + // A list of names of policies that apply to the specified identity. + // + // PolicyNames is a required field + PolicyNames []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s ListIdentityPoliciesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListIdentityPoliciesOutput) GoString() string { + return s.String() +} + +// : Represents a request to list the IP address filters that exist under your +// AWS account. You use IP address filters when you receive email with Amazon +// SES. For more information, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html). +type ListReceiptFiltersInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s ListReceiptFiltersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListReceiptFiltersInput) GoString() string { + return s.String() +} + +// A list of IP address filters that exist under your AWS account. +type ListReceiptFiltersOutput struct { + _ struct{} `type:"structure"` + + // A list of IP address filter data structures, which each consist of a name, + // an IP address range, and whether to allow or block mail from it. + Filters []*ReceiptFilter `type:"list"` +} + +// String returns the string representation +func (s ListReceiptFiltersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListReceiptFiltersOutput) GoString() string { + return s.String() +} + +// Represents a request to list the receipt rule sets that exist under your +// AWS account. You use receipt rule sets to receive email with Amazon SES. +// For more information, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html). +type ListReceiptRuleSetsInput struct { + _ struct{} `type:"structure"` + + // A token returned from a previous call to ListReceiptRuleSets to indicate + // the position in the receipt rule set list. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListReceiptRuleSetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListReceiptRuleSetsInput) GoString() string { + return s.String() +} + +// A list of receipt rule sets that exist under your AWS account. +type ListReceiptRuleSetsOutput struct { + _ struct{} `type:"structure"` + + // A token indicating that there are additional receipt rule sets available + // to be listed. Pass this token to successive calls of ListReceiptRuleSets + // to retrieve up to 100 receipt rule sets at a time. + NextToken *string `type:"string"` + + // The metadata for the currently active receipt rule set. The metadata consists + // of the rule set name and the timestamp of when the rule set was created. + RuleSets []*ReceiptRuleSetMetadata `type:"list"` +} + +// String returns the string representation +func (s ListReceiptRuleSetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListReceiptRuleSetsOutput) GoString() string { + return s.String() +} + +type ListVerifiedEmailAddressesInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s ListVerifiedEmailAddressesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListVerifiedEmailAddressesInput) GoString() string { + return s.String() +} + +// A list of email addresses that you have verified with Amazon SES under your +// AWS account. +type ListVerifiedEmailAddressesOutput struct { + _ struct{} `type:"structure"` + + // A list of email addresses that have been verified. + VerifiedEmailAddresses []*string `type:"list"` +} + +// String returns the string representation +func (s ListVerifiedEmailAddressesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListVerifiedEmailAddressesOutput) GoString() string { + return s.String() +} + +// Represents the message to be sent, composed of a subject and a body. +type Message struct { + _ struct{} `type:"structure"` + + // The message body. + // + // Body is a required field + Body *Body `type:"structure" required:"true"` + + // The subject of the message: A short summary of the content, which will appear + // in the recipient's inbox. + // + // Subject is a required field + Subject *Content `type:"structure" required:"true"` +} + +// String returns the string representation +func (s Message) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Message) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Message) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Message"} + if s.Body == nil { + invalidParams.Add(request.NewErrParamRequired("Body")) + } + if s.Subject == nil { + invalidParams.Add(request.NewErrParamRequired("Subject")) + } + if s.Body != nil { + if err := s.Body.Validate(); err != nil { + invalidParams.AddNested("Body", err.(request.ErrInvalidParams)) + } + } + if s.Subject != nil { + if err := s.Subject.Validate(); err != nil { + invalidParams.AddNested("Subject", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Message-related information to include in the Delivery Status Notification +// (DSN) when an email that Amazon SES receives on your behalf bounces. +// +// For information about receiving email through Amazon SES, see the Amazon +// SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html). +type MessageDsn struct { + _ struct{} `type:"structure"` + + // When the message was received by the reporting mail transfer agent (MTA), + // in RFC 822 (https://www.ietf.org/rfc/rfc0822.txt) date-time format. + ArrivalDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + // Additional X-headers to include in the DSN. + ExtensionFields []*ExtensionField `type:"list"` + + // The reporting MTA that attempted to deliver the message, formatted as specified + // in RFC 3464 (https://tools.ietf.org/html/rfc3464) (mta-name-type; mta-name). + // The default value is dns; inbound-smtp.[region].amazonaws.com. + // + // ReportingMta is a required field + ReportingMta *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s MessageDsn) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MessageDsn) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MessageDsn) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MessageDsn"} + if s.ReportingMta == nil { + invalidParams.Add(request.NewErrParamRequired("ReportingMta")) + } + if s.ExtensionFields != nil { + for i, v := range s.ExtensionFields { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExtensionFields", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Represents a request to add or update a sending authorization policy for +// an identity. Sending authorization is an Amazon SES feature that enables +// you to authorize other senders to use your identities. For information, see +// the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html). +type PutIdentityPolicyInput struct { + _ struct{} `type:"structure"` + + // The identity to which the policy will apply. You can specify an identity + // by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, + // example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com. + // + // To successfully call this API, you must own the identity. + // + // Identity is a required field + Identity *string `type:"string" required:"true"` + + // The text of the policy in JSON format. The policy cannot exceed 4 KB. + // + // For information about the syntax of sending authorization policies, see + // the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-policies.html). + // + // Policy is a required field + Policy *string `min:"1" type:"string" required:"true"` + + // The name of the policy. + // + // The policy name cannot exceed 64 characters and can only include alphanumeric + // characters, dashes, and underscores. + // + // PolicyName is a required field + PolicyName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s PutIdentityPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutIdentityPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutIdentityPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutIdentityPolicyInput"} + if s.Identity == nil { + invalidParams.Add(request.NewErrParamRequired("Identity")) + } + if s.Policy == nil { + invalidParams.Add(request.NewErrParamRequired("Policy")) + } + if s.Policy != nil && len(*s.Policy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) + } + if s.PolicyName == nil { + invalidParams.Add(request.NewErrParamRequired("PolicyName")) + } + if s.PolicyName != nil && len(*s.PolicyName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// An empty element returned on a successful request. +type PutIdentityPolicyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutIdentityPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutIdentityPolicyOutput) GoString() string { + return s.String() +} + +// Represents the raw data of the message. +type RawMessage struct { + _ struct{} `type:"structure"` + + // The raw data of the message. The client must ensure that the message format + // complies with Internet email standards regarding email header fields, MIME + // types, MIME encoding, and base64 encoding. + // + // The To:, CC:, and BCC: headers in the raw message can contain a group list. + // + // If you are using SendRawEmail with sending authorization, you can include + // X-headers in the raw message to specify the "Source," "From," and "Return-Path" + // addresses. For more information, see the documentation for SendRawEmail. + // + // Do not include these X-headers in the DKIM signature, because they are + // removed by Amazon SES before sending the email. + // + // For more information, go to the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-raw.html). + // + // Data is automatically base64 encoded/decoded by the SDK. + // + // Data is a required field + Data []byte `type:"blob" required:"true"` +} + +// String returns the string representation +func (s RawMessage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RawMessage) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RawMessage) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RawMessage"} + if s.Data == nil { + invalidParams.Add(request.NewErrParamRequired("Data")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// An action that Amazon SES can take when it receives an email on behalf of +// one or more email addresses or domains that you own. An instance of this +// data type can represent only one action. +// +// For information about setting up receipt rules, see the Amazon SES Developer +// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rules.html). +type ReceiptAction struct { + _ struct{} `type:"structure"` + + // Adds a header to the received email. + AddHeaderAction *AddHeaderAction `type:"structure"` + + // Rejects the received email by returning a bounce response to the sender and, + // optionally, publishes a notification to Amazon Simple Notification Service + // (Amazon SNS). + BounceAction *BounceAction `type:"structure"` + + // Calls an AWS Lambda function, and optionally, publishes a notification to + // Amazon SNS. + LambdaAction *LambdaAction `type:"structure"` + + // Saves the received message to an Amazon Simple Storage Service (Amazon S3) + // bucket and, optionally, publishes a notification to Amazon SNS. + S3Action *S3Action `type:"structure"` + + // Publishes the email content within a notification to Amazon SNS. + SNSAction *SNSAction `type:"structure"` + + // Terminates the evaluation of the receipt rule set and optionally publishes + // a notification to Amazon SNS. + StopAction *StopAction `type:"structure"` + + // Calls Amazon WorkMail and, optionally, publishes a notification to Amazon + // SNS. + WorkmailAction *WorkmailAction `type:"structure"` +} + +// String returns the string representation +func (s ReceiptAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReceiptAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReceiptAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReceiptAction"} + if s.AddHeaderAction != nil { + if err := s.AddHeaderAction.Validate(); err != nil { + invalidParams.AddNested("AddHeaderAction", err.(request.ErrInvalidParams)) + } + } + if s.BounceAction != nil { + if err := s.BounceAction.Validate(); err != nil { + invalidParams.AddNested("BounceAction", err.(request.ErrInvalidParams)) + } + } + if s.LambdaAction != nil { + if err := s.LambdaAction.Validate(); err != nil { + invalidParams.AddNested("LambdaAction", err.(request.ErrInvalidParams)) + } + } + if s.S3Action != nil { + if err := s.S3Action.Validate(); err != nil { + invalidParams.AddNested("S3Action", err.(request.ErrInvalidParams)) + } + } + if s.SNSAction != nil { + if err := s.SNSAction.Validate(); err != nil { + invalidParams.AddNested("SNSAction", err.(request.ErrInvalidParams)) + } + } + if s.StopAction != nil { + if err := s.StopAction.Validate(); err != nil { + invalidParams.AddNested("StopAction", err.(request.ErrInvalidParams)) + } + } + if s.WorkmailAction != nil { + if err := s.WorkmailAction.Validate(); err != nil { + invalidParams.AddNested("WorkmailAction", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// A receipt IP address filter enables you to specify whether to accept or reject +// mail originating from an IP address or range of IP addresses. +// +// For information about setting up IP address filters, see the Amazon SES +// Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-ip-filters.html). +type ReceiptFilter struct { + _ struct{} `type:"structure"` + + // A structure that provides the IP addresses to block or allow, and whether + // to block or allow incoming mail from them. + // + // IpFilter is a required field + IpFilter *ReceiptIpFilter `type:"structure" required:"true"` + + // The name of the IP address filter. The name must: + // + // Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores + // (_), or dashes (-). + // + // Start and end with a letter or number. + // + // Contain less than 64 characters. + // + // Name is a required field + Name *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ReceiptFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReceiptFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReceiptFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReceiptFilter"} + if s.IpFilter == nil { + invalidParams.Add(request.NewErrParamRequired("IpFilter")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.IpFilter != nil { + if err := s.IpFilter.Validate(); err != nil { + invalidParams.AddNested("IpFilter", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// A receipt IP address filter enables you to specify whether to accept or reject +// mail originating from an IP address or range of IP addresses. +// +// For information about setting up IP address filters, see the Amazon SES +// Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-ip-filters.html). +type ReceiptIpFilter struct { + _ struct{} `type:"structure"` + + // A single IP address or a range of IP addresses that you want to block or + // allow, specified in Classless Inter-Domain Routing (CIDR) notation. An example + // of a single email address is 10.0.0.1. An example of a range of IP addresses + // is 10.0.0.1/24. For more information about CIDR notation, see RFC 2317 (https://tools.ietf.org/html/rfc2317). + // + // Cidr is a required field + Cidr *string `type:"string" required:"true"` + + // Indicates whether to block or allow incoming mail from the specified IP addresses. + // + // Policy is a required field + Policy *string `type:"string" required:"true" enum:"ReceiptFilterPolicy"` +} + +// String returns the string representation +func (s ReceiptIpFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReceiptIpFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReceiptIpFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReceiptIpFilter"} + if s.Cidr == nil { + invalidParams.Add(request.NewErrParamRequired("Cidr")) + } + if s.Policy == nil { + invalidParams.Add(request.NewErrParamRequired("Policy")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Receipt rules enable you to specify which actions Amazon SES should take +// when it receives mail on behalf of one or more email addresses or domains +// that you own. +// +// Each receipt rule defines a set of email addresses or domains to which it +// applies. If the email addresses or domains match at least one recipient address +// of the message, Amazon SES executes all of the receipt rule's actions on +// the message. +// +// For information about setting up receipt rules, see the Amazon SES Developer +// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rules.html). +type ReceiptRule struct { + _ struct{} `type:"structure"` + + // An ordered list of actions to perform on messages that match at least one + // of the recipient email addresses or domains specified in the receipt rule. + Actions []*ReceiptAction `type:"list"` + + // If true, the receipt rule is active. The default value is false. + Enabled *bool `type:"boolean"` + + // The name of the receipt rule. The name must: + // + // Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores + // (_), or dashes (-). + // + // Start and end with a letter or number. + // + // Contain less than 64 characters. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The recipient domains and email addresses to which the receipt rule applies. + // If this field is not specified, this rule will match all recipients under + // all verified domains. + Recipients []*string `type:"list"` + + // If true, then messages to which this receipt rule applies are scanned for + // spam and viruses. The default value is false. + ScanEnabled *bool `type:"boolean"` + + // Specifies whether Amazon SES should require that incoming email is delivered + // over a connection encrypted with Transport Layer Security (TLS). If this + // parameter is set to Require, Amazon SES will bounce emails that are not received + // over TLS. The default is Optional. + TlsPolicy *string `type:"string" enum:"TlsPolicy"` +} + +// String returns the string representation +func (s ReceiptRule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReceiptRule) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReceiptRule) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReceiptRule"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Actions != nil { + for i, v := range s.Actions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Information about a receipt rule set. +// +// A receipt rule set is a collection of rules that specify what Amazon SES +// should do with mail it receives on behalf of your account's verified domains. +// +// For information about setting up receipt rule sets, see the Amazon SES Developer +// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-receipt-rule-set.html). +type ReceiptRuleSetMetadata struct { + _ struct{} `type:"structure"` + + // The date and time the receipt rule set was created. + CreatedTimestamp *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + // The name of the receipt rule set. The name must: + // + // Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores + // (_), or dashes (-). + // + // Start and end with a letter or number. + // + // Contain less than 64 characters. + Name *string `type:"string"` +} + +// String returns the string representation +func (s ReceiptRuleSetMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReceiptRuleSetMetadata) GoString() string { + return s.String() +} + +// Recipient-related information to include in the Delivery Status Notification +// (DSN) when an email that Amazon SES receives on your behalf bounces. +// +// For information about receiving email through Amazon SES, see the Amazon +// SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html). +type RecipientDsnFields struct { + _ struct{} `type:"structure"` + + // The action performed by the reporting mail transfer agent (MTA) as a result + // of its attempt to deliver the message to the recipient address. This is required + // by RFC 3464 (https://tools.ietf.org/html/rfc3464). + // + // Action is a required field + Action *string `type:"string" required:"true" enum:"DsnAction"` + + // An extended explanation of what went wrong; this is usually an SMTP response. + // See RFC 3463 (https://tools.ietf.org/html/rfc3463) for the correct formatting + // of this parameter. + DiagnosticCode *string `type:"string"` + + // Additional X-headers to include in the DSN. + ExtensionFields []*ExtensionField `type:"list"` + + // The email address to which the message was ultimately delivered. This corresponds + // to the Final-Recipient in the DSN. If not specified, FinalRecipient will + // be set to the Recipient specified in the BouncedRecipientInfo structure. + // Either FinalRecipient or the recipient in BouncedRecipientInfo must be a + // recipient of the original bounced message. + // + // Do not prepend the FinalRecipient email address with rfc 822;, as described + // in RFC 3798 (https://tools.ietf.org/html/rfc3798). + FinalRecipient *string `type:"string"` + + // The time the final delivery attempt was made, in RFC 822 (https://www.ietf.org/rfc/rfc0822.txt) + // date-time format. + LastAttemptDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + // The MTA to which the remote MTA attempted to deliver the message, formatted + // as specified in RFC 3464 (https://tools.ietf.org/html/rfc3464) (mta-name-type; + // mta-name). This parameter typically applies only to propagating synchronous + // bounces. + RemoteMta *string `type:"string"` + + // The status code that indicates what went wrong. This is required by RFC 3464 + // (https://tools.ietf.org/html/rfc3464). + // + // Status is a required field + Status *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s RecipientDsnFields) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RecipientDsnFields) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RecipientDsnFields) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RecipientDsnFields"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) + } + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) + } + if s.ExtensionFields != nil { + for i, v := range s.ExtensionFields { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExtensionFields", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Represents a request to reorder the receipt rules within a receipt rule set. +// You use receipt rule sets to receive email with Amazon SES. For more information, +// see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html). +type ReorderReceiptRuleSetInput struct { + _ struct{} `type:"structure"` + + // A list of the specified receipt rule set's receipt rules in the order that + // you want to put them. + // + // RuleNames is a required field + RuleNames []*string `type:"list" required:"true"` + + // The name of the receipt rule set to reorder. + // + // RuleSetName is a required field + RuleSetName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ReorderReceiptRuleSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReorderReceiptRuleSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReorderReceiptRuleSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReorderReceiptRuleSetInput"} + if s.RuleNames == nil { + invalidParams.Add(request.NewErrParamRequired("RuleNames")) + } + if s.RuleSetName == nil { + invalidParams.Add(request.NewErrParamRequired("RuleSetName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// An empty element returned on a successful request. +type ReorderReceiptRuleSetOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s ReorderReceiptRuleSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReorderReceiptRuleSetOutput) GoString() string { + return s.String() +} + +// When included in a receipt rule, this action saves the received message to +// an Amazon Simple Storage Service (Amazon S3) bucket and, optionally, publishes +// a notification to Amazon Simple Notification Service (Amazon SNS). +// +// To enable Amazon SES to write emails to your Amazon S3 bucket, use an AWS +// KMS key to encrypt your emails, or publish to an Amazon SNS topic of another +// account, Amazon SES must have permission to access those resources. For information +// about giving permissions, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html). +// +// When you save your emails to an Amazon S3 bucket, the maximum email size +// (including headers) is 30 MB. Emails larger than that will bounce. +// +// For information about specifying Amazon S3 actions in receipt rules, see +// the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-s3.html). +type S3Action struct { + _ struct{} `type:"structure"` + + // The name of the Amazon S3 bucket to which to save the received email. + // + // BucketName is a required field + BucketName *string `type:"string" required:"true"` + + // The customer master key that Amazon SES should use to encrypt your emails + // before saving them to the Amazon S3 bucket. You can use the default master + // key or a custom master key you created in AWS KMS as follows: + // + // To use the default master key, provide an ARN in the form of arn:aws:kms:REGION:ACCOUNT-ID-WITHOUT-HYPHENS:alias/aws/ses. + // For example, if your AWS account ID is 123456789012 and you want to use the + // default master key in the US West (Oregon) region, the ARN of the default + // master key would be arn:aws:kms:us-west-2:123456789012:alias/aws/ses. If + // you use the default master key, you don't need to perform any extra steps + // to give Amazon SES permission to use the key. + // + // To use a custom master key you created in AWS KMS, provide the ARN of + // the master key and ensure that you add a statement to your key's policy to + // give Amazon SES permission to use it. For more information about giving permissions, + // see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html). + // + // For more information about key policies, see the AWS KMS Developer Guide + // (http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html). If + // you do not specify a master key, Amazon SES will not encrypt your emails. + // + // Your mail is encrypted by Amazon SES using the Amazon S3 encryption client + // before the mail is submitted to Amazon S3 for storage. It is not encrypted + // using Amazon S3 server-side encryption. This means that you must use the + // Amazon S3 encryption client to decrypt the email after retrieving it from + // Amazon S3, as the service has no access to use your AWS KMS keys for decryption. + // This encryption client is currently available with the AWS Java SDK (http://aws.amazon.com/sdk-for-java/) + // and AWS Ruby SDK (http://aws.amazon.com/sdk-for-ruby/) only. For more information + // about client-side encryption using AWS KMS master keys, see the Amazon S3 + // Developer Guide (http://alpha-docs-aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html). + KmsKeyArn *string `type:"string"` + + // The key prefix of the Amazon S3 bucket. The key prefix is similar to a directory + // name that enables you to store similar data under the same directory in a + // bucket. + ObjectKeyPrefix *string `type:"string"` + + // The ARN of the Amazon SNS topic to notify when the message is saved to the + // Amazon S3 bucket. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. + // For more information about Amazon SNS topics, see the Amazon SNS Developer + // Guide (http://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html). + TopicArn *string `type:"string"` +} + +// String returns the string representation +func (s S3Action) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3Action) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3Action) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3Action"} + if s.BucketName == nil { + invalidParams.Add(request.NewErrParamRequired("BucketName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// When included in a receipt rule, this action publishes a notification to +// Amazon Simple Notification Service (Amazon SNS). This action includes a complete +// copy of the email content in the Amazon SNS notifications. Amazon SNS notifications +// for all other actions simply provide information about the email. They do +// not include the email content itself. +// +// If you own the Amazon SNS topic, you don't need to do anything to give Amazon +// SES permission to publish emails to it. However, if you don't own the Amazon +// SNS topic, you need to attach a policy to the topic to give Amazon SES permissions +// to access it. For information about giving permissions, see the Amazon SES +// Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html). +// +// You can only publish emails that are 150 KB or less (including the header) +// to Amazon SNS. Larger emails will bounce. If you anticipate emails larger +// than 150 KB, use the S3 action instead. +// +// For information about using a receipt rule to publish an Amazon SNS notification, +// see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-sns.html). +type SNSAction struct { + _ struct{} `type:"structure"` + + // The encoding to use for the email within the Amazon SNS notification. UTF-8 + // is easier to use, but may not preserve all special characters when a message + // was encoded with a different encoding format. Base64 preserves all special + // characters. The default value is UTF-8. + Encoding *string `type:"string" enum:"SNSActionEncoding"` + + // The Amazon Resource Name (ARN) of the Amazon SNS topic to notify. An example + // of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. + // For more information about Amazon SNS topics, see the Amazon SNS Developer + // Guide (http://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html). + // + // TopicArn is a required field + TopicArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s SNSAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SNSAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SNSAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SNSAction"} + if s.TopicArn == nil { + invalidParams.Add(request.NewErrParamRequired("TopicArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Represents a request to send a bounce message to the sender of an email you +// received through Amazon SES. +type SendBounceInput struct { + _ struct{} `type:"structure"` + + // The address to use in the "From" header of the bounce message. This must + // be an identity that you have verified with Amazon SES. + // + // BounceSender is a required field + BounceSender *string `type:"string" required:"true"` + + // This parameter is used only for sending authorization. It is the ARN of the + // identity that is associated with the sending authorization policy that permits + // you to use the address in the "From" header of the bounce. For more information + // about sending authorization, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html). + BounceSenderArn *string `type:"string"` + + // A list of recipients of the bounced message, including the information required + // to create the Delivery Status Notifications (DSNs) for the recipients. You + // must specify at least one BouncedRecipientInfo in the list. + // + // BouncedRecipientInfoList is a required field + BouncedRecipientInfoList []*BouncedRecipientInfo `type:"list" required:"true"` + + // Human-readable text for the bounce message to explain the failure. If not + // specified, the text will be auto-generated based on the bounced recipient + // information. + Explanation *string `type:"string"` + + // Message-related DSN fields. If not specified, Amazon SES will choose the + // values. + MessageDsn *MessageDsn `type:"structure"` + + // The message ID of the message to be bounced. + // + // OriginalMessageId is a required field + OriginalMessageId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s SendBounceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SendBounceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SendBounceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SendBounceInput"} + if s.BounceSender == nil { + invalidParams.Add(request.NewErrParamRequired("BounceSender")) + } + if s.BouncedRecipientInfoList == nil { + invalidParams.Add(request.NewErrParamRequired("BouncedRecipientInfoList")) + } + if s.OriginalMessageId == nil { + invalidParams.Add(request.NewErrParamRequired("OriginalMessageId")) + } + if s.BouncedRecipientInfoList != nil { + for i, v := range s.BouncedRecipientInfoList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BouncedRecipientInfoList", i), err.(request.ErrInvalidParams)) + } + } + } + if s.MessageDsn != nil { + if err := s.MessageDsn.Validate(); err != nil { + invalidParams.AddNested("MessageDsn", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Represents a unique message ID. +type SendBounceOutput struct { + _ struct{} `type:"structure"` + + // The message ID of the bounce message. + MessageId *string `type:"string"` +} + +// String returns the string representation +func (s SendBounceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SendBounceOutput) GoString() string { + return s.String() +} + +// Represents sending statistics data. Each SendDataPoint contains statistics +// for a 15-minute period of sending activity. +type SendDataPoint struct { + _ struct{} `type:"structure"` + + // Number of emails that have bounced. + Bounces *int64 `type:"long"` + + // Number of unwanted emails that were rejected by recipients. + Complaints *int64 `type:"long"` + + // Number of emails that have been enqueued for sending. + DeliveryAttempts *int64 `type:"long"` + + // Number of emails rejected by Amazon SES. + Rejects *int64 `type:"long"` + + // Time of the data point. + Timestamp *time.Time `type:"timestamp" timestampFormat:"iso8601"` +} + +// String returns the string representation +func (s SendDataPoint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SendDataPoint) GoString() string { + return s.String() +} + +// Represents a request to send a single formatted email using Amazon SES. For +// more information, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-formatted.html). +type SendEmailInput struct { + _ struct{} `type:"structure"` + + // The destination for this email, composed of To:, CC:, and BCC: fields. + // + // Destination is a required field + Destination *Destination `type:"structure" required:"true"` + + // The message to be sent. + // + // Message is a required field + Message *Message `type:"structure" required:"true"` + + // The reply-to email address(es) for the message. If the recipient replies + // to the message, each reply-to address will receive the reply. + ReplyToAddresses []*string `type:"list"` + + // The email address to which bounces and complaints are to be forwarded when + // feedback forwarding is enabled. If the message cannot be delivered to the + // recipient, then an error message will be returned from the recipient's ISP; + // this message will then be forwarded to the email address specified by the + // ReturnPath parameter. The ReturnPath parameter is never overwritten. This + // email address must be either individually verified with Amazon SES, or from + // a domain that has been verified with Amazon SES. + ReturnPath *string `type:"string"` + + // This parameter is used only for sending authorization. It is the ARN of the + // identity that is associated with the sending authorization policy that permits + // you to use the email address specified in the ReturnPath parameter. + // + // For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) + // attaches a policy to it that authorizes you to use feedback@example.com, + // then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, + // and the ReturnPath to be feedback@example.com. + // + // For more information about sending authorization, see the Amazon SES Developer + // Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html). + ReturnPathArn *string `type:"string"` + + // The email address that is sending the email. This email address must be either + // individually verified with Amazon SES, or from a domain that has been verified + // with Amazon SES. For information about verifying identities, see the Amazon + // SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html). + // + // If you are sending on behalf of another user and have been permitted to + // do so by a sending authorization policy, then you must also specify the SourceArn + // parameter. For more information about sending authorization, see the Amazon + // SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html). + // + // In all cases, the email address must be 7-bit ASCII. If the text must contain + // any other characters, then you must use MIME encoded-word syntax (RFC 2047) + // instead of a literal string. MIME encoded-word syntax uses the following + // form: =?charset?encoding?encoded-text?=. For more information, see RFC 2047 + // (http://tools.ietf.org/html/rfc2047). + // + // Source is a required field + Source *string `type:"string" required:"true"` + + // This parameter is used only for sending authorization. It is the ARN of the + // identity that is associated with the sending authorization policy that permits + // you to send for the email address specified in the Source parameter. + // + // For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) + // attaches a policy to it that authorizes you to send from user@example.com, + // then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, + // and the Source to be user@example.com. + // + // For more information about sending authorization, see the Amazon SES Developer + // Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html). + SourceArn *string `type:"string"` +} + +// String returns the string representation +func (s SendEmailInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SendEmailInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SendEmailInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SendEmailInput"} + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) + } + if s.Message == nil { + invalidParams.Add(request.NewErrParamRequired("Message")) + } + if s.Source == nil { + invalidParams.Add(request.NewErrParamRequired("Source")) + } + if s.Message != nil { + if err := s.Message.Validate(); err != nil { + invalidParams.AddNested("Message", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Represents a unique message ID. +type SendEmailOutput struct { + _ struct{} `type:"structure"` + + // The unique message identifier returned from the SendEmail action. + // + // MessageId is a required field + MessageId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s SendEmailOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SendEmailOutput) GoString() string { + return s.String() +} + +// Represents a request to send a single raw email using Amazon SES. For more +// information, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-raw.html). +type SendRawEmailInput struct { + _ struct{} `type:"structure"` + + // A list of destinations for the message, consisting of To:, CC:, and BCC: + // addresses. + Destinations []*string `type:"list"` + + // This parameter is used only for sending authorization. It is the ARN of the + // identity that is associated with the sending authorization policy that permits + // you to specify a particular "From" address in the header of the raw email. + // + // Instead of using this parameter, you can use the X-header X-SES-FROM-ARN + // in the raw message of the email. If you use both the FromArn parameter and + // the corresponding X-header, Amazon SES uses the value of the FromArn parameter. + // + // For information about when to use this parameter, see the description of + // SendRawEmail in this guide, or see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html). + FromArn *string `type:"string"` + + // The raw text of the message. The client is responsible for ensuring the following: + // + // Message must contain a header and a body, separated by a blank line. + // + // All required header fields must be present. + // + // Each part of a multipart MIME message must be formatted properly. + // + // MIME content types must be among those supported by Amazon SES. For more + // information, go to the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/mime-types.html). + // + // Must be base64-encoded. + // + // RawMessage is a required field + RawMessage *RawMessage `type:"structure" required:"true"` + + // This parameter is used only for sending authorization. It is the ARN of the + // identity that is associated with the sending authorization policy that permits + // you to use the email address specified in the ReturnPath parameter. + // + // For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) + // attaches a policy to it that authorizes you to use feedback@example.com, + // then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, + // and the ReturnPath to be feedback@example.com. + // + // Instead of using this parameter, you can use the X-header X-SES-RETURN-PATH-ARN + // in the raw message of the email. If you use both the ReturnPathArn parameter + // and the corresponding X-header, Amazon SES uses the value of the ReturnPathArn + // parameter. + // + // For information about when to use this parameter, see the description of + // SendRawEmail in this guide, or see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html). + ReturnPathArn *string `type:"string"` + + // The identity's email address. If you do not provide a value for this parameter, + // you must specify a "From" address in the raw text of the message. (You can + // also specify both.) + // + // By default, the string must be 7-bit ASCII. If the text must contain any + // other characters, then you must use MIME encoded-word syntax (RFC 2047) instead + // of a literal string. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. + // For more information, see RFC 2047 (http://tools.ietf.org/html/rfc2047). + // + // If you specify the Source parameter and have feedback forwarding enabled, + // then bounces and complaints will be sent to this email address. This takes + // precedence over any Return-Path header that you might include in the raw + // text of the message. + Source *string `type:"string"` + + // This parameter is used only for sending authorization. It is the ARN of the + // identity that is associated with the sending authorization policy that permits + // you to send for the email address specified in the Source parameter. + // + // For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) + // attaches a policy to it that authorizes you to send from user@example.com, + // then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, + // and the Source to be user@example.com. + // + // Instead of using this parameter, you can use the X-header X-SES-SOURCE-ARN + // in the raw message of the email. If you use both the SourceArn parameter + // and the corresponding X-header, Amazon SES uses the value of the SourceArn + // parameter. + // + // For information about when to use this parameter, see the description of + // SendRawEmail in this guide, or see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html). + SourceArn *string `type:"string"` +} + +// String returns the string representation +func (s SendRawEmailInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SendRawEmailInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SendRawEmailInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SendRawEmailInput"} + if s.RawMessage == nil { + invalidParams.Add(request.NewErrParamRequired("RawMessage")) + } + if s.RawMessage != nil { + if err := s.RawMessage.Validate(); err != nil { + invalidParams.AddNested("RawMessage", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Represents a unique message ID. +type SendRawEmailOutput struct { + _ struct{} `type:"structure"` + + // The unique message identifier returned from the SendRawEmail action. + // + // MessageId is a required field + MessageId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s SendRawEmailOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SendRawEmailOutput) GoString() string { + return s.String() +} + +// Represents a request to set a receipt rule set as the active receipt rule +// set. You use receipt rule sets to receive email with Amazon SES. For more +// information, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html). +type SetActiveReceiptRuleSetInput struct { + _ struct{} `type:"structure"` + + // The name of the receipt rule set to make active. Setting this value to null + // disables all email receiving. + RuleSetName *string `type:"string"` +} + +// String returns the string representation +func (s SetActiveReceiptRuleSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetActiveReceiptRuleSetInput) GoString() string { + return s.String() +} + +// An empty element returned on a successful request. +type SetActiveReceiptRuleSetOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s SetActiveReceiptRuleSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetActiveReceiptRuleSetOutput) GoString() string { + return s.String() +} + +// Represents a request to enable or disable Amazon SES Easy DKIM signing for +// an identity. For more information about setting up Easy DKIM, see the Amazon +// SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html). +type SetIdentityDkimEnabledInput struct { + _ struct{} `type:"structure"` + + // Sets whether DKIM signing is enabled for an identity. Set to true to enable + // DKIM signing for this identity; false to disable it. + // + // DkimEnabled is a required field + DkimEnabled *bool `type:"boolean" required:"true"` + + // The identity for which DKIM signing should be enabled or disabled. + // + // Identity is a required field + Identity *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s SetIdentityDkimEnabledInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetIdentityDkimEnabledInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SetIdentityDkimEnabledInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SetIdentityDkimEnabledInput"} + if s.DkimEnabled == nil { + invalidParams.Add(request.NewErrParamRequired("DkimEnabled")) + } + if s.Identity == nil { + invalidParams.Add(request.NewErrParamRequired("Identity")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// An empty element returned on a successful request. +type SetIdentityDkimEnabledOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s SetIdentityDkimEnabledOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetIdentityDkimEnabledOutput) GoString() string { + return s.String() +} + +// Represents a request to enable or disable whether Amazon SES forwards you +// bounce and complaint notifications through email. For information about email +// feedback forwarding, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications-via-email.html). +type SetIdentityFeedbackForwardingEnabledInput struct { + _ struct{} `type:"structure"` + + // Sets whether Amazon SES will forward bounce and complaint notifications as + // email. true specifies that Amazon SES will forward bounce and complaint notifications + // as email, in addition to any Amazon SNS topic publishing otherwise specified. + // false specifies that Amazon SES will publish bounce and complaint notifications + // only through Amazon SNS. This value can only be set to false when Amazon + // SNS topics are set for both Bounce and Complaint notification types. + // + // ForwardingEnabled is a required field + ForwardingEnabled *bool `type:"boolean" required:"true"` + + // The identity for which to set bounce and complaint notification forwarding. + // Examples: user@example.com, example.com. + // + // Identity is a required field + Identity *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s SetIdentityFeedbackForwardingEnabledInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetIdentityFeedbackForwardingEnabledInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SetIdentityFeedbackForwardingEnabledInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SetIdentityFeedbackForwardingEnabledInput"} + if s.ForwardingEnabled == nil { + invalidParams.Add(request.NewErrParamRequired("ForwardingEnabled")) + } + if s.Identity == nil { + invalidParams.Add(request.NewErrParamRequired("Identity")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// An empty element returned on a successful request. +type SetIdentityFeedbackForwardingEnabledOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s SetIdentityFeedbackForwardingEnabledOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetIdentityFeedbackForwardingEnabledOutput) GoString() string { + return s.String() +} + +// Represents a request to set whether Amazon SES includes the original email +// headers in the Amazon SNS notifications of a specified type. For information +// about notifications, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications-via-sns.html). +type SetIdentityHeadersInNotificationsEnabledInput struct { + _ struct{} `type:"structure"` + + // Sets whether Amazon SES includes the original email headers in Amazon SNS + // notifications of the specified notification type. A value of true specifies + // that Amazon SES will include headers in notifications, and a value of false + // specifies that Amazon SES will not include headers in notifications. + // + // This value can only be set when NotificationType is already set to use a + // particular Amazon SNS topic. + // + // Enabled is a required field + Enabled *bool `type:"boolean" required:"true"` + + // The identity for which to enable or disable headers in notifications. Examples: + // user@example.com, example.com. + // + // Identity is a required field + Identity *string `type:"string" required:"true"` + + // The notification type for which to enable or disable headers in notifications. + // + // NotificationType is a required field + NotificationType *string `type:"string" required:"true" enum:"NotificationType"` +} + +// String returns the string representation +func (s SetIdentityHeadersInNotificationsEnabledInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetIdentityHeadersInNotificationsEnabledInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SetIdentityHeadersInNotificationsEnabledInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SetIdentityHeadersInNotificationsEnabledInput"} + if s.Enabled == nil { + invalidParams.Add(request.NewErrParamRequired("Enabled")) + } + if s.Identity == nil { + invalidParams.Add(request.NewErrParamRequired("Identity")) + } + if s.NotificationType == nil { + invalidParams.Add(request.NewErrParamRequired("NotificationType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// An empty element returned on a successful request. +type SetIdentityHeadersInNotificationsEnabledOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s SetIdentityHeadersInNotificationsEnabledOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetIdentityHeadersInNotificationsEnabledOutput) GoString() string { + return s.String() +} + +// Represents a request to enable or disable the Amazon SES custom MAIL FROM +// domain setup for a verified identity. For information about using a custom +// MAIL FROM domain, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from.html). +type SetIdentityMailFromDomainInput struct { + _ struct{} `type:"structure"` + + // The action that you want Amazon SES to take if it cannot successfully read + // the required MX record when you send an email. If you choose UseDefaultValue, + // Amazon SES will use amazonses.com (or a subdomain of that) as the MAIL FROM + // domain. If you choose RejectMessage, Amazon SES will return a MailFromDomainNotVerified + // error and not send the email. + // + // The action specified in BehaviorOnMXFailure is taken when the custom MAIL + // FROM domain setup is in the Pending, Failed, and TemporaryFailure states. + BehaviorOnMXFailure *string `type:"string" enum:"BehaviorOnMXFailure"` + + // The verified identity for which you want to enable or disable the specified + // custom MAIL FROM domain. + // + // Identity is a required field + Identity *string `type:"string" required:"true"` + + // The custom MAIL FROM domain that you want the verified identity to use. The + // MAIL FROM domain must 1) be a subdomain of the verified identity, 2) not + // be used in a "From" address if the MAIL FROM domain is the destination of + // email feedback forwarding (for more information, see the Amazon SES Developer + // Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from.html)), + // and 3) not be used to receive emails. A value of null disables the custom + // MAIL FROM setting for the identity. + MailFromDomain *string `type:"string"` +} + +// String returns the string representation +func (s SetIdentityMailFromDomainInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetIdentityMailFromDomainInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SetIdentityMailFromDomainInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SetIdentityMailFromDomainInput"} + if s.Identity == nil { + invalidParams.Add(request.NewErrParamRequired("Identity")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// An empty element returned on a successful request. +type SetIdentityMailFromDomainOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s SetIdentityMailFromDomainOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetIdentityMailFromDomainOutput) GoString() string { + return s.String() +} + +// Represents a request to specify the Amazon SNS topic to which Amazon SES +// will publish bounce, complaint, or delivery notifications for emails sent +// with that identity as the Source. For information about Amazon SES notifications, +// see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/notifications-via-sns.html). +type SetIdentityNotificationTopicInput struct { + _ struct{} `type:"structure"` + + // The identity for which the Amazon SNS topic will be set. You can specify + // an identity by using its name or by using its Amazon Resource Name (ARN). + // Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com. + // + // Identity is a required field + Identity *string `type:"string" required:"true"` + + // The type of notifications that will be published to the specified Amazon + // SNS topic. + // + // NotificationType is a required field + NotificationType *string `type:"string" required:"true" enum:"NotificationType"` + + // The Amazon Resource Name (ARN) of the Amazon SNS topic. If the parameter + // is omitted from the request or a null value is passed, SnsTopic is cleared + // and publishing is disabled. + SnsTopic *string `type:"string"` +} + +// String returns the string representation +func (s SetIdentityNotificationTopicInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetIdentityNotificationTopicInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SetIdentityNotificationTopicInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SetIdentityNotificationTopicInput"} + if s.Identity == nil { + invalidParams.Add(request.NewErrParamRequired("Identity")) + } + if s.NotificationType == nil { + invalidParams.Add(request.NewErrParamRequired("NotificationType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// An empty element returned on a successful request. +type SetIdentityNotificationTopicOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s SetIdentityNotificationTopicOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetIdentityNotificationTopicOutput) GoString() string { + return s.String() +} + +// Represents a request to set the position of a receipt rule in a receipt rule +// set. You use receipt rule sets to receive email with Amazon SES. For more +// information, see the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html). +type SetReceiptRulePositionInput struct { + _ struct{} `type:"structure"` + + // The name of the receipt rule after which to place the specified receipt rule. + After *string `type:"string"` + + // The name of the receipt rule to reposition. + // + // RuleName is a required field + RuleName *string `type:"string" required:"true"` + + // The name of the receipt rule set that contains the receipt rule to reposition. + // + // RuleSetName is a required field + RuleSetName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s SetReceiptRulePositionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetReceiptRulePositionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SetReceiptRulePositionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SetReceiptRulePositionInput"} + if s.RuleName == nil { + invalidParams.Add(request.NewErrParamRequired("RuleName")) + } + if s.RuleSetName == nil { + invalidParams.Add(request.NewErrParamRequired("RuleSetName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// An empty element returned on a successful request. +type SetReceiptRulePositionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s SetReceiptRulePositionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetReceiptRulePositionOutput) GoString() string { + return s.String() +} + +// When included in a receipt rule, this action terminates the evaluation of +// the receipt rule set and, optionally, publishes a notification to Amazon +// Simple Notification Service (Amazon SNS). +// +// For information about setting a stop action in a receipt rule, see the Amazon +// SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-stop.html). +type StopAction struct { + _ struct{} `type:"structure"` + + // The scope to which the Stop action applies. That is, what is being stopped. + // + // Scope is a required field + Scope *string `type:"string" required:"true" enum:"StopScope"` + + // The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the + // stop action is taken. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. + // For more information about Amazon SNS topics, see the Amazon SNS Developer + // Guide (http://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html). + TopicArn *string `type:"string"` +} + +// String returns the string representation +func (s StopAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopAction"} + if s.Scope == nil { + invalidParams.Add(request.NewErrParamRequired("Scope")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Represents a request to update a receipt rule. You use receipt rules to receive +// email with Amazon SES. For more information, see the Amazon SES Developer +// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-concepts.html). +type UpdateReceiptRuleInput struct { + _ struct{} `type:"structure"` + + // A data structure that contains the updated receipt rule information. + // + // Rule is a required field + Rule *ReceiptRule `type:"structure" required:"true"` + + // The name of the receipt rule set to which the receipt rule belongs. + // + // RuleSetName is a required field + RuleSetName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateReceiptRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateReceiptRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateReceiptRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateReceiptRuleInput"} + if s.Rule == nil { + invalidParams.Add(request.NewErrParamRequired("Rule")) + } + if s.RuleSetName == nil { + invalidParams.Add(request.NewErrParamRequired("RuleSetName")) + } + if s.Rule != nil { + if err := s.Rule.Validate(); err != nil { + invalidParams.AddNested("Rule", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// An empty element returned on a successful request. +type UpdateReceiptRuleOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateReceiptRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateReceiptRuleOutput) GoString() string { + return s.String() +} + +// Represents a request to generate the CNAME records needed to set up Easy +// DKIM with Amazon SES. For more information about setting up Easy DKIM, see +// the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html). +type VerifyDomainDkimInput struct { + _ struct{} `type:"structure"` + + // The name of the domain to be verified for Easy DKIM signing. + // + // Domain is a required field + Domain *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s VerifyDomainDkimInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VerifyDomainDkimInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VerifyDomainDkimInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VerifyDomainDkimInput"} + if s.Domain == nil { + invalidParams.Add(request.NewErrParamRequired("Domain")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Returns CNAME records that you must publish to the DNS server of your domain +// to set up Easy DKIM with Amazon SES. +type VerifyDomainDkimOutput struct { + _ struct{} `type:"structure"` + + // A set of character strings that represent the domain's identity. If the identity + // is an email address, the tokens represent the domain of that address. + // + // Using these tokens, you will need to create DNS CNAME records that point + // to DKIM public keys hosted by Amazon SES. Amazon Web Services will eventually + // detect that you have updated your DNS records; this detection process may + // take up to 72 hours. Upon successful detection, Amazon SES will be able to + // DKIM-sign emails originating from that domain. + // + // For more information about creating DNS records using DKIM tokens, go to + // the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim-dns-records.html). + // + // DkimTokens is a required field + DkimTokens []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s VerifyDomainDkimOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VerifyDomainDkimOutput) GoString() string { + return s.String() +} + +// Represents a request to begin Amazon SES domain verification and to generate +// the TXT records that you must publish to the DNS server of your domain to +// complete the verification. For information about domain verification, see +// the Amazon SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-domains.html). +type VerifyDomainIdentityInput struct { + _ struct{} `type:"structure"` + + // The domain to be verified. + // + // Domain is a required field + Domain *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s VerifyDomainIdentityInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VerifyDomainIdentityInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VerifyDomainIdentityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VerifyDomainIdentityInput"} + if s.Domain == nil { + invalidParams.Add(request.NewErrParamRequired("Domain")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Returns a TXT record that you must publish to the DNS server of your domain +// to complete domain verification with Amazon SES. +type VerifyDomainIdentityOutput struct { + _ struct{} `type:"structure"` + + // A TXT record that must be placed in the DNS settings for the domain, in order + // to complete domain verification. + // + // VerificationToken is a required field + VerificationToken *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s VerifyDomainIdentityOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VerifyDomainIdentityOutput) GoString() string { + return s.String() +} + +// Represents a request to begin email address verification with Amazon SES. +// For information about email address verification, see the Amazon SES Developer +// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html). +type VerifyEmailAddressInput struct { + _ struct{} `type:"structure"` + + // The email address to be verified. + // + // EmailAddress is a required field + EmailAddress *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s VerifyEmailAddressInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VerifyEmailAddressInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VerifyEmailAddressInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VerifyEmailAddressInput"} + if s.EmailAddress == nil { + invalidParams.Add(request.NewErrParamRequired("EmailAddress")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type VerifyEmailAddressOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s VerifyEmailAddressOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VerifyEmailAddressOutput) GoString() string { + return s.String() +} + +// Represents a request to begin email address verification with Amazon SES. +// For information about email address verification, see the Amazon SES Developer +// Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html). +type VerifyEmailIdentityInput struct { + _ struct{} `type:"structure"` + + // The email address to be verified. + // + // EmailAddress is a required field + EmailAddress *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s VerifyEmailIdentityInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VerifyEmailIdentityInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VerifyEmailIdentityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VerifyEmailIdentityInput"} + if s.EmailAddress == nil { + invalidParams.Add(request.NewErrParamRequired("EmailAddress")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// An empty element returned on a successful request. +type VerifyEmailIdentityOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s VerifyEmailIdentityOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VerifyEmailIdentityOutput) GoString() string { + return s.String() +} + +// When included in a receipt rule, this action calls Amazon WorkMail and, optionally, +// publishes a notification to Amazon Simple Notification Service (Amazon SNS). +// You will typically not use this action directly because Amazon WorkMail adds +// the rule automatically during its setup procedure. +// +// For information using a receipt rule to call Amazon WorkMail, see the Amazon +// SES Developer Guide (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-workmail.html). +type WorkmailAction struct { + _ struct{} `type:"structure"` + + // The ARN of the Amazon WorkMail organization. An example of an Amazon WorkMail + // organization ARN is arn:aws:workmail:us-west-2:123456789012:organization/m-68755160c4cb4e29a2b2f8fb58f359d7. + // For information about Amazon WorkMail organizations, see the Amazon WorkMail + // Administrator Guide (http://docs.aws.amazon.com/workmail/latest/adminguide/organizations_overview.html). + // + // OrganizationArn is a required field + OrganizationArn *string `type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the + // WorkMail action is called. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. + // For more information about Amazon SNS topics, see the Amazon SNS Developer + // Guide (http://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html). + TopicArn *string `type:"string"` +} + +// String returns the string representation +func (s WorkmailAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s WorkmailAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *WorkmailAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "WorkmailAction"} + if s.OrganizationArn == nil { + invalidParams.Add(request.NewErrParamRequired("OrganizationArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +const ( + // BehaviorOnMXFailureUseDefaultValue is a BehaviorOnMXFailure enum value + BehaviorOnMXFailureUseDefaultValue = "UseDefaultValue" + + // BehaviorOnMXFailureRejectMessage is a BehaviorOnMXFailure enum value + BehaviorOnMXFailureRejectMessage = "RejectMessage" +) + +const ( + // BounceTypeDoesNotExist is a BounceType enum value + BounceTypeDoesNotExist = "DoesNotExist" + + // BounceTypeMessageTooLarge is a BounceType enum value + BounceTypeMessageTooLarge = "MessageTooLarge" + + // BounceTypeExceededQuota is a BounceType enum value + BounceTypeExceededQuota = "ExceededQuota" + + // BounceTypeContentRejected is a BounceType enum value + BounceTypeContentRejected = "ContentRejected" + + // BounceTypeUndefined is a BounceType enum value + BounceTypeUndefined = "Undefined" + + // BounceTypeTemporaryFailure is a BounceType enum value + BounceTypeTemporaryFailure = "TemporaryFailure" +) + +const ( + // CustomMailFromStatusPending is a CustomMailFromStatus enum value + CustomMailFromStatusPending = "Pending" + + // CustomMailFromStatusSuccess is a CustomMailFromStatus enum value + CustomMailFromStatusSuccess = "Success" + + // CustomMailFromStatusFailed is a CustomMailFromStatus enum value + CustomMailFromStatusFailed = "Failed" + + // CustomMailFromStatusTemporaryFailure is a CustomMailFromStatus enum value + CustomMailFromStatusTemporaryFailure = "TemporaryFailure" +) + +const ( + // DsnActionFailed is a DsnAction enum value + DsnActionFailed = "failed" + + // DsnActionDelayed is a DsnAction enum value + DsnActionDelayed = "delayed" + + // DsnActionDelivered is a DsnAction enum value + DsnActionDelivered = "delivered" + + // DsnActionRelayed is a DsnAction enum value + DsnActionRelayed = "relayed" + + // DsnActionExpanded is a DsnAction enum value + DsnActionExpanded = "expanded" +) + +const ( + // IdentityTypeEmailAddress is a IdentityType enum value + IdentityTypeEmailAddress = "EmailAddress" + + // IdentityTypeDomain is a IdentityType enum value + IdentityTypeDomain = "Domain" +) + +const ( + // InvocationTypeEvent is a InvocationType enum value + InvocationTypeEvent = "Event" + + // InvocationTypeRequestResponse is a InvocationType enum value + InvocationTypeRequestResponse = "RequestResponse" +) + +const ( + // NotificationTypeBounce is a NotificationType enum value + NotificationTypeBounce = "Bounce" + + // NotificationTypeComplaint is a NotificationType enum value + NotificationTypeComplaint = "Complaint" + + // NotificationTypeDelivery is a NotificationType enum value + NotificationTypeDelivery = "Delivery" +) + +const ( + // ReceiptFilterPolicyBlock is a ReceiptFilterPolicy enum value + ReceiptFilterPolicyBlock = "Block" + + // ReceiptFilterPolicyAllow is a ReceiptFilterPolicy enum value + ReceiptFilterPolicyAllow = "Allow" +) + +const ( + // SNSActionEncodingUtf8 is a SNSActionEncoding enum value + SNSActionEncodingUtf8 = "UTF-8" + + // SNSActionEncodingBase64 is a SNSActionEncoding enum value + SNSActionEncodingBase64 = "Base64" +) + +const ( + // StopScopeRuleSet is a StopScope enum value + StopScopeRuleSet = "RuleSet" +) + +const ( + // TlsPolicyRequire is a TlsPolicy enum value + TlsPolicyRequire = "Require" + + // TlsPolicyOptional is a TlsPolicy enum value + TlsPolicyOptional = "Optional" +) + +const ( + // VerificationStatusPending is a VerificationStatus enum value + VerificationStatusPending = "Pending" + + // VerificationStatusSuccess is a VerificationStatus enum value + VerificationStatusSuccess = "Success" + + // VerificationStatusFailed is a VerificationStatus enum value + VerificationStatusFailed = "Failed" + + // VerificationStatusTemporaryFailure is a VerificationStatus enum value + VerificationStatusTemporaryFailure = "TemporaryFailure" + + // VerificationStatusNotStarted is a VerificationStatus enum value + VerificationStatusNotStarted = "NotStarted" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/ses/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/ses/waiters.go new file mode 100644 index 000000000000..bf79344b803e --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/ses/waiters.go @@ -0,0 +1,34 @@ +// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. + +package ses + +import ( + "github.com/aws/aws-sdk-go/private/waiter" +) + +// WaitUntilIdentityExists uses the Amazon SES API operation +// GetIdentityVerificationAttributes to wait for a condition to be met before returning. +// If the condition is not meet within the max attempt window an error will +// be returned. +func (c *SES) WaitUntilIdentityExists(input *GetIdentityVerificationAttributesInput) error { + waiterCfg := waiter.Config{ + Operation: "GetIdentityVerificationAttributes", + Delay: 3, + MaxAttempts: 20, + Acceptors: []waiter.WaitAcceptor{ + { + State: "success", + Matcher: "pathAll", + Argument: "VerificationAttributes.*.VerificationStatus", + Expected: "Success", + }, + }, + } + + w := waiter.Waiter{ + Client: c, + Input: input, + Config: waiterCfg, + } + return w.Wait() +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/simpledb/api.go b/vendor/github.com/aws/aws-sdk-go/service/simpledb/api.go new file mode 100644 index 000000000000..59524fe6fbd5 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/simpledb/api.go @@ -0,0 +1,1826 @@ +// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. + +// Package simpledb provides a client for Amazon SimpleDB. +package simpledb + +import ( + "fmt" + + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/query" +) + +const opBatchDeleteAttributes = "BatchDeleteAttributes" + +// BatchDeleteAttributesRequest generates a "aws/request.Request" representing the +// client's request for the BatchDeleteAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See BatchDeleteAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the BatchDeleteAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the BatchDeleteAttributesRequest method. +// req, resp := client.BatchDeleteAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SimpleDB) BatchDeleteAttributesRequest(input *BatchDeleteAttributesInput) (req *request.Request, output *BatchDeleteAttributesOutput) { + op := &request.Operation{ + Name: opBatchDeleteAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &BatchDeleteAttributesInput{} + } + + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + output = &BatchDeleteAttributesOutput{} + req.Data = output + return +} + +// BatchDeleteAttributes API operation for Amazon SimpleDB. +// +// Performs multiple DeleteAttributes operations in a single call, which reduces +// round trips and latencies. This enables Amazon SimpleDB to optimize requests, +// which generally yields better throughput. +// +// If you specify BatchDeleteAttributes without attributes or values, all +// the attributes for the item are deleted. +// +// BatchDeleteAttributes is an idempotent operation; running it multiple times +// on the same item or attribute doesn't result in an error. +// +// The BatchDeleteAttributes operation succeeds or fails in its entirety. +// There are no partial deletes. You can execute multiple BatchDeleteAttributes +// operations and other operations in parallel. However, large numbers of concurrent +// BatchDeleteAttributes calls can result in Service Unavailable (503) responses. +// +// This operation is vulnerable to exceeding the maximum URL size when making +// a REST request using the HTTP GET method. +// +// This operation does not support conditions using Expected.X.Name, Expected.X.Value, +// or Expected.X.Exists. +// +// The following limitations are enforced for this operation: 1 MB request +// size 25 item limit per BatchDeleteAttributes operation +// +// 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 SimpleDB's +// API operation BatchDeleteAttributes for usage and error information. +func (c *SimpleDB) BatchDeleteAttributes(input *BatchDeleteAttributesInput) (*BatchDeleteAttributesOutput, error) { + req, out := c.BatchDeleteAttributesRequest(input) + err := req.Send() + return out, err +} + +const opBatchPutAttributes = "BatchPutAttributes" + +// BatchPutAttributesRequest generates a "aws/request.Request" representing the +// client's request for the BatchPutAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See BatchPutAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the BatchPutAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the BatchPutAttributesRequest method. +// req, resp := client.BatchPutAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SimpleDB) BatchPutAttributesRequest(input *BatchPutAttributesInput) (req *request.Request, output *BatchPutAttributesOutput) { + op := &request.Operation{ + Name: opBatchPutAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &BatchPutAttributesInput{} + } + + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + output = &BatchPutAttributesOutput{} + req.Data = output + return +} + +// BatchPutAttributes API operation for Amazon SimpleDB. +// +// The BatchPutAttributes operation creates or replaces attributes within one +// or more items. By using this operation, the client can perform multiple PutAttribute +// operation with a single call. This helps yield savings in round trips and +// latencies, enabling Amazon SimpleDB to optimize requests and generally produce +// better throughput. +// +// The client may specify the item name with the Item.X.ItemName parameter. +// The client may specify new attributes using a combination of the Item.X.Attribute.Y.Name +// and Item.X.Attribute.Y.Value parameters. The client may specify the first +// attribute for the first item using the parameters Item.0.Attribute.0.Name +// and Item.0.Attribute.0.Value, and for the second attribute for the first +// item by the parameters Item.0.Attribute.1.Name and Item.0.Attribute.1.Value, +// and so on. +// +// Attributes are uniquely identified within an item by their name/value combination. +// For example, a single item can have the attributes { "first_name", "first_value" +// } and { "first_name", "second_value" }. However, it cannot have two attribute +// instances where both the Item.X.Attribute.Y.Name and Item.X.Attribute.Y.Value +// are the same. +// +// Optionally, the requester can supply the Replace parameter for each individual +// value. Setting this value to true will cause the new attribute values to +// replace the existing attribute values. For example, if an item I has the +// attributes { 'a', '1' }, { 'b', '2'} and { 'b', '3' } and the requester does +// a BatchPutAttributes of {'I', 'b', '4' } with the Replace parameter set to +// true, the final attributes of the item will be { 'a', '1' } and { 'b', '4' +// }, replacing the previous values of the 'b' attribute with the new value. +// +// You cannot specify an empty string as an item or as an attribute name. +// The BatchPutAttributes operation succeeds or fails in its entirety. There +// are no partial puts. This operation is vulnerable to exceeding the maximum +// URL size when making a REST request using the HTTP GET method. This operation +// does not support conditions using Expected.X.Name, Expected.X.Value, or Expected.X.Exists. +// You can execute multiple BatchPutAttributes operations and other operations +// in parallel. However, large numbers of concurrent BatchPutAttributes calls +// can result in Service Unavailable (503) responses. +// +// The following limitations are enforced for this operation: 256 attribute +// name-value pairs per item 1 MB request size 1 billion attributes per domain +// 10 GB of total user data storage per domain 25 item limit per BatchPutAttributes +// operation +// +// 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 SimpleDB's +// API operation BatchPutAttributes for usage and error information. +// +// Returned Error Codes: +// * DuplicateItemName +// The item name was specified more than once. +// +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * MissingParameter +// The request must contain the specified missing parameter. +// +// * NoSuchDomain +// The specified domain does not exist. +// +// * NumberItemAttributesExceeded +// Too many attributes in this item. +// +// * NumberDomainAttributesExceeded +// Too many attributes in this domain. +// +// * NumberDomainBytesExceeded +// Too many bytes in this domain. +// +// * NumberSubmittedItemsExceeded +// Too many items exist in a single call. +// +// * NumberSubmittedAttributesExceeded +// Too many attributes exist in a single call. +// +func (c *SimpleDB) BatchPutAttributes(input *BatchPutAttributesInput) (*BatchPutAttributesOutput, error) { + req, out := c.BatchPutAttributesRequest(input) + err := req.Send() + return out, err +} + +const opCreateDomain = "CreateDomain" + +// CreateDomainRequest generates a "aws/request.Request" representing the +// client's request for the CreateDomain operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateDomain for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateDomain method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateDomainRequest method. +// req, resp := client.CreateDomainRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SimpleDB) CreateDomainRequest(input *CreateDomainInput) (req *request.Request, output *CreateDomainOutput) { + op := &request.Operation{ + Name: opCreateDomain, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateDomainInput{} + } + + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + output = &CreateDomainOutput{} + req.Data = output + return +} + +// CreateDomain API operation for Amazon SimpleDB. +// +// The CreateDomain operation creates a new domain. The domain name should be +// unique among the domains associated with the Access Key ID provided in the +// request. The CreateDomain operation may take 10 or more seconds to complete. +// +// CreateDomain is an idempotent operation; running it multiple times using +// the same domain name will not result in an error response. The client can +// create up to 100 domains per account. +// +// If the client requires additional domains, go to http://aws.amazon.com/contact-us/simpledb-limit-request/ +// (http://aws.amazon.com/contact-us/simpledb-limit-request/). +// +// 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 SimpleDB's +// API operation CreateDomain for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * MissingParameter +// The request must contain the specified missing parameter. +// +// * NumberDomainsExceeded +// Too many domains exist per this account. +// +func (c *SimpleDB) CreateDomain(input *CreateDomainInput) (*CreateDomainOutput, error) { + req, out := c.CreateDomainRequest(input) + err := req.Send() + return out, err +} + +const opDeleteAttributes = "DeleteAttributes" + +// DeleteAttributesRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteAttributesRequest method. +// req, resp := client.DeleteAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SimpleDB) DeleteAttributesRequest(input *DeleteAttributesInput) (req *request.Request, output *DeleteAttributesOutput) { + op := &request.Operation{ + Name: opDeleteAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteAttributesInput{} + } + + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + output = &DeleteAttributesOutput{} + req.Data = output + return +} + +// DeleteAttributes API operation for Amazon SimpleDB. +// +// Deletes one or more attributes associated with an item. If all attributes +// of the item are deleted, the item is deleted. +// +// If DeleteAttributes is called without being passed any attributes or values +// specified, all the attributes for the item are deleted. DeleteAttributes +// is an idempotent operation; running it multiple times on the same item or +// attribute does not result in an error response. +// +// Because Amazon SimpleDB makes multiple copies of item data and uses an +// eventual consistency update model, performing a GetAttributes or Select operation +// (read) immediately after a DeleteAttributes or PutAttributes operation (write) +// might not return updated item data. +// +// 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 SimpleDB's +// API operation DeleteAttributes for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * MissingParameter +// The request must contain the specified missing parameter. +// +// * NoSuchDomain +// The specified domain does not exist. +// +// * AttributeDoesNotExist +// The specified attribute does not exist. +// +func (c *SimpleDB) DeleteAttributes(input *DeleteAttributesInput) (*DeleteAttributesOutput, error) { + req, out := c.DeleteAttributesRequest(input) + err := req.Send() + return out, err +} + +const opDeleteDomain = "DeleteDomain" + +// DeleteDomainRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDomain operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteDomain for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteDomain method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteDomainRequest method. +// req, resp := client.DeleteDomainRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SimpleDB) DeleteDomainRequest(input *DeleteDomainInput) (req *request.Request, output *DeleteDomainOutput) { + op := &request.Operation{ + Name: opDeleteDomain, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteDomainInput{} + } + + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + output = &DeleteDomainOutput{} + req.Data = output + return +} + +// DeleteDomain API operation for Amazon SimpleDB. +// +// The DeleteDomain operation deletes a domain. Any items (and their attributes) +// in the domain are deleted as well. The DeleteDomain operation might take +// 10 or more seconds to complete. +// +// Running DeleteDomain on a domain that does not exist or running the function +// multiple times using the same domain name will not result in an error 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. +// +// See the AWS API reference guide for Amazon SimpleDB's +// API operation DeleteDomain for usage and error information. +// +// Returned Error Codes: +// * MissingParameter +// The request must contain the specified missing parameter. +// +func (c *SimpleDB) DeleteDomain(input *DeleteDomainInput) (*DeleteDomainOutput, error) { + req, out := c.DeleteDomainRequest(input) + err := req.Send() + return out, err +} + +const opDomainMetadata = "DomainMetadata" + +// DomainMetadataRequest generates a "aws/request.Request" representing the +// client's request for the DomainMetadata operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DomainMetadata for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DomainMetadata method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DomainMetadataRequest method. +// req, resp := client.DomainMetadataRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SimpleDB) DomainMetadataRequest(input *DomainMetadataInput) (req *request.Request, output *DomainMetadataOutput) { + op := &request.Operation{ + Name: opDomainMetadata, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DomainMetadataInput{} + } + + req = c.newRequest(op, input, output) + output = &DomainMetadataOutput{} + req.Data = output + return +} + +// DomainMetadata API operation for Amazon SimpleDB. +// +// Returns information about the domain, including when the domain was created, +// the number of items and attributes in the domain, and the size of the attribute +// names and values. +// +// 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 SimpleDB's +// API operation DomainMetadata for usage and error information. +// +// Returned Error Codes: +// * MissingParameter +// The request must contain the specified missing parameter. +// +// * NoSuchDomain +// The specified domain does not exist. +// +func (c *SimpleDB) DomainMetadata(input *DomainMetadataInput) (*DomainMetadataOutput, error) { + req, out := c.DomainMetadataRequest(input) + err := req.Send() + return out, err +} + +const opGetAttributes = "GetAttributes" + +// GetAttributesRequest generates a "aws/request.Request" representing the +// client's request for the GetAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetAttributesRequest method. +// req, resp := client.GetAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SimpleDB) GetAttributesRequest(input *GetAttributesInput) (req *request.Request, output *GetAttributesOutput) { + op := &request.Operation{ + Name: opGetAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetAttributesInput{} + } + + req = c.newRequest(op, input, output) + output = &GetAttributesOutput{} + req.Data = output + return +} + +// GetAttributes API operation for Amazon SimpleDB. +// +// Returns all of the attributes associated with the specified item. Optionally, +// the attributes returned can be limited to one or more attributes by specifying +// an attribute name parameter. +// +// If the item does not exist on the replica that was accessed for this operation, +// an empty set is returned. The system does not return an error as it cannot +// guarantee the item does not exist on other replicas. +// +// If GetAttributes is called without being passed any attribute names, all +// the attributes for the item are returned. +// +// 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 SimpleDB's +// API operation GetAttributes for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * MissingParameter +// The request must contain the specified missing parameter. +// +// * NoSuchDomain +// The specified domain does not exist. +// +func (c *SimpleDB) GetAttributes(input *GetAttributesInput) (*GetAttributesOutput, error) { + req, out := c.GetAttributesRequest(input) + err := req.Send() + return out, err +} + +const opListDomains = "ListDomains" + +// ListDomainsRequest generates a "aws/request.Request" representing the +// client's request for the ListDomains operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListDomains for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListDomains method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListDomainsRequest method. +// req, resp := client.ListDomainsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SimpleDB) ListDomainsRequest(input *ListDomainsInput) (req *request.Request, output *ListDomainsOutput) { + op := &request.Operation{ + Name: opListDomains, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxNumberOfDomains", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListDomainsInput{} + } + + req = c.newRequest(op, input, output) + output = &ListDomainsOutput{} + req.Data = output + return +} + +// ListDomains API operation for Amazon SimpleDB. +// +// The ListDomains operation lists all domains associated with the Access Key +// ID. It returns domain names up to the limit set by MaxNumberOfDomains (#MaxNumberOfDomains). +// A NextToken (#NextToken) is returned if there are more than MaxNumberOfDomains +// domains. Calling ListDomains successive times with the NextToken provided +// by the operation returns up to MaxNumberOfDomains more domain names with +// each successive operation call. +// +// 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 SimpleDB's +// API operation ListDomains for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidNextToken +// The specified NextToken is not valid. +// +func (c *SimpleDB) ListDomains(input *ListDomainsInput) (*ListDomainsOutput, error) { + req, out := c.ListDomainsRequest(input) + err := req.Send() + return out, err +} + +// ListDomainsPages iterates over the pages of a ListDomains operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDomains 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 ListDomains operation. +// pageNum := 0 +// err := client.ListDomainsPages(params, +// func(page *ListDomainsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SimpleDB) ListDomainsPages(input *ListDomainsInput, fn func(p *ListDomainsOutput, lastPage bool) (shouldContinue bool)) error { + page, _ := c.ListDomainsRequest(input) + page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) + return page.EachPage(func(p interface{}, lastPage bool) bool { + return fn(p.(*ListDomainsOutput), lastPage) + }) +} + +const opPutAttributes = "PutAttributes" + +// PutAttributesRequest generates a "aws/request.Request" representing the +// client's request for the PutAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutAttributesRequest method. +// req, resp := client.PutAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SimpleDB) PutAttributesRequest(input *PutAttributesInput) (req *request.Request, output *PutAttributesOutput) { + op := &request.Operation{ + Name: opPutAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutAttributesInput{} + } + + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + output = &PutAttributesOutput{} + req.Data = output + return +} + +// PutAttributes API operation for Amazon SimpleDB. +// +// The PutAttributes operation creates or replaces attributes in an item. The +// client may specify new attributes using a combination of the Attribute.X.Name +// and Attribute.X.Value parameters. The client specifies the first attribute +// by the parameters Attribute.0.Name and Attribute.0.Value, the second attribute +// by the parameters Attribute.1.Name and Attribute.1.Value, and so on. +// +// Attributes are uniquely identified in an item by their name/value combination. +// For example, a single item can have the attributes { "first_name", "first_value" +// } and { "first_name", second_value" }. However, it cannot have two attribute +// instances where both the Attribute.X.Name and Attribute.X.Value are the same. +// +// Optionally, the requestor can supply the Replace parameter for each individual +// attribute. Setting this value to true causes the new attribute value to replace +// the existing attribute value(s). For example, if an item has the attributes +// { 'a', '1' }, { 'b', '2'} and { 'b', '3' } and the requestor calls PutAttributes +// using the attributes { 'b', '4' } with the Replace parameter set to true, +// the final attributes of the item are changed to { 'a', '1' } and { 'b', '4' +// }, which replaces the previous values of the 'b' attribute with the new value. +// +// Using PutAttributes to replace attribute values that do not exist will +// not result in an error response. You cannot specify an empty string as +// an attribute name. +// +// Because Amazon SimpleDB makes multiple copies of client data and uses an +// eventual consistency update model, an immediate GetAttributes or Select operation +// (read) immediately after a PutAttributes or DeleteAttributes operation (write) +// might not return the updated data. +// +// The following limitations are enforced for this operation: 256 total attribute +// name-value pairs per item One billion attributes per domain 10 GB of total +// user data storage per domain +// +// 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 SimpleDB's +// API operation PutAttributes for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * MissingParameter +// The request must contain the specified missing parameter. +// +// * NoSuchDomain +// The specified domain does not exist. +// +// * NumberDomainAttributesExceeded +// Too many attributes in this domain. +// +// * NumberDomainBytesExceeded +// Too many bytes in this domain. +// +// * NumberItemAttributesExceeded +// Too many attributes in this item. +// +// * AttributeDoesNotExist +// The specified attribute does not exist. +// +func (c *SimpleDB) PutAttributes(input *PutAttributesInput) (*PutAttributesOutput, error) { + req, out := c.PutAttributesRequest(input) + err := req.Send() + return out, err +} + +const opSelect = "Select" + +// SelectRequest generates a "aws/request.Request" representing the +// client's request for the Select operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See Select for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the Select method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SelectRequest method. +// req, resp := client.SelectRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SimpleDB) SelectRequest(input *SelectInput) (req *request.Request, output *SelectOutput) { + op := &request.Operation{ + Name: opSelect, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "", + TruncationToken: "", + }, + } + + if input == nil { + input = &SelectInput{} + } + + req = c.newRequest(op, input, output) + output = &SelectOutput{} + req.Data = output + return +} + +// Select API operation for Amazon SimpleDB. +// +// The Select operation returns a set of attributes for ItemNames that match +// the select expression. Select is similar to the standard SQL SELECT statement. +// +// The total size of the response cannot exceed 1 MB in total size. Amazon +// SimpleDB automatically adjusts the number of items returned per page to enforce +// this limit. For example, if the client asks to retrieve 2500 items, but each +// individual item is 10 kB in size, the system returns 100 items and an appropriate +// NextToken so the client can access the next page of results. +// +// For information on how to construct select expressions, see Using Select +// to Create Amazon SimpleDB Queries in the Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon SimpleDB's +// API operation Select for usage and error information. +// +// Returned Error Codes: +// * InvalidParameterValue +// The value for a parameter is invalid. +// +// * InvalidNextToken +// The specified NextToken is not valid. +// +// * InvalidNumberPredicates +// Too many predicates exist in the query expression. +// +// * InvalidNumberValueTests +// Too many predicates exist in the query expression. +// +// * InvalidQueryExpression +// The specified query expression syntax is not valid. +// +// * MissingParameter +// The request must contain the specified missing parameter. +// +// * NoSuchDomain +// The specified domain does not exist. +// +// * RequestTimeout +// A timeout occurred when attempting to query the specified domain with specified +// query expression. +// +// * TooManyRequestedAttributes +// Too many attributes requested. +// +func (c *SimpleDB) Select(input *SelectInput) (*SelectOutput, error) { + req, out := c.SelectRequest(input) + err := req.Send() + return out, err +} + +// SelectPages iterates over the pages of a Select operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See Select 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 Select operation. +// pageNum := 0 +// err := client.SelectPages(params, +// func(page *SelectOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SimpleDB) SelectPages(input *SelectInput, fn func(p *SelectOutput, lastPage bool) (shouldContinue bool)) error { + page, _ := c.SelectRequest(input) + page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) + return page.EachPage(func(p interface{}, lastPage bool) bool { + return fn(p.(*SelectOutput), lastPage) + }) +} + +type Attribute struct { + _ struct{} `type:"structure"` + + AlternateNameEncoding *string `type:"string"` + + AlternateValueEncoding *string `type:"string"` + + // The name of the attribute. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The value of the attribute. + // + // Value is a required field + Value *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s Attribute) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Attribute) GoString() string { + return s.String() +} + +type BatchDeleteAttributesInput struct { + _ struct{} `type:"structure"` + + // The name of the domain in which the attributes are being deleted. + // + // DomainName is a required field + DomainName *string `type:"string" required:"true"` + + // A list of items on which to perform the operation. + // + // Items is a required field + Items []*DeletableItem `locationNameList:"Item" type:"list" flattened:"true" required:"true"` +} + +// String returns the string representation +func (s BatchDeleteAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDeleteAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchDeleteAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchDeleteAttributesInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.Items == nil { + invalidParams.Add(request.NewErrParamRequired("Items")) + } + if s.Items != nil { + for i, v := range s.Items { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type BatchDeleteAttributesOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s BatchDeleteAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDeleteAttributesOutput) GoString() string { + return s.String() +} + +type BatchPutAttributesInput struct { + _ struct{} `type:"structure"` + + // The name of the domain in which the attributes are being stored. + // + // DomainName is a required field + DomainName *string `type:"string" required:"true"` + + // A list of items on which to perform the operation. + // + // Items is a required field + Items []*ReplaceableItem `locationNameList:"Item" type:"list" flattened:"true" required:"true"` +} + +// String returns the string representation +func (s BatchPutAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchPutAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchPutAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchPutAttributesInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.Items == nil { + invalidParams.Add(request.NewErrParamRequired("Items")) + } + if s.Items != nil { + for i, v := range s.Items { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type BatchPutAttributesOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s BatchPutAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchPutAttributesOutput) GoString() string { + return s.String() +} + +type CreateDomainInput struct { + _ struct{} `type:"structure"` + + // The name of the domain to create. The name can range between 3 and 255 characters + // and can contain the following characters: a-z, A-Z, 0-9, '_', '-', and '.'. + // + // DomainName is a required field + DomainName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateDomainInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDomainInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDomainInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDomainInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type CreateDomainOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateDomainOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDomainOutput) GoString() string { + return s.String() +} + +type DeletableAttribute struct { + _ struct{} `type:"structure"` + + // The name of the attribute. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The value of the attribute. + Value *string `type:"string"` +} + +// String returns the string representation +func (s DeletableAttribute) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletableAttribute) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeletableAttribute) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletableAttribute"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DeletableItem struct { + _ struct{} `type:"structure"` + + Attributes []*DeletableAttribute `locationNameList:"Attribute" type:"list" flattened:"true"` + + // Name is a required field + Name *string `locationName:"ItemName" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeletableItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletableItem) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeletableItem) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletableItem"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + 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 invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DeleteAttributesInput struct { + _ struct{} `type:"structure"` + + // A list of Attributes. Similar to columns on a spreadsheet, attributes represent + // categories of data that can be assigned to items. + Attributes []*DeletableAttribute `locationNameList:"Attribute" type:"list" flattened:"true"` + + // The name of the domain in which to perform the operation. + // + // DomainName is a required field + DomainName *string `type:"string" required:"true"` + + // The update condition which, if specified, determines whether the specified + // attributes will be deleted or not. The update condition must be satisfied + // in order for this request to be processed and the attributes to be deleted. + Expected *UpdateCondition `type:"structure"` + + // The name of the item. Similar to rows on a spreadsheet, items represent individual + // objects that contain one or more value-attribute pairs. + // + // ItemName is a required field + ItemName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAttributesInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.ItemName == nil { + invalidParams.Add(request.NewErrParamRequired("ItemName")) + } + 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 invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DeleteAttributesOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAttributesOutput) GoString() string { + return s.String() +} + +type DeleteDomainInput struct { + _ struct{} `type:"structure"` + + // The name of the domain to delete. + // + // DomainName is a required field + DomainName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDomainInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDomainInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDomainInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDomainInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DeleteDomainOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteDomainOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDomainOutput) GoString() string { + return s.String() +} + +type DomainMetadataInput struct { + _ struct{} `type:"structure"` + + // The name of the domain for which to display the metadata of. + // + // DomainName is a required field + DomainName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DomainMetadataInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DomainMetadataInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DomainMetadataInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DomainMetadataInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DomainMetadataOutput struct { + _ struct{} `type:"structure"` + + // The number of unique attribute names in the domain. + AttributeNameCount *int64 `type:"integer"` + + // The total size of all unique attribute names in the domain, in bytes. + AttributeNamesSizeBytes *int64 `type:"long"` + + // The number of all attribute name/value pairs in the domain. + AttributeValueCount *int64 `type:"integer"` + + // The total size of all attribute values in the domain, in bytes. + AttributeValuesSizeBytes *int64 `type:"long"` + + // The number of all items in the domain. + ItemCount *int64 `type:"integer"` + + // The total size of all item names in the domain, in bytes. + ItemNamesSizeBytes *int64 `type:"long"` + + // The data and time when metadata was calculated, in Epoch (UNIX) seconds. + Timestamp *int64 `type:"integer"` +} + +// String returns the string representation +func (s DomainMetadataOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DomainMetadataOutput) GoString() string { + return s.String() +} + +type GetAttributesInput struct { + _ struct{} `type:"structure"` + + // The names of the attributes. + AttributeNames []*string `locationNameList:"AttributeName" type:"list" flattened:"true"` + + // Determines whether or not strong consistency should be enforced when data + // is read from SimpleDB. If true, any data previously written to SimpleDB will + // be returned. Otherwise, results will be consistent eventually, and the client + // may not see data that was written immediately before your read. + ConsistentRead *bool `type:"boolean"` + + // The name of the domain in which to perform the operation. + // + // DomainName is a required field + DomainName *string `type:"string" required:"true"` + + // The name of the item. + // + // ItemName is a required field + ItemName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s GetAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetAttributesInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.ItemName == nil { + invalidParams.Add(request.NewErrParamRequired("ItemName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type GetAttributesOutput struct { + _ struct{} `type:"structure"` + + // The list of attributes returned by the operation. + Attributes []*Attribute `locationNameList:"Attribute" type:"list" flattened:"true"` +} + +// String returns the string representation +func (s GetAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetAttributesOutput) GoString() string { + return s.String() +} + +type Item struct { + _ struct{} `type:"structure"` + + AlternateNameEncoding *string `type:"string"` + + // A list of attributes. + // + // Attributes is a required field + Attributes []*Attribute `locationNameList:"Attribute" type:"list" flattened:"true" required:"true"` + + // The name of the item. + // + // Name is a required field + Name *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s Item) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Item) GoString() string { + return s.String() +} + +type ListDomainsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of domain names you want returned. The range is 1 to 100. + // The default setting is 100. + MaxNumberOfDomains *int64 `type:"integer"` + + // A string informing Amazon SimpleDB where to start the next list of domain + // names. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListDomainsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDomainsInput) GoString() string { + return s.String() +} + +type ListDomainsOutput struct { + _ struct{} `type:"structure"` + + // A list of domain names that match the expression. + DomainNames []*string `locationNameList:"DomainName" type:"list" flattened:"true"` + + // An opaque token indicating that there are more domains than the specified + // MaxNumberOfDomains still available. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListDomainsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDomainsOutput) GoString() string { + return s.String() +} + +type PutAttributesInput struct { + _ struct{} `type:"structure"` + + // The list of attributes. + // + // Attributes is a required field + Attributes []*ReplaceableAttribute `locationNameList:"Attribute" type:"list" flattened:"true" required:"true"` + + // The name of the domain in which to perform the operation. + // + // DomainName is a required field + DomainName *string `type:"string" required:"true"` + + // The update condition which, if specified, determines whether the specified + // attributes will be updated or not. The update condition must be satisfied + // in order for this request to be processed and the attributes to be updated. + Expected *UpdateCondition `type:"structure"` + + // The name of the item. + // + // ItemName is a required field + ItemName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s PutAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutAttributesInput"} + if s.Attributes == nil { + invalidParams.Add(request.NewErrParamRequired("Attributes")) + } + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.ItemName == nil { + invalidParams.Add(request.NewErrParamRequired("ItemName")) + } + 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 invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type PutAttributesOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutAttributesOutput) GoString() string { + return s.String() +} + +type ReplaceableAttribute struct { + _ struct{} `type:"structure"` + + // The name of the replaceable attribute. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // A flag specifying whether or not to replace the attribute/value pair or to + // add a new attribute/value pair. The default setting is false. + Replace *bool `type:"boolean"` + + // The value of the replaceable attribute. + // + // Value is a required field + Value *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ReplaceableAttribute) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReplaceableAttribute) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReplaceableAttribute) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReplaceableAttribute"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type ReplaceableItem struct { + _ struct{} `type:"structure"` + + // The list of attributes for a replaceable item. + // + // Attributes is a required field + Attributes []*ReplaceableAttribute `locationNameList:"Attribute" type:"list" flattened:"true" required:"true"` + + // The name of the replaceable item. + // + // Name is a required field + Name *string `locationName:"ItemName" type:"string" required:"true"` +} + +// String returns the string representation +func (s ReplaceableItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReplaceableItem) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReplaceableItem) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReplaceableItem"} + if s.Attributes == nil { + invalidParams.Add(request.NewErrParamRequired("Attributes")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + 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 invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type SelectInput struct { + _ struct{} `type:"structure"` + + // Determines whether or not strong consistency should be enforced when data + // is read from SimpleDB. If true, any data previously written to SimpleDB will + // be returned. Otherwise, results will be consistent eventually, and the client + // may not see data that was written immediately before your read. + ConsistentRead *bool `type:"boolean"` + + // A string informing Amazon SimpleDB where to start the next list of ItemNames. + NextToken *string `type:"string"` + + // The expression used to query the domain. + // + // SelectExpression is a required field + SelectExpression *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s SelectInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SelectInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SelectInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SelectInput"} + if s.SelectExpression == nil { + invalidParams.Add(request.NewErrParamRequired("SelectExpression")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type SelectOutput struct { + _ struct{} `type:"structure"` + + // A list of items that match the select expression. + Items []*Item `locationNameList:"Item" type:"list" flattened:"true"` + + // An opaque token indicating that more items than MaxNumberOfItems were matched, + // the response size exceeded 1 megabyte, or the execution time exceeded 5 seconds. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s SelectOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SelectOutput) GoString() string { + return s.String() +} + +// Specifies the conditions under which data should be updated. If an update +// condition is specified for a request, the data will only be updated if the +// condition is satisfied. For example, if an attribute with a specific name +// and value exists, or if a specific attribute doesn't exist. +type UpdateCondition struct { + _ struct{} `type:"structure"` + + // A value specifying whether or not the specified attribute must exist with + // the specified value in order for the update condition to be satisfied. Specify + // true if the attribute must exist for the update condition to be satisfied. + // Specify false if the attribute should not exist in order for the update condition + // to be satisfied. + Exists *bool `type:"boolean"` + + // The name of the attribute involved in the condition. + Name *string `type:"string"` + + // The value of an attribute. This value can only be specified when the Exists + // parameter is equal to true. + Value *string `type:"string"` +} + +// String returns the string representation +func (s UpdateCondition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCondition) GoString() string { + return s.String() +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/sns/api.go b/vendor/github.com/aws/aws-sdk-go/service/sns/api.go index 51f2f35cbc57..8b2592f1bf06 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sns/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sns/api.go @@ -14,7 +14,30 @@ import ( const opAddPermission = "AddPermission" -// AddPermissionRequest generates a request for the AddPermission operation. +// AddPermissionRequest generates a "aws/request.Request" representing the +// client's request for the AddPermission operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AddPermission for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AddPermission method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AddPermissionRequest method. +// req, resp := client.AddPermissionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SNS) AddPermissionRequest(input *AddPermissionInput) (req *request.Request, output *AddPermissionOutput) { op := &request.Operation{ Name: opAddPermission, @@ -34,17 +57,142 @@ func (c *SNS) AddPermissionRequest(input *AddPermissionInput) (req *request.Requ return } +// AddPermission API operation for Amazon Simple Notification Service. +// // Adds a statement to a topic's access control policy, granting access for // the specified AWS accounts to the specified actions. +// +// 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 Simple Notification Service's +// API operation AddPermission for usage and error information. +// +// Returned Error Codes: +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +// * InternalError +// Indicates an internal service error. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// +// * NotFound +// Indicates that the requested resource does not exist. +// func (c *SNS) AddPermission(input *AddPermissionInput) (*AddPermissionOutput, error) { req, out := c.AddPermissionRequest(input) err := req.Send() return out, err } +const opCheckIfPhoneNumberIsOptedOut = "CheckIfPhoneNumberIsOptedOut" + +// CheckIfPhoneNumberIsOptedOutRequest generates a "aws/request.Request" representing the +// client's request for the CheckIfPhoneNumberIsOptedOut operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CheckIfPhoneNumberIsOptedOut for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CheckIfPhoneNumberIsOptedOut method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CheckIfPhoneNumberIsOptedOutRequest method. +// req, resp := client.CheckIfPhoneNumberIsOptedOutRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SNS) CheckIfPhoneNumberIsOptedOutRequest(input *CheckIfPhoneNumberIsOptedOutInput) (req *request.Request, output *CheckIfPhoneNumberIsOptedOutOutput) { + op := &request.Operation{ + Name: opCheckIfPhoneNumberIsOptedOut, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CheckIfPhoneNumberIsOptedOutInput{} + } + + req = c.newRequest(op, input, output) + output = &CheckIfPhoneNumberIsOptedOutOutput{} + req.Data = output + return +} + +// CheckIfPhoneNumberIsOptedOut API operation for Amazon Simple Notification Service. +// +// Accepts a phone number and indicates whether the phone holder has opted out +// of receiving SMS messages from your account. You cannot send SMS messages +// to a number that is opted out. +// +// To resume sending messages, you can opt in the number by using the OptInPhoneNumber +// action. +// +// 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 Simple Notification Service's +// API operation CheckIfPhoneNumberIsOptedOut for usage and error information. +// +// Returned Error Codes: +// * Throttled +// Indicates that the rate at which requests have been submitted for this action +// exceeds the limit for your account. +// +// * InternalError +// Indicates an internal service error. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +func (c *SNS) CheckIfPhoneNumberIsOptedOut(input *CheckIfPhoneNumberIsOptedOutInput) (*CheckIfPhoneNumberIsOptedOutOutput, error) { + req, out := c.CheckIfPhoneNumberIsOptedOutRequest(input) + err := req.Send() + return out, err +} + const opConfirmSubscription = "ConfirmSubscription" -// ConfirmSubscriptionRequest generates a request for the ConfirmSubscription operation. +// ConfirmSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the ConfirmSubscription operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ConfirmSubscription for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ConfirmSubscription method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ConfirmSubscriptionRequest method. +// req, resp := client.ConfirmSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SNS) ConfirmSubscriptionRequest(input *ConfirmSubscriptionInput) (req *request.Request, output *ConfirmSubscriptionOutput) { op := &request.Operation{ Name: opConfirmSubscription, @@ -62,11 +210,37 @@ func (c *SNS) ConfirmSubscriptionRequest(input *ConfirmSubscriptionInput) (req * return } +// ConfirmSubscription API operation for Amazon Simple Notification Service. +// // Verifies an endpoint owner's intent to receive messages by validating the // token sent to the endpoint by an earlier Subscribe action. If the token is // valid, the action creates a new subscription and returns its Amazon Resource // Name (ARN). This call requires an AWS signature only when the AuthenticateOnUnsubscribe // flag is set to "true". +// +// 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 Simple Notification Service's +// API operation ConfirmSubscription for usage and error information. +// +// Returned Error Codes: +// * SubscriptionLimitExceeded +// Indicates that the customer already owns the maximum allowed number of subscriptions. +// +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +// * NotFound +// Indicates that the requested resource does not exist. +// +// * InternalError +// Indicates an internal service error. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// func (c *SNS) ConfirmSubscription(input *ConfirmSubscriptionInput) (*ConfirmSubscriptionOutput, error) { req, out := c.ConfirmSubscriptionRequest(input) err := req.Send() @@ -75,7 +249,30 @@ func (c *SNS) ConfirmSubscription(input *ConfirmSubscriptionInput) (*ConfirmSubs const opCreatePlatformApplication = "CreatePlatformApplication" -// CreatePlatformApplicationRequest generates a request for the CreatePlatformApplication operation. +// CreatePlatformApplicationRequest generates a "aws/request.Request" representing the +// client's request for the CreatePlatformApplication operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreatePlatformApplication for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreatePlatformApplication method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreatePlatformApplicationRequest method. +// req, resp := client.CreatePlatformApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SNS) CreatePlatformApplicationRequest(input *CreatePlatformApplicationInput) (req *request.Request, output *CreatePlatformApplicationOutput) { op := &request.Operation{ Name: opCreatePlatformApplication, @@ -93,6 +290,8 @@ func (c *SNS) CreatePlatformApplicationRequest(input *CreatePlatformApplicationI return } +// CreatePlatformApplication API operation for Amazon Simple Notification Service. +// // Creates a platform application object for one of the supported push notification // services, such as APNS and GCM, to which devices and mobile apps may register. // You must specify PlatformPrincipal and PlatformCredential attributes when @@ -100,12 +299,43 @@ func (c *SNS) CreatePlatformApplicationRequest(input *CreatePlatformApplicationI // from the notification service. For APNS/APNS_SANDBOX, PlatformPrincipal is // "SSL certificate". For GCM, PlatformPrincipal is not applicable. For ADM, // PlatformPrincipal is "client id". The PlatformCredential is also received -// from the notification service. For APNS/APNS_SANDBOX, PlatformCredential -// is "private key". For GCM, PlatformCredential is "API key". For ADM, PlatformCredential -// is "client secret". The PlatformApplicationArn that is returned when using -// CreatePlatformApplication is then used as an attribute for the CreatePlatformEndpoint -// action. For more information, see Using Amazon SNS Mobile Push Notifications -// (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// from the notification service. For WNS, PlatformPrincipal is "Package Security +// Identifier". For MPNS, PlatformPrincipal is "TLS certificate". For Baidu, +// PlatformPrincipal is "API key". +// +// For APNS/APNS_SANDBOX, PlatformCredential is "private key". For GCM, PlatformCredential +// is "API key". For ADM, PlatformCredential is "client secret". For WNS, PlatformCredential +// is "secret key". For MPNS, PlatformCredential is "private key". For Baidu, +// PlatformCredential is "secret key". The PlatformApplicationArn that is returned +// when using CreatePlatformApplication is then used as an attribute for the +// CreatePlatformEndpoint action. For more information, see Using Amazon SNS +// Mobile Push Notifications (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// For more information about obtaining the PlatformPrincipal and PlatformCredential +// for each of the supported push notification services, see Getting Started +// with Apple Push Notification Service (http://docs.aws.amazon.com/sns/latest/dg/mobile-push-apns.html), +// Getting Started with Amazon Device Messaging (http://docs.aws.amazon.com/sns/latest/dg/mobile-push-adm.html), +// Getting Started with Baidu Cloud Push (http://docs.aws.amazon.com/sns/latest/dg/mobile-push-baidu.html), +// Getting Started with Google Cloud Messaging for Android (http://docs.aws.amazon.com/sns/latest/dg/mobile-push-gcm.html), +// Getting Started with MPNS (http://docs.aws.amazon.com/sns/latest/dg/mobile-push-mpns.html), +// or Getting Started with WNS (http://docs.aws.amazon.com/sns/latest/dg/mobile-push-wns.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. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation CreatePlatformApplication for usage and error information. +// +// Returned Error Codes: +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +// * InternalError +// Indicates an internal service error. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// func (c *SNS) CreatePlatformApplication(input *CreatePlatformApplicationInput) (*CreatePlatformApplicationOutput, error) { req, out := c.CreatePlatformApplicationRequest(input) err := req.Send() @@ -114,7 +344,30 @@ func (c *SNS) CreatePlatformApplication(input *CreatePlatformApplicationInput) ( const opCreatePlatformEndpoint = "CreatePlatformEndpoint" -// CreatePlatformEndpointRequest generates a request for the CreatePlatformEndpoint operation. +// CreatePlatformEndpointRequest generates a "aws/request.Request" representing the +// client's request for the CreatePlatformEndpoint operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreatePlatformEndpoint for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreatePlatformEndpoint method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreatePlatformEndpointRequest method. +// req, resp := client.CreatePlatformEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SNS) CreatePlatformEndpointRequest(input *CreatePlatformEndpointInput) (req *request.Request, output *CreatePlatformEndpointOutput) { op := &request.Operation{ Name: opCreatePlatformEndpoint, @@ -132,6 +385,8 @@ func (c *SNS) CreatePlatformEndpointRequest(input *CreatePlatformEndpointInput) return } +// CreatePlatformEndpoint API operation for Amazon Simple Notification Service. +// // Creates an endpoint for a device and mobile app on one of the supported push // notification services, such as GCM and APNS. CreatePlatformEndpoint requires // the PlatformApplicationArn that is returned from CreatePlatformApplication. @@ -146,6 +401,27 @@ func (c *SNS) CreatePlatformEndpointRequest(input *CreatePlatformEndpointInput) // When using CreatePlatformEndpoint with Baidu, two attributes must be provided: // ChannelId and UserId. The token field must also contain the ChannelId. For // more information, see Creating an Amazon SNS Endpoint for Baidu (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePushBaiduEndpoint.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. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation CreatePlatformEndpoint for usage and error information. +// +// Returned Error Codes: +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +// * InternalError +// Indicates an internal service error. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// +// * NotFound +// Indicates that the requested resource does not exist. +// func (c *SNS) CreatePlatformEndpoint(input *CreatePlatformEndpointInput) (*CreatePlatformEndpointOutput, error) { req, out := c.CreatePlatformEndpointRequest(input) err := req.Send() @@ -154,7 +430,30 @@ func (c *SNS) CreatePlatformEndpoint(input *CreatePlatformEndpointInput) (*Creat const opCreateTopic = "CreateTopic" -// CreateTopicRequest generates a request for the CreateTopic operation. +// CreateTopicRequest generates a "aws/request.Request" representing the +// client's request for the CreateTopic operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateTopic for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateTopic method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateTopicRequest method. +// req, resp := client.CreateTopicRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SNS) CreateTopicRequest(input *CreateTopicInput) (req *request.Request, output *CreateTopicOutput) { op := &request.Operation{ Name: opCreateTopic, @@ -172,11 +471,34 @@ func (c *SNS) CreateTopicRequest(input *CreateTopicInput) (req *request.Request, return } +// CreateTopic API operation for Amazon Simple Notification Service. +// // Creates a topic to which notifications can be published. Users can create -// at most 3000 topics. For more information, see http://aws.amazon.com/sns +// at most 100,000 topics. For more information, see http://aws.amazon.com/sns // (http://aws.amazon.com/sns/). This action is idempotent, so if the requester // already owns a topic with the specified name, that topic's ARN is returned // without creating a new topic. +// +// 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 Simple Notification Service's +// API operation CreateTopic for usage and error information. +// +// Returned Error Codes: +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +// * TopicLimitExceeded +// Indicates that the customer already owns the maximum allowed number of topics. +// +// * InternalError +// Indicates an internal service error. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// func (c *SNS) CreateTopic(input *CreateTopicInput) (*CreateTopicOutput, error) { req, out := c.CreateTopicRequest(input) err := req.Send() @@ -185,7 +507,30 @@ func (c *SNS) CreateTopic(input *CreateTopicInput) (*CreateTopicOutput, error) { const opDeleteEndpoint = "DeleteEndpoint" -// DeleteEndpointRequest generates a request for the DeleteEndpoint operation. +// DeleteEndpointRequest generates a "aws/request.Request" representing the +// client's request for the DeleteEndpoint operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteEndpoint for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteEndpoint method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteEndpointRequest method. +// req, resp := client.DeleteEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SNS) DeleteEndpointRequest(input *DeleteEndpointInput) (req *request.Request, output *DeleteEndpointOutput) { op := &request.Operation{ Name: opDeleteEndpoint, @@ -205,8 +550,32 @@ func (c *SNS) DeleteEndpointRequest(input *DeleteEndpointInput) (req *request.Re return } -// Deletes the endpoint from Amazon SNS. This action is idempotent. For more -// information, see Using Amazon SNS Mobile Push Notifications (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// DeleteEndpoint API operation for Amazon Simple Notification Service. +// +// Deletes the endpoint for a device and mobile app from Amazon SNS. This action +// is idempotent. For more information, see Using Amazon SNS Mobile Push Notifications +// (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// +// When you delete an endpoint that is also subscribed to a topic, then you +// must also unsubscribe the endpoint from the topic. +// +// 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 Simple Notification Service's +// API operation DeleteEndpoint for usage and error information. +// +// Returned Error Codes: +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +// * InternalError +// Indicates an internal service error. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// func (c *SNS) DeleteEndpoint(input *DeleteEndpointInput) (*DeleteEndpointOutput, error) { req, out := c.DeleteEndpointRequest(input) err := req.Send() @@ -215,7 +584,30 @@ func (c *SNS) DeleteEndpoint(input *DeleteEndpointInput) (*DeleteEndpointOutput, const opDeletePlatformApplication = "DeletePlatformApplication" -// DeletePlatformApplicationRequest generates a request for the DeletePlatformApplication operation. +// DeletePlatformApplicationRequest generates a "aws/request.Request" representing the +// client's request for the DeletePlatformApplication operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeletePlatformApplication for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeletePlatformApplication method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeletePlatformApplicationRequest method. +// req, resp := client.DeletePlatformApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SNS) DeletePlatformApplicationRequest(input *DeletePlatformApplicationInput) (req *request.Request, output *DeletePlatformApplicationOutput) { op := &request.Operation{ Name: opDeletePlatformApplication, @@ -235,9 +627,29 @@ func (c *SNS) DeletePlatformApplicationRequest(input *DeletePlatformApplicationI return } +// DeletePlatformApplication API operation for Amazon Simple Notification Service. +// // Deletes a platform application object for one of the supported push notification // services, such as APNS and GCM. For more information, see Using Amazon SNS // Mobile Push Notifications (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.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. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation DeletePlatformApplication for usage and error information. +// +// Returned Error Codes: +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +// * InternalError +// Indicates an internal service error. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// func (c *SNS) DeletePlatformApplication(input *DeletePlatformApplicationInput) (*DeletePlatformApplicationOutput, error) { req, out := c.DeletePlatformApplicationRequest(input) err := req.Send() @@ -246,7 +658,30 @@ func (c *SNS) DeletePlatformApplication(input *DeletePlatformApplicationInput) ( const opDeleteTopic = "DeleteTopic" -// DeleteTopicRequest generates a request for the DeleteTopic operation. +// DeleteTopicRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTopic operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteTopic for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteTopic method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteTopicRequest method. +// req, resp := client.DeleteTopicRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SNS) DeleteTopicRequest(input *DeleteTopicInput) (req *request.Request, output *DeleteTopicOutput) { op := &request.Operation{ Name: opDeleteTopic, @@ -266,10 +701,33 @@ func (c *SNS) DeleteTopicRequest(input *DeleteTopicInput) (req *request.Request, return } +// DeleteTopic API operation for Amazon Simple Notification Service. +// // Deletes a topic and all its subscriptions. Deleting a topic might prevent // some messages previously sent to the topic from being delivered to subscribers. // This action is idempotent, so deleting a topic that does not exist does not // result in an error. +// +// 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 Simple Notification Service's +// API operation DeleteTopic for usage and error information. +// +// Returned Error Codes: +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +// * InternalError +// Indicates an internal service error. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// +// * NotFound +// Indicates that the requested resource does not exist. +// func (c *SNS) DeleteTopic(input *DeleteTopicInput) (*DeleteTopicOutput, error) { req, out := c.DeleteTopicRequest(input) err := req.Send() @@ -278,7 +736,30 @@ func (c *SNS) DeleteTopic(input *DeleteTopicInput) (*DeleteTopicOutput, error) { const opGetEndpointAttributes = "GetEndpointAttributes" -// GetEndpointAttributesRequest generates a request for the GetEndpointAttributes operation. +// GetEndpointAttributesRequest generates a "aws/request.Request" representing the +// client's request for the GetEndpointAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetEndpointAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetEndpointAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetEndpointAttributesRequest method. +// req, resp := client.GetEndpointAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SNS) GetEndpointAttributesRequest(input *GetEndpointAttributesInput) (req *request.Request, output *GetEndpointAttributesOutput) { op := &request.Operation{ Name: opGetEndpointAttributes, @@ -296,9 +777,32 @@ func (c *SNS) GetEndpointAttributesRequest(input *GetEndpointAttributesInput) (r return } +// GetEndpointAttributes API operation for Amazon Simple Notification Service. +// // Retrieves the endpoint attributes for a device on one of the supported push // notification services, such as GCM and APNS. For more information, see Using // Amazon SNS Mobile Push Notifications (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.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. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation GetEndpointAttributes for usage and error information. +// +// Returned Error Codes: +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +// * InternalError +// Indicates an internal service error. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// +// * NotFound +// Indicates that the requested resource does not exist. +// func (c *SNS) GetEndpointAttributes(input *GetEndpointAttributesInput) (*GetEndpointAttributesOutput, error) { req, out := c.GetEndpointAttributesRequest(input) err := req.Send() @@ -307,7 +811,30 @@ func (c *SNS) GetEndpointAttributes(input *GetEndpointAttributesInput) (*GetEndp const opGetPlatformApplicationAttributes = "GetPlatformApplicationAttributes" -// GetPlatformApplicationAttributesRequest generates a request for the GetPlatformApplicationAttributes operation. +// GetPlatformApplicationAttributesRequest generates a "aws/request.Request" representing the +// client's request for the GetPlatformApplicationAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetPlatformApplicationAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetPlatformApplicationAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetPlatformApplicationAttributesRequest method. +// req, resp := client.GetPlatformApplicationAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SNS) GetPlatformApplicationAttributesRequest(input *GetPlatformApplicationAttributesInput) (req *request.Request, output *GetPlatformApplicationAttributesOutput) { op := &request.Operation{ Name: opGetPlatformApplicationAttributes, @@ -325,18 +852,140 @@ func (c *SNS) GetPlatformApplicationAttributesRequest(input *GetPlatformApplicat return } +// GetPlatformApplicationAttributes API operation for Amazon Simple Notification Service. +// // Retrieves the attributes of the platform application object for the supported // push notification services, such as APNS and GCM. For more information, see // Using Amazon SNS Mobile Push Notifications (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.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. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation GetPlatformApplicationAttributes for usage and error information. +// +// Returned Error Codes: +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +// * InternalError +// Indicates an internal service error. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// +// * NotFound +// Indicates that the requested resource does not exist. +// func (c *SNS) GetPlatformApplicationAttributes(input *GetPlatformApplicationAttributesInput) (*GetPlatformApplicationAttributesOutput, error) { req, out := c.GetPlatformApplicationAttributesRequest(input) err := req.Send() return out, err } +const opGetSMSAttributes = "GetSMSAttributes" + +// GetSMSAttributesRequest generates a "aws/request.Request" representing the +// client's request for the GetSMSAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetSMSAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetSMSAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetSMSAttributesRequest method. +// req, resp := client.GetSMSAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SNS) GetSMSAttributesRequest(input *GetSMSAttributesInput) (req *request.Request, output *GetSMSAttributesOutput) { + op := &request.Operation{ + Name: opGetSMSAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetSMSAttributesInput{} + } + + req = c.newRequest(op, input, output) + output = &GetSMSAttributesOutput{} + req.Data = output + return +} + +// GetSMSAttributes API operation for Amazon Simple Notification Service. +// +// Returns the settings for sending SMS messages from your account. +// +// These settings are set with the SetSMSAttributes action. +// +// 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 Simple Notification Service's +// API operation GetSMSAttributes for usage and error information. +// +// Returned Error Codes: +// * Throttled +// Indicates that the rate at which requests have been submitted for this action +// exceeds the limit for your account. +// +// * InternalError +// Indicates an internal service error. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +func (c *SNS) GetSMSAttributes(input *GetSMSAttributesInput) (*GetSMSAttributesOutput, error) { + req, out := c.GetSMSAttributesRequest(input) + err := req.Send() + return out, err +} + const opGetSubscriptionAttributes = "GetSubscriptionAttributes" -// GetSubscriptionAttributesRequest generates a request for the GetSubscriptionAttributes operation. +// GetSubscriptionAttributesRequest generates a "aws/request.Request" representing the +// client's request for the GetSubscriptionAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetSubscriptionAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetSubscriptionAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetSubscriptionAttributesRequest method. +// req, resp := client.GetSubscriptionAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SNS) GetSubscriptionAttributesRequest(input *GetSubscriptionAttributesInput) (req *request.Request, output *GetSubscriptionAttributesOutput) { op := &request.Operation{ Name: opGetSubscriptionAttributes, @@ -354,7 +1003,30 @@ func (c *SNS) GetSubscriptionAttributesRequest(input *GetSubscriptionAttributesI return } +// GetSubscriptionAttributes API operation for Amazon Simple Notification Service. +// // Returns all of the properties of a subscription. +// +// 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 Simple Notification Service's +// API operation GetSubscriptionAttributes for usage and error information. +// +// Returned Error Codes: +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +// * InternalError +// Indicates an internal service error. +// +// * NotFound +// Indicates that the requested resource does not exist. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// func (c *SNS) GetSubscriptionAttributes(input *GetSubscriptionAttributesInput) (*GetSubscriptionAttributesOutput, error) { req, out := c.GetSubscriptionAttributesRequest(input) err := req.Send() @@ -363,7 +1035,30 @@ func (c *SNS) GetSubscriptionAttributes(input *GetSubscriptionAttributesInput) ( const opGetTopicAttributes = "GetTopicAttributes" -// GetTopicAttributesRequest generates a request for the GetTopicAttributes operation. +// GetTopicAttributesRequest generates a "aws/request.Request" representing the +// client's request for the GetTopicAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetTopicAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetTopicAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetTopicAttributesRequest method. +// req, resp := client.GetTopicAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SNS) GetTopicAttributesRequest(input *GetTopicAttributesInput) (req *request.Request, output *GetTopicAttributesOutput) { op := &request.Operation{ Name: opGetTopicAttributes, @@ -381,8 +1076,31 @@ func (c *SNS) GetTopicAttributesRequest(input *GetTopicAttributesInput) (req *re return } +// GetTopicAttributes API operation for Amazon Simple Notification Service. +// // Returns all of the properties of a topic. Topic properties returned might // differ based on the authorization of the user. +// +// 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 Simple Notification Service's +// API operation GetTopicAttributes for usage and error information. +// +// Returned Error Codes: +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +// * InternalError +// Indicates an internal service error. +// +// * NotFound +// Indicates that the requested resource does not exist. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// func (c *SNS) GetTopicAttributes(input *GetTopicAttributesInput) (*GetTopicAttributesOutput, error) { req, out := c.GetTopicAttributesRequest(input) err := req.Send() @@ -391,7 +1109,30 @@ func (c *SNS) GetTopicAttributes(input *GetTopicAttributesInput) (*GetTopicAttri const opListEndpointsByPlatformApplication = "ListEndpointsByPlatformApplication" -// ListEndpointsByPlatformApplicationRequest generates a request for the ListEndpointsByPlatformApplication operation. +// ListEndpointsByPlatformApplicationRequest generates a "aws/request.Request" representing the +// client's request for the ListEndpointsByPlatformApplication operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListEndpointsByPlatformApplication for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListEndpointsByPlatformApplication method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListEndpointsByPlatformApplicationRequest method. +// req, resp := client.ListEndpointsByPlatformApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SNS) ListEndpointsByPlatformApplicationRequest(input *ListEndpointsByPlatformApplicationInput) (req *request.Request, output *ListEndpointsByPlatformApplicationOutput) { op := &request.Operation{ Name: opListEndpointsByPlatformApplication, @@ -415,6 +1156,8 @@ func (c *SNS) ListEndpointsByPlatformApplicationRequest(input *ListEndpointsByPl return } +// ListEndpointsByPlatformApplication API operation for Amazon Simple Notification Service. +// // Lists the endpoints and endpoint attributes for devices in a supported push // notification service, such as GCM and APNS. The results for ListEndpointsByPlatformApplication // are paginated and return a limited list of endpoints, up to 100. If additional @@ -423,12 +1166,50 @@ func (c *SNS) ListEndpointsByPlatformApplicationRequest(input *ListEndpointsByPl // again using the NextToken string received from the previous call. When there // are no more records to return, NextToken will be null. For more information, // see Using Amazon SNS Mobile Push Notifications (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.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. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation ListEndpointsByPlatformApplication for usage and error information. +// +// Returned Error Codes: +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +// * InternalError +// Indicates an internal service error. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// +// * NotFound +// Indicates that the requested resource does not exist. +// func (c *SNS) ListEndpointsByPlatformApplication(input *ListEndpointsByPlatformApplicationInput) (*ListEndpointsByPlatformApplicationOutput, error) { req, out := c.ListEndpointsByPlatformApplicationRequest(input) err := req.Send() return out, err } +// ListEndpointsByPlatformApplicationPages iterates over the pages of a ListEndpointsByPlatformApplication operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListEndpointsByPlatformApplication 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 ListEndpointsByPlatformApplication operation. +// pageNum := 0 +// err := client.ListEndpointsByPlatformApplicationPages(params, +// func(page *ListEndpointsByPlatformApplicationOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *SNS) ListEndpointsByPlatformApplicationPages(input *ListEndpointsByPlatformApplicationInput, fn func(p *ListEndpointsByPlatformApplicationOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListEndpointsByPlatformApplicationRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -437,9 +1218,114 @@ func (c *SNS) ListEndpointsByPlatformApplicationPages(input *ListEndpointsByPlat }) } -const opListPlatformApplications = "ListPlatformApplications" +const opListPhoneNumbersOptedOut = "ListPhoneNumbersOptedOut" -// ListPlatformApplicationsRequest generates a request for the ListPlatformApplications operation. +// ListPhoneNumbersOptedOutRequest generates a "aws/request.Request" representing the +// client's request for the ListPhoneNumbersOptedOut operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListPhoneNumbersOptedOut for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListPhoneNumbersOptedOut method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListPhoneNumbersOptedOutRequest method. +// req, resp := client.ListPhoneNumbersOptedOutRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SNS) ListPhoneNumbersOptedOutRequest(input *ListPhoneNumbersOptedOutInput) (req *request.Request, output *ListPhoneNumbersOptedOutOutput) { + op := &request.Operation{ + Name: opListPhoneNumbersOptedOut, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListPhoneNumbersOptedOutInput{} + } + + req = c.newRequest(op, input, output) + output = &ListPhoneNumbersOptedOutOutput{} + req.Data = output + return +} + +// ListPhoneNumbersOptedOut API operation for Amazon Simple Notification Service. +// +// Returns a list of phone numbers that are opted out, meaning you cannot send +// SMS messages to them. +// +// The results for ListPhoneNumbersOptedOut are paginated, and each page returns +// up to 100 phone numbers. If additional phone numbers are available after +// the first page of results, then a NextToken string will be returned. To receive +// the next page, you call ListPhoneNumbersOptedOut again using the NextToken +// string received from the previous call. When there are no more records to +// return, NextToken will be null. +// +// 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 Simple Notification Service's +// API operation ListPhoneNumbersOptedOut for usage and error information. +// +// Returned Error Codes: +// * Throttled +// Indicates that the rate at which requests have been submitted for this action +// exceeds the limit for your account. +// +// * InternalError +// Indicates an internal service error. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +func (c *SNS) ListPhoneNumbersOptedOut(input *ListPhoneNumbersOptedOutInput) (*ListPhoneNumbersOptedOutOutput, error) { + req, out := c.ListPhoneNumbersOptedOutRequest(input) + err := req.Send() + return out, err +} + +const opListPlatformApplications = "ListPlatformApplications" + +// ListPlatformApplicationsRequest generates a "aws/request.Request" representing the +// client's request for the ListPlatformApplications operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListPlatformApplications for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListPlatformApplications method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListPlatformApplicationsRequest method. +// req, resp := client.ListPlatformApplicationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SNS) ListPlatformApplicationsRequest(input *ListPlatformApplicationsInput) (req *request.Request, output *ListPlatformApplicationsOutput) { op := &request.Operation{ Name: opListPlatformApplications, @@ -463,6 +1349,8 @@ func (c *SNS) ListPlatformApplicationsRequest(input *ListPlatformApplicationsInp return } +// ListPlatformApplications API operation for Amazon Simple Notification Service. +// // Lists the platform application objects for the supported push notification // services, such as APNS and GCM. The results for ListPlatformApplications // are paginated and return a limited list of applications, up to 100. If additional @@ -471,12 +1359,47 @@ func (c *SNS) ListPlatformApplicationsRequest(input *ListPlatformApplicationsInp // using the NextToken string received from the previous call. When there are // no more records to return, NextToken will be null. For more information, // see Using Amazon SNS Mobile Push Notifications (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.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. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation ListPlatformApplications for usage and error information. +// +// Returned Error Codes: +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +// * InternalError +// Indicates an internal service error. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// func (c *SNS) ListPlatformApplications(input *ListPlatformApplicationsInput) (*ListPlatformApplicationsOutput, error) { req, out := c.ListPlatformApplicationsRequest(input) err := req.Send() return out, err } +// ListPlatformApplicationsPages iterates over the pages of a ListPlatformApplications operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPlatformApplications 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 ListPlatformApplications operation. +// pageNum := 0 +// err := client.ListPlatformApplicationsPages(params, +// func(page *ListPlatformApplicationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *SNS) ListPlatformApplicationsPages(input *ListPlatformApplicationsInput, fn func(p *ListPlatformApplicationsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListPlatformApplicationsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -487,7 +1410,30 @@ func (c *SNS) ListPlatformApplicationsPages(input *ListPlatformApplicationsInput const opListSubscriptions = "ListSubscriptions" -// ListSubscriptionsRequest generates a request for the ListSubscriptions operation. +// ListSubscriptionsRequest generates a "aws/request.Request" representing the +// client's request for the ListSubscriptions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListSubscriptions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListSubscriptions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListSubscriptionsRequest method. +// req, resp := client.ListSubscriptionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SNS) ListSubscriptionsRequest(input *ListSubscriptionsInput) (req *request.Request, output *ListSubscriptionsOutput) { op := &request.Operation{ Name: opListSubscriptions, @@ -511,16 +1457,53 @@ func (c *SNS) ListSubscriptionsRequest(input *ListSubscriptionsInput) (req *requ return } +// ListSubscriptions API operation for Amazon Simple Notification Service. +// // Returns a list of the requester's subscriptions. Each call returns a limited // list of subscriptions, up to 100. If there are more subscriptions, a NextToken // is also returned. Use the NextToken parameter in a new ListSubscriptions // call to get further results. +// +// 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 Simple Notification Service's +// API operation ListSubscriptions for usage and error information. +// +// Returned Error Codes: +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +// * InternalError +// Indicates an internal service error. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// func (c *SNS) ListSubscriptions(input *ListSubscriptionsInput) (*ListSubscriptionsOutput, error) { req, out := c.ListSubscriptionsRequest(input) err := req.Send() return out, err } +// ListSubscriptionsPages iterates over the pages of a ListSubscriptions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSubscriptions 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 ListSubscriptions operation. +// pageNum := 0 +// err := client.ListSubscriptionsPages(params, +// func(page *ListSubscriptionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *SNS) ListSubscriptionsPages(input *ListSubscriptionsInput, fn func(p *ListSubscriptionsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListSubscriptionsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -531,7 +1514,30 @@ func (c *SNS) ListSubscriptionsPages(input *ListSubscriptionsInput, fn func(p *L const opListSubscriptionsByTopic = "ListSubscriptionsByTopic" -// ListSubscriptionsByTopicRequest generates a request for the ListSubscriptionsByTopic operation. +// ListSubscriptionsByTopicRequest generates a "aws/request.Request" representing the +// client's request for the ListSubscriptionsByTopic operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListSubscriptionsByTopic for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListSubscriptionsByTopic method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListSubscriptionsByTopicRequest method. +// req, resp := client.ListSubscriptionsByTopicRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SNS) ListSubscriptionsByTopicRequest(input *ListSubscriptionsByTopicInput) (req *request.Request, output *ListSubscriptionsByTopicOutput) { op := &request.Operation{ Name: opListSubscriptionsByTopic, @@ -555,16 +1561,56 @@ func (c *SNS) ListSubscriptionsByTopicRequest(input *ListSubscriptionsByTopicInp return } +// ListSubscriptionsByTopic API operation for Amazon Simple Notification Service. +// // Returns a list of the subscriptions to a specific topic. Each call returns // a limited list of subscriptions, up to 100. If there are more subscriptions, // a NextToken is also returned. Use the NextToken parameter in a new ListSubscriptionsByTopic // call to get further results. +// +// 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 Simple Notification Service's +// API operation ListSubscriptionsByTopic for usage and error information. +// +// Returned Error Codes: +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +// * InternalError +// Indicates an internal service error. +// +// * NotFound +// Indicates that the requested resource does not exist. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// func (c *SNS) ListSubscriptionsByTopic(input *ListSubscriptionsByTopicInput) (*ListSubscriptionsByTopicOutput, error) { req, out := c.ListSubscriptionsByTopicRequest(input) err := req.Send() return out, err } +// ListSubscriptionsByTopicPages iterates over the pages of a ListSubscriptionsByTopic operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSubscriptionsByTopic 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 ListSubscriptionsByTopic operation. +// pageNum := 0 +// err := client.ListSubscriptionsByTopicPages(params, +// func(page *ListSubscriptionsByTopicOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *SNS) ListSubscriptionsByTopicPages(input *ListSubscriptionsByTopicInput, fn func(p *ListSubscriptionsByTopicOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListSubscriptionsByTopicRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -575,7 +1621,30 @@ func (c *SNS) ListSubscriptionsByTopicPages(input *ListSubscriptionsByTopicInput const opListTopics = "ListTopics" -// ListTopicsRequest generates a request for the ListTopics operation. +// ListTopicsRequest generates a "aws/request.Request" representing the +// client's request for the ListTopics operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListTopics for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListTopics method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListTopicsRequest method. +// req, resp := client.ListTopicsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SNS) ListTopicsRequest(input *ListTopicsInput) (req *request.Request, output *ListTopicsOutput) { op := &request.Operation{ Name: opListTopics, @@ -599,15 +1668,52 @@ func (c *SNS) ListTopicsRequest(input *ListTopicsInput) (req *request.Request, o return } +// ListTopics API operation for Amazon Simple Notification Service. +// // Returns a list of the requester's topics. Each call returns a limited list // of topics, up to 100. If there are more topics, a NextToken is also returned. // Use the NextToken parameter in a new ListTopics call to get further results. +// +// 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 Simple Notification Service's +// API operation ListTopics for usage and error information. +// +// Returned Error Codes: +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +// * InternalError +// Indicates an internal service error. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// func (c *SNS) ListTopics(input *ListTopicsInput) (*ListTopicsOutput, error) { req, out := c.ListTopicsRequest(input) err := req.Send() return out, err } +// ListTopicsPages iterates over the pages of a ListTopics operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTopics 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 ListTopics operation. +// pageNum := 0 +// err := client.ListTopicsPages(params, +// func(page *ListTopicsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// func (c *SNS) ListTopicsPages(input *ListTopicsInput, fn func(p *ListTopicsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListTopicsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) @@ -616,9 +1722,109 @@ func (c *SNS) ListTopicsPages(input *ListTopicsInput, fn func(p *ListTopicsOutpu }) } +const opOptInPhoneNumber = "OptInPhoneNumber" + +// OptInPhoneNumberRequest generates a "aws/request.Request" representing the +// client's request for the OptInPhoneNumber operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See OptInPhoneNumber for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the OptInPhoneNumber method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the OptInPhoneNumberRequest method. +// req, resp := client.OptInPhoneNumberRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SNS) OptInPhoneNumberRequest(input *OptInPhoneNumberInput) (req *request.Request, output *OptInPhoneNumberOutput) { + op := &request.Operation{ + Name: opOptInPhoneNumber, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &OptInPhoneNumberInput{} + } + + req = c.newRequest(op, input, output) + output = &OptInPhoneNumberOutput{} + req.Data = output + return +} + +// OptInPhoneNumber API operation for Amazon Simple Notification Service. +// +// Use this request to opt in a phone number that is opted out, which enables +// you to resume sending SMS messages to the number. +// +// You can opt in a phone number only once every 30 days. +// +// 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 Simple Notification Service's +// API operation OptInPhoneNumber for usage and error information. +// +// Returned Error Codes: +// * Throttled +// Indicates that the rate at which requests have been submitted for this action +// exceeds the limit for your account. +// +// * InternalError +// Indicates an internal service error. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +func (c *SNS) OptInPhoneNumber(input *OptInPhoneNumberInput) (*OptInPhoneNumberOutput, error) { + req, out := c.OptInPhoneNumberRequest(input) + err := req.Send() + return out, err +} + const opPublish = "Publish" -// PublishRequest generates a request for the Publish operation. +// PublishRequest generates a "aws/request.Request" representing the +// client's request for the Publish operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See Publish for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the Publish method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PublishRequest method. +// req, resp := client.PublishRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SNS) PublishRequest(input *PublishInput) (req *request.Request, output *PublishOutput) { op := &request.Operation{ Name: opPublish, @@ -636,16 +1842,50 @@ func (c *SNS) PublishRequest(input *PublishInput) (req *request.Request, output return } +// Publish API operation for Amazon Simple Notification Service. +// // Sends a message to all of a topic's subscribed endpoints. When a messageId // is returned, the message has been saved and Amazon SNS will attempt to deliver // it to the topic's subscribers shortly. The format of the outgoing message -// to each subscribed endpoint depends on the notification protocol selected. +// to each subscribed endpoint depends on the notification protocol. // // To use the Publish action for sending a message to a mobile endpoint, such -// as an app on a Kindle device or mobile phone, you must specify the EndpointArn. -// The EndpointArn is returned when making a call with the CreatePlatformEndpoint -// action. The second example below shows a request and response for publishing -// to a mobile endpoint. +// as an app on a Kindle device or mobile phone, you must specify the EndpointArn +// for the TargetArn parameter. The EndpointArn is returned when making a call +// with the CreatePlatformEndpoint action. +// +// For more information about formatting messages, see Send Custom Platform-Specific +// Payloads in Messages to Mobile Devices (http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-custommessage.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. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation Publish for usage and error information. +// +// Returned Error Codes: +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ParameterValueInvalid +// Indicates that a request parameter does not comply with the associated constraints. +// +// * InternalError +// Indicates an internal service error. +// +// * NotFound +// Indicates that the requested resource does not exist. +// +// * EndpointDisabled +// Exception error indicating endpoint disabled. +// +// * PlatformApplicationDisabled +// Exception error indicating platform application disabled. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// func (c *SNS) Publish(input *PublishInput) (*PublishOutput, error) { req, out := c.PublishRequest(input) err := req.Send() @@ -654,7 +1894,30 @@ func (c *SNS) Publish(input *PublishInput) (*PublishOutput, error) { const opRemovePermission = "RemovePermission" -// RemovePermissionRequest generates a request for the RemovePermission operation. +// RemovePermissionRequest generates a "aws/request.Request" representing the +// client's request for the RemovePermission operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RemovePermission for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RemovePermission method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RemovePermissionRequest method. +// req, resp := client.RemovePermissionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SNS) RemovePermissionRequest(input *RemovePermissionInput) (req *request.Request, output *RemovePermissionOutput) { op := &request.Operation{ Name: opRemovePermission, @@ -674,7 +1937,30 @@ func (c *SNS) RemovePermissionRequest(input *RemovePermissionInput) (req *reques return } +// RemovePermission API operation for Amazon Simple Notification Service. +// // Removes a statement from a topic's access control policy. +// +// 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 Simple Notification Service's +// API operation RemovePermission for usage and error information. +// +// Returned Error Codes: +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +// * InternalError +// Indicates an internal service error. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// +// * NotFound +// Indicates that the requested resource does not exist. +// func (c *SNS) RemovePermission(input *RemovePermissionInput) (*RemovePermissionOutput, error) { req, out := c.RemovePermissionRequest(input) err := req.Send() @@ -683,7 +1969,30 @@ func (c *SNS) RemovePermission(input *RemovePermissionInput) (*RemovePermissionO const opSetEndpointAttributes = "SetEndpointAttributes" -// SetEndpointAttributesRequest generates a request for the SetEndpointAttributes operation. +// SetEndpointAttributesRequest generates a "aws/request.Request" representing the +// client's request for the SetEndpointAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetEndpointAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetEndpointAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetEndpointAttributesRequest method. +// req, resp := client.SetEndpointAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SNS) SetEndpointAttributesRequest(input *SetEndpointAttributesInput) (req *request.Request, output *SetEndpointAttributesOutput) { op := &request.Operation{ Name: opSetEndpointAttributes, @@ -703,9 +2012,32 @@ func (c *SNS) SetEndpointAttributesRequest(input *SetEndpointAttributesInput) (r return } +// SetEndpointAttributes API operation for Amazon Simple Notification Service. +// // Sets the attributes for an endpoint for a device on one of the supported // push notification services, such as GCM and APNS. For more information, see // Using Amazon SNS Mobile Push Notifications (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.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. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation SetEndpointAttributes for usage and error information. +// +// Returned Error Codes: +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +// * InternalError +// Indicates an internal service error. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// +// * NotFound +// Indicates that the requested resource does not exist. +// func (c *SNS) SetEndpointAttributes(input *SetEndpointAttributesInput) (*SetEndpointAttributesOutput, error) { req, out := c.SetEndpointAttributesRequest(input) err := req.Send() @@ -714,7 +2046,30 @@ func (c *SNS) SetEndpointAttributes(input *SetEndpointAttributesInput) (*SetEndp const opSetPlatformApplicationAttributes = "SetPlatformApplicationAttributes" -// SetPlatformApplicationAttributesRequest generates a request for the SetPlatformApplicationAttributes operation. +// SetPlatformApplicationAttributesRequest generates a "aws/request.Request" representing the +// client's request for the SetPlatformApplicationAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetPlatformApplicationAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetPlatformApplicationAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetPlatformApplicationAttributesRequest method. +// req, resp := client.SetPlatformApplicationAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SNS) SetPlatformApplicationAttributesRequest(input *SetPlatformApplicationAttributesInput) (req *request.Request, output *SetPlatformApplicationAttributesOutput) { op := &request.Operation{ Name: opSetPlatformApplicationAttributes, @@ -734,18 +2089,146 @@ func (c *SNS) SetPlatformApplicationAttributesRequest(input *SetPlatformApplicat return } +// SetPlatformApplicationAttributes API operation for Amazon Simple Notification Service. +// // Sets the attributes of the platform application object for the supported // push notification services, such as APNS and GCM. For more information, see // Using Amazon SNS Mobile Push Notifications (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// For information on configuring attributes for message delivery status, see +// Using Amazon SNS Application Attributes for Message Delivery Status (http://docs.aws.amazon.com/sns/latest/dg/sns-msg-status.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. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation SetPlatformApplicationAttributes for usage and error information. +// +// Returned Error Codes: +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +// * InternalError +// Indicates an internal service error. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// +// * NotFound +// Indicates that the requested resource does not exist. +// func (c *SNS) SetPlatformApplicationAttributes(input *SetPlatformApplicationAttributesInput) (*SetPlatformApplicationAttributesOutput, error) { req, out := c.SetPlatformApplicationAttributesRequest(input) err := req.Send() return out, err } +const opSetSMSAttributes = "SetSMSAttributes" + +// SetSMSAttributesRequest generates a "aws/request.Request" representing the +// client's request for the SetSMSAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetSMSAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetSMSAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetSMSAttributesRequest method. +// req, resp := client.SetSMSAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SNS) SetSMSAttributesRequest(input *SetSMSAttributesInput) (req *request.Request, output *SetSMSAttributesOutput) { + op := &request.Operation{ + Name: opSetSMSAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SetSMSAttributesInput{} + } + + req = c.newRequest(op, input, output) + output = &SetSMSAttributesOutput{} + req.Data = output + return +} + +// SetSMSAttributes API operation for Amazon Simple Notification Service. +// +// Use this request to set the default settings for sending SMS messages and +// receiving daily SMS usage reports. +// +// You can override some of these settings for a single message when you use +// the Publish action with the MessageAttributes.entry.N parameter. For more +// information, see Sending an SMS Message (http://docs.aws.amazon.com/sns/latest/dg/sms_publish-to-phone.html) +// in the Amazon SNS Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation SetSMSAttributes for usage and error information. +// +// Returned Error Codes: +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +// * Throttled +// Indicates that the rate at which requests have been submitted for this action +// exceeds the limit for your account. +// +// * InternalError +// Indicates an internal service error. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// +func (c *SNS) SetSMSAttributes(input *SetSMSAttributesInput) (*SetSMSAttributesOutput, error) { + req, out := c.SetSMSAttributesRequest(input) + err := req.Send() + return out, err +} + const opSetSubscriptionAttributes = "SetSubscriptionAttributes" -// SetSubscriptionAttributesRequest generates a request for the SetSubscriptionAttributes operation. +// SetSubscriptionAttributesRequest generates a "aws/request.Request" representing the +// client's request for the SetSubscriptionAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetSubscriptionAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetSubscriptionAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetSubscriptionAttributesRequest method. +// req, resp := client.SetSubscriptionAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SNS) SetSubscriptionAttributesRequest(input *SetSubscriptionAttributesInput) (req *request.Request, output *SetSubscriptionAttributesOutput) { op := &request.Operation{ Name: opSetSubscriptionAttributes, @@ -765,7 +2248,30 @@ func (c *SNS) SetSubscriptionAttributesRequest(input *SetSubscriptionAttributesI return } +// SetSubscriptionAttributes API operation for Amazon Simple Notification Service. +// // Allows a subscription owner to set an attribute of the topic to a new value. +// +// 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 Simple Notification Service's +// API operation SetSubscriptionAttributes for usage and error information. +// +// Returned Error Codes: +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +// * InternalError +// Indicates an internal service error. +// +// * NotFound +// Indicates that the requested resource does not exist. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// func (c *SNS) SetSubscriptionAttributes(input *SetSubscriptionAttributesInput) (*SetSubscriptionAttributesOutput, error) { req, out := c.SetSubscriptionAttributesRequest(input) err := req.Send() @@ -774,7 +2280,30 @@ func (c *SNS) SetSubscriptionAttributes(input *SetSubscriptionAttributesInput) ( const opSetTopicAttributes = "SetTopicAttributes" -// SetTopicAttributesRequest generates a request for the SetTopicAttributes operation. +// SetTopicAttributesRequest generates a "aws/request.Request" representing the +// client's request for the SetTopicAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetTopicAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetTopicAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetTopicAttributesRequest method. +// req, resp := client.SetTopicAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SNS) SetTopicAttributesRequest(input *SetTopicAttributesInput) (req *request.Request, output *SetTopicAttributesOutput) { op := &request.Operation{ Name: opSetTopicAttributes, @@ -794,7 +2323,30 @@ func (c *SNS) SetTopicAttributesRequest(input *SetTopicAttributesInput) (req *re return } +// SetTopicAttributes API operation for Amazon Simple Notification Service. +// // Allows a topic owner to set an attribute of the topic to a new value. +// +// 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 Simple Notification Service's +// API operation SetTopicAttributes for usage and error information. +// +// Returned Error Codes: +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +// * InternalError +// Indicates an internal service error. +// +// * NotFound +// Indicates that the requested resource does not exist. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// func (c *SNS) SetTopicAttributes(input *SetTopicAttributesInput) (*SetTopicAttributesOutput, error) { req, out := c.SetTopicAttributesRequest(input) err := req.Send() @@ -803,7 +2355,30 @@ func (c *SNS) SetTopicAttributes(input *SetTopicAttributesInput) (*SetTopicAttri const opSubscribe = "Subscribe" -// SubscribeRequest generates a request for the Subscribe operation. +// SubscribeRequest generates a "aws/request.Request" representing the +// client's request for the Subscribe operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See Subscribe for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the Subscribe method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SubscribeRequest method. +// req, resp := client.SubscribeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SNS) SubscribeRequest(input *SubscribeInput) (req *request.Request, output *SubscribeOutput) { op := &request.Operation{ Name: opSubscribe, @@ -821,10 +2396,36 @@ func (c *SNS) SubscribeRequest(input *SubscribeInput) (req *request.Request, out return } +// Subscribe API operation for Amazon Simple Notification Service. +// // Prepares to subscribe an endpoint by sending the endpoint a confirmation // message. To actually create a subscription, the endpoint owner must call // the ConfirmSubscription action with the token from the confirmation message. // Confirmation tokens are valid for three days. +// +// 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 Simple Notification Service's +// API operation Subscribe for usage and error information. +// +// Returned Error Codes: +// * SubscriptionLimitExceeded +// Indicates that the customer already owns the maximum allowed number of subscriptions. +// +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +// * InternalError +// Indicates an internal service error. +// +// * NotFound +// Indicates that the requested resource does not exist. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// func (c *SNS) Subscribe(input *SubscribeInput) (*SubscribeOutput, error) { req, out := c.SubscribeRequest(input) err := req.Send() @@ -833,7 +2434,30 @@ func (c *SNS) Subscribe(input *SubscribeInput) (*SubscribeOutput, error) { const opUnsubscribe = "Unsubscribe" -// UnsubscribeRequest generates a request for the Unsubscribe operation. +// UnsubscribeRequest generates a "aws/request.Request" representing the +// client's request for the Unsubscribe operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See Unsubscribe for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the Unsubscribe method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UnsubscribeRequest method. +// req, resp := client.UnsubscribeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SNS) UnsubscribeRequest(input *UnsubscribeInput) (req *request.Request, output *UnsubscribeOutput) { op := &request.Operation{ Name: opUnsubscribe, @@ -853,12 +2477,35 @@ func (c *SNS) UnsubscribeRequest(input *UnsubscribeInput) (req *request.Request, return } +// Unsubscribe API operation for Amazon Simple Notification Service. +// // Deletes a subscription. If the subscription requires authentication for deletion, // only the owner of the subscription or the topic's owner can unsubscribe, // and an AWS signature is required. If the Unsubscribe call does not require // authentication and the requester is not the subscription owner, a final cancellation // message is delivered to the endpoint, so that the endpoint owner can easily // resubscribe to the topic if the Unsubscribe request was unintended. +// +// 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 Simple Notification Service's +// API operation Unsubscribe for usage and error information. +// +// Returned Error Codes: +// * InvalidParameter +// Indicates that a request parameter does not comply with the associated constraints. +// +// * InternalError +// Indicates an internal service error. +// +// * AuthorizationError +// Indicates that the user has been denied access to the requested resource. +// +// * NotFound +// Indicates that the requested resource does not exist. +// func (c *SNS) Unsubscribe(input *UnsubscribeInput) (*UnsubscribeOutput, error) { req, out := c.UnsubscribeRequest(input) err := req.Send() @@ -871,44 +2518,99 @@ type AddPermissionInput struct { // The AWS account IDs of the users (principals) who will be given access to // the specified actions. The users must have AWS accounts, but do not need // to be signed up for this service. + // + // AWSAccountId is a required field AWSAccountId []*string `type:"list" required:"true"` // The action you want to allow for the specified principal(s). // // Valid values: any Amazon SNS action name. + // + // ActionName is a required field ActionName []*string `type:"list" required:"true"` - // A unique identifier for the new policy statement. - Label *string `type:"string" required:"true"` + // A unique identifier for the new policy statement. + // + // Label is a required field + Label *string `type:"string" required:"true"` + + // The ARN of the topic whose access control policy you wish to modify. + // + // TopicArn is a required field + TopicArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s AddPermissionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddPermissionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddPermissionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddPermissionInput"} + if s.AWSAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AWSAccountId")) + } + if s.ActionName == nil { + invalidParams.Add(request.NewErrParamRequired("ActionName")) + } + if s.Label == nil { + invalidParams.Add(request.NewErrParamRequired("Label")) + } + if s.TopicArn == nil { + invalidParams.Add(request.NewErrParamRequired("TopicArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type AddPermissionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AddPermissionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddPermissionOutput) GoString() string { + return s.String() +} + +// The input for the CheckIfPhoneNumberIsOptedOut action. +type CheckIfPhoneNumberIsOptedOutInput struct { + _ struct{} `type:"structure"` - // The ARN of the topic whose access control policy you wish to modify. - TopicArn *string `type:"string" required:"true"` + // The phone number for which you want to check the opt out status. + // + // PhoneNumber is a required field + PhoneNumber *string `locationName:"phoneNumber" type:"string" required:"true"` } // String returns the string representation -func (s AddPermissionInput) String() string { +func (s CheckIfPhoneNumberIsOptedOutInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AddPermissionInput) GoString() string { +func (s CheckIfPhoneNumberIsOptedOutInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AddPermissionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AddPermissionInput"} - if s.AWSAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AWSAccountId")) - } - if s.ActionName == nil { - invalidParams.Add(request.NewErrParamRequired("ActionName")) - } - if s.Label == nil { - invalidParams.Add(request.NewErrParamRequired("Label")) - } - if s.TopicArn == nil { - invalidParams.Add(request.NewErrParamRequired("TopicArn")) +func (s *CheckIfPhoneNumberIsOptedOutInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CheckIfPhoneNumberIsOptedOutInput"} + if s.PhoneNumber == nil { + invalidParams.Add(request.NewErrParamRequired("PhoneNumber")) } if invalidParams.Len() > 0 { @@ -917,17 +2619,27 @@ func (s *AddPermissionInput) Validate() error { return nil } -type AddPermissionOutput struct { +// The response from the CheckIfPhoneNumberIsOptedOut action. +type CheckIfPhoneNumberIsOptedOutOutput struct { _ struct{} `type:"structure"` + + // Indicates whether the phone number is opted out: + // + // true – The phone number is opted out, meaning you cannot publish SMS + // messages to it. + // + // false – The phone number is opted in, meaning you can publish SMS messages + // to it. + IsOptedOut *bool `locationName:"isOptedOut" type:"boolean"` } // String returns the string representation -func (s AddPermissionOutput) String() string { +func (s CheckIfPhoneNumberIsOptedOutOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AddPermissionOutput) GoString() string { +func (s CheckIfPhoneNumberIsOptedOutOutput) GoString() string { return s.String() } @@ -942,9 +2654,13 @@ type ConfirmSubscriptionInput struct { AuthenticateOnUnsubscribe *string `type:"string"` // Short-lived token sent to an endpoint during the Subscribe action. + // + // Token is a required field Token *string `type:"string" required:"true"` // The ARN of the topic for which you wish to confirm a subscription. + // + // TopicArn is a required field TopicArn *string `type:"string" required:"true"` } @@ -997,15 +2713,21 @@ type CreatePlatformApplicationInput struct { _ struct{} `type:"structure"` // For a list of attributes, see SetPlatformApplicationAttributes (http://docs.aws.amazon.com/sns/latest/api/API_SetPlatformApplicationAttributes.html) + // + // Attributes is a required field Attributes map[string]*string `type:"map" required:"true"` // Application names must be made up of only uppercase and lowercase ASCII letters, // numbers, underscores, hyphens, and periods, and must be between 1 and 256 // characters long. + // + // Name is a required field Name *string `type:"string" required:"true"` // The following platforms are supported: ADM (Amazon Device Messaging), APNS // (Apple Push Notification Service), APNS_SANDBOX, and GCM (Google Cloud Messaging). + // + // Platform is a required field Platform *string `type:"string" required:"true"` } @@ -1069,6 +2791,8 @@ type CreatePlatformEndpointInput struct { // PlatformApplicationArn returned from CreatePlatformApplication is used to // create a an endpoint. + // + // PlatformApplicationArn is a required field PlatformApplicationArn *string `type:"string" required:"true"` // Unique identifier created by the notification service for an app on a device. @@ -1076,6 +2800,8 @@ type CreatePlatformEndpointInput struct { // is being used. For example, when using APNS as the notification service, // you need the device token. Alternatively, when using GCM or ADM, the device // token equivalent is called the registration ID. + // + // Token is a required field Token *string `type:"string" required:"true"` } @@ -1132,6 +2858,8 @@ type CreateTopicInput struct { // Constraints: Topic names must be made up of only uppercase and lowercase // ASCII letters, numbers, underscores, and hyphens, and must be between 1 and // 256 characters long. + // + // Name is a required field Name *string `type:"string" required:"true"` } @@ -1181,6 +2909,8 @@ type DeleteEndpointInput struct { _ struct{} `type:"structure"` // EndpointArn of endpoint to delete. + // + // EndpointArn is a required field EndpointArn *string `type:"string" required:"true"` } @@ -1226,6 +2956,8 @@ type DeletePlatformApplicationInput struct { _ struct{} `type:"structure"` // PlatformApplicationArn of platform application object to delete. + // + // PlatformApplicationArn is a required field PlatformApplicationArn *string `type:"string" required:"true"` } @@ -1270,6 +3002,8 @@ type DeleteTopicInput struct { _ struct{} `type:"structure"` // The ARN of the topic you want to delete. + // + // TopicArn is a required field TopicArn *string `type:"string" required:"true"` } @@ -1336,6 +3070,8 @@ type GetEndpointAttributesInput struct { _ struct{} `type:"structure"` // EndpointArn for GetEndpointAttributes input. + // + // EndpointArn is a required field EndpointArn *string `type:"string" required:"true"` } @@ -1368,15 +3104,18 @@ type GetEndpointAttributesOutput struct { // Attributes include the following: // - // CustomUserData -- arbitrary user data to associate with the endpoint. + // CustomUserData -- arbitrary user data to associate with the endpoint. // Amazon SNS does not use this data. The data must be in UTF-8 format and less - // than 2KB. Enabled -- flag that enables/disables delivery to the endpoint. - // Amazon SNS will set this to false when a notification service indicates to - // Amazon SNS that the endpoint is invalid. Users can set it back to true, typically - // after updating Token. Token -- device token, also referred to as a registration - // id, for an app and mobile device. This is returned from the notification - // service when an app and mobile device are registered with the notification - // service. + // than 2KB. + // + // Enabled -- flag that enables/disables delivery to the endpoint. Amazon + // SNS will set this to false when a notification service indicates to Amazon + // SNS that the endpoint is invalid. Users can set it back to true, typically + // after updating Token. + // + // Token -- device token, also referred to as a registration id, for an + // app and mobile device. This is returned from the notification service when + // an app and mobile device are registered with the notification service. Attributes map[string]*string `type:"map"` } @@ -1395,6 +3134,8 @@ type GetPlatformApplicationAttributesInput struct { _ struct{} `type:"structure"` // PlatformApplicationArn for GetPlatformApplicationAttributesInput. + // + // PlatformApplicationArn is a required field PlatformApplicationArn *string `type:"string" required:"true"` } @@ -1427,13 +3168,18 @@ type GetPlatformApplicationAttributesOutput struct { // Attributes include the following: // - // EventEndpointCreated -- Topic ARN to which EndpointCreated event notifications - // should be sent. EventEndpointDeleted -- Topic ARN to which EndpointDeleted - // event notifications should be sent. EventEndpointUpdated -- Topic ARN to - // which EndpointUpdate event notifications should be sent. EventDeliveryFailure - // -- Topic ARN to which DeliveryFailure event notifications should be sent - // upon Direct Publish delivery failure (permanent) to one of the application's - // endpoints. + // EventEndpointCreated -- Topic ARN to which EndpointCreated event notifications + // should be sent. + // + // EventEndpointDeleted -- Topic ARN to which EndpointDeleted event notifications + // should be sent. + // + // EventEndpointUpdated -- Topic ARN to which EndpointUpdate event notifications + // should be sent. + // + // EventDeliveryFailure -- Topic ARN to which DeliveryFailure event notifications + // should be sent upon Direct Publish delivery failure (permanent) to one of + // the application's endpoints. Attributes map[string]*string `type:"map"` } @@ -1447,11 +3193,54 @@ func (s GetPlatformApplicationAttributesOutput) GoString() string { return s.String() } +// The input for the GetSMSAttributes request. +type GetSMSAttributesInput struct { + _ struct{} `type:"structure"` + + // A list of the individual attribute names, such as MonthlySpendLimit, for + // which you want values. + // + // For all attribute names, see SetSMSAttributes (http://docs.aws.amazon.com/sns/latest/api/API_SetSMSAttributes.html). + // + // If you don't use this parameter, Amazon SNS returns all SMS attributes. + Attributes []*string `locationName:"attributes" type:"list"` +} + +// String returns the string representation +func (s GetSMSAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSMSAttributesInput) GoString() string { + return s.String() +} + +// The response from the GetSMSAttributes request. +type GetSMSAttributesOutput struct { + _ struct{} `type:"structure"` + + // The SMS attribute names and their values. + Attributes map[string]*string `locationName:"attributes" type:"map"` +} + +// String returns the string representation +func (s GetSMSAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSMSAttributesOutput) GoString() string { + return s.String() +} + // Input for GetSubscriptionAttributes. type GetSubscriptionAttributesInput struct { _ struct{} `type:"structure"` // The ARN of the subscription whose properties you want to get. + // + // SubscriptionArn is a required field SubscriptionArn *string `type:"string" required:"true"` } @@ -1485,13 +3274,21 @@ type GetSubscriptionAttributesOutput struct { // A map of the subscription's attributes. Attributes in this map include the // following: // - // SubscriptionArn -- the subscription's ARN TopicArn -- the topic ARN that - // the subscription is associated with Owner -- the AWS account ID of the subscription's - // owner ConfirmationWasAuthenticated -- true if the subscription confirmation - // request was authenticated DeliveryPolicy -- the JSON serialization of the - // subscription's delivery policy EffectiveDeliveryPolicy -- the JSON serialization - // of the effective delivery policy that takes into account the topic delivery - // policy and account system defaults + // SubscriptionArn -- the subscription's ARN + // + // TopicArn -- the topic ARN that the subscription is associated with + // + // Owner -- the AWS account ID of the subscription's owner + // + // ConfirmationWasAuthenticated -- true if the subscription confirmation + // request was authenticated + // + // DeliveryPolicy -- the JSON serialization of the subscription's delivery + // policy + // + // EffectiveDeliveryPolicy -- the JSON serialization of the effective delivery + // policy that takes into account the topic delivery policy and account system + // defaults Attributes map[string]*string `type:"map"` } @@ -1510,6 +3307,8 @@ type GetTopicAttributesInput struct { _ struct{} `type:"structure"` // The ARN of the topic whose properties you want to get. + // + // TopicArn is a required field TopicArn *string `type:"string" required:"true"` } @@ -1542,16 +3341,27 @@ type GetTopicAttributesOutput struct { // A map of the topic's attributes. Attributes in this map include the following: // - // TopicArn -- the topic's ARN Owner -- the AWS account ID of the topic's - // owner Policy -- the JSON serialization of the topic's access control policy - // DisplayName -- the human-readable name used in the "From" field for notifications - // to email and email-json endpoints SubscriptionsPending -- the number of - // subscriptions pending confirmation on this topic SubscriptionsConfirmed - // -- the number of confirmed subscriptions on this topic SubscriptionsDeleted - // -- the number of deleted subscriptions on this topic DeliveryPolicy -- the - // JSON serialization of the topic's delivery policy EffectiveDeliveryPolicy - // -- the JSON serialization of the effective delivery policy that takes into - // account system defaults + // TopicArn -- the topic's ARN + // + // Owner -- the AWS account ID of the topic's owner + // + // Policy -- the JSON serialization of the topic's access control policy + // + // DisplayName -- the human-readable name used in the "From" field for notifications + // to email and email-json endpoints + // + // SubscriptionsPending -- the number of subscriptions pending confirmation + // on this topic + // + // SubscriptionsConfirmed -- the number of confirmed subscriptions on this + // topic + // + // SubscriptionsDeleted -- the number of deleted subscriptions on this topic + // + // DeliveryPolicy -- the JSON serialization of the topic's delivery policy + // + // EffectiveDeliveryPolicy -- the JSON serialization of the effective delivery + // policy that takes into account system defaults Attributes map[string]*string `type:"map"` } @@ -1575,6 +3385,8 @@ type ListEndpointsByPlatformApplicationInput struct { NextToken *string `type:"string"` // PlatformApplicationArn for ListEndpointsByPlatformApplicationInput action. + // + // PlatformApplicationArn is a required field PlatformApplicationArn *string `type:"string" required:"true"` } @@ -1623,6 +3435,49 @@ func (s ListEndpointsByPlatformApplicationOutput) GoString() string { return s.String() } +// The input for the ListPhoneNumbersOptedOut action. +type ListPhoneNumbersOptedOutInput struct { + _ struct{} `type:"structure"` + + // A NextToken string is used when you call the ListPhoneNumbersOptedOut action + // to retrieve additional records that are available after the first page of + // results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListPhoneNumbersOptedOutInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPhoneNumbersOptedOutInput) GoString() string { + return s.String() +} + +// The response from the ListPhoneNumbersOptedOut action. +type ListPhoneNumbersOptedOutOutput struct { + _ struct{} `type:"structure"` + + // A NextToken string is returned when you call the ListPhoneNumbersOptedOut + // action if additional records are available after the first page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // A list of phone numbers that are opted out of receiving SMS messages. The + // list is paginated, and each page can contain up to 100 phone numbers. + PhoneNumbers []*string `locationName:"phoneNumbers" type:"list"` +} + +// String returns the string representation +func (s ListPhoneNumbersOptedOutOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPhoneNumbersOptedOutOutput) GoString() string { + return s.String() +} + // Input for ListPlatformApplications action. type ListPlatformApplicationsInput struct { _ struct{} `type:"structure"` @@ -1672,6 +3527,8 @@ type ListSubscriptionsByTopicInput struct { NextToken *string `type:"string"` // The ARN of the topic for which you wish to find subscriptions. + // + // TopicArn is a required field TopicArn *string `type:"string" required:"true"` } @@ -1819,6 +3676,8 @@ type MessageAttributeValue struct { // Amazon SNS supports the following logical data types: String, Number, and // Binary. For more information, see Message Attribute Data Types (http://docs.aws.amazon.com/sns/latest/dg/SNSMessageAttributes.html#SNSMessageAttributes.DataTypes). + // + // DataType is a required field DataType *string `type:"string" required:"true"` // Strings are Unicode with UTF8 binary encoding. For a list of code values, @@ -1849,6 +3708,54 @@ func (s *MessageAttributeValue) Validate() error { return nil } +// Input for the OptInPhoneNumber action. +type OptInPhoneNumberInput struct { + _ struct{} `type:"structure"` + + // The phone number to opt in. + // + // PhoneNumber is a required field + PhoneNumber *string `locationName:"phoneNumber" type:"string" required:"true"` +} + +// String returns the string representation +func (s OptInPhoneNumberInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OptInPhoneNumberInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OptInPhoneNumberInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OptInPhoneNumberInput"} + if s.PhoneNumber == nil { + invalidParams.Add(request.NewErrParamRequired("PhoneNumber")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The response for the OptInPhoneNumber action. +type OptInPhoneNumberOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s OptInPhoneNumberOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OptInPhoneNumberOutput) GoString() string { + return s.String() +} + // Platform application object. type PlatformApplication struct { _ struct{} `type:"structure"` @@ -1881,23 +3788,37 @@ type PublishInput struct { // // If you want to send different messages for each transport protocol, set // the value of the MessageStructure parameter to json and use a JSON object - // for the Message parameter. See the Examples section for the format of the - // JSON object. + // for the Message parameter. // // Constraints: Messages must be UTF-8 encoded strings at most 256 KB in size // (262144 bytes, not 262144 characters). // - // JSON-specific constraints: Keys in the JSON object that correspond to supported - // transport protocols must have simple JSON string values. The values will - // be parsed (unescaped) before they are used in outgoing messages. Outbound - // notifications are JSON encoded (meaning that the characters will be reescaped - // for sending). Values have a minimum length of 0 (the empty string, "", is - // allowed). Values have a maximum length bounded by the overall message size - // (so, including multiple protocols may limit message sizes). Non-string values - // will cause the key to be ignored. Keys that do not correspond to supported - // transport protocols are ignored. Duplicate keys are not allowed. Failure - // to parse or validate any key or value in the message will cause the Publish - // call to return an error (no partial delivery). + // JSON-specific constraints: + // + // Keys in the JSON object that correspond to supported transport protocols + // must have simple JSON string values. + // + // The values will be parsed (unescaped) before they are used in outgoing + // messages. + // + // Outbound notifications are JSON encoded (meaning that the characters will + // be reescaped for sending). + // + // Values have a minimum length of 0 (the empty string, "", is allowed). + // + // Values have a maximum length bounded by the overall message size (so, + // including multiple protocols may limit message sizes). + // + // Non-string values will cause the key to be ignored. + // + // Keys that do not correspond to supported transport protocols are ignored. + // + // Duplicate keys are not allowed. + // + // Failure to parse or validate any key or value in the message will cause + // the Publish call to return an error (no partial delivery). + // + // Message is a required field Message *string `type:"string" required:"true"` // Message attributes for Publish action. @@ -1908,10 +3829,13 @@ type PublishInput struct { // message to your SMS subscribers and a longer message to your email subscribers. // If you set MessageStructure to json, the value of the Message parameter must: // - // be a syntactically valid JSON object; and contain at least a top-level - // JSON key of "default" with a value that is a string. You can define other - // top-level keys that define the message you want to send to a specific transport - // protocol (e.g., "http"). + // be a syntactically valid JSON object; and + // + // contain at least a top-level JSON key of "default" with a value that is + // a string. + // + // You can define other top-level keys that define the message you want to + // send to a specific transport protocol (e.g., "http"). // // For information about sending different messages for each protocol using // the AWS Management Console, go to Create Different Messages for Each Protocol @@ -1921,6 +3845,12 @@ type PublishInput struct { // Valid value: json MessageStructure *string `type:"string"` + // The phone number to which you want to deliver an SMS message. Use E.164 format. + // + // If you don't specify a value for the PhoneNumber parameter, you must specify + // a value for the TargetArn or TopicArn parameters. + PhoneNumber *string `type:"string"` + // Optional parameter to be used as the "Subject" line when the message is delivered // to email endpoints. This field will also be included, if present, in the // standard JSON messages delivered to other endpoints. @@ -1931,9 +3861,15 @@ type PublishInput struct { Subject *string `type:"string"` // Either TopicArn or EndpointArn, but not both. + // + // If you don't specify a value for the TargetArn parameter, you must specify + // a value for the PhoneNumber or TopicArn parameters. TargetArn *string `type:"string"` // The topic you want to publish to. + // + // If you don't specify a value for the TopicArn parameter, you must specify + // a value for the PhoneNumber or TargetArn parameters. TopicArn *string `type:"string"` } @@ -1995,9 +3931,13 @@ type RemovePermissionInput struct { _ struct{} `type:"structure"` // The unique label of the statement you want to remove. + // + // Label is a required field Label *string `type:"string" required:"true"` // The ARN of the topic whose access control policy you wish to modify. + // + // TopicArn is a required field TopicArn *string `type:"string" required:"true"` } @@ -2047,18 +3987,25 @@ type SetEndpointAttributesInput struct { // A map of the endpoint attributes. Attributes in this map include the following: // - // CustomUserData -- arbitrary user data to associate with the endpoint. + // CustomUserData -- arbitrary user data to associate with the endpoint. // Amazon SNS does not use this data. The data must be in UTF-8 format and less - // than 2KB. Enabled -- flag that enables/disables delivery to the endpoint. - // Amazon SNS will set this to false when a notification service indicates to - // Amazon SNS that the endpoint is invalid. Users can set it back to true, typically - // after updating Token. Token -- device token, also referred to as a registration - // id, for an app and mobile device. This is returned from the notification - // service when an app and mobile device are registered with the notification - // service. + // than 2KB. + // + // Enabled -- flag that enables/disables delivery to the endpoint. Amazon + // SNS will set this to false when a notification service indicates to Amazon + // SNS that the endpoint is invalid. Users can set it back to true, typically + // after updating Token. + // + // Token -- device token, also referred to as a registration id, for an + // app and mobile device. This is returned from the notification service when + // an app and mobile device are registered with the notification service. + // + // Attributes is a required field Attributes map[string]*string `type:"map" required:"true"` // EndpointArn used for SetEndpointAttributes action. + // + // EndpointArn is a required field EndpointArn *string `type:"string" required:"true"` } @@ -2109,21 +4056,42 @@ type SetPlatformApplicationAttributesInput struct { // A map of the platform application attributes. Attributes in this map include // the following: // - // PlatformCredential -- The credential received from the notification service. - // For APNS/APNS_SANDBOX, PlatformCredential is "private key". For GCM, PlatformCredential - // is "API key". For ADM, PlatformCredential is "client secret". PlatformPrincipal - // -- The principal received from the notification service. For APNS/APNS_SANDBOX, - // PlatformPrincipal is "SSL certificate". For GCM, PlatformPrincipal is not - // applicable. For ADM, PlatformPrincipal is "client id". EventEndpointCreated - // -- Topic ARN to which EndpointCreated event notifications should be sent. - // EventEndpointDeleted -- Topic ARN to which EndpointDeleted event notifications - // should be sent. EventEndpointUpdated -- Topic ARN to which EndpointUpdate - // event notifications should be sent. EventDeliveryFailure -- Topic ARN to - // which DeliveryFailure event notifications should be sent upon Direct Publish - // delivery failure (permanent) to one of the application's endpoints. + // PlatformCredential -- The credential received from the notification service. + // For APNS/APNS_SANDBOX, PlatformCredential is private key. For GCM, PlatformCredential + // is "API key". For ADM, PlatformCredential is "client secret". + // + // PlatformPrincipal -- The principal received from the notification service. + // For APNS/APNS_SANDBOX, PlatformPrincipal is SSL certificate. For GCM, PlatformPrincipal + // is not applicable. For ADM, PlatformPrincipal is "client id". + // + // EventEndpointCreated -- Topic ARN to which EndpointCreated event notifications + // should be sent. + // + // EventEndpointDeleted -- Topic ARN to which EndpointDeleted event notifications + // should be sent. + // + // EventEndpointUpdated -- Topic ARN to which EndpointUpdate event notifications + // should be sent. + // + // EventDeliveryFailure -- Topic ARN to which DeliveryFailure event notifications + // should be sent upon Direct Publish delivery failure (permanent) to one of + // the application's endpoints. + // + // SuccessFeedbackRoleArn -- IAM role ARN used to give Amazon SNS write + // access to use CloudWatch Logs on your behalf. + // + // FailureFeedbackRoleArn -- IAM role ARN used to give Amazon SNS write + // access to use CloudWatch Logs on your behalf. + // + // SuccessFeedbackSampleRate -- Sample rate percentage (0-100) of successfully + // delivered messages. + // + // Attributes is a required field Attributes map[string]*string `type:"map" required:"true"` // PlatformApplicationArn for SetPlatformApplicationAttributes action. + // + // PlatformApplicationArn is a required field PlatformApplicationArn *string `type:"string" required:"true"` } @@ -2167,6 +4135,125 @@ func (s SetPlatformApplicationAttributesOutput) GoString() string { return s.String() } +// The input for the SetSMSAttributes action. +type SetSMSAttributesInput struct { + _ struct{} `type:"structure"` + + // The default settings for sending SMS messages from your account. You can + // set values for the following attribute names: + // + // MonthlySpendLimit – The maximum amount in USD that you are willing to spend + // each month to send SMS messages. When Amazon SNS determines that sending + // an SMS message would incur a cost that exceeds this limit, it stops sending + // SMS messages within minutes. + // + // Amazon SNS stops sending SMS messages within minutes of the limit being + // crossed. During that interval, if you continue to send SMS messages, you + // will incur costs that exceed your limit. + // + // By default, the spend limit is set to the maximum allowed by Amazon SNS. + // If you want to exceed the maximum, contact AWS Support (https://aws.amazon.com/premiumsupport/) + // or your AWS sales representative for a service limit increase. + // + // DeliveryStatusIAMRole – The ARN of the IAM role that allows Amazon SNS + // to write logs about SMS deliveries in CloudWatch Logs. For each SMS message + // that you send, Amazon SNS writes a log that includes the message price, the + // success or failure status, the reason for failure (if the message failed), + // the message dwell time, and other information. + // + // DeliveryStatusSuccessSamplingRate – The percentage of successful SMS deliveries + // for which Amazon SNS will write logs in CloudWatch Logs. The value can be + // an integer from 0 - 100. For example, to write logs only for failed deliveries, + // set this value to 0. To write logs for 10% of your successful deliveries, + // set it to 10. + // + // DefaultSenderID – A string, such as your business brand, that is displayed + // as the sender on the receiving device. Support for sender IDs varies by country. + // The sender ID can be 1 - 11 alphanumeric characters, and it must contain + // at least one letter. + // + // DefaultSMSType – The type of SMS message that you will send by default. + // You can assign the following values: + // + // Promotional – (Default) Noncritical messages, such as marketing messages. + // Amazon SNS optimizes the message delivery to incur the lowest cost. + // + // Transactional – Critical messages that support customer transactions, + // such as one-time passcodes for multi-factor authentication. Amazon SNS optimizes + // the message delivery to achieve the highest reliability. + // + // UsageReportS3Bucket – The name of the Amazon S3 bucket to receive daily + // SMS usage reports from Amazon SNS. Each day, Amazon SNS will deliver a usage + // report as a CSV file to the bucket. The report includes the following information + // for each SMS message that was successfully delivered by your account: + // + // Time that the message was published (in UTC) + // + // Message ID + // + // Destination phone number + // + // Message type + // + // Delivery status + // + // Message price (in USD) + // + // Part number (a message is split into multiple parts if it is too long + // for a single message) + // + // Total number of parts + // + // To receive the report, the bucket must have a policy that allows the Amazon + // SNS service principle to perform the s3:PutObject and s3:GetBucketLocation + // actions. + // + // For an example bucket policy and usage report, see Monitoring SMS Activity + // (http://docs.aws.amazon.com/sns/latest/dg/sms_stats.html) in the Amazon SNS + // Developer Guide. + // + // Attributes is a required field + Attributes map[string]*string `locationName:"attributes" type:"map" required:"true"` +} + +// String returns the string representation +func (s SetSMSAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetSMSAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SetSMSAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SetSMSAttributesInput"} + if s.Attributes == nil { + invalidParams.Add(request.NewErrParamRequired("Attributes")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The response for the SetSMSAttributes action. +type SetSMSAttributesOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s SetSMSAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetSMSAttributesOutput) GoString() string { + return s.String() +} + // Input for SetSubscriptionAttributes action. type SetSubscriptionAttributesInput struct { _ struct{} `type:"structure"` @@ -2175,12 +4262,16 @@ type SetSubscriptionAttributesInput struct { // attributes are mutable. // // Valid values: DeliveryPolicy | RawMessageDelivery + // + // AttributeName is a required field AttributeName *string `type:"string" required:"true"` // The new value for the attribute in JSON format. AttributeValue *string `type:"string"` // The ARN of the subscription to modify. + // + // SubscriptionArn is a required field SubscriptionArn *string `type:"string" required:"true"` } @@ -2232,12 +4323,16 @@ type SetTopicAttributesInput struct { // are mutable. // // Valid values: Policy | DisplayName | DeliveryPolicy + // + // AttributeName is a required field AttributeName *string `type:"string" required:"true"` // The new value for the attribute. AttributeValue *string `type:"string"` // The ARN of the topic to modify. + // + // TopicArn is a required field TopicArn *string `type:"string" required:"true"` } @@ -2287,26 +4382,50 @@ type SubscribeInput struct { // The endpoint that you want to receive notifications. Endpoints vary by protocol: // - // For the http protocol, the endpoint is an URL beginning with "http://" - // For the https protocol, the endpoint is a URL beginning with "https://" For - // the email protocol, the endpoint is an email address For the email-json protocol, - // the endpoint is an email address For the sms protocol, the endpoint is a - // phone number of an SMS-enabled device For the sqs protocol, the endpoint - // is the ARN of an Amazon SQS queue For the application protocol, the endpoint - // is the EndpointArn of a mobile app and device. + // For the http protocol, the endpoint is an URL beginning with "http://" + // + // For the https protocol, the endpoint is a URL beginning with "https://" + // + // For the email protocol, the endpoint is an email address + // + // For the email-json protocol, the endpoint is an email address + // + // For the sms protocol, the endpoint is a phone number of an SMS-enabled + // device + // + // For the sqs protocol, the endpoint is the ARN of an Amazon SQS queue + // + // For the application protocol, the endpoint is the EndpointArn of a mobile + // app and device. + // + // For the lambda protocol, the endpoint is the ARN of an AWS Lambda function. Endpoint *string `type:"string"` // The protocol you want to use. Supported protocols include: // - // http -- delivery of JSON-encoded message via HTTP POST https -- delivery - // of JSON-encoded message via HTTPS POST email -- delivery of message via - // SMTP email-json -- delivery of JSON-encoded message via SMTP sms -- delivery - // of message via SMS sqs -- delivery of JSON-encoded message to an Amazon - // SQS queue application -- delivery of JSON-encoded message to an EndpointArn - // for a mobile app and device. + // http -- delivery of JSON-encoded message via HTTP POST + // + // https -- delivery of JSON-encoded message via HTTPS POST + // + // email -- delivery of message via SMTP + // + // email-json -- delivery of JSON-encoded message via SMTP + // + // sms -- delivery of message via SMS + // + // sqs -- delivery of JSON-encoded message to an Amazon SQS queue + // + // application -- delivery of JSON-encoded message to an EndpointArn for + // a mobile app and device. + // + // lambda -- delivery of JSON-encoded message to an AWS Lambda function. + // + // Protocol is a required field Protocol *string `type:"string" required:"true"` // The ARN of the topic you want to subscribe to. + // + // TopicArn is a required field TopicArn *string `type:"string" required:"true"` } @@ -2409,6 +4528,8 @@ type UnsubscribeInput struct { _ struct{} `type:"structure"` // The ARN of the subscription to be deleted. + // + // SubscriptionArn is a required field SubscriptionArn *string `type:"string" required:"true"` } diff --git a/vendor/github.com/aws/aws-sdk-go/service/sqs/api.go b/vendor/github.com/aws/aws-sdk-go/service/sqs/api.go index 5d3fea658984..78acaf7d9f97 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sqs/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sqs/api.go @@ -14,7 +14,30 @@ import ( const opAddPermission = "AddPermission" -// AddPermissionRequest generates a request for the AddPermission operation. +// AddPermissionRequest generates a "aws/request.Request" representing the +// client's request for the AddPermission operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AddPermission for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AddPermission method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AddPermissionRequest method. +// req, resp := client.AddPermissionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SQS) AddPermissionRequest(input *AddPermissionInput) (req *request.Request, output *AddPermissionOutput) { op := &request.Operation{ Name: opAddPermission, @@ -34,6 +57,8 @@ func (c *SQS) AddPermissionRequest(input *AddPermissionInput) (req *request.Requ return } +// AddPermission API operation for Amazon Simple Queue Service. +// // Adds a permission to a queue for a specific principal (http://docs.aws.amazon.com/general/latest/gr/glos-chap.html#P). // This allows for sharing access to the queue. // @@ -50,6 +75,21 @@ func (c *SQS) AddPermissionRequest(input *AddPermissionInput) (req *request.Requ // Some API actions take lists of parameters. These lists are specified using // the param.n notation. Values of n are integers starting from 1. For example, // a parameter list with two elements looks like this: +// +// 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 Simple Queue Service's +// API operation AddPermission for usage and error information. +// +// Returned Error Codes: +// * OverLimit +// The action that you requested would violate a limit. For example, ReceiveMessage +// returns this error if the maximum number of messages inflight has already +// been reached. AddPermission returns this error if the maximum number of permissions +// for the queue has already been reached. +// func (c *SQS) AddPermission(input *AddPermissionInput) (*AddPermissionOutput, error) { req, out := c.AddPermissionRequest(input) err := req.Send() @@ -58,7 +98,30 @@ func (c *SQS) AddPermission(input *AddPermissionInput) (*AddPermissionOutput, er const opChangeMessageVisibility = "ChangeMessageVisibility" -// ChangeMessageVisibilityRequest generates a request for the ChangeMessageVisibility operation. +// ChangeMessageVisibilityRequest generates a "aws/request.Request" representing the +// client's request for the ChangeMessageVisibility operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ChangeMessageVisibility for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ChangeMessageVisibility method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ChangeMessageVisibilityRequest method. +// req, resp := client.ChangeMessageVisibilityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SQS) ChangeMessageVisibilityRequest(input *ChangeMessageVisibilityInput) (req *request.Request, output *ChangeMessageVisibilityOutput) { op := &request.Operation{ Name: opChangeMessageVisibility, @@ -78,6 +141,8 @@ func (c *SQS) ChangeMessageVisibilityRequest(input *ChangeMessageVisibilityInput return } +// ChangeMessageVisibility API operation for Amazon Simple Queue Service. +// // Changes the visibility timeout of a specified message in a queue to a new // value. The maximum allowed timeout value you can set the value to is 12 hours. // This means you can't extend the timeout of a message in an existing queue @@ -103,12 +168,29 @@ func (c *SQS) ChangeMessageVisibilityRequest(input *ChangeMessageVisibilityInput // // If you attempt to set the VisibilityTimeout to an amount more than the maximum // time left, Amazon SQS returns an error. It will not automatically recalculate -// and increase the timeout to the maximum time remaining. Unlike with a queue, -// when you change the visibility timeout for a specific message, that timeout -// value is applied immediately but is not saved in memory for that message. -// If you don't delete a message after it is received, the visibility timeout -// for the message the next time it is received reverts to the original timeout -// value, not the value you set with the ChangeMessageVisibility action. +// and increase the timeout to the maximum time remaining. +// +// Unlike with a queue, when you change the visibility timeout for a specific +// message, that timeout value is applied immediately but is not saved in memory +// for that message. If you don't delete a message after it is received, the +// visibility timeout for the message the next time it is received reverts to +// the original timeout value, not the value you set with the ChangeMessageVisibility +// action. +// +// 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 Simple Queue Service's +// API operation ChangeMessageVisibility for usage and error information. +// +// Returned Error Codes: +// * AWS.SimpleQueueService.MessageNotInflight +// The message referred to is not in flight. +// +// * ReceiptHandleIsInvalid +// The receipt handle provided is not valid. +// func (c *SQS) ChangeMessageVisibility(input *ChangeMessageVisibilityInput) (*ChangeMessageVisibilityOutput, error) { req, out := c.ChangeMessageVisibilityRequest(input) err := req.Send() @@ -117,7 +199,30 @@ func (c *SQS) ChangeMessageVisibility(input *ChangeMessageVisibilityInput) (*Cha const opChangeMessageVisibilityBatch = "ChangeMessageVisibilityBatch" -// ChangeMessageVisibilityBatchRequest generates a request for the ChangeMessageVisibilityBatch operation. +// ChangeMessageVisibilityBatchRequest generates a "aws/request.Request" representing the +// client's request for the ChangeMessageVisibilityBatch operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ChangeMessageVisibilityBatch for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ChangeMessageVisibilityBatch method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ChangeMessageVisibilityBatchRequest method. +// req, resp := client.ChangeMessageVisibilityBatchRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SQS) ChangeMessageVisibilityBatchRequest(input *ChangeMessageVisibilityBatchInput) (req *request.Request, output *ChangeMessageVisibilityBatchOutput) { op := &request.Operation{ Name: opChangeMessageVisibilityBatch, @@ -135,6 +240,8 @@ func (c *SQS) ChangeMessageVisibilityBatchRequest(input *ChangeMessageVisibility return } +// ChangeMessageVisibilityBatch API operation for Amazon Simple Queue Service. +// // Changes the visibility timeout of multiple messages. This is a batch version // of ChangeMessageVisibility. The result of the action on each message is reported // individually in the response. You can send up to 10 ChangeMessageVisibility @@ -142,10 +249,32 @@ func (c *SQS) ChangeMessageVisibilityBatchRequest(input *ChangeMessageVisibility // // Because the batch request can result in a combination of successful and // unsuccessful actions, you should check for batch errors even when the call -// returns an HTTP status code of 200. Some API actions take lists of parameters. -// These lists are specified using the param.n notation. Values of n are integers -// starting from 1. For example, a parameter list with two elements looks like -// this: +// returns an HTTP status code of 200. +// +// Some API actions take lists of parameters. These lists are specified using +// the param.n notation. Values of n are integers starting from 1. For example, +// a parameter list with two elements looks like this: +// +// 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 Simple Queue Service's +// API operation ChangeMessageVisibilityBatch for usage and error information. +// +// Returned Error Codes: +// * AWS.SimpleQueueService.TooManyEntriesInBatchRequest +// Batch request contains more number of entries than permissible. +// +// * AWS.SimpleQueueService.EmptyBatchRequest +// Batch request does not contain an entry. +// +// * AWS.SimpleQueueService.BatchEntryIdsNotDistinct +// Two or more batch entries have the same Id in the request. +// +// * AWS.SimpleQueueService.InvalidBatchEntryId +// The Id of a batch entry in a batch request does not abide by the specification. +// func (c *SQS) ChangeMessageVisibilityBatch(input *ChangeMessageVisibilityBatchInput) (*ChangeMessageVisibilityBatchOutput, error) { req, out := c.ChangeMessageVisibilityBatchRequest(input) err := req.Send() @@ -154,7 +283,30 @@ func (c *SQS) ChangeMessageVisibilityBatch(input *ChangeMessageVisibilityBatchIn const opCreateQueue = "CreateQueue" -// CreateQueueRequest generates a request for the CreateQueue operation. +// CreateQueueRequest generates a "aws/request.Request" representing the +// client's request for the CreateQueue operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateQueue for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateQueue method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateQueueRequest method. +// req, resp := client.CreateQueueRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SQS) CreateQueueRequest(input *CreateQueueInput) (req *request.Request, output *CreateQueueOutput) { op := &request.Operation{ Name: opCreateQueue, @@ -172,6 +324,8 @@ func (c *SQS) CreateQueueRequest(input *CreateQueueInput) (req *request.Request, return } +// CreateQueue API operation for Amazon Simple Queue Service. +// // Creates a new queue, or returns the URL of an existing one. When you request // CreateQueue, you provide a name for the queue. To successfully create a new // queue, you must provide a name that is unique within the scope of your own @@ -182,7 +336,7 @@ func (c *SQS) CreateQueueRequest(input *CreateQueueInput) (req *request.Request, // // You may pass one or more attributes in the request. If you do not provide // a value for any attribute, the queue will have the default value for that -// attribute. Permitted attributes are the same that can be set using SetQueueAttributes. +// attribute. // // Use GetQueueUrl to get a queue's URL. GetQueueUrl requires only the QueueName // parameter. @@ -195,6 +349,24 @@ func (c *SQS) CreateQueueRequest(input *CreateQueueInput) (req *request.Request, // Some API actions take lists of parameters. These lists are specified using // the param.n notation. Values of n are integers starting from 1. For example, // a parameter list with two elements looks like this: +// +// 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 Simple Queue Service's +// API operation CreateQueue for usage and error information. +// +// Returned Error Codes: +// * AWS.SimpleQueueService.QueueDeletedRecently +// You must wait 60 seconds after deleting a queue before you can create another +// with the same name. +// +// * QueueAlreadyExists +// A queue already exists with this name. Amazon SQS returns this error only +// if the request includes attributes whose values differ from those of the +// existing queue. +// func (c *SQS) CreateQueue(input *CreateQueueInput) (*CreateQueueOutput, error) { req, out := c.CreateQueueRequest(input) err := req.Send() @@ -203,7 +375,30 @@ func (c *SQS) CreateQueue(input *CreateQueueInput) (*CreateQueueOutput, error) { const opDeleteMessage = "DeleteMessage" -// DeleteMessageRequest generates a request for the DeleteMessage operation. +// DeleteMessageRequest generates a "aws/request.Request" representing the +// client's request for the DeleteMessage operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteMessage for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteMessage method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteMessageRequest method. +// req, resp := client.DeleteMessageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SQS) DeleteMessageRequest(input *DeleteMessageInput) (req *request.Request, output *DeleteMessageOutput) { op := &request.Operation{ Name: opDeleteMessage, @@ -223,6 +418,8 @@ func (c *SQS) DeleteMessageRequest(input *DeleteMessageInput) (req *request.Requ return } +// DeleteMessage API operation for Amazon Simple Queue Service. +// // Deletes the specified message from the specified queue. You specify the message // by using the message's receipt handle and not the message ID you received // when you sent the message. Even if the message is locked by another reader @@ -243,6 +440,21 @@ func (c *SQS) DeleteMessageRequest(input *DeleteMessageInput) (req *request.Requ // copy remains on the server and might be returned to you again on a subsequent // receive request. You should create your system to be idempotent so that receiving // a particular message more than once is not a problem. +// +// 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 Simple Queue Service's +// API operation DeleteMessage for usage and error information. +// +// Returned Error Codes: +// * InvalidIdFormat +// The receipt handle is not valid for the current version. +// +// * ReceiptHandleIsInvalid +// The receipt handle provided is not valid. +// func (c *SQS) DeleteMessage(input *DeleteMessageInput) (*DeleteMessageOutput, error) { req, out := c.DeleteMessageRequest(input) err := req.Send() @@ -251,7 +463,30 @@ func (c *SQS) DeleteMessage(input *DeleteMessageInput) (*DeleteMessageOutput, er const opDeleteMessageBatch = "DeleteMessageBatch" -// DeleteMessageBatchRequest generates a request for the DeleteMessageBatch operation. +// DeleteMessageBatchRequest generates a "aws/request.Request" representing the +// client's request for the DeleteMessageBatch operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteMessageBatch for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteMessageBatch method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteMessageBatchRequest method. +// req, resp := client.DeleteMessageBatchRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SQS) DeleteMessageBatchRequest(input *DeleteMessageBatchInput) (req *request.Request, output *DeleteMessageBatchOutput) { op := &request.Operation{ Name: opDeleteMessageBatch, @@ -269,6 +504,8 @@ func (c *SQS) DeleteMessageBatchRequest(input *DeleteMessageBatchInput) (req *re return } +// DeleteMessageBatch API operation for Amazon Simple Queue Service. +// // Deletes up to ten messages from the specified queue. This is a batch version // of DeleteMessage. The result of the delete action on each message is reported // individually in the response. @@ -280,6 +517,27 @@ func (c *SQS) DeleteMessageBatchRequest(input *DeleteMessageBatchInput) (req *re // Some API actions take lists of parameters. These lists are specified using // the param.n notation. Values of n are integers starting from 1. For example, // a parameter list with two elements looks like this: +// +// 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 Simple Queue Service's +// API operation DeleteMessageBatch for usage and error information. +// +// Returned Error Codes: +// * AWS.SimpleQueueService.TooManyEntriesInBatchRequest +// Batch request contains more number of entries than permissible. +// +// * AWS.SimpleQueueService.EmptyBatchRequest +// Batch request does not contain an entry. +// +// * AWS.SimpleQueueService.BatchEntryIdsNotDistinct +// Two or more batch entries have the same Id in the request. +// +// * AWS.SimpleQueueService.InvalidBatchEntryId +// The Id of a batch entry in a batch request does not abide by the specification. +// func (c *SQS) DeleteMessageBatch(input *DeleteMessageBatchInput) (*DeleteMessageBatchOutput, error) { req, out := c.DeleteMessageBatchRequest(input) err := req.Send() @@ -288,7 +546,30 @@ func (c *SQS) DeleteMessageBatch(input *DeleteMessageBatchInput) (*DeleteMessage const opDeleteQueue = "DeleteQueue" -// DeleteQueueRequest generates a request for the DeleteQueue operation. +// DeleteQueueRequest generates a "aws/request.Request" representing the +// client's request for the DeleteQueue operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteQueue for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteQueue method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteQueueRequest method. +// req, resp := client.DeleteQueueRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SQS) DeleteQueueRequest(input *DeleteQueueInput) (req *request.Request, output *DeleteQueueOutput) { op := &request.Operation{ Name: opDeleteQueue, @@ -308,6 +589,8 @@ func (c *SQS) DeleteQueueRequest(input *DeleteQueueInput) (req *request.Request, return } +// DeleteQueue API operation for Amazon Simple Queue Service. +// // Deletes the queue specified by the queue URL, regardless of whether the queue // is empty. If the specified queue does not exist, Amazon SQS returns a successful // response. @@ -325,6 +608,13 @@ func (c *SQS) DeleteQueueRequest(input *DeleteQueueInput) (req *request.Request, // We reserve the right to delete queues that have had no activity for more // than 30 days. For more information, see How Amazon SQS Queues Work (http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/SQSConcepts.html) // in the Amazon SQS Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Queue Service's +// API operation DeleteQueue for usage and error information. func (c *SQS) DeleteQueue(input *DeleteQueueInput) (*DeleteQueueOutput, error) { req, out := c.DeleteQueueRequest(input) err := req.Send() @@ -333,7 +623,30 @@ func (c *SQS) DeleteQueue(input *DeleteQueueInput) (*DeleteQueueOutput, error) { const opGetQueueAttributes = "GetQueueAttributes" -// GetQueueAttributesRequest generates a request for the GetQueueAttributes operation. +// GetQueueAttributesRequest generates a "aws/request.Request" representing the +// client's request for the GetQueueAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetQueueAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetQueueAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetQueueAttributesRequest method. +// req, resp := client.GetQueueAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SQS) GetQueueAttributesRequest(input *GetQueueAttributesInput) (req *request.Request, output *GetQueueAttributesOutput) { op := &request.Operation{ Name: opGetQueueAttributes, @@ -351,39 +664,25 @@ func (c *SQS) GetQueueAttributesRequest(input *GetQueueAttributesInput) (req *re return } -// Gets attributes for the specified queue. The following attributes are supported: -// All - returns all values. ApproximateNumberOfMessages - returns the approximate -// number of visible messages in a queue. For more information, see Resources -// Required to Process Messages (http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/ApproximateNumber.html) -// in the Amazon SQS Developer Guide. ApproximateNumberOfMessagesNotVisible -// - returns the approximate number of messages that are not timed-out and not -// deleted. For more information, see Resources Required to Process Messages -// (http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/ApproximateNumber.html) -// in the Amazon SQS Developer Guide. VisibilityTimeout - returns the visibility -// timeout for the queue. For more information about visibility timeout, see -// Visibility Timeout (http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/AboutVT.html) -// in the Amazon SQS Developer Guide. CreatedTimestamp - returns the time when -// the queue was created (epoch time in seconds). LastModifiedTimestamp - returns -// the time when the queue was last changed (epoch time in seconds). Policy -// - returns the queue's policy. MaximumMessageSize - returns the limit of how -// many bytes a message can contain before Amazon SQS rejects it. MessageRetentionPeriod -// - returns the number of seconds Amazon SQS retains a message. QueueArn - -// returns the queue's Amazon resource name (ARN). ApproximateNumberOfMessagesDelayed -// - returns the approximate number of messages that are pending to be added -// to the queue. DelaySeconds - returns the default delay on the queue in seconds. -// ReceiveMessageWaitTimeSeconds - returns the time for which a ReceiveMessage -// call will wait for a message to arrive. RedrivePolicy - returns the parameters -// for dead letter queue functionality of the source queue. For more information -// about RedrivePolicy and dead letter queues, see Using Amazon SQS Dead Letter -// Queues (http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/SQSDeadLetterQueue.html) -// in the Amazon SQS Developer Guide. +// GetQueueAttributes API operation for Amazon Simple Queue Service. +// +// Gets attributes for the specified queue. +// +// Some API actions take lists of parameters. These lists are specified using +// the param.n notation. Values of n are integers starting from 1. For example, +// a parameter list with two elements looks like this: +// +// 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 Simple Queue Service's +// API operation GetQueueAttributes for usage and error information. +// +// Returned Error Codes: +// * InvalidAttributeName +// The attribute referred to does not exist. // -// Going forward, new attributes might be added. If you are writing code that -// calls this action, we recommend that you structure your code so that it can -// handle new attributes gracefully. Some API actions take lists of parameters. -// These lists are specified using the param.n notation. Values of n are integers -// starting from 1. For example, a parameter list with two elements looks like -// this: func (c *SQS) GetQueueAttributes(input *GetQueueAttributesInput) (*GetQueueAttributesOutput, error) { req, out := c.GetQueueAttributesRequest(input) err := req.Send() @@ -392,7 +691,30 @@ func (c *SQS) GetQueueAttributes(input *GetQueueAttributesInput) (*GetQueueAttri const opGetQueueUrl = "GetQueueUrl" -// GetQueueUrlRequest generates a request for the GetQueueUrl operation. +// GetQueueUrlRequest generates a "aws/request.Request" representing the +// client's request for the GetQueueUrl operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetQueueUrl for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetQueueUrl method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetQueueUrlRequest method. +// req, resp := client.GetQueueUrlRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SQS) GetQueueUrlRequest(input *GetQueueUrlInput) (req *request.Request, output *GetQueueUrlOutput) { op := &request.Operation{ Name: opGetQueueUrl, @@ -410,6 +732,8 @@ func (c *SQS) GetQueueUrlRequest(input *GetQueueUrlInput) (req *request.Request, return } +// GetQueueUrl API operation for Amazon Simple Queue Service. +// // Returns the URL of an existing queue. This action provides a simple way to // retrieve the URL of an Amazon SQS queue. // @@ -418,6 +742,18 @@ func (c *SQS) GetQueueUrlRequest(input *GetQueueUrlInput) (req *request.Request, // must grant you permission to access the queue. For more information about // shared queue access, see AddPermission or go to Shared Queues (http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/acp-overview.html) // in the Amazon SQS Developer 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Queue Service's +// API operation GetQueueUrl for usage and error information. +// +// Returned Error Codes: +// * AWS.SimpleQueueService.NonExistentQueue +// The queue referred to does not exist. +// func (c *SQS) GetQueueUrl(input *GetQueueUrlInput) (*GetQueueUrlOutput, error) { req, out := c.GetQueueUrlRequest(input) err := req.Send() @@ -426,7 +762,30 @@ func (c *SQS) GetQueueUrl(input *GetQueueUrlInput) (*GetQueueUrlOutput, error) { const opListDeadLetterSourceQueues = "ListDeadLetterSourceQueues" -// ListDeadLetterSourceQueuesRequest generates a request for the ListDeadLetterSourceQueues operation. +// ListDeadLetterSourceQueuesRequest generates a "aws/request.Request" representing the +// client's request for the ListDeadLetterSourceQueues operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListDeadLetterSourceQueues for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListDeadLetterSourceQueues method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListDeadLetterSourceQueuesRequest method. +// req, resp := client.ListDeadLetterSourceQueuesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SQS) ListDeadLetterSourceQueuesRequest(input *ListDeadLetterSourceQueuesInput) (req *request.Request, output *ListDeadLetterSourceQueuesOutput) { op := &request.Operation{ Name: opListDeadLetterSourceQueues, @@ -444,11 +803,25 @@ func (c *SQS) ListDeadLetterSourceQueuesRequest(input *ListDeadLetterSourceQueue return } +// ListDeadLetterSourceQueues API operation for Amazon Simple Queue Service. +// // Returns a list of your queues that have the RedrivePolicy queue attribute // configured with a dead letter queue. // // For more information about using dead letter queues, see Using Amazon SQS // Dead Letter Queues (http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/SQSDeadLetterQueue.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. +// +// See the AWS API reference guide for Amazon Simple Queue Service's +// API operation ListDeadLetterSourceQueues for usage and error information. +// +// Returned Error Codes: +// * AWS.SimpleQueueService.NonExistentQueue +// The queue referred to does not exist. +// func (c *SQS) ListDeadLetterSourceQueues(input *ListDeadLetterSourceQueuesInput) (*ListDeadLetterSourceQueuesOutput, error) { req, out := c.ListDeadLetterSourceQueuesRequest(input) err := req.Send() @@ -457,7 +830,30 @@ func (c *SQS) ListDeadLetterSourceQueues(input *ListDeadLetterSourceQueuesInput) const opListQueues = "ListQueues" -// ListQueuesRequest generates a request for the ListQueues operation. +// ListQueuesRequest generates a "aws/request.Request" representing the +// client's request for the ListQueues operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListQueues for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListQueues method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListQueuesRequest method. +// req, resp := client.ListQueuesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SQS) ListQueuesRequest(input *ListQueuesInput) (req *request.Request, output *ListQueuesOutput) { op := &request.Operation{ Name: opListQueues, @@ -475,9 +871,18 @@ func (c *SQS) ListQueuesRequest(input *ListQueuesInput) (req *request.Request, o return } +// ListQueues API operation for Amazon Simple Queue Service. +// // Returns a list of your queues. The maximum number of queues that can be returned // is 1000. If you specify a value for the optional QueueNamePrefix parameter, // only queues with a name beginning with the specified value are returned. +// +// 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 Simple Queue Service's +// API operation ListQueues for usage and error information. func (c *SQS) ListQueues(input *ListQueuesInput) (*ListQueuesOutput, error) { req, out := c.ListQueuesRequest(input) err := req.Send() @@ -486,7 +891,30 @@ func (c *SQS) ListQueues(input *ListQueuesInput) (*ListQueuesOutput, error) { const opPurgeQueue = "PurgeQueue" -// PurgeQueueRequest generates a request for the PurgeQueue operation. +// PurgeQueueRequest generates a "aws/request.Request" representing the +// client's request for the PurgeQueue operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PurgeQueue for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PurgeQueue method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PurgeQueueRequest method. +// req, resp := client.PurgeQueueRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SQS) PurgeQueueRequest(input *PurgeQueueInput) (req *request.Request, output *PurgeQueueOutput) { op := &request.Operation{ Name: opPurgeQueue, @@ -506,15 +934,35 @@ func (c *SQS) PurgeQueueRequest(input *PurgeQueueInput) (req *request.Request, o return } +// PurgeQueue API operation for Amazon Simple Queue Service. +// // Deletes the messages in a queue specified by the queue URL. // // When you use the PurgeQueue API, the deleted messages in the queue cannot -// be retrieved. When you purge a queue, the message deletion process takes -// up to 60 seconds. All messages sent to the queue before calling PurgeQueue -// will be deleted; messages sent to the queue while it is being purged may -// be deleted. While the queue is being purged, messages sent to the queue before -// PurgeQueue was called may be received, but will be deleted within the next -// minute. +// be retrieved. +// +// When you purge a queue, the message deletion process takes up to 60 seconds. +// All messages sent to the queue before calling PurgeQueue will be deleted; +// messages sent to the queue while it is being purged may be deleted. While +// the queue is being purged, messages sent to the queue before PurgeQueue was +// called may be received, but will be deleted within the next minute. +// +// 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 Simple Queue Service's +// API operation PurgeQueue for usage and error information. +// +// Returned Error Codes: +// * AWS.SimpleQueueService.NonExistentQueue +// The queue referred to does not exist. +// +// * AWS.SimpleQueueService.PurgeQueueInProgress +// Indicates that the specified queue previously received a PurgeQueue request +// within the last 60 seconds, the time it can take to delete the messages in +// the queue. +// func (c *SQS) PurgeQueue(input *PurgeQueueInput) (*PurgeQueueOutput, error) { req, out := c.PurgeQueueRequest(input) err := req.Send() @@ -523,7 +971,30 @@ func (c *SQS) PurgeQueue(input *PurgeQueueInput) (*PurgeQueueOutput, error) { const opReceiveMessage = "ReceiveMessage" -// ReceiveMessageRequest generates a request for the ReceiveMessage operation. +// ReceiveMessageRequest generates a "aws/request.Request" representing the +// client's request for the ReceiveMessage operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ReceiveMessage for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ReceiveMessage method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ReceiveMessageRequest method. +// req, resp := client.ReceiveMessageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SQS) ReceiveMessageRequest(input *ReceiveMessageInput) (req *request.Request, output *ReceiveMessageOutput) { op := &request.Operation{ Name: opReceiveMessage, @@ -541,6 +1012,8 @@ func (c *SQS) ReceiveMessageRequest(input *ReceiveMessageInput) (req *request.Re return } +// ReceiveMessage API operation for Amazon Simple Queue Service. +// // Retrieves one or more messages, with a maximum limit of 10 messages, from // the specified queue. Long poll support is enabled by using the WaitTimeSeconds // parameter. For more information, see Amazon SQS Long Poll (http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-long-polling.html) @@ -583,6 +1056,21 @@ func (c *SQS) ReceiveMessageRequest(input *ReceiveMessageInput) (req *request.Re // Going forward, new attributes might be added. If you are writing code // that calls this action, we recommend that you structure your code so that // it can handle new attributes gracefully. +// +// 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 Simple Queue Service's +// API operation ReceiveMessage for usage and error information. +// +// Returned Error Codes: +// * OverLimit +// The action that you requested would violate a limit. For example, ReceiveMessage +// returns this error if the maximum number of messages inflight has already +// been reached. AddPermission returns this error if the maximum number of permissions +// for the queue has already been reached. +// func (c *SQS) ReceiveMessage(input *ReceiveMessageInput) (*ReceiveMessageOutput, error) { req, out := c.ReceiveMessageRequest(input) err := req.Send() @@ -591,7 +1079,30 @@ func (c *SQS) ReceiveMessage(input *ReceiveMessageInput) (*ReceiveMessageOutput, const opRemovePermission = "RemovePermission" -// RemovePermissionRequest generates a request for the RemovePermission operation. +// RemovePermissionRequest generates a "aws/request.Request" representing the +// client's request for the RemovePermission operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RemovePermission for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RemovePermission method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RemovePermissionRequest method. +// req, resp := client.RemovePermissionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SQS) RemovePermissionRequest(input *RemovePermissionInput) (req *request.Request, output *RemovePermissionOutput) { op := &request.Operation{ Name: opRemovePermission, @@ -611,8 +1122,17 @@ func (c *SQS) RemovePermissionRequest(input *RemovePermissionInput) (req *reques return } +// RemovePermission API operation for Amazon Simple Queue Service. +// // Revokes any permissions in the queue policy that matches the specified Label // parameter. Only the owner of the queue can remove permissions. +// +// 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 Simple Queue Service's +// API operation RemovePermission for usage and error information. func (c *SQS) RemovePermission(input *RemovePermissionInput) (*RemovePermissionOutput, error) { req, out := c.RemovePermissionRequest(input) err := req.Send() @@ -621,7 +1141,30 @@ func (c *SQS) RemovePermission(input *RemovePermissionInput) (*RemovePermissionO const opSendMessage = "SendMessage" -// SendMessageRequest generates a request for the SendMessage operation. +// SendMessageRequest generates a "aws/request.Request" representing the +// client's request for the SendMessage operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SendMessage for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SendMessage method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SendMessageRequest method. +// req, resp := client.SendMessageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SQS) SendMessageRequest(input *SendMessageInput) (req *request.Request, output *SendMessageOutput) { op := &request.Operation{ Name: opSendMessage, @@ -639,6 +1182,8 @@ func (c *SQS) SendMessageRequest(input *SendMessageInput) (req *request.Request, return } +// SendMessage API operation for Amazon Simple Queue Service. +// // Delivers a message to the specified queue. With Amazon SQS, you now have // the ability to send large payload messages that are up to 256KB (262,144 // bytes) in size. To send large payloads, you must use an AWS SDK that supports @@ -651,6 +1196,21 @@ func (c *SQS) SendMessageRequest(input *SendMessageInput) (req *request.Request, // in the list, your request will be rejected. // // #x9 | #xA | #xD | [#x20 to #xD7FF] | [#xE000 to #xFFFD] | [#x10000 to #x10FFFF] +// +// 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 Simple Queue Service's +// API operation SendMessage for usage and error information. +// +// Returned Error Codes: +// * InvalidMessageContents +// The message contains characters outside the allowed set. +// +// * AWS.SimpleQueueService.UnsupportedOperation +// Error code 400. Unsupported operation. +// func (c *SQS) SendMessage(input *SendMessageInput) (*SendMessageOutput, error) { req, out := c.SendMessageRequest(input) err := req.Send() @@ -659,7 +1219,30 @@ func (c *SQS) SendMessage(input *SendMessageInput) (*SendMessageOutput, error) { const opSendMessageBatch = "SendMessageBatch" -// SendMessageBatchRequest generates a request for the SendMessageBatch operation. +// SendMessageBatchRequest generates a "aws/request.Request" representing the +// client's request for the SendMessageBatch operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SendMessageBatch for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SendMessageBatch method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SendMessageBatchRequest method. +// req, resp := client.SendMessageBatchRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SQS) SendMessageBatchRequest(input *SendMessageBatchInput) (req *request.Request, output *SendMessageBatchOutput) { op := &request.Operation{ Name: opSendMessageBatch, @@ -677,6 +1260,8 @@ func (c *SQS) SendMessageBatchRequest(input *SendMessageBatchInput) (req *reques return } +// SendMessageBatch API operation for Amazon Simple Queue Service. +// // Delivers up to ten messages to the specified queue. This is a batch version // of SendMessage. The result of the send action on each message is reported // individually in the response. The maximum allowed individual message size @@ -692,15 +1277,44 @@ func (c *SQS) SendMessageBatchRequest(input *SendMessageBatchInput) (req *reques // your message, according to the W3C XML specification. For more information, // go to http://www.faqs.org/rfcs/rfc1321.html (http://www.faqs.org/rfcs/rfc1321.html). // If you send any characters that are not included in the list, your request -// will be rejected. #x9 | #xA | #xD | [#x20 to #xD7FF] | [#xE000 to #xFFFD] -// | [#x10000 to #x10FFFF] +// will be rejected. +// +// #x9 | #xA | #xD | [#x20 to #xD7FF] | [#xE000 to #xFFFD] | [#x10000 to #x10FFFF] // // Because the batch request can result in a combination of successful and // unsuccessful actions, you should check for batch errors even when the call -// returns an HTTP status code of 200. Some API actions take lists of parameters. -// These lists are specified using the param.n notation. Values of n are integers -// starting from 1. For example, a parameter list with two elements looks like -// this: +// returns an HTTP status code of 200. +// +// Some API actions take lists of parameters. These lists are specified using +// the param.n notation. Values of n are integers starting from 1. For example, +// a parameter list with two elements looks like this: +// +// 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 Simple Queue Service's +// API operation SendMessageBatch for usage and error information. +// +// Returned Error Codes: +// * AWS.SimpleQueueService.TooManyEntriesInBatchRequest +// Batch request contains more number of entries than permissible. +// +// * AWS.SimpleQueueService.EmptyBatchRequest +// Batch request does not contain an entry. +// +// * AWS.SimpleQueueService.BatchEntryIdsNotDistinct +// Two or more batch entries have the same Id in the request. +// +// * AWS.SimpleQueueService.BatchRequestTooLong +// The length of all the messages put together is more than the limit. +// +// * AWS.SimpleQueueService.InvalidBatchEntryId +// The Id of a batch entry in a batch request does not abide by the specification. +// +// * AWS.SimpleQueueService.UnsupportedOperation +// Error code 400. Unsupported operation. +// func (c *SQS) SendMessageBatch(input *SendMessageBatchInput) (*SendMessageBatchOutput, error) { req, out := c.SendMessageBatchRequest(input) err := req.Send() @@ -709,7 +1323,30 @@ func (c *SQS) SendMessageBatch(input *SendMessageBatchInput) (*SendMessageBatchO const opSetQueueAttributes = "SetQueueAttributes" -// SetQueueAttributesRequest generates a request for the SetQueueAttributes operation. +// SetQueueAttributesRequest generates a "aws/request.Request" representing the +// client's request for the SetQueueAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetQueueAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetQueueAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetQueueAttributesRequest method. +// req, resp := client.SetQueueAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *SQS) SetQueueAttributesRequest(input *SetQueueAttributesInput) (req *request.Request, output *SetQueueAttributesOutput) { op := &request.Operation{ Name: opSetQueueAttributes, @@ -729,6 +1366,8 @@ func (c *SQS) SetQueueAttributesRequest(input *SetQueueAttributesInput) (req *re return } +// SetQueueAttributes API operation for Amazon Simple Queue Service. +// // Sets the value of one or more queue attributes. When you change a queue's // attributes, the change can take up to 60 seconds for most of the attributes // to propagate throughout the SQS system. Changes made to the MessageRetentionPeriod @@ -737,6 +1376,18 @@ func (c *SQS) SetQueueAttributesRequest(input *SetQueueAttributesInput) (req *re // Going forward, new attributes might be added. If you are writing code that // calls this action, we recommend that you structure your code so that it can // handle new attributes gracefully. +// +// 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 Simple Queue Service's +// API operation SetQueueAttributes for usage and error information. +// +// Returned Error Codes: +// * InvalidAttributeName +// The attribute referred to does not exist. +// func (c *SQS) SetQueueAttributes(input *SetQueueAttributesInput) (*SetQueueAttributesOutput, error) { req, out := c.SetQueueAttributesRequest(input) err := req.Send() @@ -751,6 +1402,8 @@ type AddPermissionInput struct { // does not need to be signed up for Amazon SQS. For information about locating // the AWS account identification, see Your AWS Identifiers (http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/AWSCredentials.html) // in the Amazon SQS Developer Guide. + // + // AWSAccountIds is a required field AWSAccountIds []*string `locationNameList:"AWSAccountId" type:"list" flattened:"true" required:"true"` // The action the client wants to allow for the specified principal. The following @@ -762,14 +1415,22 @@ type AddPermissionInput struct { // Specifying SendMessage, DeleteMessage, or ChangeMessageVisibility for the // ActionName.n also grants permissions for the corresponding batch versions // of those actions: SendMessageBatch, DeleteMessageBatch, and ChangeMessageVisibilityBatch. + // + // Actions is a required field Actions []*string `locationNameList:"ActionName" type:"list" flattened:"true" required:"true"` // The unique identification of the permission you're setting (e.g., AliceSendMessage). // Constraints: Maximum 80 characters; alphanumeric characters, hyphens (-), // and underscores (_) are allowed. + // + // Label is a required field Label *string `type:"string" required:"true"` // The URL of the Amazon SQS queue to take action on. + // + // Queue URLs are case-sensitive. + // + // QueueUrl is a required field QueueUrl *string `type:"string" required:"true"` } @@ -825,15 +1486,21 @@ type BatchResultErrorEntry struct { _ struct{} `type:"structure"` // An error code representing why the action failed on this entry. + // + // Code is a required field Code *string `type:"string" required:"true"` // The id of an entry in a batch request. + // + // Id is a required field Id *string `type:"string" required:"true"` // A message explaining why the action failed on this entry. Message *string `type:"string"` // Whether the error happened due to the sender's fault. + // + // SenderFault is a required field SenderFault *bool `type:"boolean" required:"true"` } @@ -852,9 +1519,15 @@ type ChangeMessageVisibilityBatchInput struct { // A list of receipt handles of the messages for which the visibility timeout // must be changed. + // + // Entries is a required field Entries []*ChangeMessageVisibilityBatchRequestEntry `locationNameList:"ChangeMessageVisibilityBatchRequestEntry" type:"list" flattened:"true" required:"true"` // The URL of the Amazon SQS queue to take action on. + // + // Queue URLs are case-sensitive. + // + // QueueUrl is a required field QueueUrl *string `type:"string" required:"true"` } @@ -901,9 +1574,13 @@ type ChangeMessageVisibilityBatchOutput struct { _ struct{} `type:"structure"` // A list of BatchResultErrorEntry items. + // + // Failed is a required field Failed []*BatchResultErrorEntry `locationNameList:"BatchResultErrorEntry" type:"list" flattened:"true" required:"true"` // A list of ChangeMessageVisibilityBatchResultEntry items. + // + // Successful is a required field Successful []*ChangeMessageVisibilityBatchResultEntry `locationNameList:"ChangeMessageVisibilityBatchResultEntry" type:"list" flattened:"true" required:"true"` } @@ -933,9 +1610,13 @@ type ChangeMessageVisibilityBatchRequestEntry struct { // An identifier for this particular receipt handle. This is used to communicate // the result. Note that the Ids of a batch request need to be unique within // the request. + // + // Id is a required field Id *string `type:"string" required:"true"` // A receipt handle. + // + // ReceiptHandle is a required field ReceiptHandle *string `type:"string" required:"true"` // The new value (in seconds) for the message's visibility timeout. @@ -973,6 +1654,8 @@ type ChangeMessageVisibilityBatchResultEntry struct { _ struct{} `type:"structure"` // Represents a message whose visibility timeout has been changed successfully. + // + // Id is a required field Id *string `type:"string" required:"true"` } @@ -990,14 +1673,22 @@ type ChangeMessageVisibilityInput struct { _ struct{} `type:"structure"` // The URL of the Amazon SQS queue to take action on. + // + // Queue URLs are case-sensitive. + // + // QueueUrl is a required field QueueUrl *string `type:"string" required:"true"` // The receipt handle associated with the message whose visibility timeout should // be changed. This parameter is returned by the ReceiveMessage action. + // + // ReceiptHandle is a required field ReceiptHandle *string `type:"string" required:"true"` // The new value (in seconds - from 0 to 43200 - maximum 12 hours) for the message's // visibility timeout. + // + // VisibilityTimeout is a required field VisibilityTimeout *int64 `type:"integer" required:"true"` } @@ -1052,26 +1743,46 @@ type CreateQueueInput struct { // The following lists the names, descriptions, and values of the special request // parameters the CreateQueue action uses: // - // DelaySeconds - The time in seconds that the delivery of all messages in + // DelaySeconds - The time in seconds that the delivery of all messages in // the queue will be delayed. An integer from 0 to 900 (15 minutes). The default - // for this attribute is 0 (zero). MaximumMessageSize - The limit of how many - // bytes a message can contain before Amazon SQS rejects it. An integer from - // 1024 bytes (1 KiB) up to 262144 bytes (256 KiB). The default for this attribute - // is 262144 (256 KiB). MessageRetentionPeriod - The number of seconds Amazon - // SQS retains a message. Integer representing seconds, from 60 (1 minute) to - // 1209600 (14 days). The default for this attribute is 345600 (4 days). Policy - // - The queue's policy. A valid AWS policy. For more information about policy - // structure, see Overview of AWS IAM Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html) - // in the Amazon IAM User Guide. ReceiveMessageWaitTimeSeconds - The time for - // which a ReceiveMessage call will wait for a message to arrive. An integer - // from 0 to 20 (seconds). The default for this attribute is 0. VisibilityTimeout - // - The visibility timeout for the queue. An integer from 0 to 43200 (12 hours). - // The default for this attribute is 30. For more information about visibility - // timeout, see Visibility Timeout (http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/AboutVT.html) + // for this attribute is 0 (zero). + // + // MaximumMessageSize - The limit of how many bytes a message can contain before + // Amazon SQS rejects it. An integer from 1024 bytes (1 KiB) up to 262144 bytes + // (256 KiB). The default for this attribute is 262144 (256 KiB). + // + // MessageRetentionPeriod - The number of seconds Amazon SQS retains a message. + // Integer representing seconds, from 60 (1 minute) to 1209600 (14 days). The + // default for this attribute is 345600 (4 days). + // + // Policy - The queue's policy. A valid AWS policy. For more information about + // policy structure, see Overview of AWS IAM Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html) + // in the Amazon IAM User Guide. + // + // ReceiveMessageWaitTimeSeconds - The time for which a ReceiveMessage call + // will wait for a message to arrive. An integer from 0 to 20 (seconds). The + // default for this attribute is 0. + // + // RedrivePolicy - The parameters for dead letter queue functionality of the + // source queue. For more information about RedrivePolicy and dead letter queues, + // see Using Amazon SQS Dead Letter Queues (http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/SQSDeadLetterQueue.html) // in the Amazon SQS Developer Guide. + // + // VisibilityTimeout - The visibility timeout for the queue. An integer from + // 0 to 43200 (12 hours). The default for this attribute is 30. For more information + // about visibility timeout, see Visibility Timeout (http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/AboutVT.html) + // in the Amazon SQS Developer Guide. + // + // Any other valid special request parameters that are specified (such as + // ApproximateNumberOfMessages, ApproximateNumberOfMessagesDelayed, ApproximateNumberOfMessagesNotVisible, + // CreatedTimestamp, LastModifiedTimestamp, and QueueArn) will be ignored. Attributes map[string]*string `locationName:"Attribute" locationNameKey:"Name" locationNameValue:"Value" type:"map" flattened:"true"` // The name for the queue to be created. + // + // Queue names are case-sensitive. + // + // QueueName is a required field QueueName *string `type:"string" required:"true"` } @@ -1120,9 +1831,15 @@ type DeleteMessageBatchInput struct { _ struct{} `type:"structure"` // A list of receipt handles for the messages to be deleted. + // + // Entries is a required field Entries []*DeleteMessageBatchRequestEntry `locationNameList:"DeleteMessageBatchRequestEntry" type:"list" flattened:"true" required:"true"` // The URL of the Amazon SQS queue to take action on. + // + // Queue URLs are case-sensitive. + // + // QueueUrl is a required field QueueUrl *string `type:"string" required:"true"` } @@ -1169,9 +1886,13 @@ type DeleteMessageBatchOutput struct { _ struct{} `type:"structure"` // A list of BatchResultErrorEntry items. + // + // Failed is a required field Failed []*BatchResultErrorEntry `locationNameList:"BatchResultErrorEntry" type:"list" flattened:"true" required:"true"` // A list of DeleteMessageBatchResultEntry items. + // + // Successful is a required field Successful []*DeleteMessageBatchResultEntry `locationNameList:"DeleteMessageBatchResultEntry" type:"list" flattened:"true" required:"true"` } @@ -1192,9 +1913,13 @@ type DeleteMessageBatchRequestEntry struct { // An identifier for this particular receipt handle. This is used to communicate // the result. Note that the Ids of a batch request need to be unique within // the request. + // + // Id is a required field Id *string `type:"string" required:"true"` // A receipt handle. + // + // ReceiptHandle is a required field ReceiptHandle *string `type:"string" required:"true"` } @@ -1229,6 +1954,8 @@ type DeleteMessageBatchResultEntry struct { _ struct{} `type:"structure"` // Represents a successfully deleted message. + // + // Id is a required field Id *string `type:"string" required:"true"` } @@ -1246,9 +1973,15 @@ type DeleteMessageInput struct { _ struct{} `type:"structure"` // The URL of the Amazon SQS queue to take action on. + // + // Queue URLs are case-sensitive. + // + // QueueUrl is a required field QueueUrl *string `type:"string" required:"true"` // The receipt handle associated with the message to delete. + // + // ReceiptHandle is a required field ReceiptHandle *string `type:"string" required:"true"` } @@ -1296,6 +2029,10 @@ type DeleteQueueInput struct { _ struct{} `type:"structure"` // The URL of the Amazon SQS queue to take action on. + // + // Queue URLs are case-sensitive. + // + // QueueUrl is a required field QueueUrl *string `type:"string" required:"true"` } @@ -1339,10 +2076,64 @@ func (s DeleteQueueOutput) GoString() string { type GetQueueAttributesInput struct { _ struct{} `type:"structure"` - // A list of attributes to retrieve information for. + // A list of attributes to retrieve information for. The following attributes + // are supported: + // + // All - returns all values. + // + // ApproximateNumberOfMessages - returns the approximate number of visible + // messages in a queue. For more information, see Resources Required to Process + // Messages (http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/ApproximateNumber.html) + // in the Amazon SQS Developer Guide. + // + // ApproximateNumberOfMessagesNotVisible - returns the approximate number of + // messages that are not timed-out and not deleted. For more information, see + // Resources Required to Process Messages (http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/ApproximateNumber.html) + // in the Amazon SQS Developer Guide. + // + // VisibilityTimeout - returns the visibility timeout for the queue. For more + // information about visibility timeout, see Visibility Timeout (http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/AboutVT.html) + // in the Amazon SQS Developer Guide. + // + // CreatedTimestamp - returns the time when the queue was created (epoch time + // in seconds). + // + // LastModifiedTimestamp - returns the time when the queue was last changed + // (epoch time in seconds). + // + // Policy - returns the queue's policy. + // + // MaximumMessageSize - returns the limit of how many bytes a message can contain + // before Amazon SQS rejects it. + // + // MessageRetentionPeriod - returns the number of seconds Amazon SQS retains + // a message. + // + // QueueArn - returns the queue's Amazon resource name (ARN). + // + // ApproximateNumberOfMessagesDelayed - returns the approximate number of messages + // that are pending to be added to the queue. + // + // DelaySeconds - returns the default delay on the queue in seconds. + // + // ReceiveMessageWaitTimeSeconds - returns the time for which a ReceiveMessage + // call will wait for a message to arrive. + // + // RedrivePolicy - returns the parameters for dead letter queue functionality + // of the source queue. For more information about RedrivePolicy and dead letter + // queues, see Using Amazon SQS Dead Letter Queues (http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/SQSDeadLetterQueue.html) + // in the Amazon SQS Developer Guide. + // + // Going forward, new attributes might be added. If you are writing code that + // calls this action, we recommend that you structure your code so that it can + // handle new attributes gracefully. AttributeNames []*string `locationNameList:"AttributeName" type:"list" flattened:"true"` // The URL of the Amazon SQS queue to take action on. + // + // Queue URLs are case-sensitive. + // + // QueueUrl is a required field QueueUrl *string `type:"string" required:"true"` } @@ -1392,6 +2183,10 @@ type GetQueueUrlInput struct { // The name of the queue whose URL must be fetched. Maximum 80 characters; alphanumeric // characters, hyphens (-), and underscores (_) are allowed. + // + // Queue names are case-sensitive. + // + // QueueName is a required field QueueName *string `type:"string" required:"true"` // The AWS account ID of the account that created the queue. @@ -1444,6 +2239,10 @@ type ListDeadLetterSourceQueuesInput struct { _ struct{} `type:"structure"` // The queue URL of a dead letter queue. + // + // Queue URLs are case-sensitive. + // + // QueueUrl is a required field QueueUrl *string `type:"string" required:"true"` } @@ -1476,6 +2275,8 @@ type ListDeadLetterSourceQueuesOutput struct { // A list of source queue URLs that have the RedrivePolicy queue attribute configured // with a dead letter queue. + // + // QueueUrls is a required field QueueUrls []*string `locationName:"queueUrls" locationNameList:"QueueUrl" type:"list" flattened:"true" required:"true"` } @@ -1494,6 +2295,8 @@ type ListQueuesInput struct { // A string to use for filtering the list results. Only those queues whose name // begins with the specified string are returned. + // + // Queue names are case-sensitive. QueueNamePrefix *string `type:"string"` } @@ -1592,8 +2395,12 @@ type MessageAttributeValue struct { BinaryValue []byte `type:"blob"` // Amazon SQS supports the following logical data types: String, Number, and - // Binary. In addition, you can append your own custom labels. For more information, - // see Message Attribute Data Types (http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/SQSMessageAttributes.html#SQSMessageAttributes.DataTypes). + // Binary. For the Number data type, you must use StringValue. + // + // You can also append custom labels. For more information, see Message Attribute + // Data Types (http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/SQSMessageAttributes.html#SQSMessageAttributes.DataTypes). + // + // DataType is a required field DataType *string `type:"string" required:"true"` // Not implemented. Reserved for future use. @@ -1632,6 +2439,10 @@ type PurgeQueueInput struct { // The queue URL of the queue to delete the messages from when using the PurgeQueue // API. + // + // Queue URLs are case-sensitive. + // + // QueueUrl is a required field QueueUrl *string `type:"string" required:"true"` } @@ -1675,18 +2486,28 @@ func (s PurgeQueueOutput) GoString() string { type ReceiveMessageInput struct { _ struct{} `type:"structure"` - // A list of attributes that need to be returned along with each message. + // A list of attributes that need to be returned along with each message. These + // attributes include: + // + // All - returns all values. // - // The following lists the names and descriptions of the attributes that can - // be returned: + // ApproximateFirstReceiveTimestamp - returns the time when the message was + // first received from the queue (epoch time in milliseconds). // - // All - returns all values. ApproximateFirstReceiveTimestamp - returns the - // time when the message was first received from the queue (epoch time in milliseconds). // ApproximateReceiveCount - returns the number of times a message has been - // received from the queue but not deleted. SenderId - returns the AWS account - // number (or the IP address, if anonymous access is allowed) of the sender. - // SentTimestamp - returns the time when the message was sent to the queue (epoch - // time in milliseconds). + // received from the queue but not deleted. + // + // SenderId - returns the AWS account number (or the IP address, if anonymous + // access is allowed) of the sender. + // + // SentTimestamp - returns the time when the message was sent to the queue + // (epoch time in milliseconds). + // + // Any other valid special request parameters that are specified (such as + // ApproximateNumberOfMessages, ApproximateNumberOfMessagesDelayed, ApproximateNumberOfMessagesNotVisible, + // CreatedTimestamp, DelaySeconds, LastModifiedTimestamp, MaximumMessageSize, + // MessageRetentionPeriod, Policy, QueueArn, ReceiveMessageWaitTimeSeconds, + // RedrivePolicy, and VisibilityTimeout) will be ignored. AttributeNames []*string `locationNameList:"AttributeName" type:"list" flattened:"true"` // The maximum number of messages to return. Amazon SQS never returns more messages @@ -1707,11 +2528,15 @@ type ReceiveMessageInput struct { // // When using ReceiveMessage, you can send a list of attribute names to receive, // or you can return all of the attributes by specifying "All" or ".*" in your - // request. You can also use "foo.*" to return all message attributes starting - // with the "foo" prefix. + // request. You can also use "bar.*" to return all message attributes starting + // with the "bar" prefix. MessageAttributeNames []*string `locationNameList:"MessageAttributeName" type:"list" flattened:"true"` // The URL of the Amazon SQS queue to take action on. + // + // Queue URLs are case-sensitive. + // + // QueueUrl is a required field QueueUrl *string `type:"string" required:"true"` // The duration (in seconds) that the received messages are hidden from subsequent @@ -1770,9 +2595,15 @@ type RemovePermissionInput struct { // The identification of the permission to remove. This is the label added with // the AddPermission action. + // + // Label is a required field Label *string `type:"string" required:"true"` // The URL of the Amazon SQS queue to take action on. + // + // Queue URLs are case-sensitive. + // + // QueueUrl is a required field QueueUrl *string `type:"string" required:"true"` } @@ -1820,9 +2651,15 @@ type SendMessageBatchInput struct { _ struct{} `type:"structure"` // A list of SendMessageBatchRequestEntry items. + // + // Entries is a required field Entries []*SendMessageBatchRequestEntry `locationNameList:"SendMessageBatchRequestEntry" type:"list" flattened:"true" required:"true"` // The URL of the Amazon SQS queue to take action on. + // + // Queue URLs are case-sensitive. + // + // QueueUrl is a required field QueueUrl *string `type:"string" required:"true"` } @@ -1870,9 +2707,13 @@ type SendMessageBatchOutput struct { // A list of BatchResultErrorEntry items with the error detail about each message // that could not be enqueued. + // + // Failed is a required field Failed []*BatchResultErrorEntry `locationNameList:"BatchResultErrorEntry" type:"list" flattened:"true" required:"true"` // A list of SendMessageBatchResultEntry items. + // + // Successful is a required field Successful []*SendMessageBatchResultEntry `locationNameList:"SendMessageBatchResultEntry" type:"list" flattened:"true" required:"true"` } @@ -1896,6 +2737,8 @@ type SendMessageBatchRequestEntry struct { // An identifier for the message in this batch. This is used to communicate // the result. Note that the Ids of a batch request need to be unique within // the request. + // + // Id is a required field Id *string `type:"string" required:"true"` // Each message attribute consists of a Name, Type, and Value. For more information, @@ -1903,6 +2746,8 @@ type SendMessageBatchRequestEntry struct { MessageAttributes map[string]*MessageAttributeValue `locationName:"MessageAttribute" locationNameKey:"Name" locationNameValue:"Value" type:"map" flattened:"true"` // Body of the message. + // + // MessageBody is a required field MessageBody *string `type:"string" required:"true"` } @@ -1947,6 +2792,8 @@ type SendMessageBatchResultEntry struct { _ struct{} `type:"structure"` // An identifier for the message in this batch. + // + // Id is a required field Id *string `type:"string" required:"true"` // An MD5 digest of the non-URL-encoded message attribute string. This can be @@ -1959,9 +2806,13 @@ type SendMessageBatchResultEntry struct { // to verify that Amazon SQS received the message correctly. Amazon SQS first // URL decodes the message before creating the MD5 digest. For information about // MD5, go to http://www.faqs.org/rfcs/rfc1321.html (http://www.faqs.org/rfcs/rfc1321.html). + // + // MD5OfMessageBody is a required field MD5OfMessageBody *string `type:"string" required:"true"` // An identifier for the message. + // + // MessageId is a required field MessageId *string `type:"string" required:"true"` } @@ -1990,9 +2841,15 @@ type SendMessageInput struct { // The message to send. String maximum 256 KB in size. For a list of allowed // characters, see the preceding important note. + // + // MessageBody is a required field MessageBody *string `type:"string" required:"true"` // The URL of the Amazon SQS queue to take action on. + // + // Queue URLs are case-sensitive. + // + // QueueUrl is a required field QueueUrl *string `type:"string" required:"true"` } @@ -2072,28 +2929,47 @@ type SetQueueAttributesInput struct { // The following lists the names, descriptions, and values of the special request // parameters the SetQueueAttributes action uses: // - // DelaySeconds - The time in seconds that the delivery of all messages in + // DelaySeconds - The time in seconds that the delivery of all messages in // the queue will be delayed. An integer from 0 to 900 (15 minutes). The default - // for this attribute is 0 (zero). MaximumMessageSize - The limit of how many - // bytes a message can contain before Amazon SQS rejects it. An integer from - // 1024 bytes (1 KiB) up to 262144 bytes (256 KiB). The default for this attribute - // is 262144 (256 KiB). MessageRetentionPeriod - The number of seconds Amazon - // SQS retains a message. Integer representing seconds, from 60 (1 minute) to - // 1209600 (14 days). The default for this attribute is 345600 (4 days). Policy - // - The queue's policy. A valid AWS policy. For more information about policy - // structure, see Overview of AWS IAM Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html) - // in the Amazon IAM User Guide. ReceiveMessageWaitTimeSeconds - The time for - // which a ReceiveMessage call will wait for a message to arrive. An integer - // from 0 to 20 (seconds). The default for this attribute is 0. VisibilityTimeout - // - The visibility timeout for the queue. An integer from 0 to 43200 (12 hours). - // The default for this attribute is 30. For more information about visibility - // timeout, see Visibility Timeout in the Amazon SQS Developer Guide. RedrivePolicy - // - The parameters for dead letter queue functionality of the source queue. - // For more information about RedrivePolicy and dead letter queues, see Using - // Amazon SQS Dead Letter Queues in the Amazon SQS Developer Guide. + // for this attribute is 0 (zero). + // + // MaximumMessageSize - The limit of how many bytes a message can contain before + // Amazon SQS rejects it. An integer from 1024 bytes (1 KiB) up to 262144 bytes + // (256 KiB). The default for this attribute is 262144 (256 KiB). + // + // MessageRetentionPeriod - The number of seconds Amazon SQS retains a message. + // Integer representing seconds, from 60 (1 minute) to 1209600 (14 days). The + // default for this attribute is 345600 (4 days). + // + // Policy - The queue's policy. A valid AWS policy. For more information about + // policy structure, see Overview of AWS IAM Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html) + // in the Amazon IAM User Guide. + // + // ReceiveMessageWaitTimeSeconds - The time for which a ReceiveMessage call + // will wait for a message to arrive. An integer from 0 to 20 (seconds). The + // default for this attribute is 0. + // + // VisibilityTimeout - The visibility timeout for the queue. An integer from + // 0 to 43200 (12 hours). The default for this attribute is 30. For more information + // about visibility timeout, see Visibility Timeout in the Amazon SQS Developer + // Guide. + // + // RedrivePolicy - The parameters for dead letter queue functionality of the + // source queue. For more information about RedrivePolicy and dead letter queues, + // see Using Amazon SQS Dead Letter Queues in the Amazon SQS Developer Guide. + // + // Any other valid special request parameters that are specified (such as + // ApproximateNumberOfMessages, ApproximateNumberOfMessagesDelayed, ApproximateNumberOfMessagesNotVisible, + // CreatedTimestamp, LastModifiedTimestamp, and QueueArn) will be ignored. + // + // Attributes is a required field Attributes map[string]*string `locationName:"Attribute" locationNameKey:"Name" locationNameValue:"Value" type:"map" flattened:"true" required:"true"` // The URL of the Amazon SQS queue to take action on. + // + // Queue URLs are case-sensitive. + // + // QueueUrl is a required field QueueUrl *string `type:"string" required:"true"` } @@ -2138,30 +3014,42 @@ func (s SetQueueAttributesOutput) GoString() string { } const ( - // @enum QueueAttributeName + // QueueAttributeNamePolicy is a QueueAttributeName enum value QueueAttributeNamePolicy = "Policy" - // @enum QueueAttributeName + + // QueueAttributeNameVisibilityTimeout is a QueueAttributeName enum value QueueAttributeNameVisibilityTimeout = "VisibilityTimeout" - // @enum QueueAttributeName + + // QueueAttributeNameMaximumMessageSize is a QueueAttributeName enum value QueueAttributeNameMaximumMessageSize = "MaximumMessageSize" - // @enum QueueAttributeName + + // QueueAttributeNameMessageRetentionPeriod is a QueueAttributeName enum value QueueAttributeNameMessageRetentionPeriod = "MessageRetentionPeriod" - // @enum QueueAttributeName + + // QueueAttributeNameApproximateNumberOfMessages is a QueueAttributeName enum value QueueAttributeNameApproximateNumberOfMessages = "ApproximateNumberOfMessages" - // @enum QueueAttributeName + + // QueueAttributeNameApproximateNumberOfMessagesNotVisible is a QueueAttributeName enum value QueueAttributeNameApproximateNumberOfMessagesNotVisible = "ApproximateNumberOfMessagesNotVisible" - // @enum QueueAttributeName + + // QueueAttributeNameCreatedTimestamp is a QueueAttributeName enum value QueueAttributeNameCreatedTimestamp = "CreatedTimestamp" - // @enum QueueAttributeName + + // QueueAttributeNameLastModifiedTimestamp is a QueueAttributeName enum value QueueAttributeNameLastModifiedTimestamp = "LastModifiedTimestamp" - // @enum QueueAttributeName + + // QueueAttributeNameQueueArn is a QueueAttributeName enum value QueueAttributeNameQueueArn = "QueueArn" - // @enum QueueAttributeName + + // QueueAttributeNameApproximateNumberOfMessagesDelayed is a QueueAttributeName enum value QueueAttributeNameApproximateNumberOfMessagesDelayed = "ApproximateNumberOfMessagesDelayed" - // @enum QueueAttributeName + + // QueueAttributeNameDelaySeconds is a QueueAttributeName enum value QueueAttributeNameDelaySeconds = "DelaySeconds" - // @enum QueueAttributeName + + // QueueAttributeNameReceiveMessageWaitTimeSeconds is a QueueAttributeName enum value QueueAttributeNameReceiveMessageWaitTimeSeconds = "ReceiveMessageWaitTimeSeconds" - // @enum QueueAttributeName + + // QueueAttributeNameRedrivePolicy is a QueueAttributeName enum value QueueAttributeNameRedrivePolicy = "RedrivePolicy" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go b/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go new file mode 100644 index 000000000000..040b5d6135b5 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go @@ -0,0 +1,4896 @@ +// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. + +// Package ssm provides a client for Amazon Simple Systems Management Service. +package ssm + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" +) + +const opAddTagsToResource = "AddTagsToResource" + +// AddTagsToResourceRequest generates a "aws/request.Request" representing the +// client's request for the AddTagsToResource operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AddTagsToResource for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AddTagsToResource method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AddTagsToResourceRequest method. +// req, resp := client.AddTagsToResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *AddTagsToResourceOutput) { + op := &request.Operation{ + Name: opAddTagsToResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AddTagsToResourceInput{} + } + + req = c.newRequest(op, input, output) + output = &AddTagsToResourceOutput{} + req.Data = output + return +} + +// AddTagsToResource API operation for Amazon Simple Systems Management Service. +// +// Adds or overwrites one or more tags for the specified resource. Tags are +// metadata that you assign to your managed instances. Tags enable you to categorize +// your managed instances in different ways, for example, by purpose, owner, +// or environment. Each tag consists of a key and an optional value, both of +// which you define. For example, you could define a set of tags for your account's +// managed instances that helps you track each instance's owner and stack level. +// For example: Key=Owner and Value=DbAdmin, SysAdmin, or Dev. Or Key=Stack +// and Value=Production, Pre-Production, or Test. Each resource can have a maximum +// of 10 tags. +// +// We recommend that you devise a set of tag keys that meets your needs for +// each resource type. Using a consistent set of tag keys makes it easier for +// you to manage your resources. You can search and filter the resources based +// on the tags you add. Tags don't have any semantic meaning to Amazon EC2 and +// are interpreted strictly as a string of characters. +// +// For more information about tags, see Tagging Your Amazon EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) +// in the Amazon EC2 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Systems Management Service's +// API operation AddTagsToResource for usage and error information. +// +// Returned Error Codes: +// * InvalidResourceType +// The resource type is not valid. If you are attempting to tag an instance, +// the instance must be a registered, managed instance. +// +// * InvalidResourceId +// The resource ID is not valid. Verify that you entered the correct ID and +// try again. +// +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResourceOutput, error) { + req, out := c.AddTagsToResourceRequest(input) + err := req.Send() + return out, err +} + +const opCancelCommand = "CancelCommand" + +// CancelCommandRequest generates a "aws/request.Request" representing the +// client's request for the CancelCommand operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CancelCommand for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CancelCommand method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CancelCommandRequest method. +// req, resp := client.CancelCommandRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) CancelCommandRequest(input *CancelCommandInput) (req *request.Request, output *CancelCommandOutput) { + op := &request.Operation{ + Name: opCancelCommand, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CancelCommandInput{} + } + + req = c.newRequest(op, input, output) + output = &CancelCommandOutput{} + req.Data = output + return +} + +// CancelCommand API operation for Amazon Simple Systems Management Service. +// +// Attempts to cancel the command specified by the Command ID. There is no guarantee +// that the command will be terminated and the underlying process stopped. +// +// 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 Simple Systems Management Service's +// API operation CancelCommand for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidCommandId + +// +// * InvalidInstanceId +// The instance is not in valid state. Valid states are: Running, Pending, Stopped, +// Stopping. Invalid states are: Shutting-down and Terminated. +// +// * DuplicateInstanceId +// You cannot specify an instance ID in more than one association. +// +func (c *SSM) CancelCommand(input *CancelCommandInput) (*CancelCommandOutput, error) { + req, out := c.CancelCommandRequest(input) + err := req.Send() + return out, err +} + +const opCreateActivation = "CreateActivation" + +// CreateActivationRequest generates a "aws/request.Request" representing the +// client's request for the CreateActivation operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateActivation for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateActivation method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateActivationRequest method. +// req, resp := client.CreateActivationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) CreateActivationRequest(input *CreateActivationInput) (req *request.Request, output *CreateActivationOutput) { + op := &request.Operation{ + Name: opCreateActivation, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateActivationInput{} + } + + req = c.newRequest(op, input, output) + output = &CreateActivationOutput{} + req.Data = output + return +} + +// CreateActivation API operation for Amazon Simple Systems Management Service. +// +// Registers your on-premises server or virtual machine with Amazon EC2 so that +// you can manage these resources using Run Command. An on-premises server or +// virtual machine that has been registered with EC2 is called a managed instance. +// For more information about activations, see Setting Up Managed Instances +// (Linux) (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/managed-instances.html) +// or Setting Up Managed Instances (Windows) (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/managed-instances.html) +// in the Amazon EC2 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 +// the error. +// +// See the AWS API reference guide for Amazon Simple Systems Management Service's +// API operation CreateActivation for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) CreateActivation(input *CreateActivationInput) (*CreateActivationOutput, error) { + req, out := c.CreateActivationRequest(input) + err := req.Send() + return out, err +} + +const opCreateAssociation = "CreateAssociation" + +// CreateAssociationRequest generates a "aws/request.Request" representing the +// client's request for the CreateAssociation operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateAssociation for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateAssociation method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateAssociationRequest method. +// req, resp := client.CreateAssociationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) CreateAssociationRequest(input *CreateAssociationInput) (req *request.Request, output *CreateAssociationOutput) { + op := &request.Operation{ + Name: opCreateAssociation, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateAssociationInput{} + } + + req = c.newRequest(op, input, output) + output = &CreateAssociationOutput{} + req.Data = output + return +} + +// CreateAssociation API operation for Amazon Simple Systems Management Service. +// +// Associates the specified SSM document with the specified instance. +// +// When you associate an SSM document with an instance, the configuration agent +// on the instance (SSM agent for Linux and EC2Config service for Windows) processes +// the document and configures the instance as specified. +// +// If you associate a document with an instance that already has an associated +// document, the system throws the AssociationAlreadyExists exception. +// +// 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 Simple Systems Management Service's +// API operation CreateAssociation for usage and error information. +// +// Returned Error Codes: +// * AssociationAlreadyExists +// The specified association already exists. +// +// * AssociationLimitExceeded +// You can have at most 2,000 active associations. +// +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidDocument +// The specified document does not exist. +// +// * InvalidInstanceId +// The instance is not in valid state. Valid states are: Running, Pending, Stopped, +// Stopping. Invalid states are: Shutting-down and Terminated. +// +// * UnsupportedPlatformType +// The document does not support the platform type of the given instance ID(s). +// For example, you sent an SSM document for a Windows instance to a Linux instance. +// +// * InvalidParameters +// You must specify values for all required parameters in the SSM document. +// You can only supply values to parameters defined in the SSM document. +// +func (c *SSM) CreateAssociation(input *CreateAssociationInput) (*CreateAssociationOutput, error) { + req, out := c.CreateAssociationRequest(input) + err := req.Send() + return out, err +} + +const opCreateAssociationBatch = "CreateAssociationBatch" + +// CreateAssociationBatchRequest generates a "aws/request.Request" representing the +// client's request for the CreateAssociationBatch operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateAssociationBatch for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateAssociationBatch method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateAssociationBatchRequest method. +// req, resp := client.CreateAssociationBatchRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) CreateAssociationBatchRequest(input *CreateAssociationBatchInput) (req *request.Request, output *CreateAssociationBatchOutput) { + op := &request.Operation{ + Name: opCreateAssociationBatch, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateAssociationBatchInput{} + } + + req = c.newRequest(op, input, output) + output = &CreateAssociationBatchOutput{} + req.Data = output + return +} + +// CreateAssociationBatch API operation for Amazon Simple Systems Management Service. +// +// Associates the specified SSM document with the specified instances. +// +// When you associate an SSM document with an instance, the configuration agent +// on the instance (SSM agent for Linux and EC2Config service for Windows) processes +// the document and configures the instance as specified. +// +// If you associate a document with an instance that already has an associated +// document, the system throws the AssociationAlreadyExists exception. +// +// 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 Simple Systems Management Service's +// API operation CreateAssociationBatch for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidDocument +// The specified document does not exist. +// +// * InvalidInstanceId +// The instance is not in valid state. Valid states are: Running, Pending, Stopped, +// Stopping. Invalid states are: Shutting-down and Terminated. +// +// * InvalidParameters +// You must specify values for all required parameters in the SSM document. +// You can only supply values to parameters defined in the SSM document. +// +// * DuplicateInstanceId +// You cannot specify an instance ID in more than one association. +// +// * AssociationLimitExceeded +// You can have at most 2,000 active associations. +// +// * UnsupportedPlatformType +// The document does not support the platform type of the given instance ID(s). +// For example, you sent an SSM document for a Windows instance to a Linux instance. +// +func (c *SSM) CreateAssociationBatch(input *CreateAssociationBatchInput) (*CreateAssociationBatchOutput, error) { + req, out := c.CreateAssociationBatchRequest(input) + err := req.Send() + return out, err +} + +const opCreateDocument = "CreateDocument" + +// CreateDocumentRequest generates a "aws/request.Request" representing the +// client's request for the CreateDocument operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateDocument for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateDocument method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateDocumentRequest method. +// req, resp := client.CreateDocumentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) CreateDocumentRequest(input *CreateDocumentInput) (req *request.Request, output *CreateDocumentOutput) { + op := &request.Operation{ + Name: opCreateDocument, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateDocumentInput{} + } + + req = c.newRequest(op, input, output) + output = &CreateDocumentOutput{} + req.Data = output + return +} + +// CreateDocument API operation for Amazon Simple Systems Management Service. +// +// Creates an SSM document. +// +// After you create an SSM document, you can use CreateAssociation to associate +// it with one or more running instances. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Systems Management Service's +// API operation CreateDocument for usage and error information. +// +// Returned Error Codes: +// * DocumentAlreadyExists +// The specified SSM document already exists. +// +// * MaxDocumentSizeExceeded +// The size limit of an SSM document is 64 KB. +// +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidDocumentContent +// The content for the SSM document is not valid. +// +// * DocumentLimitExceeded +// You can have at most 200 active SSM documents. +// +func (c *SSM) CreateDocument(input *CreateDocumentInput) (*CreateDocumentOutput, error) { + req, out := c.CreateDocumentRequest(input) + err := req.Send() + return out, err +} + +const opDeleteActivation = "DeleteActivation" + +// DeleteActivationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteActivation operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteActivation for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteActivation method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteActivationRequest method. +// req, resp := client.DeleteActivationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) DeleteActivationRequest(input *DeleteActivationInput) (req *request.Request, output *DeleteActivationOutput) { + op := &request.Operation{ + Name: opDeleteActivation, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteActivationInput{} + } + + req = c.newRequest(op, input, output) + output = &DeleteActivationOutput{} + req.Data = output + return +} + +// DeleteActivation API operation for Amazon Simple Systems Management Service. +// +// Deletes an activation. You are not required to delete an activation. If you +// delete an activation, you can no longer use it to register additional managed +// instances. Deleting an activation does not de-register managed instances. +// You must manually de-register managed instances. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Systems Management Service's +// API operation DeleteActivation for usage and error information. +// +// Returned Error Codes: +// * InvalidActivationId +// The activation ID is not valid. Verify the you entered the correct ActivationId +// or ActivationCode and try again. +// +// * InvalidActivation +// The activation is not valid. The activation might have been deleted, or the +// ActivationId and the ActivationCode do not match. +// +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) DeleteActivation(input *DeleteActivationInput) (*DeleteActivationOutput, error) { + req, out := c.DeleteActivationRequest(input) + err := req.Send() + return out, err +} + +const opDeleteAssociation = "DeleteAssociation" + +// DeleteAssociationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAssociation operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteAssociation for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteAssociation method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteAssociationRequest method. +// req, resp := client.DeleteAssociationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) DeleteAssociationRequest(input *DeleteAssociationInput) (req *request.Request, output *DeleteAssociationOutput) { + op := &request.Operation{ + Name: opDeleteAssociation, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteAssociationInput{} + } + + req = c.newRequest(op, input, output) + output = &DeleteAssociationOutput{} + req.Data = output + return +} + +// DeleteAssociation API operation for Amazon Simple Systems Management Service. +// +// Disassociates the specified SSM document from the specified instance. +// +// When you disassociate an SSM document from an instance, it does not change +// the configuration of the instance. To change the configuration state of an +// instance after you disassociate a document, you must create a new document +// with the desired configuration and associate it with the instance. +// +// 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 Simple Systems Management Service's +// API operation DeleteAssociation for usage and error information. +// +// Returned Error Codes: +// * AssociationDoesNotExist +// The specified association does not exist. +// +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidDocument +// The specified document does not exist. +// +// * InvalidInstanceId +// The instance is not in valid state. Valid states are: Running, Pending, Stopped, +// Stopping. Invalid states are: Shutting-down and Terminated. +// +// * TooManyUpdates +// There are concurrent updates for a resource that supports one update at a +// time. +// +func (c *SSM) DeleteAssociation(input *DeleteAssociationInput) (*DeleteAssociationOutput, error) { + req, out := c.DeleteAssociationRequest(input) + err := req.Send() + return out, err +} + +const opDeleteDocument = "DeleteDocument" + +// DeleteDocumentRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDocument operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteDocument for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteDocument method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteDocumentRequest method. +// req, resp := client.DeleteDocumentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) DeleteDocumentRequest(input *DeleteDocumentInput) (req *request.Request, output *DeleteDocumentOutput) { + op := &request.Operation{ + Name: opDeleteDocument, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteDocumentInput{} + } + + req = c.newRequest(op, input, output) + output = &DeleteDocumentOutput{} + req.Data = output + return +} + +// DeleteDocument API operation for Amazon Simple Systems Management Service. +// +// Deletes the SSM document and all instance associations to the document. +// +// Before you delete the SSM document, we recommend that you use DeleteAssociation +// to disassociate all instances that are associated with the document. +// +// 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 Simple Systems Management Service's +// API operation DeleteDocument for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidDocument +// The specified document does not exist. +// +// * InvalidDocumentOperation +// You attempted to delete a document while it is still shared. You must stop +// sharing the document before you can delete it. +// +// * AssociatedInstances +// You must disassociate an SSM document from all instances before you can delete +// it. +// +func (c *SSM) DeleteDocument(input *DeleteDocumentInput) (*DeleteDocumentOutput, error) { + req, out := c.DeleteDocumentRequest(input) + err := req.Send() + return out, err +} + +const opDeregisterManagedInstance = "DeregisterManagedInstance" + +// DeregisterManagedInstanceRequest generates a "aws/request.Request" representing the +// client's request for the DeregisterManagedInstance operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeregisterManagedInstance for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeregisterManagedInstance method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeregisterManagedInstanceRequest method. +// req, resp := client.DeregisterManagedInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) DeregisterManagedInstanceRequest(input *DeregisterManagedInstanceInput) (req *request.Request, output *DeregisterManagedInstanceOutput) { + op := &request.Operation{ + Name: opDeregisterManagedInstance, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeregisterManagedInstanceInput{} + } + + req = c.newRequest(op, input, output) + output = &DeregisterManagedInstanceOutput{} + req.Data = output + return +} + +// DeregisterManagedInstance API operation for Amazon Simple Systems Management Service. +// +// Removes the server or virtual machine from the list of registered servers. +// You can reregister the instance again at any time. If you don’t plan to use +// Run Command on the server, we suggest uninstalling the SSM agent first. +// +// 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 Simple Systems Management Service's +// API operation DeregisterManagedInstance for usage and error information. +// +// Returned Error Codes: +// * InvalidInstanceId +// The instance is not in valid state. Valid states are: Running, Pending, Stopped, +// Stopping. Invalid states are: Shutting-down and Terminated. +// +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) DeregisterManagedInstance(input *DeregisterManagedInstanceInput) (*DeregisterManagedInstanceOutput, error) { + req, out := c.DeregisterManagedInstanceRequest(input) + err := req.Send() + return out, err +} + +const opDescribeActivations = "DescribeActivations" + +// DescribeActivationsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeActivations operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeActivations for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeActivations method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeActivationsRequest method. +// req, resp := client.DescribeActivationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) DescribeActivationsRequest(input *DescribeActivationsInput) (req *request.Request, output *DescribeActivationsOutput) { + op := &request.Operation{ + Name: opDescribeActivations, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeActivationsInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeActivationsOutput{} + req.Data = output + return +} + +// DescribeActivations API operation for Amazon Simple Systems Management Service. +// +// Details about the activation, including: the date and time the activation +// was created, the expiration date, the IAM role assigned to the instances +// in the activation, and the number of instances activated by this registration. +// +// 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 Simple Systems Management Service's +// API operation DescribeActivations for usage and error information. +// +// Returned Error Codes: +// * InvalidFilter +// The filter name is not valid. Verify the you entered the correct name and +// try again. +// +// * InvalidNextToken +// The specified token is not valid. +// +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) DescribeActivations(input *DescribeActivationsInput) (*DescribeActivationsOutput, error) { + req, out := c.DescribeActivationsRequest(input) + err := req.Send() + return out, err +} + +// DescribeActivationsPages iterates over the pages of a DescribeActivations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeActivations 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 DescribeActivations operation. +// pageNum := 0 +// err := client.DescribeActivationsPages(params, +// func(page *DescribeActivationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeActivationsPages(input *DescribeActivationsInput, fn func(p *DescribeActivationsOutput, lastPage bool) (shouldContinue bool)) error { + page, _ := c.DescribeActivationsRequest(input) + page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) + return page.EachPage(func(p interface{}, lastPage bool) bool { + return fn(p.(*DescribeActivationsOutput), lastPage) + }) +} + +const opDescribeAssociation = "DescribeAssociation" + +// DescribeAssociationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAssociation operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeAssociation for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeAssociation method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeAssociationRequest method. +// req, resp := client.DescribeAssociationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) DescribeAssociationRequest(input *DescribeAssociationInput) (req *request.Request, output *DescribeAssociationOutput) { + op := &request.Operation{ + Name: opDescribeAssociation, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeAssociationInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeAssociationOutput{} + req.Data = output + return +} + +// DescribeAssociation API operation for Amazon Simple Systems Management Service. +// +// Describes the associations for the specified SSM document or instance. +// +// 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 Simple Systems Management Service's +// API operation DescribeAssociation for usage and error information. +// +// Returned Error Codes: +// * AssociationDoesNotExist +// The specified association does not exist. +// +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidDocument +// The specified document does not exist. +// +// * InvalidInstanceId +// The instance is not in valid state. Valid states are: Running, Pending, Stopped, +// Stopping. Invalid states are: Shutting-down and Terminated. +// +func (c *SSM) DescribeAssociation(input *DescribeAssociationInput) (*DescribeAssociationOutput, error) { + req, out := c.DescribeAssociationRequest(input) + err := req.Send() + return out, err +} + +const opDescribeDocument = "DescribeDocument" + +// DescribeDocumentRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDocument operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeDocument for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeDocument method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeDocumentRequest method. +// req, resp := client.DescribeDocumentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) DescribeDocumentRequest(input *DescribeDocumentInput) (req *request.Request, output *DescribeDocumentOutput) { + op := &request.Operation{ + Name: opDescribeDocument, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeDocumentInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeDocumentOutput{} + req.Data = output + return +} + +// DescribeDocument API operation for Amazon Simple Systems Management Service. +// +// Describes the specified SSM document. +// +// 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 Simple Systems Management Service's +// API operation DescribeDocument for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidDocument +// The specified document does not exist. +// +func (c *SSM) DescribeDocument(input *DescribeDocumentInput) (*DescribeDocumentOutput, error) { + req, out := c.DescribeDocumentRequest(input) + err := req.Send() + return out, err +} + +const opDescribeDocumentPermission = "DescribeDocumentPermission" + +// DescribeDocumentPermissionRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDocumentPermission operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeDocumentPermission for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeDocumentPermission method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeDocumentPermissionRequest method. +// req, resp := client.DescribeDocumentPermissionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) DescribeDocumentPermissionRequest(input *DescribeDocumentPermissionInput) (req *request.Request, output *DescribeDocumentPermissionOutput) { + op := &request.Operation{ + Name: opDescribeDocumentPermission, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeDocumentPermissionInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeDocumentPermissionOutput{} + req.Data = output + return +} + +// DescribeDocumentPermission API operation for Amazon Simple Systems Management Service. +// +// Describes the permissions for an SSM document. If you created the document, +// you are the owner. If a document is shared, it can either be shared privately +// (by specifying a user’s AWS account ID) or publicly (All). +// +// 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 Simple Systems Management Service's +// API operation DescribeDocumentPermission for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidDocument +// The specified document does not exist. +// +// * InvalidPermissionType +// The permission type is not supported. Share is the only supported permission +// type. +// +func (c *SSM) DescribeDocumentPermission(input *DescribeDocumentPermissionInput) (*DescribeDocumentPermissionOutput, error) { + req, out := c.DescribeDocumentPermissionRequest(input) + err := req.Send() + return out, err +} + +const opDescribeInstanceInformation = "DescribeInstanceInformation" + +// DescribeInstanceInformationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeInstanceInformation operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeInstanceInformation for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeInstanceInformation method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeInstanceInformationRequest method. +// req, resp := client.DescribeInstanceInformationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) DescribeInstanceInformationRequest(input *DescribeInstanceInformationInput) (req *request.Request, output *DescribeInstanceInformationOutput) { + op := &request.Operation{ + Name: opDescribeInstanceInformation, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeInstanceInformationInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeInstanceInformationOutput{} + req.Data = output + return +} + +// DescribeInstanceInformation API operation for Amazon Simple Systems Management Service. +// +// Describes one or more of your instances. You can use this to get information +// about instances like the operating system platform, the SSM agent version +// (Linux), status etc. If you specify one or more instance IDs, it returns +// information for those instances. If you do not specify instance IDs, it returns +// information for all your instances. If you specify an instance ID that is +// not valid or an instance that you do not own, you receive an error. +// +// 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 Simple Systems Management Service's +// API operation DescribeInstanceInformation for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidInstanceId +// The instance is not in valid state. Valid states are: Running, Pending, Stopped, +// Stopping. Invalid states are: Shutting-down and Terminated. +// +// * InvalidNextToken +// The specified token is not valid. +// +// * InvalidInstanceInformationFilterValue +// The specified filter value is not valid. +// +// * InvalidFilterKey +// The specified key is not valid. +// +func (c *SSM) DescribeInstanceInformation(input *DescribeInstanceInformationInput) (*DescribeInstanceInformationOutput, error) { + req, out := c.DescribeInstanceInformationRequest(input) + err := req.Send() + return out, err +} + +// DescribeInstanceInformationPages iterates over the pages of a DescribeInstanceInformation operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeInstanceInformation 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 DescribeInstanceInformation operation. +// pageNum := 0 +// err := client.DescribeInstanceInformationPages(params, +// func(page *DescribeInstanceInformationOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeInstanceInformationPages(input *DescribeInstanceInformationInput, fn func(p *DescribeInstanceInformationOutput, lastPage bool) (shouldContinue bool)) error { + page, _ := c.DescribeInstanceInformationRequest(input) + page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) + return page.EachPage(func(p interface{}, lastPage bool) bool { + return fn(p.(*DescribeInstanceInformationOutput), lastPage) + }) +} + +const opGetDocument = "GetDocument" + +// GetDocumentRequest generates a "aws/request.Request" representing the +// client's request for the GetDocument operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetDocument for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetDocument method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetDocumentRequest method. +// req, resp := client.GetDocumentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) GetDocumentRequest(input *GetDocumentInput) (req *request.Request, output *GetDocumentOutput) { + op := &request.Operation{ + Name: opGetDocument, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetDocumentInput{} + } + + req = c.newRequest(op, input, output) + output = &GetDocumentOutput{} + req.Data = output + return +} + +// GetDocument API operation for Amazon Simple Systems Management Service. +// +// Gets the contents of the specified SSM document. +// +// 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 Simple Systems Management Service's +// API operation GetDocument for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidDocument +// The specified document does not exist. +// +func (c *SSM) GetDocument(input *GetDocumentInput) (*GetDocumentOutput, error) { + req, out := c.GetDocumentRequest(input) + err := req.Send() + return out, err +} + +const opListAssociations = "ListAssociations" + +// ListAssociationsRequest generates a "aws/request.Request" representing the +// client's request for the ListAssociations operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListAssociations for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListAssociations method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListAssociationsRequest method. +// req, resp := client.ListAssociationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) ListAssociationsRequest(input *ListAssociationsInput) (req *request.Request, output *ListAssociationsOutput) { + op := &request.Operation{ + Name: opListAssociations, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListAssociationsInput{} + } + + req = c.newRequest(op, input, output) + output = &ListAssociationsOutput{} + req.Data = output + return +} + +// ListAssociations API operation for Amazon Simple Systems Management Service. +// +// Lists the associations for the specified SSM document or instance. +// +// 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 Simple Systems Management Service's +// API operation ListAssociations for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidNextToken +// The specified token is not valid. +// +func (c *SSM) ListAssociations(input *ListAssociationsInput) (*ListAssociationsOutput, error) { + req, out := c.ListAssociationsRequest(input) + err := req.Send() + return out, err +} + +// ListAssociationsPages iterates over the pages of a ListAssociations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAssociations 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 ListAssociations operation. +// pageNum := 0 +// err := client.ListAssociationsPages(params, +// func(page *ListAssociationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) ListAssociationsPages(input *ListAssociationsInput, fn func(p *ListAssociationsOutput, lastPage bool) (shouldContinue bool)) error { + page, _ := c.ListAssociationsRequest(input) + page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) + return page.EachPage(func(p interface{}, lastPage bool) bool { + return fn(p.(*ListAssociationsOutput), lastPage) + }) +} + +const opListCommandInvocations = "ListCommandInvocations" + +// ListCommandInvocationsRequest generates a "aws/request.Request" representing the +// client's request for the ListCommandInvocations operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListCommandInvocations for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListCommandInvocations method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListCommandInvocationsRequest method. +// req, resp := client.ListCommandInvocationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) ListCommandInvocationsRequest(input *ListCommandInvocationsInput) (req *request.Request, output *ListCommandInvocationsOutput) { + op := &request.Operation{ + Name: opListCommandInvocations, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListCommandInvocationsInput{} + } + + req = c.newRequest(op, input, output) + output = &ListCommandInvocationsOutput{} + req.Data = output + return +} + +// ListCommandInvocations API operation for Amazon Simple Systems Management Service. +// +// An invocation is copy of a command sent to a specific instance. A command +// can apply to one or more instances. A command invocation applies to one instance. +// For example, if a user executes SendCommand against three instances, then +// a command invocation is created for each requested instance ID. ListCommandInvocations +// provide status about command execution. +// +// 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 Simple Systems Management Service's +// API operation ListCommandInvocations for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidCommandId + +// +// * InvalidInstanceId +// The instance is not in valid state. Valid states are: Running, Pending, Stopped, +// Stopping. Invalid states are: Shutting-down and Terminated. +// +// * InvalidFilterKey +// The specified key is not valid. +// +// * InvalidNextToken +// The specified token is not valid. +// +func (c *SSM) ListCommandInvocations(input *ListCommandInvocationsInput) (*ListCommandInvocationsOutput, error) { + req, out := c.ListCommandInvocationsRequest(input) + err := req.Send() + return out, err +} + +// ListCommandInvocationsPages iterates over the pages of a ListCommandInvocations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListCommandInvocations 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 ListCommandInvocations operation. +// pageNum := 0 +// err := client.ListCommandInvocationsPages(params, +// func(page *ListCommandInvocationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) ListCommandInvocationsPages(input *ListCommandInvocationsInput, fn func(p *ListCommandInvocationsOutput, lastPage bool) (shouldContinue bool)) error { + page, _ := c.ListCommandInvocationsRequest(input) + page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) + return page.EachPage(func(p interface{}, lastPage bool) bool { + return fn(p.(*ListCommandInvocationsOutput), lastPage) + }) +} + +const opListCommands = "ListCommands" + +// ListCommandsRequest generates a "aws/request.Request" representing the +// client's request for the ListCommands operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListCommands for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListCommands method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListCommandsRequest method. +// req, resp := client.ListCommandsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) ListCommandsRequest(input *ListCommandsInput) (req *request.Request, output *ListCommandsOutput) { + op := &request.Operation{ + Name: opListCommands, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListCommandsInput{} + } + + req = c.newRequest(op, input, output) + output = &ListCommandsOutput{} + req.Data = output + return +} + +// ListCommands API operation for Amazon Simple Systems Management Service. +// +// Lists the commands requested by users of the AWS 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 Simple Systems Management Service's +// API operation ListCommands for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidCommandId + +// +// * InvalidInstanceId +// The instance is not in valid state. Valid states are: Running, Pending, Stopped, +// Stopping. Invalid states are: Shutting-down and Terminated. +// +// * InvalidFilterKey +// The specified key is not valid. +// +// * InvalidNextToken +// The specified token is not valid. +// +func (c *SSM) ListCommands(input *ListCommandsInput) (*ListCommandsOutput, error) { + req, out := c.ListCommandsRequest(input) + err := req.Send() + return out, err +} + +// ListCommandsPages iterates over the pages of a ListCommands operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListCommands 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 ListCommands operation. +// pageNum := 0 +// err := client.ListCommandsPages(params, +// func(page *ListCommandsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) ListCommandsPages(input *ListCommandsInput, fn func(p *ListCommandsOutput, lastPage bool) (shouldContinue bool)) error { + page, _ := c.ListCommandsRequest(input) + page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) + return page.EachPage(func(p interface{}, lastPage bool) bool { + return fn(p.(*ListCommandsOutput), lastPage) + }) +} + +const opListDocuments = "ListDocuments" + +// ListDocumentsRequest generates a "aws/request.Request" representing the +// client's request for the ListDocuments operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListDocuments for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListDocuments method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListDocumentsRequest method. +// req, resp := client.ListDocumentsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) ListDocumentsRequest(input *ListDocumentsInput) (req *request.Request, output *ListDocumentsOutput) { + op := &request.Operation{ + Name: opListDocuments, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListDocumentsInput{} + } + + req = c.newRequest(op, input, output) + output = &ListDocumentsOutput{} + req.Data = output + return +} + +// ListDocuments API operation for Amazon Simple Systems Management Service. +// +// Describes one or more of your SSM documents. +// +// 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 Simple Systems Management Service's +// API operation ListDocuments for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidNextToken +// The specified token is not valid. +// +// * InvalidFilterKey +// The specified key is not valid. +// +func (c *SSM) ListDocuments(input *ListDocumentsInput) (*ListDocumentsOutput, error) { + req, out := c.ListDocumentsRequest(input) + err := req.Send() + return out, err +} + +// ListDocumentsPages iterates over the pages of a ListDocuments operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDocuments 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 ListDocuments operation. +// pageNum := 0 +// err := client.ListDocumentsPages(params, +// func(page *ListDocumentsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) ListDocumentsPages(input *ListDocumentsInput, fn func(p *ListDocumentsOutput, lastPage bool) (shouldContinue bool)) error { + page, _ := c.ListDocumentsRequest(input) + page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) + return page.EachPage(func(p interface{}, lastPage bool) bool { + return fn(p.(*ListDocumentsOutput), lastPage) + }) +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListTagsForResource for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListTagsForResource method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // 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) +// } +// +func (c *SSM) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + req = c.newRequest(op, input, output) + output = &ListTagsForResourceOutput{} + req.Data = output + return +} + +// ListTagsForResource API operation for Amazon Simple Systems Management Service. +// +// Returns a list of the tags assigned to the specified resource. +// +// 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 Simple Systems Management Service's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Codes: +// * InvalidResourceType +// The resource type is not valid. If you are attempting to tag an instance, +// the instance must be a registered, managed instance. +// +// * InvalidResourceId +// The resource ID is not valid. Verify that you entered the correct ID and +// try again. +// +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + err := req.Send() + return out, err +} + +const opModifyDocumentPermission = "ModifyDocumentPermission" + +// ModifyDocumentPermissionRequest generates a "aws/request.Request" representing the +// client's request for the ModifyDocumentPermission operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ModifyDocumentPermission for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ModifyDocumentPermission method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ModifyDocumentPermissionRequest method. +// req, resp := client.ModifyDocumentPermissionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) ModifyDocumentPermissionRequest(input *ModifyDocumentPermissionInput) (req *request.Request, output *ModifyDocumentPermissionOutput) { + op := &request.Operation{ + Name: opModifyDocumentPermission, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyDocumentPermissionInput{} + } + + req = c.newRequest(op, input, output) + output = &ModifyDocumentPermissionOutput{} + req.Data = output + return +} + +// ModifyDocumentPermission API operation for Amazon Simple Systems Management Service. +// +// Share a document publicly or privately. If you share a document privately, +// you must specify the AWS user account IDs for those people who can use the +// document. If you share a document publicly, you must specify All as the account +// 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 Simple Systems Management Service's +// API operation ModifyDocumentPermission for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidDocument +// The specified document does not exist. +// +// * InvalidPermissionType +// The permission type is not supported. Share is the only supported permission +// type. +// +// * DocumentPermissionLimit +// The document cannot be shared with more AWS user accounts. You can share +// a document with a maximum of 20 accounts. You can publicly share up to five +// documents. If you need to increase this limit, contact AWS Support. +// +// * DocumentLimitExceeded +// You can have at most 200 active SSM documents. +// +func (c *SSM) ModifyDocumentPermission(input *ModifyDocumentPermissionInput) (*ModifyDocumentPermissionOutput, error) { + req, out := c.ModifyDocumentPermissionRequest(input) + err := req.Send() + return out, err +} + +const opRemoveTagsFromResource = "RemoveTagsFromResource" + +// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the +// client's request for the RemoveTagsFromResource operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RemoveTagsFromResource for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RemoveTagsFromResource method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RemoveTagsFromResourceRequest method. +// req, resp := client.RemoveTagsFromResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) { + op := &request.Operation{ + Name: opRemoveTagsFromResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RemoveTagsFromResourceInput{} + } + + req = c.newRequest(op, input, output) + output = &RemoveTagsFromResourceOutput{} + req.Data = output + return +} + +// RemoveTagsFromResource API operation for Amazon Simple Systems Management Service. +// +// Removes all tags from the specified resource. +// +// 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 Simple Systems Management Service's +// API operation RemoveTagsFromResource for usage and error information. +// +// Returned Error Codes: +// * InvalidResourceType +// The resource type is not valid. If you are attempting to tag an instance, +// the instance must be a registered, managed instance. +// +// * InvalidResourceId +// The resource ID is not valid. Verify that you entered the correct ID and +// try again. +// +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) { + req, out := c.RemoveTagsFromResourceRequest(input) + err := req.Send() + return out, err +} + +const opSendCommand = "SendCommand" + +// SendCommandRequest generates a "aws/request.Request" representing the +// client's request for the SendCommand operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SendCommand for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SendCommand method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SendCommandRequest method. +// req, resp := client.SendCommandRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) SendCommandRequest(input *SendCommandInput) (req *request.Request, output *SendCommandOutput) { + op := &request.Operation{ + Name: opSendCommand, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SendCommandInput{} + } + + req = c.newRequest(op, input, output) + output = &SendCommandOutput{} + req.Data = output + return +} + +// SendCommand API operation for Amazon Simple Systems Management Service. +// +// Executes commands on one or more remote instances. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Systems Management Service's +// API operation SendCommand for usage and error information. +// +// Returned Error Codes: +// * DuplicateInstanceId +// You cannot specify an instance ID in more than one association. +// +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidInstanceId +// The instance is not in valid state. Valid states are: Running, Pending, Stopped, +// Stopping. Invalid states are: Shutting-down and Terminated. +// +// * InvalidDocument +// The specified document does not exist. +// +// * InvalidOutputFolder +// The S3 bucket does not exist. +// +// * InvalidParameters +// You must specify values for all required parameters in the SSM document. +// You can only supply values to parameters defined in the SSM document. +// +// * UnsupportedPlatformType +// The document does not support the platform type of the given instance ID(s). +// For example, you sent an SSM document for a Windows instance to a Linux instance. +// +// * MaxDocumentSizeExceeded +// The size limit of an SSM document is 64 KB. +// +// * InvalidRole +// The role name can't contain invalid characters. Also verify that you specified +// an IAM role for notifications that includes the required trust policy. For +// information about configuring the IAM role for SSM notifications, see Configuring +// SNS Notifications SSM (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/rc-sns.html) +// in the Amazon Elastic Compute Cloud User Guide . +// +// * InvalidNotificationConfig +// One or more configuration items is not valid. Verify that a valid Amazon +// Resource Name (ARN) was provided for an Amazon SNS topic. +// +func (c *SSM) SendCommand(input *SendCommandInput) (*SendCommandOutput, error) { + req, out := c.SendCommandRequest(input) + err := req.Send() + return out, err +} + +const opUpdateAssociationStatus = "UpdateAssociationStatus" + +// UpdateAssociationStatusRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAssociationStatus operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateAssociationStatus for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateAssociationStatus method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateAssociationStatusRequest method. +// req, resp := client.UpdateAssociationStatusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) UpdateAssociationStatusRequest(input *UpdateAssociationStatusInput) (req *request.Request, output *UpdateAssociationStatusOutput) { + op := &request.Operation{ + Name: opUpdateAssociationStatus, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateAssociationStatusInput{} + } + + req = c.newRequest(op, input, output) + output = &UpdateAssociationStatusOutput{} + req.Data = output + return +} + +// UpdateAssociationStatus API operation for Amazon Simple Systems Management Service. +// +// Updates the status of the SSM document associated with the specified instance. +// +// 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 Simple Systems Management Service's +// API operation UpdateAssociationStatus for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidInstanceId +// The instance is not in valid state. Valid states are: Running, Pending, Stopped, +// Stopping. Invalid states are: Shutting-down and Terminated. +// +// * InvalidDocument +// The specified document does not exist. +// +// * AssociationDoesNotExist +// The specified association does not exist. +// +// * StatusUnchanged +// The updated status is the same as the current status. +// +// * TooManyUpdates +// There are concurrent updates for a resource that supports one update at a +// time. +// +func (c *SSM) UpdateAssociationStatus(input *UpdateAssociationStatusInput) (*UpdateAssociationStatusOutput, error) { + req, out := c.UpdateAssociationStatusRequest(input) + err := req.Send() + return out, err +} + +const opUpdateManagedInstanceRole = "UpdateManagedInstanceRole" + +// UpdateManagedInstanceRoleRequest generates a "aws/request.Request" representing the +// client's request for the UpdateManagedInstanceRole operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateManagedInstanceRole for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateManagedInstanceRole method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateManagedInstanceRoleRequest method. +// req, resp := client.UpdateManagedInstanceRoleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) UpdateManagedInstanceRoleRequest(input *UpdateManagedInstanceRoleInput) (req *request.Request, output *UpdateManagedInstanceRoleOutput) { + op := &request.Operation{ + Name: opUpdateManagedInstanceRole, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateManagedInstanceRoleInput{} + } + + req = c.newRequest(op, input, output) + output = &UpdateManagedInstanceRoleOutput{} + req.Data = output + return +} + +// UpdateManagedInstanceRole API operation for Amazon Simple Systems Management Service. +// +// Assigns or changes an Amazon Identity and Access Management (IAM) role to +// the managed instance. +// +// 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 Simple Systems Management Service's +// API operation UpdateManagedInstanceRole for usage and error information. +// +// Returned Error Codes: +// * InvalidInstanceId +// The instance is not in valid state. Valid states are: Running, Pending, Stopped, +// Stopping. Invalid states are: Shutting-down and Terminated. +// +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) UpdateManagedInstanceRole(input *UpdateManagedInstanceRoleInput) (*UpdateManagedInstanceRoleOutput, error) { + req, out := c.UpdateManagedInstanceRoleRequest(input) + err := req.Send() + return out, err +} + +// An activation registers one or more on-premises servers or virtual machines +// (VMs) with AWS so that you can configure those servers or VMs using Run Command. +// A server or VM that has been registered with AWS is called a managed instance. +type Activation struct { + _ struct{} `type:"structure"` + + // The ID created by SSM when you submitted the activation. + ActivationId *string `type:"string"` + + // The date the activation was created. + CreatedDate *time.Time `type:"timestamp" timestampFormat:"unix"` + + // A name for the managed instance when it is created. + DefaultInstanceName *string `type:"string"` + + // A user defined description of the activation. + Description *string `type:"string"` + + // The date when this activation can no longer be used to register managed instances. + ExpirationDate *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Whether or not the activation is expired. + Expired *bool `type:"boolean"` + + // The Amazon Identity and Access Management (IAM) role to assign to the managed + // instance. + IamRole *string `type:"string"` + + // The maximum number of managed instances that can be registered using this + // activation. + RegistrationLimit *int64 `min:"1" type:"integer"` + + // The number of managed instances already registered with this activation. + RegistrationsCount *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s Activation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Activation) GoString() string { + return s.String() +} + +type AddTagsToResourceInput struct { + _ struct{} `type:"structure"` + + // The resource ID you want to tag. + // + // ResourceId is a required field + ResourceId *string `type:"string" required:"true"` + + // Specifies the type of resource you are tagging. + // + // ResourceType is a required field + ResourceType *string `type:"string" required:"true" enum:"ResourceTypeForTagging"` + + // One or more tags. The value parameter is required, but if you don't want + // the tag to have a value, specify the parameter with no value, and we set + // the value to an empty string. + // + // Tags is a required field + Tags []*Tag `type:"list" required:"true"` +} + +// String returns the string representation +func (s AddTagsToResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddTagsToResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddTagsToResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"} + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + if s.ResourceType == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceType")) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type AddTagsToResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AddTagsToResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddTagsToResourceOutput) GoString() string { + return s.String() +} + +// Describes an association of an SSM document and an instance. +type Association struct { + _ struct{} `type:"structure"` + + // The ID of the instance. + InstanceId *string `type:"string"` + + // The name of the SSM document. + Name *string `type:"string"` +} + +// String returns the string representation +func (s Association) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Association) GoString() string { + return s.String() +} + +// Describes the parameters for a document. +type AssociationDescription struct { + _ struct{} `type:"structure"` + + // The date when the association was made. + Date *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The ID of the instance. + InstanceId *string `type:"string"` + + // The name of the SSM document. + Name *string `type:"string"` + + // A description of the parameters for a document. + Parameters map[string][]*string `type:"map"` + + // The association status. + Status *AssociationStatus `type:"structure"` +} + +// String returns the string representation +func (s AssociationDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociationDescription) GoString() string { + return s.String() +} + +// Describes a filter. +type AssociationFilter struct { + _ struct{} `type:"structure"` + + // The name of the filter. + // + // Key is a required field + Key *string `locationName:"key" type:"string" required:"true" enum:"AssociationFilterKey"` + + // The filter value. + // + // Value is a required field + Value *string `locationName:"value" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociationFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociationFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociationFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociationFilter"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + if s.Value != nil && len(*s.Value) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Describes an association status. +type AssociationStatus struct { + _ struct{} `type:"structure"` + + // A user-defined string. + AdditionalInfo *string `type:"string"` + + // The date when the status changed. + // + // Date is a required field + Date *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"` + + // The reason for the status. + // + // Message is a required field + Message *string `type:"string" required:"true"` + + // The status. + // + // Name is a required field + Name *string `type:"string" required:"true" enum:"AssociationStatusName"` +} + +// String returns the string representation +func (s AssociationStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociationStatus) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociationStatus) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociationStatus"} + if s.Date == nil { + invalidParams.Add(request.NewErrParamRequired("Date")) + } + if s.Message == nil { + invalidParams.Add(request.NewErrParamRequired("Message")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type CancelCommandInput struct { + _ struct{} `type:"structure"` + + // The ID of the command you want to cancel. + // + // CommandId is a required field + CommandId *string `min:"36" type:"string" required:"true"` + + // (Optional) A list of instance IDs on which you want to cancel the command. + // If not provided, the command is canceled on every instance on which it was + // requested. + InstanceIds []*string `min:"1" type:"list"` +} + +// String returns the string representation +func (s CancelCommandInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CancelCommandInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CancelCommandInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CancelCommandInput"} + if s.CommandId == nil { + invalidParams.Add(request.NewErrParamRequired("CommandId")) + } + if s.CommandId != nil && len(*s.CommandId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CommandId", 36)) + } + if s.InstanceIds != nil && len(s.InstanceIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceIds", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Whether or not the command was successfully canceled. There is no guarantee +// that a request can be canceled. +type CancelCommandOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CancelCommandOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CancelCommandOutput) GoString() string { + return s.String() +} + +// Describes a command request. +type Command struct { + _ struct{} `type:"structure"` + + // A unique identifier for this command. + CommandId *string `min:"36" type:"string"` + + // User-specified information about the command, such as a brief description + // of what the command should do. + Comment *string `type:"string"` + + // The name of the SSM document requested for execution. + DocumentName *string `type:"string"` + + // If this time is reached and the command has not already started executing, + // it will not execute. Calculated based on the ExpiresAfter user input provided + // as part of the SendCommand API. + ExpiresAfter *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The instance IDs against which this command was requested. + InstanceIds []*string `min:"1" type:"list"` + + // Configurations for sending notifications about command status changes. + NotificationConfig *NotificationConfig `type:"structure"` + + // The S3 bucket where the responses to the command executions should be stored. + // This was requested when issuing the command. + OutputS3BucketName *string `min:"3" type:"string"` + + // The S3 directory path inside the bucket where the responses to the command + // executions should be stored. This was requested when issuing the command. + OutputS3KeyPrefix *string `type:"string"` + + // The parameter values to be inserted in the SSM document when executing the + // command. + Parameters map[string][]*string `type:"map"` + + // The date and time the command was requested. + RequestedDateTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The IAM service role that SSM uses to act on your behalf when sending notifications + // about command status changes. + ServiceRole *string `type:"string"` + + // The status of the command. + Status *string `type:"string" enum:"CommandStatus"` +} + +// String returns the string representation +func (s Command) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Command) GoString() string { + return s.String() +} + +// Describes a command filter. +type CommandFilter struct { + _ struct{} `type:"structure"` + + // The name of the filter. For example, requested date and time. + // + // Key is a required field + Key *string `locationName:"key" type:"string" required:"true" enum:"CommandFilterKey"` + + // The filter value. For example: June 30, 2015. + // + // Value is a required field + Value *string `locationName:"value" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CommandFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CommandFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CommandFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CommandFilter"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + if s.Value != nil && len(*s.Value) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// An invocation is copy of a command sent to a specific instance. A command +// can apply to one or more instances. A command invocation applies to one instance. +// For example, if a user executes SendCommand against three instances, then +// a command invocation is created for each requested instance ID. A command +// invocation returns status and detail information about a command you executed. +type CommandInvocation struct { + _ struct{} `type:"structure"` + + // The command against which this invocation was requested. + CommandId *string `min:"36" type:"string"` + + CommandPlugins []*CommandPlugin `type:"list"` + + // User-specified information about the command, such as a brief description + // of what the command should do. + Comment *string `type:"string"` + + // The document name that was requested for execution. + DocumentName *string `type:"string"` + + // The instance ID in which this invocation was requested. + InstanceId *string `type:"string"` + + // Configurations for sending notifications about command status changes on + // a per instance basis. + NotificationConfig *NotificationConfig `type:"structure"` + + // The time and date the request was sent to this instance. + RequestedDateTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The IAM service role that SSM uses to act on your behalf when sending notifications + // about command status changes on a per instance basis. + ServiceRole *string `type:"string"` + + // Whether or not the invocation succeeded, failed, or is pending. + Status *string `type:"string" enum:"CommandInvocationStatus"` + + // Gets the trace output sent by the agent. + TraceOutput *string `type:"string"` +} + +// String returns the string representation +func (s CommandInvocation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CommandInvocation) GoString() string { + return s.String() +} + +// Describes plugin details. +type CommandPlugin struct { + _ struct{} `type:"structure"` + + // The name of the plugin. Must be one of the following: aws:updateAgent, aws:domainjoin, + // aws:applications, aws:runPowerShellScript, aws:psmodule, aws:cloudWatch, + // aws:runShellScript, or aws:updateSSMAgent. + Name *string `min:"4" type:"string"` + + // Output of the plugin execution. + Output *string `type:"string"` + + // The S3 bucket where the responses to the command executions should be stored. + // This was requested when issuing the command. + OutputS3BucketName *string `min:"3" type:"string"` + + // The S3 directory path inside the bucket where the responses to the command + // executions should be stored. This was requested when issuing the command. + OutputS3KeyPrefix *string `type:"string"` + + // A numeric response code generated after executing the plugin. + ResponseCode *int64 `type:"integer"` + + // The time the plugin stopped executing. Could stop prematurely if, for example, + // a cancel command was sent. + ResponseFinishDateTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The time the plugin started executing. + ResponseStartDateTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The status of this plugin. You can execute a document with multiple plugins. + Status *string `type:"string" enum:"CommandPluginStatus"` +} + +// String returns the string representation +func (s CommandPlugin) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CommandPlugin) GoString() string { + return s.String() +} + +type CreateActivationInput struct { + _ struct{} `type:"structure"` + + // The name of the registered, managed instance as it will appear in the Amazon + // EC2 console or when you use the AWS command line tools to list EC2 resources. + DefaultInstanceName *string `type:"string"` + + // A user-defined description of the resource that you want to register with + // Amazon EC2. + Description *string `type:"string"` + + // The date by which this activation request should expire. The default value + // is 24 hours. + ExpirationDate *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The Amazon Identity and Access Management (IAM) role that you want to assign + // to the managed instance. + // + // IamRole is a required field + IamRole *string `type:"string" required:"true"` + + // Specify the maximum number of managed instances you want to register. The + // default value is 1 instance. + RegistrationLimit *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s CreateActivationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateActivationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateActivationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateActivationInput"} + if s.IamRole == nil { + invalidParams.Add(request.NewErrParamRequired("IamRole")) + } + if s.RegistrationLimit != nil && *s.RegistrationLimit < 1 { + invalidParams.Add(request.NewErrParamMinValue("RegistrationLimit", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type CreateActivationOutput struct { + _ struct{} `type:"structure"` + + // The code the system generates when it processes the activation. The activation + // code functions like a password to validate the activation ID. + ActivationCode *string `min:"20" type:"string"` + + // The ID number generated by the system when it processed the activation. The + // activation ID functions like a user name. + ActivationId *string `type:"string"` +} + +// String returns the string representation +func (s CreateActivationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateActivationOutput) GoString() string { + return s.String() +} + +type CreateAssociationBatchInput struct { + _ struct{} `type:"structure"` + + // One or more associations. + // + // Entries is a required field + Entries []*CreateAssociationBatchRequestEntry `locationNameList:"entries" type:"list" required:"true"` +} + +// String returns the string representation +func (s CreateAssociationBatchInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAssociationBatchInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateAssociationBatchInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAssociationBatchInput"} + if s.Entries == nil { + invalidParams.Add(request.NewErrParamRequired("Entries")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type CreateAssociationBatchOutput struct { + _ struct{} `type:"structure"` + + // Information about the associations that failed. + Failed []*FailedCreateAssociation `locationNameList:"FailedCreateAssociationEntry" type:"list"` + + // Information about the associations that succeeded. + Successful []*AssociationDescription `locationNameList:"AssociationDescription" type:"list"` +} + +// String returns the string representation +func (s CreateAssociationBatchOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAssociationBatchOutput) GoString() string { + return s.String() +} + +// Describes the association of an SSM document and an instance. +type CreateAssociationBatchRequestEntry struct { + _ struct{} `type:"structure"` + + // The ID of the instance. + InstanceId *string `type:"string"` + + // The name of the configuration document. + Name *string `type:"string"` + + // A description of the parameters for a document. + Parameters map[string][]*string `type:"map"` +} + +// String returns the string representation +func (s CreateAssociationBatchRequestEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAssociationBatchRequestEntry) GoString() string { + return s.String() +} + +type CreateAssociationInput struct { + _ struct{} `type:"structure"` + + // The instance ID. + // + // InstanceId is a required field + InstanceId *string `type:"string" required:"true"` + + // The name of the SSM document. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The parameters for the documents runtime configuration. + Parameters map[string][]*string `type:"map"` +} + +// String returns the string representation +func (s CreateAssociationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAssociationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAssociationInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type CreateAssociationOutput struct { + _ struct{} `type:"structure"` + + // Information about the association. + AssociationDescription *AssociationDescription `type:"structure"` +} + +// String returns the string representation +func (s CreateAssociationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAssociationOutput) GoString() string { + return s.String() +} + +type CreateDocumentInput struct { + _ struct{} `type:"structure"` + + // A valid JSON string. + // + // Content is a required field + Content *string `min:"1" type:"string" required:"true"` + + // A name for the SSM document. + // + // Name is a required field + Name *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateDocumentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDocumentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDocumentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDocumentInput"} + if s.Content == nil { + invalidParams.Add(request.NewErrParamRequired("Content")) + } + if s.Content != nil && len(*s.Content) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Content", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type CreateDocumentOutput struct { + _ struct{} `type:"structure"` + + // Information about the SSM document. + DocumentDescription *DocumentDescription `type:"structure"` +} + +// String returns the string representation +func (s CreateDocumentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDocumentOutput) GoString() string { + return s.String() +} + +type DeleteActivationInput struct { + _ struct{} `type:"structure"` + + // The ID of the activation that you want to delete. + // + // ActivationId is a required field + ActivationId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteActivationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteActivationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteActivationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteActivationInput"} + if s.ActivationId == nil { + invalidParams.Add(request.NewErrParamRequired("ActivationId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DeleteActivationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteActivationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteActivationOutput) GoString() string { + return s.String() +} + +type DeleteAssociationInput struct { + _ struct{} `type:"structure"` + + // The ID of the instance. + // + // InstanceId is a required field + InstanceId *string `type:"string" required:"true"` + + // The name of the SSM document. + // + // Name is a required field + Name *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteAssociationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAssociationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAssociationInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DeleteAssociationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteAssociationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAssociationOutput) GoString() string { + return s.String() +} + +type DeleteDocumentInput struct { + _ struct{} `type:"structure"` + + // The name of the SSM document. + // + // Name is a required field + Name *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDocumentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDocumentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDocumentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDocumentInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DeleteDocumentOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteDocumentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDocumentOutput) GoString() string { + return s.String() +} + +type DeregisterManagedInstanceInput struct { + _ struct{} `type:"structure"` + + // The ID assigned to the managed instance when you registered it using the + // activation process. + // + // InstanceId is a required field + InstanceId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeregisterManagedInstanceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeregisterManagedInstanceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeregisterManagedInstanceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeregisterManagedInstanceInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DeregisterManagedInstanceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeregisterManagedInstanceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeregisterManagedInstanceOutput) GoString() string { + return s.String() +} + +// Filter for the DescribeActivation API. +type DescribeActivationsFilter struct { + _ struct{} `type:"structure"` + + // The name of the filter. + FilterKey *string `type:"string" enum:"DescribeActivationsFilterKeys"` + + // The filter values. + FilterValues []*string `type:"list"` +} + +// String returns the string representation +func (s DescribeActivationsFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeActivationsFilter) GoString() string { + return s.String() +} + +type DescribeActivationsInput struct { + _ struct{} `type:"structure"` + + // A filter to view information about your activations. + Filters []*DescribeActivationsFilter `type:"list"` + + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. + MaxResults *int64 `min:"1" type:"integer"` + + // A token to start the list. Use this token to get the next set of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeActivationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeActivationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeActivationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeActivationsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DescribeActivationsOutput struct { + _ struct{} `type:"structure"` + + // A list of activations for your AWS account. + ActivationList []*Activation `type:"list"` + + // The token for the next set of items to return. Use this token to get the + // next set of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeActivationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeActivationsOutput) GoString() string { + return s.String() +} + +type DescribeAssociationInput struct { + _ struct{} `type:"structure"` + + // The instance ID. + // + // InstanceId is a required field + InstanceId *string `type:"string" required:"true"` + + // The name of the SSM document. + // + // Name is a required field + Name *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeAssociationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAssociationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAssociationInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DescribeAssociationOutput struct { + _ struct{} `type:"structure"` + + // Information about the association. + AssociationDescription *AssociationDescription `type:"structure"` +} + +// String returns the string representation +func (s DescribeAssociationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAssociationOutput) GoString() string { + return s.String() +} + +type DescribeDocumentInput struct { + _ struct{} `type:"structure"` + + // The name of the SSM document. + // + // Name is a required field + Name *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeDocumentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDocumentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDocumentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDocumentInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DescribeDocumentOutput struct { + _ struct{} `type:"structure"` + + // Information about the SSM document. + Document *DocumentDescription `type:"structure"` +} + +// String returns the string representation +func (s DescribeDocumentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDocumentOutput) GoString() string { + return s.String() +} + +type DescribeDocumentPermissionInput struct { + _ struct{} `type:"structure"` + + // The name of the document for which you are the owner. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The permission type for the document. The permission type can be Share. + // + // PermissionType is a required field + PermissionType *string `type:"string" required:"true" enum:"DocumentPermissionType"` +} + +// String returns the string representation +func (s DescribeDocumentPermissionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDocumentPermissionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDocumentPermissionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDocumentPermissionInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.PermissionType == nil { + invalidParams.Add(request.NewErrParamRequired("PermissionType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DescribeDocumentPermissionOutput struct { + _ struct{} `type:"structure"` + + // The account IDs that have permission to use this document. The ID can be + // either an AWS account or All. + AccountIds []*string `locationNameList:"AccountId" type:"list"` +} + +// String returns the string representation +func (s DescribeDocumentPermissionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDocumentPermissionOutput) GoString() string { + return s.String() +} + +type DescribeInstanceInformationInput struct { + _ struct{} `type:"structure"` + + // One or more filters. Use a filter to return a more specific list of instances. + InstanceInformationFilterList []*InstanceInformationFilter `locationNameList:"InstanceInformationFilter" min:"1" type:"list"` + + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. + MaxResults *int64 `min:"5" type:"integer"` + + // The token for the next set of items to return. (You received this token from + // a previous call.) + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeInstanceInformationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInstanceInformationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeInstanceInformationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceInformationInput"} + if s.InstanceInformationFilterList != nil && len(s.InstanceInformationFilterList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceInformationFilterList", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + if s.InstanceInformationFilterList != nil { + for i, v := range s.InstanceInformationFilterList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceInformationFilterList", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DescribeInstanceInformationOutput struct { + _ struct{} `type:"structure"` + + // The instance information list. + InstanceInformationList []*InstanceInformation `locationNameList:"InstanceInformation" type:"list"` + + // The token to use when requesting the next set of items. If there are no additional + // items to return, the string is empty. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeInstanceInformationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInstanceInformationOutput) GoString() string { + return s.String() +} + +// Describes an SSM document. +type DocumentDescription struct { + _ struct{} `type:"structure"` + + // The date when the SSM document was created. + CreatedDate *time.Time `type:"timestamp" timestampFormat:"unix"` + + // A description of the document. + Description *string `type:"string"` + + // The Sha256 or Sha1 hash created by the system when the document was created. + // + // Sha1 hashes have been deprecated. + Hash *string `type:"string"` + + // Sha256 or Sha1. + // + // Sha1 hashes have been deprecated. + HashType *string `type:"string" enum:"DocumentHashType"` + + // The name of the SSM document. + Name *string `type:"string"` + + // The AWS user account of the person who created the document. + Owner *string `type:"string"` + + // A description of the parameters for a document. + Parameters []*DocumentParameter `locationNameList:"DocumentParameter" type:"list"` + + // The list of OS platforms compatible with this SSM document. + PlatformTypes []*string `locationNameList:"PlatformType" type:"list"` + + // The SHA1 hash of the document, which you can use for verification purposes. + Sha1 *string `type:"string"` + + // The status of the SSM document. + Status *string `type:"string" enum:"DocumentStatus"` +} + +// String returns the string representation +func (s DocumentDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DocumentDescription) GoString() string { + return s.String() +} + +// Describes a filter. +type DocumentFilter struct { + _ struct{} `type:"structure"` + + // The name of the filter. + // + // Key is a required field + Key *string `locationName:"key" type:"string" required:"true" enum:"DocumentFilterKey"` + + // The value of the filter. + // + // Value is a required field + Value *string `locationName:"value" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DocumentFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DocumentFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DocumentFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DocumentFilter"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + if s.Value != nil && len(*s.Value) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Describes the name of an SSM document. +type DocumentIdentifier struct { + _ struct{} `type:"structure"` + + // The name of the SSM document. + Name *string `type:"string"` + + // The AWS user account of the person who created the document. + Owner *string `type:"string"` + + // The operating system platform. + PlatformTypes []*string `locationNameList:"PlatformType" type:"list"` +} + +// String returns the string representation +func (s DocumentIdentifier) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DocumentIdentifier) GoString() string { + return s.String() +} + +// Parameters specified in the SSM document that execute on the server when +// the command is run. +type DocumentParameter struct { + _ struct{} `type:"structure"` + + // If specified, the default values for the parameters. Parameters without a + // default value are required. Parameters with a default value are optional. + DefaultValue *string `type:"string"` + + // A description of what the parameter does, how to use it, the default value, + // and whether or not the parameter is optional. + Description *string `type:"string"` + + // The name of the parameter. + Name *string `type:"string"` + + // The type of parameter. The type can be either “String” or “StringList”. + Type *string `type:"string" enum:"DocumentParameterType"` +} + +// String returns the string representation +func (s DocumentParameter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DocumentParameter) GoString() string { + return s.String() +} + +// Describes a failed association. +type FailedCreateAssociation struct { + _ struct{} `type:"structure"` + + // The association. + Entry *CreateAssociationBatchRequestEntry `type:"structure"` + + // The source of the failure. + Fault *string `type:"string" enum:"Fault"` + + // A description of the failure. + Message *string `type:"string"` +} + +// String returns the string representation +func (s FailedCreateAssociation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FailedCreateAssociation) GoString() string { + return s.String() +} + +type GetDocumentInput struct { + _ struct{} `type:"structure"` + + // The name of the SSM document. + // + // Name is a required field + Name *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s GetDocumentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDocumentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDocumentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDocumentInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type GetDocumentOutput struct { + _ struct{} `type:"structure"` + + // The contents of the SSM document. + Content *string `min:"1" type:"string"` + + // The name of the SSM document. + Name *string `type:"string"` +} + +// String returns the string representation +func (s GetDocumentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDocumentOutput) GoString() string { + return s.String() +} + +// Describes a filter for a specific list of instances. +type InstanceInformation struct { + _ struct{} `type:"structure"` + + // The activation ID created by SSM when the server or VM was registered. + ActivationId *string `type:"string"` + + // The version of the SSM agent running on your Linux instance. + AgentVersion *string `type:"string"` + + // The fully qualified host name of the managed instance. + ComputerName *string `min:"1" type:"string"` + + // The IP address of the managed instance. + IPAddress *string `min:"1" type:"string"` + + // The Amazon Identity and Access Management (IAM) role assigned to EC2 instances + // or managed instances. + IamRole *string `type:"string"` + + // The instance ID. + InstanceId *string `type:"string"` + + // Indicates whether latest version of the SSM agent is running on your instance. + IsLatestVersion *bool `type:"boolean"` + + // The date and time when agent last pinged SSM service. + LastPingDateTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The name of the managed instance. + Name *string `type:"string"` + + // Connection status of the SSM agent. + PingStatus *string `type:"string" enum:"PingStatus"` + + // The name of the operating system platform running on your instance. + PlatformName *string `type:"string"` + + // The operating system platform type. + PlatformType *string `type:"string" enum:"PlatformType"` + + // The version of the OS platform running on your instance. + PlatformVersion *string `type:"string"` + + // The date the server or VM was registered with AWS as a managed instance. + RegistrationDate *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The type of instance. Instances are either EC2 instances or managed instances. + ResourceType *string `type:"string" enum:"ResourceType"` +} + +// String returns the string representation +func (s InstanceInformation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstanceInformation) GoString() string { + return s.String() +} + +// Describes a filter for a specific list of instances. +type InstanceInformationFilter struct { + _ struct{} `type:"structure"` + + // The name of the filter. + // + // Key is a required field + Key *string `locationName:"key" type:"string" required:"true" enum:"InstanceInformationFilterKey"` + + // The filter values. + // + // ValueSet is a required field + ValueSet []*string `locationName:"valueSet" locationNameList:"InstanceInformationFilterValue" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s InstanceInformationFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstanceInformationFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InstanceInformationFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InstanceInformationFilter"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.ValueSet == nil { + invalidParams.Add(request.NewErrParamRequired("ValueSet")) + } + if s.ValueSet != nil && len(s.ValueSet) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueSet", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type ListAssociationsInput struct { + _ struct{} `type:"structure"` + + // One or more filters. Use a filter to return a more specific list of results. + // + // AssociationFilterList is a required field + AssociationFilterList []*AssociationFilter `locationNameList:"AssociationFilter" min:"1" type:"list" required:"true"` + + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. + MaxResults *int64 `min:"1" type:"integer"` + + // The token for the next set of items to return. (You received this token from + // a previous call.) + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListAssociationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAssociationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAssociationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAssociationsInput"} + if s.AssociationFilterList == nil { + invalidParams.Add(request.NewErrParamRequired("AssociationFilterList")) + } + if s.AssociationFilterList != nil && len(s.AssociationFilterList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AssociationFilterList", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.AssociationFilterList != nil { + for i, v := range s.AssociationFilterList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssociationFilterList", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type ListAssociationsOutput struct { + _ struct{} `type:"structure"` + + // The associations. + Associations []*Association `locationNameList:"Association" type:"list"` + + // The token to use when requesting the next set of items. If there are no additional + // items to return, the string is empty. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListAssociationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAssociationsOutput) GoString() string { + return s.String() +} + +type ListCommandInvocationsInput struct { + _ struct{} `type:"structure"` + + // (Optional) The invocations for a specific command ID. + CommandId *string `min:"36" type:"string"` + + // (Optional) If set this returns the response of the command executions and + // any command output. By default this is set to False. + Details *bool `type:"boolean"` + + // (Optional) One or more filters. Use a filter to return a more specific list + // of results. + Filters []*CommandFilter `min:"1" type:"list"` + + // (Optional) The command execution details for a specific instance ID. + InstanceId *string `type:"string"` + + // (Optional) The maximum number of items to return for this call. The call + // also returns a token that you can specify in a subsequent call to get the + // next set of results. + MaxResults *int64 `min:"1" type:"integer"` + + // (Optional) The token for the next set of items to return. (You received this + // token from a previous call.) + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListCommandInvocationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListCommandInvocationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListCommandInvocationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCommandInvocationsInput"} + if s.CommandId != nil && len(*s.CommandId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CommandId", 36)) + } + if s.Filters != nil && len(s.Filters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Filters", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type ListCommandInvocationsOutput struct { + _ struct{} `type:"structure"` + + // (Optional) A list of all invocations. + CommandInvocations []*CommandInvocation `type:"list"` + + // (Optional) The token for the next set of items to return. (You received this + // token from a previous call.) + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListCommandInvocationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListCommandInvocationsOutput) GoString() string { + return s.String() +} + +type ListCommandsInput struct { + _ struct{} `type:"structure"` + + // (Optional) If provided, lists only the specified command. + CommandId *string `min:"36" type:"string"` + + // (Optional) One or more filters. Use a filter to return a more specific list + // of results. + Filters []*CommandFilter `min:"1" type:"list"` + + // (Optional) Lists commands issued against this instance ID. + InstanceId *string `type:"string"` + + // (Optional) The maximum number of items to return for this call. The call + // also returns a token that you can specify in a subsequent call to get the + // next set of results. + MaxResults *int64 `min:"1" type:"integer"` + + // (Optional) The token for the next set of items to return. (You received this + // token from a previous call.) + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListCommandsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListCommandsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListCommandsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCommandsInput"} + if s.CommandId != nil && len(*s.CommandId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CommandId", 36)) + } + if s.Filters != nil && len(s.Filters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Filters", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type ListCommandsOutput struct { + _ struct{} `type:"structure"` + + // (Optional) The list of commands requested by the user. + Commands []*Command `type:"list"` + + // (Optional) The token for the next set of items to return. (You received this + // token from a previous call.) + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListCommandsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListCommandsOutput) GoString() string { + return s.String() +} + +type ListDocumentsInput struct { + _ struct{} `type:"structure"` + + // One or more filters. Use a filter to return a more specific list of results. + DocumentFilterList []*DocumentFilter `locationNameList:"DocumentFilter" min:"1" type:"list"` + + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. + MaxResults *int64 `min:"1" type:"integer"` + + // The token for the next set of items to return. (You received this token from + // a previous call.) + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListDocumentsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDocumentsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDocumentsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDocumentsInput"} + if s.DocumentFilterList != nil && len(s.DocumentFilterList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DocumentFilterList", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.DocumentFilterList != nil { + for i, v := range s.DocumentFilterList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DocumentFilterList", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type ListDocumentsOutput struct { + _ struct{} `type:"structure"` + + // The names of the SSM documents. + DocumentIdentifiers []*DocumentIdentifier `locationNameList:"DocumentIdentifier" type:"list"` + + // The token to use when requesting the next set of items. If there are no additional + // items to return, the string is empty. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListDocumentsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDocumentsOutput) GoString() string { + return s.String() +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The resource ID for which you want to see a list of tags. + // + // ResourceId is a required field + ResourceId *string `type:"string" required:"true"` + + // Returns a list of tags for a specific resource type. + // + // ResourceType is a required field + ResourceType *string `type:"string" required:"true" enum:"ResourceTypeForTagging"` +} + +// String returns the string representation +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + if s.ResourceType == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // A list of tags. + TagList []*Tag `type:"list"` +} + +// String returns the string representation +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +type ModifyDocumentPermissionInput struct { + _ struct{} `type:"structure"` + + // The AWS user accounts that should have access to the document. The account + // IDs can either be a group of account IDs or All. + AccountIdsToAdd []*string `locationNameList:"AccountId" type:"list"` + + // The AWS user accounts that should no longer have access to the document. + // The AWS user account can either be a group of account IDs or All. This action + // has a higher priority than AccountIdsToAdd. If you specify an account ID + // to add and the same ID to remove, the system removes access to the document. + AccountIdsToRemove []*string `locationNameList:"AccountId" type:"list"` + + // The name of the document that you want to share. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The permission type for the document. The permission type can be Share. + // + // PermissionType is a required field + PermissionType *string `type:"string" required:"true" enum:"DocumentPermissionType"` +} + +// String returns the string representation +func (s ModifyDocumentPermissionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyDocumentPermissionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyDocumentPermissionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyDocumentPermissionInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.PermissionType == nil { + invalidParams.Add(request.NewErrParamRequired("PermissionType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type ModifyDocumentPermissionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s ModifyDocumentPermissionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyDocumentPermissionOutput) GoString() string { + return s.String() +} + +// Configurations for sending notifications. +type NotificationConfig struct { + _ struct{} `type:"structure"` + + // An Amazon Resource Name (ARN) for a Simple Notification Service (SNS) topic. + // SSM pushes notifications about command status changes to this topic. + NotificationArn *string `type:"string"` + + // The different events for which you can receive notifications. These events + // include the following: All (events), InProgress, Success, TimedOut, Cancelled, + // Failed. To learn more about these events, see Monitoring Commands (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitor-commands.html) + // in the Amazon Elastic Compute Cloud User Guide . + NotificationEvents []*string `type:"list"` + + // Command: Receive notification when the status of a command changes. Invocation: + // For commands sent to multiple instances, receive notification on a per-instance + // basis when the status of a command changes. + NotificationType *string `type:"string" enum:"NotificationType"` +} + +// String returns the string representation +func (s NotificationConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NotificationConfig) GoString() string { + return s.String() +} + +type RemoveTagsFromResourceInput struct { + _ struct{} `type:"structure"` + + // The resource ID for which you want to remove tags. + // + // ResourceId is a required field + ResourceId *string `type:"string" required:"true"` + + // The type of resource of which you want to remove a tag. + // + // ResourceType is a required field + ResourceType *string `type:"string" required:"true" enum:"ResourceTypeForTagging"` + + // Tag keys that you want to remove from the specified resource. + // + // TagKeys is a required field + TagKeys []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s RemoveTagsFromResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RemoveTagsFromResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RemoveTagsFromResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"} + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + if s.ResourceType == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceType")) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type RemoveTagsFromResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s RemoveTagsFromResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RemoveTagsFromResourceOutput) GoString() string { + return s.String() +} + +type SendCommandInput struct { + _ struct{} `type:"structure"` + + // User-specified information about the command, such as a brief description + // of what the command should do. + Comment *string `type:"string"` + + // The Sha256 or Sha1 hash created by the system when the document was created. + // + // Sha1 hashes have been deprecated. + DocumentHash *string `type:"string"` + + // Sha256 or Sha1. + // + // Sha1 hashes have been deprecated. + DocumentHashType *string `type:"string" enum:"DocumentHashType"` + + // Required. The name of the SSM document to execute. This can be an SSM public + // document or a custom document. + // + // DocumentName is a required field + DocumentName *string `type:"string" required:"true"` + + // Required. The instance IDs where the command should execute. You can specify + // a maximum of 50 IDs. + // + // InstanceIds is a required field + InstanceIds []*string `min:"1" type:"list" required:"true"` + + // Configurations for sending notifications. + NotificationConfig *NotificationConfig `type:"structure"` + + // The name of the S3 bucket where command execution responses should be stored. + OutputS3BucketName *string `min:"3" type:"string"` + + // The directory structure within the S3 bucket where the responses should be + // stored. + OutputS3KeyPrefix *string `type:"string"` + + // The required and optional parameters specified in the SSM document being + // executed. + Parameters map[string][]*string `type:"map"` + + // The IAM role that SSM uses to send notifications. + ServiceRoleArn *string `type:"string"` + + // If this time is reached and the command has not already started executing, + // it will not execute. + TimeoutSeconds *int64 `min:"30" type:"integer"` +} + +// String returns the string representation +func (s SendCommandInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SendCommandInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SendCommandInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SendCommandInput"} + if s.DocumentName == nil { + invalidParams.Add(request.NewErrParamRequired("DocumentName")) + } + if s.InstanceIds == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceIds")) + } + if s.InstanceIds != nil && len(s.InstanceIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceIds", 1)) + } + if s.OutputS3BucketName != nil && len(*s.OutputS3BucketName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("OutputS3BucketName", 3)) + } + if s.TimeoutSeconds != nil && *s.TimeoutSeconds < 30 { + invalidParams.Add(request.NewErrParamMinValue("TimeoutSeconds", 30)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type SendCommandOutput struct { + _ struct{} `type:"structure"` + + // The request as it was received by SSM. Also provides the command ID which + // can be used future references to this request. + Command *Command `type:"structure"` +} + +// String returns the string representation +func (s SendCommandOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SendCommandOutput) GoString() string { + return s.String() +} + +// Metadata that you assign to your managed instances. Tags enable you to categorize +// your managed instances in different ways, for example, by purpose, owner, +// or environment. +type Tag struct { + _ struct{} `type:"structure"` + + // The name of the tag. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // The value of the tag. + // + // Value is a required field + Value *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s Tag) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Tag) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tag"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + if s.Value != nil && len(*s.Value) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type UpdateAssociationStatusInput struct { + _ struct{} `type:"structure"` + + // The association status. + // + // AssociationStatus is a required field + AssociationStatus *AssociationStatus `type:"structure" required:"true"` + + // The ID of the instance. + // + // InstanceId is a required field + InstanceId *string `type:"string" required:"true"` + + // The name of the SSM document. + // + // Name is a required field + Name *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateAssociationStatusInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAssociationStatusInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateAssociationStatusInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateAssociationStatusInput"} + if s.AssociationStatus == nil { + invalidParams.Add(request.NewErrParamRequired("AssociationStatus")) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.AssociationStatus != nil { + if err := s.AssociationStatus.Validate(); err != nil { + invalidParams.AddNested("AssociationStatus", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type UpdateAssociationStatusOutput struct { + _ struct{} `type:"structure"` + + // Information about the association. + AssociationDescription *AssociationDescription `type:"structure"` +} + +// String returns the string representation +func (s UpdateAssociationStatusOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAssociationStatusOutput) GoString() string { + return s.String() +} + +type UpdateManagedInstanceRoleInput struct { + _ struct{} `type:"structure"` + + // The IAM role you want to assign or change. + // + // IamRole is a required field + IamRole *string `type:"string" required:"true"` + + // The ID of the managed instance where you want to update the role. + // + // InstanceId is a required field + InstanceId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateManagedInstanceRoleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateManagedInstanceRoleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateManagedInstanceRoleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateManagedInstanceRoleInput"} + if s.IamRole == nil { + invalidParams.Add(request.NewErrParamRequired("IamRole")) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type UpdateManagedInstanceRoleOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateManagedInstanceRoleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateManagedInstanceRoleOutput) GoString() string { + return s.String() +} + +const ( + // AssociationFilterKeyInstanceId is a AssociationFilterKey enum value + AssociationFilterKeyInstanceId = "InstanceId" + + // AssociationFilterKeyName is a AssociationFilterKey enum value + AssociationFilterKeyName = "Name" +) + +const ( + // AssociationStatusNamePending is a AssociationStatusName enum value + AssociationStatusNamePending = "Pending" + + // AssociationStatusNameSuccess is a AssociationStatusName enum value + AssociationStatusNameSuccess = "Success" + + // AssociationStatusNameFailed is a AssociationStatusName enum value + AssociationStatusNameFailed = "Failed" +) + +const ( + // CommandFilterKeyInvokedAfter is a CommandFilterKey enum value + CommandFilterKeyInvokedAfter = "InvokedAfter" + + // CommandFilterKeyInvokedBefore is a CommandFilterKey enum value + CommandFilterKeyInvokedBefore = "InvokedBefore" + + // CommandFilterKeyStatus is a CommandFilterKey enum value + CommandFilterKeyStatus = "Status" +) + +const ( + // CommandInvocationStatusPending is a CommandInvocationStatus enum value + CommandInvocationStatusPending = "Pending" + + // CommandInvocationStatusInProgress is a CommandInvocationStatus enum value + CommandInvocationStatusInProgress = "InProgress" + + // CommandInvocationStatusCancelling is a CommandInvocationStatus enum value + CommandInvocationStatusCancelling = "Cancelling" + + // CommandInvocationStatusSuccess is a CommandInvocationStatus enum value + CommandInvocationStatusSuccess = "Success" + + // CommandInvocationStatusTimedOut is a CommandInvocationStatus enum value + CommandInvocationStatusTimedOut = "TimedOut" + + // CommandInvocationStatusCancelled is a CommandInvocationStatus enum value + CommandInvocationStatusCancelled = "Cancelled" + + // CommandInvocationStatusFailed is a CommandInvocationStatus enum value + CommandInvocationStatusFailed = "Failed" +) + +const ( + // CommandPluginStatusPending is a CommandPluginStatus enum value + CommandPluginStatusPending = "Pending" + + // CommandPluginStatusInProgress is a CommandPluginStatus enum value + CommandPluginStatusInProgress = "InProgress" + + // CommandPluginStatusSuccess is a CommandPluginStatus enum value + CommandPluginStatusSuccess = "Success" + + // CommandPluginStatusTimedOut is a CommandPluginStatus enum value + CommandPluginStatusTimedOut = "TimedOut" + + // CommandPluginStatusCancelled is a CommandPluginStatus enum value + CommandPluginStatusCancelled = "Cancelled" + + // CommandPluginStatusFailed is a CommandPluginStatus enum value + CommandPluginStatusFailed = "Failed" +) + +const ( + // CommandStatusPending is a CommandStatus enum value + CommandStatusPending = "Pending" + + // CommandStatusInProgress is a CommandStatus enum value + CommandStatusInProgress = "InProgress" + + // CommandStatusCancelling is a CommandStatus enum value + CommandStatusCancelling = "Cancelling" + + // CommandStatusSuccess is a CommandStatus enum value + CommandStatusSuccess = "Success" + + // CommandStatusTimedOut is a CommandStatus enum value + CommandStatusTimedOut = "TimedOut" + + // CommandStatusCancelled is a CommandStatus enum value + CommandStatusCancelled = "Cancelled" + + // CommandStatusFailed is a CommandStatus enum value + CommandStatusFailed = "Failed" +) + +const ( + // DescribeActivationsFilterKeysActivationIds is a DescribeActivationsFilterKeys enum value + DescribeActivationsFilterKeysActivationIds = "ActivationIds" + + // DescribeActivationsFilterKeysDefaultInstanceName is a DescribeActivationsFilterKeys enum value + DescribeActivationsFilterKeysDefaultInstanceName = "DefaultInstanceName" + + // DescribeActivationsFilterKeysIamRole is a DescribeActivationsFilterKeys enum value + DescribeActivationsFilterKeysIamRole = "IamRole" +) + +const ( + // DocumentFilterKeyName is a DocumentFilterKey enum value + DocumentFilterKeyName = "Name" + + // DocumentFilterKeyOwner is a DocumentFilterKey enum value + DocumentFilterKeyOwner = "Owner" + + // DocumentFilterKeyPlatformTypes is a DocumentFilterKey enum value + DocumentFilterKeyPlatformTypes = "PlatformTypes" +) + +const ( + // DocumentHashTypeSha256 is a DocumentHashType enum value + DocumentHashTypeSha256 = "Sha256" + + // DocumentHashTypeSha1 is a DocumentHashType enum value + DocumentHashTypeSha1 = "Sha1" +) + +const ( + // DocumentParameterTypeString is a DocumentParameterType enum value + DocumentParameterTypeString = "String" + + // DocumentParameterTypeStringList is a DocumentParameterType enum value + DocumentParameterTypeStringList = "StringList" +) + +const ( + // DocumentPermissionTypeShare is a DocumentPermissionType enum value + DocumentPermissionTypeShare = "Share" +) + +const ( + // DocumentStatusCreating is a DocumentStatus enum value + DocumentStatusCreating = "Creating" + + // DocumentStatusActive is a DocumentStatus enum value + DocumentStatusActive = "Active" + + // DocumentStatusDeleting is a DocumentStatus enum value + DocumentStatusDeleting = "Deleting" +) + +const ( + // FaultClient is a Fault enum value + FaultClient = "Client" + + // FaultServer is a Fault enum value + FaultServer = "Server" + + // FaultUnknown is a Fault enum value + FaultUnknown = "Unknown" +) + +const ( + // InstanceInformationFilterKeyInstanceIds is a InstanceInformationFilterKey enum value + InstanceInformationFilterKeyInstanceIds = "InstanceIds" + + // InstanceInformationFilterKeyAgentVersion is a InstanceInformationFilterKey enum value + InstanceInformationFilterKeyAgentVersion = "AgentVersion" + + // InstanceInformationFilterKeyPingStatus is a InstanceInformationFilterKey enum value + InstanceInformationFilterKeyPingStatus = "PingStatus" + + // InstanceInformationFilterKeyPlatformTypes is a InstanceInformationFilterKey enum value + InstanceInformationFilterKeyPlatformTypes = "PlatformTypes" + + // InstanceInformationFilterKeyActivationIds is a InstanceInformationFilterKey enum value + InstanceInformationFilterKeyActivationIds = "ActivationIds" + + // InstanceInformationFilterKeyIamRole is a InstanceInformationFilterKey enum value + InstanceInformationFilterKeyIamRole = "IamRole" + + // InstanceInformationFilterKeyResourceType is a InstanceInformationFilterKey enum value + InstanceInformationFilterKeyResourceType = "ResourceType" +) + +const ( + // NotificationEventAll is a NotificationEvent enum value + NotificationEventAll = "All" + + // NotificationEventInProgress is a NotificationEvent enum value + NotificationEventInProgress = "InProgress" + + // NotificationEventSuccess is a NotificationEvent enum value + NotificationEventSuccess = "Success" + + // NotificationEventTimedOut is a NotificationEvent enum value + NotificationEventTimedOut = "TimedOut" + + // NotificationEventCancelled is a NotificationEvent enum value + NotificationEventCancelled = "Cancelled" + + // NotificationEventFailed is a NotificationEvent enum value + NotificationEventFailed = "Failed" +) + +const ( + // NotificationTypeCommand is a NotificationType enum value + NotificationTypeCommand = "Command" + + // NotificationTypeInvocation is a NotificationType enum value + NotificationTypeInvocation = "Invocation" +) + +const ( + // PingStatusOnline is a PingStatus enum value + PingStatusOnline = "Online" + + // PingStatusConnectionLost is a PingStatus enum value + PingStatusConnectionLost = "ConnectionLost" + + // PingStatusInactive is a PingStatus enum value + PingStatusInactive = "Inactive" +) + +const ( + // PlatformTypeWindows is a PlatformType enum value + PlatformTypeWindows = "Windows" + + // PlatformTypeLinux is a PlatformType enum value + PlatformTypeLinux = "Linux" +) + +const ( + // ResourceTypeManagedInstance is a ResourceType enum value + ResourceTypeManagedInstance = "ManagedInstance" + + // ResourceTypeDocument is a ResourceType enum value + ResourceTypeDocument = "Document" + + // ResourceTypeEc2instance is a ResourceType enum value + ResourceTypeEc2instance = "EC2Instance" +) + +const ( + // ResourceTypeForTaggingManagedInstance is a ResourceTypeForTagging enum value + ResourceTypeForTaggingManagedInstance = "ManagedInstance" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/api.go b/vendor/github.com/aws/aws-sdk-go/service/sts/api.go index 35a0981662e3..17c7365e60d6 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sts/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sts/api.go @@ -12,7 +12,30 @@ import ( const opAssumeRole = "AssumeRole" -// AssumeRoleRequest generates a request for the AssumeRole operation. +// AssumeRoleRequest generates a "aws/request.Request" representing the +// client's request for the AssumeRole operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AssumeRole for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AssumeRole method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AssumeRoleRequest method. +// req, resp := client.AssumeRoleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, output *AssumeRoleOutput) { op := &request.Operation{ Name: opAssumeRole, @@ -30,6 +53,8 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o return } +// AssumeRole API operation for AWS Security Token Service. +// // Returns a set of temporary security credentials (consisting of an access // key ID, a secret access key, and a security token) that you can use to access // AWS resources that you might not normally have access to. Typically, you @@ -40,8 +65,8 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o // in the IAM User Guide. // // Important: You cannot call AssumeRole by using AWS root account credentials; -// access is denied. You must use IAM user credentials or temporary security -// credentials to call AssumeRole. +// access is denied. You must use credentials for an IAM user or an IAM role +// to call AssumeRole. // // For cross-account access, imagine that you own multiple accounts and need // to access resources in each account. You could create long-term credentials @@ -119,6 +144,31 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o // parameters. The SerialNumber value identifies the user's hardware or virtual // MFA device. The TokenCode is the time-based one-time password (TOTP) that // the MFA devices produces. +// +// 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 Security Token Service's +// API operation AssumeRole for usage and error information. +// +// Returned Error Codes: +// * MalformedPolicyDocument +// The request was rejected because the policy document was malformed. The error +// message describes the specific error. +// +// * PackedPolicyTooLarge +// The request was rejected because the policy document was too large. The error +// message describes how big the policy document is, in packed form, as a percentage +// of what the API allows. +// +// * RegionDisabledException +// STS is not activated in the requested region for the account that is being +// asked to generate credentials. The account administrator must use the IAM +// console to activate STS in that region. For more information, see Activating +// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// in the IAM User Guide. +// func (c *STS) AssumeRole(input *AssumeRoleInput) (*AssumeRoleOutput, error) { req, out := c.AssumeRoleRequest(input) err := req.Send() @@ -127,7 +177,30 @@ func (c *STS) AssumeRole(input *AssumeRoleInput) (*AssumeRoleOutput, error) { const opAssumeRoleWithSAML = "AssumeRoleWithSAML" -// AssumeRoleWithSAMLRequest generates a request for the AssumeRoleWithSAML operation. +// AssumeRoleWithSAMLRequest generates a "aws/request.Request" representing the +// client's request for the AssumeRoleWithSAML operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AssumeRoleWithSAML for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AssumeRoleWithSAML method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AssumeRoleWithSAMLRequest method. +// req, resp := client.AssumeRoleWithSAMLRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *request.Request, output *AssumeRoleWithSAMLOutput) { op := &request.Operation{ Name: opAssumeRoleWithSAML, @@ -145,6 +218,8 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re return } +// AssumeRoleWithSAML API operation for AWS Security Token Service. +// // Returns a set of temporary security credentials for users who have been authenticated // via a SAML authentication response. This operation provides a mechanism for // tying an enterprise identity store or directory to role-based AWS access @@ -173,13 +248,14 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re // returned by the operation have the permissions that are defined in the access // policy of the role that is being assumed. If you pass a policy to this operation, // the temporary security credentials that are returned by the operation have -// the permissions that are allowed by both the access policy of the role that -// is being assumed, and the policy that you pass. This gives you a way to -// further restrict the permissions for the resulting temporary security credentials. -// You cannot use the passed policy to grant permissions that are in excess -// of those allowed by the access policy of the role that is being assumed. -// For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, -// and AssumeRoleWithWebIdentity (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html) +// the permissions that are allowed by the intersection of both the access policy +// of the role that is being assumed, and the policy that you pass. This means +// that both policies must grant the permission for the action to be allowed. +// This gives you a way to further restrict the permissions for the resulting +// temporary security credentials. You cannot use the passed policy to grant +// permissions that are in excess of those allowed by the access policy of the +// role that is being assumed. For more information, see Permissions for AssumeRole, +// AssumeRoleWithSAML, and AssumeRoleWithWebIdentity (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html) // in the IAM User Guide. // // Before your application can call AssumeRoleWithSAML, you must configure @@ -211,6 +287,46 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re // // Creating a Role for SAML 2.0 Federation (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Security Token Service's +// API operation AssumeRoleWithSAML for usage and error information. +// +// Returned Error Codes: +// * MalformedPolicyDocument +// The request was rejected because the policy document was malformed. The error +// message describes the specific error. +// +// * PackedPolicyTooLarge +// The request was rejected because the policy document was too large. The error +// message describes how big the policy document is, in packed form, as a percentage +// of what the API allows. +// +// * IDPRejectedClaim +// The identity provider (IdP) reported that authentication failed. This might +// be because the claim is invalid. +// +// If this error is returned for the AssumeRoleWithWebIdentity operation, it +// can also mean that the claim has expired or has been explicitly revoked. +// +// * InvalidIdentityToken +// The web identity token that was passed could not be validated by AWS. Get +// a new identity token from the identity provider and then retry the request. +// +// * ExpiredTokenException +// The web identity token that was passed is expired or is not valid. Get a +// new identity token from the identity provider and then retry the request. +// +// * RegionDisabledException +// STS is not activated in the requested region for the account that is being +// asked to generate credentials. The account administrator must use the IAM +// console to activate STS in that region. For more information, see Activating +// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// in the IAM User Guide. +// func (c *STS) AssumeRoleWithSAML(input *AssumeRoleWithSAMLInput) (*AssumeRoleWithSAMLOutput, error) { req, out := c.AssumeRoleWithSAMLRequest(input) err := req.Send() @@ -219,7 +335,30 @@ func (c *STS) AssumeRoleWithSAML(input *AssumeRoleWithSAMLInput) (*AssumeRoleWit const opAssumeRoleWithWebIdentity = "AssumeRoleWithWebIdentity" -// AssumeRoleWithWebIdentityRequest generates a request for the AssumeRoleWithWebIdentity operation. +// AssumeRoleWithWebIdentityRequest generates a "aws/request.Request" representing the +// client's request for the AssumeRoleWithWebIdentity operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AssumeRoleWithWebIdentity for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AssumeRoleWithWebIdentity method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AssumeRoleWithWebIdentityRequest method. +// req, resp := client.AssumeRoleWithWebIdentityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityInput) (req *request.Request, output *AssumeRoleWithWebIdentityOutput) { op := &request.Operation{ Name: opAssumeRoleWithWebIdentity, @@ -237,6 +376,8 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI return } +// AssumeRoleWithWebIdentity API operation for AWS Security Token Service. +// // Returns a set of temporary security credentials for users who have been authenticated // in a mobile or web application with a web identity provider, such as Amazon // Cognito, Login with Amazon, Facebook, Google, or any OpenID Connect-compatible @@ -322,6 +463,53 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI // Web Identity Federation with Mobile Applications (http://aws.amazon.com/articles/4617974389850313). // This article discusses web identity federation and shows an example of how // to use web identity federation to get access to content in Amazon S3. +// +// 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 Security Token Service's +// API operation AssumeRoleWithWebIdentity for usage and error information. +// +// Returned Error Codes: +// * MalformedPolicyDocument +// The request was rejected because the policy document was malformed. The error +// message describes the specific error. +// +// * PackedPolicyTooLarge +// The request was rejected because the policy document was too large. The error +// message describes how big the policy document is, in packed form, as a percentage +// of what the API allows. +// +// * IDPRejectedClaim +// The identity provider (IdP) reported that authentication failed. This might +// be because the claim is invalid. +// +// If this error is returned for the AssumeRoleWithWebIdentity operation, it +// can also mean that the claim has expired or has been explicitly revoked. +// +// * IDPCommunicationError +// The request could not be fulfilled because the non-AWS identity provider +// (IDP) that was asked to verify the incoming identity token could not be reached. +// This is often a transient error caused by network conditions. Retry the request +// a limited number of times so that you don't exceed the request rate. If the +// error persists, the non-AWS identity provider might be down or not responding. +// +// * InvalidIdentityToken +// The web identity token that was passed could not be validated by AWS. Get +// a new identity token from the identity provider and then retry the request. +// +// * ExpiredTokenException +// The web identity token that was passed is expired or is not valid. Get a +// new identity token from the identity provider and then retry the request. +// +// * RegionDisabledException +// STS is not activated in the requested region for the account that is being +// asked to generate credentials. The account administrator must use the IAM +// console to activate STS in that region. For more information, see Activating +// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// in the IAM User Guide. +// func (c *STS) AssumeRoleWithWebIdentity(input *AssumeRoleWithWebIdentityInput) (*AssumeRoleWithWebIdentityOutput, error) { req, out := c.AssumeRoleWithWebIdentityRequest(input) err := req.Send() @@ -330,7 +518,30 @@ func (c *STS) AssumeRoleWithWebIdentity(input *AssumeRoleWithWebIdentityInput) ( const opDecodeAuthorizationMessage = "DecodeAuthorizationMessage" -// DecodeAuthorizationMessageRequest generates a request for the DecodeAuthorizationMessage operation. +// DecodeAuthorizationMessageRequest generates a "aws/request.Request" representing the +// client's request for the DecodeAuthorizationMessage operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DecodeAuthorizationMessage for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DecodeAuthorizationMessage method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DecodeAuthorizationMessageRequest method. +// req, resp := client.DecodeAuthorizationMessageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *STS) DecodeAuthorizationMessageRequest(input *DecodeAuthorizationMessageInput) (req *request.Request, output *DecodeAuthorizationMessageOutput) { op := &request.Operation{ Name: opDecodeAuthorizationMessage, @@ -348,6 +559,8 @@ func (c *STS) DecodeAuthorizationMessageRequest(input *DecodeAuthorizationMessag return } +// DecodeAuthorizationMessage API operation for AWS Security Token Service. +// // Decodes additional information about the authorization status of a request // from an encoded message returned in response to an AWS request. // @@ -380,6 +593,20 @@ func (c *STS) DecodeAuthorizationMessageRequest(input *DecodeAuthorizationMessag // The requested resource. // // The values of condition keys in the context of the user's request. +// +// 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 Security Token Service's +// API operation DecodeAuthorizationMessage for usage and error information. +// +// Returned Error Codes: +// * InvalidAuthorizationMessageException +// The error returned if the message passed to DecodeAuthorizationMessage was +// invalid. This can happen if the token contains invalid characters, such as +// linebreaks. +// func (c *STS) DecodeAuthorizationMessage(input *DecodeAuthorizationMessageInput) (*DecodeAuthorizationMessageOutput, error) { req, out := c.DecodeAuthorizationMessageRequest(input) err := req.Send() @@ -388,7 +615,30 @@ func (c *STS) DecodeAuthorizationMessage(input *DecodeAuthorizationMessageInput) const opGetCallerIdentity = "GetCallerIdentity" -// GetCallerIdentityRequest generates a request for the GetCallerIdentity operation. +// GetCallerIdentityRequest generates a "aws/request.Request" representing the +// client's request for the GetCallerIdentity operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetCallerIdentity for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetCallerIdentity method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetCallerIdentityRequest method. +// req, resp := client.GetCallerIdentityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *STS) GetCallerIdentityRequest(input *GetCallerIdentityInput) (req *request.Request, output *GetCallerIdentityOutput) { op := &request.Operation{ Name: opGetCallerIdentity, @@ -406,8 +656,17 @@ func (c *STS) GetCallerIdentityRequest(input *GetCallerIdentityInput) (req *requ return } +// GetCallerIdentity API operation for AWS Security Token Service. +// // Returns details about the IAM identity whose credentials are used to call // the API. +// +// 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 Security Token Service's +// API operation GetCallerIdentity for usage and error information. func (c *STS) GetCallerIdentity(input *GetCallerIdentityInput) (*GetCallerIdentityOutput, error) { req, out := c.GetCallerIdentityRequest(input) err := req.Send() @@ -416,7 +675,30 @@ func (c *STS) GetCallerIdentity(input *GetCallerIdentityInput) (*GetCallerIdenti const opGetFederationToken = "GetFederationToken" -// GetFederationTokenRequest generates a request for the GetFederationToken operation. +// GetFederationTokenRequest generates a "aws/request.Request" representing the +// client's request for the GetFederationToken operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetFederationToken for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetFederationToken method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetFederationTokenRequest method. +// req, resp := client.GetFederationTokenRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *request.Request, output *GetFederationTokenOutput) { op := &request.Operation{ Name: opGetFederationToken, @@ -434,6 +716,8 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re return } +// GetFederationToken API operation for AWS Security Token Service. +// // Returns a set of temporary security credentials (consisting of an access // key ID, a secret access key, and a security token) for a federated user. // A typical use is in a proxy application that gets temporary security credentials @@ -512,6 +796,31 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re // For information about using GetFederationToken to create temporary security // credentials, see GetFederationToken—Federation Through a Custom Identity // Broker (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getfederationtoken). +// +// 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 Security Token Service's +// API operation GetFederationToken for usage and error information. +// +// Returned Error Codes: +// * MalformedPolicyDocument +// The request was rejected because the policy document was malformed. The error +// message describes the specific error. +// +// * PackedPolicyTooLarge +// The request was rejected because the policy document was too large. The error +// message describes how big the policy document is, in packed form, as a percentage +// of what the API allows. +// +// * RegionDisabledException +// STS is not activated in the requested region for the account that is being +// asked to generate credentials. The account administrator must use the IAM +// console to activate STS in that region. For more information, see Activating +// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// in the IAM User Guide. +// func (c *STS) GetFederationToken(input *GetFederationTokenInput) (*GetFederationTokenOutput, error) { req, out := c.GetFederationTokenRequest(input) err := req.Send() @@ -520,7 +829,30 @@ func (c *STS) GetFederationToken(input *GetFederationTokenInput) (*GetFederation const opGetSessionToken = "GetSessionToken" -// GetSessionTokenRequest generates a request for the GetSessionToken operation. +// GetSessionTokenRequest generates a "aws/request.Request" representing the +// client's request for the GetSessionToken operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetSessionToken for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetSessionToken method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetSessionTokenRequest method. +// req, resp := client.GetSessionTokenRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// func (c *STS) GetSessionTokenRequest(input *GetSessionTokenInput) (req *request.Request, output *GetSessionTokenOutput) { op := &request.Operation{ Name: opGetSessionToken, @@ -538,6 +870,8 @@ func (c *STS) GetSessionTokenRequest(input *GetSessionTokenInput) (req *request. return } +// GetSessionToken API operation for AWS Security Token Service. +// // Returns a set of temporary credentials for an AWS account or IAM user. The // credentials consist of an access key ID, a secret access key, and a security // token. Typically, you use GetSessionToken if you want to use MFA to protect @@ -584,6 +918,22 @@ func (c *STS) GetSessionTokenRequest(input *GetSessionTokenInput) (req *request. // For more information about using GetSessionToken to create temporary credentials, // go to Temporary Credentials for Users in Untrusted Environments (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getsessiontoken) // in the IAM 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 +// the error. +// +// See the AWS API reference guide for AWS Security Token Service's +// API operation GetSessionToken for usage and error information. +// +// Returned Error Codes: +// * RegionDisabledException +// STS is not activated in the requested region for the account that is being +// asked to generate credentials. The account administrator must use the IAM +// console to activate STS in that region. For more information, see Activating +// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// in the IAM User Guide. +// func (c *STS) GetSessionToken(input *GetSessionTokenInput) (*GetSessionTokenOutput, error) { req, out := c.GetSessionTokenRequest(input) err := req.Send() @@ -596,6 +946,14 @@ type AssumeRoleInput struct { // The duration, in seconds, of the role session. The value can range from 900 // seconds (15 minutes) to 3600 seconds (1 hour). By default, the value is set // to 3600 seconds. + // + // This is separate from the duration of a console session that you might + // request using the returned credentials. The request to the federation endpoint + // for a console sign-in token takes a SessionDuration parameter that specifies + // the maximum length of the console session, separately from the DurationSeconds + // parameter on this API. For more information, see Creating a URL that Enables + // Federated Users to Access the AWS Management Console (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html) + // in the IAM User Guide. DurationSeconds *int64 `min:"900" type:"integer"` // A unique identifier that is used by third parties when assuming roles in @@ -610,7 +968,8 @@ type AssumeRoleInput struct { // // The format for this parameter, as described by its regex pattern, is a string // of characters consisting of upper- and lower-case alphanumeric characters - // with no spaces. You can also include any of the following characters: =,.@:\/- + // with no spaces. You can also include underscores or any of the following + // characters: =,.@:\/- ExternalId *string `min:"2" type:"string"` // An IAM policy in JSON format. @@ -640,6 +999,8 @@ type AssumeRoleInput struct { Policy *string `min:"1" type:"string"` // The Amazon Resource Name (ARN) of the role to assume. + // + // RoleArn is a required field RoleArn *string `min:"20" type:"string" required:"true"` // An identifier for the assumed role session. @@ -654,7 +1015,10 @@ type AssumeRoleInput struct { // // The format for this parameter, as described by its regex pattern, is a string // of characters consisting of upper- and lower-case alphanumeric characters - // with no spaces. You can also include any of the following characters: =,.@- + // with no spaces. You can also include underscores or any of the following + // characters: =,.@- + // + // RoleSessionName is a required field RoleSessionName *string `min:"2" type:"string" required:"true"` // The identification number of the MFA device that is associated with the user @@ -665,7 +1029,8 @@ type AssumeRoleInput struct { // // The format for this parameter, as described by its regex pattern, is a string // of characters consisting of upper- and lower-case alphanumeric characters - // with no spaces. You can also include any of the following characters: =,.@- + // with no spaces. You can also include underscores or any of the following + // characters: =,.@- SerialNumber *string `min:"9" type:"string"` // The value provided by the MFA device, if the trust policy of the role being @@ -771,8 +1136,13 @@ type AssumeRoleWithSAMLInput struct { // response's SessionNotOnOrAfter value. The actual expiration time is whichever // value is shorter. // - // The maximum duration for a session is 1 hour, and the minimum duration - // is 15 minutes, even if values outside this range are specified. + // This is separate from the duration of a console session that you might + // request using the returned credentials. The request to the federation endpoint + // for a console sign-in token takes a SessionDuration parameter that specifies + // the maximum length of the console session, separately from the DurationSeconds + // parameter on this API. For more information, see Enabling SAML 2.0 Federated + // Users to Access the AWS Management Console (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-saml.html) + // in the IAM User Guide. DurationSeconds *int64 `min:"900" type:"integer"` // An IAM policy in JSON format. @@ -803,9 +1173,13 @@ type AssumeRoleWithSAMLInput struct { // The Amazon Resource Name (ARN) of the SAML provider in IAM that describes // the IdP. + // + // PrincipalArn is a required field PrincipalArn *string `min:"20" type:"string" required:"true"` // The Amazon Resource Name (ARN) of the role that the caller is assuming. + // + // RoleArn is a required field RoleArn *string `min:"20" type:"string" required:"true"` // The base-64 encoded SAML authentication response provided by the IdP. @@ -813,6 +1187,8 @@ type AssumeRoleWithSAMLInput struct { // For more information, see Configuring a Relying Party and Adding Claims // (http://docs.aws.amazon.com/IAM/latest/UserGuide/create-role-saml-IdP-tasks.html) // in the Using IAM guide. + // + // SAMLAssertion is a required field SAMLAssertion *string `min:"4" type:"string" required:"true"` } @@ -931,6 +1307,14 @@ type AssumeRoleWithWebIdentityInput struct { // The duration, in seconds, of the role session. The value can range from 900 // seconds (15 minutes) to 3600 seconds (1 hour). By default, the value is set // to 3600 seconds. + // + // This is separate from the duration of a console session that you might + // request using the returned credentials. The request to the federation endpoint + // for a console sign-in token takes a SessionDuration parameter that specifies + // the maximum length of the console session, separately from the DurationSeconds + // parameter on this API. For more information, see Creating a URL that Enables + // Federated Users to Access the AWS Management Console (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html) + // in the IAM User Guide. DurationSeconds *int64 `min:"900" type:"integer"` // An IAM policy in JSON format. @@ -968,6 +1352,8 @@ type AssumeRoleWithWebIdentityInput struct { ProviderId *string `min:"4" type:"string"` // The Amazon Resource Name (ARN) of the role that the caller is assuming. + // + // RoleArn is a required field RoleArn *string `min:"20" type:"string" required:"true"` // An identifier for the assumed role session. Typically, you pass the name @@ -978,13 +1364,18 @@ type AssumeRoleWithWebIdentityInput struct { // // The format for this parameter, as described by its regex pattern, is a string // of characters consisting of upper- and lower-case alphanumeric characters - // with no spaces. You can also include any of the following characters: =,.@- + // with no spaces. You can also include underscores or any of the following + // characters: =,.@- + // + // RoleSessionName is a required field RoleSessionName *string `min:"2" type:"string" required:"true"` // The OAuth 2.0 access token or OpenID Connect ID token that is provided by // the identity provider. Your application must get this token by authenticating // the user who is using your application with a web identity provider before // the application makes an AssumeRoleWithWebIdentity call. + // + // WebIdentityToken is a required field WebIdentityToken *string `min:"4" type:"string" required:"true"` } @@ -1100,11 +1491,15 @@ type AssumedRoleUser struct { // AssumeRole action. For more information about ARNs and how to use them in // policies, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) // in Using IAM. + // + // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` // A unique identifier that contains the role ID and the role session name of // the role that is being assumed. The role ID is generated by AWS when the // role is created. + // + // AssumedRoleId is a required field AssumedRoleId *string `min:"2" type:"string" required:"true"` } @@ -1123,15 +1518,23 @@ type Credentials struct { _ struct{} `type:"structure"` // The access key ID that identifies the temporary security credentials. + // + // AccessKeyId is a required field AccessKeyId *string `min:"16" type:"string" required:"true"` // The date on which the current credentials expire. + // + // Expiration is a required field Expiration *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` // The secret access key that can be used to sign requests. + // + // SecretAccessKey is a required field SecretAccessKey *string `type:"string" required:"true"` // The token that users must pass to the service API to use the temporary credentials. + // + // SessionToken is a required field SessionToken *string `type:"string" required:"true"` } @@ -1149,6 +1552,8 @@ type DecodeAuthorizationMessageInput struct { _ struct{} `type:"structure"` // The encoded message that was returned with the response. + // + // EncodedMessage is a required field EncodedMessage *string `min:"1" type:"string" required:"true"` } @@ -1206,10 +1611,14 @@ type FederatedUser struct { // For more information about ARNs and how to use them in policies, see IAM // Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) // in Using IAM. + // + // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` // The string that identifies the federated user associated with the credentials, // similar to the unique ID of an IAM user. + // + // FederatedUserId is a required field FederatedUserId *string `min:"2" type:"string" required:"true"` } @@ -1285,7 +1694,10 @@ type GetFederationTokenInput struct { // // The format for this parameter, as described by its regex pattern, is a string // of characters consisting of upper- and lower-case alphanumeric characters - // with no spaces. You can also include any of the following characters: =,.@- + // with no spaces. You can also include underscores or any of the following + // characters: =,.@- + // + // Name is a required field Name *string `min:"2" type:"string" required:"true"` // An IAM policy in JSON format that is passed with the GetFederationToken call @@ -1409,7 +1821,8 @@ type GetSessionTokenInput struct { // // The format for this parameter, as described by its regex pattern, is a string // of characters consisting of upper- and lower-case alphanumeric characters - // with no spaces. You can also include any of the following characters: =,.@- + // with no spaces. You can also include underscores or any of the following + // characters: =,.@- SerialNumber *string `min:"9" type:"string"` // The value provided by the MFA device, if MFA is required. If any policy requires diff --git a/vendor/github.com/aws/aws-sdk-go/service/waf/api.go b/vendor/github.com/aws/aws-sdk-go/service/waf/api.go new file mode 100644 index 000000000000..47c081ff63b0 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/waf/api.go @@ -0,0 +1,9053 @@ +// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. + +// Package waf provides a client for AWS WAF. +package waf + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" +) + +const opCreateByteMatchSet = "CreateByteMatchSet" + +// CreateByteMatchSetRequest generates a "aws/request.Request" representing the +// client's request for the CreateByteMatchSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateByteMatchSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateByteMatchSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateByteMatchSetRequest method. +// req, resp := client.CreateByteMatchSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) CreateByteMatchSetRequest(input *CreateByteMatchSetInput) (req *request.Request, output *CreateByteMatchSetOutput) { + op := &request.Operation{ + Name: opCreateByteMatchSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateByteMatchSetInput{} + } + + req = c.newRequest(op, input, output) + output = &CreateByteMatchSetOutput{} + req.Data = output + return +} + +// CreateByteMatchSet API operation for AWS WAF. +// +// Creates a ByteMatchSet. You then use UpdateByteMatchSet to identify the part +// of a web request that you want AWS WAF to inspect, such as the values of +// the User-Agent header or the query string. For example, you can create a +// ByteMatchSet that matches any requests with User-Agent headers that contain +// the string BadBot. You can then configure AWS WAF to reject those requests. +// +// To create and configure a ByteMatchSet, perform the following steps: +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a CreateByteMatchSet request. +// +// Submit a CreateByteMatchSet request. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateByteMatchSet request. +// +// Submit an UpdateByteMatchSet request to specify the part of the request +// that you want AWS WAF to inspect (for example, the header or the URI) and +// the value that you want AWS WAF to watch for. +// +// For more information about how to use the AWS WAF API to allow or block +// HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// +// 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 WAF's +// API operation CreateByteMatchSet for usage and error information. +// +// Returned Error Codes: +// * DisallowedNameException +// The name specified is invalid. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +// * InvalidParameterException +// The operation failed because AWS WAF didn't recognize a parameter in the +// request. For example: +// +// You specified an invalid parameter name. +// +// You specified an invalid value. +// +// You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) using +// an action other than INSERT or DELETE. +// +// You tried to create a WebACL with a DefaultAction Type other than ALLOW, +// BLOCK, or COUNT. +// +// You tried to update a WebACL with a WafAction Type other than ALLOW, BLOCK, +// or COUNT. +// +// You tried to update a ByteMatchSet with a FieldToMatch Type other than +// HEADER, QUERY_STRING, or URI. +// +// You tried to update a ByteMatchSet with a Field of HEADER but no value +// for Data. +// +// * StaleDataException +// The operation failed because you tried to create, update, or delete an object +// by using a change token that has already been used. +// +// * LimitsExceededException +// The operation exceeds a resource limit, for example, the maximum number of +// WebACL objects that you can create for an AWS account. For more information, +// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// in the AWS WAF Developer Guide. +// +func (c *WAF) CreateByteMatchSet(input *CreateByteMatchSetInput) (*CreateByteMatchSetOutput, error) { + req, out := c.CreateByteMatchSetRequest(input) + err := req.Send() + return out, err +} + +const opCreateIPSet = "CreateIPSet" + +// CreateIPSetRequest generates a "aws/request.Request" representing the +// client's request for the CreateIPSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateIPSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateIPSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateIPSetRequest method. +// req, resp := client.CreateIPSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) CreateIPSetRequest(input *CreateIPSetInput) (req *request.Request, output *CreateIPSetOutput) { + op := &request.Operation{ + Name: opCreateIPSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateIPSetInput{} + } + + req = c.newRequest(op, input, output) + output = &CreateIPSetOutput{} + req.Data = output + return +} + +// CreateIPSet API operation for AWS WAF. +// +// Creates an IPSet, which you use to specify which web requests you want to +// allow or block based on the IP addresses that the requests originate from. +// For example, if you're receiving a lot of requests from one or more individual +// IP addresses or one or more ranges of IP addresses and you want to block +// the requests, you can create an IPSet that contains those IP addresses and +// then configure AWS WAF to block the requests. +// +// To create and configure an IPSet, perform the following steps: +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a CreateIPSet request. +// +// Submit a CreateIPSet request. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateIPSet request. +// +// Submit an UpdateIPSet request to specify the IP addresses that you want +// AWS WAF to watch for. +// +// For more information about how to use the AWS WAF API to allow or block +// HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// +// 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 WAF's +// API operation CreateIPSet for usage and error information. +// +// Returned Error Codes: +// * StaleDataException +// The operation failed because you tried to create, update, or delete an object +// by using a change token that has already been used. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +// * DisallowedNameException +// The name specified is invalid. +// +// * InvalidParameterException +// The operation failed because AWS WAF didn't recognize a parameter in the +// request. For example: +// +// You specified an invalid parameter name. +// +// You specified an invalid value. +// +// You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) using +// an action other than INSERT or DELETE. +// +// You tried to create a WebACL with a DefaultAction Type other than ALLOW, +// BLOCK, or COUNT. +// +// You tried to update a WebACL with a WafAction Type other than ALLOW, BLOCK, +// or COUNT. +// +// You tried to update a ByteMatchSet with a FieldToMatch Type other than +// HEADER, QUERY_STRING, or URI. +// +// You tried to update a ByteMatchSet with a Field of HEADER but no value +// for Data. +// +// * LimitsExceededException +// The operation exceeds a resource limit, for example, the maximum number of +// WebACL objects that you can create for an AWS account. For more information, +// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// in the AWS WAF Developer Guide. +// +func (c *WAF) CreateIPSet(input *CreateIPSetInput) (*CreateIPSetOutput, error) { + req, out := c.CreateIPSetRequest(input) + err := req.Send() + return out, err +} + +const opCreateRule = "CreateRule" + +// CreateRuleRequest generates a "aws/request.Request" representing the +// client's request for the CreateRule operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateRule for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateRule method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateRuleRequest method. +// req, resp := client.CreateRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) CreateRuleRequest(input *CreateRuleInput) (req *request.Request, output *CreateRuleOutput) { + op := &request.Operation{ + Name: opCreateRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateRuleInput{} + } + + req = c.newRequest(op, input, output) + output = &CreateRuleOutput{} + req.Data = output + return +} + +// CreateRule API operation for AWS WAF. +// +// Creates a Rule, which contains the IPSet objects, ByteMatchSet objects, and +// other predicates that identify the requests that you want to block. If you +// add more than one predicate to a Rule, a request must match all of the specifications +// to be allowed or blocked. For example, suppose you add the following to a +// Rule: +// +// An IPSet that matches the IP address 192.0.2.44/32 +// +// A ByteMatchSet that matches BadBot in the User-Agent header +// +// You then add the Rule to a WebACL and specify that you want to blocks +// requests that satisfy the Rule. For a request to be blocked, it must come +// from the IP address 192.0.2.44 and the User-Agent header in the request must +// contain the value BadBot. +// +// To create and configure a Rule, perform the following steps: +// +// Create and update the predicates that you want to include in the Rule. +// For more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a CreateRule request. +// +// Submit a CreateRule request. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateRule request. +// +// Submit an UpdateRule request to specify the predicates that you want to +// include in the Rule. +// +// Create and update a WebACL that contains the Rule. For more information, +// see CreateWebACL. +// +// For more information about how to use the AWS WAF API to allow or block +// HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// +// 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 WAF's +// API operation CreateRule for usage and error information. +// +// Returned Error Codes: +// * StaleDataException +// The operation failed because you tried to create, update, or delete an object +// by using a change token that has already been used. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * DisallowedNameException +// The name specified is invalid. +// +// * InvalidParameterException +// The operation failed because AWS WAF didn't recognize a parameter in the +// request. For example: +// +// You specified an invalid parameter name. +// +// You specified an invalid value. +// +// You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) using +// an action other than INSERT or DELETE. +// +// You tried to create a WebACL with a DefaultAction Type other than ALLOW, +// BLOCK, or COUNT. +// +// You tried to update a WebACL with a WafAction Type other than ALLOW, BLOCK, +// or COUNT. +// +// You tried to update a ByteMatchSet with a FieldToMatch Type other than +// HEADER, QUERY_STRING, or URI. +// +// You tried to update a ByteMatchSet with a Field of HEADER but no value +// for Data. +// +// * LimitsExceededException +// The operation exceeds a resource limit, for example, the maximum number of +// WebACL objects that you can create for an AWS account. For more information, +// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// in the AWS WAF Developer Guide. +// +func (c *WAF) CreateRule(input *CreateRuleInput) (*CreateRuleOutput, error) { + req, out := c.CreateRuleRequest(input) + err := req.Send() + return out, err +} + +const opCreateSizeConstraintSet = "CreateSizeConstraintSet" + +// CreateSizeConstraintSetRequest generates a "aws/request.Request" representing the +// client's request for the CreateSizeConstraintSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateSizeConstraintSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateSizeConstraintSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateSizeConstraintSetRequest method. +// req, resp := client.CreateSizeConstraintSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) CreateSizeConstraintSetRequest(input *CreateSizeConstraintSetInput) (req *request.Request, output *CreateSizeConstraintSetOutput) { + op := &request.Operation{ + Name: opCreateSizeConstraintSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateSizeConstraintSetInput{} + } + + req = c.newRequest(op, input, output) + output = &CreateSizeConstraintSetOutput{} + req.Data = output + return +} + +// CreateSizeConstraintSet API operation for AWS WAF. +// +// Creates a SizeConstraintSet. You then use UpdateSizeConstraintSet to identify +// the part of a web request that you want AWS WAF to check for length, such +// as the length of the User-Agent header or the length of the query string. +// For example, you can create a SizeConstraintSet that matches any requests +// that have a query string that is longer than 100 bytes. You can then configure +// AWS WAF to reject those requests. +// +// To create and configure a SizeConstraintSet, perform the following steps: +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a CreateSizeConstraintSet request. +// +// Submit a CreateSizeConstraintSet request. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateSizeConstraintSet request. +// +// Submit an UpdateSizeConstraintSet request to specify the part of the request +// that you want AWS WAF to inspect (for example, the header or the URI) and +// the value that you want AWS WAF to watch for. +// +// For more information about how to use the AWS WAF API to allow or block +// HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// +// 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 WAF's +// API operation CreateSizeConstraintSet for usage and error information. +// +// Returned Error Codes: +// * StaleDataException +// The operation failed because you tried to create, update, or delete an object +// by using a change token that has already been used. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +// * DisallowedNameException +// The name specified is invalid. +// +// * InvalidParameterException +// The operation failed because AWS WAF didn't recognize a parameter in the +// request. For example: +// +// You specified an invalid parameter name. +// +// You specified an invalid value. +// +// You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) using +// an action other than INSERT or DELETE. +// +// You tried to create a WebACL with a DefaultAction Type other than ALLOW, +// BLOCK, or COUNT. +// +// You tried to update a WebACL with a WafAction Type other than ALLOW, BLOCK, +// or COUNT. +// +// You tried to update a ByteMatchSet with a FieldToMatch Type other than +// HEADER, QUERY_STRING, or URI. +// +// You tried to update a ByteMatchSet with a Field of HEADER but no value +// for Data. +// +// * LimitsExceededException +// The operation exceeds a resource limit, for example, the maximum number of +// WebACL objects that you can create for an AWS account. For more information, +// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// in the AWS WAF Developer Guide. +// +func (c *WAF) CreateSizeConstraintSet(input *CreateSizeConstraintSetInput) (*CreateSizeConstraintSetOutput, error) { + req, out := c.CreateSizeConstraintSetRequest(input) + err := req.Send() + return out, err +} + +const opCreateSqlInjectionMatchSet = "CreateSqlInjectionMatchSet" + +// CreateSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the +// client's request for the CreateSqlInjectionMatchSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateSqlInjectionMatchSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateSqlInjectionMatchSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateSqlInjectionMatchSetRequest method. +// req, resp := client.CreateSqlInjectionMatchSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) CreateSqlInjectionMatchSetRequest(input *CreateSqlInjectionMatchSetInput) (req *request.Request, output *CreateSqlInjectionMatchSetOutput) { + op := &request.Operation{ + Name: opCreateSqlInjectionMatchSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateSqlInjectionMatchSetInput{} + } + + req = c.newRequest(op, input, output) + output = &CreateSqlInjectionMatchSetOutput{} + req.Data = output + return +} + +// CreateSqlInjectionMatchSet API operation for AWS WAF. +// +// Creates a SqlInjectionMatchSet, which you use to allow, block, or count requests +// that contain snippets of SQL code in a specified part of web requests. AWS +// WAF searches for character sequences that are likely to be malicious strings. +// +// To create and configure a SqlInjectionMatchSet, perform the following steps: +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a CreateSqlInjectionMatchSet request. +// +// Submit a CreateSqlInjectionMatchSet request. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateSqlInjectionMatchSet request. +// +// Submit an UpdateSqlInjectionMatchSet request to specify the parts of web +// requests in which you want to allow, block, or count malicious SQL code. +// +// For more information about how to use the AWS WAF API to allow or block +// HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// +// 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 WAF's +// API operation CreateSqlInjectionMatchSet for usage and error information. +// +// Returned Error Codes: +// * DisallowedNameException +// The name specified is invalid. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +// * InvalidParameterException +// The operation failed because AWS WAF didn't recognize a parameter in the +// request. For example: +// +// You specified an invalid parameter name. +// +// You specified an invalid value. +// +// You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) using +// an action other than INSERT or DELETE. +// +// You tried to create a WebACL with a DefaultAction Type other than ALLOW, +// BLOCK, or COUNT. +// +// You tried to update a WebACL with a WafAction Type other than ALLOW, BLOCK, +// or COUNT. +// +// You tried to update a ByteMatchSet with a FieldToMatch Type other than +// HEADER, QUERY_STRING, or URI. +// +// You tried to update a ByteMatchSet with a Field of HEADER but no value +// for Data. +// +// * StaleDataException +// The operation failed because you tried to create, update, or delete an object +// by using a change token that has already been used. +// +// * LimitsExceededException +// The operation exceeds a resource limit, for example, the maximum number of +// WebACL objects that you can create for an AWS account. For more information, +// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// in the AWS WAF Developer Guide. +// +func (c *WAF) CreateSqlInjectionMatchSet(input *CreateSqlInjectionMatchSetInput) (*CreateSqlInjectionMatchSetOutput, error) { + req, out := c.CreateSqlInjectionMatchSetRequest(input) + err := req.Send() + return out, err +} + +const opCreateWebACL = "CreateWebACL" + +// CreateWebACLRequest generates a "aws/request.Request" representing the +// client's request for the CreateWebACL operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateWebACL for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateWebACL method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateWebACLRequest method. +// req, resp := client.CreateWebACLRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) CreateWebACLRequest(input *CreateWebACLInput) (req *request.Request, output *CreateWebACLOutput) { + op := &request.Operation{ + Name: opCreateWebACL, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateWebACLInput{} + } + + req = c.newRequest(op, input, output) + output = &CreateWebACLOutput{} + req.Data = output + return +} + +// CreateWebACL API operation for AWS WAF. +// +// Creates a WebACL, which contains the Rules that identify the CloudFront web +// requests that you want to allow, block, or count. AWS WAF evaluates Rules +// in order based on the value of Priority for each Rule. +// +// You also specify a default action, either ALLOW or BLOCK. If a web request +// doesn't match any of the Rules in a WebACL, AWS WAF responds to the request +// with the default action. +// +// To create and configure a WebACL, perform the following steps: +// +// Create and update the ByteMatchSet objects and other predicates that you +// want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, +// CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet. +// +// Create and update the Rules that you want to include in the WebACL. For +// more information, see CreateRule and UpdateRule. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a CreateWebACL request. +// +// Submit a CreateWebACL request. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateWebACL request. +// +// Submit an UpdateWebACL request to specify the Rules that you want to include +// in the WebACL, to specify the default action, and to associate the WebACL +// with a CloudFront distribution. +// +// For more information about how to use the AWS WAF API, see the AWS WAF +// Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// +// 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 WAF's +// API operation CreateWebACL for usage and error information. +// +// Returned Error Codes: +// * StaleDataException +// The operation failed because you tried to create, update, or delete an object +// by using a change token that has already been used. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +// * DisallowedNameException +// The name specified is invalid. +// +// * InvalidParameterException +// The operation failed because AWS WAF didn't recognize a parameter in the +// request. For example: +// +// You specified an invalid parameter name. +// +// You specified an invalid value. +// +// You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) using +// an action other than INSERT or DELETE. +// +// You tried to create a WebACL with a DefaultAction Type other than ALLOW, +// BLOCK, or COUNT. +// +// You tried to update a WebACL with a WafAction Type other than ALLOW, BLOCK, +// or COUNT. +// +// You tried to update a ByteMatchSet with a FieldToMatch Type other than +// HEADER, QUERY_STRING, or URI. +// +// You tried to update a ByteMatchSet with a Field of HEADER but no value +// for Data. +// +// * LimitsExceededException +// The operation exceeds a resource limit, for example, the maximum number of +// WebACL objects that you can create for an AWS account. For more information, +// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// in the AWS WAF Developer Guide. +// +func (c *WAF) CreateWebACL(input *CreateWebACLInput) (*CreateWebACLOutput, error) { + req, out := c.CreateWebACLRequest(input) + err := req.Send() + return out, err +} + +const opCreateXssMatchSet = "CreateXssMatchSet" + +// CreateXssMatchSetRequest generates a "aws/request.Request" representing the +// client's request for the CreateXssMatchSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateXssMatchSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateXssMatchSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateXssMatchSetRequest method. +// req, resp := client.CreateXssMatchSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) CreateXssMatchSetRequest(input *CreateXssMatchSetInput) (req *request.Request, output *CreateXssMatchSetOutput) { + op := &request.Operation{ + Name: opCreateXssMatchSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateXssMatchSetInput{} + } + + req = c.newRequest(op, input, output) + output = &CreateXssMatchSetOutput{} + req.Data = output + return +} + +// CreateXssMatchSet API operation for AWS WAF. +// +// Creates an XssMatchSet, which you use to allow, block, or count requests +// that contain cross-site scripting attacks in the specified part of web requests. +// AWS WAF searches for character sequences that are likely to be malicious +// strings. +// +// To create and configure an XssMatchSet, perform the following steps: +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a CreateXssMatchSet request. +// +// Submit a CreateXssMatchSet request. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateXssMatchSet request. +// +// Submit an UpdateXssMatchSet request to specify the parts of web requests +// in which you want to allow, block, or count cross-site scripting attacks. +// +// For more information about how to use the AWS WAF API to allow or block +// HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// +// 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 WAF's +// API operation CreateXssMatchSet for usage and error information. +// +// Returned Error Codes: +// * DisallowedNameException +// The name specified is invalid. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +// * InvalidParameterException +// The operation failed because AWS WAF didn't recognize a parameter in the +// request. For example: +// +// You specified an invalid parameter name. +// +// You specified an invalid value. +// +// You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) using +// an action other than INSERT or DELETE. +// +// You tried to create a WebACL with a DefaultAction Type other than ALLOW, +// BLOCK, or COUNT. +// +// You tried to update a WebACL with a WafAction Type other than ALLOW, BLOCK, +// or COUNT. +// +// You tried to update a ByteMatchSet with a FieldToMatch Type other than +// HEADER, QUERY_STRING, or URI. +// +// You tried to update a ByteMatchSet with a Field of HEADER but no value +// for Data. +// +// * StaleDataException +// The operation failed because you tried to create, update, or delete an object +// by using a change token that has already been used. +// +// * LimitsExceededException +// The operation exceeds a resource limit, for example, the maximum number of +// WebACL objects that you can create for an AWS account. For more information, +// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// in the AWS WAF Developer Guide. +// +func (c *WAF) CreateXssMatchSet(input *CreateXssMatchSetInput) (*CreateXssMatchSetOutput, error) { + req, out := c.CreateXssMatchSetRequest(input) + err := req.Send() + return out, err +} + +const opDeleteByteMatchSet = "DeleteByteMatchSet" + +// DeleteByteMatchSetRequest generates a "aws/request.Request" representing the +// client's request for the DeleteByteMatchSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteByteMatchSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteByteMatchSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteByteMatchSetRequest method. +// req, resp := client.DeleteByteMatchSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) DeleteByteMatchSetRequest(input *DeleteByteMatchSetInput) (req *request.Request, output *DeleteByteMatchSetOutput) { + op := &request.Operation{ + Name: opDeleteByteMatchSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteByteMatchSetInput{} + } + + req = c.newRequest(op, input, output) + output = &DeleteByteMatchSetOutput{} + req.Data = output + return +} + +// DeleteByteMatchSet API operation for AWS WAF. +// +// Permanently deletes a ByteMatchSet. You can't delete a ByteMatchSet if it's +// still used in any Rules or if it still includes any ByteMatchTuple objects +// (any filters). +// +// If you just want to remove a ByteMatchSet from a Rule, use UpdateRule. +// +// To permanently delete a ByteMatchSet, perform the following steps: +// +// Update the ByteMatchSet to remove filters, if any. For more information, +// see UpdateByteMatchSet. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a DeleteByteMatchSet request. +// +// Submit a DeleteByteMatchSet request. +// +// 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 WAF's +// API operation DeleteByteMatchSet for usage and error information. +// +// Returned Error Codes: +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +// * NonexistentItemException +// The operation failed because the referenced object doesn't exist. +// +// * ReferencedItemException +// The operation failed because you tried to delete an object that is still +// in use. For example: +// +// You tried to delete a ByteMatchSet that is still referenced by a Rule. +// +// You tried to delete a Rule that is still referenced by a WebACL. +// +// * StaleDataException +// The operation failed because you tried to create, update, or delete an object +// by using a change token that has already been used. +// +// * NonEmptyEntityException +// The operation failed because you tried to delete an object that isn't empty. +// For example: +// +// You tried to delete a WebACL that still contains one or more Rule objects. +// +// You tried to delete a Rule that still contains one or more ByteMatchSet +// objects or other predicates. +// +// You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple +// objects. +// +// You tried to delete an IPSet that references one or more IP addresses. +// +func (c *WAF) DeleteByteMatchSet(input *DeleteByteMatchSetInput) (*DeleteByteMatchSetOutput, error) { + req, out := c.DeleteByteMatchSetRequest(input) + err := req.Send() + return out, err +} + +const opDeleteIPSet = "DeleteIPSet" + +// DeleteIPSetRequest generates a "aws/request.Request" representing the +// client's request for the DeleteIPSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteIPSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteIPSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteIPSetRequest method. +// req, resp := client.DeleteIPSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) DeleteIPSetRequest(input *DeleteIPSetInput) (req *request.Request, output *DeleteIPSetOutput) { + op := &request.Operation{ + Name: opDeleteIPSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteIPSetInput{} + } + + req = c.newRequest(op, input, output) + output = &DeleteIPSetOutput{} + req.Data = output + return +} + +// DeleteIPSet API operation for AWS WAF. +// +// Permanently deletes an IPSet. You can't delete an IPSet if it's still used +// in any Rules or if it still includes any IP addresses. +// +// If you just want to remove an IPSet from a Rule, use UpdateRule. +// +// To permanently delete an IPSet from AWS WAF, perform the following steps: +// +// Update the IPSet to remove IP address ranges, if any. For more information, +// see UpdateIPSet. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a DeleteIPSet request. +// +// Submit a DeleteIPSet request. +// +// 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 WAF's +// API operation DeleteIPSet for usage and error information. +// +// Returned Error Codes: +// * StaleDataException +// The operation failed because you tried to create, update, or delete an object +// by using a change token that has already been used. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +// * NonexistentItemException +// The operation failed because the referenced object doesn't exist. +// +// * ReferencedItemException +// The operation failed because you tried to delete an object that is still +// in use. For example: +// +// You tried to delete a ByteMatchSet that is still referenced by a Rule. +// +// You tried to delete a Rule that is still referenced by a WebACL. +// +// * NonEmptyEntityException +// The operation failed because you tried to delete an object that isn't empty. +// For example: +// +// You tried to delete a WebACL that still contains one or more Rule objects. +// +// You tried to delete a Rule that still contains one or more ByteMatchSet +// objects or other predicates. +// +// You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple +// objects. +// +// You tried to delete an IPSet that references one or more IP addresses. +// +func (c *WAF) DeleteIPSet(input *DeleteIPSetInput) (*DeleteIPSetOutput, error) { + req, out := c.DeleteIPSetRequest(input) + err := req.Send() + return out, err +} + +const opDeleteRule = "DeleteRule" + +// DeleteRuleRequest generates a "aws/request.Request" representing the +// client's request for the DeleteRule operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteRule for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteRule method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteRuleRequest method. +// req, resp := client.DeleteRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) DeleteRuleRequest(input *DeleteRuleInput) (req *request.Request, output *DeleteRuleOutput) { + op := &request.Operation{ + Name: opDeleteRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteRuleInput{} + } + + req = c.newRequest(op, input, output) + output = &DeleteRuleOutput{} + req.Data = output + return +} + +// DeleteRule API operation for AWS WAF. +// +// Permanently deletes a Rule. You can't delete a Rule if it's still used in +// any WebACL objects or if it still includes any predicates, such as ByteMatchSet +// objects. +// +// If you just want to remove a Rule from a WebACL, use UpdateWebACL. +// +// To permanently delete a Rule from AWS WAF, perform the following steps: +// +// Update the Rule to remove predicates, if any. For more information, see +// UpdateRule. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a DeleteRule request. +// +// Submit a DeleteRule request. +// +// 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 WAF's +// API operation DeleteRule for usage and error information. +// +// Returned Error Codes: +// * StaleDataException +// The operation failed because you tried to create, update, or delete an object +// by using a change token that has already been used. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +// * NonexistentItemException +// The operation failed because the referenced object doesn't exist. +// +// * ReferencedItemException +// The operation failed because you tried to delete an object that is still +// in use. For example: +// +// You tried to delete a ByteMatchSet that is still referenced by a Rule. +// +// You tried to delete a Rule that is still referenced by a WebACL. +// +// * NonEmptyEntityException +// The operation failed because you tried to delete an object that isn't empty. +// For example: +// +// You tried to delete a WebACL that still contains one or more Rule objects. +// +// You tried to delete a Rule that still contains one or more ByteMatchSet +// objects or other predicates. +// +// You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple +// objects. +// +// You tried to delete an IPSet that references one or more IP addresses. +// +func (c *WAF) DeleteRule(input *DeleteRuleInput) (*DeleteRuleOutput, error) { + req, out := c.DeleteRuleRequest(input) + err := req.Send() + return out, err +} + +const opDeleteSizeConstraintSet = "DeleteSizeConstraintSet" + +// DeleteSizeConstraintSetRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSizeConstraintSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteSizeConstraintSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteSizeConstraintSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteSizeConstraintSetRequest method. +// req, resp := client.DeleteSizeConstraintSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) DeleteSizeConstraintSetRequest(input *DeleteSizeConstraintSetInput) (req *request.Request, output *DeleteSizeConstraintSetOutput) { + op := &request.Operation{ + Name: opDeleteSizeConstraintSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteSizeConstraintSetInput{} + } + + req = c.newRequest(op, input, output) + output = &DeleteSizeConstraintSetOutput{} + req.Data = output + return +} + +// DeleteSizeConstraintSet API operation for AWS WAF. +// +// Permanently deletes a SizeConstraintSet. You can't delete a SizeConstraintSet +// if it's still used in any Rules or if it still includes any SizeConstraint +// objects (any filters). +// +// If you just want to remove a SizeConstraintSet from a Rule, use UpdateRule. +// +// To permanently delete a SizeConstraintSet, perform the following steps: +// +// Update the SizeConstraintSet to remove filters, if any. For more information, +// see UpdateSizeConstraintSet. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a DeleteSizeConstraintSet request. +// +// Submit a DeleteSizeConstraintSet request. +// +// 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 WAF's +// API operation DeleteSizeConstraintSet for usage and error information. +// +// Returned Error Codes: +// * StaleDataException +// The operation failed because you tried to create, update, or delete an object +// by using a change token that has already been used. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +// * NonexistentItemException +// The operation failed because the referenced object doesn't exist. +// +// * ReferencedItemException +// The operation failed because you tried to delete an object that is still +// in use. For example: +// +// You tried to delete a ByteMatchSet that is still referenced by a Rule. +// +// You tried to delete a Rule that is still referenced by a WebACL. +// +// * NonEmptyEntityException +// The operation failed because you tried to delete an object that isn't empty. +// For example: +// +// You tried to delete a WebACL that still contains one or more Rule objects. +// +// You tried to delete a Rule that still contains one or more ByteMatchSet +// objects or other predicates. +// +// You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple +// objects. +// +// You tried to delete an IPSet that references one or more IP addresses. +// +func (c *WAF) DeleteSizeConstraintSet(input *DeleteSizeConstraintSetInput) (*DeleteSizeConstraintSetOutput, error) { + req, out := c.DeleteSizeConstraintSetRequest(input) + err := req.Send() + return out, err +} + +const opDeleteSqlInjectionMatchSet = "DeleteSqlInjectionMatchSet" + +// DeleteSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSqlInjectionMatchSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteSqlInjectionMatchSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteSqlInjectionMatchSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteSqlInjectionMatchSetRequest method. +// req, resp := client.DeleteSqlInjectionMatchSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) DeleteSqlInjectionMatchSetRequest(input *DeleteSqlInjectionMatchSetInput) (req *request.Request, output *DeleteSqlInjectionMatchSetOutput) { + op := &request.Operation{ + Name: opDeleteSqlInjectionMatchSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteSqlInjectionMatchSetInput{} + } + + req = c.newRequest(op, input, output) + output = &DeleteSqlInjectionMatchSetOutput{} + req.Data = output + return +} + +// DeleteSqlInjectionMatchSet API operation for AWS WAF. +// +// Permanently deletes a SqlInjectionMatchSet. You can't delete a SqlInjectionMatchSet +// if it's still used in any Rules or if it still contains any SqlInjectionMatchTuple +// objects. +// +// If you just want to remove a SqlInjectionMatchSet from a Rule, use UpdateRule. +// +// To permanently delete a SqlInjectionMatchSet from AWS WAF, perform the following +// steps: +// +// Update the SqlInjectionMatchSet to remove filters, if any. For more information, +// see UpdateSqlInjectionMatchSet. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a DeleteSqlInjectionMatchSet request. +// +// Submit a DeleteSqlInjectionMatchSet request. +// +// 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 WAF's +// API operation DeleteSqlInjectionMatchSet for usage and error information. +// +// Returned Error Codes: +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +// * NonexistentItemException +// The operation failed because the referenced object doesn't exist. +// +// * ReferencedItemException +// The operation failed because you tried to delete an object that is still +// in use. For example: +// +// You tried to delete a ByteMatchSet that is still referenced by a Rule. +// +// You tried to delete a Rule that is still referenced by a WebACL. +// +// * StaleDataException +// The operation failed because you tried to create, update, or delete an object +// by using a change token that has already been used. +// +// * NonEmptyEntityException +// The operation failed because you tried to delete an object that isn't empty. +// For example: +// +// You tried to delete a WebACL that still contains one or more Rule objects. +// +// You tried to delete a Rule that still contains one or more ByteMatchSet +// objects or other predicates. +// +// You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple +// objects. +// +// You tried to delete an IPSet that references one or more IP addresses. +// +func (c *WAF) DeleteSqlInjectionMatchSet(input *DeleteSqlInjectionMatchSetInput) (*DeleteSqlInjectionMatchSetOutput, error) { + req, out := c.DeleteSqlInjectionMatchSetRequest(input) + err := req.Send() + return out, err +} + +const opDeleteWebACL = "DeleteWebACL" + +// DeleteWebACLRequest generates a "aws/request.Request" representing the +// client's request for the DeleteWebACL operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteWebACL for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteWebACL method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteWebACLRequest method. +// req, resp := client.DeleteWebACLRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) DeleteWebACLRequest(input *DeleteWebACLInput) (req *request.Request, output *DeleteWebACLOutput) { + op := &request.Operation{ + Name: opDeleteWebACL, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteWebACLInput{} + } + + req = c.newRequest(op, input, output) + output = &DeleteWebACLOutput{} + req.Data = output + return +} + +// DeleteWebACL API operation for AWS WAF. +// +// Permanently deletes a WebACL. You can't delete a WebACL if it still contains +// any Rules. +// +// To delete a WebACL, perform the following steps: +// +// Update the WebACL to remove Rules, if any. For more information, see UpdateWebACL. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a DeleteWebACL request. +// +// Submit a DeleteWebACL request. +// +// 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 WAF's +// API operation DeleteWebACL for usage and error information. +// +// Returned Error Codes: +// * StaleDataException +// The operation failed because you tried to create, update, or delete an object +// by using a change token that has already been used. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +// * NonexistentItemException +// The operation failed because the referenced object doesn't exist. +// +// * ReferencedItemException +// The operation failed because you tried to delete an object that is still +// in use. For example: +// +// You tried to delete a ByteMatchSet that is still referenced by a Rule. +// +// You tried to delete a Rule that is still referenced by a WebACL. +// +// * NonEmptyEntityException +// The operation failed because you tried to delete an object that isn't empty. +// For example: +// +// You tried to delete a WebACL that still contains one or more Rule objects. +// +// You tried to delete a Rule that still contains one or more ByteMatchSet +// objects or other predicates. +// +// You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple +// objects. +// +// You tried to delete an IPSet that references one or more IP addresses. +// +func (c *WAF) DeleteWebACL(input *DeleteWebACLInput) (*DeleteWebACLOutput, error) { + req, out := c.DeleteWebACLRequest(input) + err := req.Send() + return out, err +} + +const opDeleteXssMatchSet = "DeleteXssMatchSet" + +// DeleteXssMatchSetRequest generates a "aws/request.Request" representing the +// client's request for the DeleteXssMatchSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteXssMatchSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteXssMatchSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteXssMatchSetRequest method. +// req, resp := client.DeleteXssMatchSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) DeleteXssMatchSetRequest(input *DeleteXssMatchSetInput) (req *request.Request, output *DeleteXssMatchSetOutput) { + op := &request.Operation{ + Name: opDeleteXssMatchSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteXssMatchSetInput{} + } + + req = c.newRequest(op, input, output) + output = &DeleteXssMatchSetOutput{} + req.Data = output + return +} + +// DeleteXssMatchSet API operation for AWS WAF. +// +// Permanently deletes an XssMatchSet. You can't delete an XssMatchSet if it's +// still used in any Rules or if it still contains any XssMatchTuple objects. +// +// If you just want to remove an XssMatchSet from a Rule, use UpdateRule. +// +// To permanently delete an XssMatchSet from AWS WAF, perform the following +// steps: +// +// Update the XssMatchSet to remove filters, if any. For more information, +// see UpdateXssMatchSet. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a DeleteXssMatchSet request. +// +// Submit a DeleteXssMatchSet request. +// +// 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 WAF's +// API operation DeleteXssMatchSet for usage and error information. +// +// Returned Error Codes: +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +// * NonexistentItemException +// The operation failed because the referenced object doesn't exist. +// +// * ReferencedItemException +// The operation failed because you tried to delete an object that is still +// in use. For example: +// +// You tried to delete a ByteMatchSet that is still referenced by a Rule. +// +// You tried to delete a Rule that is still referenced by a WebACL. +// +// * StaleDataException +// The operation failed because you tried to create, update, or delete an object +// by using a change token that has already been used. +// +// * NonEmptyEntityException +// The operation failed because you tried to delete an object that isn't empty. +// For example: +// +// You tried to delete a WebACL that still contains one or more Rule objects. +// +// You tried to delete a Rule that still contains one or more ByteMatchSet +// objects or other predicates. +// +// You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple +// objects. +// +// You tried to delete an IPSet that references one or more IP addresses. +// +func (c *WAF) DeleteXssMatchSet(input *DeleteXssMatchSetInput) (*DeleteXssMatchSetOutput, error) { + req, out := c.DeleteXssMatchSetRequest(input) + err := req.Send() + return out, err +} + +const opGetByteMatchSet = "GetByteMatchSet" + +// GetByteMatchSetRequest generates a "aws/request.Request" representing the +// client's request for the GetByteMatchSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetByteMatchSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetByteMatchSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetByteMatchSetRequest method. +// req, resp := client.GetByteMatchSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) GetByteMatchSetRequest(input *GetByteMatchSetInput) (req *request.Request, output *GetByteMatchSetOutput) { + op := &request.Operation{ + Name: opGetByteMatchSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetByteMatchSetInput{} + } + + req = c.newRequest(op, input, output) + output = &GetByteMatchSetOutput{} + req.Data = output + return +} + +// GetByteMatchSet API operation for AWS WAF. +// +// Returns the ByteMatchSet specified by ByteMatchSetId. +// +// 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 WAF's +// API operation GetByteMatchSet for usage and error information. +// +// Returned Error Codes: +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +// * NonexistentItemException +// The operation failed because the referenced object doesn't exist. +// +func (c *WAF) GetByteMatchSet(input *GetByteMatchSetInput) (*GetByteMatchSetOutput, error) { + req, out := c.GetByteMatchSetRequest(input) + err := req.Send() + return out, err +} + +const opGetChangeToken = "GetChangeToken" + +// GetChangeTokenRequest generates a "aws/request.Request" representing the +// client's request for the GetChangeToken operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetChangeToken for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetChangeToken method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetChangeTokenRequest method. +// req, resp := client.GetChangeTokenRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) GetChangeTokenRequest(input *GetChangeTokenInput) (req *request.Request, output *GetChangeTokenOutput) { + op := &request.Operation{ + Name: opGetChangeToken, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetChangeTokenInput{} + } + + req = c.newRequest(op, input, output) + output = &GetChangeTokenOutput{} + req.Data = output + return +} + +// GetChangeToken API operation for AWS WAF. +// +// When you want to create, update, or delete AWS WAF objects, get a change +// token and include the change token in the create, update, or delete request. +// Change tokens ensure that your application doesn't submit conflicting requests +// to AWS WAF. +// +// Each create, update, or delete request must use a unique change token. If +// your application submits a GetChangeToken request and then submits a second +// GetChangeToken request before submitting a create, update, or delete request, +// the second GetChangeToken request returns the same value as the first GetChangeToken +// request. +// +// When you use a change token in a create, update, or delete request, the +// status of the change token changes to PENDING, which indicates that AWS WAF +// is propagating the change to all AWS WAF servers. Use GetChangeTokenStatus +// to determine the status of your change token. +// +// 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 WAF's +// API operation GetChangeToken for usage and error information. +// +// Returned Error Codes: +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +func (c *WAF) GetChangeToken(input *GetChangeTokenInput) (*GetChangeTokenOutput, error) { + req, out := c.GetChangeTokenRequest(input) + err := req.Send() + return out, err +} + +const opGetChangeTokenStatus = "GetChangeTokenStatus" + +// GetChangeTokenStatusRequest generates a "aws/request.Request" representing the +// client's request for the GetChangeTokenStatus operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetChangeTokenStatus for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetChangeTokenStatus method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetChangeTokenStatusRequest method. +// req, resp := client.GetChangeTokenStatusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) GetChangeTokenStatusRequest(input *GetChangeTokenStatusInput) (req *request.Request, output *GetChangeTokenStatusOutput) { + op := &request.Operation{ + Name: opGetChangeTokenStatus, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetChangeTokenStatusInput{} + } + + req = c.newRequest(op, input, output) + output = &GetChangeTokenStatusOutput{} + req.Data = output + return +} + +// GetChangeTokenStatus API operation for AWS WAF. +// +// Returns the status of a ChangeToken that you got by calling GetChangeToken. +// ChangeTokenStatus is one of the following values: +// +// PROVISIONED: You requested the change token by calling GetChangeToken, +// but you haven't used it yet in a call to create, update, or delete an AWS +// WAF object. +// +// PENDING: AWS WAF is propagating the create, update, or delete request +// to all AWS WAF servers. +// +// IN_SYNC: Propagation is complete. +// +// 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 WAF's +// API operation GetChangeTokenStatus for usage and error information. +// +// Returned Error Codes: +// * NonexistentItemException +// The operation failed because the referenced object doesn't exist. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +func (c *WAF) GetChangeTokenStatus(input *GetChangeTokenStatusInput) (*GetChangeTokenStatusOutput, error) { + req, out := c.GetChangeTokenStatusRequest(input) + err := req.Send() + return out, err +} + +const opGetIPSet = "GetIPSet" + +// GetIPSetRequest generates a "aws/request.Request" representing the +// client's request for the GetIPSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetIPSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetIPSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetIPSetRequest method. +// req, resp := client.GetIPSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) GetIPSetRequest(input *GetIPSetInput) (req *request.Request, output *GetIPSetOutput) { + op := &request.Operation{ + Name: opGetIPSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetIPSetInput{} + } + + req = c.newRequest(op, input, output) + output = &GetIPSetOutput{} + req.Data = output + return +} + +// GetIPSet API operation for AWS WAF. +// +// Returns the IPSet that is specified by IPSetId. +// +// 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 WAF's +// API operation GetIPSet for usage and error information. +// +// Returned Error Codes: +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +// * NonexistentItemException +// The operation failed because the referenced object doesn't exist. +// +func (c *WAF) GetIPSet(input *GetIPSetInput) (*GetIPSetOutput, error) { + req, out := c.GetIPSetRequest(input) + err := req.Send() + return out, err +} + +const opGetRule = "GetRule" + +// GetRuleRequest generates a "aws/request.Request" representing the +// client's request for the GetRule operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetRule for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetRule method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetRuleRequest method. +// req, resp := client.GetRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) GetRuleRequest(input *GetRuleInput) (req *request.Request, output *GetRuleOutput) { + op := &request.Operation{ + Name: opGetRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetRuleInput{} + } + + req = c.newRequest(op, input, output) + output = &GetRuleOutput{} + req.Data = output + return +} + +// GetRule API operation for AWS WAF. +// +// Returns the Rule that is specified by the RuleId that you included in the +// GetRule request. +// +// 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 WAF's +// API operation GetRule for usage and error information. +// +// Returned Error Codes: +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +// * NonexistentItemException +// The operation failed because the referenced object doesn't exist. +// +func (c *WAF) GetRule(input *GetRuleInput) (*GetRuleOutput, error) { + req, out := c.GetRuleRequest(input) + err := req.Send() + return out, err +} + +const opGetSampledRequests = "GetSampledRequests" + +// GetSampledRequestsRequest generates a "aws/request.Request" representing the +// client's request for the GetSampledRequests operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetSampledRequests for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetSampledRequests method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetSampledRequestsRequest method. +// req, resp := client.GetSampledRequestsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) GetSampledRequestsRequest(input *GetSampledRequestsInput) (req *request.Request, output *GetSampledRequestsOutput) { + op := &request.Operation{ + Name: opGetSampledRequests, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetSampledRequestsInput{} + } + + req = c.newRequest(op, input, output) + output = &GetSampledRequestsOutput{} + req.Data = output + return +} + +// GetSampledRequests API operation for AWS WAF. +// +// Gets detailed information about a specified number of requests--a sample--that +// AWS WAF randomly selects from among the first 5,000 requests that your AWS +// resource received during a time range that you choose. You can specify a +// sample size of up to 100 requests, and you can specify any time range in +// the previous three hours. +// +// GetSampledRequests returns a time range, which is usually the time range +// that you specified. However, if your resource (such as a CloudFront distribution) +// received 5,000 requests before the specified time range elapsed, GetSampledRequests +// returns an updated time range. This new time range indicates the actual period +// during which AWS WAF selected the requests in the sample. +// +// 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 WAF's +// API operation GetSampledRequests for usage and error information. +// +// Returned Error Codes: +// * NonexistentItemException +// The operation failed because the referenced object doesn't exist. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +func (c *WAF) GetSampledRequests(input *GetSampledRequestsInput) (*GetSampledRequestsOutput, error) { + req, out := c.GetSampledRequestsRequest(input) + err := req.Send() + return out, err +} + +const opGetSizeConstraintSet = "GetSizeConstraintSet" + +// GetSizeConstraintSetRequest generates a "aws/request.Request" representing the +// client's request for the GetSizeConstraintSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetSizeConstraintSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetSizeConstraintSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetSizeConstraintSetRequest method. +// req, resp := client.GetSizeConstraintSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) GetSizeConstraintSetRequest(input *GetSizeConstraintSetInput) (req *request.Request, output *GetSizeConstraintSetOutput) { + op := &request.Operation{ + Name: opGetSizeConstraintSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetSizeConstraintSetInput{} + } + + req = c.newRequest(op, input, output) + output = &GetSizeConstraintSetOutput{} + req.Data = output + return +} + +// GetSizeConstraintSet API operation for AWS WAF. +// +// Returns the SizeConstraintSet specified by SizeConstraintSetId. +// +// 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 WAF's +// API operation GetSizeConstraintSet for usage and error information. +// +// Returned Error Codes: +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +// * NonexistentItemException +// The operation failed because the referenced object doesn't exist. +// +func (c *WAF) GetSizeConstraintSet(input *GetSizeConstraintSetInput) (*GetSizeConstraintSetOutput, error) { + req, out := c.GetSizeConstraintSetRequest(input) + err := req.Send() + return out, err +} + +const opGetSqlInjectionMatchSet = "GetSqlInjectionMatchSet" + +// GetSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the +// client's request for the GetSqlInjectionMatchSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetSqlInjectionMatchSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetSqlInjectionMatchSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetSqlInjectionMatchSetRequest method. +// req, resp := client.GetSqlInjectionMatchSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) GetSqlInjectionMatchSetRequest(input *GetSqlInjectionMatchSetInput) (req *request.Request, output *GetSqlInjectionMatchSetOutput) { + op := &request.Operation{ + Name: opGetSqlInjectionMatchSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetSqlInjectionMatchSetInput{} + } + + req = c.newRequest(op, input, output) + output = &GetSqlInjectionMatchSetOutput{} + req.Data = output + return +} + +// GetSqlInjectionMatchSet API operation for AWS WAF. +// +// Returns the SqlInjectionMatchSet that is specified by SqlInjectionMatchSetId. +// +// 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 WAF's +// API operation GetSqlInjectionMatchSet for usage and error information. +// +// Returned Error Codes: +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +// * NonexistentItemException +// The operation failed because the referenced object doesn't exist. +// +func (c *WAF) GetSqlInjectionMatchSet(input *GetSqlInjectionMatchSetInput) (*GetSqlInjectionMatchSetOutput, error) { + req, out := c.GetSqlInjectionMatchSetRequest(input) + err := req.Send() + return out, err +} + +const opGetWebACL = "GetWebACL" + +// GetWebACLRequest generates a "aws/request.Request" representing the +// client's request for the GetWebACL operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetWebACL for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetWebACL method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetWebACLRequest method. +// req, resp := client.GetWebACLRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) GetWebACLRequest(input *GetWebACLInput) (req *request.Request, output *GetWebACLOutput) { + op := &request.Operation{ + Name: opGetWebACL, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetWebACLInput{} + } + + req = c.newRequest(op, input, output) + output = &GetWebACLOutput{} + req.Data = output + return +} + +// GetWebACL API operation for AWS WAF. +// +// Returns the WebACL that is specified by WebACLId. +// +// 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 WAF's +// API operation GetWebACL for usage and error information. +// +// Returned Error Codes: +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +// * NonexistentItemException +// The operation failed because the referenced object doesn't exist. +// +func (c *WAF) GetWebACL(input *GetWebACLInput) (*GetWebACLOutput, error) { + req, out := c.GetWebACLRequest(input) + err := req.Send() + return out, err +} + +const opGetXssMatchSet = "GetXssMatchSet" + +// GetXssMatchSetRequest generates a "aws/request.Request" representing the +// client's request for the GetXssMatchSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetXssMatchSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetXssMatchSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetXssMatchSetRequest method. +// req, resp := client.GetXssMatchSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) GetXssMatchSetRequest(input *GetXssMatchSetInput) (req *request.Request, output *GetXssMatchSetOutput) { + op := &request.Operation{ + Name: opGetXssMatchSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetXssMatchSetInput{} + } + + req = c.newRequest(op, input, output) + output = &GetXssMatchSetOutput{} + req.Data = output + return +} + +// GetXssMatchSet API operation for AWS WAF. +// +// Returns the XssMatchSet that is specified by XssMatchSetId. +// +// 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 WAF's +// API operation GetXssMatchSet for usage and error information. +// +// Returned Error Codes: +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +// * NonexistentItemException +// The operation failed because the referenced object doesn't exist. +// +func (c *WAF) GetXssMatchSet(input *GetXssMatchSetInput) (*GetXssMatchSetOutput, error) { + req, out := c.GetXssMatchSetRequest(input) + err := req.Send() + return out, err +} + +const opListByteMatchSets = "ListByteMatchSets" + +// ListByteMatchSetsRequest generates a "aws/request.Request" representing the +// client's request for the ListByteMatchSets operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListByteMatchSets for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListByteMatchSets method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListByteMatchSetsRequest method. +// req, resp := client.ListByteMatchSetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) ListByteMatchSetsRequest(input *ListByteMatchSetsInput) (req *request.Request, output *ListByteMatchSetsOutput) { + op := &request.Operation{ + Name: opListByteMatchSets, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListByteMatchSetsInput{} + } + + req = c.newRequest(op, input, output) + output = &ListByteMatchSetsOutput{} + req.Data = output + return +} + +// ListByteMatchSets API operation for AWS WAF. +// +// Returns an array of ByteMatchSetSummary objects. +// +// 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 WAF's +// API operation ListByteMatchSets for usage and error information. +// +// Returned Error Codes: +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +func (c *WAF) ListByteMatchSets(input *ListByteMatchSetsInput) (*ListByteMatchSetsOutput, error) { + req, out := c.ListByteMatchSetsRequest(input) + err := req.Send() + return out, err +} + +const opListIPSets = "ListIPSets" + +// ListIPSetsRequest generates a "aws/request.Request" representing the +// client's request for the ListIPSets operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListIPSets for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListIPSets method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListIPSetsRequest method. +// req, resp := client.ListIPSetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) ListIPSetsRequest(input *ListIPSetsInput) (req *request.Request, output *ListIPSetsOutput) { + op := &request.Operation{ + Name: opListIPSets, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListIPSetsInput{} + } + + req = c.newRequest(op, input, output) + output = &ListIPSetsOutput{} + req.Data = output + return +} + +// ListIPSets API operation for AWS WAF. +// +// Returns an array of IPSetSummary objects in the 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. +// +// See the AWS API reference guide for AWS WAF's +// API operation ListIPSets for usage and error information. +// +// Returned Error Codes: +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +func (c *WAF) ListIPSets(input *ListIPSetsInput) (*ListIPSetsOutput, error) { + req, out := c.ListIPSetsRequest(input) + err := req.Send() + return out, err +} + +const opListRules = "ListRules" + +// ListRulesRequest generates a "aws/request.Request" representing the +// client's request for the ListRules operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListRules for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListRules method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListRulesRequest method. +// req, resp := client.ListRulesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) ListRulesRequest(input *ListRulesInput) (req *request.Request, output *ListRulesOutput) { + op := &request.Operation{ + Name: opListRules, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListRulesInput{} + } + + req = c.newRequest(op, input, output) + output = &ListRulesOutput{} + req.Data = output + return +} + +// ListRules API operation for AWS WAF. +// +// Returns an array of RuleSummary objects. +// +// 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 WAF's +// API operation ListRules for usage and error information. +// +// Returned Error Codes: +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +func (c *WAF) ListRules(input *ListRulesInput) (*ListRulesOutput, error) { + req, out := c.ListRulesRequest(input) + err := req.Send() + return out, err +} + +const opListSizeConstraintSets = "ListSizeConstraintSets" + +// ListSizeConstraintSetsRequest generates a "aws/request.Request" representing the +// client's request for the ListSizeConstraintSets operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListSizeConstraintSets for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListSizeConstraintSets method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListSizeConstraintSetsRequest method. +// req, resp := client.ListSizeConstraintSetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) ListSizeConstraintSetsRequest(input *ListSizeConstraintSetsInput) (req *request.Request, output *ListSizeConstraintSetsOutput) { + op := &request.Operation{ + Name: opListSizeConstraintSets, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListSizeConstraintSetsInput{} + } + + req = c.newRequest(op, input, output) + output = &ListSizeConstraintSetsOutput{} + req.Data = output + return +} + +// ListSizeConstraintSets API operation for AWS WAF. +// +// Returns an array of SizeConstraintSetSummary objects. +// +// 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 WAF's +// API operation ListSizeConstraintSets for usage and error information. +// +// Returned Error Codes: +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +func (c *WAF) ListSizeConstraintSets(input *ListSizeConstraintSetsInput) (*ListSizeConstraintSetsOutput, error) { + req, out := c.ListSizeConstraintSetsRequest(input) + err := req.Send() + return out, err +} + +const opListSqlInjectionMatchSets = "ListSqlInjectionMatchSets" + +// ListSqlInjectionMatchSetsRequest generates a "aws/request.Request" representing the +// client's request for the ListSqlInjectionMatchSets operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListSqlInjectionMatchSets for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListSqlInjectionMatchSets method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListSqlInjectionMatchSetsRequest method. +// req, resp := client.ListSqlInjectionMatchSetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) ListSqlInjectionMatchSetsRequest(input *ListSqlInjectionMatchSetsInput) (req *request.Request, output *ListSqlInjectionMatchSetsOutput) { + op := &request.Operation{ + Name: opListSqlInjectionMatchSets, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListSqlInjectionMatchSetsInput{} + } + + req = c.newRequest(op, input, output) + output = &ListSqlInjectionMatchSetsOutput{} + req.Data = output + return +} + +// ListSqlInjectionMatchSets API operation for AWS WAF. +// +// Returns an array of SqlInjectionMatchSet objects. +// +// 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 WAF's +// API operation ListSqlInjectionMatchSets for usage and error information. +// +// Returned Error Codes: +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +func (c *WAF) ListSqlInjectionMatchSets(input *ListSqlInjectionMatchSetsInput) (*ListSqlInjectionMatchSetsOutput, error) { + req, out := c.ListSqlInjectionMatchSetsRequest(input) + err := req.Send() + return out, err +} + +const opListWebACLs = "ListWebACLs" + +// ListWebACLsRequest generates a "aws/request.Request" representing the +// client's request for the ListWebACLs operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListWebACLs for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListWebACLs method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListWebACLsRequest method. +// req, resp := client.ListWebACLsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) ListWebACLsRequest(input *ListWebACLsInput) (req *request.Request, output *ListWebACLsOutput) { + op := &request.Operation{ + Name: opListWebACLs, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListWebACLsInput{} + } + + req = c.newRequest(op, input, output) + output = &ListWebACLsOutput{} + req.Data = output + return +} + +// ListWebACLs API operation for AWS WAF. +// +// Returns an array of WebACLSummary objects in the 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. +// +// See the AWS API reference guide for AWS WAF's +// API operation ListWebACLs for usage and error information. +// +// Returned Error Codes: +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +func (c *WAF) ListWebACLs(input *ListWebACLsInput) (*ListWebACLsOutput, error) { + req, out := c.ListWebACLsRequest(input) + err := req.Send() + return out, err +} + +const opListXssMatchSets = "ListXssMatchSets" + +// ListXssMatchSetsRequest generates a "aws/request.Request" representing the +// client's request for the ListXssMatchSets operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListXssMatchSets for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListXssMatchSets method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListXssMatchSetsRequest method. +// req, resp := client.ListXssMatchSetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) ListXssMatchSetsRequest(input *ListXssMatchSetsInput) (req *request.Request, output *ListXssMatchSetsOutput) { + op := &request.Operation{ + Name: opListXssMatchSets, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListXssMatchSetsInput{} + } + + req = c.newRequest(op, input, output) + output = &ListXssMatchSetsOutput{} + req.Data = output + return +} + +// ListXssMatchSets API operation for AWS WAF. +// +// Returns an array of XssMatchSet objects. +// +// 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 WAF's +// API operation ListXssMatchSets for usage and error information. +// +// Returned Error Codes: +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +func (c *WAF) ListXssMatchSets(input *ListXssMatchSetsInput) (*ListXssMatchSetsOutput, error) { + req, out := c.ListXssMatchSetsRequest(input) + err := req.Send() + return out, err +} + +const opUpdateByteMatchSet = "UpdateByteMatchSet" + +// UpdateByteMatchSetRequest generates a "aws/request.Request" representing the +// client's request for the UpdateByteMatchSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateByteMatchSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateByteMatchSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateByteMatchSetRequest method. +// req, resp := client.UpdateByteMatchSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) UpdateByteMatchSetRequest(input *UpdateByteMatchSetInput) (req *request.Request, output *UpdateByteMatchSetOutput) { + op := &request.Operation{ + Name: opUpdateByteMatchSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateByteMatchSetInput{} + } + + req = c.newRequest(op, input, output) + output = &UpdateByteMatchSetOutput{} + req.Data = output + return +} + +// UpdateByteMatchSet API operation for AWS WAF. +// +// Inserts or deletes ByteMatchTuple objects (filters) in a ByteMatchSet. For +// each ByteMatchTuple object, you specify the following values: +// +// Whether to insert or delete the object from the array. If you want to +// change a ByteMatchSetUpdate object, you delete the existing object and add +// a new one. +// +// The part of a web request that you want AWS WAF to inspect, such as a +// query string or the value of the User-Agent header. +// +// The bytes (typically a string that corresponds with ASCII characters) +// that you want AWS WAF to look for. For more information, including how you +// specify the values for the AWS WAF API and the AWS CLI or SDKs, see TargetString +// in the ByteMatchTuple data type. +// +// Where to look, such as at the beginning or the end of a query string. +// +// Whether to perform any conversions on the request, such as converting +// it to lowercase, before inspecting it for the specified string. +// +// For example, you can add a ByteMatchSetUpdate object that matches web +// requests in which User-Agent headers contain the string BadBot. You can then +// configure AWS WAF to block those requests. +// +// To create and configure a ByteMatchSet, perform the following steps: +// +// Create a ByteMatchSet. For more information, see CreateByteMatchSet. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateByteMatchSet request. +// +// Submit an UpdateByteMatchSet request to specify the part of the request +// that you want AWS WAF to inspect (for example, the header or the URI) and +// the value that you want AWS WAF to watch for. +// +// For more information about how to use the AWS WAF API to allow or block +// HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// +// 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 WAF's +// API operation UpdateByteMatchSet for usage and error information. +// +// Returned Error Codes: +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +// * InvalidOperationException +// The operation failed because there was nothing to do. For example: +// +// You tried to remove a Rule from a WebACL, but the Rule isn't in the specified +// WebACL. +// +// You tried to remove an IP address from an IPSet, but the IP address isn't +// in the specified IPSet. +// +// You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple +// isn't in the specified WebACL. +// +// You tried to add a Rule to a WebACL, but the Rule already exists in the +// specified WebACL. +// +// You tried to add an IP address to an IPSet, but the IP address already +// exists in the specified IPSet. +// +// You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple +// already exists in the specified WebACL. +// +// * InvalidParameterException +// The operation failed because AWS WAF didn't recognize a parameter in the +// request. For example: +// +// You specified an invalid parameter name. +// +// You specified an invalid value. +// +// You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) using +// an action other than INSERT or DELETE. +// +// You tried to create a WebACL with a DefaultAction Type other than ALLOW, +// BLOCK, or COUNT. +// +// You tried to update a WebACL with a WafAction Type other than ALLOW, BLOCK, +// or COUNT. +// +// You tried to update a ByteMatchSet with a FieldToMatch Type other than +// HEADER, QUERY_STRING, or URI. +// +// You tried to update a ByteMatchSet with a Field of HEADER but no value +// for Data. +// +// * NonexistentContainerException +// The operation failed because you tried to add an object to or delete an object +// from another object that doesn't exist. For example: +// +// You tried to add a Rule to or delete a Rule from a WebACL that doesn't +// exist. +// +// You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule +// that doesn't exist. +// +// You tried to add an IP address to or delete an IP address from an IPSet +// that doesn't exist. +// +// You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from a +// ByteMatchSet that doesn't exist. +// +// * NonexistentItemException +// The operation failed because the referenced object doesn't exist. +// +// * StaleDataException +// The operation failed because you tried to create, update, or delete an object +// by using a change token that has already been used. +// +// * LimitsExceededException +// The operation exceeds a resource limit, for example, the maximum number of +// WebACL objects that you can create for an AWS account. For more information, +// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// in the AWS WAF Developer Guide. +// +func (c *WAF) UpdateByteMatchSet(input *UpdateByteMatchSetInput) (*UpdateByteMatchSetOutput, error) { + req, out := c.UpdateByteMatchSetRequest(input) + err := req.Send() + return out, err +} + +const opUpdateIPSet = "UpdateIPSet" + +// UpdateIPSetRequest generates a "aws/request.Request" representing the +// client's request for the UpdateIPSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateIPSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateIPSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateIPSetRequest method. +// req, resp := client.UpdateIPSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) UpdateIPSetRequest(input *UpdateIPSetInput) (req *request.Request, output *UpdateIPSetOutput) { + op := &request.Operation{ + Name: opUpdateIPSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateIPSetInput{} + } + + req = c.newRequest(op, input, output) + output = &UpdateIPSetOutput{} + req.Data = output + return +} + +// UpdateIPSet API operation for AWS WAF. +// +// Inserts or deletes IPSetDescriptor objects in an IPSet. For each IPSetDescriptor +// object, you specify the following values: +// +// Whether to insert or delete the object from the array. If you want to +// change an IPSetDescriptor object, you delete the existing object and add +// a new one. +// +// The IP address version, IPv4 or IPv6. +// +// The IP address in CIDR notation, for example, 192.0.2.0/24 (for the range +// of IP addresses from 192.0.2.0 to 192.0.2.255) or 192.0.2.44/32 (for the +// individual IP address 192.0.2.44). +// +// AWS WAF supports /8, /16, /24, and /32 IP address ranges for IPv4, and +// /24, /32, /48, /56, /64 and /128 for IPv6. For more information about CIDR +// notation, see the Wikipedia entry Classless Inter-Domain Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). +// +// IPv6 addresses can be represented using any of the following formats: +// +// 1111:0000:0000:0000:0000:0000:0000:0111/128 +// +// 1111:0:0:0:0:0:0:0111/128 +// +// 1111::0111/128 +// +// 1111::111/128 +// +// You use an IPSet to specify which web requests you want to allow or block +// based on the IP addresses that the requests originated from. For example, +// if you're receiving a lot of requests from one or a small number of IP addresses +// and you want to block the requests, you can create an IPSet that specifies +// those IP addresses, and then configure AWS WAF to block the requests. +// +// To create and configure an IPSet, perform the following steps: +// +// Submit a CreateIPSet request. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateIPSet request. +// +// Submit an UpdateIPSet request to specify the IP addresses that you want +// AWS WAF to watch for. +// +// When you update an IPSet, you specify the IP addresses that you want to +// add and/or the IP addresses that you want to delete. If you want to change +// an IP address, you delete the existing IP address and add the new one. +// +// For more information about how to use the AWS WAF API to allow or block +// HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// +// 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 WAF's +// API operation UpdateIPSet for usage and error information. +// +// Returned Error Codes: +// * StaleDataException +// The operation failed because you tried to create, update, or delete an object +// by using a change token that has already been used. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +// * InvalidOperationException +// The operation failed because there was nothing to do. For example: +// +// You tried to remove a Rule from a WebACL, but the Rule isn't in the specified +// WebACL. +// +// You tried to remove an IP address from an IPSet, but the IP address isn't +// in the specified IPSet. +// +// You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple +// isn't in the specified WebACL. +// +// You tried to add a Rule to a WebACL, but the Rule already exists in the +// specified WebACL. +// +// You tried to add an IP address to an IPSet, but the IP address already +// exists in the specified IPSet. +// +// You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple +// already exists in the specified WebACL. +// +// * InvalidParameterException +// The operation failed because AWS WAF didn't recognize a parameter in the +// request. For example: +// +// You specified an invalid parameter name. +// +// You specified an invalid value. +// +// You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) using +// an action other than INSERT or DELETE. +// +// You tried to create a WebACL with a DefaultAction Type other than ALLOW, +// BLOCK, or COUNT. +// +// You tried to update a WebACL with a WafAction Type other than ALLOW, BLOCK, +// or COUNT. +// +// You tried to update a ByteMatchSet with a FieldToMatch Type other than +// HEADER, QUERY_STRING, or URI. +// +// You tried to update a ByteMatchSet with a Field of HEADER but no value +// for Data. +// +// * NonexistentContainerException +// The operation failed because you tried to add an object to or delete an object +// from another object that doesn't exist. For example: +// +// You tried to add a Rule to or delete a Rule from a WebACL that doesn't +// exist. +// +// You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule +// that doesn't exist. +// +// You tried to add an IP address to or delete an IP address from an IPSet +// that doesn't exist. +// +// You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from a +// ByteMatchSet that doesn't exist. +// +// * NonexistentItemException +// The operation failed because the referenced object doesn't exist. +// +// * ReferencedItemException +// The operation failed because you tried to delete an object that is still +// in use. For example: +// +// You tried to delete a ByteMatchSet that is still referenced by a Rule. +// +// You tried to delete a Rule that is still referenced by a WebACL. +// +// * LimitsExceededException +// The operation exceeds a resource limit, for example, the maximum number of +// WebACL objects that you can create for an AWS account. For more information, +// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// in the AWS WAF Developer Guide. +// +func (c *WAF) UpdateIPSet(input *UpdateIPSetInput) (*UpdateIPSetOutput, error) { + req, out := c.UpdateIPSetRequest(input) + err := req.Send() + return out, err +} + +const opUpdateRule = "UpdateRule" + +// UpdateRuleRequest generates a "aws/request.Request" representing the +// client's request for the UpdateRule operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateRule for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateRule method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateRuleRequest method. +// req, resp := client.UpdateRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) UpdateRuleRequest(input *UpdateRuleInput) (req *request.Request, output *UpdateRuleOutput) { + op := &request.Operation{ + Name: opUpdateRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateRuleInput{} + } + + req = c.newRequest(op, input, output) + output = &UpdateRuleOutput{} + req.Data = output + return +} + +// UpdateRule API operation for AWS WAF. +// +// Inserts or deletes Predicate objects in a Rule. Each Predicate object identifies +// a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests +// that you want to allow, block, or count. If you add more than one predicate +// to a Rule, a request must match all of the specifications to be allowed, +// blocked, or counted. For example, suppose you add the following to a Rule: +// +// A ByteMatchSet that matches the value BadBot in the User-Agent header +// +// An IPSet that matches the IP address 192.0.2.44 +// +// You then add the Rule to a WebACL and specify that you want to block requests +// that satisfy the Rule. For a request to be blocked, the User-Agent header +// in the request must contain the value BadBot and the request must originate +// from the IP address 192.0.2.44. +// +// To create and configure a Rule, perform the following steps: +// +// Create and update the predicates that you want to include in the Rule. +// +// Create the Rule. See CreateRule. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateRule request. +// +// Submit an UpdateRule request to add predicates to the Rule. +// +// Create and update a WebACL that contains the Rule. See CreateWebACL. +// +// If you want to replace one ByteMatchSet or IPSet with another, you delete +// the existing one and add the new one. +// +// For more information about how to use the AWS WAF API to allow or block +// HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// +// 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 WAF's +// API operation UpdateRule for usage and error information. +// +// Returned Error Codes: +// * StaleDataException +// The operation failed because you tried to create, update, or delete an object +// by using a change token that has already been used. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +// * InvalidOperationException +// The operation failed because there was nothing to do. For example: +// +// You tried to remove a Rule from a WebACL, but the Rule isn't in the specified +// WebACL. +// +// You tried to remove an IP address from an IPSet, but the IP address isn't +// in the specified IPSet. +// +// You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple +// isn't in the specified WebACL. +// +// You tried to add a Rule to a WebACL, but the Rule already exists in the +// specified WebACL. +// +// You tried to add an IP address to an IPSet, but the IP address already +// exists in the specified IPSet. +// +// You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple +// already exists in the specified WebACL. +// +// * InvalidParameterException +// The operation failed because AWS WAF didn't recognize a parameter in the +// request. For example: +// +// You specified an invalid parameter name. +// +// You specified an invalid value. +// +// You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) using +// an action other than INSERT or DELETE. +// +// You tried to create a WebACL with a DefaultAction Type other than ALLOW, +// BLOCK, or COUNT. +// +// You tried to update a WebACL with a WafAction Type other than ALLOW, BLOCK, +// or COUNT. +// +// You tried to update a ByteMatchSet with a FieldToMatch Type other than +// HEADER, QUERY_STRING, or URI. +// +// You tried to update a ByteMatchSet with a Field of HEADER but no value +// for Data. +// +// * NonexistentContainerException +// The operation failed because you tried to add an object to or delete an object +// from another object that doesn't exist. For example: +// +// You tried to add a Rule to or delete a Rule from a WebACL that doesn't +// exist. +// +// You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule +// that doesn't exist. +// +// You tried to add an IP address to or delete an IP address from an IPSet +// that doesn't exist. +// +// You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from a +// ByteMatchSet that doesn't exist. +// +// * NonexistentItemException +// The operation failed because the referenced object doesn't exist. +// +// * ReferencedItemException +// The operation failed because you tried to delete an object that is still +// in use. For example: +// +// You tried to delete a ByteMatchSet that is still referenced by a Rule. +// +// You tried to delete a Rule that is still referenced by a WebACL. +// +// * LimitsExceededException +// The operation exceeds a resource limit, for example, the maximum number of +// WebACL objects that you can create for an AWS account. For more information, +// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// in the AWS WAF Developer Guide. +// +func (c *WAF) UpdateRule(input *UpdateRuleInput) (*UpdateRuleOutput, error) { + req, out := c.UpdateRuleRequest(input) + err := req.Send() + return out, err +} + +const opUpdateSizeConstraintSet = "UpdateSizeConstraintSet" + +// UpdateSizeConstraintSetRequest generates a "aws/request.Request" representing the +// client's request for the UpdateSizeConstraintSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateSizeConstraintSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateSizeConstraintSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateSizeConstraintSetRequest method. +// req, resp := client.UpdateSizeConstraintSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) UpdateSizeConstraintSetRequest(input *UpdateSizeConstraintSetInput) (req *request.Request, output *UpdateSizeConstraintSetOutput) { + op := &request.Operation{ + Name: opUpdateSizeConstraintSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateSizeConstraintSetInput{} + } + + req = c.newRequest(op, input, output) + output = &UpdateSizeConstraintSetOutput{} + req.Data = output + return +} + +// UpdateSizeConstraintSet API operation for AWS WAF. +// +// Inserts or deletes SizeConstraint objects (filters) in a SizeConstraintSet. +// For each SizeConstraint object, you specify the following values: +// +// Whether to insert or delete the object from the array. If you want to +// change a SizeConstraintSetUpdate object, you delete the existing object and +// add a new one. +// +// The part of a web request that you want AWS WAF to evaluate, such as the +// length of a query string or the length of the User-Agent header. +// +// Whether to perform any transformations on the request, such as converting +// it to lowercase, before checking its length. Note that transformations of +// the request body are not supported because the AWS resource forwards only +// the first 8192 bytes of your request to AWS WAF. +// +// A ComparisonOperator used for evaluating the selected part of the request +// against the specified Size, such as equals, greater than, less than, and +// so on. +// +// The length, in bytes, that you want AWS WAF to watch for in selected part +// of the request. The length is computed after applying the transformation. +// +// For example, you can add a SizeConstraintSetUpdate object that matches +// web requests in which the length of the User-Agent header is greater than +// 100 bytes. You can then configure AWS WAF to block those requests. +// +// To create and configure a SizeConstraintSet, perform the following steps: +// +// Create a SizeConstraintSet. For more information, see CreateSizeConstraintSet. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateSizeConstraintSet request. +// +// Submit an UpdateSizeConstraintSet request to specify the part of the request +// that you want AWS WAF to inspect (for example, the header or the URI) and +// the value that you want AWS WAF to watch for. +// +// For more information about how to use the AWS WAF API to allow or block +// HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// +// 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 WAF's +// API operation UpdateSizeConstraintSet for usage and error information. +// +// Returned Error Codes: +// * StaleDataException +// The operation failed because you tried to create, update, or delete an object +// by using a change token that has already been used. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +// * InvalidOperationException +// The operation failed because there was nothing to do. For example: +// +// You tried to remove a Rule from a WebACL, but the Rule isn't in the specified +// WebACL. +// +// You tried to remove an IP address from an IPSet, but the IP address isn't +// in the specified IPSet. +// +// You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple +// isn't in the specified WebACL. +// +// You tried to add a Rule to a WebACL, but the Rule already exists in the +// specified WebACL. +// +// You tried to add an IP address to an IPSet, but the IP address already +// exists in the specified IPSet. +// +// You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple +// already exists in the specified WebACL. +// +// * InvalidParameterException +// The operation failed because AWS WAF didn't recognize a parameter in the +// request. For example: +// +// You specified an invalid parameter name. +// +// You specified an invalid value. +// +// You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) using +// an action other than INSERT or DELETE. +// +// You tried to create a WebACL with a DefaultAction Type other than ALLOW, +// BLOCK, or COUNT. +// +// You tried to update a WebACL with a WafAction Type other than ALLOW, BLOCK, +// or COUNT. +// +// You tried to update a ByteMatchSet with a FieldToMatch Type other than +// HEADER, QUERY_STRING, or URI. +// +// You tried to update a ByteMatchSet with a Field of HEADER but no value +// for Data. +// +// * NonexistentContainerException +// The operation failed because you tried to add an object to or delete an object +// from another object that doesn't exist. For example: +// +// You tried to add a Rule to or delete a Rule from a WebACL that doesn't +// exist. +// +// You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule +// that doesn't exist. +// +// You tried to add an IP address to or delete an IP address from an IPSet +// that doesn't exist. +// +// You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from a +// ByteMatchSet that doesn't exist. +// +// * NonexistentItemException +// The operation failed because the referenced object doesn't exist. +// +// * ReferencedItemException +// The operation failed because you tried to delete an object that is still +// in use. For example: +// +// You tried to delete a ByteMatchSet that is still referenced by a Rule. +// +// You tried to delete a Rule that is still referenced by a WebACL. +// +// * LimitsExceededException +// The operation exceeds a resource limit, for example, the maximum number of +// WebACL objects that you can create for an AWS account. For more information, +// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// in the AWS WAF Developer Guide. +// +func (c *WAF) UpdateSizeConstraintSet(input *UpdateSizeConstraintSetInput) (*UpdateSizeConstraintSetOutput, error) { + req, out := c.UpdateSizeConstraintSetRequest(input) + err := req.Send() + return out, err +} + +const opUpdateSqlInjectionMatchSet = "UpdateSqlInjectionMatchSet" + +// UpdateSqlInjectionMatchSetRequest generates a "aws/request.Request" representing the +// client's request for the UpdateSqlInjectionMatchSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateSqlInjectionMatchSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateSqlInjectionMatchSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateSqlInjectionMatchSetRequest method. +// req, resp := client.UpdateSqlInjectionMatchSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) UpdateSqlInjectionMatchSetRequest(input *UpdateSqlInjectionMatchSetInput) (req *request.Request, output *UpdateSqlInjectionMatchSetOutput) { + op := &request.Operation{ + Name: opUpdateSqlInjectionMatchSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateSqlInjectionMatchSetInput{} + } + + req = c.newRequest(op, input, output) + output = &UpdateSqlInjectionMatchSetOutput{} + req.Data = output + return +} + +// UpdateSqlInjectionMatchSet API operation for AWS WAF. +// +// Inserts or deletes SqlInjectionMatchTuple objects (filters) in a SqlInjectionMatchSet. +// For each SqlInjectionMatchTuple object, you specify the following values: +// +// Action: Whether to insert the object into or delete the object from the +// array. To change a SqlInjectionMatchTuple, you delete the existing object +// and add a new one. +// +// FieldToMatch: The part of web requests that you want AWS WAF to inspect +// and, if you want AWS WAF to inspect a header, the name of the header. +// +// TextTransformation: Which text transformation, if any, to perform on +// the web request before inspecting the request for snippets of malicious SQL +// code. +// +// You use SqlInjectionMatchSet objects to specify which CloudFront requests +// you want to allow, block, or count. For example, if you're receiving requests +// that contain snippets of SQL code in the query string and you want to block +// the requests, you can create a SqlInjectionMatchSet with the applicable settings, +// and then configure AWS WAF to block the requests. +// +// To create and configure a SqlInjectionMatchSet, perform the following steps: +// +// Submit a CreateSqlInjectionMatchSet request. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateIPSet request. +// +// Submit an UpdateSqlInjectionMatchSet request to specify the parts of web +// requests that you want AWS WAF to inspect for snippets of SQL code. +// +// For more information about how to use the AWS WAF API to allow or block +// HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// +// 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 WAF's +// API operation UpdateSqlInjectionMatchSet for usage and error information. +// +// Returned Error Codes: +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +// * InvalidOperationException +// The operation failed because there was nothing to do. For example: +// +// You tried to remove a Rule from a WebACL, but the Rule isn't in the specified +// WebACL. +// +// You tried to remove an IP address from an IPSet, but the IP address isn't +// in the specified IPSet. +// +// You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple +// isn't in the specified WebACL. +// +// You tried to add a Rule to a WebACL, but the Rule already exists in the +// specified WebACL. +// +// You tried to add an IP address to an IPSet, but the IP address already +// exists in the specified IPSet. +// +// You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple +// already exists in the specified WebACL. +// +// * InvalidParameterException +// The operation failed because AWS WAF didn't recognize a parameter in the +// request. For example: +// +// You specified an invalid parameter name. +// +// You specified an invalid value. +// +// You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) using +// an action other than INSERT or DELETE. +// +// You tried to create a WebACL with a DefaultAction Type other than ALLOW, +// BLOCK, or COUNT. +// +// You tried to update a WebACL with a WafAction Type other than ALLOW, BLOCK, +// or COUNT. +// +// You tried to update a ByteMatchSet with a FieldToMatch Type other than +// HEADER, QUERY_STRING, or URI. +// +// You tried to update a ByteMatchSet with a Field of HEADER but no value +// for Data. +// +// * NonexistentContainerException +// The operation failed because you tried to add an object to or delete an object +// from another object that doesn't exist. For example: +// +// You tried to add a Rule to or delete a Rule from a WebACL that doesn't +// exist. +// +// You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule +// that doesn't exist. +// +// You tried to add an IP address to or delete an IP address from an IPSet +// that doesn't exist. +// +// You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from a +// ByteMatchSet that doesn't exist. +// +// * NonexistentItemException +// The operation failed because the referenced object doesn't exist. +// +// * StaleDataException +// The operation failed because you tried to create, update, or delete an object +// by using a change token that has already been used. +// +// * LimitsExceededException +// The operation exceeds a resource limit, for example, the maximum number of +// WebACL objects that you can create for an AWS account. For more information, +// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// in the AWS WAF Developer Guide. +// +func (c *WAF) UpdateSqlInjectionMatchSet(input *UpdateSqlInjectionMatchSetInput) (*UpdateSqlInjectionMatchSetOutput, error) { + req, out := c.UpdateSqlInjectionMatchSetRequest(input) + err := req.Send() + return out, err +} + +const opUpdateWebACL = "UpdateWebACL" + +// UpdateWebACLRequest generates a "aws/request.Request" representing the +// client's request for the UpdateWebACL operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateWebACL for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateWebACL method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateWebACLRequest method. +// req, resp := client.UpdateWebACLRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) UpdateWebACLRequest(input *UpdateWebACLInput) (req *request.Request, output *UpdateWebACLOutput) { + op := &request.Operation{ + Name: opUpdateWebACL, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateWebACLInput{} + } + + req = c.newRequest(op, input, output) + output = &UpdateWebACLOutput{} + req.Data = output + return +} + +// UpdateWebACL API operation for AWS WAF. +// +// Inserts or deletes ActivatedRule objects in a WebACL. Each Rule identifies +// web requests that you want to allow, block, or count. When you update a WebACL, +// you specify the following values: +// +// A default action for the WebACL, either ALLOW or BLOCK. AWS WAF performs +// the default action if a request doesn't match the criteria in any of the +// Rules in a WebACL. +// +// The Rules that you want to add and/or delete. If you want to replace one +// Rule with another, you delete the existing Rule and add the new one. +// +// For each Rule, whether you want AWS WAF to allow requests, block requests, +// or count requests that match the conditions in the Rule. +// +// The order in which you want AWS WAF to evaluate the Rules in a WebACL. +// If you add more than one Rule to a WebACL, AWS WAF evaluates each request +// against the Rules in order based on the value of Priority. (The Rule that +// has the lowest value for Priority is evaluated first.) When a web request +// matches all of the predicates (such as ByteMatchSets and IPSets) in a Rule, +// AWS WAF immediately takes the corresponding action, allow or block, and doesn't +// evaluate the request against the remaining Rules in the WebACL, if any. +// +// The CloudFront distribution that you want to associate with the WebACL. +// +// To create and configure a WebACL, perform the following steps: +// +// Create and update the predicates that you want to include in Rules. For +// more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, +// UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet. +// +// Create and update the Rules that you want to include in the WebACL. For +// more information, see CreateRule and UpdateRule. +// +// Create a WebACL. See CreateWebACL. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateWebACL request. +// +// Submit an UpdateWebACL request to specify the Rules that you want to include +// in the WebACL, to specify the default action, and to associate the WebACL +// with a CloudFront distribution. +// +// For more information about how to use the AWS WAF API to allow or block +// HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// +// 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 WAF's +// API operation UpdateWebACL for usage and error information. +// +// Returned Error Codes: +// * StaleDataException +// The operation failed because you tried to create, update, or delete an object +// by using a change token that has already been used. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +// * InvalidOperationException +// The operation failed because there was nothing to do. For example: +// +// You tried to remove a Rule from a WebACL, but the Rule isn't in the specified +// WebACL. +// +// You tried to remove an IP address from an IPSet, but the IP address isn't +// in the specified IPSet. +// +// You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple +// isn't in the specified WebACL. +// +// You tried to add a Rule to a WebACL, but the Rule already exists in the +// specified WebACL. +// +// You tried to add an IP address to an IPSet, but the IP address already +// exists in the specified IPSet. +// +// You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple +// already exists in the specified WebACL. +// +// * InvalidParameterException +// The operation failed because AWS WAF didn't recognize a parameter in the +// request. For example: +// +// You specified an invalid parameter name. +// +// You specified an invalid value. +// +// You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) using +// an action other than INSERT or DELETE. +// +// You tried to create a WebACL with a DefaultAction Type other than ALLOW, +// BLOCK, or COUNT. +// +// You tried to update a WebACL with a WafAction Type other than ALLOW, BLOCK, +// or COUNT. +// +// You tried to update a ByteMatchSet with a FieldToMatch Type other than +// HEADER, QUERY_STRING, or URI. +// +// You tried to update a ByteMatchSet with a Field of HEADER but no value +// for Data. +// +// * NonexistentContainerException +// The operation failed because you tried to add an object to or delete an object +// from another object that doesn't exist. For example: +// +// You tried to add a Rule to or delete a Rule from a WebACL that doesn't +// exist. +// +// You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule +// that doesn't exist. +// +// You tried to add an IP address to or delete an IP address from an IPSet +// that doesn't exist. +// +// You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from a +// ByteMatchSet that doesn't exist. +// +// * NonexistentItemException +// The operation failed because the referenced object doesn't exist. +// +// * ReferencedItemException +// The operation failed because you tried to delete an object that is still +// in use. For example: +// +// You tried to delete a ByteMatchSet that is still referenced by a Rule. +// +// You tried to delete a Rule that is still referenced by a WebACL. +// +// * LimitsExceededException +// The operation exceeds a resource limit, for example, the maximum number of +// WebACL objects that you can create for an AWS account. For more information, +// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// in the AWS WAF Developer Guide. +// +func (c *WAF) UpdateWebACL(input *UpdateWebACLInput) (*UpdateWebACLOutput, error) { + req, out := c.UpdateWebACLRequest(input) + err := req.Send() + return out, err +} + +const opUpdateXssMatchSet = "UpdateXssMatchSet" + +// UpdateXssMatchSetRequest generates a "aws/request.Request" representing the +// client's request for the UpdateXssMatchSet operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateXssMatchSet for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateXssMatchSet method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateXssMatchSetRequest method. +// req, resp := client.UpdateXssMatchSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *WAF) UpdateXssMatchSetRequest(input *UpdateXssMatchSetInput) (req *request.Request, output *UpdateXssMatchSetOutput) { + op := &request.Operation{ + Name: opUpdateXssMatchSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateXssMatchSetInput{} + } + + req = c.newRequest(op, input, output) + output = &UpdateXssMatchSetOutput{} + req.Data = output + return +} + +// UpdateXssMatchSet API operation for AWS WAF. +// +// Inserts or deletes XssMatchTuple objects (filters) in an XssMatchSet. For +// each XssMatchTuple object, you specify the following values: +// +// Action: Whether to insert the object into or delete the object from the +// array. To change a XssMatchTuple, you delete the existing object and add +// a new one. +// +// FieldToMatch: The part of web requests that you want AWS WAF to inspect +// and, if you want AWS WAF to inspect a header, the name of the header. +// +// TextTransformation: Which text transformation, if any, to perform on +// the web request before inspecting the request for cross-site scripting attacks. +// +// You use XssMatchSet objects to specify which CloudFront requests you want +// to allow, block, or count. For example, if you're receiving requests that +// contain cross-site scripting attacks in the request body and you want to +// block the requests, you can create an XssMatchSet with the applicable settings, +// and then configure AWS WAF to block the requests. +// +// To create and configure an XssMatchSet, perform the following steps: +// +// Submit a CreateXssMatchSet request. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateIPSet request. +// +// Submit an UpdateXssMatchSet request to specify the parts of web requests +// that you want AWS WAF to inspect for cross-site scripting attacks. +// +// For more information about how to use the AWS WAF API to allow or block +// HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// +// 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 WAF's +// API operation UpdateXssMatchSet for usage and error information. +// +// Returned Error Codes: +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidAccountException +// The operation failed because you tried to create, update, or delete an object +// by using an invalid account identifier. +// +// * InvalidOperationException +// The operation failed because there was nothing to do. For example: +// +// You tried to remove a Rule from a WebACL, but the Rule isn't in the specified +// WebACL. +// +// You tried to remove an IP address from an IPSet, but the IP address isn't +// in the specified IPSet. +// +// You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple +// isn't in the specified WebACL. +// +// You tried to add a Rule to a WebACL, but the Rule already exists in the +// specified WebACL. +// +// You tried to add an IP address to an IPSet, but the IP address already +// exists in the specified IPSet. +// +// You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple +// already exists in the specified WebACL. +// +// * InvalidParameterException +// The operation failed because AWS WAF didn't recognize a parameter in the +// request. For example: +// +// You specified an invalid parameter name. +// +// You specified an invalid value. +// +// You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) using +// an action other than INSERT or DELETE. +// +// You tried to create a WebACL with a DefaultAction Type other than ALLOW, +// BLOCK, or COUNT. +// +// You tried to update a WebACL with a WafAction Type other than ALLOW, BLOCK, +// or COUNT. +// +// You tried to update a ByteMatchSet with a FieldToMatch Type other than +// HEADER, QUERY_STRING, or URI. +// +// You tried to update a ByteMatchSet with a Field of HEADER but no value +// for Data. +// +// * NonexistentContainerException +// The operation failed because you tried to add an object to or delete an object +// from another object that doesn't exist. For example: +// +// You tried to add a Rule to or delete a Rule from a WebACL that doesn't +// exist. +// +// You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule +// that doesn't exist. +// +// You tried to add an IP address to or delete an IP address from an IPSet +// that doesn't exist. +// +// You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from a +// ByteMatchSet that doesn't exist. +// +// * NonexistentItemException +// The operation failed because the referenced object doesn't exist. +// +// * StaleDataException +// The operation failed because you tried to create, update, or delete an object +// by using a change token that has already been used. +// +// * LimitsExceededException +// The operation exceeds a resource limit, for example, the maximum number of +// WebACL objects that you can create for an AWS account. For more information, +// see Limits (http://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// in the AWS WAF Developer Guide. +// +func (c *WAF) UpdateXssMatchSet(input *UpdateXssMatchSetInput) (*UpdateXssMatchSetOutput, error) { + req, out := c.UpdateXssMatchSetRequest(input) + err := req.Send() + return out, err +} + +// The ActivatedRule object in an UpdateWebACL request specifies a Rule that +// you want to insert or delete, the priority of the Rule in the WebACL, and +// the action that you want AWS WAF to take when a web request matches the Rule +// (ALLOW, BLOCK, or COUNT). +// +// To specify whether to insert or delete a Rule, use the Action parameter +// in the WebACLUpdate data type. +type ActivatedRule struct { + _ struct{} `type:"structure"` + + // Specifies the action that CloudFront or AWS WAF takes when a web request + // matches the conditions in the Rule. Valid values for Action include the following: + // + // ALLOW: CloudFront responds with the requested object. + // + // BLOCK: CloudFront responds with an HTTP 403 (Forbidden) status code. + // + // COUNT: AWS WAF increments a counter of requests that match the conditions + // in the rule and then continues to inspect the web request based on the remaining + // rules in the web ACL. + // + // Action is a required field + Action *WafAction `type:"structure" required:"true"` + + // Specifies the order in which the Rules in a WebACL are evaluated. Rules with + // a lower value for Priority are evaluated before Rules with a higher value. + // The value must be a unique integer. If you add multiple Rules to a WebACL, + // the values don't need to be consecutive. + // + // Priority is a required field + Priority *int64 `type:"integer" required:"true"` + + // The RuleId for a Rule. You use RuleId to get more information about a Rule + // (see GetRule), update a Rule (see UpdateRule), insert a Rule into a WebACL + // or delete a one from a WebACL (see UpdateWebACL), or delete a Rule from AWS + // WAF (see DeleteRule). + // + // RuleId is returned by CreateRule and by ListRules. + // + // RuleId is a required field + RuleId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ActivatedRule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ActivatedRule) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ActivatedRule) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ActivatedRule"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) + } + if s.Priority == nil { + invalidParams.Add(request.NewErrParamRequired("Priority")) + } + if s.RuleId == nil { + invalidParams.Add(request.NewErrParamRequired("RuleId")) + } + if s.RuleId != nil && len(*s.RuleId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleId", 1)) + } + if s.Action != nil { + if err := s.Action.Validate(); err != nil { + invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// In a GetByteMatchSet request, ByteMatchSet is a complex type that contains +// the ByteMatchSetId and Name of a ByteMatchSet, and the values that you specified +// when you updated the ByteMatchSet. +// +// A complex type that contains ByteMatchTuple objects, which specify the parts +// of web requests that you want AWS WAF to inspect and the values that you +// want AWS WAF to search for. If a ByteMatchSet contains more than one ByteMatchTuple +// object, a request needs to match the settings in only one ByteMatchTuple +// to be considered a match. +type ByteMatchSet struct { + _ struct{} `type:"structure"` + + // The ByteMatchSetId for a ByteMatchSet. You use ByteMatchSetId to get information + // about a ByteMatchSet (see GetByteMatchSet), update a ByteMatchSet (see UpdateByteMatchSet), + // insert a ByteMatchSet into a Rule or delete one from a Rule (see UpdateRule), + // and delete a ByteMatchSet from AWS WAF (see DeleteByteMatchSet). + // + // ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets. + // + // ByteMatchSetId is a required field + ByteMatchSetId *string `min:"1" type:"string" required:"true"` + + // Specifies the bytes (typically a string that corresponds with ASCII characters) + // that you want AWS WAF to search for in web requests, the location in requests + // that you want AWS WAF to search, and other settings. + // + // ByteMatchTuples is a required field + ByteMatchTuples []*ByteMatchTuple `type:"list" required:"true"` + + // A friendly name or description of the ByteMatchSet. You can't change Name + // after you create a ByteMatchSet. + Name *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ByteMatchSet) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ByteMatchSet) GoString() string { + return s.String() +} + +// Returned by ListByteMatchSets. Each ByteMatchSetSummary object includes the +// Name and ByteMatchSetId for one ByteMatchSet. +type ByteMatchSetSummary struct { + _ struct{} `type:"structure"` + + // The ByteMatchSetId for a ByteMatchSet. You use ByteMatchSetId to get information + // about a ByteMatchSet, update a ByteMatchSet, remove a ByteMatchSet from a + // Rule, and delete a ByteMatchSet from AWS WAF. + // + // ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets. + // + // ByteMatchSetId is a required field + ByteMatchSetId *string `min:"1" type:"string" required:"true"` + + // A friendly name or description of the ByteMatchSet. You can't change Name + // after you create a ByteMatchSet. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ByteMatchSetSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ByteMatchSetSummary) GoString() string { + return s.String() +} + +// In an UpdateByteMatchSet request, ByteMatchSetUpdate specifies whether to +// insert or delete a ByteMatchTuple and includes the settings for the ByteMatchTuple. +type ByteMatchSetUpdate struct { + _ struct{} `type:"structure"` + + // Specifies whether to insert or delete a ByteMatchTuple. + // + // Action is a required field + Action *string `type:"string" required:"true" enum:"ChangeAction"` + + // Information about the part of a web request that you want AWS WAF to inspect + // and the value that you want AWS WAF to search for. If you specify DELETE + // for the value of Action, the ByteMatchTuple values must exactly match the + // values in the ByteMatchTuple that you want to delete from the ByteMatchSet. + // + // ByteMatchTuple is a required field + ByteMatchTuple *ByteMatchTuple `type:"structure" required:"true"` +} + +// String returns the string representation +func (s ByteMatchSetUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ByteMatchSetUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ByteMatchSetUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ByteMatchSetUpdate"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) + } + if s.ByteMatchTuple == nil { + invalidParams.Add(request.NewErrParamRequired("ByteMatchTuple")) + } + if s.ByteMatchTuple != nil { + if err := s.ByteMatchTuple.Validate(); err != nil { + invalidParams.AddNested("ByteMatchTuple", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The bytes (typically a string that corresponds with ASCII characters) that +// you want AWS WAF to search for in web requests, the location in requests +// that you want AWS WAF to search, and other settings. +type ByteMatchTuple struct { + _ struct{} `type:"structure"` + + // The part of a web request that you want AWS WAF to search, such as a specified + // header or a query string. For more information, see FieldToMatch. + // + // FieldToMatch is a required field + FieldToMatch *FieldToMatch `type:"structure" required:"true"` + + // Within the portion of a web request that you want to search (for example, + // in the query string, if any), specify where you want AWS WAF to search. Valid + // values include the following: + // + // CONTAINS + // + // The specified part of the web request must include the value of TargetString, + // but the location doesn't matter. + // + // CONTAINS_WORD + // + // The specified part of the web request must include the value of TargetString, + // and TargetString must contain only alphanumeric characters or underscore + // (A-Z, a-z, 0-9, or _). In addition, TargetString must be a word, which means + // one of the following: + // + // TargetString exactly matches the value of the specified part of the web + // request, such as the value of a header. + // + // TargetString is at the beginning of the specified part of the web request + // and is followed by a character other than an alphanumeric character or underscore + // (_), for example, BadBot;. + // + // TargetString is at the end of the specified part of the web request and + // is preceded by a character other than an alphanumeric character or underscore + // (_), for example, ;BadBot. + // + // TargetString is in the middle of the specified part of the web request + // and is preceded and followed by characters other than alphanumeric characters + // or underscore (_), for example, -BadBot;. + // + // EXACTLY + // + // The value of the specified part of the web request must exactly match the + // value of TargetString. + // + // STARTS_WITH + // + // The value of TargetString must appear at the beginning of the specified + // part of the web request. + // + // ENDS_WITH + // + // The value of TargetString must appear at the end of the specified part of + // the web request. + // + // PositionalConstraint is a required field + PositionalConstraint *string `type:"string" required:"true" enum:"PositionalConstraint"` + + // The value that you want AWS WAF to search for. AWS WAF searches for the specified + // string in the part of web requests that you specified in FieldToMatch. The + // maximum length of the value is 50 bytes. + // + // Valid values depend on the values that you specified for FieldToMatch: + // + // HEADER: The value that you want AWS WAF to search for in the request + // header that you specified in FieldToMatch, for example, the value of the + // User-Agent or Referer header. + // + // METHOD: The HTTP method, which indicates the type of operation specified + // in the request. CloudFront supports the following methods: DELETE, GET, HEAD, + // OPTIONS, PATCH, POST, and PUT. + // + // QUERY_STRING: The value that you want AWS WAF to search for in the query + // string, which is the part of a URL that appears after a ? character. + // + // URI: The value that you want AWS WAF to search for in the part of a URL + // that identifies a resource, for example, /images/daily-ad.jpg. + // + // BODY: The part of a request that contains any additional data that you + // want to send to your web server as the HTTP request body, such as data from + // a form. The request body immediately follows the request headers. Note that + // only the first 8192 bytes of the request body are forwarded to AWS WAF for + // inspection. To allow or block requests based on the length of the body, you + // can create a size constraint set. For more information, see CreateSizeConstraintSet. + // + // If TargetString includes alphabetic characters A-Z and a-z, note that + // the value is case sensitive. + // + // If you're using the AWS WAF API + // + // Specify a base64-encoded version of the value. The maximum length of the + // value before you base64-encode it is 50 bytes. + // + // For example, suppose the value of Type is HEADER and the value of Data is + // User-Agent. If you want to search the User-Agent header for the value BadBot, + // you base64-encode BadBot using MIME base64 encoding and include the resulting + // value, QmFkQm90, in the value of TargetString. + // + // If you're using the AWS CLI or one of the AWS SDKs + // + // The value that you want AWS WAF to search for. The SDK automatically base64 + // encodes the value. + // + // TargetString is automatically base64 encoded/decoded by the SDK. + // + // TargetString is a required field + TargetString []byte `type:"blob" required:"true"` + + // Text transformations eliminate some of the unusual formatting that attackers + // use in web requests in an effort to bypass AWS WAF. If you specify a transformation, + // AWS WAF performs the transformation on TargetString before inspecting a request + // for a match. + // + // CMD_LINE + // + // When you're concerned that attackers are injecting an operating system commandline + // command and using unusual formatting to disguise some or all of the command, + // use this option to perform the following transformations: + // + // Delete the following characters: \ " ' ^ + // + // Delete spaces before the following characters: / ( + // + // Replace the following characters with a space: , ; + // + // Replace multiple spaces with one space + // + // Convert uppercase letters (A-Z) to lowercase (a-z) + // + // COMPRESS_WHITE_SPACE + // + // Use this option to replace the following characters with a space character + // (decimal 32): + // + // \f, formfeed, decimal 12 + // + // \t, tab, decimal 9 + // + // \n, newline, decimal 10 + // + // \r, carriage return, decimal 13 + // + // \v, vertical tab, decimal 11 + // + // non-breaking space, decimal 160 + // + // COMPRESS_WHITE_SPACE also replaces multiple spaces with one space. + // + // HTML_ENTITY_DECODE + // + // Use this option to replace HTML-encoded characters with unencoded characters. + // HTML_ENTITY_DECODE performs the following operations: + // + // Replaces (ampersand)quot; with " + // + // Replaces (ampersand)nbsp; with a non-breaking space, decimal 160 + // + // Replaces (ampersand)lt; with a "less than" symbol + // + // Replaces (ampersand)gt; with > + // + // Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, + // with the corresponding characters + // + // Replaces characters that are represented in decimal format, (ampersand)#nnnn;, + // with the corresponding characters + // + // LOWERCASE + // + // Use this option to convert uppercase letters (A-Z) to lowercase (a-z). + // + // URL_DECODE + // + // Use this option to decode a URL-encoded value. + // + // NONE + // + // Specify NONE if you don't want to perform any text transformations. + // + // TextTransformation is a required field + TextTransformation *string `type:"string" required:"true" enum:"TextTransformation"` +} + +// String returns the string representation +func (s ByteMatchTuple) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ByteMatchTuple) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ByteMatchTuple) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ByteMatchTuple"} + if s.FieldToMatch == nil { + invalidParams.Add(request.NewErrParamRequired("FieldToMatch")) + } + if s.PositionalConstraint == nil { + invalidParams.Add(request.NewErrParamRequired("PositionalConstraint")) + } + if s.TargetString == nil { + invalidParams.Add(request.NewErrParamRequired("TargetString")) + } + if s.TextTransformation == nil { + invalidParams.Add(request.NewErrParamRequired("TextTransformation")) + } + if s.FieldToMatch != nil { + if err := s.FieldToMatch.Validate(); err != nil { + invalidParams.AddNested("FieldToMatch", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type CreateByteMatchSetInput struct { + _ struct{} `type:"structure"` + + // The value returned by the most recent call to GetChangeToken. + // + // ChangeToken is a required field + ChangeToken *string `min:"1" type:"string" required:"true"` + + // A friendly name or description of the ByteMatchSet. You can't change Name + // after you create a ByteMatchSet. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateByteMatchSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateByteMatchSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateByteMatchSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateByteMatchSetInput"} + if s.ChangeToken == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeToken")) + } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type CreateByteMatchSetOutput struct { + _ struct{} `type:"structure"` + + // A ByteMatchSet that contains no ByteMatchTuple objects. + ByteMatchSet *ByteMatchSet `type:"structure"` + + // The ChangeToken that you used to submit the CreateByteMatchSet request. You + // can also use this value to query the status of the request. For more information, + // see GetChangeTokenStatus. + ChangeToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateByteMatchSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateByteMatchSetOutput) GoString() string { + return s.String() +} + +type CreateIPSetInput struct { + _ struct{} `type:"structure"` + + // The value returned by the most recent call to GetChangeToken. + // + // ChangeToken is a required field + ChangeToken *string `min:"1" type:"string" required:"true"` + + // A friendly name or description of the IPSet. You can't change Name after + // you create the IPSet. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateIPSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateIPSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateIPSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateIPSetInput"} + if s.ChangeToken == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeToken")) + } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type CreateIPSetOutput struct { + _ struct{} `type:"structure"` + + // The ChangeToken that you used to submit the CreateIPSet request. You can + // also use this value to query the status of the request. For more information, + // see GetChangeTokenStatus. + ChangeToken *string `min:"1" type:"string"` + + // The IPSet returned in the CreateIPSet response. + IPSet *IPSet `type:"structure"` +} + +// String returns the string representation +func (s CreateIPSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateIPSetOutput) GoString() string { + return s.String() +} + +type CreateRuleInput struct { + _ struct{} `type:"structure"` + + // The value returned by the most recent call to GetChangeToken. + // + // ChangeToken is a required field + ChangeToken *string `min:"1" type:"string" required:"true"` + + // A friendly name or description for the metrics for this Rule. The name can + // contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain + // whitespace. You can't change the name of the metric after you create the + // Rule. + // + // MetricName is a required field + MetricName *string `type:"string" required:"true"` + + // A friendly name or description of the Rule. You can't change the name of + // a Rule after you create it. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateRuleInput"} + if s.ChangeToken == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeToken")) + } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } + if s.MetricName == nil { + invalidParams.Add(request.NewErrParamRequired("MetricName")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type CreateRuleOutput struct { + _ struct{} `type:"structure"` + + // The ChangeToken that you used to submit the CreateRule request. You can also + // use this value to query the status of the request. For more information, + // see GetChangeTokenStatus. + ChangeToken *string `min:"1" type:"string"` + + // The Rule returned in the CreateRule response. + Rule *Rule `type:"structure"` +} + +// String returns the string representation +func (s CreateRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateRuleOutput) GoString() string { + return s.String() +} + +type CreateSizeConstraintSetInput struct { + _ struct{} `type:"structure"` + + // The value returned by the most recent call to GetChangeToken. + // + // ChangeToken is a required field + ChangeToken *string `min:"1" type:"string" required:"true"` + + // A friendly name or description of the SizeConstraintSet. You can't change + // Name after you create a SizeConstraintSet. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateSizeConstraintSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSizeConstraintSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSizeConstraintSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSizeConstraintSetInput"} + if s.ChangeToken == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeToken")) + } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type CreateSizeConstraintSetOutput struct { + _ struct{} `type:"structure"` + + // The ChangeToken that you used to submit the CreateSizeConstraintSet request. + // You can also use this value to query the status of the request. For more + // information, see GetChangeTokenStatus. + ChangeToken *string `min:"1" type:"string"` + + // A SizeConstraintSet that contains no SizeConstraint objects. + SizeConstraintSet *SizeConstraintSet `type:"structure"` +} + +// String returns the string representation +func (s CreateSizeConstraintSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSizeConstraintSetOutput) GoString() string { + return s.String() +} + +// A request to create a SqlInjectionMatchSet. +type CreateSqlInjectionMatchSetInput struct { + _ struct{} `type:"structure"` + + // The value returned by the most recent call to GetChangeToken. + // + // ChangeToken is a required field + ChangeToken *string `min:"1" type:"string" required:"true"` + + // A friendly name or description for the SqlInjectionMatchSet that you're creating. + // You can't change Name after you create the SqlInjectionMatchSet. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateSqlInjectionMatchSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSqlInjectionMatchSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSqlInjectionMatchSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSqlInjectionMatchSetInput"} + if s.ChangeToken == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeToken")) + } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The response to a CreateSqlInjectionMatchSet request. +type CreateSqlInjectionMatchSetOutput struct { + _ struct{} `type:"structure"` + + // The ChangeToken that you used to submit the CreateSqlInjectionMatchSet request. + // You can also use this value to query the status of the request. For more + // information, see GetChangeTokenStatus. + ChangeToken *string `min:"1" type:"string"` + + // A SqlInjectionMatchSet. + SqlInjectionMatchSet *SqlInjectionMatchSet `type:"structure"` +} + +// String returns the string representation +func (s CreateSqlInjectionMatchSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSqlInjectionMatchSetOutput) GoString() string { + return s.String() +} + +type CreateWebACLInput struct { + _ struct{} `type:"structure"` + + // The value returned by the most recent call to GetChangeToken. + // + // ChangeToken is a required field + ChangeToken *string `min:"1" type:"string" required:"true"` + + // The action that you want AWS WAF to take when a request doesn't match the + // criteria specified in any of the Rule objects that are associated with the + // WebACL. + // + // DefaultAction is a required field + DefaultAction *WafAction `type:"structure" required:"true"` + + // A friendly name or description for the metrics for this WebACL. The name + // can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't + // contain whitespace. You can't change MetricName after you create the WebACL. + // + // MetricName is a required field + MetricName *string `type:"string" required:"true"` + + // A friendly name or description of the WebACL. You can't change Name after + // you create the WebACL. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateWebACLInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateWebACLInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateWebACLInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateWebACLInput"} + if s.ChangeToken == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeToken")) + } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } + if s.DefaultAction == nil { + invalidParams.Add(request.NewErrParamRequired("DefaultAction")) + } + if s.MetricName == nil { + invalidParams.Add(request.NewErrParamRequired("MetricName")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.DefaultAction != nil { + if err := s.DefaultAction.Validate(); err != nil { + invalidParams.AddNested("DefaultAction", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type CreateWebACLOutput struct { + _ struct{} `type:"structure"` + + // The ChangeToken that you used to submit the CreateWebACL request. You can + // also use this value to query the status of the request. For more information, + // see GetChangeTokenStatus. + ChangeToken *string `min:"1" type:"string"` + + // The WebACL returned in the CreateWebACL response. + WebACL *WebACL `type:"structure"` +} + +// String returns the string representation +func (s CreateWebACLOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateWebACLOutput) GoString() string { + return s.String() +} + +// A request to create an XssMatchSet. +type CreateXssMatchSetInput struct { + _ struct{} `type:"structure"` + + // The value returned by the most recent call to GetChangeToken. + // + // ChangeToken is a required field + ChangeToken *string `min:"1" type:"string" required:"true"` + + // A friendly name or description for the XssMatchSet that you're creating. + // You can't change Name after you create the XssMatchSet. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateXssMatchSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateXssMatchSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateXssMatchSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateXssMatchSetInput"} + if s.ChangeToken == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeToken")) + } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The response to a CreateXssMatchSet request. +type CreateXssMatchSetOutput struct { + _ struct{} `type:"structure"` + + // The ChangeToken that you used to submit the CreateXssMatchSet request. You + // can also use this value to query the status of the request. For more information, + // see GetChangeTokenStatus. + ChangeToken *string `min:"1" type:"string"` + + // An XssMatchSet. + XssMatchSet *XssMatchSet `type:"structure"` +} + +// String returns the string representation +func (s CreateXssMatchSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateXssMatchSetOutput) GoString() string { + return s.String() +} + +type DeleteByteMatchSetInput struct { + _ struct{} `type:"structure"` + + // The ByteMatchSetId of the ByteMatchSet that you want to delete. ByteMatchSetId + // is returned by CreateByteMatchSet and by ListByteMatchSets. + // + // ByteMatchSetId is a required field + ByteMatchSetId *string `min:"1" type:"string" required:"true"` + + // The value returned by the most recent call to GetChangeToken. + // + // ChangeToken is a required field + ChangeToken *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteByteMatchSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteByteMatchSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteByteMatchSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteByteMatchSetInput"} + if s.ByteMatchSetId == nil { + invalidParams.Add(request.NewErrParamRequired("ByteMatchSetId")) + } + if s.ByteMatchSetId != nil && len(*s.ByteMatchSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ByteMatchSetId", 1)) + } + if s.ChangeToken == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeToken")) + } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DeleteByteMatchSetOutput struct { + _ struct{} `type:"structure"` + + // The ChangeToken that you used to submit the DeleteByteMatchSet request. You + // can also use this value to query the status of the request. For more information, + // see GetChangeTokenStatus. + ChangeToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DeleteByteMatchSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteByteMatchSetOutput) GoString() string { + return s.String() +} + +type DeleteIPSetInput struct { + _ struct{} `type:"structure"` + + // The value returned by the most recent call to GetChangeToken. + // + // ChangeToken is a required field + ChangeToken *string `min:"1" type:"string" required:"true"` + + // The IPSetId of the IPSet that you want to delete. IPSetId is returned by + // CreateIPSet and by ListIPSets. + // + // IPSetId is a required field + IPSetId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteIPSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteIPSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteIPSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteIPSetInput"} + if s.ChangeToken == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeToken")) + } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } + if s.IPSetId == nil { + invalidParams.Add(request.NewErrParamRequired("IPSetId")) + } + if s.IPSetId != nil && len(*s.IPSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IPSetId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DeleteIPSetOutput struct { + _ struct{} `type:"structure"` + + // The ChangeToken that you used to submit the DeleteIPSet request. You can + // also use this value to query the status of the request. For more information, + // see GetChangeTokenStatus. + ChangeToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DeleteIPSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteIPSetOutput) GoString() string { + return s.String() +} + +type DeleteRuleInput struct { + _ struct{} `type:"structure"` + + // The value returned by the most recent call to GetChangeToken. + // + // ChangeToken is a required field + ChangeToken *string `min:"1" type:"string" required:"true"` + + // The RuleId of the Rule that you want to delete. RuleId is returned by CreateRule + // and by ListRules. + // + // RuleId is a required field + RuleId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteRuleInput"} + if s.ChangeToken == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeToken")) + } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } + if s.RuleId == nil { + invalidParams.Add(request.NewErrParamRequired("RuleId")) + } + if s.RuleId != nil && len(*s.RuleId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DeleteRuleOutput struct { + _ struct{} `type:"structure"` + + // The ChangeToken that you used to submit the DeleteRule request. You can also + // use this value to query the status of the request. For more information, + // see GetChangeTokenStatus. + ChangeToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DeleteRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteRuleOutput) GoString() string { + return s.String() +} + +type DeleteSizeConstraintSetInput struct { + _ struct{} `type:"structure"` + + // The value returned by the most recent call to GetChangeToken. + // + // ChangeToken is a required field + ChangeToken *string `min:"1" type:"string" required:"true"` + + // The SizeConstraintSetId of the SizeConstraintSet that you want to delete. + // SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets. + // + // SizeConstraintSetId is a required field + SizeConstraintSetId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteSizeConstraintSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSizeConstraintSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteSizeConstraintSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSizeConstraintSetInput"} + if s.ChangeToken == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeToken")) + } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } + if s.SizeConstraintSetId == nil { + invalidParams.Add(request.NewErrParamRequired("SizeConstraintSetId")) + } + if s.SizeConstraintSetId != nil && len(*s.SizeConstraintSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SizeConstraintSetId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DeleteSizeConstraintSetOutput struct { + _ struct{} `type:"structure"` + + // The ChangeToken that you used to submit the DeleteSizeConstraintSet request. + // You can also use this value to query the status of the request. For more + // information, see GetChangeTokenStatus. + ChangeToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DeleteSizeConstraintSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSizeConstraintSetOutput) GoString() string { + return s.String() +} + +// A request to delete a SqlInjectionMatchSet from AWS WAF. +type DeleteSqlInjectionMatchSetInput struct { + _ struct{} `type:"structure"` + + // The value returned by the most recent call to GetChangeToken. + // + // ChangeToken is a required field + ChangeToken *string `min:"1" type:"string" required:"true"` + + // The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to delete. + // SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets. + // + // SqlInjectionMatchSetId is a required field + SqlInjectionMatchSetId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteSqlInjectionMatchSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSqlInjectionMatchSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteSqlInjectionMatchSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSqlInjectionMatchSetInput"} + if s.ChangeToken == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeToken")) + } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } + if s.SqlInjectionMatchSetId == nil { + invalidParams.Add(request.NewErrParamRequired("SqlInjectionMatchSetId")) + } + if s.SqlInjectionMatchSetId != nil && len(*s.SqlInjectionMatchSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SqlInjectionMatchSetId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The response to a request to delete a SqlInjectionMatchSet from AWS WAF. +type DeleteSqlInjectionMatchSetOutput struct { + _ struct{} `type:"structure"` + + // The ChangeToken that you used to submit the DeleteSqlInjectionMatchSet request. + // You can also use this value to query the status of the request. For more + // information, see GetChangeTokenStatus. + ChangeToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DeleteSqlInjectionMatchSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSqlInjectionMatchSetOutput) GoString() string { + return s.String() +} + +type DeleteWebACLInput struct { + _ struct{} `type:"structure"` + + // The value returned by the most recent call to GetChangeToken. + // + // ChangeToken is a required field + ChangeToken *string `min:"1" type:"string" required:"true"` + + // The WebACLId of the WebACL that you want to delete. WebACLId is returned + // by CreateWebACL and by ListWebACLs. + // + // WebACLId is a required field + WebACLId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteWebACLInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteWebACLInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteWebACLInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteWebACLInput"} + if s.ChangeToken == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeToken")) + } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } + if s.WebACLId == nil { + invalidParams.Add(request.NewErrParamRequired("WebACLId")) + } + if s.WebACLId != nil && len(*s.WebACLId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WebACLId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type DeleteWebACLOutput struct { + _ struct{} `type:"structure"` + + // The ChangeToken that you used to submit the DeleteWebACL request. You can + // also use this value to query the status of the request. For more information, + // see GetChangeTokenStatus. + ChangeToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DeleteWebACLOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteWebACLOutput) GoString() string { + return s.String() +} + +// A request to delete an XssMatchSet from AWS WAF. +type DeleteXssMatchSetInput struct { + _ struct{} `type:"structure"` + + // The value returned by the most recent call to GetChangeToken. + // + // ChangeToken is a required field + ChangeToken *string `min:"1" type:"string" required:"true"` + + // The XssMatchSetId of the XssMatchSet that you want to delete. XssMatchSetId + // is returned by CreateXssMatchSet and by ListXssMatchSets. + // + // XssMatchSetId is a required field + XssMatchSetId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteXssMatchSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteXssMatchSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteXssMatchSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteXssMatchSetInput"} + if s.ChangeToken == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeToken")) + } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } + if s.XssMatchSetId == nil { + invalidParams.Add(request.NewErrParamRequired("XssMatchSetId")) + } + if s.XssMatchSetId != nil && len(*s.XssMatchSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("XssMatchSetId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The response to a request to delete an XssMatchSet from AWS WAF. +type DeleteXssMatchSetOutput struct { + _ struct{} `type:"structure"` + + // The ChangeToken that you used to submit the DeleteXssMatchSet request. You + // can also use this value to query the status of the request. For more information, + // see GetChangeTokenStatus. + ChangeToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DeleteXssMatchSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteXssMatchSetOutput) GoString() string { + return s.String() +} + +// Specifies where in a web request to look for TargetString. +type FieldToMatch struct { + _ struct{} `type:"structure"` + + // When the value of Type is HEADER, enter the name of the header that you want + // AWS WAF to search, for example, User-Agent or Referer. If the value of Type + // is any other value, omit Data. + // + // The name of the header is not case sensitive. + Data *string `type:"string"` + + // The part of the web request that you want AWS WAF to search for a specified + // string. Parts of a request that you can search include the following: + // + // HEADER: A specified request header, for example, the value of the User-Agent + // or Referer header. If you choose HEADER for the type, specify the name of + // the header in Data. + // + // METHOD: The HTTP method, which indicated the type of operation that the + // request is asking the origin to perform. Amazon CloudFront supports the following + // methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT. + // + // QUERY_STRING: A query string, which is the part of a URL that appears + // after a ? character, if any. + // + // URI: The part of a web request that identifies a resource, for example, + // /images/daily-ad.jpg. + // + // BODY: The part of a request that contains any additional data that you + // want to send to your web server as the HTTP request body, such as data from + // a form. The request body immediately follows the request headers. Note that + // only the first 8192 bytes of the request body are forwarded to AWS WAF for + // inspection. To allow or block requests based on the length of the body, you + // can create a size constraint set. For more information, see CreateSizeConstraintSet. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"MatchFieldType"` +} + +// String returns the string representation +func (s FieldToMatch) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FieldToMatch) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FieldToMatch) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FieldToMatch"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type GetByteMatchSetInput struct { + _ struct{} `type:"structure"` + + // The ByteMatchSetId of the ByteMatchSet that you want to get. ByteMatchSetId + // is returned by CreateByteMatchSet and by ListByteMatchSets. + // + // ByteMatchSetId is a required field + ByteMatchSetId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetByteMatchSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetByteMatchSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetByteMatchSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetByteMatchSetInput"} + if s.ByteMatchSetId == nil { + invalidParams.Add(request.NewErrParamRequired("ByteMatchSetId")) + } + if s.ByteMatchSetId != nil && len(*s.ByteMatchSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ByteMatchSetId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type GetByteMatchSetOutput struct { + _ struct{} `type:"structure"` + + // Information about the ByteMatchSet that you specified in the GetByteMatchSet + // request. For more information, see the following topics: + // + // ByteMatchSet: Contains ByteMatchSetId, ByteMatchTuples, and Name + // + // ByteMatchTuples: Contains an array of ByteMatchTuple objects. Each ByteMatchTuple + // object contains FieldToMatch, PositionalConstraint, TargetString, and TextTransformation + // + // FieldToMatch: Contains Data and Type + ByteMatchSet *ByteMatchSet `type:"structure"` +} + +// String returns the string representation +func (s GetByteMatchSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetByteMatchSetOutput) GoString() string { + return s.String() +} + +type GetChangeTokenInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s GetChangeTokenInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetChangeTokenInput) GoString() string { + return s.String() +} + +type GetChangeTokenOutput struct { + _ struct{} `type:"structure"` + + // The ChangeToken that you used in the request. Use this value in a GetChangeTokenStatus + // request to get the current status of the request. + ChangeToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s GetChangeTokenOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetChangeTokenOutput) GoString() string { + return s.String() +} + +type GetChangeTokenStatusInput struct { + _ struct{} `type:"structure"` + + // The change token for which you want to get the status. This change token + // was previously returned in the GetChangeToken response. + // + // ChangeToken is a required field + ChangeToken *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetChangeTokenStatusInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetChangeTokenStatusInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetChangeTokenStatusInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetChangeTokenStatusInput"} + if s.ChangeToken == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeToken")) + } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type GetChangeTokenStatusOutput struct { + _ struct{} `type:"structure"` + + // The status of the change token. + ChangeTokenStatus *string `type:"string" enum:"ChangeTokenStatus"` +} + +// String returns the string representation +func (s GetChangeTokenStatusOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetChangeTokenStatusOutput) GoString() string { + return s.String() +} + +type GetIPSetInput struct { + _ struct{} `type:"structure"` + + // The IPSetId of the IPSet that you want to get. IPSetId is returned by CreateIPSet + // and by ListIPSets. + // + // IPSetId is a required field + IPSetId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetIPSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetIPSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetIPSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetIPSetInput"} + if s.IPSetId == nil { + invalidParams.Add(request.NewErrParamRequired("IPSetId")) + } + if s.IPSetId != nil && len(*s.IPSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IPSetId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type GetIPSetOutput struct { + _ struct{} `type:"structure"` + + // Information about the IPSet that you specified in the GetIPSet request. For + // more information, see the following topics: + // + // IPSet: Contains IPSetDescriptors, IPSetId, and Name + // + // IPSetDescriptors: Contains an array of IPSetDescriptor objects. Each + // IPSetDescriptor object contains Type and Value + IPSet *IPSet `type:"structure"` +} + +// String returns the string representation +func (s GetIPSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetIPSetOutput) GoString() string { + return s.String() +} + +type GetRuleInput struct { + _ struct{} `type:"structure"` + + // The RuleId of the Rule that you want to get. RuleId is returned by CreateRule + // and by ListRules. + // + // RuleId is a required field + RuleId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetRuleInput"} + if s.RuleId == nil { + invalidParams.Add(request.NewErrParamRequired("RuleId")) + } + if s.RuleId != nil && len(*s.RuleId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type GetRuleOutput struct { + _ struct{} `type:"structure"` + + // Information about the Rule that you specified in the GetRule request. For + // more information, see the following topics: + // + // Rule: Contains MetricName, Name, an array of Predicate objects, and RuleId + // + // Predicate: Each Predicate object contains DataId, Negated, and Type + Rule *Rule `type:"structure"` +} + +// String returns the string representation +func (s GetRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetRuleOutput) GoString() string { + return s.String() +} + +type GetSampledRequestsInput struct { + _ struct{} `type:"structure"` + + // The number of requests that you want AWS WAF to return from among the first + // 5,000 requests that your AWS resource received during the time range. If + // your resource received fewer requests than the value of MaxItems, GetSampledRequests + // returns information about all of them. + // + // MaxItems is a required field + MaxItems *int64 `min:"1" type:"long" required:"true"` + + // RuleId is one of two values: + // + // The RuleId of the Rule for which you want GetSampledRequests to return + // a sample of requests. + // + // Default_Action, which causes GetSampledRequests to return a sample of + // the requests that didn't match any of the rules in the specified WebACL. + // + // RuleId is a required field + RuleId *string `min:"1" type:"string" required:"true"` + + // The start date and time and the end date and time of the range for which + // you want GetSampledRequests to return a sample of requests. Specify the date + // and time in Unix time format (in seconds). You can specify any time range + // in the previous three hours. + // + // TimeWindow is a required field + TimeWindow *TimeWindow `type:"structure" required:"true"` + + // The WebACLId of the WebACL for which you want GetSampledRequests to return + // a sample of requests. + // + // WebAclId is a required field + WebAclId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetSampledRequestsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSampledRequestsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetSampledRequestsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSampledRequestsInput"} + if s.MaxItems == nil { + invalidParams.Add(request.NewErrParamRequired("MaxItems")) + } + if s.MaxItems != nil && *s.MaxItems < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) + } + if s.RuleId == nil { + invalidParams.Add(request.NewErrParamRequired("RuleId")) + } + if s.RuleId != nil && len(*s.RuleId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleId", 1)) + } + if s.TimeWindow == nil { + invalidParams.Add(request.NewErrParamRequired("TimeWindow")) + } + if s.WebAclId == nil { + invalidParams.Add(request.NewErrParamRequired("WebAclId")) + } + if s.WebAclId != nil && len(*s.WebAclId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WebAclId", 1)) + } + if s.TimeWindow != nil { + if err := s.TimeWindow.Validate(); err != nil { + invalidParams.AddNested("TimeWindow", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type GetSampledRequestsOutput struct { + _ struct{} `type:"structure"` + + // The total number of requests from which GetSampledRequests got a sample of + // MaxItems requests. If PopulationSize is less than MaxItems, the sample includes + // every request that your AWS resource received during the specified time range. + PopulationSize *int64 `type:"long"` + + // A complex type that contains detailed information about each of the requests + // in the sample. + SampledRequests []*SampledHTTPRequest `type:"list"` + + // Usually, TimeWindow is the time range that you specified in the GetSampledRequests + // request. However, if your AWS resource received more than 5,000 requests + // during the time range that you specified in the request, GetSampledRequests + // returns the time range for the first 5,000 requests. + TimeWindow *TimeWindow `type:"structure"` +} + +// String returns the string representation +func (s GetSampledRequestsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSampledRequestsOutput) GoString() string { + return s.String() +} + +type GetSizeConstraintSetInput struct { + _ struct{} `type:"structure"` + + // The SizeConstraintSetId of the SizeConstraintSet that you want to get. SizeConstraintSetId + // is returned by CreateSizeConstraintSet and by ListSizeConstraintSets. + // + // SizeConstraintSetId is a required field + SizeConstraintSetId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetSizeConstraintSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSizeConstraintSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetSizeConstraintSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSizeConstraintSetInput"} + if s.SizeConstraintSetId == nil { + invalidParams.Add(request.NewErrParamRequired("SizeConstraintSetId")) + } + if s.SizeConstraintSetId != nil && len(*s.SizeConstraintSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SizeConstraintSetId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type GetSizeConstraintSetOutput struct { + _ struct{} `type:"structure"` + + // Information about the SizeConstraintSet that you specified in the GetSizeConstraintSet + // request. For more information, see the following topics: + // + // SizeConstraintSet: Contains SizeConstraintSetId, SizeConstraints, and + // Name + // + // SizeConstraints: Contains an array of SizeConstraint objects. Each SizeConstraint + // object contains FieldToMatch, TextTransformation, ComparisonOperator, and + // Size + // + // FieldToMatch: Contains Data and Type + SizeConstraintSet *SizeConstraintSet `type:"structure"` +} + +// String returns the string representation +func (s GetSizeConstraintSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSizeConstraintSetOutput) GoString() string { + return s.String() +} + +// A request to get a SqlInjectionMatchSet. +type GetSqlInjectionMatchSetInput struct { + _ struct{} `type:"structure"` + + // The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to get. + // SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets. + // + // SqlInjectionMatchSetId is a required field + SqlInjectionMatchSetId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetSqlInjectionMatchSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSqlInjectionMatchSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetSqlInjectionMatchSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSqlInjectionMatchSetInput"} + if s.SqlInjectionMatchSetId == nil { + invalidParams.Add(request.NewErrParamRequired("SqlInjectionMatchSetId")) + } + if s.SqlInjectionMatchSetId != nil && len(*s.SqlInjectionMatchSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SqlInjectionMatchSetId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The response to a GetSqlInjectionMatchSet request. +type GetSqlInjectionMatchSetOutput struct { + _ struct{} `type:"structure"` + + // Information about the SqlInjectionMatchSet that you specified in the GetSqlInjectionMatchSet + // request. For more information, see the following topics: + // + // SqlInjectionMatchSet: Contains Name, SqlInjectionMatchSetId, and an array + // of SqlInjectionMatchTuple objects + // + // SqlInjectionMatchTuple: Each SqlInjectionMatchTuple object contains FieldToMatch + // and TextTransformation + // + // FieldToMatch: Contains Data and Type + SqlInjectionMatchSet *SqlInjectionMatchSet `type:"structure"` +} + +// String returns the string representation +func (s GetSqlInjectionMatchSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSqlInjectionMatchSetOutput) GoString() string { + return s.String() +} + +type GetWebACLInput struct { + _ struct{} `type:"structure"` + + // The WebACLId of the WebACL that you want to get. WebACLId is returned by + // CreateWebACL and by ListWebACLs. + // + // WebACLId is a required field + WebACLId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetWebACLInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetWebACLInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetWebACLInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetWebACLInput"} + if s.WebACLId == nil { + invalidParams.Add(request.NewErrParamRequired("WebACLId")) + } + if s.WebACLId != nil && len(*s.WebACLId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WebACLId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type GetWebACLOutput struct { + _ struct{} `type:"structure"` + + // Information about the WebACL that you specified in the GetWebACL request. + // For more information, see the following topics: + // + // WebACL: Contains DefaultAction, MetricName, Name, an array of Rule objects, + // and WebACLId + // + // DefaultAction (Data type is WafAction): Contains Type + // + // Rules: Contains an array of ActivatedRule objects, which contain Action, + // Priority, and RuleId + // + // Action: Contains Type + WebACL *WebACL `type:"structure"` +} + +// String returns the string representation +func (s GetWebACLOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetWebACLOutput) GoString() string { + return s.String() +} + +// A request to get an XssMatchSet. +type GetXssMatchSetInput struct { + _ struct{} `type:"structure"` + + // The XssMatchSetId of the XssMatchSet that you want to get. XssMatchSetId + // is returned by CreateXssMatchSet and by ListXssMatchSets. + // + // XssMatchSetId is a required field + XssMatchSetId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetXssMatchSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetXssMatchSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetXssMatchSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetXssMatchSetInput"} + if s.XssMatchSetId == nil { + invalidParams.Add(request.NewErrParamRequired("XssMatchSetId")) + } + if s.XssMatchSetId != nil && len(*s.XssMatchSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("XssMatchSetId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The response to a GetXssMatchSet request. +type GetXssMatchSetOutput struct { + _ struct{} `type:"structure"` + + // Information about the XssMatchSet that you specified in the GetXssMatchSet + // request. For more information, see the following topics: + // + // XssMatchSet: Contains Name, XssMatchSetId, and an array of XssMatchTuple + // objects + // + // XssMatchTuple: Each XssMatchTuple object contains FieldToMatch and TextTransformation + // + // FieldToMatch: Contains Data and Type + XssMatchSet *XssMatchSet `type:"structure"` +} + +// String returns the string representation +func (s GetXssMatchSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetXssMatchSetOutput) GoString() string { + return s.String() +} + +// The response from a GetSampledRequests request includes an HTTPHeader complex +// type that appears as Headers in the response syntax. HTTPHeader contains +// the names and values of all of the headers that appear in one of the web +// requests that were returned by GetSampledRequests. +type HTTPHeader struct { + _ struct{} `type:"structure"` + + // The name of one of the headers in the sampled web request. + Name *string `type:"string"` + + // The value of one of the headers in the sampled web request. + Value *string `type:"string"` +} + +// String returns the string representation +func (s HTTPHeader) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HTTPHeader) GoString() string { + return s.String() +} + +// The response from a GetSampledRequests request includes an HTTPRequest complex +// type that appears as Request in the response syntax. HTTPRequest contains +// information about one of the web requests that were returned by GetSampledRequests. +type HTTPRequest struct { + _ struct{} `type:"structure"` + + // The IP address that the request originated from. If the WebACL is associated + // with a CloudFront distribution, this is the value of one of the following + // fields in CloudFront access logs: + // + // c-ip, if the viewer did not use an HTTP proxy or a load balancer to send + // the request + // + // x-forwarded-for, if the viewer did use an HTTP proxy or a load balancer + // to send the request + ClientIP *string `type:"string"` + + // The two-letter country code for the country that the request originated from. + // For a current list of country codes, see the Wikipedia entry ISO 3166-1 alpha-2 + // (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). + Country *string `type:"string"` + + // The HTTP version specified in the sampled web request, for example, HTTP/1.1. + HTTPVersion *string `type:"string"` + + // A complex type that contains two values for each header in the sampled web + // request: the name of the header and the value of the header. + Headers []*HTTPHeader `type:"list"` + + // The HTTP method specified in the sampled web request. CloudFront supports + // the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT. + Method *string `type:"string"` + + // The part of a web request that identifies the resource, for example, /images/daily-ad.jpg. + URI *string `type:"string"` +} + +// String returns the string representation +func (s HTTPRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HTTPRequest) GoString() string { + return s.String() +} + +// Contains one or more IP addresses or blocks of IP addresses specified in +// Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports /8, /16, +// /24, and /32 IP address ranges for IPv4, and /24, /32, /48, /56, /64 and +// /128 for IPv6. +// +// To specify an individual IP address, you specify the four-part IP address +// followed by a /32, for example, 192.0.2.0/31. To block a range of IP addresses, +// you can specify a /128, /64, /56, /48, /32, /24, /16, or /8 CIDR. For more +// information about CIDR notation, see the Wikipedia entry Classless Inter-Domain +// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). +type IPSet struct { + _ struct{} `type:"structure"` + + // The IP address type (IPV4 or IPV6) and the IP address range (in CIDR notation) + // that web requests originate from. If the WebACL is associated with a CloudFront + // distribution, this is the value of one of the following fields in CloudFront + // access logs: + // + // c-ip, if the viewer did not use an HTTP proxy or a load balancer to send + // the request + // + // x-forwarded-for, if the viewer did use an HTTP proxy or a load balancer + // to send the request + // + // IPSetDescriptors is a required field + IPSetDescriptors []*IPSetDescriptor `type:"list" required:"true"` + + // The IPSetId for an IPSet. You use IPSetId to get information about an IPSet + // (see GetIPSet), update an IPSet (see UpdateIPSet), insert an IPSet into a + // Rule or delete one from a Rule (see UpdateRule), and delete an IPSet from + // AWS WAF (see DeleteIPSet). + // + // IPSetId is returned by CreateIPSet and by ListIPSets. + // + // IPSetId is a required field + IPSetId *string `min:"1" type:"string" required:"true"` + + // A friendly name or description of the IPSet. You can't change the name of + // an IPSet after you create it. + Name *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s IPSet) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IPSet) GoString() string { + return s.String() +} + +// Specifies the IP address type (IPV4 or IPV6) and the IP address range (in +// CIDR format) that web requests originate from. +type IPSetDescriptor struct { + _ struct{} `type:"structure"` + + // Specify IPV4 or IPV6. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"IPSetDescriptorType"` + + // Specify an IPv4 address by using CIDR notation. For example: + // + // To configure AWS WAF to allow, block, or count requests that originated + // from the IP address 192.0.2.44, specify 192.0.2.44/32. + // + // To configure AWS WAF to allow, block, or count requests that originated + // from IP addresses from 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24. + // + // For more information about CIDR notation, see the Wikipedia entry Classless + // Inter-Domain Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). + // + // Specify an IPv6 address by using CIDR notation. For example: + // + // To configure AWS WAF to allow, block, or count requests that originated + // from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify 1111:0000:0000:0000:0000:0000:0000:0111/128. + // + // To configure AWS WAF to allow, block, or count requests that originated + // from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, + // specify 1111:0000:0000:0000:0000:0000:0000:0000/64. + // + // Value is a required field + Value *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s IPSetDescriptor) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IPSetDescriptor) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IPSetDescriptor) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IPSetDescriptor"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the identifier and the name of the IPSet. +type IPSetSummary struct { + _ struct{} `type:"structure"` + + // The IPSetId for an IPSet. You can use IPSetId in a GetIPSet request to get + // detailed information about an IPSet. + // + // IPSetId is a required field + IPSetId *string `min:"1" type:"string" required:"true"` + + // A friendly name or description of the IPSet. You can't change the name of + // an IPSet after you create it. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s IPSetSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IPSetSummary) GoString() string { + return s.String() +} + +// Specifies the type of update to perform to an IPSet with UpdateIPSet. +type IPSetUpdate struct { + _ struct{} `type:"structure"` + + // Specifies whether to insert or delete an IP address with UpdateIPSet. + // + // Action is a required field + Action *string `type:"string" required:"true" enum:"ChangeAction"` + + // The IP address type (IPV4 or IPV6) and the IP address range (in CIDR notation) + // that web requests originate from. + // + // IPSetDescriptor is a required field + IPSetDescriptor *IPSetDescriptor `type:"structure" required:"true"` +} + +// String returns the string representation +func (s IPSetUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IPSetUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IPSetUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IPSetUpdate"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) + } + if s.IPSetDescriptor == nil { + invalidParams.Add(request.NewErrParamRequired("IPSetDescriptor")) + } + if s.IPSetDescriptor != nil { + if err := s.IPSetDescriptor.Validate(); err != nil { + invalidParams.AddNested("IPSetDescriptor", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type ListByteMatchSetsInput struct { + _ struct{} `type:"structure"` + + // Specifies the number of ByteMatchSet objects that you want AWS WAF to return + // for this request. If you have more ByteMatchSets objects than the number + // you specify for Limit, the response includes a NextMarker value that you + // can use to get another batch of ByteMatchSet objects. + Limit *int64 `type:"integer"` + + // If you specify a value for Limit and you have more ByteMatchSets than the + // value of Limit, AWS WAF returns a NextMarker value in the response that allows + // you to list another group of ByteMatchSets. For the second and subsequent + // ListByteMatchSets requests, specify the value of NextMarker from the previous + // response to get information about another batch of ByteMatchSets. + NextMarker *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListByteMatchSetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListByteMatchSetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListByteMatchSetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListByteMatchSetsInput"} + if s.NextMarker != nil && len(*s.NextMarker) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type ListByteMatchSetsOutput struct { + _ struct{} `type:"structure"` + + // An array of ByteMatchSetSummary objects. + ByteMatchSets []*ByteMatchSetSummary `type:"list"` + + // If you have more ByteMatchSet objects than the number that you specified + // for Limit in the request, the response includes a NextMarker value. To list + // more ByteMatchSet objects, submit another ListByteMatchSets request, and + // specify the NextMarker value from the response in the NextMarker value in + // the next request. + NextMarker *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListByteMatchSetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListByteMatchSetsOutput) GoString() string { + return s.String() +} + +type ListIPSetsInput struct { + _ struct{} `type:"structure"` + + // Specifies the number of IPSet objects that you want AWS WAF to return for + // this request. If you have more IPSet objects than the number you specify + // for Limit, the response includes a NextMarker value that you can use to get + // another batch of IPSet objects. + Limit *int64 `type:"integer"` + + // If you specify a value for Limit and you have more IPSets than the value + // of Limit, AWS WAF returns a NextMarker value in the response that allows + // you to list another group of IPSets. For the second and subsequent ListIPSets + // requests, specify the value of NextMarker from the previous response to get + // information about another batch of ByteMatchSets. + NextMarker *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListIPSetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListIPSetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListIPSetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListIPSetsInput"} + if s.NextMarker != nil && len(*s.NextMarker) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type ListIPSetsOutput struct { + _ struct{} `type:"structure"` + + // An array of IPSetSummary objects. + IPSets []*IPSetSummary `type:"list"` + + // If you have more IPSet objects than the number that you specified for Limit + // in the request, the response includes a NextMarker value. To list more IPSet + // objects, submit another ListIPSets request, and specify the NextMarker value + // from the response in the NextMarker value in the next request. + NextMarker *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListIPSetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListIPSetsOutput) GoString() string { + return s.String() +} + +type ListRulesInput struct { + _ struct{} `type:"structure"` + + // Specifies the number of Rules that you want AWS WAF to return for this request. + // If you have more Rules than the number that you specify for Limit, the response + // includes a NextMarker value that you can use to get another batch of Rules. + Limit *int64 `type:"integer"` + + // If you specify a value for Limit and you have more Rules than the value of + // Limit, AWS WAF returns a NextMarker value in the response that allows you + // to list another group of Rules. For the second and subsequent ListRules requests, + // specify the value of NextMarker from the previous response to get information + // about another batch of Rules. + NextMarker *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListRulesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListRulesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListRulesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListRulesInput"} + if s.NextMarker != nil && len(*s.NextMarker) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type ListRulesOutput struct { + _ struct{} `type:"structure"` + + // If you have more Rules than the number that you specified for Limit in the + // request, the response includes a NextMarker value. To list more Rules, submit + // another ListRules request, and specify the NextMarker value from the response + // in the NextMarker value in the next request. + NextMarker *string `min:"1" type:"string"` + + // An array of RuleSummary objects. + Rules []*RuleSummary `type:"list"` +} + +// String returns the string representation +func (s ListRulesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListRulesOutput) GoString() string { + return s.String() +} + +type ListSizeConstraintSetsInput struct { + _ struct{} `type:"structure"` + + // Specifies the number of SizeConstraintSet objects that you want AWS WAF to + // return for this request. If you have more SizeConstraintSets objects than + // the number you specify for Limit, the response includes a NextMarker value + // that you can use to get another batch of SizeConstraintSet objects. + Limit *int64 `type:"integer"` + + // If you specify a value for Limit and you have more SizeConstraintSets than + // the value of Limit, AWS WAF returns a NextMarker value in the response that + // allows you to list another group of SizeConstraintSets. For the second and + // subsequent ListSizeConstraintSets requests, specify the value of NextMarker + // from the previous response to get information about another batch of SizeConstraintSets. + NextMarker *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListSizeConstraintSetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSizeConstraintSetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListSizeConstraintSetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListSizeConstraintSetsInput"} + if s.NextMarker != nil && len(*s.NextMarker) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type ListSizeConstraintSetsOutput struct { + _ struct{} `type:"structure"` + + // If you have more SizeConstraintSet objects than the number that you specified + // for Limit in the request, the response includes a NextMarker value. To list + // more SizeConstraintSet objects, submit another ListSizeConstraintSets request, + // and specify the NextMarker value from the response in the NextMarker value + // in the next request. + NextMarker *string `min:"1" type:"string"` + + // An array of SizeConstraintSetSummary objects. + SizeConstraintSets []*SizeConstraintSetSummary `type:"list"` +} + +// String returns the string representation +func (s ListSizeConstraintSetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSizeConstraintSetsOutput) GoString() string { + return s.String() +} + +// A request to list the SqlInjectionMatchSet objects created by the current +// AWS account. +type ListSqlInjectionMatchSetsInput struct { + _ struct{} `type:"structure"` + + // Specifies the number of SqlInjectionMatchSet objects that you want AWS WAF + // to return for this request. If you have more SqlInjectionMatchSet objects + // than the number you specify for Limit, the response includes a NextMarker + // value that you can use to get another batch of Rules. + Limit *int64 `type:"integer"` + + // If you specify a value for Limit and you have more SqlInjectionMatchSet objects + // than the value of Limit, AWS WAF returns a NextMarker value in the response + // that allows you to list another group of SqlInjectionMatchSets. For the second + // and subsequent ListSqlInjectionMatchSets requests, specify the value of NextMarker + // from the previous response to get information about another batch of SqlInjectionMatchSets. + NextMarker *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListSqlInjectionMatchSetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSqlInjectionMatchSetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListSqlInjectionMatchSetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListSqlInjectionMatchSetsInput"} + if s.NextMarker != nil && len(*s.NextMarker) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The response to a ListSqlInjectionMatchSets request. +type ListSqlInjectionMatchSetsOutput struct { + _ struct{} `type:"structure"` + + // If you have more SqlInjectionMatchSet objects than the number that you specified + // for Limit in the request, the response includes a NextMarker value. To list + // more SqlInjectionMatchSet objects, submit another ListSqlInjectionMatchSets + // request, and specify the NextMarker value from the response in the NextMarker + // value in the next request. + NextMarker *string `min:"1" type:"string"` + + // An array of SqlInjectionMatchSetSummary objects. + SqlInjectionMatchSets []*SqlInjectionMatchSetSummary `type:"list"` +} + +// String returns the string representation +func (s ListSqlInjectionMatchSetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSqlInjectionMatchSetsOutput) GoString() string { + return s.String() +} + +type ListWebACLsInput struct { + _ struct{} `type:"structure"` + + // Specifies the number of WebACL objects that you want AWS WAF to return for + // this request. If you have more WebACL objects than the number that you specify + // for Limit, the response includes a NextMarker value that you can use to get + // another batch of WebACL objects. + Limit *int64 `type:"integer"` + + // If you specify a value for Limit and you have more WebACL objects than the + // number that you specify for Limit, AWS WAF returns a NextMarker value in + // the response that allows you to list another group of WebACL objects. For + // the second and subsequent ListWebACLs requests, specify the value of NextMarker + // from the previous response to get information about another batch of WebACL + // objects. + NextMarker *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListWebACLsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListWebACLsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListWebACLsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListWebACLsInput"} + if s.NextMarker != nil && len(*s.NextMarker) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type ListWebACLsOutput struct { + _ struct{} `type:"structure"` + + // If you have more WebACL objects than the number that you specified for Limit + // in the request, the response includes a NextMarker value. To list more WebACL + // objects, submit another ListWebACLs request, and specify the NextMarker value + // from the response in the NextMarker value in the next request. + NextMarker *string `min:"1" type:"string"` + + // An array of WebACLSummary objects. + WebACLs []*WebACLSummary `type:"list"` +} + +// String returns the string representation +func (s ListWebACLsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListWebACLsOutput) GoString() string { + return s.String() +} + +// A request to list the XssMatchSet objects created by the current AWS account. +type ListXssMatchSetsInput struct { + _ struct{} `type:"structure"` + + // Specifies the number of XssMatchSet objects that you want AWS WAF to return + // for this request. If you have more XssMatchSet objects than the number you + // specify for Limit, the response includes a NextMarker value that you can + // use to get another batch of Rules. + Limit *int64 `type:"integer"` + + // If you specify a value for Limit and you have more XssMatchSet objects than + // the value of Limit, AWS WAF returns a NextMarker value in the response that + // allows you to list another group of XssMatchSets. For the second and subsequent + // ListXssMatchSets requests, specify the value of NextMarker from the previous + // response to get information about another batch of XssMatchSets. + NextMarker *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListXssMatchSetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListXssMatchSetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListXssMatchSetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListXssMatchSetsInput"} + if s.NextMarker != nil && len(*s.NextMarker) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The response to a ListXssMatchSets request. +type ListXssMatchSetsOutput struct { + _ struct{} `type:"structure"` + + // If you have more XssMatchSet objects than the number that you specified for + // Limit in the request, the response includes a NextMarker value. To list more + // XssMatchSet objects, submit another ListXssMatchSets request, and specify + // the NextMarker value from the response in the NextMarker value in the next + // request. + NextMarker *string `min:"1" type:"string"` + + // An array of XssMatchSetSummary objects. + XssMatchSets []*XssMatchSetSummary `type:"list"` +} + +// String returns the string representation +func (s ListXssMatchSetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListXssMatchSetsOutput) GoString() string { + return s.String() +} + +// Specifies the ByteMatchSet, IPSet, SqlInjectionMatchSet, XssMatchSet, and +// SizeConstraintSet objects that you want to add to a Rule and, for each object, +// indicates whether you want to negate the settings, for example, requests +// that do NOT originate from the IP address 192.0.2.44. +type Predicate struct { + _ struct{} `type:"structure"` + + // A unique identifier for a predicate in a Rule, such as ByteMatchSetId or + // IPSetId. The ID is returned by the corresponding Create or List command. + // + // DataId is a required field + DataId *string `min:"1" type:"string" required:"true"` + + // Set Negated to False if you want AWS WAF to allow, block, or count requests + // based on the settings in the specified ByteMatchSet, IPSet, SqlInjectionMatchSet, + // XssMatchSet, or SizeConstraintSet. For example, if an IPSet includes the + // IP address 192.0.2.44, AWS WAF will allow or block requests based on that + // IP address. + // + // Set Negated to True if you want AWS WAF to allow or block a request based + // on the negation of the settings in the ByteMatchSet, IPSet, SqlInjectionMatchSet, + // XssMatchSet, or SizeConstraintSet. For example, if an IPSet includes the + // IP address 192.0.2.44, AWS WAF will allow, block, or count requests based + // on all IP addresses except 192.0.2.44. + // + // Negated is a required field + Negated *bool `type:"boolean" required:"true"` + + // The type of predicate in a Rule, such as ByteMatchSet or IPSet. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"PredicateType"` +} + +// String returns the string representation +func (s Predicate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Predicate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Predicate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Predicate"} + if s.DataId == nil { + invalidParams.Add(request.NewErrParamRequired("DataId")) + } + if s.DataId != nil && len(*s.DataId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataId", 1)) + } + if s.Negated == nil { + invalidParams.Add(request.NewErrParamRequired("Negated")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// A combination of ByteMatchSet, IPSet, and/or SqlInjectionMatchSet objects +// that identify the web requests that you want to allow, block, or count. For +// example, you might create a Rule that includes the following predicates: +// +// An IPSet that causes AWS WAF to search for web requests that originate +// from the IP address 192.0.2.44 +// +// A ByteMatchSet that causes AWS WAF to search for web requests for which +// the value of the User-Agent header is BadBot. +// +// To match the settings in this Rule, a request must originate from 192.0.2.44 +// AND include a User-Agent header for which the value is BadBot. +type Rule struct { + _ struct{} `type:"structure"` + + MetricName *string `type:"string"` + + // The friendly name or description for the Rule. You can't change the name + // of a Rule after you create it. + Name *string `min:"1" type:"string"` + + // The Predicates object contains one Predicate element for each ByteMatchSet, + // IPSet, or SqlInjectionMatchSet object that you want to include in a Rule. + // + // Predicates is a required field + Predicates []*Predicate `type:"list" required:"true"` + + // A unique identifier for a Rule. You use RuleId to get more information about + // a Rule (see GetRule), update a Rule (see UpdateRule), insert a Rule into + // a WebACL or delete a one from a WebACL (see UpdateWebACL), or delete a Rule + // from AWS WAF (see DeleteRule). + // + // RuleId is returned by CreateRule and by ListRules. + // + // RuleId is a required field + RuleId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s Rule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Rule) GoString() string { + return s.String() +} + +// Contains the identifier and the friendly name or description of the Rule. +type RuleSummary struct { + _ struct{} `type:"structure"` + + // A friendly name or description of the Rule. You can't change the name of + // a Rule after you create it. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A unique identifier for a Rule. You use RuleId to get more information about + // a Rule (see GetRule), update a Rule (see UpdateRule), insert a Rule into + // a WebACL or delete one from a WebACL (see UpdateWebACL), or delete a Rule + // from AWS WAF (see DeleteRule). + // + // RuleId is returned by CreateRule and by ListRules. + // + // RuleId is a required field + RuleId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s RuleSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RuleSummary) GoString() string { + return s.String() +} + +// Specifies a Predicate (such as an IPSet) and indicates whether you want to +// add it to a Rule or delete it from a Rule. +type RuleUpdate struct { + _ struct{} `type:"structure"` + + // Specify INSERT to add a Predicate to a Rule. Use DELETE to remove a Predicate + // from a Rule. + // + // Action is a required field + Action *string `type:"string" required:"true" enum:"ChangeAction"` + + // The ID of the Predicate (such as an IPSet) that you want to add to a Rule. + // + // Predicate is a required field + Predicate *Predicate `type:"structure" required:"true"` +} + +// String returns the string representation +func (s RuleUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RuleUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RuleUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RuleUpdate"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) + } + if s.Predicate == nil { + invalidParams.Add(request.NewErrParamRequired("Predicate")) + } + if s.Predicate != nil { + if err := s.Predicate.Validate(); err != nil { + invalidParams.AddNested("Predicate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The response from a GetSampledRequests request includes a SampledHTTPRequests +// complex type that appears as SampledRequests in the response syntax. SampledHTTPRequests +// contains one SampledHTTPRequest object for each web request that is returned +// by GetSampledRequests. +type SampledHTTPRequest struct { + _ struct{} `type:"structure"` + + // The action for the Rule that the request matched: ALLOW, BLOCK, or COUNT. + Action *string `type:"string"` + + // A complex type that contains detailed information about the request. + // + // Request is a required field + Request *HTTPRequest `type:"structure" required:"true"` + + // The time at which AWS WAF received the request from your AWS resource, in + // Unix time format (in seconds). + Timestamp *time.Time `type:"timestamp" timestampFormat:"unix"` + + // A value that indicates how one result in the response relates proportionally + // to other results in the response. A result that has a weight of 2 represents + // roughly twice as many CloudFront web requests as a result that has a weight + // of 1. + // + // Weight is a required field + Weight *int64 `type:"long" required:"true"` +} + +// String returns the string representation +func (s SampledHTTPRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SampledHTTPRequest) GoString() string { + return s.String() +} + +// Specifies a constraint on the size of a part of the web request. AWS WAF +// uses the Size, ComparisonOperator, and FieldToMatch to build an expression +// in the form of "Size ComparisonOperator size in bytes of FieldToMatch". If +// that expression is true, the SizeConstraint is considered to match. +type SizeConstraint struct { + _ struct{} `type:"structure"` + + // The type of comparison you want AWS WAF to perform. AWS WAF uses this in + // combination with the provided Size and FieldToMatch to build an expression + // in the form of "Size ComparisonOperator size in bytes of FieldToMatch". If + // that expression is true, the SizeConstraint is considered to match. + // + // EQ: Used to test if the Size is equal to the size of the FieldToMatch + // + // NE: Used to test if the Size is not equal to the size of the FieldToMatch + // + // LE: Used to test if the Size is less than or equal to the size of the FieldToMatch + // + // LT: Used to test if the Size is strictly less than the size of the FieldToMatch + // + // GE: Used to test if the Size is greater than or equal to the size of the + // FieldToMatch + // + // GT: Used to test if the Size is strictly greater than the size of the FieldToMatch + // + // ComparisonOperator is a required field + ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperator"` + + // Specifies where in a web request to look for TargetString. + // + // FieldToMatch is a required field + FieldToMatch *FieldToMatch `type:"structure" required:"true"` + + // The size in bytes that you want AWS WAF to compare against the size of the + // specified FieldToMatch. AWS WAF uses this in combination with ComparisonOperator + // and FieldToMatch to build an expression in the form of "Size ComparisonOperator + // size in bytes of FieldToMatch". If that expression is true, the SizeConstraint + // is considered to match. + // + // Valid values for size are 0 - 21474836480 bytes (0 - 20 GB). + // + // If you specify URI for the value of Type, the / in the URI counts as one + // character. For example, the URI /logo.jpg is nine characters long. + // + // Size is a required field + Size *int64 `type:"long" required:"true"` + + // Text transformations eliminate some of the unusual formatting that attackers + // use in web requests in an effort to bypass AWS WAF. If you specify a transformation, + // AWS WAF performs the transformation on FieldToMatch before inspecting a request + // for a match. + // + // Note that if you choose BODY for the value of Type, you must choose NONE + // for TextTransformation because CloudFront forwards only the first 8192 bytes + // for inspection. + // + // NONE + // + // Specify NONE if you don't want to perform any text transformations. + // + // CMD_LINE + // + // When you're concerned that attackers are injecting an operating system command + // line command and using unusual formatting to disguise some or all of the + // command, use this option to perform the following transformations: + // + // Delete the following characters: \ " ' ^ + // + // Delete spaces before the following characters: / ( + // + // Replace the following characters with a space: , ; + // + // Replace multiple spaces with one space + // + // Convert uppercase letters (A-Z) to lowercase (a-z) + // + // COMPRESS_WHITE_SPACE + // + // Use this option to replace the following characters with a space character + // (decimal 32): + // + // \f, formfeed, decimal 12 + // + // \t, tab, decimal 9 + // + // \n, newline, decimal 10 + // + // \r, carriage return, decimal 13 + // + // \v, vertical tab, decimal 11 + // + // non-breaking space, decimal 160 + // + // COMPRESS_WHITE_SPACE also replaces multiple spaces with one space. + // + // HTML_ENTITY_DECODE + // + // Use this option to replace HTML-encoded characters with unencoded characters. + // HTML_ENTITY_DECODE performs the following operations: + // + // Replaces (ampersand)quot; with " + // + // Replaces (ampersand)nbsp; with a non-breaking space, decimal 160 + // + // Replaces (ampersand)lt; with a "less than" symbol + // + // Replaces (ampersand)gt; with > + // + // Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, + // with the corresponding characters + // + // Replaces characters that are represented in decimal format, (ampersand)#nnnn;, + // with the corresponding characters + // + // LOWERCASE + // + // Use this option to convert uppercase letters (A-Z) to lowercase (a-z). + // + // URL_DECODE + // + // Use this option to decode a URL-encoded value. + // + // TextTransformation is a required field + TextTransformation *string `type:"string" required:"true" enum:"TextTransformation"` +} + +// String returns the string representation +func (s SizeConstraint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SizeConstraint) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SizeConstraint) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SizeConstraint"} + if s.ComparisonOperator == nil { + invalidParams.Add(request.NewErrParamRequired("ComparisonOperator")) + } + if s.FieldToMatch == nil { + invalidParams.Add(request.NewErrParamRequired("FieldToMatch")) + } + if s.Size == nil { + invalidParams.Add(request.NewErrParamRequired("Size")) + } + if s.TextTransformation == nil { + invalidParams.Add(request.NewErrParamRequired("TextTransformation")) + } + if s.FieldToMatch != nil { + if err := s.FieldToMatch.Validate(); err != nil { + invalidParams.AddNested("FieldToMatch", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// A complex type that contains SizeConstraint objects, which specify the parts +// of web requests that you want AWS WAF to inspect the size of. If a SizeConstraintSet +// contains more than one SizeConstraint object, a request only needs to match +// one constraint to be considered a match. +type SizeConstraintSet struct { + _ struct{} `type:"structure"` + + // The name, if any, of the SizeConstraintSet. + Name *string `min:"1" type:"string"` + + // A unique identifier for a SizeConstraintSet. You use SizeConstraintSetId + // to get information about a SizeConstraintSet (see GetSizeConstraintSet), + // update a SizeConstraintSet (see UpdateSizeConstraintSet), insert a SizeConstraintSet + // into a Rule or delete one from a Rule (see UpdateRule), and delete a SizeConstraintSet + // from AWS WAF (see DeleteSizeConstraintSet). + // + // SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets. + // + // SizeConstraintSetId is a required field + SizeConstraintSetId *string `min:"1" type:"string" required:"true"` + + // Specifies the parts of web requests that you want to inspect the size of. + // + // SizeConstraints is a required field + SizeConstraints []*SizeConstraint `type:"list" required:"true"` +} + +// String returns the string representation +func (s SizeConstraintSet) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SizeConstraintSet) GoString() string { + return s.String() +} + +// The Id and Name of a SizeConstraintSet. +type SizeConstraintSetSummary struct { + _ struct{} `type:"structure"` + + // The name of the SizeConstraintSet, if any. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A unique identifier for a SizeConstraintSet. You use SizeConstraintSetId + // to get information about a SizeConstraintSet (see GetSizeConstraintSet), + // update a SizeConstraintSet (see UpdateSizeConstraintSet), insert a SizeConstraintSet + // into a Rule or delete one from a Rule (see UpdateRule), and delete a SizeConstraintSet + // from AWS WAF (see DeleteSizeConstraintSet). + // + // SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets. + // + // SizeConstraintSetId is a required field + SizeConstraintSetId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s SizeConstraintSetSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SizeConstraintSetSummary) GoString() string { + return s.String() +} + +// Specifies the part of a web request that you want to inspect the size of +// and indicates whether you want to add the specification to a SizeConstraintSet +// or delete it from a SizeConstraintSet. +type SizeConstraintSetUpdate struct { + _ struct{} `type:"structure"` + + // Specify INSERT to add a SizeConstraintSetUpdate to a SizeConstraintSet. Use + // DELETE to remove a SizeConstraintSetUpdate from a SizeConstraintSet. + // + // Action is a required field + Action *string `type:"string" required:"true" enum:"ChangeAction"` + + // Specifies a constraint on the size of a part of the web request. AWS WAF + // uses the Size, ComparisonOperator, and FieldToMatch to build an expression + // in the form of "Size ComparisonOperator size in bytes of FieldToMatch". If + // that expression is true, the SizeConstraint is considered to match. + // + // SizeConstraint is a required field + SizeConstraint *SizeConstraint `type:"structure" required:"true"` +} + +// String returns the string representation +func (s SizeConstraintSetUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SizeConstraintSetUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SizeConstraintSetUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SizeConstraintSetUpdate"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) + } + if s.SizeConstraint == nil { + invalidParams.Add(request.NewErrParamRequired("SizeConstraint")) + } + if s.SizeConstraint != nil { + if err := s.SizeConstraint.Validate(); err != nil { + invalidParams.AddNested("SizeConstraint", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// A complex type that contains SqlInjectionMatchTuple objects, which specify +// the parts of web requests that you want AWS WAF to inspect for snippets of +// malicious SQL code and, if you want AWS WAF to inspect a header, the name +// of the header. If a SqlInjectionMatchSet contains more than one SqlInjectionMatchTuple +// object, a request needs to include snippets of SQL code in only one of the +// specified parts of the request to be considered a match. +type SqlInjectionMatchSet struct { + _ struct{} `type:"structure"` + + // The name, if any, of the SqlInjectionMatchSet. + Name *string `min:"1" type:"string"` + + // A unique identifier for a SqlInjectionMatchSet. You use SqlInjectionMatchSetId + // to get information about a SqlInjectionMatchSet (see GetSqlInjectionMatchSet), + // update a SqlInjectionMatchSet (see UpdateSqlInjectionMatchSet), insert a + // SqlInjectionMatchSet into a Rule or delete one from a Rule (see UpdateRule), + // and delete a SqlInjectionMatchSet from AWS WAF (see DeleteSqlInjectionMatchSet). + // + // SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by + // ListSqlInjectionMatchSets. + // + // SqlInjectionMatchSetId is a required field + SqlInjectionMatchSetId *string `min:"1" type:"string" required:"true"` + + // Specifies the parts of web requests that you want to inspect for snippets + // of malicious SQL code. + // + // SqlInjectionMatchTuples is a required field + SqlInjectionMatchTuples []*SqlInjectionMatchTuple `type:"list" required:"true"` +} + +// String returns the string representation +func (s SqlInjectionMatchSet) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SqlInjectionMatchSet) GoString() string { + return s.String() +} + +// The Id and Name of a SqlInjectionMatchSet. +type SqlInjectionMatchSetSummary struct { + _ struct{} `type:"structure"` + + // The name of the SqlInjectionMatchSet, if any, specified by Id. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A unique identifier for a SqlInjectionMatchSet. You use SqlInjectionMatchSetId + // to get information about a SqlInjectionMatchSet (see GetSqlInjectionMatchSet), + // update a SqlInjectionMatchSet (see UpdateSqlInjectionMatchSet), insert a + // SqlInjectionMatchSet into a Rule or delete one from a Rule (see UpdateRule), + // and delete a SqlInjectionMatchSet from AWS WAF (see DeleteSqlInjectionMatchSet). + // + // SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by + // ListSqlInjectionMatchSets. + // + // SqlInjectionMatchSetId is a required field + SqlInjectionMatchSetId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s SqlInjectionMatchSetSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SqlInjectionMatchSetSummary) GoString() string { + return s.String() +} + +// Specifies the part of a web request that you want to inspect for snippets +// of malicious SQL code and indicates whether you want to add the specification +// to a SqlInjectionMatchSet or delete it from a SqlInjectionMatchSet. +type SqlInjectionMatchSetUpdate struct { + _ struct{} `type:"structure"` + + // Specify INSERT to add a SqlInjectionMatchSetUpdate to a SqlInjectionMatchSet. + // Use DELETE to remove a SqlInjectionMatchSetUpdate from a SqlInjectionMatchSet. + // + // Action is a required field + Action *string `type:"string" required:"true" enum:"ChangeAction"` + + // Specifies the part of a web request that you want AWS WAF to inspect for + // snippets of malicious SQL code and, if you want AWS WAF to inspect a header, + // the name of the header. + // + // SqlInjectionMatchTuple is a required field + SqlInjectionMatchTuple *SqlInjectionMatchTuple `type:"structure" required:"true"` +} + +// String returns the string representation +func (s SqlInjectionMatchSetUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SqlInjectionMatchSetUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SqlInjectionMatchSetUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SqlInjectionMatchSetUpdate"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) + } + if s.SqlInjectionMatchTuple == nil { + invalidParams.Add(request.NewErrParamRequired("SqlInjectionMatchTuple")) + } + if s.SqlInjectionMatchTuple != nil { + if err := s.SqlInjectionMatchTuple.Validate(); err != nil { + invalidParams.AddNested("SqlInjectionMatchTuple", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Specifies the part of a web request that you want AWS WAF to inspect for +// snippets of malicious SQL code and, if you want AWS WAF to inspect a header, +// the name of the header. +type SqlInjectionMatchTuple struct { + _ struct{} `type:"structure"` + + // Specifies where in a web request to look for TargetString. + // + // FieldToMatch is a required field + FieldToMatch *FieldToMatch `type:"structure" required:"true"` + + // Text transformations eliminate some of the unusual formatting that attackers + // use in web requests in an effort to bypass AWS WAF. If you specify a transformation, + // AWS WAF performs the transformation on FieldToMatch before inspecting a request + // for a match. + // + // CMD_LINE + // + // When you're concerned that attackers are injecting an operating system commandline + // command and using unusual formatting to disguise some or all of the command, + // use this option to perform the following transformations: + // + // Delete the following characters: \ " ' ^ + // + // Delete spaces before the following characters: / ( + // + // Replace the following characters with a space: , ; + // + // Replace multiple spaces with one space + // + // Convert uppercase letters (A-Z) to lowercase (a-z) + // + // COMPRESS_WHITE_SPACE + // + // Use this option to replace the following characters with a space character + // (decimal 32): + // + // \f, formfeed, decimal 12 + // + // \t, tab, decimal 9 + // + // \n, newline, decimal 10 + // + // \r, carriage return, decimal 13 + // + // \v, vertical tab, decimal 11 + // + // non-breaking space, decimal 160 + // + // COMPRESS_WHITE_SPACE also replaces multiple spaces with one space. + // + // HTML_ENTITY_DECODE + // + // Use this option to replace HTML-encoded characters with unencoded characters. + // HTML_ENTITY_DECODE performs the following operations: + // + // Replaces (ampersand)quot; with " + // + // Replaces (ampersand)nbsp; with a non-breaking space, decimal 160 + // + // Replaces (ampersand)lt; with a "less than" symbol + // + // Replaces (ampersand)gt; with > + // + // Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, + // with the corresponding characters + // + // Replaces characters that are represented in decimal format, (ampersand)#nnnn;, + // with the corresponding characters + // + // LOWERCASE + // + // Use this option to convert uppercase letters (A-Z) to lowercase (a-z). + // + // URL_DECODE + // + // Use this option to decode a URL-encoded value. + // + // NONE + // + // Specify NONE if you don't want to perform any text transformations. + // + // TextTransformation is a required field + TextTransformation *string `type:"string" required:"true" enum:"TextTransformation"` +} + +// String returns the string representation +func (s SqlInjectionMatchTuple) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SqlInjectionMatchTuple) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SqlInjectionMatchTuple) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SqlInjectionMatchTuple"} + if s.FieldToMatch == nil { + invalidParams.Add(request.NewErrParamRequired("FieldToMatch")) + } + if s.TextTransformation == nil { + invalidParams.Add(request.NewErrParamRequired("TextTransformation")) + } + if s.FieldToMatch != nil { + if err := s.FieldToMatch.Validate(); err != nil { + invalidParams.AddNested("FieldToMatch", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// In a GetSampledRequests request, the StartTime and EndTime objects specify +// the time range for which you want AWS WAF to return a sample of web requests. +// +// In a GetSampledRequests response, the StartTime and EndTime objects specify +// the time range for which AWS WAF actually returned a sample of web requests. +// AWS WAF gets the specified number of requests from among the first 5,000 +// requests that your AWS resource receives during the specified time period. +// If your resource receives more than 5,000 requests during that period, AWS +// WAF stops sampling after the 5,000th request. In that case, EndTime is the +// time that AWS WAF received the 5,000th request. +type TimeWindow struct { + _ struct{} `type:"structure"` + + // The end of the time range from which you want GetSampledRequests to return + // a sample of the requests that your AWS resource received. You can specify + // any time range in the previous three hours. + // + // EndTime is a required field + EndTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"` + + // The beginning of the time range from which you want GetSampledRequests to + // return a sample of the requests that your AWS resource received. You can + // specify any time range in the previous three hours. + // + // StartTime is a required field + StartTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"` +} + +// String returns the string representation +func (s TimeWindow) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TimeWindow) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TimeWindow) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TimeWindow"} + if s.EndTime == nil { + invalidParams.Add(request.NewErrParamRequired("EndTime")) + } + if s.StartTime == nil { + invalidParams.Add(request.NewErrParamRequired("StartTime")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type UpdateByteMatchSetInput struct { + _ struct{} `type:"structure"` + + // The ByteMatchSetId of the ByteMatchSet that you want to update. ByteMatchSetId + // is returned by CreateByteMatchSet and by ListByteMatchSets. + // + // ByteMatchSetId is a required field + ByteMatchSetId *string `min:"1" type:"string" required:"true"` + + // The value returned by the most recent call to GetChangeToken. + // + // ChangeToken is a required field + ChangeToken *string `min:"1" type:"string" required:"true"` + + // An array of ByteMatchSetUpdate objects that you want to insert into or delete + // from a ByteMatchSet. For more information, see the applicable data types: + // + // ByteMatchSetUpdate: Contains Action and ByteMatchTuple + // + // ByteMatchTuple: Contains FieldToMatch, PositionalConstraint, TargetString, + // and TextTransformation + // + // FieldToMatch: Contains Data and Type + // + // Updates is a required field + Updates []*ByteMatchSetUpdate `type:"list" required:"true"` +} + +// String returns the string representation +func (s UpdateByteMatchSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateByteMatchSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateByteMatchSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateByteMatchSetInput"} + if s.ByteMatchSetId == nil { + invalidParams.Add(request.NewErrParamRequired("ByteMatchSetId")) + } + if s.ByteMatchSetId != nil && len(*s.ByteMatchSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ByteMatchSetId", 1)) + } + if s.ChangeToken == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeToken")) + } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } + if s.Updates == nil { + invalidParams.Add(request.NewErrParamRequired("Updates")) + } + if s.Updates != nil { + for i, v := range s.Updates { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Updates", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type UpdateByteMatchSetOutput struct { + _ struct{} `type:"structure"` + + // The ChangeToken that you used to submit the UpdateByteMatchSet request. You + // can also use this value to query the status of the request. For more information, + // see GetChangeTokenStatus. + ChangeToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateByteMatchSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateByteMatchSetOutput) GoString() string { + return s.String() +} + +type UpdateIPSetInput struct { + _ struct{} `type:"structure"` + + // The value returned by the most recent call to GetChangeToken. + // + // ChangeToken is a required field + ChangeToken *string `min:"1" type:"string" required:"true"` + + // The IPSetId of the IPSet that you want to update. IPSetId is returned by + // CreateIPSet and by ListIPSets. + // + // IPSetId is a required field + IPSetId *string `min:"1" type:"string" required:"true"` + + // An array of IPSetUpdate objects that you want to insert into or delete from + // an IPSet. For more information, see the applicable data types: + // + // IPSetUpdate: Contains Action and IPSetDescriptor + // + // IPSetDescriptor: Contains Type and Value + // + // Updates is a required field + Updates []*IPSetUpdate `type:"list" required:"true"` +} + +// String returns the string representation +func (s UpdateIPSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateIPSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateIPSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateIPSetInput"} + if s.ChangeToken == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeToken")) + } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } + if s.IPSetId == nil { + invalidParams.Add(request.NewErrParamRequired("IPSetId")) + } + if s.IPSetId != nil && len(*s.IPSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IPSetId", 1)) + } + if s.Updates == nil { + invalidParams.Add(request.NewErrParamRequired("Updates")) + } + if s.Updates != nil { + for i, v := range s.Updates { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Updates", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type UpdateIPSetOutput struct { + _ struct{} `type:"structure"` + + // The ChangeToken that you used to submit the UpdateIPSet request. You can + // also use this value to query the status of the request. For more information, + // see GetChangeTokenStatus. + ChangeToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateIPSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateIPSetOutput) GoString() string { + return s.String() +} + +type UpdateRuleInput struct { + _ struct{} `type:"structure"` + + // The value returned by the most recent call to GetChangeToken. + // + // ChangeToken is a required field + ChangeToken *string `min:"1" type:"string" required:"true"` + + // The RuleId of the Rule that you want to update. RuleId is returned by CreateRule + // and by ListRules. + // + // RuleId is a required field + RuleId *string `min:"1" type:"string" required:"true"` + + // An array of RuleUpdate objects that you want to insert into or delete from + // a Rule. For more information, see the applicable data types: + // + // RuleUpdate: Contains Action and Predicate + // + // Predicate: Contains DataId, Negated, and Type + // + // FieldToMatch: Contains Data and Type + // + // Updates is a required field + Updates []*RuleUpdate `type:"list" required:"true"` +} + +// String returns the string representation +func (s UpdateRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateRuleInput"} + if s.ChangeToken == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeToken")) + } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } + if s.RuleId == nil { + invalidParams.Add(request.NewErrParamRequired("RuleId")) + } + if s.RuleId != nil && len(*s.RuleId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleId", 1)) + } + if s.Updates == nil { + invalidParams.Add(request.NewErrParamRequired("Updates")) + } + if s.Updates != nil { + for i, v := range s.Updates { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Updates", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type UpdateRuleOutput struct { + _ struct{} `type:"structure"` + + // The ChangeToken that you used to submit the UpdateRule request. You can also + // use this value to query the status of the request. For more information, + // see GetChangeTokenStatus. + ChangeToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateRuleOutput) GoString() string { + return s.String() +} + +type UpdateSizeConstraintSetInput struct { + _ struct{} `type:"structure"` + + // The value returned by the most recent call to GetChangeToken. + // + // ChangeToken is a required field + ChangeToken *string `min:"1" type:"string" required:"true"` + + // The SizeConstraintSetId of the SizeConstraintSet that you want to update. + // SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets. + // + // SizeConstraintSetId is a required field + SizeConstraintSetId *string `min:"1" type:"string" required:"true"` + + // An array of SizeConstraintSetUpdate objects that you want to insert into + // or delete from a SizeConstraintSet. For more information, see the applicable + // data types: + // + // SizeConstraintSetUpdate: Contains Action and SizeConstraint + // + // SizeConstraint: Contains FieldToMatch, TextTransformation, ComparisonOperator, + // and Size + // + // FieldToMatch: Contains Data and Type + // + // Updates is a required field + Updates []*SizeConstraintSetUpdate `type:"list" required:"true"` +} + +// String returns the string representation +func (s UpdateSizeConstraintSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateSizeConstraintSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateSizeConstraintSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateSizeConstraintSetInput"} + if s.ChangeToken == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeToken")) + } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } + if s.SizeConstraintSetId == nil { + invalidParams.Add(request.NewErrParamRequired("SizeConstraintSetId")) + } + if s.SizeConstraintSetId != nil && len(*s.SizeConstraintSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SizeConstraintSetId", 1)) + } + if s.Updates == nil { + invalidParams.Add(request.NewErrParamRequired("Updates")) + } + if s.Updates != nil { + for i, v := range s.Updates { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Updates", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type UpdateSizeConstraintSetOutput struct { + _ struct{} `type:"structure"` + + // The ChangeToken that you used to submit the UpdateSizeConstraintSet request. + // You can also use this value to query the status of the request. For more + // information, see GetChangeTokenStatus. + ChangeToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateSizeConstraintSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateSizeConstraintSetOutput) GoString() string { + return s.String() +} + +// A request to update a SqlInjectionMatchSet. +type UpdateSqlInjectionMatchSetInput struct { + _ struct{} `type:"structure"` + + // The value returned by the most recent call to GetChangeToken. + // + // ChangeToken is a required field + ChangeToken *string `min:"1" type:"string" required:"true"` + + // The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to update. + // SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets. + // + // SqlInjectionMatchSetId is a required field + SqlInjectionMatchSetId *string `min:"1" type:"string" required:"true"` + + // An array of SqlInjectionMatchSetUpdate objects that you want to insert into + // or delete from a SqlInjectionMatchSet. For more information, see the applicable + // data types: + // + // SqlInjectionMatchSetUpdate: Contains Action and SqlInjectionMatchTuple + // + // SqlInjectionMatchTuple: Contains FieldToMatch and TextTransformation + // + // FieldToMatch: Contains Data and Type + // + // Updates is a required field + Updates []*SqlInjectionMatchSetUpdate `type:"list" required:"true"` +} + +// String returns the string representation +func (s UpdateSqlInjectionMatchSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateSqlInjectionMatchSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateSqlInjectionMatchSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateSqlInjectionMatchSetInput"} + if s.ChangeToken == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeToken")) + } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } + if s.SqlInjectionMatchSetId == nil { + invalidParams.Add(request.NewErrParamRequired("SqlInjectionMatchSetId")) + } + if s.SqlInjectionMatchSetId != nil && len(*s.SqlInjectionMatchSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SqlInjectionMatchSetId", 1)) + } + if s.Updates == nil { + invalidParams.Add(request.NewErrParamRequired("Updates")) + } + if s.Updates != nil { + for i, v := range s.Updates { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Updates", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The response to an UpdateSqlInjectionMatchSets request. +type UpdateSqlInjectionMatchSetOutput struct { + _ struct{} `type:"structure"` + + // The ChangeToken that you used to submit the UpdateSqlInjectionMatchSet request. + // You can also use this value to query the status of the request. For more + // information, see GetChangeTokenStatus. + ChangeToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateSqlInjectionMatchSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateSqlInjectionMatchSetOutput) GoString() string { + return s.String() +} + +type UpdateWebACLInput struct { + _ struct{} `type:"structure"` + + // The value returned by the most recent call to GetChangeToken. + // + // ChangeToken is a required field + ChangeToken *string `min:"1" type:"string" required:"true"` + + // For the action that is associated with a rule in a WebACL, specifies the + // action that you want AWS WAF to perform when a web request matches all of + // the conditions in a rule. For the default action in a WebACL, specifies the + // action that you want AWS WAF to take when a web request doesn't match all + // of the conditions in any of the rules in a WebACL. + DefaultAction *WafAction `type:"structure"` + + // An array of updates to make to the WebACL. + // + // An array of WebACLUpdate objects that you want to insert into or delete + // from a WebACL. For more information, see the applicable data types: + // + // WebACLUpdate: Contains Action and ActivatedRule + // + // ActivatedRule: Contains Action, Priority, and RuleId + // + // WafAction: Contains Type + Updates []*WebACLUpdate `type:"list"` + + // The WebACLId of the WebACL that you want to update. WebACLId is returned + // by CreateWebACL and by ListWebACLs. + // + // WebACLId is a required field + WebACLId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateWebACLInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateWebACLInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateWebACLInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateWebACLInput"} + if s.ChangeToken == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeToken")) + } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } + if s.WebACLId == nil { + invalidParams.Add(request.NewErrParamRequired("WebACLId")) + } + if s.WebACLId != nil && len(*s.WebACLId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WebACLId", 1)) + } + if s.DefaultAction != nil { + if err := s.DefaultAction.Validate(); err != nil { + invalidParams.AddNested("DefaultAction", err.(request.ErrInvalidParams)) + } + } + if s.Updates != nil { + for i, v := range s.Updates { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Updates", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +type UpdateWebACLOutput struct { + _ struct{} `type:"structure"` + + // The ChangeToken that you used to submit the UpdateWebACL request. You can + // also use this value to query the status of the request. For more information, + // see GetChangeTokenStatus. + ChangeToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateWebACLOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateWebACLOutput) GoString() string { + return s.String() +} + +// A request to update an XssMatchSet. +type UpdateXssMatchSetInput struct { + _ struct{} `type:"structure"` + + // The value returned by the most recent call to GetChangeToken. + // + // ChangeToken is a required field + ChangeToken *string `min:"1" type:"string" required:"true"` + + // An array of XssMatchSetUpdate objects that you want to insert into or delete + // from a XssMatchSet. For more information, see the applicable data types: + // + // XssMatchSetUpdate: Contains Action and XssMatchTuple + // + // XssMatchTuple: Contains FieldToMatch and TextTransformation + // + // FieldToMatch: Contains Data and Type + // + // Updates is a required field + Updates []*XssMatchSetUpdate `type:"list" required:"true"` + + // The XssMatchSetId of the XssMatchSet that you want to update. XssMatchSetId + // is returned by CreateXssMatchSet and by ListXssMatchSets. + // + // XssMatchSetId is a required field + XssMatchSetId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateXssMatchSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateXssMatchSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateXssMatchSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateXssMatchSetInput"} + if s.ChangeToken == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeToken")) + } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } + if s.Updates == nil { + invalidParams.Add(request.NewErrParamRequired("Updates")) + } + if s.XssMatchSetId == nil { + invalidParams.Add(request.NewErrParamRequired("XssMatchSetId")) + } + if s.XssMatchSetId != nil && len(*s.XssMatchSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("XssMatchSetId", 1)) + } + if s.Updates != nil { + for i, v := range s.Updates { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Updates", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// The response to an UpdateXssMatchSets request. +type UpdateXssMatchSetOutput struct { + _ struct{} `type:"structure"` + + // The ChangeToken that you used to submit the UpdateXssMatchSet request. You + // can also use this value to query the status of the request. For more information, + // see GetChangeTokenStatus. + ChangeToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateXssMatchSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateXssMatchSetOutput) GoString() string { + return s.String() +} + +// For the action that is associated with a rule in a WebACL, specifies the +// action that you want AWS WAF to perform when a web request matches all of +// the conditions in a rule. For the default action in a WebACL, specifies the +// action that you want AWS WAF to take when a web request doesn't match all +// of the conditions in any of the rules in a WebACL. +type WafAction struct { + _ struct{} `type:"structure"` + + // Specifies how you want AWS WAF to respond to requests that match the settings + // in a Rule. Valid settings include the following: + // + // ALLOW: AWS WAF allows requests + // + // BLOCK: AWS WAF blocks requests + // + // COUNT: AWS WAF increments a counter of the requests that match all of + // the conditions in the rule. AWS WAF then continues to inspect the web request + // based on the remaining rules in the web ACL. You can't specify COUNT for + // the default action for a WebACL. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"WafActionType"` +} + +// String returns the string representation +func (s WafAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s WafAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *WafAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "WafAction"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Contains the Rules that identify the requests that you want to allow, block, +// or count. In a WebACL, you also specify a default action (ALLOW or BLOCK), +// and the action for each Rule that you add to a WebACL, for example, block +// requests from specified IP addresses or block requests from specified referrers. +// You also associate the WebACL with a CloudFront distribution to identify +// the requests that you want AWS WAF to filter. If you add more than one Rule +// to a WebACL, a request needs to match only one of the specifications to be +// allowed, blocked, or counted. For more information, see UpdateWebACL. +type WebACL struct { + _ struct{} `type:"structure"` + + // The action to perform if none of the Rules contained in the WebACL match. + // The action is specified by the WafAction object. + // + // DefaultAction is a required field + DefaultAction *WafAction `type:"structure" required:"true"` + + MetricName *string `type:"string"` + + // A friendly name or description of the WebACL. You can't change the name of + // a WebACL after you create it. + Name *string `min:"1" type:"string"` + + // An array that contains the action for each Rule in a WebACL, the priority + // of the Rule, and the ID of the Rule. + // + // Rules is a required field + Rules []*ActivatedRule `type:"list" required:"true"` + + // A unique identifier for a WebACL. You use WebACLId to get information about + // a WebACL (see GetWebACL), update a WebACL (see UpdateWebACL), and delete + // a WebACL from AWS WAF (see DeleteWebACL). + // + // WebACLId is returned by CreateWebACL and by ListWebACLs. + // + // WebACLId is a required field + WebACLId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s WebACL) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s WebACL) GoString() string { + return s.String() +} + +// Contains the identifier and the name or description of the WebACL. +type WebACLSummary struct { + _ struct{} `type:"structure"` + + // A friendly name or description of the WebACL. You can't change the name of + // a WebACL after you create it. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A unique identifier for a WebACL. You use WebACLId to get information about + // a WebACL (see GetWebACL), update a WebACL (see UpdateWebACL), and delete + // a WebACL from AWS WAF (see DeleteWebACL). + // + // WebACLId is returned by CreateWebACL and by ListWebACLs. + // + // WebACLId is a required field + WebACLId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s WebACLSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s WebACLSummary) GoString() string { + return s.String() +} + +// Specifies whether to insert a Rule into or delete a Rule from a WebACL. +type WebACLUpdate struct { + _ struct{} `type:"structure"` + + // Specifies whether to insert a Rule into or delete a Rule from a WebACL. + // + // Action is a required field + Action *string `type:"string" required:"true" enum:"ChangeAction"` + + // The ActivatedRule object in an UpdateWebACL request specifies a Rule that + // you want to insert or delete, the priority of the Rule in the WebACL, and + // the action that you want AWS WAF to take when a web request matches the Rule + // (ALLOW, BLOCK, or COUNT). + // + // To specify whether to insert or delete a Rule, use the Action parameter + // in the WebACLUpdate data type. + // + // ActivatedRule is a required field + ActivatedRule *ActivatedRule `type:"structure" required:"true"` +} + +// String returns the string representation +func (s WebACLUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s WebACLUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *WebACLUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "WebACLUpdate"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) + } + if s.ActivatedRule == nil { + invalidParams.Add(request.NewErrParamRequired("ActivatedRule")) + } + if s.ActivatedRule != nil { + if err := s.ActivatedRule.Validate(); err != nil { + invalidParams.AddNested("ActivatedRule", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// A complex type that contains XssMatchTuple objects, which specify the parts +// of web requests that you want AWS WAF to inspect for cross-site scripting +// attacks and, if you want AWS WAF to inspect a header, the name of the header. +// If a XssMatchSet contains more than one XssMatchTuple object, a request needs +// to include cross-site scripting attacks in only one of the specified parts +// of the request to be considered a match. +type XssMatchSet struct { + _ struct{} `type:"structure"` + + // The name, if any, of the XssMatchSet. + Name *string `min:"1" type:"string"` + + // A unique identifier for an XssMatchSet. You use XssMatchSetId to get information + // about an XssMatchSet (see GetXssMatchSet), update an XssMatchSet (see UpdateXssMatchSet), + // insert an XssMatchSet into a Rule or delete one from a Rule (see UpdateRule), + // and delete an XssMatchSet from AWS WAF (see DeleteXssMatchSet). + // + // XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets. + // + // XssMatchSetId is a required field + XssMatchSetId *string `min:"1" type:"string" required:"true"` + + // Specifies the parts of web requests that you want to inspect for cross-site + // scripting attacks. + // + // XssMatchTuples is a required field + XssMatchTuples []*XssMatchTuple `type:"list" required:"true"` +} + +// String returns the string representation +func (s XssMatchSet) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s XssMatchSet) GoString() string { + return s.String() +} + +// The Id and Name of an XssMatchSet. +type XssMatchSetSummary struct { + _ struct{} `type:"structure"` + + // The name of the XssMatchSet, if any, specified by Id. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A unique identifier for an XssMatchSet. You use XssMatchSetId to get information + // about a XssMatchSet (see GetXssMatchSet), update an XssMatchSet (see UpdateXssMatchSet), + // insert an XssMatchSet into a Rule or delete one from a Rule (see UpdateRule), + // and delete an XssMatchSet from AWS WAF (see DeleteXssMatchSet). + // + // XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets. + // + // XssMatchSetId is a required field + XssMatchSetId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s XssMatchSetSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s XssMatchSetSummary) GoString() string { + return s.String() +} + +// Specifies the part of a web request that you want to inspect for cross-site +// scripting attacks and indicates whether you want to add the specification +// to an XssMatchSet or delete it from an XssMatchSet. +type XssMatchSetUpdate struct { + _ struct{} `type:"structure"` + + // Specify INSERT to add a XssMatchSetUpdate to an XssMatchSet. Use DELETE to + // remove a XssMatchSetUpdate from an XssMatchSet. + // + // Action is a required field + Action *string `type:"string" required:"true" enum:"ChangeAction"` + + // Specifies the part of a web request that you want AWS WAF to inspect for + // cross-site scripting attacks and, if you want AWS WAF to inspect a header, + // the name of the header. + // + // XssMatchTuple is a required field + XssMatchTuple *XssMatchTuple `type:"structure" required:"true"` +} + +// String returns the string representation +func (s XssMatchSetUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s XssMatchSetUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *XssMatchSetUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "XssMatchSetUpdate"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) + } + if s.XssMatchTuple == nil { + invalidParams.Add(request.NewErrParamRequired("XssMatchTuple")) + } + if s.XssMatchTuple != nil { + if err := s.XssMatchTuple.Validate(); err != nil { + invalidParams.AddNested("XssMatchTuple", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Specifies the part of a web request that you want AWS WAF to inspect for +// cross-site scripting attacks and, if you want AWS WAF to inspect a header, +// the name of the header. +type XssMatchTuple struct { + _ struct{} `type:"structure"` + + // Specifies where in a web request to look for TargetString. + // + // FieldToMatch is a required field + FieldToMatch *FieldToMatch `type:"structure" required:"true"` + + // Text transformations eliminate some of the unusual formatting that attackers + // use in web requests in an effort to bypass AWS WAF. If you specify a transformation, + // AWS WAF performs the transformation on FieldToMatch before inspecting a request + // for a match. + // + // CMD_LINE + // + // When you're concerned that attackers are injecting an operating system commandline + // command and using unusual formatting to disguise some or all of the command, + // use this option to perform the following transformations: + // + // Delete the following characters: \ " ' ^ + // + // Delete spaces before the following characters: / ( + // + // Replace the following characters with a space: , ; + // + // Replace multiple spaces with one space + // + // Convert uppercase letters (A-Z) to lowercase (a-z) + // + // COMPRESS_WHITE_SPACE + // + // Use this option to replace the following characters with a space character + // (decimal 32): + // + // \f, formfeed, decimal 12 + // + // \t, tab, decimal 9 + // + // \n, newline, decimal 10 + // + // \r, carriage return, decimal 13 + // + // \v, vertical tab, decimal 11 + // + // non-breaking space, decimal 160 + // + // COMPRESS_WHITE_SPACE also replaces multiple spaces with one space. + // + // HTML_ENTITY_DECODE + // + // Use this option to replace HTML-encoded characters with unencoded characters. + // HTML_ENTITY_DECODE performs the following operations: + // + // Replaces (ampersand)quot; with " + // + // Replaces (ampersand)nbsp; with a non-breaking space, decimal 160 + // + // Replaces (ampersand)lt; with a "less than" symbol + // + // Replaces (ampersand)gt; with > + // + // Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, + // with the corresponding characters + // + // Replaces characters that are represented in decimal format, (ampersand)#nnnn;, + // with the corresponding characters + // + // LOWERCASE + // + // Use this option to convert uppercase letters (A-Z) to lowercase (a-z). + // + // URL_DECODE + // + // Use this option to decode a URL-encoded value. + // + // NONE + // + // Specify NONE if you don't want to perform any text transformations. + // + // TextTransformation is a required field + TextTransformation *string `type:"string" required:"true" enum:"TextTransformation"` +} + +// String returns the string representation +func (s XssMatchTuple) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s XssMatchTuple) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *XssMatchTuple) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "XssMatchTuple"} + if s.FieldToMatch == nil { + invalidParams.Add(request.NewErrParamRequired("FieldToMatch")) + } + if s.TextTransformation == nil { + invalidParams.Add(request.NewErrParamRequired("TextTransformation")) + } + if s.FieldToMatch != nil { + if err := s.FieldToMatch.Validate(); err != nil { + invalidParams.AddNested("FieldToMatch", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +const ( + // ChangeActionInsert is a ChangeAction enum value + ChangeActionInsert = "INSERT" + + // ChangeActionDelete is a ChangeAction enum value + ChangeActionDelete = "DELETE" +) + +const ( + // ChangeTokenStatusProvisioned is a ChangeTokenStatus enum value + ChangeTokenStatusProvisioned = "PROVISIONED" + + // ChangeTokenStatusPending is a ChangeTokenStatus enum value + ChangeTokenStatusPending = "PENDING" + + // ChangeTokenStatusInsync is a ChangeTokenStatus enum value + ChangeTokenStatusInsync = "INSYNC" +) + +const ( + // ComparisonOperatorEq is a ComparisonOperator enum value + ComparisonOperatorEq = "EQ" + + // ComparisonOperatorNe is a ComparisonOperator enum value + ComparisonOperatorNe = "NE" + + // ComparisonOperatorLe is a ComparisonOperator enum value + ComparisonOperatorLe = "LE" + + // ComparisonOperatorLt is a ComparisonOperator enum value + ComparisonOperatorLt = "LT" + + // ComparisonOperatorGe is a ComparisonOperator enum value + ComparisonOperatorGe = "GE" + + // ComparisonOperatorGt is a ComparisonOperator enum value + ComparisonOperatorGt = "GT" +) + +const ( + // IPSetDescriptorTypeIpv4 is a IPSetDescriptorType enum value + IPSetDescriptorTypeIpv4 = "IPV4" + + // IPSetDescriptorTypeIpv6 is a IPSetDescriptorType enum value + IPSetDescriptorTypeIpv6 = "IPV6" +) + +const ( + // MatchFieldTypeUri is a MatchFieldType enum value + MatchFieldTypeUri = "URI" + + // MatchFieldTypeQueryString is a MatchFieldType enum value + MatchFieldTypeQueryString = "QUERY_STRING" + + // MatchFieldTypeHeader is a MatchFieldType enum value + MatchFieldTypeHeader = "HEADER" + + // MatchFieldTypeMethod is a MatchFieldType enum value + MatchFieldTypeMethod = "METHOD" + + // MatchFieldTypeBody is a MatchFieldType enum value + MatchFieldTypeBody = "BODY" +) + +const ( + // ParameterExceptionFieldChangeAction is a ParameterExceptionField enum value + ParameterExceptionFieldChangeAction = "CHANGE_ACTION" + + // ParameterExceptionFieldWafAction is a ParameterExceptionField enum value + ParameterExceptionFieldWafAction = "WAF_ACTION" + + // ParameterExceptionFieldPredicateType is a ParameterExceptionField enum value + ParameterExceptionFieldPredicateType = "PREDICATE_TYPE" + + // ParameterExceptionFieldIpsetType is a ParameterExceptionField enum value + ParameterExceptionFieldIpsetType = "IPSET_TYPE" + + // ParameterExceptionFieldByteMatchFieldType is a ParameterExceptionField enum value + ParameterExceptionFieldByteMatchFieldType = "BYTE_MATCH_FIELD_TYPE" + + // ParameterExceptionFieldSqlInjectionMatchFieldType is a ParameterExceptionField enum value + ParameterExceptionFieldSqlInjectionMatchFieldType = "SQL_INJECTION_MATCH_FIELD_TYPE" + + // ParameterExceptionFieldByteMatchTextTransformation is a ParameterExceptionField enum value + ParameterExceptionFieldByteMatchTextTransformation = "BYTE_MATCH_TEXT_TRANSFORMATION" + + // ParameterExceptionFieldByteMatchPositionalConstraint is a ParameterExceptionField enum value + ParameterExceptionFieldByteMatchPositionalConstraint = "BYTE_MATCH_POSITIONAL_CONSTRAINT" + + // ParameterExceptionFieldSizeConstraintComparisonOperator is a ParameterExceptionField enum value + ParameterExceptionFieldSizeConstraintComparisonOperator = "SIZE_CONSTRAINT_COMPARISON_OPERATOR" +) + +const ( + // ParameterExceptionReasonInvalidOption is a ParameterExceptionReason enum value + ParameterExceptionReasonInvalidOption = "INVALID_OPTION" + + // ParameterExceptionReasonIllegalCombination is a ParameterExceptionReason enum value + ParameterExceptionReasonIllegalCombination = "ILLEGAL_COMBINATION" +) + +const ( + // PositionalConstraintExactly is a PositionalConstraint enum value + PositionalConstraintExactly = "EXACTLY" + + // PositionalConstraintStartsWith is a PositionalConstraint enum value + PositionalConstraintStartsWith = "STARTS_WITH" + + // PositionalConstraintEndsWith is a PositionalConstraint enum value + PositionalConstraintEndsWith = "ENDS_WITH" + + // PositionalConstraintContains is a PositionalConstraint enum value + PositionalConstraintContains = "CONTAINS" + + // PositionalConstraintContainsWord is a PositionalConstraint enum value + PositionalConstraintContainsWord = "CONTAINS_WORD" +) + +const ( + // PredicateTypeIpmatch is a PredicateType enum value + PredicateTypeIpmatch = "IPMatch" + + // PredicateTypeByteMatch is a PredicateType enum value + PredicateTypeByteMatch = "ByteMatch" + + // PredicateTypeSqlInjectionMatch is a PredicateType enum value + PredicateTypeSqlInjectionMatch = "SqlInjectionMatch" + + // PredicateTypeSizeConstraint is a PredicateType enum value + PredicateTypeSizeConstraint = "SizeConstraint" + + // PredicateTypeXssMatch is a PredicateType enum value + PredicateTypeXssMatch = "XssMatch" +) + +const ( + // TextTransformationNone is a TextTransformation enum value + TextTransformationNone = "NONE" + + // TextTransformationCompressWhiteSpace is a TextTransformation enum value + TextTransformationCompressWhiteSpace = "COMPRESS_WHITE_SPACE" + + // TextTransformationHtmlEntityDecode is a TextTransformation enum value + TextTransformationHtmlEntityDecode = "HTML_ENTITY_DECODE" + + // TextTransformationLowercase is a TextTransformation enum value + TextTransformationLowercase = "LOWERCASE" + + // TextTransformationCmdLine is a TextTransformation enum value + TextTransformationCmdLine = "CMD_LINE" + + // TextTransformationUrlDecode is a TextTransformation enum value + TextTransformationUrlDecode = "URL_DECODE" +) + +const ( + // WafActionTypeBlock is a WafActionType enum value + WafActionTypeBlock = "BLOCK" + + // WafActionTypeAllow is a WafActionType enum value + WafActionTypeAllow = "ALLOW" + + // WafActionTypeCount is a WafActionType enum value + WafActionTypeCount = "COUNT" +) diff --git a/vendor/github.com/coreos/etcd/Godeps/_workspace/src/github.com/ugorji/go/codec/0doc.go b/vendor/github.com/coreos/etcd/Godeps/_workspace/src/github.com/ugorji/go/codec/0doc.go index caa7e0a3b505..fd1385b45ad0 100644 --- a/vendor/github.com/coreos/etcd/Godeps/_workspace/src/github.com/ugorji/go/codec/0doc.go +++ b/vendor/github.com/coreos/etcd/Godeps/_workspace/src/github.com/ugorji/go/codec/0doc.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a MIT license found in the LICENSE file. /* -High Performance, Feature-Rich Idiomatic Go codec/encoding library for +High Performance, Feature-Rich Idiomatic Go codec/encoding library for binc, msgpack, cbor, json. Supported Serialization formats are: @@ -11,7 +11,7 @@ Supported Serialization formats are: - binc: http://github.com/ugorji/binc - cbor: http://cbor.io http://tools.ietf.org/html/rfc7049 - json: http://json.org http://tools.ietf.org/html/rfc7159 - - simple: + - simple: To install: @@ -19,7 +19,7 @@ To install: This package understands the 'unsafe' tag, to allow using unsafe semantics: - - When decoding into a struct, you need to read the field name as a string + - When decoding into a struct, you need to read the field name as a string so you can find the struct field it is mapped to. Using `unsafe` will bypass the allocation and copying overhead of []byte->string conversion. @@ -38,9 +38,9 @@ Rich Feature Set includes: - Very High Performance. Our extensive benchmarks show us outperforming Gob, Json, Bson, etc by 2-4X. - Multiple conversions: - Package coerces types where appropriate + Package coerces types where appropriate e.g. decode an int in the stream into a float, etc. - - Corner Cases: + - Corner Cases: Overflows, nil maps/slices, nil values in streams are handled correctly - Standard field renaming via tags - Support for omitting empty fields during an encoding @@ -56,7 +56,7 @@ Rich Feature Set includes: - Fast (no-reflection) encoding/decoding of common maps and slices - Code-generation for faster performance. - Support binary (e.g. messagepack, cbor) and text (e.g. json) formats - - Support indefinite-length formats to enable true streaming + - Support indefinite-length formats to enable true streaming (for formats which support it e.g. json, cbor) - Support canonical encoding, where a value is ALWAYS encoded as same sequence of bytes. This mostly applies to maps, where iteration order is non-deterministic. @@ -67,12 +67,12 @@ Rich Feature Set includes: - Encode/Decode from/to chan types (for iterative streaming support) - Drop-in replacement for encoding/json. `json:` key in struct tag supported. - Provides a RPC Server and Client Codec for net/rpc communication protocol. - - Handle unique idiosynchracies of codecs e.g. - - For messagepack, configure how ambiguities in handling raw bytes are resolved - - For messagepack, provide rpc server/client codec to support + - Handle unique idiosynchracies of codecs e.g. + - For messagepack, configure how ambiguities in handling raw bytes are resolved + - For messagepack, provide rpc server/client codec to support msgpack-rpc protocol defined at: https://github.com/msgpack-rpc/msgpack-rpc/blob/master/spec.md - + Extension Support Users can register a function to handle the encoding or decoding of diff --git a/vendor/github.com/coreos/etcd/Godeps/_workspace/src/github.com/ugorji/go/codec/gen.generated.go b/vendor/github.com/coreos/etcd/Godeps/_workspace/src/github.com/ugorji/go/codec/gen.generated.go index fb6f4b809743..f3c1b7060889 100644 --- a/vendor/github.com/coreos/etcd/Godeps/_workspace/src/github.com/ugorji/go/codec/gen.generated.go +++ b/vendor/github.com/coreos/etcd/Godeps/_workspace/src/github.com/ugorji/go/codec/gen.generated.go @@ -169,4 +169,3 @@ if {{var "l"}} == 0 { *{{ .Varname }} = {{var "v"}} }{{end}} ` - diff --git a/vendor/github.com/cyberdelia/heroku-go/v3/heroku.go b/vendor/github.com/cyberdelia/heroku-go/v3/heroku.go index dbfcb955b951..277e3a689462 100644 --- a/vendor/github.com/cyberdelia/heroku-go/v3/heroku.go +++ b/vendor/github.com/cyberdelia/heroku-go/v3/heroku.go @@ -1731,4 +1731,3 @@ func (s *Service) StackList(lr *ListRange) ([]*Stack, error) { var stackList []*Stack return stackList, s.Get(&stackList, fmt.Sprintf("/stacks"), lr) } - diff --git a/vendor/github.com/digitalocean/godo/droplets.go b/vendor/github.com/digitalocean/godo/droplets.go index 978d41e39d1a..0d3a5bd9ca68 100644 --- a/vendor/github.com/digitalocean/godo/droplets.go +++ b/vendor/github.com/digitalocean/godo/droplets.go @@ -135,7 +135,6 @@ type DropletCreateRequest struct { UserData string `json:"user_data,omitempty"` } - type DropletMultiCreateRequest struct { Names []string `json:"names"` Region string `json:"region"` diff --git a/vendor/github.com/go-chef/chef/environment.go b/vendor/github.com/go-chef/chef/environment.go index b25e9d76acea..e848d42d2b03 100644 --- a/vendor/github.com/go-chef/chef/environment.go +++ b/vendor/github.com/go-chef/chef/environment.go @@ -96,7 +96,7 @@ func (e *EnvironmentService) Put(environment *Environment) (data *Environment, e // // Chef API docs: http://docs.getchef.com/api_chef_server.html#id19 func (e *EnvironmentService) ListCookbooks(name string, numVersions string) (data EnvironmentCookbookResult, err error) { - path := versionParams(fmt.Sprintf("environments/%s/cookbooks", name), numVersions) + path := versionParams(fmt.Sprintf("environments/%s/cookbooks", name), numVersions) err = e.client.magicRequestDecoder("GET", path, nil, &data) return } diff --git a/vendor/github.com/go-chef/chef/search.go b/vendor/github.com/go-chef/chef/search.go index 45471a7a8e8f..914b0a6e70a4 100644 --- a/vendor/github.com/go-chef/chef/search.go +++ b/vendor/github.com/go-chef/chef/search.go @@ -104,7 +104,7 @@ func (e SearchService) Exec(idx, statement string) (res SearchResult, err error) inc := 1000 total := res.Total - for start + inc <= total { + for start+inc <= total { query.Start = query.Start + 1000 start = query.Start ares, err := query.Do(e.client) diff --git a/vendor/github.com/hmrc/vmware-govcd/types/v56/types.go b/vendor/github.com/hmrc/vmware-govcd/types/v56/types.go index 7a345a30e248..8582ec0392b4 100644 --- a/vendor/github.com/hmrc/vmware-govcd/types/v56/types.go +++ b/vendor/github.com/hmrc/vmware-govcd/types/v56/types.go @@ -268,9 +268,9 @@ type NetworkConnection struct { type NetworkConnectionSection struct { // Extends OVF Section_Type // FIXME: Fix the OVF section - XMLName xml.Name `xml:"NetworkConnectionSection"` - Xmlns string `xml:"xmlns,attr,omitempty"` - Ovf string `xml:"xmlns:ovf,attr,omitempty"` + XMLName xml.Name `xml:"NetworkConnectionSection"` + Xmlns string `xml:"xmlns,attr,omitempty"` + Ovf string `xml:"xmlns:ovf,attr,omitempty"` Info string `xml:"ovf:Info"` // @@ -317,7 +317,7 @@ type OrgVDCNetwork struct { IsShared bool `xml:"IsShared"` Link []Link `xml:"Link,omitempty"` ServiceConfig *GatewayFeatures `xml:"ServiceConfig,omitempty"` // Specifies the service configuration for an isolated Org vDC networks - Tasks *TasksInProgress `xml:"Tasks,omitempty"` + Tasks *TasksInProgress `xml:"Tasks,omitempty"` } // SupportedHardwareVersions contains a list of VMware virtual hardware versions supported in this vDC. @@ -767,15 +767,15 @@ type VApp struct { } type MetadataValue struct { - XMLName xml.Name `xml:"MetadataValue"` - Xsi string `xml:"xmlns:xsi,attr"` - Xmlns string `xml:"xmlns,attr"` - TypedValue *TypedValue `xml:"TypedValue"` + XMLName xml.Name `xml:"MetadataValue"` + Xsi string `xml:"xmlns:xsi,attr"` + Xmlns string `xml:"xmlns,attr"` + TypedValue *TypedValue `xml:"TypedValue"` } type TypedValue struct { - XsiType string `xml:"xsi:type,attr"` - Value string `xml:"Value"` + XsiType string `xml:"xsi:type,attr"` + Value string `xml:"Value"` } // VAppChildren is a container for virtual machines included in this vApp. @@ -807,8 +807,6 @@ type VAppTemplateChildren struct { VM []*VAppTemplate `xml:"Vm"` // Represents a virtual machine in this vApp template. } - - // VAppTemplate represents a vApp template. // Type: VAppTemplateType // Namespace: http://www.vmware.com/vcloud/v1.5 @@ -853,10 +851,10 @@ type VAppTemplate struct { // Since: 0.9 type VM struct { // Attributes - XMLName xml.Name `xml:"Vm"` - Ovf string `xml:"xmlns:ovf,attr,omitempty"` - Xsi string `xml:"xmlns:xsi,attr,omitempty"` - Xmlns string `xml:"xmlns,attr,omitempty"` + XMLName xml.Name `xml:"Vm"` + Ovf string `xml:"xmlns:ovf,attr,omitempty"` + Xsi string `xml:"xmlns:xsi,attr,omitempty"` + Xmlns string `xml:"xmlns,attr,omitempty"` HREF string `xml:"href,attr,omitempty"` // The URI of the entity. Type string `xml:"type,attr,omitempty"` // The MIME type of the entity. @@ -1060,11 +1058,11 @@ type SubnetParticipation struct { } type EdgeGatewayServiceConfiguration struct { - XMLName xml.Name `xml:"EdgeGatewayServiceConfiguration"` - Xmlns string `xml:"xmlns,attr,omitempty"` - GatewayDhcpService *GatewayDhcpService `xml:"GatewayDhcpService,omitempty"` - FirewallService *FirewallService `xml:"FirewallService,omitempty"` - NatService *NatService `xml:"NatService,omitempty"` + XMLName xml.Name `xml:"EdgeGatewayServiceConfiguration"` + Xmlns string `xml:"xmlns,attr,omitempty"` + GatewayDhcpService *GatewayDhcpService `xml:"GatewayDhcpService,omitempty"` + FirewallService *FirewallService `xml:"FirewallService,omitempty"` + NatService *NatService `xml:"NatService,omitempty"` } // GatewayFeatures represents edge gateway services. diff --git a/vendor/github.com/jen20/riviera/azure/client.go b/vendor/github.com/jen20/riviera/azure/client.go index 937760dc2d2a..a7910a548f33 100644 --- a/vendor/github.com/jen20/riviera/azure/client.go +++ b/vendor/github.com/jen20/riviera/azure/client.go @@ -35,7 +35,7 @@ func NewClient(creds *AzureResourceManagerCredentials) (*Client, error) { }, nil } -func (c *Client) SetRequestLoggingHook(hook func (*log.Logger, *http.Request, int)) { +func (c *Client) SetRequestLoggingHook(hook func(*log.Logger, *http.Request, int)) { c.httpClient.RequestLogHook = hook } diff --git a/vendor/github.com/joyent/gosign/auth/auth.go b/vendor/github.com/joyent/gosign/auth/auth.go index a49cb0852633..987d353fef57 100644 --- a/vendor/github.com/joyent/gosign/auth/auth.go +++ b/vendor/github.com/joyent/gosign/auth/auth.go @@ -33,9 +33,9 @@ type Endpoint struct { } type Auth struct { - User string + User string PrivateKey PrivateKey - Algorithm string + Algorithm string } type Credentials struct { diff --git a/vendor/github.com/lib/pq/conn.go b/vendor/github.com/lib/pq/conn.go index 394e659dfc27..731fbd064401 100644 --- a/vendor/github.com/lib/pq/conn.go +++ b/vendor/github.com/lib/pq/conn.go @@ -164,7 +164,7 @@ func (c *conn) handlePgpass(o values) { return } mode := fileinfo.Mode() - if mode & (0x77) != 0 { + if mode&(0x77) != 0 { // XXX should warn about incorrect .pgpass permissions as psql does return } @@ -180,7 +180,7 @@ func (c *conn) handlePgpass(o values) { db := o.Get("dbname") username := o.Get("user") // From: https://github.com/tg/pgpass/blob/master/reader.go - getFields := func (s string) []string { + getFields := func(s string) []string { fs := make([]string, 0, 5) f := make([]rune, 0, len(s)) @@ -200,7 +200,7 @@ func (c *conn) handlePgpass(o values) { } } return append(fs, string(f)) - } + } for scanner.Scan() { line := scanner.Text() if len(line) == 0 || line[0] == '#' { @@ -210,7 +210,7 @@ func (c *conn) handlePgpass(o values) { if len(split) != 5 { continue } - if (split[0] == "*" || split[0] == hostname || (split[0] == "localhost" && (hostname == "" || ntw == "unix"))) && (split[1] == "*" || split[1] == port) && (split[2] == "*" || split[2] == db) && (split[3] == "*" || split[3] == username) { + if (split[0] == "*" || split[0] == hostname || (split[0] == "localhost" && (hostname == "" || ntw == "unix"))) && (split[1] == "*" || split[1] == port) && (split[2] == "*" || split[2] == db) && (split[3] == "*" || split[3] == username) { o["password"] = split[4] return } diff --git a/vendor/github.com/masterzen/simplexml/dom/document.go b/vendor/github.com/masterzen/simplexml/dom/document.go index d73693c3ff0d..783587df799f 100644 --- a/vendor/github.com/masterzen/simplexml/dom/document.go +++ b/vendor/github.com/masterzen/simplexml/dom/document.go @@ -6,14 +6,14 @@ import ( ) type Document struct { - root *Element + root *Element PrettyPrint bool Indentation string - DocType bool + DocType bool } func CreateDocument() *Document { - return &Document{ PrettyPrint: false, Indentation: " ", DocType: true } + return &Document{PrettyPrint: false, Indentation: " ", DocType: true} } func (doc *Document) SetRoot(node *Element) { @@ -26,10 +26,10 @@ func (doc *Document) String() string { if doc.DocType { fmt.Fprintln(&b, ``) } - + if doc.root != nil { doc.root.Bytes(&b, doc.PrettyPrint, doc.Indentation, 0) } - + return string(b.Bytes()) } diff --git a/vendor/github.com/masterzen/simplexml/dom/element.go b/vendor/github.com/masterzen/simplexml/dom/element.go index 8e2795960978..c5708bbc1beb 100644 --- a/vendor/github.com/masterzen/simplexml/dom/element.go +++ b/vendor/github.com/masterzen/simplexml/dom/element.go @@ -1,9 +1,9 @@ package dom import ( + "bytes" "encoding/xml" "fmt" - "bytes" ) type Attr struct { @@ -12,20 +12,20 @@ type Attr struct { } type Element struct { - name xml.Name - children []*Element - parent *Element - content string + name xml.Name + children []*Element + parent *Element + content string attributes []*Attr namespaces []*Namespace - document *Document + document *Document } func CreateElement(n string) *Element { - element := &Element { name: xml.Name { Local: n } } + element := &Element{name: xml.Name{Local: n}} element.children = make([]*Element, 0, 5) element.attributes = make([]*Attr, 0, 10) - element.namespaces = make([]*Namespace, 0, 10) + element.namespaces = make([]*Namespace, 0, 10) return element } @@ -59,7 +59,7 @@ func (node *Element) RemoveChild(child *Element) *Element { func (node *Element) SetAttr(name string, value string) *Element { // namespaces? - attr := &Attr{ Name: xml.Name { Local: name }, Value: value } + attr := &Attr{Name: xml.Name{Local: name}, Value: value} node.attributes = append(node.attributes, attr) return node } @@ -67,18 +67,18 @@ func (node *Element) SetAttr(name string, value string) *Element { func (node *Element) SetParent(parent *Element) *Element { node.parent = parent return node -} +} func (node *Element) SetContent(content string) *Element { node.content = content return node -} +} // Add a namespace declaration to this node func (node *Element) DeclareNamespace(ns Namespace) *Element { // check if we already have it prefix := node.namespacePrefix(ns.Uri) - if prefix == ns.Prefix { + if prefix == ns.Prefix { return node } // add it @@ -94,7 +94,7 @@ func (node *Element) SetNamespace(prefix string, uri string) { resolved := node.namespacePrefix(uri) if resolved == "" { // we couldn't find the namespace, let's declare it at this node - node.namespaces = append(node.namespaces, &Namespace { Prefix: prefix, Uri: uri }) + node.namespaces = append(node.namespaces, &Namespace{Prefix: prefix, Uri: uri}) } node.name.Space = uri } @@ -102,19 +102,19 @@ func (node *Element) SetNamespace(prefix string, uri string) { func (node *Element) Bytes(out *bytes.Buffer, indent bool, indentType string, level int) { empty := len(node.children) == 0 && node.content == "" content := node.content != "" -// children := len(node.children) > 0 -// ns := len(node.namespaces) > 0 -// attrs := len(node.attributes) > 0 - + // children := len(node.children) > 0 + // ns := len(node.namespaces) > 0 + // attrs := len(node.attributes) > 0 + indentStr := "" nextLine := "" if indent { nextLine = "\n" for i := 0; i < level; i++ { - indentStr += indentType + indentStr += indentType } } - + if node.name.Local != "" { if len(node.name.Space) > 0 { // first find if ns has been declared, otherwise @@ -124,7 +124,7 @@ func (node *Element) Bytes(out *bytes.Buffer, indent bool, indentType string, le fmt.Fprintf(out, "%s<%s", indentStr, node.name.Local) } } - + // declared namespaces for _, v := range node.namespaces { prefix := node.namespacePrefix(v.Uri) @@ -140,7 +140,7 @@ func (node *Element) Bytes(out *bytes.Buffer, indent bool, indentType string, le fmt.Fprintf(out, ` %s="%s"`, v.Name.Local, v.Value) } } - + // close tag if empty { fmt.Fprintf(out, "/>%s", nextLine) @@ -148,20 +148,20 @@ func (node *Element) Bytes(out *bytes.Buffer, indent bool, indentType string, le if content { out.WriteRune('>') } else { - fmt.Fprintf(out, ">%s", nextLine) + fmt.Fprintf(out, ">%s", nextLine) } } - + if len(node.children) > 0 { for _, child := range node.children { - child.Bytes(out, indent, indentType, level + 1) + child.Bytes(out, indent, indentType, level+1) } } else if node.content != "" { //val := []byte(node.content) //xml.EscapeText(out, val) out.WriteString(node.content) } - + if !empty && len(node.name.Local) > 0 { var indentation string if content { @@ -192,7 +192,6 @@ func (node *Element) namespacePrefix(uri string) string { return node.parent.namespacePrefix(uri) } - func (node *Element) String() string { var b bytes.Buffer node.Bytes(&b, false, "", 0) diff --git a/vendor/github.com/masterzen/xmlpath/doc.go b/vendor/github.com/masterzen/xmlpath/doc.go index d1acf6c07609..4d3dfc0b9987 100644 --- a/vendor/github.com/masterzen/xmlpath/doc.go +++ b/vendor/github.com/masterzen/xmlpath/doc.go @@ -73,8 +73,8 @@ // // To use xmlpath with namespaces, it is required to give the supported set of namespace // when compiling: -// -// +// +// // var namespaces = []xmlpath.Namespace { // { "s", "http://www.w3.org/2003/05/soap-envelope" }, // { "a", "http://schemas.xmlsoap.org/ws/2004/08/addressing" }, @@ -90,6 +90,6 @@ // if value, ok := path.String(root); ok { // fmt.Println("Found:", value) // } -// +// package xmlpath diff --git a/vendor/github.com/masterzen/xmlpath/path.go b/vendor/github.com/masterzen/xmlpath/path.go index f35af70ae491..80aa70e9d9e9 100644 --- a/vendor/github.com/masterzen/xmlpath/path.go +++ b/vendor/github.com/masterzen/xmlpath/path.go @@ -372,7 +372,7 @@ func MustCompile(path string) *Path { // Compile returns the compiled path. func Compile(path string) (*Path, error) { - c := pathCompiler{path, 0, []Namespace{} } + c := pathCompiler{path, 0, []Namespace{}} if path == "" { return nil, c.errorf("empty path") } @@ -397,9 +397,9 @@ func CompileWithNamespace(path string, ns []Namespace) (*Path, error) { } type pathCompiler struct { - path string - i int - ns []Namespace + path string + i int + ns []Namespace } func (c *pathCompiler) errorf(format string, args ...interface{}) error { @@ -575,14 +575,14 @@ func (c *pathCompiler) parseLiteral() (string, error) { if !c.skipByteFind('"') { return "", fmt.Errorf(`missing '"'`) } - return c.path[mark:c.i-1], nil + return c.path[mark : c.i-1], nil } if c.skipByte('\'') { mark := c.i if !c.skipByteFind('\'') { return "", fmt.Errorf(`missing "'"`) } - return c.path[mark:c.i-1], nil + return c.path[mark : c.i-1], nil } return "", errNoLiteral } @@ -611,7 +611,7 @@ func (c *pathCompiler) skipByte(b byte) bool { func (c *pathCompiler) skipByteFind(b byte) bool { for i := c.i; i < len(c.path); i++ { if c.path[i] == b { - c.i = i+1 + c.i = i + 1 return true } } diff --git a/vendor/github.com/mitchellh/go-linereader/linereader.go b/vendor/github.com/mitchellh/go-linereader/linereader.go index 6cf9b9b973ec..bdee9b774897 100644 --- a/vendor/github.com/mitchellh/go-linereader/linereader.go +++ b/vendor/github.com/mitchellh/go-linereader/linereader.go @@ -1,8 +1,8 @@ package linereader import ( - "io" "bufio" + "io" "sync/atomic" "time" ) diff --git a/vendor/github.com/nu7hatch/gouuid/uuid.go b/vendor/github.com/nu7hatch/gouuid/uuid.go index ac9623b729f6..ca960aa96a31 100644 --- a/vendor/github.com/nu7hatch/gouuid/uuid.go +++ b/vendor/github.com/nu7hatch/gouuid/uuid.go @@ -16,7 +16,7 @@ import ( "regexp" ) -// The UUID reserved variants. +// The UUID reserved variants. const ( ReservedNCS byte = 0x80 ReservedRFC4122 byte = 0x40 diff --git a/vendor/github.com/packer-community/winrmcp/winrmcp/psobject.go b/vendor/github.com/packer-community/winrmcp/winrmcp/psobject.go index 5374fdba5810..88a7ef1b21bd 100644 --- a/vendor/github.com/packer-community/winrmcp/winrmcp/psobject.go +++ b/vendor/github.com/packer-community/winrmcp/winrmcp/psobject.go @@ -6,12 +6,10 @@ type pslist struct { type psobject struct { Properties []psproperty `xml:"Property"` - Value string `xml:",innerxml"` + Value string `xml:",innerxml"` } type psproperty struct { Name string `xml:"Name,attr"` Value string `xml:",innerxml"` } - - diff --git a/vendor/github.com/packethost/packngo/email.go b/vendor/github.com/packethost/packngo/email.go index 98ed87147c2e..ef53ee4bb020 100644 --- a/vendor/github.com/packethost/packngo/email.go +++ b/vendor/github.com/packethost/packngo/email.go @@ -9,11 +9,12 @@ type EmailService interface { // Email represents a user's email address type Email struct { - ID string `json:"id"` - Address string `json:"address"` - Default bool `json:"default,omitempty"` - URL string `json:"href,omitempty"` + ID string `json:"id"` + Address string `json:"address"` + Default bool `json:"default,omitempty"` + URL string `json:"href,omitempty"` } + func (e Email) String() string { return Stringify(e) } @@ -23,7 +24,7 @@ type EmailServiceOp struct { client *Client } -// Get retrieves an email by id +// Get retrieves an email by id func (s *EmailServiceOp) Get(emailID string) (*Email, *Response, error) { req, err := s.client.NewRequest("GET", emailBasePath, nil) if err != nil { diff --git a/vendor/github.com/packethost/packngo/facilities.go b/vendor/github.com/packethost/packngo/facilities.go index a6deab895bfe..42a3c7cb1155 100644 --- a/vendor/github.com/packethost/packngo/facilities.go +++ b/vendor/github.com/packethost/packngo/facilities.go @@ -1,4 +1,4 @@ -package packngo +package packngo const facilityBasePath = "/facilities" @@ -13,13 +13,14 @@ type facilityRoot struct { // Facility represents a Packet facility type Facility struct { - ID string `json:"id"` - Name string `json:"name,omitempty"` - Code string `json:"code,omitempty"` - Features []string `json:"features,omitempty"` - Address *Address `json:"address,omitempty"` - URL string `json:"href,omitempty"` + ID string `json:"id"` + Name string `json:"name,omitempty"` + Code string `json:"code,omitempty"` + Features []string `json:"features,omitempty"` + Address *Address `json:"address,omitempty"` + URL string `json:"href,omitempty"` } + func (f Facility) String() string { return Stringify(f) } @@ -28,11 +29,11 @@ func (f Facility) String() string { type Address struct { ID string `json:"id,omitempty"` } + func (a Address) String() string { return Stringify(a) } - // FacilityServiceOp implements FacilityService type FacilityServiceOp struct { client *Client diff --git a/vendor/github.com/packethost/packngo/operatingsystems.go b/vendor/github.com/packethost/packngo/operatingsystems.go index bad59e86c410..4200a40cf888 100644 --- a/vendor/github.com/packethost/packngo/operatingsystems.go +++ b/vendor/github.com/packethost/packngo/operatingsystems.go @@ -18,16 +18,17 @@ type OS struct { Distro string `json:"distro"` Version string `json:"version"` } + func (o OS) String() string { return Stringify(o) } -// OSServiceOp implements OSService +// OSServiceOp implements OSService type OSServiceOp struct { client *Client } -// List returns all available operating systems +// List returns all available operating systems func (s *OSServiceOp) List() ([]OS, *Response, error) { req, err := s.client.NewRequest("GET", osBasePath, nil) if err != nil { diff --git a/vendor/github.com/packethost/packngo/plans.go b/vendor/github.com/packethost/packngo/plans.go index 6350443e75d7..5b3fa86fdf9e 100644 --- a/vendor/github.com/packethost/packngo/plans.go +++ b/vendor/github.com/packethost/packngo/plans.go @@ -1,4 +1,4 @@ -package packngo +package packngo const planBasePath = "/plans" @@ -21,18 +21,20 @@ type Plan struct { Specs *Specs `json:"specs,omitempty"` Pricing *Pricing `json:"pricing,omitempty"` } + func (p Plan) String() string { return Stringify(p) } // Specs - the server specs for a plan type Specs struct { - Cpus []*Cpus `json:"cpus,omitempty"` - Memory *Memory `json:"memory,omitempty"` - Drives []*Drives `json:"drives,omitempty"` - Nics []*Nics `json:"nics,omitempty"` - Features *Features `json:"features,omitempty"` + Cpus []*Cpus `json:"cpus,omitempty"` + Memory *Memory `json:"memory,omitempty"` + Drives []*Drives `json:"drives,omitempty"` + Nics []*Nics `json:"nics,omitempty"` + Features *Features `json:"features,omitempty"` } + func (s Specs) String() string { return Stringify(s) } @@ -42,6 +44,7 @@ type Cpus struct { Count int `json:"count,omitempty"` Type string `json:"type,omitempty"` } + func (c Cpus) String() string { return Stringify(c) } @@ -50,6 +53,7 @@ func (c Cpus) String() string { type Memory struct { Total string `json:"total,omitempty"` } + func (m Memory) String() string { return Stringify(m) } @@ -60,6 +64,7 @@ type Drives struct { Size string `json:"size,omitempty"` Type string `json:"type,omitempty"` } + func (d Drives) String() string { return Stringify(d) } @@ -69,6 +74,7 @@ type Nics struct { Count int `json:"count,omitempty"` Type string `json:"type,omitempty"` } + func (n Nics) String() string { return Stringify(n) } @@ -78,6 +84,7 @@ type Features struct { Raid bool `json:"raid,omitempty"` Txt bool `json:"txt,omitempty"` } + func (f Features) String() string { return Stringify(f) } @@ -87,6 +94,7 @@ type Pricing struct { Hourly float32 `json:"hourly,omitempty"` Monthly float32 `json:"monthly,omitempty"` } + func (p Pricing) String() string { return Stringify(p) } diff --git a/vendor/github.com/packethost/packngo/projects.go b/vendor/github.com/packethost/packngo/projects.go index 391a4b3ce810..c519a78bc5c6 100644 --- a/vendor/github.com/packethost/packngo/projects.go +++ b/vendor/github.com/packethost/packngo/projects.go @@ -16,6 +16,7 @@ type ProjectService interface { type projectsRoot struct { Projects []Project `json:"projects"` } + // Project represents a Packet project type Project struct { ID string `json:"id"` @@ -27,6 +28,7 @@ type Project struct { SSHKeys []SSHKey `json:"ssh_keys,omitempty"` URL string `json:"href,omitempty"` } + func (p Project) String() string { return Stringify(p) } @@ -36,6 +38,7 @@ type ProjectCreateRequest struct { Name string `json:"name"` PaymentMethod string `json:"payment_method,omitempty"` } + func (p ProjectCreateRequest) String() string { return Stringify(p) } @@ -46,6 +49,7 @@ type ProjectUpdateRequest struct { Name string `json:"name,omitempty"` PaymentMethod string `json:"payment_method,omitempty"` } + func (p ProjectUpdateRequest) String() string { return Stringify(p) } diff --git a/vendor/github.com/packethost/packngo/rate.go b/vendor/github.com/packethost/packngo/rate.go index 4dc55acaa793..965967d4557c 100644 --- a/vendor/github.com/packethost/packngo/rate.go +++ b/vendor/github.com/packethost/packngo/rate.go @@ -2,10 +2,11 @@ package packngo // Rate provides the API request rate limit details type Rate struct { - RequestLimit int `json:"request_limit"` - RequestsRemaining int `json:"requests_remaining"` - Reset Timestamp `json:"rate_reset"` + RequestLimit int `json:"request_limit"` + RequestsRemaining int `json:"requests_remaining"` + Reset Timestamp `json:"rate_reset"` } + func (r Rate) String() string { return Stringify(r) } diff --git a/vendor/github.com/packethost/packngo/sshkeys.go b/vendor/github.com/packethost/packngo/sshkeys.go index 33c45e169058..06d9962be8d7 100644 --- a/vendor/github.com/packethost/packngo/sshkeys.go +++ b/vendor/github.com/packethost/packngo/sshkeys.go @@ -19,34 +19,37 @@ type sshKeyRoot struct { // SSHKey represents a user's ssh key type SSHKey struct { - ID string `json:"id"` - Label string `json:"label"` - Key string `json:"key"` - FingerPrint string `json:"fingerprint"` - Created string `json:"created_at"` - Updated string `json:"updated_at"` - User User `json:"user,omitempty"` - URL string `json:"href,omitempty"` + ID string `json:"id"` + Label string `json:"label"` + Key string `json:"key"` + FingerPrint string `json:"fingerprint"` + Created string `json:"created_at"` + Updated string `json:"updated_at"` + User User `json:"user,omitempty"` + URL string `json:"href,omitempty"` } + func (s SSHKey) String() string { return Stringify(s) } // SSHKeyCreateRequest type used to create an ssh key type SSHKeyCreateRequest struct { - Label string `json:"label"` - Key string `json:"key"` + Label string `json:"label"` + Key string `json:"key"` } + func (s SSHKeyCreateRequest) String() string { return Stringify(s) } // SSHKeyUpdateRequest type used to update an ssh key type SSHKeyUpdateRequest struct { - ID string `json:"id"` - Label string `json:"label"` - Key string `json:"key"` + ID string `json:"id"` + Label string `json:"label"` + Key string `json:"key"` } + func (s SSHKeyUpdateRequest) String() string { return Stringify(s) } diff --git a/vendor/github.com/packethost/packngo/user.go b/vendor/github.com/packethost/packngo/user.go index 5bd2d11fa151..36e03d909097 100644 --- a/vendor/github.com/packethost/packngo/user.go +++ b/vendor/github.com/packethost/packngo/user.go @@ -9,23 +9,24 @@ type UserService interface { // User represents a Packet user type User struct { - ID string `json:"id"` - FirstName string `json:"first_name,omitempty"` - LastName string `json:"last_name,omitempty"` - FullName string `json:"full_name,omitempty"` - Email string `json:"email,omitempty"` - TwoFactor string `json:"two_factor_auth,omitempty"` - AvatarURL string `json:"avatar_url,omitempty"` - Facebook string `json:"twitter,omitempty"` - Twitter string `json:"facebook,omitempty"` - LinkedIn string `json:"linkedin,omitempty"` - Created string `json:"created_at,omitempty"` - Updated string `json:"updated_at,omitempty"` - TimeZone string `json:"timezone,omitempty"` - Emails []Email `json:"email,omitempty"` - PhoneNumber string `json:"phone_number,omitempty"` - URL string `json:"href,omitempty"` + ID string `json:"id"` + FirstName string `json:"first_name,omitempty"` + LastName string `json:"last_name,omitempty"` + FullName string `json:"full_name,omitempty"` + Email string `json:"email,omitempty"` + TwoFactor string `json:"two_factor_auth,omitempty"` + AvatarURL string `json:"avatar_url,omitempty"` + Facebook string `json:"twitter,omitempty"` + Twitter string `json:"facebook,omitempty"` + LinkedIn string `json:"linkedin,omitempty"` + Created string `json:"created_at,omitempty"` + Updated string `json:"updated_at,omitempty"` + TimeZone string `json:"timezone,omitempty"` + Emails []Email `json:"email,omitempty"` + PhoneNumber string `json:"phone_number,omitempty"` + URL string `json:"href,omitempty"` } + func (u User) String() string { return Stringify(u) } diff --git a/vendor/github.com/rackspace/gophercloud/auth_options.go b/vendor/github.com/rackspace/gophercloud/auth_options.go index 07ace1366ba3..d65fa6376172 100644 --- a/vendor/github.com/rackspace/gophercloud/auth_options.go +++ b/vendor/github.com/rackspace/gophercloud/auth_options.go @@ -44,7 +44,7 @@ type AuthOptions struct { // possible. This setting defaults to false. // // NOTE: The reauth function will try to re-authenticate endlessly if left unchecked. - // The way to limit the number of attempts is to provide a custom HTTP client to the provider client + // The way to limit the number of attempts is to provide a custom HTTP client to the provider client // and provide a transport that implements the RoundTripper interface and stores the number of failed retries. // For an example of this, see here: https://github.com/rackspace/rack/blob/1.0.0/auth/clients.go#L311 AllowReauth bool diff --git a/vendor/github.com/rackspace/gophercloud/provider_client.go b/vendor/github.com/rackspace/gophercloud/provider_client.go index 53fce73705b8..6e1dd87b96ae 100644 --- a/vendor/github.com/rackspace/gophercloud/provider_client.go +++ b/vendor/github.com/rackspace/gophercloud/provider_client.go @@ -179,7 +179,7 @@ func (client *ProviderClient) Request(method, url string, options RequestOpts) ( // Set connection parameter to close the connection immediately when we've got the response req.Close = true - + // Issue the request. resp, err := client.HTTPClient.Do(req) if err != nil { diff --git a/vendor/github.com/ziutek/mymysql/native/codecs.go b/vendor/github.com/ziutek/mymysql/native/codecs.go index ddec54b5a65a..9e8fb24d8fb7 100644 --- a/vendor/github.com/ziutek/mymysql/native/codecs.go +++ b/vendor/github.com/ziutek/mymysql/native/codecs.go @@ -404,7 +404,7 @@ func EncodeTime(buf []byte, t time.Time) int { } y, mon, d := t.Date() h, m, s := t.Clock() - u:= getTimeMicroseconds(t) + u := getTimeMicroseconds(t) return encodeNonzeroTime( buf, int16(y), byte(mon), byte(d), diff --git a/vendor/github.com/ziutek/mymysql/native/consts.go b/vendor/github.com/ziutek/mymysql/native/consts.go index b4c031fa3ceb..161d784702e2 100644 --- a/vendor/github.com/ziutek/mymysql/native/consts.go +++ b/vendor/github.com/ziutek/mymysql/native/consts.go @@ -98,7 +98,7 @@ const ( // Comments contains corresponding types used by mymysql. string type may be // replaced by []byte type and vice versa. []byte type is native for sending // on a network, so any string is converted to it before sending. Than for -// better preformance use []byte. +// better preformance use []byte. const ( // Client send and receive, mymysql representation for send / receive TINYINT = MYSQL_TYPE_TINY // int8 / int8 diff --git a/vendor/vendor.json b/vendor/vendor.json new file mode 100644 index 000000000000..cc2a37549136 --- /dev/null +++ b/vendor/vendor.json @@ -0,0 +1,1974 @@ +{ + "comment": "", + "ignore": "appengine test", + "package": [ + { + "checksumSHA1": "jJfoTqvuxrUbr5kzLEowUl8yol4=", + "comment": "v2.1.1-beta-8-gca4d906", + "path": "github.com/Azure/azure-sdk-for-go/arm/cdn", + "revision": "91f3d4a4d024e3c0d4d9412916d05cf84504a616", + "revisionTime": "2016-10-05T01:22:46Z", + "version": "v5.0.0-beta", + "versionExact": "v5.0.0-beta" + }, + { + "checksumSHA1": "ndoTo9HTATazQPZiPzq5rFYJhHM=", + "comment": "v2.1.1-beta-8-gca4d906", + "path": "github.com/Azure/azure-sdk-for-go/arm/compute", + "revision": "91f3d4a4d024e3c0d4d9412916d05cf84504a616", + "revisionTime": "2016-10-05T01:22:46Z", + "version": "v5.0.0-beta", + "versionExact": "v5.0.0-beta" + }, + { + "checksumSHA1": "33Eny6aOVU6MjMYlfzufuo9OdCk=", + "comment": "v2.1.1-beta-8-gca4d906", + "path": "github.com/Azure/azure-sdk-for-go/arm/network", + "revision": "91f3d4a4d024e3c0d4d9412916d05cf84504a616", + "revisionTime": "2016-10-05T01:22:46Z", + "version": "v5.0.0-beta", + "versionExact": "v5.0.0-beta" + }, + { + "checksumSHA1": "8rreGMFmUgD89dr4TzfUQOiJJbk=", + "comment": "v2.1.1-beta-8-gca4d906", + "path": "github.com/Azure/azure-sdk-for-go/arm/resources/resources", + "revision": "91f3d4a4d024e3c0d4d9412916d05cf84504a616", + "revisionTime": "2016-10-05T01:22:46Z", + "version": "v5.0.0-beta", + "versionExact": "v5.0.0-beta" + }, + { + "checksumSHA1": "su/B4Of9HfkZSGT8+891cRSt7/0=", + "comment": "v2.1.1-beta-8-gca4d906", + "path": "github.com/Azure/azure-sdk-for-go/arm/scheduler", + "revision": "91f3d4a4d024e3c0d4d9412916d05cf84504a616", + "revisionTime": "2016-10-05T01:22:46Z", + "version": "v5.0.0-beta", + "versionExact": "v5.0.0-beta" + }, + { + "checksumSHA1": "W8WrH37bYeEuSG8qTs5a5J+eEnA=", + "path": "github.com/Azure/azure-sdk-for-go/arm/servicebus", + "revision": "91f3d4a4d024e3c0d4d9412916d05cf84504a616", + "revisionTime": "2016-10-05T01:22:46Z", + "version": "v5.0.0-beta", + "versionExact": "v5.0.0-beta" + }, + { + "checksumSHA1": "FKbsaZkfT8fHDGlTzK1fdK44Ufc=", + "comment": "v2.1.1-beta-8-gca4d906", + "path": "github.com/Azure/azure-sdk-for-go/arm/storage", + "revision": "91f3d4a4d024e3c0d4d9412916d05cf84504a616", + "revisionTime": "2016-10-05T01:22:46Z", + "version": "v5.0.0-beta", + "versionExact": "v5.0.0-beta" + }, + { + "checksumSHA1": "nBpj4xhS/L0RrSQf2RpEs4fe09k=", + "path": "github.com/Azure/azure-sdk-for-go/arm/trafficmanager", + "revision": "91f3d4a4d024e3c0d4d9412916d05cf84504a616", + "revisionTime": "2016-10-05T01:22:46Z", + "version": "v5.0.0-beta", + "versionExact": "v5.0.0-beta" + }, + { + "checksumSHA1": "+YUbdDgrxVZAyjcps6X2gB8BT+I=", + "comment": "v2.1.1-beta-8-gca4d906", + "path": "github.com/Azure/azure-sdk-for-go/management", + "revision": "91f3d4a4d024e3c0d4d9412916d05cf84504a616", + "revisionTime": "2016-10-05T01:22:46Z", + "version": "v5.0.0-beta", + "versionExact": "v5.0.0-beta" + }, + { + "checksumSHA1": "TcQ6KXoBkvUhCYeggJ/bwcz+QaQ=", + "comment": "v2.1.1-beta-8-gca4d906", + "path": "github.com/Azure/azure-sdk-for-go/management/affinitygroup", + "revision": "91f3d4a4d024e3c0d4d9412916d05cf84504a616", + "revisionTime": "2016-10-05T01:22:46Z", + "version": "v5.0.0-beta", + "versionExact": "v5.0.0-beta" + }, + { + "checksumSHA1": "HfjyhRfmKBsVgWLTOfWVcxe8Z88=", + "comment": "v2.1.1-beta-8-gca4d906", + "path": "github.com/Azure/azure-sdk-for-go/management/hostedservice", + "revision": "91f3d4a4d024e3c0d4d9412916d05cf84504a616", + "revisionTime": "2016-10-05T01:22:46Z", + "version": "v5.0.0-beta", + "versionExact": "v5.0.0-beta" + }, + { + "checksumSHA1": "4otMhU6xZ41HfmiGZFYtV93GdcI=", + "comment": "v2.1.1-beta-8-gca4d906", + "path": "github.com/Azure/azure-sdk-for-go/management/location", + "revision": "91f3d4a4d024e3c0d4d9412916d05cf84504a616", + "revisionTime": "2016-10-05T01:22:46Z", + "version": "v5.0.0-beta", + "versionExact": "v5.0.0-beta" + }, + { + "checksumSHA1": "hxivwm3D13cqFGOlOS3q8HD7DN0=", + "comment": "v2.1.1-beta-8-gca4d906", + "path": "github.com/Azure/azure-sdk-for-go/management/networksecuritygroup", + "revision": "91f3d4a4d024e3c0d4d9412916d05cf84504a616", + "revisionTime": "2016-10-05T01:22:46Z", + "version": "v5.0.0-beta", + "versionExact": "v5.0.0-beta" + }, + { + "checksumSHA1": "XzrPv8SWFBYdh5oie+NGysqnLIM=", + "comment": "v2.1.1-beta-8-gca4d906", + "path": "github.com/Azure/azure-sdk-for-go/management/osimage", + "revision": "91f3d4a4d024e3c0d4d9412916d05cf84504a616", + "revisionTime": "2016-10-05T01:22:46Z", + "version": "v5.0.0-beta", + "versionExact": "v5.0.0-beta" + }, + { + "checksumSHA1": "hzwziaU5QlMlFcFPdbEmW18oV3Y=", + "comment": "v2.1.1-beta-8-gca4d906", + "path": "github.com/Azure/azure-sdk-for-go/management/sql", + "revision": "91f3d4a4d024e3c0d4d9412916d05cf84504a616", + "revisionTime": "2016-10-05T01:22:46Z", + "version": "v5.0.0-beta", + "versionExact": "v5.0.0-beta" + }, + { + "checksumSHA1": "YoAhDE0X6hSFuPpXbpfqcTC0Zvw=", + "comment": "v2.1.1-beta-8-gca4d906", + "path": "github.com/Azure/azure-sdk-for-go/management/storageservice", + "revision": "91f3d4a4d024e3c0d4d9412916d05cf84504a616", + "revisionTime": "2016-10-05T01:22:46Z", + "version": "v5.0.0-beta", + "versionExact": "v5.0.0-beta" + }, + { + "checksumSHA1": "6xEiZL4a9rr5YbnY0RdzuzhEF1Q=", + "comment": "v2.1.1-beta-8-gca4d906", + "path": "github.com/Azure/azure-sdk-for-go/management/virtualmachine", + "revision": "91f3d4a4d024e3c0d4d9412916d05cf84504a616", + "revisionTime": "2016-10-05T01:22:46Z", + "version": "v5.0.0-beta", + "versionExact": "v5.0.0-beta" + }, + { + "checksumSHA1": "xcBM3zQtfcE3VHNBACJJGEesCBI=", + "comment": "v2.1.1-beta-8-gca4d906", + "path": "github.com/Azure/azure-sdk-for-go/management/virtualmachinedisk", + "revision": "91f3d4a4d024e3c0d4d9412916d05cf84504a616", + "revisionTime": "2016-10-05T01:22:46Z", + "version": "v5.0.0-beta", + "versionExact": "v5.0.0-beta" + }, + { + "checksumSHA1": "0bfdkDZ2JFV7bol6GQFfC0g+lP4=", + "comment": "v2.1.1-beta-8-gca4d906", + "path": "github.com/Azure/azure-sdk-for-go/management/virtualmachineimage", + "revision": "91f3d4a4d024e3c0d4d9412916d05cf84504a616", + "revisionTime": "2016-10-05T01:22:46Z", + "version": "v5.0.0-beta", + "versionExact": "v5.0.0-beta" + }, + { + "checksumSHA1": "IhjDqm84VDVSIoHyiGvUzuljG3s=", + "comment": "v2.1.1-beta-8-gca4d906", + "path": "github.com/Azure/azure-sdk-for-go/management/virtualnetwork", + "revision": "91f3d4a4d024e3c0d4d9412916d05cf84504a616", + "revisionTime": "2016-10-05T01:22:46Z", + "version": "v5.0.0-beta", + "versionExact": "v5.0.0-beta" + }, + { + "checksumSHA1": "+ykSkHo40/f6VK6/zXDqzF8Lh14=", + "comment": "v2.1.1-beta-8-gca4d906", + "path": "github.com/Azure/azure-sdk-for-go/management/vmutils", + "revision": "91f3d4a4d024e3c0d4d9412916d05cf84504a616", + "revisionTime": "2016-10-05T01:22:46Z", + "version": "v5.0.0-beta", + "versionExact": "v5.0.0-beta" + }, + { + "checksumSHA1": "T1DpzOaZGsKlUq16elkdwF6ddsU=", + "comment": "v2.1.1-beta-8-gca4d906", + "path": "github.com/Azure/azure-sdk-for-go/storage", + "revision": "91f3d4a4d024e3c0d4d9412916d05cf84504a616", + "revisionTime": "2016-10-05T01:22:46Z", + "version": "v5.0.0-beta", + "versionExact": "v5.0.0-beta" + }, + { + "checksumSHA1": "eVSHe6GIHj9/ziFrQLZ1SC7Nn6k=", + "comment": "v7.0.5", + "path": "github.com/Azure/go-autorest/autorest", + "revision": "0781901f19f1e7db3034d97ec57af753db0bf808", + "revisionTime": "2016-10-03T18:39:13Z", + "version": "v7.2.1", + "versionExact": "v7.2.1" + }, + { + "checksumSHA1": "z8FwqeLK0Pluo7FYC5k2MVBoils=", + "comment": "v7.0.5", + "path": "github.com/Azure/go-autorest/autorest/azure", + "revision": "0781901f19f1e7db3034d97ec57af753db0bf808", + "revisionTime": "2016-10-03T18:39:13Z", + "version": "v7.2.1", + "versionExact": "v7.2.1" + }, + { + "checksumSHA1": "q9Qz8PAxK5FTOZwgYKe5Lj38u4c=", + "comment": "v7.0.5", + "path": "github.com/Azure/go-autorest/autorest/date", + "revision": "0781901f19f1e7db3034d97ec57af753db0bf808", + "revisionTime": "2016-10-03T18:39:13Z", + "version": "v7.2.1", + "versionExact": "v7.2.1" + }, + { + "checksumSHA1": "Ev8qCsbFjDlMlX0N2tYAhYQFpUc=", + "comment": "v7.0.5", + "path": "github.com/Azure/go-autorest/autorest/to", + "revision": "0781901f19f1e7db3034d97ec57af753db0bf808", + "revisionTime": "2016-10-03T18:39:13Z", + "version": "v7.2.1", + "versionExact": "v7.2.1" + }, + { + "checksumSHA1": "oBixceM+55gdk47iff8DSEIh3po=", + "path": "github.com/Azure/go-autorest/autorest/validation", + "revision": "0781901f19f1e7db3034d97ec57af753db0bf808", + "revisionTime": "2016-10-03T18:39:13Z", + "version": "v7.2.1", + "versionExact": "v7.2.1" + }, + { + "comment": "0.0.2-27-gedd0930", + "path": "github.com/CenturyLinkCloud/clc-sdk", + "revision": "edd0930276e7f1a5f2cf3e7835b5dc42a3217669" + }, + { + "comment": "0.0.2-27-gedd0930", + "path": "github.com/CenturyLinkCloud/clc-sdk/aa", + "revision": "edd0930276e7f1a5f2cf3e7835b5dc42a3217669" + }, + { + "comment": "0.0.2-27-gedd0930", + "path": "github.com/CenturyLinkCloud/clc-sdk/alert", + "revision": "edd0930276e7f1a5f2cf3e7835b5dc42a3217669" + }, + { + "comment": "0.0.2-27-gedd0930", + "path": "github.com/CenturyLinkCloud/clc-sdk/api", + "revision": "edd0930276e7f1a5f2cf3e7835b5dc42a3217669" + }, + { + "comment": "0.0.2-27-gedd0930", + "path": "github.com/CenturyLinkCloud/clc-sdk/dc", + "revision": "edd0930276e7f1a5f2cf3e7835b5dc42a3217669" + }, + { + "comment": "0.0.2-27-gedd0930", + "path": "github.com/CenturyLinkCloud/clc-sdk/group", + "revision": "edd0930276e7f1a5f2cf3e7835b5dc42a3217669" + }, + { + "comment": "0.0.2-27-gedd0930", + "path": "github.com/CenturyLinkCloud/clc-sdk/lb", + "revision": "edd0930276e7f1a5f2cf3e7835b5dc42a3217669" + }, + { + "comment": "0.0.2-27-gedd0930", + "path": "github.com/CenturyLinkCloud/clc-sdk/server", + "revision": "edd0930276e7f1a5f2cf3e7835b5dc42a3217669" + }, + { + "comment": "0.0.2-27-gedd0930", + "path": "github.com/CenturyLinkCloud/clc-sdk/status", + "revision": "edd0930276e7f1a5f2cf3e7835b5dc42a3217669" + }, + { + "path": "github.com/DreamItGetIT/statuscake", + "revision": "8cbe86575f00210a6df2c19cb2f59b00cd181de3" + }, + { + "path": "github.com/Ensighten/udnssdk", + "revision": "0290933f5e8afd933f2823fce32bf2847e6ea603" + }, + { + "path": "github.com/Unknwon/com", + "revision": "28b053d5a2923b87ce8c5a08f3af779894a72758" + }, + { + "path": "github.com/Unknwon/macaron", + "revision": "9b82b0372a4edf52f66fbc8feaa6aafe0123001d" + }, + { + "path": "github.com/Unknwon/macaron/inject", + "revision": "9b82b0372a4edf52f66fbc8feaa6aafe0123001d" + }, + { + "checksumSHA1": "csR8njyJfkweB0RCtfnLwgXNeqQ=", + "path": "github.com/ajg/form", + "revision": "7ff89c75808766205bfa4411abb436c98c33eb5e", + "revisionTime": "2016-06-29T21:43:12Z" + }, + { + "path": "github.com/apparentlymart/go-cidr/cidr", + "revision": "a3ebdb999b831ecb6ab8a226e31b07b2b9061c47" + }, + { + "path": "github.com/apparentlymart/go-grafana-api", + "revision": "d49f95c81c580a4e7a15244b9b12dce8f60750f4" + }, + { + "comment": "v0.0.1-1-g43fcd8f", + "path": "github.com/apparentlymart/go-rundeck-api/rundeck", + "revision": "43fcd8fbcf18fd5929258c044b4e3dd0643f875e" + }, + { + "path": "github.com/armon/circbuf", + "revision": "bbbad097214e2918d8543d5201d12bfd7bca254d" + }, + { + "path": "github.com/armon/go-radix", + "revision": "4239b77079c7b5d1243b7b4736304ce8ddb6f0f2" + }, + { + "checksumSHA1": "uUzIcEqMK3TgBylPKg04v+PTWDk=", + "path": "github.com/aws/aws-sdk-go", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "nGJsEKW1/7cQKGlYCuX3XwUhUmM=", + "path": "github.com/aws/aws-sdk-go/aws", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "Y9W+4GimK4Fuxq+vyIskVYFRnX4=", + "path": "github.com/aws/aws-sdk-go/aws/awserr", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "+q4vdl3l1Wom8K1wfIpJ4jlFsbY=", + "path": "github.com/aws/aws-sdk-go/aws/awsutil", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "/232RBWA3KnT7U+wciPS2+wmvR0=", + "path": "github.com/aws/aws-sdk-go/aws/client", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "ieAJ+Cvp/PKv1LpUEnUXpc3OI6E=", + "path": "github.com/aws/aws-sdk-go/aws/client/metadata", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "c1N3Loy3AS9zD+m5CzpPNAED39U=", + "path": "github.com/aws/aws-sdk-go/aws/corehandlers", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "zu5C95rmCZff6NYZb62lEaT5ibE=", + "path": "github.com/aws/aws-sdk-go/aws/credentials", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "KQiUK/zr3mqnAXD7x/X55/iNme0=", + "path": "github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "NUJUTWlc1sV8b7WjfiYc4JZbXl0=", + "path": "github.com/aws/aws-sdk-go/aws/credentials/endpointcreds", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "4Ipx+5xN0gso+cENC2MHMWmQlR4=", + "path": "github.com/aws/aws-sdk-go/aws/credentials/stscreds", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "DwhFsNluCFEwqzyp3hbJR3q2Wqs=", + "path": "github.com/aws/aws-sdk-go/aws/defaults", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "8E0fEBUJY/1lJOyVxzTxMGQGInk=", + "path": "github.com/aws/aws-sdk-go/aws/ec2metadata", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "5Ac22YMTBmrX/CXaEIXzWljr8UY=", + "path": "github.com/aws/aws-sdk-go/aws/request", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "AFcUmKIbqHEKLdNMYB8ubtT+FHA=", + "path": "github.com/aws/aws-sdk-go/aws/session", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "diXvBs1LRC0RJ9WK6sllWKdzC04=", + "path": "github.com/aws/aws-sdk-go/aws/signer/v4", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "3I/Ty6X9m2NQFPYTrSf4Pdf4cfk=", + "path": "github.com/aws/aws-sdk-go/private/endpoints", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "wk7EyvDaHwb5qqoOP/4d3cV0708=", + "path": "github.com/aws/aws-sdk-go/private/protocol", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "1QmQ3FqV37w0Zi44qv8pA1GeR0A=", + "path": "github.com/aws/aws-sdk-go/private/protocol/ec2query", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "pNeF0Ey7TfBArH5LBQhKOQXQbLY=", + "path": "github.com/aws/aws-sdk-go/private/protocol/json/jsonutil", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "R00RL5jJXRYq1iiK1+PGvMfvXyM=", + "path": "github.com/aws/aws-sdk-go/private/protocol/jsonrpc", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "ZqY5RWavBLWTo6j9xqdyBEaNFRk=", + "path": "github.com/aws/aws-sdk-go/private/protocol/query", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "5xzix1R8prUyWxgLnzUQoxTsfik=", + "path": "github.com/aws/aws-sdk-go/private/protocol/query/queryutil", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "TW/7U+/8ormL7acf6z2rv2hDD+s=", + "path": "github.com/aws/aws-sdk-go/private/protocol/rest", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "Rpu8KBtHZgvhkwHxUfaky+qW+G4=", + "path": "github.com/aws/aws-sdk-go/private/protocol/restjson", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "ODo+ko8D6unAxZuN1jGzMcN4QCc=", + "path": "github.com/aws/aws-sdk-go/private/protocol/restxml", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "eUEkjyMPAuekKBE4ou+nM9tXEas=", + "path": "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "F6mth+G7dXN1GI+nktaGo8Lx8aE=", + "path": "github.com/aws/aws-sdk-go/private/signer/v2", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "Eo9yODN5U99BK0pMzoqnBm7PCrY=", + "path": "github.com/aws/aws-sdk-go/private/waiter", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "1GRM9c7nKCaKe8Mx/tTcemGKq/4=", + "path": "github.com/aws/aws-sdk-go/service/apigateway", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "G6ei4JkA8kMIK6kWohho3ZyqEy4=", + "path": "github.com/aws/aws-sdk-go/service/applicationautoscaling", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "RrzC2aXy/ZNSW+DjkswSkozfHQg=", + "path": "github.com/aws/aws-sdk-go/service/autoscaling", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "qczOmsbnxTRlwr6/jld7iuhY1ec=", + "path": "github.com/aws/aws-sdk-go/service/cloudformation", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "LhUA6FygZFZM68UgRIKYtSqivBg=", + "path": "github.com/aws/aws-sdk-go/service/cloudfront", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "v/gjvG5+yfmnluXtIOXfCXPHmGk=", + "path": "github.com/aws/aws-sdk-go/service/cloudtrail", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "T368o7aYyvIQ/JrEj/EXWuZfjbk=", + "path": "github.com/aws/aws-sdk-go/service/cloudwatch", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "CtXDIQ4si4gg4WBwF10obV7pJIk=", + "path": "github.com/aws/aws-sdk-go/service/cloudwatchevents", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "TMUPZvpmtRRB3uWwGzwngB4Vg2w=", + "path": "github.com/aws/aws-sdk-go/service/cloudwatchlogs", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "4ejjXKR6n65oqZtjq0XhrU8ActU=", + "path": "github.com/aws/aws-sdk-go/service/codecommit", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "pstdsnanSdZ3M/jFMLGBOOi5L+E=", + "path": "github.com/aws/aws-sdk-go/service/codedeploy", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "JRjbBfjM9AbLaNyEHJVJ9p/EKRE=", + "path": "github.com/aws/aws-sdk-go/service/directoryservice", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "CvlvYHZtbdwCwx7l6o0ee5Ez6BA=", + "path": "github.com/aws/aws-sdk-go/service/dynamodb", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "hNyeWmtAtYlJ4xX+Vk0ZkwV+UfA=", + "path": "github.com/aws/aws-sdk-go/service/ec2", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "vIGJIbBE4GoNAsded9sC1R9oR9E=", + "path": "github.com/aws/aws-sdk-go/service/ecr", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "D/w9j9GKvw0xNnJ21UDiSGjN6dA=", + "path": "github.com/aws/aws-sdk-go/service/ecs", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "1OA1hi717X+c/lnu9XYEJLm4vi4=", + "path": "github.com/aws/aws-sdk-go/service/efs", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "/VZW/gbuUSkdn4cwXTSIQDdKGvQ=", + "path": "github.com/aws/aws-sdk-go/service/elasticache", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "Xd1GVn0Uin/56syb2ETMxOKAI/A=", + "path": "github.com/aws/aws-sdk-go/service/elasticbeanstalk", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "9vE6CgR7b01zZn0lFJzqOrve7B4=", + "path": "github.com/aws/aws-sdk-go/service/elasticsearchservice", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "OPAnsPFcq6iXH5hGng2t2mMpfaE=", + "path": "github.com/aws/aws-sdk-go/service/elastictranscoder", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "Hwqr2+Y5J7Oq3VXiL1Tj8231eqg=", + "path": "github.com/aws/aws-sdk-go/service/elb", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "cIUQhrMH0XJKIJSAf4LWpGxw7W0=", + "path": "github.com/aws/aws-sdk-go/service/elbv2", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "6aSvNkSZeB0dhw+vfmgsCumX0Nw=", + "path": "github.com/aws/aws-sdk-go/service/emr", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "nKEvKhAFlvWxhwCFW2JPSVfb4k4=", + "path": "github.com/aws/aws-sdk-go/service/firehose", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "sv61kTARWfkfrT8ouftcpZhepZ4=", + "path": "github.com/aws/aws-sdk-go/service/glacier", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "rCHIHwv4JYxTGc7XpfT9Fx70a1M=", + "path": "github.com/aws/aws-sdk-go/service/iam", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "VstNEQuAAuyaVpBh24fDQPSbZCM=", + "path": "github.com/aws/aws-sdk-go/service/kinesis", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "C+gqGSu7/EIGggant4O3wv8v+Yw=", + "path": "github.com/aws/aws-sdk-go/service/kms", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "R3OeBAWZe3p69aYIa37ispEz4Ys=", + "path": "github.com/aws/aws-sdk-go/service/lambda", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "EPrM4mjeehz7nm5WXbdldZpG0BU=", + "path": "github.com/aws/aws-sdk-go/service/opsworks", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "h6TAgyjW5GFdt8TPKBeczyGjkKM=", + "path": "github.com/aws/aws-sdk-go/service/rds", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "/fWs0DLkUSTyLWGUSz/kf/maoOM=", + "path": "github.com/aws/aws-sdk-go/service/redshift", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "H2DlzddrhenFeCOQH9ssYPcFePQ=", + "path": "github.com/aws/aws-sdk-go/service/route53", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "V3Ta5FZBZeAsIbtm1OGMkYyYmt8=", + "path": "github.com/aws/aws-sdk-go/service/s3", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "UUDH3SCShP/T6+K1OsKvCc2O+VA=", + "path": "github.com/aws/aws-sdk-go/service/ses", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "XbulhWUHjhuWqJymKeurU01uuiU=", + "path": "github.com/aws/aws-sdk-go/service/simpledb", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "nzzjBb+KNOXxvx9racGlHA6w/SU=", + "path": "github.com/aws/aws-sdk-go/service/sns", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "6wjnNcTzRa+BP7AnodnCb14J7/Q=", + "path": "github.com/aws/aws-sdk-go/service/sqs", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "fiGhMDgP0uyIcRqwDlBZyfEPyn0=", + "path": "github.com/aws/aws-sdk-go/service/ssm", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "Ko75IlSR0pVtGp7dCdZuXh1279Q=", + "path": "github.com/aws/aws-sdk-go/service/sts", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "A7C67KQAzKQ3x+cQMvicMcM2VLs=", + "path": "github.com/aws/aws-sdk-go/service/waf", + "revision": "09f8dd1eb5e719dc370b432d3d6d8f86e5bf6dbe", + "revisionTime": "2016-10-17T19:35:59Z" + }, + { + "checksumSHA1": "nqw2Qn5xUklssHTubS5HDvEL9L4=", + "path": "github.com/bgentry/go-netrc/netrc", + "revision": "9fd32a8b3d3d3f9d43c341bfe098430e07609480", + "revisionTime": "2014-04-22T17:41:19Z" + }, + { + "path": "github.com/bgentry/speakeasy", + "revision": "36e9cfdd690967f4f690c6edcc9ffacd006014a0" + }, + { + "path": "github.com/cenkalti/backoff", + "revision": "4dc77674aceaabba2c7e3da25d4c823edfb73f99" + }, + { + "checksumSHA1": "JJWLM3YJwgJD4vOLZnOYi1C2k0E=", + "path": "github.com/cloudflare/cloudflare-go", + "revision": "746075f034254832ead032aee02ac072636ff25a", + "revisionTime": "2016-06-01T21:42:51Z" + }, + { + "comment": "v2.3.0-alpha.0-652-ge552791", + "path": "github.com/coreos/etcd/client", + "revision": "e5527914aa42cae3063f52892e1ca4518da0e4ae" + }, + { + "comment": "v2.3.0-alpha.0-652-ge552791", + "path": "github.com/coreos/etcd/pkg/pathutil", + "revision": "e5527914aa42cae3063f52892e1ca4518da0e4ae" + }, + { + "comment": "v2.3.0-alpha.0-652-ge552791", + "path": "github.com/coreos/etcd/pkg/types", + "revision": "e5527914aa42cae3063f52892e1ca4518da0e4ae" + }, + { + "path": "github.com/cyberdelia/heroku-go/v3", + "revision": "81c5afa1abcf69cc18ccc24fa3716b5a455c9208" + }, + { + "path": "github.com/davecgh/go-spew/spew", + "revision": "5215b55f46b2b919f50a1df0eaa5886afe4e3b3d" + }, + { + "checksumSHA1": "yDQQpeUxwqB3C+4opweg6znWJQk=", + "comment": "v2.4.0-11-gf219341", + "path": "github.com/dgrijalva/jwt-go", + "revision": "f0777076321ab64f6efc15a82d9d23b98539b943", + "revisionTime": "2016-06-17T17:01:58Z" + }, + { + "checksumSHA1": "mbMr6wMbQnMrfIwUtej8QcGsx0A=", + "comment": "v0.9.0-20-gf75d769", + "path": "github.com/digitalocean/godo", + "revision": "e03ac28c3d9b216f7e9ed16bc6aa39e344d56491", + "revisionTime": "2016-06-27T19:55:12Z" + }, + { + "path": "github.com/dylanmei/iso8601", + "revision": "2075bf119b58e5576c6ed9f867b8f3d17f2e54d4" + }, + { + "path": "github.com/dylanmei/winrmtest", + "revision": "025617847eb2cf9bd1d851bc3b22ed28e6245ce5" + }, + { + "path": "github.com/fatih/structs", + "revision": "73c4e3dc02a78deaba8640d5f3a8c236ec1352bf" + }, + { + "path": "github.com/fsouza/go-dockerclient", + "revision": "bf97c77db7c945cbcdbf09d56c6f87a66f54537b" + }, + { + "path": "github.com/fsouza/go-dockerclient/external/github.com/Sirupsen/logrus", + "revision": "bf97c77db7c945cbcdbf09d56c6f87a66f54537b" + }, + { + "path": "github.com/fsouza/go-dockerclient/external/github.com/docker/docker/opts", + "revision": "bf97c77db7c945cbcdbf09d56c6f87a66f54537b" + }, + { + "path": "github.com/fsouza/go-dockerclient/external/github.com/docker/docker/pkg/archive", + "revision": "bf97c77db7c945cbcdbf09d56c6f87a66f54537b" + }, + { + "path": "github.com/fsouza/go-dockerclient/external/github.com/docker/docker/pkg/fileutils", + "revision": "bf97c77db7c945cbcdbf09d56c6f87a66f54537b" + }, + { + "path": "github.com/fsouza/go-dockerclient/external/github.com/docker/docker/pkg/homedir", + "revision": "bf97c77db7c945cbcdbf09d56c6f87a66f54537b" + }, + { + "path": "github.com/fsouza/go-dockerclient/external/github.com/docker/docker/pkg/idtools", + "revision": "bf97c77db7c945cbcdbf09d56c6f87a66f54537b" + }, + { + "path": "github.com/fsouza/go-dockerclient/external/github.com/docker/docker/pkg/ioutils", + "revision": "bf97c77db7c945cbcdbf09d56c6f87a66f54537b" + }, + { + "path": "github.com/fsouza/go-dockerclient/external/github.com/docker/docker/pkg/longpath", + "revision": "bf97c77db7c945cbcdbf09d56c6f87a66f54537b" + }, + { + "path": "github.com/fsouza/go-dockerclient/external/github.com/docker/docker/pkg/pools", + "revision": "bf97c77db7c945cbcdbf09d56c6f87a66f54537b" + }, + { + "path": "github.com/fsouza/go-dockerclient/external/github.com/docker/docker/pkg/promise", + "revision": "bf97c77db7c945cbcdbf09d56c6f87a66f54537b" + }, + { + "path": "github.com/fsouza/go-dockerclient/external/github.com/docker/docker/pkg/stdcopy", + "revision": "bf97c77db7c945cbcdbf09d56c6f87a66f54537b" + }, + { + "path": "github.com/fsouza/go-dockerclient/external/github.com/docker/docker/pkg/system", + "revision": "bf97c77db7c945cbcdbf09d56c6f87a66f54537b" + }, + { + "path": "github.com/fsouza/go-dockerclient/external/github.com/docker/go-units", + "revision": "bf97c77db7c945cbcdbf09d56c6f87a66f54537b" + }, + { + "path": "github.com/fsouza/go-dockerclient/external/github.com/hashicorp/go-cleanhttp", + "revision": "bf97c77db7c945cbcdbf09d56c6f87a66f54537b" + }, + { + "path": "github.com/fsouza/go-dockerclient/external/github.com/opencontainers/runc/libcontainer/user", + "revision": "bf97c77db7c945cbcdbf09d56c6f87a66f54537b" + }, + { + "path": "github.com/fsouza/go-dockerclient/external/golang.org/x/net/context", + "revision": "bf97c77db7c945cbcdbf09d56c6f87a66f54537b" + }, + { + "path": "github.com/fsouza/go-dockerclient/external/golang.org/x/sys/unix", + "revision": "bf97c77db7c945cbcdbf09d56c6f87a66f54537b" + }, + { + "checksumSHA1": "JKjnR1ApU6NcC79xcGaT7QRMx3A=", + "comment": "0.0.1-42-gea19666", + "path": "github.com/go-chef/chef", + "revision": "bf4e81635329d7a0fc8d7c858a899a72cdb69b9e", + "revisionTime": "2016-06-30T18:09:21Z" + }, + { + "comment": "v1.8.6", + "path": "github.com/go-ini/ini", + "revision": "afbd495e5aaea13597b5e14fe514ddeaa4d76fc3" + }, + { + "path": "github.com/golang/protobuf/proto", + "revision": "34a5f244f1c01cdfee8e60324258cfbb97a42aec" + }, + { + "path": "github.com/google/go-github/github", + "revision": "ac4445ca1c9dfacf5c0bbf34b712b23a3bb59b6c" + }, + { + "path": "github.com/google/go-querystring/query", + "revision": "2a60fc2ba6c19de80291203597d752e9ba58e4c0" + }, + { + "path": "github.com/gosimple/slug", + "revision": "ea39c588e0a5b1064e0f98d7307e6c2f286f32e8" + }, + { + "comment": "v2.6.0-179-gc0cf0cb", + "path": "github.com/grafana/grafana/pkg/api/dtos", + "revision": "c0cf0cb802adad24252ce1307c4c896edd566870" + }, + { + "comment": "v2.6.0-179-gc0cf0cb", + "path": "github.com/grafana/grafana/pkg/log", + "revision": "c0cf0cb802adad24252ce1307c4c896edd566870" + }, + { + "comment": "v2.6.0-179-gc0cf0cb", + "path": "github.com/grafana/grafana/pkg/models", + "revision": "c0cf0cb802adad24252ce1307c4c896edd566870" + }, + { + "comment": "v2.6.0-179-gc0cf0cb", + "path": "github.com/grafana/grafana/pkg/setting", + "revision": "c0cf0cb802adad24252ce1307c4c896edd566870" + }, + { + "comment": "v2.6.0-179-gc0cf0cb", + "path": "github.com/grafana/grafana/pkg/util", + "revision": "c0cf0cb802adad24252ce1307c4c896edd566870" + }, + { + "checksumSHA1": "FUiF2WLrih0JdHsUTMMDz3DRokw=", + "comment": "20141209094003-92-g95fa852", + "path": "github.com/hashicorp/atlas-go/archive", + "revision": "8e45a6c8b2de014db767a42c3ee777f101e11624", + "revisionTime": "2016-08-24T17:34:10Z" + }, + { + "checksumSHA1": "yylO3hSRKd0T4mveT9ho2OSARwU=", + "comment": "20141209094003-92-g95fa852", + "path": "github.com/hashicorp/atlas-go/v1", + "revision": "9be9a611a15ba2f857a99b332fd966896867299a", + "revisionTime": "2016-07-26T16:33:11Z" + }, + { + "checksumSHA1": "ZY6NCrR80zUmtOtPtKffbmFxRWw=", + "comment": "v0.6.3-28-g3215b87", + "path": "github.com/hashicorp/consul/api", + "revision": "6e061b2d580d80347b7c5c4dfc8730de7403a145", + "revisionTime": "2016-07-03T02:45:54Z" + }, + { + "path": "github.com/hashicorp/errwrap", + "revision": "7554cd9344cec97297fa6649b055a8c98c2a1e55" + }, + { + "path": "github.com/hashicorp/go-checkpoint", + "revision": "e4b2dc34c0f698ee04750bf2035d8b9384233e1b" + }, + { + "path": "github.com/hashicorp/go-cleanhttp", + "revision": "875fb671b3ddc66f8e2f0acc33829c8cb989a38d" + }, + { + "checksumSHA1": "aOWXSbYAdK3PBSMNFiK2ze4lPEc=", + "path": "github.com/hashicorp/go-getter", + "revision": "2fbd997432e72fe36060c8f07ec1eaf98d098177", + "revisionTime": "2016-09-12T21:42:52Z" + }, + { + "path": "github.com/hashicorp/go-getter/helper/url", + "revision": "2822987a64e0df1236ac29dd277ddf79f4871f9a" + }, + { + "path": "github.com/hashicorp/go-multierror", + "revision": "d30f09973e19c1dfcd120b2d9c4f168e68d6b5d5" + }, + { + "path": "github.com/hashicorp/go-plugin", + "revision": "cccb4a1328abbb89898f3ecf4311a05bddc4de6d" + }, + { + "checksumSHA1": "GBDE1KDl/7c5hlRPYRZ7+C0WQ0g=", + "path": "github.com/hashicorp/go-retryablehttp", + "revision": "f4ed9b0fa01a2ac614afe7c897ed2e3d8208f3e8", + "revisionTime": "2016-08-10T17:22:55Z" + }, + { + "path": "github.com/hashicorp/go-rootcerts", + "revision": "6bb64b370b90e7ef1fa532be9e591a81c3493e00" + }, + { + "path": "github.com/hashicorp/go-uuid", + "revision": "36289988d83ca270bc07c234c36f364b0dd9c9a7" + }, + { + "path": "github.com/hashicorp/go-version", + "revision": "7e3c02b30806fa5779d3bdfc152ce4c6f40e7b38" + }, + { + "checksumSHA1": "8OPDk+bKyRGJoKcS4QNw9F7dpE8=", + "path": "github.com/hashicorp/hcl", + "revision": "6f5bfed9a0a22222fbe4e731ae3481730ba41e93", + "revisionTime": "2016-10-08T07:35:57Z" + }, + { + "checksumSHA1": "XQmjDva9JCGGkIecOgwtBEMCJhU=", + "path": "github.com/hashicorp/hcl/hcl/ast", + "revision": "6f5bfed9a0a22222fbe4e731ae3481730ba41e93", + "revisionTime": "2016-10-08T07:35:57Z" + }, + { + "checksumSHA1": "5HVecyfmcTm6OTffEi6LGayQf5M=", + "path": "github.com/hashicorp/hcl/hcl/fmtcmd", + "revision": "6f5bfed9a0a22222fbe4e731ae3481730ba41e93", + "revisionTime": "2016-10-08T07:35:57Z" + }, + { + "checksumSHA1": "un4pN4yL5bl6LL3CgWacFbIeHVg=", + "path": "github.com/hashicorp/hcl/hcl/parser", + "revision": "6f5bfed9a0a22222fbe4e731ae3481730ba41e93", + "revisionTime": "2016-10-08T07:35:57Z" + }, + { + "checksumSHA1": "QjoxNbg+jBmtewexLaBZ8EJEl24=", + "path": "github.com/hashicorp/hcl/hcl/printer", + "revision": "6f5bfed9a0a22222fbe4e731ae3481730ba41e93", + "revisionTime": "2016-10-08T07:35:57Z" + }, + { + "checksumSHA1": "lgR7PSAZ0RtvAc9OCtCnNsF/x8g=", + "path": "github.com/hashicorp/hcl/hcl/scanner", + "revision": "6f5bfed9a0a22222fbe4e731ae3481730ba41e93", + "revisionTime": "2016-10-08T07:35:57Z" + }, + { + "checksumSHA1": "JlZmnzqdmFFyb1+2afLyR3BOE/8=", + "path": "github.com/hashicorp/hcl/hcl/strconv", + "revision": "6f5bfed9a0a22222fbe4e731ae3481730ba41e93", + "revisionTime": "2016-10-08T07:35:57Z" + }, + { + "checksumSHA1": "c6yprzj06ASwCo18TtbbNNBHljA=", + "path": "github.com/hashicorp/hcl/hcl/token", + "revision": "6f5bfed9a0a22222fbe4e731ae3481730ba41e93", + "revisionTime": "2016-10-08T07:35:57Z" + }, + { + "checksumSHA1": "fpQQdjFUZOoslYuFNKZMSO0N0ik=", + "path": "github.com/hashicorp/hcl/json/parser", + "revision": "6f5bfed9a0a22222fbe4e731ae3481730ba41e93", + "revisionTime": "2016-10-08T07:35:57Z" + }, + { + "checksumSHA1": "YdvFsNOMSWMLnY6fcliWQa0O5Fw=", + "path": "github.com/hashicorp/hcl/json/scanner", + "revision": "6f5bfed9a0a22222fbe4e731ae3481730ba41e93", + "revisionTime": "2016-10-08T07:35:57Z" + }, + { + "checksumSHA1": "fNlXQCQEnb+B3k5UDL/r15xtSJY=", + "path": "github.com/hashicorp/hcl/json/token", + "revision": "6f5bfed9a0a22222fbe4e731ae3481730ba41e93", + "revisionTime": "2016-10-08T07:35:57Z" + }, + { + "checksumSHA1": "RYz/9y1RMZfg+oMgEyJIWiSl1dU=", + "path": "github.com/hashicorp/hil", + "revision": "3e00ff29065d64c0f8e9ef7efed82686bbda81ca", + "revisionTime": "2016-10-14T17:08:44Z" + }, + { + "checksumSHA1": "WYIQ+nJPa191qpQIUsauF4wXYSw=", + "path": "github.com/hashicorp/hil/ast", + "revision": "3e00ff29065d64c0f8e9ef7efed82686bbda81ca", + "revisionTime": "2016-10-14T17:08:44Z" + }, + { + "path": "github.com/hashicorp/logutils", + "revision": "0dc08b1671f34c4250ce212759ebd880f743d883" + }, + { + "comment": "v0.7.0-12-ge4ec8cc", + "path": "github.com/hashicorp/serf/coordinate", + "revision": "e4ec8cc423bbe20d26584b96efbeb9102e16d05f" + }, + { + "path": "github.com/hashicorp/yamux", + "revision": "df949784da9ed028ee76df44652e42d37a09d7e4" + }, + { + "checksumSHA1": "jq2E42bB0kwKaerHXwJslUea4eM=", + "path": "github.com/henrikhodne/go-librato/librato", + "revision": "6e9aa4b1a8a8b735ad14b4f1c9542ef183e82dc2", + "revisionTime": "2016-08-11T07:26:26Z" + }, + { + "comment": "v0.0.2-37-g5cd82f0", + "path": "github.com/hmrc/vmware-govcd", + "revision": "5cd82f01aa1c97afa9b23ef6f4f42a60f3106003" + }, + { + "comment": "v0.0.2-37-g5cd82f0", + "path": "github.com/hmrc/vmware-govcd/types/v56", + "revision": "5cd82f01aa1c97afa9b23ef6f4f42a60f3106003" + }, + { + "comment": "0.2.1-3-gb1859b1", + "path": "github.com/imdario/mergo", + "revision": "b1859b199a7171589445bdea9fa8c19362613f80" + }, + { + "comment": "v0.10.0-617-gf233a8b", + "path": "github.com/influxdata/influxdb/client", + "revision": "f233a8bac88d1f2dc282a98186f5a3363b806181" + }, + { + "comment": "v0.10.0-617-gf233a8b", + "path": "github.com/influxdata/influxdb/models", + "revision": "f233a8bac88d1f2dc282a98186f5a3363b806181" + }, + { + "comment": "v0.10.0-617-gf233a8b", + "path": "github.com/influxdata/influxdb/pkg/escape", + "revision": "f233a8bac88d1f2dc282a98186f5a3363b806181" + }, + { + "checksumSHA1": "zyyyjWKu9gGLFy00k8utV7pncvg=", + "path": "github.com/jen20/awspolicyequivalence", + "revision": "ebe5485f2c1822e7bee8b5008e14d9481a14a3a3", + "revisionTime": "2016-09-29T21:48:42Z" + }, + { + "checksumSHA1": "oPpOfZn11Ef6DWOoETxSW9Venzs=", + "path": "github.com/jen20/riviera/azure", + "revision": "1159d86fc8144abafeb29ee7c5a3e2e85af336ba", + "revisionTime": "2016-06-30T14:11:29Z" + }, + { + "checksumSHA1": "ncdT+1PFEF5ly0niXuQc9/pKzT0=", + "path": "github.com/jen20/riviera/dns", + "revision": "1159d86fc8144abafeb29ee7c5a3e2e85af336ba", + "revisionTime": "2016-06-30T14:11:29Z" + }, + { + "checksumSHA1": "zVXx6ha3bt0N4ukRbRHXjSl91S4=", + "path": "github.com/jen20/riviera/search", + "revision": "1159d86fc8144abafeb29ee7c5a3e2e85af336ba", + "revisionTime": "2016-06-30T14:11:29Z" + }, + { + "checksumSHA1": "KfquDaeBPGchw92QnojlJFsJKgk=", + "path": "github.com/jen20/riviera/sql", + "revision": "1159d86fc8144abafeb29ee7c5a3e2e85af336ba", + "revisionTime": "2016-06-30T14:11:29Z" + }, + { + "checksumSHA1": "nKUCquNpJ9ifHgkXoT4K3Xar6R8=", + "path": "github.com/jen20/riviera/storage", + "revision": "1159d86fc8144abafeb29ee7c5a3e2e85af336ba", + "revisionTime": "2016-06-30T14:11:29Z" + }, + { + "comment": "0.2.2-2-gc01cf91", + "path": "github.com/jmespath/go-jmespath", + "revision": "c01cf91b011868172fdcd9f41838e80c9d716264" + }, + { + "path": "github.com/joyent/gocommon", + "revision": "ade826b8b54e81a779ccb29d358a45ba24b7809c" + }, + { + "path": "github.com/joyent/gocommon/client", + "revision": "ade826b8b54e81a779ccb29d358a45ba24b7809c" + }, + { + "path": "github.com/joyent/gocommon/errors", + "revision": "ade826b8b54e81a779ccb29d358a45ba24b7809c" + }, + { + "path": "github.com/joyent/gocommon/http", + "revision": "ade826b8b54e81a779ccb29d358a45ba24b7809c" + }, + { + "path": "github.com/joyent/gocommon/jpc", + "revision": "ade826b8b54e81a779ccb29d358a45ba24b7809c" + }, + { + "checksumSHA1": "ysHPYOB/xV0dMIAES8ZOQu9KwQQ=", + "path": "github.com/joyent/gomanta/manta", + "revision": "ece4f0cbe61f600794bbcff71d8f9ee86909b2dc", + "revisionTime": "2016-09-13T20:25:01Z" + }, + { + "checksumSHA1": "PDzjpRNeytdYU39/PByzwCMvKQ8=", + "path": "github.com/joyent/gosdc/cloudapi", + "revision": "042c6e9de2b48a646d310e70cc0050c83fe18200", + "revisionTime": "2016-04-26T05:09:12Z" + }, + { + "checksumSHA1": "N0NRIcJF7aj1wd56DA1N9GpYq/4=", + "path": "github.com/joyent/gosign/auth", + "revision": "8978c75ffefb3f63a977ad9cbfce40caeb40177e", + "revisionTime": "2016-06-16T18:50:15Z" + }, + { + "comment": "v0.3.0-33-g53d1c0a", + "path": "github.com/jtopjian/cobblerclient", + "revision": "53d1c0a0b003aabfa7ecfa848d856606cb481196" + }, + { + "path": "github.com/kardianos/osext", + "revision": "29ae4ffbc9a6fe9fb2bc5029050ce6996ea1d3bc" + }, + { + "path": "github.com/kolo/xmlrpc", + "revision": "0826b98aaa29c0766956cb40d45cf7482a597671" + }, + { + "comment": "go1.0-cutoff-74-g8ad2b29", + "path": "github.com/lib/pq", + "revision": "8ad2b298cadd691a77015666a5372eae5dbfac8f" + }, + { + "comment": "go1.0-cutoff-74-g8ad2b29", + "path": "github.com/lib/pq/oid", + "revision": "8ad2b298cadd691a77015666a5372eae5dbfac8f" + }, + { + "checksumSHA1": "KoB26db2df078Y2UClT7twI+dxg=", + "path": "github.com/logentries/le_goclient", + "revision": "f6d02e2fca401d3550e08a292f54b0efb6a578f0", + "revisionTime": "2016-07-04T14:48:39Z" + }, + { + "path": "github.com/lusis/go-artifactory/src/artifactory.v401", + "revision": "7e4ce345df825841661d1b3ffbb1327083d4a22f" + }, + { + "path": "github.com/macaron-contrib/session", + "revision": "d392059301313eee8059c85a4e698f22c664ef78" + }, + { + "path": "github.com/masterzen/simplexml/dom", + "revision": "95ba30457eb1121fa27753627c774c7cd4e90083" + }, + { + "path": "github.com/masterzen/winrm/soap", + "revision": "54ea5d01478cfc2afccec1504bd0dfcd8c260cfa" + }, + { + "path": "github.com/masterzen/winrm/winrm", + "revision": "54ea5d01478cfc2afccec1504bd0dfcd8c260cfa" + }, + { + "path": "github.com/masterzen/xmlpath", + "revision": "13f4951698adc0fa9c1dda3e275d489a24201161" + }, + { + "path": "github.com/mattn/go-colorable", + "revision": "9cbef7c35391cca05f15f8181dc0b18bc9736dbb" + }, + { + "path": "github.com/mattn/go-isatty", + "revision": "56b76bdf51f7708750eac80fa38b952bb9f32639" + }, + { + "comment": "v0.6.0", + "path": "github.com/maximilien/softlayer-go/client", + "revision": "85659debe44fab5792fc92cf755c04b115b9dc19" + }, + { + "comment": "v0.6.0", + "path": "github.com/maximilien/softlayer-go/common", + "revision": "85659debe44fab5792fc92cf755c04b115b9dc19" + }, + { + "comment": "v0.6.0", + "path": "github.com/maximilien/softlayer-go/data_types", + "revision": "85659debe44fab5792fc92cf755c04b115b9dc19" + }, + { + "comment": "v0.6.0", + "path": "github.com/maximilien/softlayer-go/services", + "revision": "85659debe44fab5792fc92cf755c04b115b9dc19" + }, + { + "comment": "v0.6.0", + "path": "github.com/maximilien/softlayer-go/softlayer", + "revision": "85659debe44fab5792fc92cf755c04b115b9dc19" + }, + { + "checksumSHA1": "GSum+utW01N3KeMdvAPnsW0TemM=", + "path": "github.com/michaelklishin/rabbit-hole", + "revision": "88550829bcdcf614361c73459c903578eb44074e", + "revisionTime": "2016-07-06T11:10:56Z" + }, + { + "checksumSHA1": "7niW29CvYceZ6zbia6b/LT+yD/M=", + "path": "github.com/mitchellh/cli", + "revision": "fcf521421aa29bde1d93b6920dfce826d7932208", + "revisionTime": "2016-08-15T18:46:15Z" + }, + { + "path": "github.com/mitchellh/colorstring", + "revision": "8631ce90f28644f54aeedcb3e389a85174e067d1" + }, + { + "checksumSHA1": "guxbLo8KHHBeM0rzou4OTzzpDNs=", + "path": "github.com/mitchellh/copystructure", + "revision": "5af94aef99f597e6a9e1f6ac6be6ce0f3c96b49d", + "revisionTime": "2016-10-13T19:53:42Z" + }, + { + "path": "github.com/mitchellh/go-homedir", + "revision": "d682a8f0cf139663a984ff12528da460ca963de9" + }, + { + "path": "github.com/mitchellh/go-linereader", + "revision": "07bab5fdd9580500aea6ada0e09df4aa28e68abd" + }, + { + "path": "github.com/mitchellh/hashstructure", + "revision": "6b17d669fac5e2f71c16658d781ec3fdd3802b69" + }, + { + "path": "github.com/mitchellh/mapstructure", + "revision": "281073eb9eb092240d33ef253c404f1cca550309" + }, + { + "comment": "v0.8.6-411-g314aad3", + "path": "github.com/mitchellh/packer/common/uuid", + "revision": "314aad379a39f6ad5bcca278e6757d9abbb3a52e" + }, + { + "path": "github.com/mitchellh/panicwrap", + "revision": "a1e50bc201f387747a45ffff020f1af2d8759e88" + }, + { + "path": "github.com/mitchellh/prefixedio", + "revision": "6e6954073784f7ee67b28f2d22749d6479151ed7" + }, + { + "checksumSHA1": "vBpuqNfSTZcAR/0tP8tNYacySGs=", + "path": "github.com/mitchellh/reflectwalk", + "revision": "92573fe8d000a145bfebc03a16bc22b34945867f", + "revisionTime": "2016-10-03T17:45:16Z" + }, + { + "checksumSHA1": "/iig5lYSPCL3C8J7e4nTAevYNDE=", + "comment": "v0.2.0-8-g841842b", + "path": "github.com/nesv/go-dynect/dynect", + "revision": "2dc6a86cf75ce4b33516d2a13c9c0c378310cf3b", + "revisionTime": "2016-04-25T23:31:34Z" + }, + { + "path": "github.com/nu7hatch/gouuid", + "revision": "179d4d0c4d8d407a32af483c2354df1d2c91e6c3" + }, + { + "path": "github.com/packer-community/winrmcp/winrmcp", + "revision": "3d184cea22ee1c41ec1697e0d830ff0c78f7ea97" + }, + { + "checksumSHA1": "MexE5QPVAwVfQcJBnMGMgD+s9L0=", + "path": "github.com/packethost/packngo", + "revision": "7cd5fed006859e86dd5641a6cf9812e855b7574a", + "revisionTime": "2016-08-11T16:27:25Z" + }, + { + "path": "github.com/pborman/uuid", + "revision": "dee7705ef7b324f27ceb85a121c61f2c2e8ce988" + }, + { + "path": "github.com/pearkes/dnsimple", + "revision": "78996265f576c7580ff75d0cb2c606a61883ceb8" + }, + { + "path": "github.com/pearkes/mailgun", + "revision": "b88605989c4141d22a6d874f78800399e5bb7ac2" + }, + { + "comment": "v0.3.0", + "path": "github.com/pkg/errors", + "revision": "42fa80f2ac6ed17a977ce826074bd3009593fa9d" + }, + { + "checksumSHA1": "4Q/JrLYYcwGRPVpd6sJ5yW/E9GQ=", + "path": "github.com/rackspace/gophercloud", + "revision": "985a863d6dd5f928b485dbc8ef440813aafa39ad", + "revisionTime": "2016-06-23T23:57:31Z" + }, + { + "checksumSHA1": "dh2tsaicjrx9LgR6uuSeilSFzAY=", + "path": "github.com/rackspace/gophercloud/openstack", + "revision": "985a863d6dd5f928b485dbc8ef440813aafa39ad", + "revisionTime": "2016-06-23T23:57:31Z" + }, + { + "checksumSHA1": "KXOy+EDMJgyZT0MoTXMhcFZVgNM=", + "path": "github.com/rackspace/gophercloud/openstack/blockstorage/v1/volumes", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "uh4DrOO+91jmxNlamBoloURUPO0=", + "path": "github.com/rackspace/gophercloud/openstack/blockstorage/v1/volumes/testing", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "ptDng4MELpgmyMbKx7q46euXYck=", + "path": "github.com/rackspace/gophercloud/openstack/blockstorage/v2/volumes", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "pQOpY/k5Gh8pUDmsf8ntH6mtGYQ=", + "path": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/bootfromvolume", + "revision": "985a863d6dd5f928b485dbc8ef440813aafa39ad", + "revisionTime": "2016-06-23T23:57:31Z" + }, + { + "checksumSHA1": "Jpju6sEOCeMRL9SP+zy86ydhPDo=", + "path": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/floatingip", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "I9QKv1AKFpSzX/O3KT6BSFat+tk=", + "path": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/keypairs", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "mA4UpOZ0dWxMKkzZqSJ3yzmDGng=", + "path": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/schedulerhints", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "foERSFhAuTWCXRL11GUOX+uWiaI=", + "path": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/secgroups", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "uNrf4iwP1ABn2ArI1mUS7jwnTQo=", + "path": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/servergroups", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "jqSmOJoNKVtGwDhuoilAF7iftqA=", + "path": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/startstop", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "rHEOEAm10HDsfBLU8FqKSUdwqFY=", + "path": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/tenantnetworks", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "yMt7J+JXn8fC/b8qQLyeJYK6Kyc=", + "path": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/volumeattach", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "/CUwRPw3GTR4kDDyhlevEJOz8VM=", + "path": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/volumeattach/testing", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "evzUqx0LmT1wg1XLJBvfaDhb6Pc=", + "path": "github.com/rackspace/gophercloud/openstack/compute/v2/flavors", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "il+znRRlkKOSfP+hxrz+0IAb2FU=", + "path": "github.com/rackspace/gophercloud/openstack/compute/v2/images", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "LMxGZMRGX1MK7qaPmamj7cDJLbU=", + "path": "github.com/rackspace/gophercloud/openstack/compute/v2/servers", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "gJg3QKHt4wCjM5kUjUZnXGlL57c=", + "path": "github.com/rackspace/gophercloud/openstack/identity/v2/tenants", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "6R8yUmY2FsIYn5rjvBEx4eZuVfQ=", + "path": "github.com/rackspace/gophercloud/openstack/identity/v2/tokens", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "yQG3tZgPMFBw2kIp4TR+9E4QH78=", + "path": "github.com/rackspace/gophercloud/openstack/identity/v3/tokens", + "revision": "985a863d6dd5f928b485dbc8ef440813aafa39ad", + "revisionTime": "2016-06-23T23:57:31Z" + }, + { + "checksumSHA1": "EMdUpMYV9vQAEtBkpUdSqYaYBVc=", + "path": "github.com/rackspace/gophercloud/openstack/networking/v2/common", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "CIMIys+Dh/kkLj4i+Xyn7CUDTyM=", + "path": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/fwaas/firewalls", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "Dq/QBMYHUlISQXYrDCltTaF2HKU=", + "path": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/fwaas/policies", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "NppejKsGwws2GmxajE6ZZVuP61M=", + "path": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/fwaas/rules", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "2zGAc21qrvbg0BWMqb6ADhiIJvc=", + "path": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/layer3/floatingips", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "N1I73FBojC4D1kiASMHBLhYNV5A=", + "path": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/layer3/routers", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "qqJpW4mn6W25zzaXgVS9FeRYmlU=", + "path": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas/members", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "YaxzH3aa+FSPo7kt5wVxJfKFE04=", + "path": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas/monitors", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "61RDejBCkPnueotbY/2uVzCPt/Y=", + "path": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas/pools", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "dD5y2ImtufAHjyVFdShtBhtAWkA=", + "path": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas/vips", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "fChoykh7X7OjiV29nV+pl3k6y3Y=", + "path": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas_v2", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z", + "tree": true + }, + { + "checksumSHA1": "VlAkiJAb6yIWthZpDM/hNXBzmo4=", + "path": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/security/groups", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "CKBV6wraj8j/fwkUllbry6kx/TE=", + "path": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/security/rules", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "3p4PfOfnJ9ZpqpbkgP2hpe/ZhCs=", + "path": "github.com/rackspace/gophercloud/openstack/networking/v2/networks", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "UGPFc7aRab78XkJp9/c0MUfVy3I=", + "path": "github.com/rackspace/gophercloud/openstack/networking/v2/ports", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "23UqLsJHksZiopcSwWmkrX3e0CY=", + "path": "github.com/rackspace/gophercloud/openstack/networking/v2/subnets", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "HecTWfPTprklkbLV5wOycG/PiGA=", + "path": "github.com/rackspace/gophercloud/openstack/objectstorage/v1/accounts", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "bCETKrDen/3DNnzvR0fTr91Sq+k=", + "path": "github.com/rackspace/gophercloud/openstack/objectstorage/v1/containers", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "gaOb5FwWD06v8fAyHqcejyD7wHY=", + "path": "github.com/rackspace/gophercloud/openstack/objectstorage/v1/objects", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "WkgQ5ZIv6/KQlNfweJd+889nWPk=", + "path": "github.com/rackspace/gophercloud/openstack/utils", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "6YVL0nw4z/n45Mx2SXTsQ8N1LYk=", + "path": "github.com/rackspace/gophercloud/pagination", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "U2yzK8GFNeHZqcoeotcHmK57lAI=", + "path": "github.com/rackspace/gophercloud/testhelper", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "checksumSHA1": "fXtvTbQBML8QLu/qpD9sAt53J00=", + "path": "github.com/rackspace/gophercloud/testhelper/client", + "revision": "d47105ce4ef90cea9a14b85c8dd172b760085828", + "revisionTime": "2016-06-03T22:34:01Z" + }, + { + "path": "github.com/rainycape/unidecode", + "revision": "cb7f23ec59bec0d61b19c56cd88cee3d0cc1870c" + }, + { + "comment": "v2.0.1-8-g983d3a5", + "path": "github.com/ryanuber/columnize", + "revision": "983d3a5fab1bf04d1b412465d2d9f8430e2e917e" + }, + { + "path": "github.com/satori/go.uuid", + "revision": "d41af8bb6a7704f00bc3b7cba9355ae6a5a80048" + }, + { + "checksumSHA1": "DWJoWDXcRi4HUCyxU6dLVVjR4pI=", + "path": "github.com/sethvargo/go-fastly", + "revision": "b0a18d43769d55365d4fbd9ba36493e5c0dcd8f5", + "revisionTime": "2016-07-08T18:18:56Z" + }, + { + "comment": "v1.1-2-g5578a8c", + "path": "github.com/soniah/dnsmadeeasy", + "revision": "5578a8c15e33958c61cf7db720b6181af65f4a9e" + }, + { + "path": "github.com/sthulb/mime/multipart", + "revision": "698462dc9685d7743511c26da726c1b0c1cfb111" + }, + { + "path": "github.com/tent/http-link-go", + "revision": "ac974c61c2f990f4115b119354b5e0b47550e888" + }, + { + "comment": "v0.6.2", + "path": "github.com/vmware/govmomi", + "revision": "9051bd6b44125d9472e0c148b5965692ab283d4a" + }, + { + "comment": "v0.6.2", + "path": "github.com/vmware/govmomi/find", + "revision": "9051bd6b44125d9472e0c148b5965692ab283d4a" + }, + { + "comment": "v0.6.2", + "path": "github.com/vmware/govmomi/list", + "revision": "9051bd6b44125d9472e0c148b5965692ab283d4a" + }, + { + "comment": "v0.6.2", + "path": "github.com/vmware/govmomi/object", + "revision": "9051bd6b44125d9472e0c148b5965692ab283d4a" + }, + { + "comment": "v0.6.2", + "path": "github.com/vmware/govmomi/property", + "revision": "9051bd6b44125d9472e0c148b5965692ab283d4a" + }, + { + "comment": "v0.6.2", + "path": "github.com/vmware/govmomi/session", + "revision": "9051bd6b44125d9472e0c148b5965692ab283d4a" + }, + { + "comment": "v0.6.2", + "path": "github.com/vmware/govmomi/task", + "revision": "9051bd6b44125d9472e0c148b5965692ab283d4a" + }, + { + "comment": "v0.6.2", + "path": "github.com/vmware/govmomi/vim25", + "revision": "9051bd6b44125d9472e0c148b5965692ab283d4a" + }, + { + "comment": "v0.6.2", + "path": "github.com/vmware/govmomi/vim25/debug", + "revision": "9051bd6b44125d9472e0c148b5965692ab283d4a" + }, + { + "comment": "v0.6.2", + "path": "github.com/vmware/govmomi/vim25/methods", + "revision": "9051bd6b44125d9472e0c148b5965692ab283d4a" + }, + { + "comment": "v0.6.2", + "path": "github.com/vmware/govmomi/vim25/mo", + "revision": "9051bd6b44125d9472e0c148b5965692ab283d4a" + }, + { + "comment": "v0.6.2", + "path": "github.com/vmware/govmomi/vim25/progress", + "revision": "9051bd6b44125d9472e0c148b5965692ab283d4a" + }, + { + "comment": "v0.6.2", + "path": "github.com/vmware/govmomi/vim25/soap", + "revision": "9051bd6b44125d9472e0c148b5965692ab283d4a" + }, + { + "comment": "v0.6.2", + "path": "github.com/vmware/govmomi/vim25/types", + "revision": "9051bd6b44125d9472e0c148b5965692ab283d4a" + }, + { + "comment": "v0.6.2", + "path": "github.com/vmware/govmomi/vim25/xml", + "revision": "9051bd6b44125d9472e0c148b5965692ab283d4a" + }, + { + "checksumSHA1": "CT9vuv0kaEnwEDcNywB/wD6eA54=", + "comment": "v2.1.3", + "path": "github.com/xanzy/go-cloudstack/cloudstack", + "revision": "b33e8849d135b99cb8236237524d10b41f597cb3", + "revisionTime": "2016-08-31T14:38:59Z" + }, + { + "path": "github.com/xanzy/ssh-agent", + "revision": "ba9c9e33906f58169366275e3450db66139a31a9" + }, + { + "comment": "v1.5.4-13-g75ce5fb", + "path": "github.com/ziutek/mymysql/mysql", + "revision": "75ce5fbba34b1912a3641adbd58cf317d7315821" + }, + { + "comment": "v1.5.4-13-g75ce5fb", + "path": "github.com/ziutek/mymysql/native", + "revision": "75ce5fbba34b1912a3641adbd58cf317d7315821" + }, + { + "comment": "v1.5.4-13-g75ce5fb", + "path": "github.com/ziutek/mymysql/thrsafe", + "revision": "75ce5fbba34b1912a3641adbd58cf317d7315821" + }, + { + "checksumSHA1": "jBiNbkwHKwnuGfkaccnLc/1rzto=", + "path": "github.com/zorkian/go-datadog-api", + "revision": "f9f89391f35f5c8eafed4b75b5797b9b23851908", + "revisionTime": "2016-10-04T18:54:04Z" + }, + { + "path": "golang.org/x/crypto/curve25519", + "revision": "1f22c0103821b9390939b6776727195525381532" + }, + { + "path": "golang.org/x/crypto/ssh", + "revision": "1f22c0103821b9390939b6776727195525381532" + }, + { + "path": "golang.org/x/crypto/ssh/agent", + "revision": "1f22c0103821b9390939b6776727195525381532" + }, + { + "path": "golang.org/x/net/context", + "revision": "04b9de9b512f58addf28c9853d50ebef61c3953e" + }, + { + "path": "golang.org/x/net/context/ctxhttp", + "revision": "04b9de9b512f58addf28c9853d50ebef61c3953e" + }, + { + "path": "golang.org/x/oauth2", + "revision": "2897dcade18a126645f1368de827f1e613a60049" + }, + { + "path": "golang.org/x/oauth2/google", + "revision": "2897dcade18a126645f1368de827f1e613a60049" + }, + { + "path": "golang.org/x/oauth2/internal", + "revision": "2897dcade18a126645f1368de827f1e613a60049" + }, + { + "path": "golang.org/x/oauth2/jws", + "revision": "2897dcade18a126645f1368de827f1e613a60049" + }, + { + "path": "golang.org/x/oauth2/jwt", + "revision": "2897dcade18a126645f1368de827f1e613a60049" + }, + { + "path": "golang.org/x/sys/unix", + "revision": "5eaf0df67e70d6997a9fe0ed24383fa1b01638d3" + }, + { + "checksumSHA1": "QDbbtubwRml+xdgIfNy/yC6Ff78=", + "path": "google.golang.org/api/cloudresourcemanager/v1", + "revision": "43c645d4bcf9251ced36c823a93b6d198764aae4", + "revisionTime": "2016-03-24T17:48:31Z" + }, + { + "checksumSHA1": "K2ewXgyH/uLdvOdg2ad02Z6Jym0=", + "path": "google.golang.org/api/compute/v1", + "revision": "3f131f305a2ae45080e71fdb780128cc92e8745e", + "revisionTime": "2016-08-05T04:28:55Z" + }, + { + "checksumSHA1": "vnUDudEduSBUqwC+jVs6xt1Sm0w=", + "path": "google.golang.org/api/container/v1", + "revision": "3f131f305a2ae45080e71fdb780128cc92e8745e", + "revisionTime": "2016-08-05T04:28:55Z" + }, + { + "checksumSHA1": "ij1heqr+F07H75D4og/yUqRFf3I=", + "path": "google.golang.org/api/dns/v1", + "revision": "3f131f305a2ae45080e71fdb780128cc92e8745e", + "revisionTime": "2016-08-05T04:28:55Z" + }, + { + "checksumSHA1": "SLzHstPylt3EcBt9yEBJV+JqGp4=", + "path": "google.golang.org/api/gensupport", + "revision": "3f131f305a2ae45080e71fdb780128cc92e8745e", + "revisionTime": "2016-08-05T04:28:55Z" + }, + { + "checksumSHA1": "yQREK/OWrz9PLljbr127+xFk6J0=", + "path": "google.golang.org/api/googleapi", + "revision": "3f131f305a2ae45080e71fdb780128cc92e8745e", + "revisionTime": "2016-08-05T04:28:55Z" + }, + { + "checksumSHA1": "ii4ET3JHk3vkMUEcg+9t/1RZSUU=", + "path": "google.golang.org/api/googleapi/internal/uritemplates", + "revision": "3f131f305a2ae45080e71fdb780128cc92e8745e", + "revisionTime": "2016-08-05T04:28:55Z" + }, + { + "checksumSHA1": "NetCfFfklnz0sJXmRPIRJsPKV5Q=", + "path": "google.golang.org/api/iam/v1", + "revision": "43c645d4bcf9251ced36c823a93b6d198764aae4", + "revisionTime": "2016-03-24T17:48:31Z" + }, + { + "checksumSHA1": "M7er6A8YuCmllh/cj/fZhHDEb3I=", + "path": "google.golang.org/api/pubsub/v1", + "revision": "3f131f305a2ae45080e71fdb780128cc92e8745e", + "revisionTime": "2016-08-05T04:28:55Z" + }, + { + "checksumSHA1": "dpHo8BrIZVf88kAsFoWYuSpG8i4=", + "path": "google.golang.org/api/sqladmin/v1beta4", + "revision": "3f131f305a2ae45080e71fdb780128cc92e8745e", + "revisionTime": "2016-08-05T04:28:55Z" + }, + { + "checksumSHA1": "qi0hBhwhMRAYlSYFHeHCde+jzAQ=", + "path": "google.golang.org/api/storage/v1", + "revision": "3f131f305a2ae45080e71fdb780128cc92e8745e", + "revisionTime": "2016-08-05T04:28:55Z" + }, + { + "path": "google.golang.org/appengine", + "revision": "b667a5000b082e49c6c6d16867d376a12e9490cd" + }, + { + "path": "google.golang.org/appengine/internal", + "revision": "b667a5000b082e49c6c6d16867d376a12e9490cd" + }, + { + "path": "google.golang.org/appengine/internal/app_identity", + "revision": "b667a5000b082e49c6c6d16867d376a12e9490cd" + }, + { + "path": "google.golang.org/appengine/internal/base", + "revision": "b667a5000b082e49c6c6d16867d376a12e9490cd" + }, + { + "path": "google.golang.org/appengine/internal/datastore", + "revision": "b667a5000b082e49c6c6d16867d376a12e9490cd" + }, + { + "path": "google.golang.org/appengine/internal/log", + "revision": "b667a5000b082e49c6c6d16867d376a12e9490cd" + }, + { + "path": "google.golang.org/appengine/internal/modules", + "revision": "b667a5000b082e49c6c6d16867d376a12e9490cd" + }, + { + "path": "google.golang.org/appengine/internal/remote_api", + "revision": "b667a5000b082e49c6c6d16867d376a12e9490cd" + }, + { + "path": "google.golang.org/cloud/compute/metadata", + "revision": "fb10e8da373d97f6ba5e648299a10b3b91f14cd5" + }, + { + "path": "google.golang.org/cloud/internal", + "revision": "fb10e8da373d97f6ba5e648299a10b3b91f14cd5" + }, + { + "comment": "v1.8.5", + "path": "gopkg.in/ini.v1", + "revision": "77178f22699a4ecafce485fb8d86b7afeb7e3e28" + } + ], + "rootPath": "github.com/hashicorp/terraform" +} diff --git a/website/source/docs/providers/aws/r/elasticache_cluster.html.markdown b/website/source/docs/providers/aws/r/elasticache_cluster.html.markdown index dfd5356d1b91..9285a07e8155 100644 --- a/website/source/docs/providers/aws/r/elasticache_cluster.html.markdown +++ b/website/source/docs/providers/aws/r/elasticache_cluster.html.markdown @@ -27,7 +27,7 @@ brief downtime as the server reboots. See the AWS Docs on resource "aws_elasticache_cluster" "bar" { cluster_id = "cluster-example" engine = "memcached" - node_type = "cache.m1.small" + node_type = "cache.t2.micro" port = 11211 num_cache_nodes = 1 parameter_group_name = "default.memcached1.4" @@ -61,12 +61,6 @@ cache cluster will have. For Redis, this value must be 1. For Memcache, this value must be between 1 and 20. If this number is reduced on subsequent runs, the highest numbered nodes will be removed. -* `replication_group_id` – (Optional, Redis only) The ID of the replication -group to which this cache cluster should belong. If specified, the cache cluster -will be added to the specified replication group as a read replica; -otherwise, the cache cluster will be a standalone primary that is not part of -any replication group. - * `parameter_group_name` – (Required) Name of the parameter group to associate with this cache cluster @@ -91,13 +85,16 @@ names to associate with this cache cluster Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. Example: `arn:aws:s3:::my_bucket/snapshot1.rdb` +* `snapshot_name` - (Optional) The name of a snapshot from which to restore data into the new node group. Changing the `snapshot_name` forces a new resource. + * `snapshot_window` - (Optional, Redis only) The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00 * `snapshot_retention_limit` - (Optional, Redis only) The number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days -before being deleted. If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off +before being deleted. If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off. +Please note that setting a `snapshot_retention_limit` is not supported on cache.t1.micro or cache.t2.* cache nodes * `notification_topic_arn` – (Optional) An Amazon Resource Name (ARN) of an SNS topic to send ElastiCache notifications to. Example: @@ -120,7 +117,17 @@ The following attributes are exported: * `cache_nodes` - List of node objects including `id`, `address`, `port` and `availability_zone`. Referenceable e.g. as `${aws_elasticache_cluster.bar.cache_nodes.0.address}` -* `configuration_endpoint` - (Memcached only) The configuration endpoint to allow host discovery +* `configuration_endpoint` - (Memcached only) The configuration endpoint to allow host discovery. +* `cluster_address` - (Memcached only) The DNS name of the cache cluster without the port appended. [1]: https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheCluster.html -[2]: https://docs.aws.amazon.com/fr_fr/AmazonElastiCache/latest/UserGuide/Clusters.Modify.html +[2]: https://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Clusters.Modify.html + + +## Import + +ElastiCache Clusters can be imported using the `cluster_id`, e.g. + +``` +$ terraform import aws_elasticache_cluster.my_cluster my_cluster +``` diff --git a/website/source/docs/providers/aws/r/elasticache_replication_group.html.markdown b/website/source/docs/providers/aws/r/elasticache_replication_group.html.markdown index 27aee9747873..27abc6c8201b 100644 --- a/website/source/docs/providers/aws/r/elasticache_replication_group.html.markdown +++ b/website/source/docs/providers/aws/r/elasticache_replication_group.html.markdown @@ -10,27 +10,86 @@ description: |- Provides an ElastiCache Replication Group resource. +~> **Note:** We currently do not support passing a `primary_cluster_id` in order to create the Replication Group. + ## Example Usage +Basic Usage: + +``` +resource "aws_elasticache_replication_group" "bar" { + replication_group_id = "tf-replication-group-1" + replication_group_description = "test description" + node_type = "cache.m1.small" + number_cache_clusters = 2 + port = 6379 + parameter_group_name = "default.redis2.8" + availability_zones = ["us-west-2a", "us-west-2b"] + automatic_failover_enabled = true +} +``` + +Native Redis Cluster with 4 shards across 8 nodes: + ``` -resource "aws_elasticache_replication_group" "redis" { - replication_group_id = "users-redis" - description = "users redis" - engine = "redis" - cache_node_type = "cache.m3.medium" - num_cache_clusters = 2 - automatic_failover = true - subnet_group_name = "${aws_elasticache_subnet_group.redis.name}" - security_group_ids = ["${aws_security_group.redis.id}"] +resource "aws_elasticache_replication_group" "bar" { + replication_group_id = "tf-replication-group-1" + replication_group_description = "test description" + node_type = "cache.m1.small" + port = 6379 + parameter_group_name = "default.redis3.2.cluster.on" + automatic_failover_enabled = true + replicas_per_node_group = 1 + num_node_groups = 4 + automatic_failover_enabled = true } ``` + + ## Argument Reference The following arguments are supported: -* `replication_group_id` – (Required) Replication group identifier. This -parameter is stored as a lowercase string +* `replication_group_id` – (Required) The replication group identifier. This parameter is stored as a lowercase string. +* `replication_group_description` – (Required) A user-created description for the replication group. +* `number_cache_clusters` - (Required) The number of cache clusters this replication group will have. + If Multi-AZ is enabled , the value of this parameter must be at least 2. Changing this number will force a new resource +* `node_type` - (Required) The compute and memory capacity of the nodes in the node group. +* `automatic_failover_enabled` - (Optional) Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. Defaults to `false`. +* `auto_minor_version_upgrade` - (Optional) Specifies whether a minor engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window. Defaults to `true`. +* `availability_zones` - (Optional) A list of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is not important. +* `engine_version` - (Optional) The version number of the cache engine to be used for the cache clusters in this replication group. +* `parameter_group_name` - (Optional) The name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. +* `port` – (Required) The port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379. +* `subnet_group_name` - (Optional) The name of the cache subnet group to be used for the replication group. +* `security_group_names` - (Optional) A list of cache security group names to associate with this replication group. +* `security_group_ids` - (Optional) One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud +* `snapshot_arns` – (Optional) A single-element string list containing an +Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. +Example: `arn:aws:s3:::my_bucket/snapshot1.rdb` +* `snapshot_name` - (Optional) The name of a snapshot from which to restore data into the new node group. Changing the `snapshot_name` forces a new resource. +* `maintenance_window` – (Optional) Specifies the weekly time range for when maintenance +on the cache cluster is performed. The format is `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). +The minimum maintenance window is a 60 minute period. Example: `sun:05:00-sun:09:00` +* `notification_topic_arn` – (Optional) An Amazon Resource Name (ARN) of an +SNS topic to send ElastiCache notifications to. Example: +`arn:aws:sns:us-east-1:012345678999:my_sns_topic` +* `snapshot_window` - (Optional, Redis only) The daily time range (in UTC) during which ElastiCache will +begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00 +* `snapshot_retention_limit` - (Optional, Redis only) The number of days for which ElastiCache will +retain automatic cache cluster snapshots before deleting them. For example, if you set +SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days +before being deleted. If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off. +Please note that setting a `snapshot_retention_limit` is not supported on cache.t1.micro or cache.t2.* cache nodes +* `apply_immediately` - (Optional) Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is `false`. +* `tags` - (Optional) A mapping of tags to assign to the resource +* `replicas_per_node_group` - (Optional) Specify the number of replica nodes in each node group. Valid values are 0 to 5. Changing this number will force a new resource. +* `num_node_groups - (Optional) Specify the number of node groups for this Redis replication group. Changing this number will force a new resource. + +## Native Redis Cluster + +To provision a native Redis cluster set the parameter group to one with clustering turned on. Set num_node_groups and number_cache_clusters to the desired values. automatic_failover_enabled must be set to true. availability_zones can not be specified. The number_cache_clusters will be computed and should be not set. Its value is num_node_groups * replicas_per_node_group + num_node_groups. * `description` – (Required) The description of the replication group. @@ -48,30 +107,18 @@ supported node types * `automatic_failover` - (Optional) Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If true, Multi-AZ is enabled for this replication group. If false, Multi-AZ is disabled for this replication group. -* `num_cache_clusters` – (Optional) The number of cache clusters this replication group will initially have. If `automatic_failover` is enabled, the value of this parameter must be at least 2. -Either this or `primary_cluster_id` is required. - -* `primary_cluster_id` - (Optional) The identifier of the cache cluster that -will serve as the primary for this replication group. This cache cluster must already exist and have a status of available. -Either this or `num_cache_clusters` is required. - -* `parameter_group_name` – (Required) Name of the parameter group to associate -with this cache cluster - -* `preferred_cache_cluster_azs` - (Optional) A list of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is not important. If not provided, AWS will chose them for you. - -* `subnet_group_name` – (Optional, VPC only) Name of the subnet group to be used -for the cache cluster. - -* `security_group_names` – (Optional, EC2 Classic only) List of security group -names to associate with this cache cluster +## Attributes Reference -* `security_group_ids` – (Optional, VPC only) One or more VPC security groups associated - with the cache cluster +The following attributes are exported: +* `id` - The ID of the ElastiCache Replication Group. +* `primary_endpoint_address` - The address of the endpoint for the primary node in the replication group. If Redis, only present when cluster mode is disabled. +* `configuration_endpoint_address` - (Redis only) The address of the replication group configuration endpoint when cluster mode is enabled. -## Attributes Reference +## Import -The following attributes are exported: +ElastiCache Replication Groups can be imported using the `replication_group_id`, e.g. -* `primary_endpoint` - The address of the primary node. +``` +$ terraform import aws_elasticache_replication_group.my_replication_group replication-group-1 +``` diff --git a/website/source/docs/providers/aws/r/elasticache_replication_group_redis_cluster.html.markdown b/website/source/docs/providers/aws/r/elasticache_replication_group_redis_cluster.html.markdown new file mode 100644 index 000000000000..bf92966669c7 --- /dev/null +++ b/website/source/docs/providers/aws/r/elasticache_replication_group_redis_cluster.html.markdown @@ -0,0 +1,73 @@ +--- +layout: "aws" +page_title: "AWS: aws_elasticache_replication_group_redis_cluster" +sidebar_current: "docs-aws-resource-elasticache-replication-group-redis-cluster" +description: |- + Provides an ElastiCache Replication Group Redis Cluster resource. +--- + +# aws\_elasticache\_replication\_group\_redis\_cluster + +Provides an ElastiCache Replication Group Native Redis Cluster resource. + +## Example Usage + +``` +resource "aws_elasticache_replication_group" "bar" { + replication_group_id = "tf-replication-group-1" + replication_group_description = "test description" + node_type = "cache.m1.small" + port = 6379 + parameter_group_name = "default.redis3.2.cluster.on" + replicas_per_node_group = 1 + num_node_groups = 4 +} +``` + +## Argument Reference + +The following arguments are supported: + +* `replication_group_id` – (Required) The replication group identifier. This parameter is stored as a lowercase string. +* `replication_group_description` – (Required) A user-created description for the replication group. +* `node_type` - (Required) The compute and memory capacity of the nodes in the node group. +* `parameter_group_name` - (Optional) The name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. +* `subnet_group_name` - (Optional) The name of the cache subnet group to be used for the replication group. +* `security_group_names` - (Optional) A list of cache security group names to associate with this replication group. +* `security_group_ids` - (Optional) One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud +* `snapshot_arns` – (Optional) A single-element string list containing an +Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. +Example: `arn:aws:s3:::my_bucket/snapshot1.rdb` +* `snapshot_name` - (Optional) The name of a snapshot from which to restore data into the new node group. Changing the `snapshot_name` forces a new resource. +* `maintenance_window` – (Optional) Specifies the weekly time range for when maintenance +on the cache cluster is performed. The format is `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). +The minimum maintenance window is a 60 minute period. Example: `sun:05:00-sun:09:00` +* `notification_topic_arn` – (Optional) An Amazon Resource Name (ARN) of an +SNS topic to send ElastiCache notifications to. Example: +`arn:aws:sns:us-east-1:012345678999:my_sns_topic` +* `snapshot_window` - (Optional, Redis only) The daily time range (in UTC) during which ElastiCache will +begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00 +* `snapshot_retention_limit` - (Optional, Redis only) The number of days for which ElastiCache will +retain automatic cache cluster snapshots before deleting them. For example, if you set +SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days +before being deleted. If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off. +Please note that setting a `snapshot_retention_limit` is not supported on cache.t1.micro or cache.t2.* cache nodes +* `apply_immediately` - (Optional) Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is `false`. +* `tags` - (Optional) A mapping of tags to assign to the resource +* `replicas_per_node_group` - (Optional) Specify the number of replica nodes in each node group. Valid values are 0 to 5. Changing this number will force a new resource. +* `num_node_groups - (Optional) Specify the number of node groups for this Redis replication group. Changing this number will force a new resource. + +## Attributes Reference + +The following attributes are exported: + +* `id` - The ID of the ElastiCache Replication Group +* `endpoint_address` - The address of the endpoint for the primary node in the replication group + +## Import + +ElastiCache Replication Groups can be imported using the `replication_group_id`, e.g. + +``` +$ terraform import aws_elasticache_replication_group.my_replication_group replication-group-1 +```