From 02464c01c36a826f422c042494567f5e06574ed8 Mon Sep 17 00:00:00 2001 From: AWS SDK for Go v2 automation user Date: Thu, 25 Aug 2022 18:31:31 +0000 Subject: [PATCH] Regenerated Clients --- .../1d28d0efb3ca41adb290295e95a58340.json | 8 + .../24c1803aa66f41b3ac2e69c24a97e6cb.json | 8 + .../2c4c167080be4ae0bc46182d4ca8face.json | 8 + .../5b87f9eebcbb41d5afd0f5c085ddfeb8.json | 8 + .../698b749c38b54b6a8922aabb784a3b49.json | 8 + .../ff96771d8a8b4b83af45db7a164e01ed.json | 8 + service/elasticloadbalancingv2/types/types.go | 76 +++--- service/gamelift/types/enums.go | 64 +++++ service/glue/internal/endpoints/endpoints.go | 3 + .../iotevents/internal/endpoints/endpoints.go | 75 ++++++ service/iotwireless/deserializers.go | 244 ++++++++++++++++++ service/iotwireless/serializers.go | 98 +++++++ service/iotwireless/types/enums.go | 20 ++ service/iotwireless/types/types.go | 101 ++++++-- service/iotwireless/validators.go | 99 +++++++ service/ivschat/doc.go | 18 +- service/mgn/internal/endpoints/endpoints.go | 3 + service/panorama/api_op_DescribeDevice.go | 7 + service/panorama/api_op_ListDevices.go | 13 + service/panorama/deserializers.go | 109 ++++++++ service/panorama/serializers.go | 16 ++ service/panorama/types/enums.go | 72 ++++++ service/panorama/types/types.go | 32 +++ .../rdsdata/internal/endpoints/endpoints.go | 104 ++++++++ service/ssooidc/api_op_CreateToken.go | 39 +-- service/ssooidc/api_op_RegisterClient.go | 4 +- .../api_op_StartDeviceAuthorization.go | 12 +- service/ssooidc/doc.go | 54 ++-- service/ssooidc/validators.go | 3 - 29 files changed, 1174 insertions(+), 140 deletions(-) create mode 100644 .changelog/1d28d0efb3ca41adb290295e95a58340.json create mode 100644 .changelog/24c1803aa66f41b3ac2e69c24a97e6cb.json create mode 100644 .changelog/2c4c167080be4ae0bc46182d4ca8face.json create mode 100644 .changelog/5b87f9eebcbb41d5afd0f5c085ddfeb8.json create mode 100644 .changelog/698b749c38b54b6a8922aabb784a3b49.json create mode 100644 .changelog/ff96771d8a8b4b83af45db7a164e01ed.json diff --git a/.changelog/1d28d0efb3ca41adb290295e95a58340.json b/.changelog/1d28d0efb3ca41adb290295e95a58340.json new file mode 100644 index 00000000000..80badbb2a1d --- /dev/null +++ b/.changelog/1d28d0efb3ca41adb290295e95a58340.json @@ -0,0 +1,8 @@ +{ + "id": "1d28d0ef-b3ca-41ad-b290-295e95a58340", + "type": "feature", + "description": "This release includes a new feature for the customers to enable the LoRa gateways to send out beacons for Class B devices and an option to select one or more gateways for Class C devices when sending the LoRaWAN downlink messages.", + "modules": [ + "service/iotwireless" + ] +} \ No newline at end of file diff --git a/.changelog/24c1803aa66f41b3ac2e69c24a97e6cb.json b/.changelog/24c1803aa66f41b3ac2e69c24a97e6cb.json new file mode 100644 index 00000000000..1b0f4a42036 --- /dev/null +++ b/.changelog/24c1803aa66f41b3ac2e69c24a97e6cb.json @@ -0,0 +1,8 @@ +{ + "id": "24c1803a-a66f-41b3-ac2e-69c24a97e6cb", + "type": "documentation", + "description": "Documentation change for IVS Chat API Reference. Doc-only update to add a paragraph on ARNs to the Welcome section.", + "modules": [ + "service/ivschat" + ] +} \ No newline at end of file diff --git a/.changelog/2c4c167080be4ae0bc46182d4ca8face.json b/.changelog/2c4c167080be4ae0bc46182d4ca8face.json new file mode 100644 index 00000000000..67e783742c0 --- /dev/null +++ b/.changelog/2c4c167080be4ae0bc46182d4ca8face.json @@ -0,0 +1,8 @@ +{ + "id": "2c4c1670-80be-4ae0-bc46-182d4ca8face", + "type": "feature", + "description": "Support sorting and filtering in ListDevices API, and add more fields to device listings and single device detail", + "modules": [ + "service/panorama" + ] +} \ No newline at end of file diff --git a/.changelog/5b87f9eebcbb41d5afd0f5c085ddfeb8.json b/.changelog/5b87f9eebcbb41d5afd0f5c085ddfeb8.json new file mode 100644 index 00000000000..5b3744470df --- /dev/null +++ b/.changelog/5b87f9eebcbb41d5afd0f5c085ddfeb8.json @@ -0,0 +1,8 @@ +{ + "id": "5b87f9ee-bcbb-41d5-afd0-f5c085ddfeb8", + "type": "feature", + "description": "This release adds support for eight EC2 local zones as fleet locations; Atlanta, Chicago, Dallas, Denver, Houston, Kansas City (us-east-1-mci-1a), Los Angeles, and Phoenix. It also adds support for C5d, C6a, C6i, and R5d EC2 instance families.", + "modules": [ + "service/gamelift" + ] +} \ No newline at end of file diff --git a/.changelog/698b749c38b54b6a8922aabb784a3b49.json b/.changelog/698b749c38b54b6a8922aabb784a3b49.json new file mode 100644 index 00000000000..666df064cb1 --- /dev/null +++ b/.changelog/698b749c38b54b6a8922aabb784a3b49.json @@ -0,0 +1,8 @@ +{ + "id": "698b749c-38b5-4b6a-8922-aabb784a3b49", + "type": "feature", + "description": "Updated required request parameters on IAM Identity Center's OIDC CreateToken action.", + "modules": [ + "service/ssooidc" + ] +} \ No newline at end of file diff --git a/.changelog/ff96771d8a8b4b83af45db7a164e01ed.json b/.changelog/ff96771d8a8b4b83af45db7a164e01ed.json new file mode 100644 index 00000000000..61bd49592f6 --- /dev/null +++ b/.changelog/ff96771d8a8b4b83af45db7a164e01ed.json @@ -0,0 +1,8 @@ +{ + "id": "ff96771d-8a8b-4b83-af45-db7a164e01ed", + "type": "documentation", + "description": "Documentation updates for ELBv2. Gateway Load Balancer now supports Configurable Flow Stickiness, enabling you to configure the hashing used to maintain stickiness of flows to a specific target appliance.", + "modules": [ + "service/elasticloadbalancingv2" + ] +} \ No newline at end of file diff --git a/service/elasticloadbalancingv2/types/types.go b/service/elasticloadbalancingv2/types/types.go index a9c906f9c5a..e755279b932 100644 --- a/service/elasticloadbalancingv2/types/types.go +++ b/service/elasticloadbalancingv2/types/types.go @@ -1043,40 +1043,48 @@ type TargetGroupAttribute struct { // default value is 300 seconds. If the target is a Lambda function, this attribute // is not supported. // - // The following attributes are supported by both Application - // Load Balancers and Network Load Balancers: - // - // * stickiness.enabled - Indicates - // whether sticky sessions are enabled. The value is true or false. The default is - // false. - // - // * stickiness.type - The type of sticky sessions. The possible values are - // lb_cookie and app_cookie for Application Load Balancers or source_ip for Network - // Load Balancers. - // - // The following attributes are supported only if the load - // balancer is an Application Load Balancer and the target is an instance or an IP - // address: - // - // * load_balancing.algorithm.type - The load balancing algorithm - // determines how the load balancer selects targets when routing requests. The - // value is round_robin or least_outstanding_requests. The default is - // round_robin. - // - // * slow_start.duration_seconds - The time period, in seconds, - // during which a newly registered target receives an increasing share of the - // traffic to the target group. After this time period ends, the target receives - // its full share of traffic. The range is 30-900 seconds (15 minutes). The default - // is 0 seconds (disabled). - // - // * stickiness.app_cookie.cookie_name - Indicates the - // name of the application-based cookie. Names that start with the following - // prefixes are not allowed: AWSALB, AWSALBAPP, and AWSALBTG; they're reserved for - // use by the load balancer. - // - // * stickiness.app_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 application-based cookie is + // The following attributes are supported by Application Load + // Balancers, Network Load Balancers, and Gateway Load Balancers: + // + // * + // stickiness.enabled - Indicates whether target stickiness is enabled. The value + // is true or false. The default is false. + // + // * stickiness.type - Indicates the type + // of stickiness. The possible values are: + // + // * lb_cookie and app_cookie for + // Application Load Balancers + // + // * source_ip for Network Load Balancers + // + // * + // source_ip_dest_ip and source_ip_dest_ip_proto for Gateway Load Balancers + // + // The + // following attributes are supported only if the load balancer is an Application + // Load Balancer and the target is an instance or an IP address: + // + // * + // load_balancing.algorithm.type - The load balancing algorithm determines how the + // load balancer selects targets when routing requests. The value is round_robin or + // least_outstanding_requests. The default is round_robin. + // + // * + // slow_start.duration_seconds - The time period, in seconds, during which a newly + // registered target receives an increasing share of the traffic to the target + // group. After this time period ends, the target receives its full share of + // traffic. The range is 30-900 seconds (15 minutes). The default is 0 seconds + // (disabled). + // + // * stickiness.app_cookie.cookie_name - Indicates the name of the + // application-based cookie. Names that start with the following prefixes are not + // allowed: AWSALB, AWSALBAPP, and AWSALBTG; they're reserved for use by the load + // balancer. + // + // * stickiness.app_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 application-based cookie is // considered stale. The range is 1 second to 1 week (604800 seconds). The default // value is 1 day (86400 seconds). // diff --git a/service/gamelift/types/enums.go b/service/gamelift/types/enums.go index 375010d59b5..85331bb42a8 100644 --- a/service/gamelift/types/enums.go +++ b/service/gamelift/types/enums.go @@ -204,6 +204,38 @@ const ( EC2InstanceTypeM5a12xlarge EC2InstanceType = "m5a.12xlarge" EC2InstanceTypeM5a16xlarge EC2InstanceType = "m5a.16xlarge" EC2InstanceTypeM5a24xlarge EC2InstanceType = "m5a.24xlarge" + EC2InstanceTypeC5dLarge EC2InstanceType = "c5d.large" + EC2InstanceTypeC5dXlarge EC2InstanceType = "c5d.xlarge" + EC2InstanceTypeC5d2xlarge EC2InstanceType = "c5d.2xlarge" + EC2InstanceTypeC5d4xlarge EC2InstanceType = "c5d.4xlarge" + EC2InstanceTypeC5d9xlarge EC2InstanceType = "c5d.9xlarge" + EC2InstanceTypeC5d12xlarge EC2InstanceType = "c5d.12xlarge" + EC2InstanceTypeC5d18xlarge EC2InstanceType = "c5d.18xlarge" + EC2InstanceTypeC5d24xlarge EC2InstanceType = "c5d.24xlarge" + EC2InstanceTypeC6aLarge EC2InstanceType = "c6a.large" + EC2InstanceTypeC6aXlarge EC2InstanceType = "c6a.xlarge" + EC2InstanceTypeC6a2xlarge EC2InstanceType = "c6a.2xlarge" + EC2InstanceTypeC6a4xlarge EC2InstanceType = "c6a.4xlarge" + EC2InstanceTypeC6a8xlarge EC2InstanceType = "c6a.8xlarge" + EC2InstanceTypeC6a12xlarge EC2InstanceType = "c6a.12xlarge" + EC2InstanceTypeC6a16xlarge EC2InstanceType = "c6a.16xlarge" + EC2InstanceTypeC6a24xlarge EC2InstanceType = "c6a.24xlarge" + EC2InstanceTypeC6iLarge EC2InstanceType = "c6i.large" + EC2InstanceTypeC6iXlarge EC2InstanceType = "c6i.xlarge" + EC2InstanceTypeC6i2xlarge EC2InstanceType = "c6i.2xlarge" + EC2InstanceTypeC6i4xlarge EC2InstanceType = "c6i.4xlarge" + EC2InstanceTypeC6i8xlarge EC2InstanceType = "c6i.8xlarge" + EC2InstanceTypeC6i12xlarge EC2InstanceType = "c6i.12xlarge" + EC2InstanceTypeC6i16xlarge EC2InstanceType = "c6i.16xlarge" + EC2InstanceTypeC6i24xlarge EC2InstanceType = "c6i.24xlarge" + EC2InstanceTypeR5dLarge EC2InstanceType = "r5d.large" + EC2InstanceTypeR5dXlarge EC2InstanceType = "r5d.xlarge" + EC2InstanceTypeR5d2xlarge EC2InstanceType = "r5d.2xlarge" + EC2InstanceTypeR5d4xlarge EC2InstanceType = "r5d.4xlarge" + EC2InstanceTypeR5d8xlarge EC2InstanceType = "r5d.8xlarge" + EC2InstanceTypeR5d12xlarge EC2InstanceType = "r5d.12xlarge" + EC2InstanceTypeR5d16xlarge EC2InstanceType = "r5d.16xlarge" + EC2InstanceTypeR5d24xlarge EC2InstanceType = "r5d.24xlarge" ) // Values returns all known values for EC2InstanceType. Note that this can be @@ -293,6 +325,38 @@ func (EC2InstanceType) Values() []EC2InstanceType { "m5a.12xlarge", "m5a.16xlarge", "m5a.24xlarge", + "c5d.large", + "c5d.xlarge", + "c5d.2xlarge", + "c5d.4xlarge", + "c5d.9xlarge", + "c5d.12xlarge", + "c5d.18xlarge", + "c5d.24xlarge", + "c6a.large", + "c6a.xlarge", + "c6a.2xlarge", + "c6a.4xlarge", + "c6a.8xlarge", + "c6a.12xlarge", + "c6a.16xlarge", + "c6a.24xlarge", + "c6i.large", + "c6i.xlarge", + "c6i.2xlarge", + "c6i.4xlarge", + "c6i.8xlarge", + "c6i.12xlarge", + "c6i.16xlarge", + "c6i.24xlarge", + "r5d.large", + "r5d.xlarge", + "r5d.2xlarge", + "r5d.4xlarge", + "r5d.8xlarge", + "r5d.12xlarge", + "r5d.16xlarge", + "r5d.24xlarge", } } diff --git a/service/glue/internal/endpoints/endpoints.go b/service/glue/internal/endpoints/endpoints.go index b426a931d9d..c5779258989 100644 --- a/service/glue/internal/endpoints/endpoints.go +++ b/service/glue/internal/endpoints/endpoints.go @@ -159,6 +159,9 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "ap-southeast-2", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-southeast-3", + }: endpoints.Endpoint{}, endpoints.EndpointKey{ Region: "ca-central-1", }: endpoints.Endpoint{}, diff --git a/service/iotevents/internal/endpoints/endpoints.go b/service/iotevents/internal/endpoints/endpoints.go index 9855adfe4de..78b84844834 100644 --- a/service/iotevents/internal/endpoints/endpoints.go +++ b/service/iotevents/internal/endpoints/endpoints.go @@ -153,6 +153,12 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "ca-central-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ca-central-1", + Variant: endpoints.FIPSVariant, + }: { + Hostname: "iotevents-fips.ca-central-1.amazonaws.com", + }, endpoints.EndpointKey{ Region: "eu-central-1", }: endpoints.Endpoint{}, @@ -162,15 +168,69 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "eu-west-2", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "fips-ca-central-1", + }: endpoints.Endpoint{ + Hostname: "iotevents-fips.ca-central-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "ca-central-1", + }, + Deprecated: aws.TrueTernary, + }, + endpoints.EndpointKey{ + Region: "fips-us-east-1", + }: endpoints.Endpoint{ + Hostname: "iotevents-fips.us-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + Deprecated: aws.TrueTernary, + }, + endpoints.EndpointKey{ + Region: "fips-us-east-2", + }: endpoints.Endpoint{ + Hostname: "iotevents-fips.us-east-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, + Deprecated: aws.TrueTernary, + }, + endpoints.EndpointKey{ + Region: "fips-us-west-2", + }: endpoints.Endpoint{ + Hostname: "iotevents-fips.us-west-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, + Deprecated: aws.TrueTernary, + }, endpoints.EndpointKey{ Region: "us-east-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-east-1", + Variant: endpoints.FIPSVariant, + }: { + Hostname: "iotevents-fips.us-east-1.amazonaws.com", + }, endpoints.EndpointKey{ Region: "us-east-2", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-east-2", + Variant: endpoints.FIPSVariant, + }: { + Hostname: "iotevents-fips.us-east-2.amazonaws.com", + }, endpoints.EndpointKey{ Region: "us-west-2", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-west-2", + Variant: endpoints.FIPSVariant, + }: { + Hostname: "iotevents-fips.us-west-2.amazonaws.com", + }, }, }, { @@ -290,9 +350,24 @@ var defaultPartitions = endpoints.Partitions{ RegionRegex: partitionRegexp.AwsUsGov, IsRegionalized: true, Endpoints: endpoints.Endpoints{ + endpoints.EndpointKey{ + Region: "fips-us-gov-west-1", + }: endpoints.Endpoint{ + Hostname: "iotevents-fips.us-gov-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + Deprecated: aws.TrueTernary, + }, endpoints.EndpointKey{ Region: "us-gov-west-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-gov-west-1", + Variant: endpoints.FIPSVariant, + }: { + Hostname: "iotevents-fips.us-gov-west-1.amazonaws.com", + }, }, }, } diff --git a/service/iotwireless/deserializers.go b/service/iotwireless/deserializers.go index b138b4907d5..49a6662c042 100644 --- a/service/iotwireless/deserializers.go +++ b/service/iotwireless/deserializers.go @@ -14215,6 +14215,95 @@ func awsRestjson1_deserializeDocumentAccuracy(v **types.Accuracy, value interfac return nil } +func awsRestjson1_deserializeDocumentBeaconing(v **types.Beaconing, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.Beaconing + if *v == nil { + sv = &types.Beaconing{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "DataRate": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected BeaconingDataRate to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.DataRate = ptr.Int32(int32(i64)) + } + + case "Frequencies": + if err := awsRestjson1_deserializeDocumentBeaconingFrequencies(&sv.Frequencies, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentBeaconingFrequencies(v *[]int32, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []int32 + if *v == nil { + cv = []int32{} + } else { + cv = *v + } + + for _, value := range shape { + var col int32 + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected BeaconingFrequency to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + col = int32(i64) + } + cv = append(cv, col) + + } + *v = cv + return nil +} + func awsRestjson1_deserializeDocumentCertificateList(v **types.CertificateList, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -15190,6 +15279,93 @@ func awsRestjson1_deserializeDocumentFuotaTaskList(v *[]types.FuotaTask, value i return nil } +func awsRestjson1_deserializeDocumentGatewayList(v *[]types.GatewayListItem, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.GatewayListItem + if *v == nil { + cv = []types.GatewayListItem{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.GatewayListItem + destAddr := &col + if err := awsRestjson1_deserializeDocumentGatewayListItem(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentGatewayListItem(v **types.GatewayListItem, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.GatewayListItem + if *v == nil { + sv = &types.GatewayListItem{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "DownlinkFrequency": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected DownlinkFrequency to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.DownlinkFrequency = ptr.Int32(int32(i64)) + } + + case "GatewayId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected WirelessGatewayId to be of type string, got %T instead", value) + } + sv.GatewayId = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentInternalServerException(v **types.InternalServerException, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -15952,6 +16128,11 @@ func awsRestjson1_deserializeDocumentLoRaWANGateway(v **types.LoRaWANGateway, va for key, value := range shape { switch key { + case "Beaconing": + if err := awsRestjson1_deserializeDocumentBeaconing(&sv.Beaconing, value); err != nil { + return err + } + case "GatewayEui": if value != nil { jtv, ok := value.(string) @@ -16781,6 +16962,11 @@ func awsRestjson1_deserializeDocumentLoRaWANSendDataToDevice(v **types.LoRaWANSe sv.FPort = ptr.Int32(int32(i64)) } + case "ParticipatingGateways": + if err := awsRestjson1_deserializeDocumentParticipatingGateways(&sv.ParticipatingGateways, value); err != nil { + return err + } + default: _, _ = key, value @@ -17376,6 +17562,64 @@ func awsRestjson1_deserializeDocumentOtaaV1_1(v **types.OtaaV1_1, value interfac return nil } +func awsRestjson1_deserializeDocumentParticipatingGateways(v **types.ParticipatingGateways, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ParticipatingGateways + if *v == nil { + sv = &types.ParticipatingGateways{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "DownlinkMode": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected DownlinkMode to be of type string, got %T instead", value) + } + sv.DownlinkMode = types.DownlinkMode(jtv) + } + + case "GatewayList": + if err := awsRestjson1_deserializeDocumentGatewayList(&sv.GatewayList, value); err != nil { + return err + } + + case "TransmissionInterval": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected TransmissionInterval to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.TransmissionInterval = ptr.Int32(int32(i64)) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentPositionConfigurationItem(v **types.PositionConfigurationItem, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/iotwireless/serializers.go b/service/iotwireless/serializers.go index a4cd766ce44..c2bfb4d7607 100644 --- a/service/iotwireless/serializers.go +++ b/service/iotwireless/serializers.go @@ -7039,6 +7039,36 @@ func awsRestjson1_serializeDocumentAbpV1_1(v *types.AbpV1_1, value smithyjson.Va return nil } +func awsRestjson1_serializeDocumentBeaconing(v *types.Beaconing, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.DataRate != nil { + ok := object.Key("DataRate") + ok.Integer(*v.DataRate) + } + + if v.Frequencies != nil { + ok := object.Key("Frequencies") + if err := awsRestjson1_serializeDocumentBeaconingFrequencies(v.Frequencies, ok); err != nil { + return err + } + } + + return nil +} + +func awsRestjson1_serializeDocumentBeaconingFrequencies(v []int32, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + av.Integer(v[i]) + } + return nil +} + func awsRestjson1_serializeDocumentConnectionStatusEventConfiguration(v *types.ConnectionStatusEventConfiguration, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -7145,6 +7175,36 @@ func awsRestjson1_serializeDocumentFPorts(v *types.FPorts, value smithyjson.Valu return nil } +func awsRestjson1_serializeDocumentGatewayList(v []types.GatewayListItem, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + if err := awsRestjson1_serializeDocumentGatewayListItem(&v[i], av); err != nil { + return err + } + } + return nil +} + +func awsRestjson1_serializeDocumentGatewayListItem(v *types.GatewayListItem, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.DownlinkFrequency != nil { + ok := object.Key("DownlinkFrequency") + ok.Integer(*v.DownlinkFrequency) + } + + if v.GatewayId != nil { + ok := object.Key("GatewayId") + ok.String(*v.GatewayId) + } + + return nil +} + func awsRestjson1_serializeDocumentJoinEuiFilters(v [][]string, value smithyjson.Value) error { array := value.Array() defer array.Close() @@ -7406,6 +7466,13 @@ func awsRestjson1_serializeDocumentLoRaWANGateway(v *types.LoRaWANGateway, value object := value.Object() defer object.Close() + if v.Beaconing != nil { + ok := object.Key("Beaconing") + if err := awsRestjson1_serializeDocumentBeaconing(v.Beaconing, ok); err != nil { + return err + } + } + if v.GatewayEui != nil { ok := object.Key("GatewayEui") ok.String(*v.GatewayEui) @@ -7551,6 +7618,13 @@ func awsRestjson1_serializeDocumentLoRaWANSendDataToDevice(v *types.LoRaWANSendD ok.Integer(*v.FPort) } + if v.ParticipatingGateways != nil { + ok := object.Key("ParticipatingGateways") + if err := awsRestjson1_serializeDocumentParticipatingGateways(v.ParticipatingGateways, ok); err != nil { + return err + } + } + return nil } @@ -7759,6 +7833,30 @@ func awsRestjson1_serializeDocumentOtaaV1_1(v *types.OtaaV1_1, value smithyjson. return nil } +func awsRestjson1_serializeDocumentParticipatingGateways(v *types.ParticipatingGateways, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if len(v.DownlinkMode) > 0 { + ok := object.Key("DownlinkMode") + ok.String(string(v.DownlinkMode)) + } + + if v.GatewayList != nil { + ok := object.Key("GatewayList") + if err := awsRestjson1_serializeDocumentGatewayList(v.GatewayList, ok); err != nil { + return err + } + } + + if v.TransmissionInterval != nil { + ok := object.Key("TransmissionInterval") + ok.Integer(*v.TransmissionInterval) + } + + return nil +} + func awsRestjson1_serializeDocumentPositionCoordinate(v []float32, value smithyjson.Value) error { array := value.Array() defer array.Close() diff --git a/service/iotwireless/types/enums.go b/service/iotwireless/types/enums.go index 06d0b15a0ea..7e9f742d975 100644 --- a/service/iotwireless/types/enums.go +++ b/service/iotwireless/types/enums.go @@ -80,6 +80,26 @@ func (DlClass) Values() []DlClass { } } +type DownlinkMode string + +// Enum values for DownlinkMode +const ( + DownlinkModeSequential DownlinkMode = "SEQUENTIAL" + DownlinkModeConcurrent DownlinkMode = "CONCURRENT" + DownlinkModeUsingUplinkGateway DownlinkMode = "USING_UPLINK_GATEWAY" +) + +// Values returns all known values for DownlinkMode. Note that this can be expanded +// in the future, and so it is only as up to date as the client. The ordering of +// this slice is not guaranteed to be stable across updates. +func (DownlinkMode) Values() []DownlinkMode { + return []DownlinkMode{ + "SEQUENTIAL", + "CONCURRENT", + "USING_UPLINK_GATEWAY", + } +} + type Event string // Enum values for Event diff --git a/service/iotwireless/types/types.go b/service/iotwireless/types/types.go index a3f722ec3bd..e60bdc38323 100644 --- a/service/iotwireless/types/types.go +++ b/service/iotwireless/types/types.go @@ -52,6 +52,18 @@ type Accuracy struct { noSmithyDocumentSerde } +// Beaconing parameters for configuring the wireless gateways. +type Beaconing struct { + + // The data rate for gateways that are sending the beacons. + DataRate *int32 + + // The frequency list for the gateways to send the beacons. + Frequencies []int32 + + noSmithyDocumentSerde +} + // List of sidewalk certificates. type CertificateList struct { @@ -75,8 +87,8 @@ type ConnectionStatusEventConfiguration struct { // related event topics. LoRaWAN *LoRaWANConnectionStatusEventNotificationConfigurations - // Enum to denote whether the wireless gateway ID connection status event topic is - // enabled or disabled. + // Denotes whether the wireless gateway ID connection status event topic is enabled + // or disabled. WirelessGatewayIdEventTopic EventNotificationTopicStatus noSmithyDocumentSerde @@ -140,8 +152,8 @@ type DeviceRegistrationStateEventConfiguration struct { // Sidewalk related event topics. Sidewalk *SidewalkEventNotificationConfigurations - // Enum to denote whether the wireless device id device registration state event - // topic is enabled or disabled. + // Denotes whether the wireless device ID device registration state event topic is + // enabled or disabled. WirelessDeviceIdEventTopic EventNotificationTopicStatus noSmithyDocumentSerde @@ -251,6 +263,25 @@ type FuotaTask struct { noSmithyDocumentSerde } +// Gateway list item object that specifies the frequency and list of gateways for +// which the downlink message should be sent. +type GatewayListItem struct { + + // The frequency to use for the gateways when sending a downlink message to the + // wireless device. + // + // This member is required. + DownlinkFrequency *int32 + + // The ID of the wireless gateways that you want to add to the list of gateways + // when sending downlink messages. + // + // This member is required. + GatewayId *string + + noSmithyDocumentSerde +} + // Join event configuration object for enabling or disabling topic. type JoinEventConfiguration struct { @@ -258,8 +289,7 @@ type JoinEventConfiguration struct { // topics. LoRaWAN *LoRaWANJoinEventNotificationConfigurations - // Enum to denote whether the wireless device id join event topic is enabled or - // disabled. + // Denotes whether the wireless device ID join event topic is enabled or disabled. WirelessDeviceIdEventTopic EventNotificationTopicStatus noSmithyDocumentSerde @@ -278,8 +308,8 @@ type JoinResourceTypeEventConfiguration struct { // Object for LoRaWAN connection status resource type event configuration. type LoRaWANConnectionStatusEventNotificationConfigurations struct { - // Enum to denote whether the gateway EUI connection status event topic is enabled - // or disabled. + // Denotes whether the gateway EUI connection status event topic is enabled or + // disabled. GatewayEuiEventTopic EventNotificationTopicStatus noSmithyDocumentSerde @@ -288,8 +318,8 @@ type LoRaWANConnectionStatusEventNotificationConfigurations struct { // Object for LoRaWAN connection status resource type event configuration. type LoRaWANConnectionStatusResourceTypeEventConfiguration struct { - // Enum to denote whether the wireless gateway connection status event topic is - // enabled or disabled. + // Denotes whether the wireless gateway connection status event topic is enabled or + // disabled. WirelessGatewayEventTopic EventNotificationTopicStatus noSmithyDocumentSerde @@ -437,6 +467,10 @@ type LoRaWANFuotaTaskGetInfo struct { // LoRaWANGateway object. type LoRaWANGateway struct { + // Beaconing object information, which consists of the data rate and frequency + // parameters. + Beaconing *Beaconing + // The gateway's EUI value. GatewayEui *string @@ -561,7 +595,7 @@ type LoRaWANGetServiceProfileInfo struct { // Object for LoRaWAN join resource type event configuration. type LoRaWANJoinEventNotificationConfigurations struct { - // Enum to denote whether the Dev EUI join event topic is enabled or disabled. + // Denotes whether the Dev EUI join event topic is enabled or disabled. DevEuiEventTopic EventNotificationTopicStatus noSmithyDocumentSerde @@ -570,8 +604,7 @@ type LoRaWANJoinEventNotificationConfigurations struct { // Object for LoRaWAN join resource type event configuration. type LoRaWANJoinResourceTypeEventConfiguration struct { - // Enum to denote whether the wireless device join event topic is enabled or - // disabled. + // Denotes whether the wireless device join event topic is enabled or disabled. WirelessDeviceEventTopic EventNotificationTopicStatus noSmithyDocumentSerde @@ -650,6 +683,10 @@ type LoRaWANSendDataToDevice struct { // The Fport value. FPort *int32 + // Choose the gateways that you want to use for the downlink data traffic when the + // wireless device is running in class B or class C mode. + ParticipatingGateways *ParticipatingGateways + noSmithyDocumentSerde } @@ -736,8 +773,8 @@ type MessageDeliveryStatusEventConfiguration struct { // object for Sidewalk-related event topics. Sidewalk *SidewalkEventNotificationConfigurations - // Enum to denote whether the wireless device id device registration state event - // topic is enabled or disabled. + // Denotes whether the wireless device ID device registration state event topic is + // enabled or disabled. WirelessDeviceIdEventTopic EventNotificationTopicStatus noSmithyDocumentSerde @@ -829,6 +866,31 @@ type OtaaV1_1 struct { noSmithyDocumentSerde } +// Specify the list of gateways to which you want to send downlink data traffic +// when the wireless device is running in class B or class C mode. +type ParticipatingGateways struct { + + // Indicates whether to send the downlink message in sequential mode or concurrent + // mode, or to use only the chosen gateways from the previous uplink message + // transmission. + // + // This member is required. + DownlinkMode DownlinkMode + + // The list of gateways that you want to use for sending the downlink data traffic. + // + // This member is required. + GatewayList []GatewayListItem + + // The duration of time for which AWS IoT Core for LoRaWAN will wait before + // transmitting the payload to the next gateway. + // + // This member is required. + TransmissionInterval *int32 + + noSmithyDocumentSerde +} + // The wrapper for a position configuration. type PositionConfigurationItem struct { @@ -888,8 +950,8 @@ type ProximityEventConfiguration struct { // event topics. Sidewalk *SidewalkEventNotificationConfigurations - // Enum to denote whether the wireless device id proximity event topic is enabled - // or disabled. + // Denotes whether the wireless device ID proximity event topic is enabled or + // disabled. WirelessDeviceIdEventTopic EventNotificationTopicStatus noSmithyDocumentSerde @@ -1052,7 +1114,7 @@ type SidewalkDeviceMetadata struct { // object for Sidewalk-related event topics. type SidewalkEventNotificationConfigurations struct { - // Enum to denote whether amazon id event topic is enabled or disabled. + // Denotes whether the Amazon ID event topic is enabled or disabled. AmazonIdEventTopic EventNotificationTopicStatus noSmithyDocumentSerde @@ -1080,8 +1142,7 @@ type SidewalkListDevice struct { // topic. type SidewalkResourceTypeEventConfiguration struct { - // Enum to denote whether the wireless device join event topic is enabled or - // disabled. + // Denotes whether the wireless device join event topic is enabled or disabled. WirelessDeviceEventTopic EventNotificationTopicStatus noSmithyDocumentSerde diff --git a/service/iotwireless/validators.go b/service/iotwireless/validators.go index 0626ee1b65f..43acdf43e0a 100644 --- a/service/iotwireless/validators.go +++ b/service/iotwireless/validators.go @@ -1978,6 +1978,83 @@ func addOpUpdateWirelessGatewayValidationMiddleware(stack *middleware.Stack) err return stack.Initialize.Add(&validateOpUpdateWirelessGateway{}, middleware.After) } +func validateGatewayList(v []types.GatewayListItem) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "GatewayList"} + for i := range v { + if err := validateGatewayListItem(&v[i]); err != nil { + invalidParams.AddNested(fmt.Sprintf("[%d]", i), err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateGatewayListItem(v *types.GatewayListItem) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "GatewayListItem"} + if v.GatewayId == nil { + invalidParams.Add(smithy.NewErrParamRequired("GatewayId")) + } + if v.DownlinkFrequency == nil { + invalidParams.Add(smithy.NewErrParamRequired("DownlinkFrequency")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateLoRaWANSendDataToDevice(v *types.LoRaWANSendDataToDevice) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "LoRaWANSendDataToDevice"} + if v.ParticipatingGateways != nil { + if err := validateParticipatingGateways(v.ParticipatingGateways); err != nil { + invalidParams.AddNested("ParticipatingGateways", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateParticipatingGateways(v *types.ParticipatingGateways) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ParticipatingGateways"} + if len(v.DownlinkMode) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("DownlinkMode")) + } + if v.GatewayList == nil { + invalidParams.Add(smithy.NewErrParamRequired("GatewayList")) + } else if v.GatewayList != nil { + if err := validateGatewayList(v.GatewayList); err != nil { + invalidParams.AddNested("GatewayList", err.(smithy.InvalidParamsError)) + } + } + if v.TransmissionInterval == nil { + invalidParams.Add(smithy.NewErrParamRequired("TransmissionInterval")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validatePositionSolverConfigurations(v *types.PositionSolverConfigurations) error { if v == nil { return nil @@ -2198,6 +2275,23 @@ func validateWirelessGatewayLogOptionList(v []types.WirelessGatewayLogOption) er } } +func validateWirelessMetadata(v *types.WirelessMetadata) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "WirelessMetadata"} + if v.LoRaWAN != nil { + if err := validateLoRaWANSendDataToDevice(v.LoRaWAN); err != nil { + invalidParams.AddNested("LoRaWAN", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpAssociateAwsAccountWithPartnerAccountInput(v *AssociateAwsAccountWithPartnerAccountInput) error { if v == nil { return nil @@ -3308,6 +3402,11 @@ func validateOpSendDataToWirelessDeviceInput(v *SendDataToWirelessDeviceInput) e if v.PayloadData == nil { invalidParams.Add(smithy.NewErrParamRequired("PayloadData")) } + if v.WirelessMetadata != nil { + if err := validateWirelessMetadata(v.WirelessMetadata); err != nil { + invalidParams.AddNested("WirelessMetadata", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { diff --git a/service/ivschat/doc.go b/service/ivschat/doc.go index 33d499f88c6..befbf532593 100644 --- a/service/ivschat/doc.go +++ b/service/ivschat/doc.go @@ -76,13 +76,17 @@ // (https://docs.aws.amazon.com/ivs/latest/userguide/security-iam.html) on the // Security page of the Amazon IVS User Guide. // -// # Messaging Endpoints -// -// * -// DeleteMessage — Sends an event to a specific room which directs clients to -// delete a specific message; that is, unrender it from view and delete it from the -// client’s chat history. This event’s EventName is aws:DELETE_MESSAGE. This -// replicates the DeleteMessage +// Amazon Resource Names (ARNs) ARNs +// uniquely identify AWS resources. An ARN is required when you need to specify a +// resource unambiguously across all of AWS, such as in IAM policies and API calls. +// For more information, see Amazon Resource Names +// (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in +// the AWS General Reference. Messaging Endpoints +// +// * DeleteMessage — Sends an event +// to a specific room which directs clients to delete a specific message; that is, +// unrender it from view and delete it from the client’s chat history. This event’s +// EventName is aws:DELETE_MESSAGE. This replicates the DeleteMessage // (https://docs.aws.amazon.com/ivs/latest/chatmsgapireference/actions-deletemessage-publish.html) // WebSocket operation in the Amazon IVS Chat Messaging API. // diff --git a/service/mgn/internal/endpoints/endpoints.go b/service/mgn/internal/endpoints/endpoints.go index 31ed2ee53ac..efcb758e260 100644 --- a/service/mgn/internal/endpoints/endpoints.go +++ b/service/mgn/internal/endpoints/endpoints.go @@ -159,6 +159,9 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "ap-southeast-2", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-southeast-3", + }: endpoints.Endpoint{}, endpoints.EndpointKey{ Region: "ca-central-1", }: endpoints.Endpoint{}, diff --git a/service/panorama/api_op_DescribeDevice.go b/service/panorama/api_op_DescribeDevice.go index af33aeb7368..c8ed916218f 100644 --- a/service/panorama/api_op_DescribeDevice.go +++ b/service/panorama/api_op_DescribeDevice.go @@ -61,6 +61,10 @@ type DescribeDeviceOutput struct { // The device's description. Description *string + // A device's aggregated status. Including the device's connection status, + // provisioning status, and lease status. + DeviceAggregatedStatus types.DeviceAggregatedStatus + // The device's connection status. DeviceConnectionStatus types.DeviceConnectionStatus @@ -70,6 +74,9 @@ type DescribeDeviceOutput struct { // The most recent beta software release. LatestAlternateSoftware *string + // A device's latest job. Includes the target image version, and the job status. + LatestDeviceJob *types.LatestDeviceJob + // The latest software version available for the device. LatestSoftware *string diff --git a/service/panorama/api_op_ListDevices.go b/service/panorama/api_op_ListDevices.go index 561b30d8cad..7ffe726802f 100644 --- a/service/panorama/api_op_ListDevices.go +++ b/service/panorama/api_op_ListDevices.go @@ -30,13 +30,26 @@ func (c *Client) ListDevices(ctx context.Context, params *ListDevicesInput, optF type ListDevicesInput struct { + // Filter based on a device's status. + DeviceAggregatedStatusFilter types.DeviceAggregatedStatus + // The maximum number of devices to return in one page of results. MaxResults int32 + // Filter based on device's name. Prefixes supported. + NameFilter *string + // Specify the pagination token from a previous request to retrieve the next page // of results. NextToken *string + // The target column to be sorted on. Default column sort is CREATED_TIME. + SortBy types.ListDevicesSortBy + + // The sorting order for the returned list. SortOrder is DESCENDING by default + // based on CREATED_TIME. Otherwise, SortOrder is ASCENDING. + SortOrder types.SortOrder + noSmithyDocumentSerde } diff --git a/service/panorama/deserializers.go b/service/panorama/deserializers.go index b58c02b3db1..c27b3541fd8 100644 --- a/service/panorama/deserializers.go +++ b/service/panorama/deserializers.go @@ -1906,6 +1906,15 @@ func awsRestjson1_deserializeOpDocumentDescribeDeviceOutput(v **DescribeDeviceOu sv.Description = ptr.String(jtv) } + case "DeviceAggregatedStatus": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected DeviceAggregatedStatus to be of type string, got %T instead", value) + } + sv.DeviceAggregatedStatus = types.DeviceAggregatedStatus(jtv) + } + case "DeviceConnectionStatus": if value != nil { jtv, ok := value.(string) @@ -1933,6 +1942,11 @@ func awsRestjson1_deserializeOpDocumentDescribeDeviceOutput(v **DescribeDeviceOu sv.LatestAlternateSoftware = ptr.String(jtv) } + case "LatestDeviceJob": + if err := awsRestjson1_deserializeDocumentLatestDeviceJob(&sv.LatestDeviceJob, value); err != nil { + return err + } + case "LatestSoftware": if value != nil { jtv, ok := value.(string) @@ -6590,6 +6604,33 @@ func awsRestjson1_deserializeDocumentDevice(v **types.Device, value interface{}) } } + case "CurrentSoftware": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected CurrentSoftware to be of type string, got %T instead", value) + } + sv.CurrentSoftware = ptr.String(jtv) + } + + case "Description": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Description to be of type string, got %T instead", value) + } + sv.Description = ptr.String(jtv) + } + + case "DeviceAggregatedStatus": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected DeviceAggregatedStatus to be of type string, got %T instead", value) + } + sv.DeviceAggregatedStatus = types.DeviceAggregatedStatus(jtv) + } + case "DeviceId": if value != nil { jtv, ok := value.(string) @@ -6615,6 +6656,11 @@ func awsRestjson1_deserializeDocumentDevice(v **types.Device, value interface{}) } } + case "LatestDeviceJob": + if err := awsRestjson1_deserializeDocumentLatestDeviceJob(&sv.LatestDeviceJob, value); err != nil { + return err + } + case "LeaseExpirationTime": if value != nil { switch jtv := value.(type) { @@ -6649,6 +6695,20 @@ func awsRestjson1_deserializeDocumentDevice(v **types.Device, value interface{}) sv.ProvisioningStatus = types.DeviceStatus(jtv) } + case "Tags": + if err := awsRestjson1_deserializeDocumentTagMap(&sv.Tags, value); err != nil { + return err + } + + case "Type": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected DeviceType to be of type string, got %T instead", value) + } + sv.Type = types.DeviceType(jtv) + } + default: _, _ = key, value @@ -7188,6 +7248,55 @@ func awsRestjson1_deserializeDocumentJobTagsList(v *[]types.JobResourceTags, val return nil } +func awsRestjson1_deserializeDocumentLatestDeviceJob(v **types.LatestDeviceJob, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.LatestDeviceJob + if *v == nil { + sv = &types.LatestDeviceJob{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ImageVersion": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ImageVersion to be of type string, got %T instead", value) + } + sv.ImageVersion = ptr.String(jtv) + } + + case "Status": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected UpdateProgress to be of type string, got %T instead", value) + } + sv.Status = types.UpdateProgress(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentManifestOverridesPayload(v *types.ManifestOverridesPayload, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/panorama/serializers.go b/service/panorama/serializers.go index ea3f8ecd5e3..7616c6451ba 100644 --- a/service/panorama/serializers.go +++ b/service/panorama/serializers.go @@ -1466,14 +1466,30 @@ func awsRestjson1_serializeOpHttpBindingsListDevicesInput(v *ListDevicesInput, e return fmt.Errorf("unsupported serialization of nil %T", v) } + if len(v.DeviceAggregatedStatusFilter) > 0 { + encoder.SetQuery("DeviceAggregatedStatusFilter").String(string(v.DeviceAggregatedStatusFilter)) + } + if v.MaxResults != 0 { encoder.SetQuery("MaxResults").Integer(v.MaxResults) } + if v.NameFilter != nil { + encoder.SetQuery("NameFilter").String(*v.NameFilter) + } + if v.NextToken != nil { encoder.SetQuery("NextToken").String(*v.NextToken) } + if len(v.SortBy) > 0 { + encoder.SetQuery("SortBy").String(string(v.SortBy)) + } + + if len(v.SortOrder) > 0 { + encoder.SetQuery("SortOrder").String(string(v.SortOrder)) + } + return nil } diff --git a/service/panorama/types/enums.go b/service/panorama/types/enums.go index 7a269a5b363..14b1f908e67 100644 --- a/service/panorama/types/enums.go +++ b/service/panorama/types/enums.go @@ -77,6 +77,38 @@ func (ConnectionType) Values() []ConnectionType { } } +type DeviceAggregatedStatus string + +// Enum values for DeviceAggregatedStatus +const ( + DeviceAggregatedStatusError DeviceAggregatedStatus = "ERROR" + DeviceAggregatedStatusAwaitingProvisioning DeviceAggregatedStatus = "AWAITING_PROVISIONING" + DeviceAggregatedStatusPending DeviceAggregatedStatus = "PENDING" + DeviceAggregatedStatusFailed DeviceAggregatedStatus = "FAILED" + DeviceAggregatedStatusDeleting DeviceAggregatedStatus = "DELETING" + DeviceAggregatedStatusOnline DeviceAggregatedStatus = "ONLINE" + DeviceAggregatedStatusOffline DeviceAggregatedStatus = "OFFLINE" + DeviceAggregatedStatusLeaseExpired DeviceAggregatedStatus = "LEASE_EXPIRED" + DeviceAggregatedStatusUpdateNeeded DeviceAggregatedStatus = "UPDATE_NEEDED" +) + +// Values returns all known values for DeviceAggregatedStatus. Note that this can +// be expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (DeviceAggregatedStatus) Values() []DeviceAggregatedStatus { + return []DeviceAggregatedStatus{ + "ERROR", + "AWAITING_PROVISIONING", + "PENDING", + "FAILED", + "DELETING", + "ONLINE", + "OFFLINE", + "LEASE_EXPIRED", + "UPDATE_NEEDED", + } +} + type DeviceBrand string // Enum values for DeviceBrand @@ -195,6 +227,28 @@ func (JobType) Values() []JobType { } } +type ListDevicesSortBy string + +// Enum values for ListDevicesSortBy +const ( + ListDevicesSortByDeviceId ListDevicesSortBy = "DEVICE_ID" + ListDevicesSortByCreatedTime ListDevicesSortBy = "CREATED_TIME" + ListDevicesSortByName ListDevicesSortBy = "NAME" + ListDevicesSortByDeviceAggregatedStatus ListDevicesSortBy = "DEVICE_AGGREGATED_STATUS" +) + +// Values returns all known values for ListDevicesSortBy. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (ListDevicesSortBy) Values() []ListDevicesSortBy { + return []ListDevicesSortBy{ + "DEVICE_ID", + "CREATED_TIME", + "NAME", + "DEVICE_AGGREGATED_STATUS", + } +} + type NetworkConnectionStatus string // Enum values for NetworkConnectionStatus @@ -361,6 +415,24 @@ func (PortType) Values() []PortType { } } +type SortOrder string + +// Enum values for SortOrder +const ( + SortOrderAscending SortOrder = "ASCENDING" + SortOrderDescending SortOrder = "DESCENDING" +) + +// Values returns all known values for SortOrder. Note that this can be expanded in +// the future, and so it is only as up to date as the client. The ordering of this +// slice is not guaranteed to be stable across updates. +func (SortOrder) Values() []SortOrder { + return []SortOrder{ + "ASCENDING", + "DESCENDING", + } +} + type StatusFilter string // Enum values for StatusFilter diff --git a/service/panorama/types/types.go b/service/panorama/types/types.go index 6680cce0e7f..980a195263d 100644 --- a/service/panorama/types/types.go +++ b/service/panorama/types/types.go @@ -80,12 +80,26 @@ type Device struct { // When the device was created. CreatedTime *time.Time + // A device's current software. + CurrentSoftware *string + + // A description for the device. + Description *string + + // A device's aggregated status. Including the device's connection status, + // provisioning status, and lease status. + DeviceAggregatedStatus DeviceAggregatedStatus + // The device's ID. DeviceId *string // When the device was updated. LastUpdatedTime *time.Time + // A device's latest job. Includes the target image version, and the update job + // status. + LatestDeviceJob *LatestDeviceJob + // The device's lease expiration time. LeaseExpirationTime *time.Time @@ -95,6 +109,12 @@ type Device struct { // The device's provisioning status. ProvisioningStatus DeviceStatus + // The device's tags. + Tags map[string]string + + // The device's type. + Type DeviceType + noSmithyDocumentSerde } @@ -182,6 +202,18 @@ type JobResourceTags struct { noSmithyDocumentSerde } +// Returns information about the latest device job. +type LatestDeviceJob struct { + + // The target version of the device software. + ImageVersion *string + + // Status of the latest device job. + Status UpdateProgress + + noSmithyDocumentSerde +} + // Parameter overrides for an application instance. This is a JSON document that // has a single key (PayloadData) where the value is an escaped string // representation of the overrides document. diff --git a/service/rdsdata/internal/endpoints/endpoints.go b/service/rdsdata/internal/endpoints/endpoints.go index 209ed5108cc..1d759ddc8d8 100644 --- a/service/rdsdata/internal/endpoints/endpoints.go +++ b/service/rdsdata/internal/endpoints/endpoints.go @@ -134,6 +134,110 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.Aws, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + endpoints.EndpointKey{ + Region: "ap-northeast-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-northeast-2", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-south-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-southeast-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-southeast-2", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ca-central-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-central-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-west-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-west-2", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-west-3", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "fips-us-east-1", + }: endpoints.Endpoint{ + Hostname: "rds-data-fips.us-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + Deprecated: aws.TrueTernary, + }, + endpoints.EndpointKey{ + Region: "fips-us-east-2", + }: endpoints.Endpoint{ + Hostname: "rds-data-fips.us-east-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, + Deprecated: aws.TrueTernary, + }, + endpoints.EndpointKey{ + Region: "fips-us-west-1", + }: endpoints.Endpoint{ + Hostname: "rds-data-fips.us-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-1", + }, + Deprecated: aws.TrueTernary, + }, + endpoints.EndpointKey{ + Region: "fips-us-west-2", + }: endpoints.Endpoint{ + Hostname: "rds-data-fips.us-west-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, + Deprecated: aws.TrueTernary, + }, + endpoints.EndpointKey{ + Region: "us-east-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-east-1", + Variant: endpoints.FIPSVariant, + }: { + Hostname: "rds-data-fips.us-east-1.amazonaws.com", + }, + endpoints.EndpointKey{ + Region: "us-east-2", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-east-2", + Variant: endpoints.FIPSVariant, + }: { + Hostname: "rds-data-fips.us-east-2.amazonaws.com", + }, + endpoints.EndpointKey{ + Region: "us-west-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-west-1", + Variant: endpoints.FIPSVariant, + }: { + Hostname: "rds-data-fips.us-west-1.amazonaws.com", + }, + endpoints.EndpointKey{ + Region: "us-west-2", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-west-2", + Variant: endpoints.FIPSVariant, + }: { + Hostname: "rds-data-fips.us-west-2.amazonaws.com", + }, + }, }, { ID: "aws-cn", diff --git a/service/ssooidc/api_op_CreateToken.go b/service/ssooidc/api_op_CreateToken.go index 579c69562ba..c6e64a13dd6 100644 --- a/service/ssooidc/api_op_CreateToken.go +++ b/service/ssooidc/api_op_CreateToken.go @@ -11,7 +11,7 @@ import ( // Creates and returns an access token for the authorized client. The access token // issued will be used to fetch short-term credentials for the assigned roles in -// the Amazon Web Services account. +// the AWS account. func (c *Client) CreateToken(ctx context.Context, params *CreateTokenInput, optFns ...func(*Options)) (*CreateTokenOutput, error) { if params == nil { params = &CreateTokenInput{} @@ -41,17 +41,8 @@ type CreateTokenInput struct { // This member is required. ClientSecret *string - // Used only when calling this API for the device code grant type. This short-term - // code is used to identify this authentication attempt. This should come from an - // in-memory reference to the result of the StartDeviceAuthorization API. - // - // This member is required. - DeviceCode *string - - // Supports grant types for the authorization code, refresh token, and device code - // request. For device code requests, specify the following value: - // urn:ietf:params:oauth:grant-type:device_code For information about how to - // obtain the device code, see the StartDeviceAuthorization topic. + // Supports grant types for authorization code, refresh token, and device code + // request. // // This member is required. GrantType *string @@ -60,17 +51,17 @@ type CreateTokenInput struct { // is required to perform an authorization grant request to get access to a token. Code *string + // Used only when calling this API for the device code grant type. This short-term + // code is used to identify this authentication attempt. This should come from an + // in-memory reference to the result of the StartDeviceAuthorization API. + DeviceCode *string + // The location of the application that will receive the authorization code. Users // authorize the service to send the request to this location. RedirectUri *string - // Currently, refreshToken is not yet implemented and is not supported. For more - // information about the features and limitations of the current Amazon Web - // Services SSO OIDC implementation, see Considerations for Using this Guide in the - // Amazon Web Services SSO OIDC API Reference - // (https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html). // The token used to obtain an access token in the event that the access token is - // invalid or expired. + // invalid or expired. This token is not issued by the service. RefreshToken *string // The list of scopes that is defined by the client. Upon authorization, this list @@ -82,25 +73,15 @@ type CreateTokenInput struct { type CreateTokenOutput struct { - // An opaque token to access Amazon Web Services SSO resources assigned to a user. + // An opaque token to access AWS SSO resources assigned to a user. AccessToken *string // Indicates the time in seconds when an access token will expire. ExpiresIn int32 - // Currently, idToken is not yet implemented and is not supported. For more - // information about the features and limitations of the current Amazon Web - // Services SSO OIDC implementation, see Considerations for Using this Guide in the - // Amazon Web Services SSO OIDC API Reference - // (https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html). // The identifier of the user that associated with the access token, if present. IdToken *string - // Currently, refreshToken is not yet implemented and is not supported. For more - // information about the features and limitations of the current Amazon Web - // Services SSO OIDC implementation, see Considerations for Using this Guide in the - // Amazon Web Services SSO OIDC API Reference - // (https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html). // A token that, if present, can be used to refresh a previously issued access // token that might have expired. RefreshToken *string diff --git a/service/ssooidc/api_op_RegisterClient.go b/service/ssooidc/api_op_RegisterClient.go index 7bbb4f571e3..096b35df288 100644 --- a/service/ssooidc/api_op_RegisterClient.go +++ b/service/ssooidc/api_op_RegisterClient.go @@ -9,8 +9,8 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Registers a client with Amazon Web Services SSO. This allows clients to initiate -// device authorization. The output should be persisted for reuse through many +// Registers a client with AWS SSO. This allows clients to initiate device +// authorization. The output should be persisted for reuse through many // authentication requests. func (c *Client) RegisterClient(ctx context.Context, params *RegisterClientInput, optFns ...func(*Options)) (*RegisterClientOutput, error) { if params == nil { diff --git a/service/ssooidc/api_op_StartDeviceAuthorization.go b/service/ssooidc/api_op_StartDeviceAuthorization.go index 28fa3b682b3..0d893b4319f 100644 --- a/service/ssooidc/api_op_StartDeviceAuthorization.go +++ b/service/ssooidc/api_op_StartDeviceAuthorization.go @@ -28,9 +28,9 @@ func (c *Client) StartDeviceAuthorization(ctx context.Context, params *StartDevi type StartDeviceAuthorizationInput struct { - // The unique identifier string for the client that is registered with Amazon Web - // Services SSO. This value should come from the persisted result of the - // RegisterClient API operation. + // The unique identifier string for the client that is registered with AWS SSO. + // This value should come from the persisted result of the RegisterClient API + // operation. // // This member is required. ClientId *string @@ -41,10 +41,10 @@ type StartDeviceAuthorizationInput struct { // This member is required. ClientSecret *string - // The URL for the AWS access portal. For more information, see Using the AWS - // access portal + // The URL for the AWS SSO user portal. For more information, see Using the User + // Portal // (https://docs.aws.amazon.com/singlesignon/latest/userguide/using-the-portal.html) - // in the Amazon Web Services SSO User Guide. + // in the AWS Single Sign-On User Guide. // // This member is required. StartUrl *string diff --git a/service/ssooidc/doc.go b/service/ssooidc/doc.go index 51aeab5b7dc..79c458291ad 100644 --- a/service/ssooidc/doc.go +++ b/service/ssooidc/doc.go @@ -3,44 +3,20 @@ // Package ssooidc provides the API client, operations, and parameter types for AWS // SSO OIDC. // -// Amazon Web Services Single Sign On OpenID Connect (OIDC) is a web service that -// enables a client (such as Amazon Web Services CLI or a native application) to -// register with Amazon Web Services SSO. The service also enables the client to -// fetch the user’s access token upon successful authentication and authorization -// with Amazon Web Services SSO. Although Amazon Web Services Single Sign-On was -// renamed, the sso and identitystore API namespaces will continue to retain their -// original name for backward compatibility purposes. For more information, see -// Amazon Web Services SSO rename -// (https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html#renamed). -// Considerations for Using This Guide Before you begin using this guide, we -// recommend that you first review the following important information about how -// the Amazon Web Services SSO OIDC service works. -// -// * The Amazon Web Services SSO -// OIDC service currently implements only the portions of the OAuth 2.0 Device -// Authorization Grant standard (https://tools.ietf.org/html/rfc8628 -// (https://tools.ietf.org/html/rfc8628)) that are necessary to enable single -// sign-on authentication with the AWS CLI. Support for other OIDC flows frequently -// needed for native applications, such as Authorization Code Flow (+ PKCE), will -// be addressed in future releases. -// -// * The service emits only OIDC access tokens, -// such that obtaining a new token (For example, token refresh) requires explicit -// user re-authentication. -// -// * The access tokens provided by this service grant -// access to all AWS account entitlements assigned to an Amazon Web Services SSO -// user, not just a particular application. -// -// * The documentation in this guide does -// not describe the mechanism to convert the access token into AWS Auth (“sigv4”) -// credentials for use with IAM-protected AWS service endpoints. For more -// information, see GetRoleCredentials -// (https://docs.aws.amazon.com/singlesignon/latest/PortalAPIReference/API_GetRoleCredentials.html) -// in the Amazon Web Services SSO Portal API Reference Guide. -// -// For general -// information about Amazon Web Services SSO, see What is Amazon Web Services SSO? +// AWS Single Sign-On (SSO) OpenID Connect (OIDC) is a web service that enables a +// client (such as AWS CLI or a native application) to register with AWS SSO. The +// service also enables the client to fetch the user’s access token upon successful +// authentication and authorization with AWS SSO. This service conforms with the +// OAuth 2.0 based implementation of the device authorization grant standard +// (https://tools.ietf.org/html/rfc8628 (https://tools.ietf.org/html/rfc8628)). For +// general information about AWS SSO, see What is AWS Single Sign-On? // (https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) in the -// Amazon Web Services SSO User Guide. +// AWS SSO User Guide. This API reference guide describes the AWS SSO OIDC +// operations that you can call programatically and includes detailed information +// on data types and errors. AWS provides SDKs that consist of libraries and sample +// code for various programming languages and platforms such as Java, Ruby, .Net, +// iOS, and Android. The SDKs provide a convenient way to create programmatic +// access to AWS SSO and other AWS services. For more information about the AWS +// SDKs, including how to download and install them, see Tools for Amazon Web +// Services (http://aws.amazon.com/tools/). package ssooidc diff --git a/service/ssooidc/validators.go b/service/ssooidc/validators.go index 3e667bbb1b0..5a309484e01 100644 --- a/service/ssooidc/validators.go +++ b/service/ssooidc/validators.go @@ -95,9 +95,6 @@ func validateOpCreateTokenInput(v *CreateTokenInput) error { if v.GrantType == nil { invalidParams.Add(smithy.NewErrParamRequired("GrantType")) } - if v.DeviceCode == nil { - invalidParams.Add(smithy.NewErrParamRequired("DeviceCode")) - } if invalidParams.Len() > 0 { return invalidParams } else {