From 8ff4ed2f8771160443ba6d013132e5eefd40de42 Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Mon, 8 Jul 2024 14:40:18 -0400 Subject: [PATCH] Release v1.54.16 (2024-07-08) (#5304) Release v1.54.16 (2024-07-08) === ### Service Client Updates * `service/codedeploy`: Updates service API * Add v2 smoke tests and smithy smokeTests trait for SDK testing. * `service/devicefarm`: Updates service API * Add v2 smoke tests and smithy smokeTests trait for SDK testing. * `service/dms`: Updates service API * Add v2 smoke tests and smithy smokeTests trait for SDK testing. * `service/elasticbeanstalk`: Updates service API * Add v2 smoke tests and smithy smokeTests trait for SDK testing. * `service/email`: Updates service API * Add v2 smoke tests and smithy smokeTests trait for SDK testing. * `service/es`: Updates service API * Add v2 smoke tests and smithy smokeTests trait for SDK testing. * `service/firehose`: Updates service API * Add v2 smoke tests and smithy smokeTests trait for SDK testing. * `service/gamelift`: Updates service API * Add v2 smoke tests and smithy smokeTests trait for SDK testing. * `service/qapps`: Updates service API, documentation, waiters, paginators, and examples * `service/route53resolver`: Updates service API --- CHANGELOG.md | 23 + aws/endpoints/defaults.go | 565 +- aws/version.go | 2 +- models/apis/codedeploy/2014-10-06/api-2.json | 4 +- .../apis/codedeploy/2014-10-06/smoke-2.json | 16 + models/apis/devicefarm/2015-06-23/api-2.json | 4 +- .../2015-06-23/endpoint-rule-set-1.json | 314 + .../2015-06-23/endpoint-tests-1.json | 327 + .../apis/devicefarm/2015-06-23/smoke-2.json | 16 + models/apis/dms/2016-01-01/api-2.json | 4 +- models/apis/dms/2016-01-01/smoke-2.json | 16 + .../elasticbeanstalk/2010-12-01/api-2.json | 4 +- .../2010-12-01/endpoint-rule-set-1.json | 372 +- .../2010-12-01/endpoint-tests-1.json | 413 +- .../elasticbeanstalk/2010-12-01/smoke-2.json | 16 + models/apis/email/2010-12-01/api-2.json | 4 +- .../email/2010-12-01/endpoint-rule-set-1.json | 366 +- models/apis/email/2010-12-01/smoke-2.json | 16 + models/apis/es/2015-01-01/api-2.json | 4 +- models/apis/es/2015-01-01/smoke-2.json | 16 + models/apis/firehose/2015-08-04/api-2.json | 3 +- models/apis/firehose/2015-08-04/smoke-2.json | 16 + models/apis/gamelift/2015-10-01/api-2.json | 4 +- models/apis/gamelift/2015-10-01/smoke-2.json | 16 + models/apis/qapps/2023-11-27/api-2.json | 1845 ++++ models/apis/qapps/2023-11-27/docs-2.json | 960 ++ .../qapps/2023-11-27/endpoint-rule-set-1.json | 350 + .../qapps/2023-11-27/endpoint-tests-1.json | 314 + models/apis/qapps/2023-11-27/examples-1.json | 583 ++ .../apis/qapps/2023-11-27/paginators-1.json | 16 + models/apis/qapps/2023-11-27/smoke.json | 6 + models/apis/qapps/2023-11-27/waiters-2.json | 5 + .../route53resolver/2018-04-01/api-2.json | 3 +- .../route53resolver/2018-04-01/smoke-2.json | 16 + models/endpoints/endpoints.json | 383 +- service/qapps/api.go | 8223 +++++++++++++++++ service/qapps/doc.go | 36 + service/qapps/errors.go | 80 + service/qapps/examples_test.go | 1027 ++ service/qapps/qappsiface/interface.go | 162 + service/qapps/service.go | 106 + 41 files changed, 15993 insertions(+), 663 deletions(-) create mode 100644 models/apis/codedeploy/2014-10-06/smoke-2.json create mode 100644 models/apis/devicefarm/2015-06-23/endpoint-rule-set-1.json create mode 100644 models/apis/devicefarm/2015-06-23/endpoint-tests-1.json create mode 100644 models/apis/devicefarm/2015-06-23/smoke-2.json create mode 100644 models/apis/dms/2016-01-01/smoke-2.json create mode 100644 models/apis/elasticbeanstalk/2010-12-01/smoke-2.json create mode 100644 models/apis/email/2010-12-01/smoke-2.json create mode 100644 models/apis/es/2015-01-01/smoke-2.json create mode 100644 models/apis/firehose/2015-08-04/smoke-2.json create mode 100644 models/apis/gamelift/2015-10-01/smoke-2.json create mode 100644 models/apis/qapps/2023-11-27/api-2.json create mode 100644 models/apis/qapps/2023-11-27/docs-2.json create mode 100644 models/apis/qapps/2023-11-27/endpoint-rule-set-1.json create mode 100644 models/apis/qapps/2023-11-27/endpoint-tests-1.json create mode 100644 models/apis/qapps/2023-11-27/examples-1.json create mode 100644 models/apis/qapps/2023-11-27/paginators-1.json create mode 100644 models/apis/qapps/2023-11-27/smoke.json create mode 100644 models/apis/qapps/2023-11-27/waiters-2.json create mode 100644 models/apis/route53resolver/2018-04-01/smoke-2.json create mode 100644 service/qapps/api.go create mode 100644 service/qapps/doc.go create mode 100644 service/qapps/errors.go create mode 100644 service/qapps/examples_test.go create mode 100644 service/qapps/qappsiface/interface.go create mode 100644 service/qapps/service.go diff --git a/CHANGELOG.md b/CHANGELOG.md index b43506284d1..b795b9f742e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,26 @@ +Release v1.54.16 (2024-07-08) +=== + +### Service Client Updates +* `service/codedeploy`: Updates service API + * Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* `service/devicefarm`: Updates service API + * Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* `service/dms`: Updates service API + * Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* `service/elasticbeanstalk`: Updates service API + * Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* `service/email`: Updates service API + * Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* `service/es`: Updates service API + * Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* `service/firehose`: Updates service API + * Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* `service/gamelift`: Updates service API + * Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* `service/qapps`: Updates service API, documentation, waiters, paginators, and examples +* `service/route53resolver`: Updates service API + Release v1.54.15 (2024-07-05) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index be88d0a06e2..33e8062ddc0 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -7056,6 +7056,9 @@ var awsPartition = partition{ endpointKey{ Region: "af-south-1", }: endpoint{}, + endpointKey{ + Region: "ap-east-1", + }: endpoint{}, endpointKey{ Region: "ap-northeast-1", }: endpoint{}, @@ -23205,91 +23208,490 @@ var awsPartition = partition{ Endpoints: serviceEndpoints{ endpointKey{ Region: "af-south-1", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "af-south-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.af-south-1.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "ap-east-1", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "ap-east-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.ap-east-1.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "ap-northeast-1", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "ap-northeast-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.ap-northeast-1.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "ap-northeast-2", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "ap-northeast-2", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.ap-northeast-2.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "ap-northeast-3", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "ap-northeast-3", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.ap-northeast-3.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "ap-south-1", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "ap-south-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.ap-south-1.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "ap-south-2", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "ap-south-2", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.ap-south-2.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "ap-southeast-1", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "ap-southeast-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.ap-southeast-1.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "ap-southeast-2", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "ap-southeast-2", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.ap-southeast-2.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "ap-southeast-3", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "ap-southeast-3", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.ap-southeast-3.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "ap-southeast-4", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "ap-southeast-4", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.ap-southeast-4.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "ca-central-1", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "ca-central-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.ca-central-1.api.aws", + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "ca-central-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "pi-fips.ca-central-1.amazonaws.com", + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "ca-central-1", + Variant: fipsVariant | dualStackVariant, + }: endpoint{ + Hostname: "pi-fips.ca-central-1.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "ca-west-1", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "ca-west-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.ca-west-1.api.aws", + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "ca-west-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "pi-fips.ca-west-1.amazonaws.com", + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "ca-west-1", + Variant: fipsVariant | dualStackVariant, + }: endpoint{ + Hostname: "pi-fips.ca-west-1.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "eu-central-1", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "eu-central-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.eu-central-1.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "eu-central-2", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "eu-central-2", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.eu-central-2.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "eu-north-1", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "eu-north-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.eu-north-1.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "eu-south-1", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "eu-south-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.eu-south-1.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "eu-south-2", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "eu-south-2", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.eu-south-2.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "eu-west-1", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "eu-west-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.eu-west-1.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "eu-west-2", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "eu-west-2", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.eu-west-2.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "eu-west-3", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "eu-west-3", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.eu-west-3.api.aws", + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "fips-ca-central-1", + }: endpoint{ + Hostname: "pi-fips.ca-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ca-central-1", + }, + Deprecated: boxedTrue, + }, + endpointKey{ + Region: "fips-ca-west-1", + }: endpoint{ + Hostname: "pi-fips.ca-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ca-west-1", + }, + Deprecated: boxedTrue, + }, + endpointKey{ + Region: "fips-us-east-1", + }: endpoint{ + Hostname: "pi-fips.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + Deprecated: boxedTrue, + }, + endpointKey{ + Region: "fips-us-east-2", + }: endpoint{ + Hostname: "pi-fips.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + Deprecated: boxedTrue, + }, + endpointKey{ + Region: "fips-us-west-1", + }: endpoint{ + Hostname: "pi-fips.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + Deprecated: boxedTrue, + }, + endpointKey{ + Region: "fips-us-west-2", + }: endpoint{ + Hostname: "pi-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + Deprecated: boxedTrue, + }, endpointKey{ Region: "il-central-1", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "il-central-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.il-central-1.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "me-central-1", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "me-central-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.me-central-1.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "me-south-1", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "me-south-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.me-south-1.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "sa-east-1", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "sa-east-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.sa-east-1.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "us-east-1", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "us-east-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.us-east-1.api.aws", + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "us-east-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "pi-fips.us-east-1.amazonaws.com", + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "us-east-1", + Variant: fipsVariant | dualStackVariant, + }: endpoint{ + Hostname: "pi-fips.us-east-1.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "us-east-2", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "us-east-2", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.us-east-2.api.aws", + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "us-east-2", + Variant: fipsVariant, + }: endpoint{ + Hostname: "pi-fips.us-east-2.amazonaws.com", + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "us-east-2", + Variant: fipsVariant | dualStackVariant, + }: endpoint{ + Hostname: "pi-fips.us-east-2.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "us-west-1", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "us-west-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.us-west-1.api.aws", + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "us-west-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "pi-fips.us-west-1.amazonaws.com", + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "us-west-1", + Variant: fipsVariant | dualStackVariant, + }: endpoint{ + Hostname: "pi-fips.us-west-1.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "us-west-2", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "us-west-2", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.us-west-2.api.aws", + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "us-west-2", + Variant: fipsVariant, + }: endpoint{ + Hostname: "pi-fips.us-west-2.amazonaws.com", + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "us-west-2", + Variant: fipsVariant | dualStackVariant, + }: endpoint{ + Hostname: "pi-fips.us-west-2.api.aws", + Protocols: []string{"https"}, + }, }, }, "pinpoint": service{ @@ -33618,6 +34020,21 @@ var awsPartition = partition{ endpointKey{ Region: "us-west-1", }: endpoint{}, + endpointKey{ + Region: "us-west-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "translate-fips.us-west-1.amazonaws.com", + }, + endpointKey{ + Region: "us-west-1-fips", + }: endpoint{ + Hostname: "translate-fips.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + Deprecated: boxedTrue, + }, endpointKey{ Region: "us-west-2", }: endpoint{}, @@ -37483,10 +37900,28 @@ var awscnPartition = partition{ Endpoints: serviceEndpoints{ endpointKey{ Region: "cn-north-1", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "cn-north-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.cn-north-1.api.amazonwebservices.com.cn", + Protocols: []string{"https"}, + }, endpointKey{ Region: "cn-northwest-1", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "cn-northwest-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.cn-northwest-1.api.amazonwebservices.com.cn", + Protocols: []string{"https"}, + }, }, }, "pipes": service{ @@ -42875,12 +43310,76 @@ var awsusgovPartition = partition{ }, "pi": service{ Endpoints: serviceEndpoints{ + endpointKey{ + Region: "fips-us-gov-east-1", + }: endpoint{ + Hostname: "pi-fips.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + Deprecated: boxedTrue, + }, + endpointKey{ + Region: "fips-us-gov-west-1", + }: endpoint{ + Hostname: "pi-fips.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + Deprecated: boxedTrue, + }, endpointKey{ Region: "us-gov-east-1", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "us-gov-east-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.us-gov-east-1.api.aws", + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "us-gov-east-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "pi-fips.us-gov-east-1.amazonaws.com", + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "us-gov-east-1", + Variant: fipsVariant | dualStackVariant, + }: endpoint{ + Hostname: "pi-fips.us-gov-east-1.api.aws", + Protocols: []string{"https"}, + }, endpointKey{ Region: "us-gov-west-1", - }: endpoint{}, + }: endpoint{ + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "us-gov-west-1", + Variant: dualStackVariant, + }: endpoint{ + Hostname: "pi.us-gov-west-1.api.aws", + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "us-gov-west-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "pi-fips.us-gov-west-1.amazonaws.com", + Protocols: []string{"https"}, + }, + endpointKey{ + Region: "us-gov-west-1", + Variant: fipsVariant | dualStackVariant, + }: endpoint{ + Hostname: "pi-fips.us-gov-west-1.api.aws", + Protocols: []string{"https"}, + }, }, }, "pinpoint": service{ diff --git a/aws/version.go b/aws/version.go index b2b0890400c..c8a68cc761a 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.54.15" +const SDKVersion = "1.54.16" diff --git a/models/apis/codedeploy/2014-10-06/api-2.json b/models/apis/codedeploy/2014-10-06/api-2.json index 12adf75ddd7..0431d9aab20 100644 --- a/models/apis/codedeploy/2014-10-06/api-2.json +++ b/models/apis/codedeploy/2014-10-06/api-2.json @@ -5,12 +5,14 @@ "endpointPrefix":"codedeploy", "jsonVersion":"1.1", "protocol":"json", + "protocols":["json"], "serviceAbbreviation":"CodeDeploy", "serviceFullName":"AWS CodeDeploy", "serviceId":"CodeDeploy", "signatureVersion":"v4", "targetPrefix":"CodeDeploy_20141006", - "uid":"codedeploy-2014-10-06" + "uid":"codedeploy-2014-10-06", + "auth":["aws.auth#sigv4"] }, "operations":{ "AddTagsToOnPremisesInstances":{ diff --git a/models/apis/codedeploy/2014-10-06/smoke-2.json b/models/apis/codedeploy/2014-10-06/smoke-2.json new file mode 100644 index 00000000000..b288a0e2308 --- /dev/null +++ b/models/apis/codedeploy/2014-10-06/smoke-2.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "testCases": [ + { + "id": "ListApplicationsSuccess", + "operationName": "ListApplications", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-west-2" + } + } + ] +} diff --git a/models/apis/devicefarm/2015-06-23/api-2.json b/models/apis/devicefarm/2015-06-23/api-2.json index f5b03f09b7e..088bde6d750 100644 --- a/models/apis/devicefarm/2015-06-23/api-2.json +++ b/models/apis/devicefarm/2015-06-23/api-2.json @@ -5,11 +5,13 @@ "endpointPrefix":"devicefarm", "jsonVersion":"1.1", "protocol":"json", + "protocols":["json"], "serviceFullName":"AWS Device Farm", "serviceId":"Device Farm", "signatureVersion":"v4", "targetPrefix":"DeviceFarm_20150623", - "uid":"devicefarm-2015-06-23" + "uid":"devicefarm-2015-06-23", + "auth":["aws.auth#sigv4"] }, "operations":{ "CreateDevicePool":{ diff --git a/models/apis/devicefarm/2015-06-23/endpoint-rule-set-1.json b/models/apis/devicefarm/2015-06-23/endpoint-rule-set-1.json new file mode 100644 index 00000000000..d2d71d3fcbc --- /dev/null +++ b/models/apis/devicefarm/2015-06-23/endpoint-rule-set-1.json @@ -0,0 +1,314 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://devicefarm-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://devicefarm-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://devicefarm.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://devicefarm.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] +} \ No newline at end of file diff --git a/models/apis/devicefarm/2015-06-23/endpoint-tests-1.json b/models/apis/devicefarm/2015-06-23/endpoint-tests-1.json new file mode 100644 index 00000000000..cb0a2a0bfbe --- /dev/null +++ b/models/apis/devicefarm/2015-06-23/endpoint-tests-1.json @@ -0,0 +1,327 @@ +{ + "testCases": [ + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devicefarm.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://devicefarm-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devicefarm-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://devicefarm.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devicefarm.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://devicefarm-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devicefarm-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://devicefarm.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devicefarm.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://devicefarm-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devicefarm-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://devicefarm.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devicefarm.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devicefarm-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devicefarm.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devicefarm-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devicefarm.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/devicefarm/2015-06-23/smoke-2.json b/models/apis/devicefarm/2015-06-23/smoke-2.json new file mode 100644 index 00000000000..f3a0e8de95d --- /dev/null +++ b/models/apis/devicefarm/2015-06-23/smoke-2.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "testCases": [ + { + "id": "ListDevicesSuccess", + "operationName": "ListDevices", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-west-2" + } + } + ] +} diff --git a/models/apis/dms/2016-01-01/api-2.json b/models/apis/dms/2016-01-01/api-2.json index 75941b7734e..ca9eac73787 100644 --- a/models/apis/dms/2016-01-01/api-2.json +++ b/models/apis/dms/2016-01-01/api-2.json @@ -5,11 +5,13 @@ "endpointPrefix":"dms", "jsonVersion":"1.1", "protocol":"json", + "protocols":["json"], "serviceFullName":"AWS Database Migration Service", "serviceId":"Database Migration Service", "signatureVersion":"v4", "targetPrefix":"AmazonDMSv20160101", - "uid":"dms-2016-01-01" + "uid":"dms-2016-01-01", + "auth":["aws.auth#sigv4"] }, "operations":{ "AddTagsToResource":{ diff --git a/models/apis/dms/2016-01-01/smoke-2.json b/models/apis/dms/2016-01-01/smoke-2.json new file mode 100644 index 00000000000..28dc03e6318 --- /dev/null +++ b/models/apis/dms/2016-01-01/smoke-2.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "testCases": [ + { + "id": "DescribeEndpointsSuccess", + "operationName": "DescribeEndpoints", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-west-2" + } + } + ] +} diff --git a/models/apis/elasticbeanstalk/2010-12-01/api-2.json b/models/apis/elasticbeanstalk/2010-12-01/api-2.json index d535ed6bf6d..e4e97311483 100644 --- a/models/apis/elasticbeanstalk/2010-12-01/api-2.json +++ b/models/apis/elasticbeanstalk/2010-12-01/api-2.json @@ -4,12 +4,14 @@ "apiVersion":"2010-12-01", "endpointPrefix":"elasticbeanstalk", "protocol":"query", + "protocols":["query"], "serviceAbbreviation":"Elastic Beanstalk", "serviceFullName":"AWS Elastic Beanstalk", "serviceId":"Elastic Beanstalk", "signatureVersion":"v4", "uid":"elasticbeanstalk-2010-12-01", - "xmlNamespace":"http://elasticbeanstalk.amazonaws.com/docs/2010-12-01/" + "xmlNamespace":"http://elasticbeanstalk.amazonaws.com/docs/2010-12-01/", + "auth":["aws.auth#sigv4"] }, "operations":{ "AbortEnvironmentUpdate":{ diff --git a/models/apis/elasticbeanstalk/2010-12-01/endpoint-rule-set-1.json b/models/apis/elasticbeanstalk/2010-12-01/endpoint-rule-set-1.json index 7ca32851aff..40b17bf83b9 100644 --- a/models/apis/elasticbeanstalk/2010-12-01/endpoint-rule-set-1.json +++ b/models/apis/elasticbeanstalk/2010-12-01/endpoint-rule-set-1.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,78 +32,29 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], - "type": "tree", "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "ref": "UseFIPS" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + true ] } - ] + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" }, { "conditions": [ @@ -111,61 +62,109 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "booleanEquals", + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "UseDualStack" - }, - true - ] + "ref": "Region" + } + ], + "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] }, { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], - "type": "tree", "rules": [ { - "conditions": [], - "type": "tree", + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "rules": [ { "conditions": [], @@ -176,61 +175,54 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } - ] + ], + "type": "tree" }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], - "type": "tree", "rules": [ { - "conditions": [], - "type": "tree", + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], "rules": [ { "conditions": [ { "fn": "stringEquals", "argv": [ - "aws-us-gov", { "fn": "getAttr", "argv": [ @@ -239,7 +231,8 @@ }, "name" ] - } + }, + "aws-us-gov" ] } ], @@ -259,54 +252,48 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } - ] + ], + "type": "tree" }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], - "type": "tree", "rules": [ { - "conditions": [], - "type": "tree", + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "rules": [ { "conditions": [], @@ -317,58 +304,16 @@ }, "type": "endpoint" } - ] - } - ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ] - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-east-1" - ] - } - ], - "endpoint": { - "url": "https://elasticbeanstalk.us-gov-east-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ + ], + "type": "tree" + }, { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-west-1" - ] + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ], - "endpoint": { - "url": "https://elasticbeanstalk.us-gov-west-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree" }, { "conditions": [], @@ -379,9 +324,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/models/apis/elasticbeanstalk/2010-12-01/endpoint-tests-1.json b/models/apis/elasticbeanstalk/2010-12-01/endpoint-tests-1.json index d01425e7196..c23e7b530bc 100644 --- a/models/apis/elasticbeanstalk/2010-12-01/endpoint-tests-1.json +++ b/models/apis/elasticbeanstalk/2010-12-01/endpoint-tests-1.json @@ -1,29 +1,55 @@ { "testCases": [ { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://elasticbeanstalk.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-iso-east-1" + "Region": "af-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.us-iso-east-1.c2s.ic.gov" + "url": "https://elasticbeanstalk.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticbeanstalk.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticbeanstalk.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-2", "UseFIPS": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -34,87 +60,87 @@ } }, "params": { - "UseDualStack": false, + "Region": "ap-northeast-3", "UseFIPS": false, - "Region": "ap-northeast-3" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.us-east-1.amazonaws.com" + "url": "https://elasticbeanstalk.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-south-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk-fips.us-east-1.amazonaws.com" + "url": "https://elasticbeanstalk.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-east-1" + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.eu-west-1.amazonaws.com" + "url": "https://elasticbeanstalk.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-southeast-2", "UseFIPS": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.eu-west-2.amazonaws.com" + "url": "https://elasticbeanstalk.ap-southeast-3.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-southeast-3", "UseFIPS": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.eu-west-3.amazonaws.com" + "url": "https://elasticbeanstalk.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ca-central-1", "UseFIPS": false, - "Region": "eu-west-3" + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.me-south-1.amazonaws.com" + "url": "https://elasticbeanstalk.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-central-1", "UseFIPS": false, - "Region": "me-south-1" + "UseDualStack": false } }, { @@ -125,139 +151,139 @@ } }, "params": { - "UseDualStack": false, + "Region": "eu-north-1", "UseFIPS": false, - "Region": "eu-north-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.us-east-2.amazonaws.com" + "url": "https://elasticbeanstalk.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-south-1", "UseFIPS": false, - "Region": "us-east-2" + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk-fips.us-east-2.amazonaws.com" + "url": "https://elasticbeanstalk.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-east-2" + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.sa-east-1.amazonaws.com" + "url": "https://elasticbeanstalk.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-west-2", "UseFIPS": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.ap-east-1.amazonaws.com" + "url": "https://elasticbeanstalk.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-west-3", "UseFIPS": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.eu-south-1.amazonaws.com" + "url": "https://elasticbeanstalk.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "me-south-1", "UseFIPS": false, - "Region": "eu-south-1" + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.eu-central-1.amazonaws.com" + "url": "https://elasticbeanstalk.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "sa-east-1", "UseFIPS": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.ap-southeast-1.amazonaws.com" + "url": "https://elasticbeanstalk.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.ap-southeast-2.amazonaws.com" + "url": "https://elasticbeanstalk-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-southeast-2" + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.ap-southeast-3.amazonaws.com" + "url": "https://elasticbeanstalk.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-2", "UseFIPS": false, - "Region": "ap-southeast-3" + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.ca-central-1.amazonaws.com" + "url": "https://elasticbeanstalk-fips.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ca-central-1" + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false } }, { @@ -268,9 +294,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-west-1", "UseFIPS": false, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -281,9 +307,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-west-1", "UseFIPS": true, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -294,9 +320,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-west-2", "UseFIPS": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -307,139 +333,152 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-west-2", "UseFIPS": true, - "Region": "us-west-2" + "UseDualStack": false } }, { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.af-south-1.amazonaws.com" + "url": "https://elasticbeanstalk-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "af-south-1" + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.ap-south-1.amazonaws.com" + "url": "https://elasticbeanstalk.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "ap-south-1" + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.ap-northeast-1.amazonaws.com" + "url": "https://elasticbeanstalk.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.ap-northeast-2.amazonaws.com" + "url": "https://elasticbeanstalk.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-northwest-1", "UseFIPS": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk-fips.us-east-1.api.aws" + "url": "https://elasticbeanstalk-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.us-east-1.api.aws" + "url": "https://elasticbeanstalk-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticbeanstalk.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.us-gov-west-1.amazonaws.com" + "url": "https://elasticbeanstalk.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.us-gov-west-1.amazonaws.com" + "url": "https://elasticbeanstalk.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.us-gov-east-1.amazonaws.com" + "url": "https://elasticbeanstalk.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-west-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.us-gov-east-1.amazonaws.com" + "url": "https://elasticbeanstalk.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-west-1", "UseFIPS": true, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -450,9 +489,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -463,113 +502,131 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://elasticbeanstalk-fips.us-isob-east-1.sc2s.sgov.gov" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.us-isob-east-1.sc2s.sgov.gov" + "url": "https://elasticbeanstalk-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-isob-east-1" + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://elasticbeanstalk.cn-northwest-1.amazonaws.com.cn" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "cn-northwest-1" + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.cn-north-1.amazonaws.com.cn" + "url": "https://elasticbeanstalk.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://elasticbeanstalk-fips.cn-north-1.api.amazonwebservices.com.cn" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk-fips.cn-north-1.amazonaws.com.cn" + "url": "https://elasticbeanstalk-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://elasticbeanstalk.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { "UseFIPS": false, - "Region": "us-east-1", + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -579,9 +636,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -591,11 +648,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/models/apis/elasticbeanstalk/2010-12-01/smoke-2.json b/models/apis/elasticbeanstalk/2010-12-01/smoke-2.json new file mode 100644 index 00000000000..8324dd6d1e6 --- /dev/null +++ b/models/apis/elasticbeanstalk/2010-12-01/smoke-2.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "testCases": [ + { + "id": "ListAvailableSolutionStacksSuccess", + "operationName": "ListAvailableSolutionStacks", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-west-2" + } + } + ] +} diff --git a/models/apis/email/2010-12-01/api-2.json b/models/apis/email/2010-12-01/api-2.json index ef43e7a45e2..67810709396 100644 --- a/models/apis/email/2010-12-01/api-2.json +++ b/models/apis/email/2010-12-01/api-2.json @@ -4,13 +4,15 @@ "apiVersion":"2010-12-01", "endpointPrefix":"email", "protocol":"query", + "protocols":["query"], "serviceAbbreviation":"Amazon SES", "serviceFullName":"Amazon Simple Email Service", "serviceId":"SES", "signatureVersion":"v4", "signingName":"ses", "uid":"email-2010-12-01", - "xmlNamespace":"http://ses.amazonaws.com/doc/2010-12-01/" + "xmlNamespace":"http://ses.amazonaws.com/doc/2010-12-01/", + "auth":["aws.auth#sigv4"] }, "operations":{ "CloneReceiptRuleSet":{ diff --git a/models/apis/email/2010-12-01/endpoint-rule-set-1.json b/models/apis/email/2010-12-01/endpoint-rule-set-1.json index 1d567c5f974..658dc3ff9e4 100644 --- a/models/apis/email/2010-12-01/endpoint-rule-set-1.json +++ b/models/apis/email/2010-12-01/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -58,293 +57,258 @@ "type": "error" }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" + "ref": "UseDualStack" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + true + ] } - ] + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, { - "conditions": [], - "type": "tree", + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "aws.partition", "argv": [ { "ref": "Region" } - ] + ], + "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] }, { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://email-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, + } + ], + "rules": [ { "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" + "endpoint": { + "url": "https://email-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] }, true ] } ], - "type": "tree", "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://email-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://email-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://email.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } - ] - }, - { - "conditions": [], - "type": "tree", + ], "rules": [ { "conditions": [], "endpoint": { - "url": "https://email.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://email.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://email.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" + ], + "type": "tree" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/models/apis/email/2010-12-01/smoke-2.json b/models/apis/email/2010-12-01/smoke-2.json new file mode 100644 index 00000000000..c725c6bfdcf --- /dev/null +++ b/models/apis/email/2010-12-01/smoke-2.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "testCases": [ + { + "id": "ListIdentitiesSuccess", + "operationName": "ListIdentities", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-west-2" + } + } + ] +} diff --git a/models/apis/es/2015-01-01/api-2.json b/models/apis/es/2015-01-01/api-2.json index 70dd15af159..0863391abf7 100644 --- a/models/apis/es/2015-01-01/api-2.json +++ b/models/apis/es/2015-01-01/api-2.json @@ -4,10 +4,12 @@ "apiVersion":"2015-01-01", "endpointPrefix":"es", "protocol":"rest-json", + "protocols":["rest-json"], "serviceFullName":"Amazon Elasticsearch Service", "serviceId":"Elasticsearch Service", "signatureVersion":"v4", - "uid":"es-2015-01-01" + "uid":"es-2015-01-01", + "auth":["aws.auth#sigv4"] }, "operations":{ "AcceptInboundCrossClusterSearchConnection":{ diff --git a/models/apis/es/2015-01-01/smoke-2.json b/models/apis/es/2015-01-01/smoke-2.json new file mode 100644 index 00000000000..275c5e04149 --- /dev/null +++ b/models/apis/es/2015-01-01/smoke-2.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "testCases": [ + { + "id": "ListDomainNamesSuccess", + "operationName": "ListDomainNames", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-west-2" + } + } + ] +} diff --git a/models/apis/firehose/2015-08-04/api-2.json b/models/apis/firehose/2015-08-04/api-2.json index d4773f4a5af..8723cc879a9 100644 --- a/models/apis/firehose/2015-08-04/api-2.json +++ b/models/apis/firehose/2015-08-04/api-2.json @@ -11,7 +11,8 @@ "serviceId":"Firehose", "signatureVersion":"v4", "targetPrefix":"Firehose_20150804", - "uid":"firehose-2015-08-04" + "uid":"firehose-2015-08-04", + "auth":["aws.auth#sigv4"] }, "operations":{ "CreateDeliveryStream":{ diff --git a/models/apis/firehose/2015-08-04/smoke-2.json b/models/apis/firehose/2015-08-04/smoke-2.json new file mode 100644 index 00000000000..140d2c59093 --- /dev/null +++ b/models/apis/firehose/2015-08-04/smoke-2.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "testCases": [ + { + "id": "ListDeliveryStreamsSuccess", + "operationName": "ListDeliveryStreams", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-west-2" + } + } + ] +} diff --git a/models/apis/gamelift/2015-10-01/api-2.json b/models/apis/gamelift/2015-10-01/api-2.json index 7be5bbbd451..b52c14cf0f8 100644 --- a/models/apis/gamelift/2015-10-01/api-2.json +++ b/models/apis/gamelift/2015-10-01/api-2.json @@ -5,11 +5,13 @@ "endpointPrefix":"gamelift", "jsonVersion":"1.1", "protocol":"json", + "protocols":["json"], "serviceFullName":"Amazon GameLift", "serviceId":"GameLift", "signatureVersion":"v4", "targetPrefix":"GameLift", - "uid":"gamelift-2015-10-01" + "uid":"gamelift-2015-10-01", + "auth":["aws.auth#sigv4"] }, "operations":{ "AcceptMatch":{ diff --git a/models/apis/gamelift/2015-10-01/smoke-2.json b/models/apis/gamelift/2015-10-01/smoke-2.json new file mode 100644 index 00000000000..259d5b36c95 --- /dev/null +++ b/models/apis/gamelift/2015-10-01/smoke-2.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "testCases": [ + { + "id": "ListBuildsSuccess", + "operationName": "ListBuilds", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-west-2" + } + } + ] +} diff --git a/models/apis/qapps/2023-11-27/api-2.json b/models/apis/qapps/2023-11-27/api-2.json new file mode 100644 index 00000000000..4b1d5dfbf53 --- /dev/null +++ b/models/apis/qapps/2023-11-27/api-2.json @@ -0,0 +1,1845 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2023-11-27", + "auth":["aws.auth#sigv4"], + "endpointPrefix":"data.qapps", + "protocol":"rest-json", + "protocols":["rest-json"], + "serviceFullName":"QApps", + "serviceId":"QApps", + "signatureVersion":"v4", + "signingName":"qapps", + "uid":"qapps-2023-11-27" + }, + "operations":{ + "AssociateLibraryItemReview":{ + "name":"AssociateLibraryItemReview", + "http":{ + "method":"POST", + "requestUri":"/catalog.associateItemRating", + "responseCode":200 + }, + "input":{"shape":"AssociateLibraryItemReviewInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"} + ] + }, + "AssociateQAppWithUser":{ + "name":"AssociateQAppWithUser", + "http":{ + "method":"POST", + "requestUri":"/apps.install", + "responseCode":200 + }, + "input":{"shape":"AssociateQAppWithUserInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"} + ] + }, + "CreateLibraryItem":{ + "name":"CreateLibraryItem", + "http":{ + "method":"POST", + "requestUri":"/catalog.createItem", + "responseCode":200 + }, + "input":{"shape":"CreateLibraryItemInput"}, + "output":{"shape":"CreateLibraryItemOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"} + ] + }, + "CreateQApp":{ + "name":"CreateQApp", + "http":{ + "method":"POST", + "requestUri":"/apps.create", + "responseCode":200 + }, + "input":{"shape":"CreateQAppInput"}, + "output":{"shape":"CreateQAppOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ContentTooLargeException"}, + {"shape":"ThrottlingException"} + ] + }, + "DeleteLibraryItem":{ + "name":"DeleteLibraryItem", + "http":{ + "method":"POST", + "requestUri":"/catalog.deleteItem", + "responseCode":200 + }, + "input":{"shape":"DeleteLibraryItemInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"} + ], + "idempotent":true + }, + "DeleteQApp":{ + "name":"DeleteQApp", + "http":{ + "method":"POST", + "requestUri":"/apps.delete", + "responseCode":200 + }, + "input":{"shape":"DeleteQAppInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ThrottlingException"} + ], + "idempotent":true + }, + "DisassociateLibraryItemReview":{ + "name":"DisassociateLibraryItemReview", + "http":{ + "method":"POST", + "requestUri":"/catalog.disassociateItemRating", + "responseCode":200 + }, + "input":{"shape":"DisassociateLibraryItemReviewInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"} + ] + }, + "DisassociateQAppFromUser":{ + "name":"DisassociateQAppFromUser", + "http":{ + "method":"POST", + "requestUri":"/apps.uninstall", + "responseCode":200 + }, + "input":{"shape":"DisassociateQAppFromUserInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetLibraryItem":{ + "name":"GetLibraryItem", + "http":{ + "method":"GET", + "requestUri":"/catalog.getItem", + "responseCode":200 + }, + "input":{"shape":"GetLibraryItemInput"}, + "output":{"shape":"GetLibraryItemOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetQApp":{ + "name":"GetQApp", + "http":{ + "method":"GET", + "requestUri":"/apps.get", + "responseCode":200 + }, + "input":{"shape":"GetQAppInput"}, + "output":{"shape":"GetQAppOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetQAppSession":{ + "name":"GetQAppSession", + "http":{ + "method":"GET", + "requestUri":"/runtime.getQAppSession", + "responseCode":200 + }, + "input":{"shape":"GetQAppSessionInput"}, + "output":{"shape":"GetQAppSessionOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"} + ] + }, + "ImportDocument":{ + "name":"ImportDocument", + "http":{ + "method":"POST", + "requestUri":"/apps.importDocument", + "responseCode":200 + }, + "input":{"shape":"ImportDocumentInput"}, + "output":{"shape":"ImportDocumentOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ContentTooLargeException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListLibraryItems":{ + "name":"ListLibraryItems", + "http":{ + "method":"GET", + "requestUri":"/catalog.list", + "responseCode":200 + }, + "input":{"shape":"ListLibraryItemsInput"}, + "output":{"shape":"ListLibraryItemsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListQApps":{ + "name":"ListQApps", + "http":{ + "method":"GET", + "requestUri":"/apps.list", + "responseCode":200 + }, + "input":{"shape":"ListQAppsInput"}, + "output":{"shape":"ListQAppsOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceARN}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, + "PredictQApp":{ + "name":"PredictQApp", + "http":{ + "method":"POST", + "requestUri":"/apps.predictQApp", + "responseCode":200 + }, + "input":{"shape":"PredictQAppInput"}, + "output":{"shape":"PredictQAppOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ThrottlingException"} + ] + }, + "StartQAppSession":{ + "name":"StartQAppSession", + "http":{ + "method":"POST", + "requestUri":"/runtime.startQAppSession", + "responseCode":200 + }, + "input":{"shape":"StartQAppSessionInput"}, + "output":{"shape":"StartQAppSessionOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"} + ] + }, + "StopQAppSession":{ + "name":"StopQAppSession", + "http":{ + "method":"POST", + "requestUri":"/runtime.deleteMiniAppRun", + "responseCode":200 + }, + "input":{"shape":"StopQAppSessionInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"} + ] + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceARN}", + "responseCode":200 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "idempotent":true + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceARN}", + "responseCode":200 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "idempotent":true + }, + "UpdateLibraryItem":{ + "name":"UpdateLibraryItem", + "http":{ + "method":"POST", + "requestUri":"/catalog.updateItem", + "responseCode":200 + }, + "input":{"shape":"UpdateLibraryItemInput"}, + "output":{"shape":"UpdateLibraryItemOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ThrottlingException"} + ] + }, + "UpdateQApp":{ + "name":"UpdateQApp", + "http":{ + "method":"POST", + "requestUri":"/apps.update", + "responseCode":200 + }, + "input":{"shape":"UpdateQAppInput"}, + "output":{"shape":"UpdateQAppOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ContentTooLargeException"}, + {"shape":"ThrottlingException"} + ] + }, + "UpdateQAppSession":{ + "name":"UpdateQAppSession", + "http":{ + "method":"POST", + "requestUri":"/runtime.updateQAppSession", + "responseCode":200 + }, + "input":{"shape":"UpdateQAppSessionInput"}, + "output":{"shape":"UpdateQAppSessionOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"} + ] + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "AmazonResourceName":{ + "type":"string", + "max":1011, + "min":1 + }, + "AppArn":{"type":"string"}, + "AppDefinition":{ + "type":"structure", + "required":[ + "appDefinitionVersion", + "cards" + ], + "members":{ + "appDefinitionVersion":{"shape":"String"}, + "cards":{"shape":"CardModelList"}, + "canEdit":{"shape":"Boolean"} + } + }, + "AppDefinitionInput":{ + "type":"structure", + "required":["cards"], + "members":{ + "cards":{"shape":"CardList"}, + "initialPrompt":{"shape":"InitialPrompt"} + } + }, + "AppRequiredCapabilities":{ + "type":"list", + "member":{"shape":"AppRequiredCapability"} + }, + "AppRequiredCapability":{ + "type":"string", + "enum":[ + "FileUpload", + "CreatorMode", + "RetrievalMode", + "PluginMode" + ] + }, + "AppStatus":{ + "type":"string", + "enum":[ + "PUBLISHED", + "DRAFT", + "DELETED" + ] + }, + "AppVersion":{ + "type":"integer", + "box":true, + "max":2147483647, + "min":0 + }, + "AssociateLibraryItemReviewInput":{ + "type":"structure", + "required":[ + "instanceId", + "libraryItemId" + ], + "members":{ + "instanceId":{ + "shape":"InstanceId", + "location":"header", + "locationName":"instance-id" + }, + "libraryItemId":{"shape":"UUID"} + } + }, + "AssociateQAppWithUserInput":{ + "type":"structure", + "required":[ + "instanceId", + "appId" + ], + "members":{ + "instanceId":{ + "shape":"InstanceId", + "location":"header", + "locationName":"instance-id" + }, + "appId":{"shape":"UUID"} + } + }, + "AttributeFilter":{ + "type":"structure", + "members":{ + "andAllFilters":{"shape":"AttributeFilters"}, + "orAllFilters":{"shape":"AttributeFilters"}, + "notFilter":{"shape":"AttributeFilter"}, + "equalsTo":{"shape":"DocumentAttribute"}, + "containsAll":{"shape":"DocumentAttribute"}, + "containsAny":{"shape":"DocumentAttribute"}, + "greaterThan":{"shape":"DocumentAttribute"}, + "greaterThanOrEquals":{"shape":"DocumentAttribute"}, + "lessThan":{"shape":"DocumentAttribute"}, + "lessThanOrEquals":{"shape":"DocumentAttribute"} + } + }, + "AttributeFilters":{ + "type":"list", + "member":{"shape":"AttributeFilter"} + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "Card":{ + "type":"structure", + "members":{ + "textInput":{"shape":"TextInputCard"}, + "qQuery":{"shape":"QQueryCard"}, + "qPlugin":{"shape":"QPluginCard"}, + "fileUpload":{"shape":"FileUploadCard"} + }, + "union":true + }, + "CardInput":{ + "type":"structure", + "members":{ + "textInput":{"shape":"TextInputCardInput"}, + "qQuery":{"shape":"QQueryCardInput"}, + "qPlugin":{"shape":"QPluginCardInput"}, + "fileUpload":{"shape":"FileUploadCardInput"} + }, + "union":true + }, + "CardList":{ + "type":"list", + "member":{"shape":"CardInput"}, + "max":20, + "min":0 + }, + "CardModelList":{ + "type":"list", + "member":{"shape":"Card"}, + "max":20, + "min":0 + }, + "CardOutputSource":{ + "type":"string", + "enum":[ + "approved-sources", + "llm" + ] + }, + "CardStatus":{ + "type":"structure", + "required":[ + "currentState", + "currentValue" + ], + "members":{ + "currentState":{"shape":"ExecutionStatus"}, + "currentValue":{"shape":"String"} + } + }, + "CardStatusMap":{ + "type":"map", + "key":{"shape":"UUID"}, + "value":{"shape":"CardStatus"} + }, + "CardType":{ + "type":"string", + "enum":[ + "text-input", + "q-query", + "file-upload", + "q-plugin" + ] + }, + "CardValue":{ + "type":"structure", + "required":[ + "cardId", + "value" + ], + "members":{ + "cardId":{"shape":"UUID"}, + "value":{"shape":"CardValueValueString"} + } + }, + "CardValueList":{ + "type":"list", + "member":{"shape":"CardValue"}, + "max":20, + "min":0 + }, + "CardValueValueString":{ + "type":"string", + "max":5000, + "min":0 + }, + "Category":{ + "type":"structure", + "required":[ + "id", + "title" + ], + "members":{ + "id":{"shape":"UUID"}, + "title":{"shape":"String"} + } + }, + "CategoryIdList":{ + "type":"list", + "member":{"shape":"UUID"}, + "max":3, + "min":0 + }, + "CategoryList":{ + "type":"list", + "member":{"shape":"Category"}, + "max":3, + "min":0 + }, + "ConflictException":{ + "type":"structure", + "required":[ + "message", + "resourceId", + "resourceType" + ], + "members":{ + "message":{"shape":"String"}, + "resourceId":{"shape":"String"}, + "resourceType":{"shape":"String"} + }, + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "ContentTooLargeException":{ + "type":"structure", + "required":[ + "message", + "resourceId", + "resourceType" + ], + "members":{ + "message":{"shape":"String"}, + "resourceId":{"shape":"String"}, + "resourceType":{"shape":"String"} + }, + "error":{ + "httpStatusCode":413, + "senderFault":true + }, + "exception":true + }, + "ConversationMessage":{ + "type":"structure", + "required":[ + "body", + "type" + ], + "members":{ + "body":{"shape":"ConversationMessageBodyString"}, + "type":{"shape":"Sender"} + } + }, + "ConversationMessageBodyString":{ + "type":"string", + "max":7000, + "min":0 + }, + "CreateLibraryItemInput":{ + "type":"structure", + "required":[ + "instanceId", + "appId", + "appVersion", + "categories" + ], + "members":{ + "instanceId":{ + "shape":"InstanceId", + "location":"header", + "locationName":"instance-id" + }, + "appId":{"shape":"UUID"}, + "appVersion":{"shape":"AppVersion"}, + "categories":{"shape":"CategoryIdList"} + } + }, + "CreateLibraryItemOutput":{ + "type":"structure", + "required":[ + "libraryItemId", + "status", + "createdAt", + "createdBy", + "ratingCount" + ], + "members":{ + "libraryItemId":{"shape":"UUID"}, + "status":{"shape":"String"}, + "createdAt":{"shape":"QAppsTimestamp"}, + "createdBy":{"shape":"String"}, + "updatedAt":{"shape":"QAppsTimestamp"}, + "updatedBy":{"shape":"String"}, + "ratingCount":{"shape":"Integer"} + } + }, + "CreateQAppInput":{ + "type":"structure", + "required":[ + "instanceId", + "title", + "appDefinition" + ], + "members":{ + "instanceId":{ + "shape":"InstanceId", + "location":"header", + "locationName":"instance-id" + }, + "title":{"shape":"Title"}, + "description":{"shape":"Description"}, + "appDefinition":{"shape":"AppDefinitionInput"}, + "tags":{"shape":"TagMap"} + } + }, + "CreateQAppOutput":{ + "type":"structure", + "required":[ + "appId", + "appArn", + "title", + "appVersion", + "status", + "createdAt", + "createdBy", + "updatedAt", + "updatedBy" + ], + "members":{ + "appId":{"shape":"UUID"}, + "appArn":{"shape":"AppArn"}, + "title":{"shape":"Title"}, + "description":{"shape":"Description"}, + "initialPrompt":{"shape":"InitialPrompt"}, + "appVersion":{"shape":"AppVersion"}, + "status":{"shape":"AppStatus"}, + "createdAt":{"shape":"QAppsTimestamp"}, + "createdBy":{"shape":"String"}, + "updatedAt":{"shape":"QAppsTimestamp"}, + "updatedBy":{"shape":"String"}, + "requiredCapabilities":{"shape":"AppRequiredCapabilities"} + } + }, + "Default":{ + "type":"string", + "max":500, + "min":0 + }, + "DeleteLibraryItemInput":{ + "type":"structure", + "required":[ + "instanceId", + "libraryItemId" + ], + "members":{ + "instanceId":{ + "shape":"InstanceId", + "location":"header", + "locationName":"instance-id" + }, + "libraryItemId":{"shape":"UUID"} + } + }, + "DeleteQAppInput":{ + "type":"structure", + "required":[ + "instanceId", + "appId" + ], + "members":{ + "instanceId":{ + "shape":"InstanceId", + "location":"header", + "locationName":"instance-id" + }, + "appId":{"shape":"UUID"} + } + }, + "DependencyList":{ + "type":"list", + "member":{"shape":"String"} + }, + "Description":{ + "type":"string", + "max":500, + "min":0 + }, + "DisassociateLibraryItemReviewInput":{ + "type":"structure", + "required":[ + "instanceId", + "libraryItemId" + ], + "members":{ + "instanceId":{ + "shape":"InstanceId", + "location":"header", + "locationName":"instance-id" + }, + "libraryItemId":{"shape":"UUID"} + } + }, + "DisassociateQAppFromUserInput":{ + "type":"structure", + "required":[ + "instanceId", + "appId" + ], + "members":{ + "instanceId":{ + "shape":"InstanceId", + "location":"header", + "locationName":"instance-id" + }, + "appId":{"shape":"UUID"} + } + }, + "DocumentAttribute":{ + "type":"structure", + "required":[ + "name", + "value" + ], + "members":{ + "name":{"shape":"DocumentAttributeKey"}, + "value":{"shape":"DocumentAttributeValue"} + } + }, + "DocumentAttributeKey":{ + "type":"string", + "max":200, + "min":1, + "pattern":"[a-zA-Z0-9_][a-zA-Z0-9_-]*" + }, + "DocumentAttributeStringListValue":{ + "type":"list", + "member":{"shape":"PlatoString"} + }, + "DocumentAttributeValue":{ + "type":"structure", + "members":{ + "stringValue":{"shape":"DocumentAttributeValueStringValueString"}, + "stringListValue":{"shape":"DocumentAttributeStringListValue"}, + "longValue":{"shape":"Long"}, + "dateValue":{"shape":"Timestamp"} + }, + "union":true + }, + "DocumentAttributeValueStringValueString":{ + "type":"string", + "max":2048, + "min":0 + }, + "DocumentScope":{ + "type":"string", + "enum":[ + "APPLICATION", + "SESSION" + ] + }, + "ExecutionStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "WAITING", + "COMPLETED" + ] + }, + "FileUploadCard":{ + "type":"structure", + "required":[ + "id", + "title", + "dependencies", + "type" + ], + "members":{ + "id":{"shape":"UUID"}, + "title":{"shape":"Title"}, + "dependencies":{"shape":"DependencyList"}, + "type":{"shape":"CardType"}, + "filename":{"shape":"String"}, + "fileId":{"shape":"String"}, + "allowOverride":{"shape":"Boolean"} + } + }, + "FileUploadCardInput":{ + "type":"structure", + "required":[ + "title", + "id", + "type" + ], + "members":{ + "title":{"shape":"Title"}, + "id":{"shape":"UUID"}, + "type":{"shape":"CardType"}, + "filename":{"shape":"Filename"}, + "fileId":{"shape":"UUID"}, + "allowOverride":{"shape":"Boolean"} + } + }, + "Filename":{ + "type":"string", + "max":100, + "min":0 + }, + "GetLibraryItemInput":{ + "type":"structure", + "required":[ + "instanceId", + "libraryItemId" + ], + "members":{ + "instanceId":{ + "shape":"InstanceId", + "location":"header", + "locationName":"instance-id" + }, + "libraryItemId":{ + "shape":"UUID", + "location":"querystring", + "locationName":"libraryItemId" + }, + "appId":{ + "shape":"UUID", + "location":"querystring", + "locationName":"appId" + } + } + }, + "GetLibraryItemOutput":{ + "type":"structure", + "required":[ + "libraryItemId", + "appId", + "appVersion", + "categories", + "status", + "createdAt", + "createdBy", + "ratingCount" + ], + "members":{ + "libraryItemId":{"shape":"UUID"}, + "appId":{"shape":"UUID"}, + "appVersion":{"shape":"AppVersion"}, + "categories":{"shape":"CategoryList"}, + "status":{"shape":"String"}, + "createdAt":{"shape":"QAppsTimestamp"}, + "createdBy":{"shape":"String"}, + "updatedAt":{"shape":"QAppsTimestamp"}, + "updatedBy":{"shape":"String"}, + "ratingCount":{"shape":"Integer"}, + "isRatedByUser":{"shape":"Boolean"}, + "userCount":{"shape":"Integer"} + } + }, + "GetQAppInput":{ + "type":"structure", + "required":[ + "instanceId", + "appId" + ], + "members":{ + "instanceId":{ + "shape":"InstanceId", + "location":"header", + "locationName":"instance-id" + }, + "appId":{ + "shape":"UUID", + "location":"querystring", + "locationName":"appId" + } + } + }, + "GetQAppOutput":{ + "type":"structure", + "required":[ + "appId", + "appArn", + "title", + "appVersion", + "status", + "createdAt", + "createdBy", + "updatedAt", + "updatedBy", + "appDefinition" + ], + "members":{ + "appId":{"shape":"UUID"}, + "appArn":{"shape":"AppArn"}, + "title":{"shape":"Title"}, + "description":{"shape":"Description"}, + "initialPrompt":{"shape":"InitialPrompt"}, + "appVersion":{"shape":"AppVersion"}, + "status":{"shape":"AppStatus"}, + "createdAt":{"shape":"QAppsTimestamp"}, + "createdBy":{"shape":"String"}, + "updatedAt":{"shape":"QAppsTimestamp"}, + "updatedBy":{"shape":"String"}, + "requiredCapabilities":{"shape":"AppRequiredCapabilities"}, + "appDefinition":{"shape":"AppDefinition"} + } + }, + "GetQAppSessionInput":{ + "type":"structure", + "required":[ + "instanceId", + "sessionId" + ], + "members":{ + "instanceId":{ + "shape":"InstanceId", + "location":"header", + "locationName":"instance-id" + }, + "sessionId":{ + "shape":"UUID", + "location":"querystring", + "locationName":"sessionId" + } + } + }, + "GetQAppSessionOutput":{ + "type":"structure", + "required":[ + "sessionId", + "sessionArn", + "status", + "cardStatus" + ], + "members":{ + "sessionId":{"shape":"String"}, + "sessionArn":{"shape":"String"}, + "status":{"shape":"ExecutionStatus"}, + "cardStatus":{"shape":"CardStatusMap"} + } + }, + "ImportDocumentInput":{ + "type":"structure", + "required":[ + "instanceId", + "cardId", + "appId", + "fileContentsBase64", + "fileName", + "scope" + ], + "members":{ + "instanceId":{ + "shape":"InstanceId", + "location":"header", + "locationName":"instance-id" + }, + "cardId":{"shape":"UUID"}, + "appId":{"shape":"UUID"}, + "fileContentsBase64":{"shape":"String"}, + "fileName":{"shape":"Filename"}, + "scope":{"shape":"DocumentScope"}, + "sessionId":{"shape":"UUID"} + } + }, + "ImportDocumentOutput":{ + "type":"structure", + "members":{ + "fileId":{"shape":"String"} + } + }, + "InitialPrompt":{ + "type":"string", + "max":10000, + "min":0 + }, + "InstanceId":{"type":"string"}, + "Integer":{ + "type":"integer", + "box":true + }, + "InternalServerException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"}, + "retryAfterSeconds":{ + "shape":"Integer", + "location":"header", + "locationName":"Retry-After" + } + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true, + "retryable":{"throttling":false} + }, + "LibraryItemList":{ + "type":"list", + "member":{"shape":"LibraryItemMember"} + }, + "LibraryItemMember":{ + "type":"structure", + "required":[ + "libraryItemId", + "appId", + "appVersion", + "categories", + "status", + "createdAt", + "createdBy", + "ratingCount" + ], + "members":{ + "libraryItemId":{"shape":"UUID"}, + "appId":{"shape":"UUID"}, + "appVersion":{"shape":"AppVersion"}, + "categories":{"shape":"CategoryList"}, + "status":{"shape":"String"}, + "createdAt":{"shape":"QAppsTimestamp"}, + "createdBy":{"shape":"String"}, + "updatedAt":{"shape":"QAppsTimestamp"}, + "updatedBy":{"shape":"String"}, + "ratingCount":{"shape":"Integer"}, + "isRatedByUser":{"shape":"Boolean"}, + "userCount":{"shape":"Integer"} + } + }, + "LibraryItemStatus":{ + "type":"string", + "enum":[ + "PUBLISHED", + "DISABLED" + ] + }, + "ListLibraryItemsInput":{ + "type":"structure", + "required":["instanceId"], + "members":{ + "instanceId":{ + "shape":"InstanceId", + "location":"header", + "locationName":"instance-id" + }, + "limit":{ + "shape":"PageLimit", + "location":"querystring", + "locationName":"limit" + }, + "nextToken":{ + "shape":"PaginationToken", + "location":"querystring", + "locationName":"nextToken" + }, + "categoryId":{ + "shape":"UUID", + "location":"querystring", + "locationName":"categoryId" + } + } + }, + "ListLibraryItemsOutput":{ + "type":"structure", + "members":{ + "libraryItems":{"shape":"LibraryItemList"}, + "nextToken":{"shape":"String"} + } + }, + "ListQAppsInput":{ + "type":"structure", + "required":["instanceId"], + "members":{ + "instanceId":{ + "shape":"InstanceId", + "location":"header", + "locationName":"instance-id" + }, + "limit":{ + "shape":"PageLimit", + "location":"querystring", + "locationName":"limit" + }, + "nextToken":{ + "shape":"PaginationToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListQAppsOutput":{ + "type":"structure", + "required":["apps"], + "members":{ + "apps":{"shape":"UserAppsList"}, + "nextToken":{"shape":"String"} + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceARN"], + "members":{ + "resourceARN":{ + "shape":"AmazonResourceName", + "location":"uri", + "locationName":"resourceARN" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{"shape":"Tags"} + } + }, + "Long":{ + "type":"long", + "box":true + }, + "PageLimit":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "PaginationToken":{ + "type":"string", + "max":300, + "min":0 + }, + "Placeholder":{ + "type":"string", + "max":500, + "min":0 + }, + "PlatoString":{ + "type":"string", + "max":2048, + "min":1 + }, + "PluginId":{ + "type":"string", + "max":36, + "min":36 + }, + "PluginType":{ + "type":"string", + "enum":[ + "SERVICE_NOW", + "SALESFORCE", + "JIRA", + "ZENDESK", + "CUSTOM" + ] + }, + "PredictAppDefinition":{ + "type":"structure", + "required":[ + "title", + "appDefinition" + ], + "members":{ + "title":{"shape":"Title"}, + "description":{"shape":"Description"}, + "appDefinition":{"shape":"AppDefinitionInput"} + } + }, + "PredictQAppInput":{ + "type":"structure", + "required":["instanceId"], + "members":{ + "instanceId":{ + "shape":"InstanceId", + "location":"header", + "locationName":"instance-id" + }, + "options":{"shape":"PredictQAppInputOptions"} + } + }, + "PredictQAppInputOptions":{ + "type":"structure", + "members":{ + "conversation":{"shape":"PredictQAppInputOptionsConversationList"}, + "problemStatement":{"shape":"PredictQAppInputOptionsProblemStatementString"} + }, + "union":true + }, + "PredictQAppInputOptionsConversationList":{ + "type":"list", + "member":{"shape":"ConversationMessage"}, + "max":25, + "min":1 + }, + "PredictQAppInputOptionsProblemStatementString":{ + "type":"string", + "max":10000, + "min":0 + }, + "PredictQAppOutput":{ + "type":"structure", + "required":[ + "app", + "problemStatement" + ], + "members":{ + "app":{"shape":"PredictAppDefinition"}, + "problemStatement":{"shape":"String"} + } + }, + "Prompt":{ + "type":"string", + "max":7000, + "min":0 + }, + "QAppsTimestamp":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "QPluginCard":{ + "type":"structure", + "required":[ + "id", + "title", + "dependencies", + "type", + "prompt", + "pluginType", + "pluginId" + ], + "members":{ + "id":{"shape":"UUID"}, + "title":{"shape":"Title"}, + "dependencies":{"shape":"DependencyList"}, + "type":{"shape":"CardType"}, + "prompt":{"shape":"Prompt"}, + "pluginType":{"shape":"PluginType"}, + "pluginId":{"shape":"String"} + } + }, + "QPluginCardInput":{ + "type":"structure", + "required":[ + "title", + "id", + "type", + "prompt", + "pluginId" + ], + "members":{ + "title":{"shape":"Title"}, + "id":{"shape":"UUID"}, + "type":{"shape":"CardType"}, + "prompt":{"shape":"Prompt"}, + "pluginId":{"shape":"PluginId"} + } + }, + "QQueryCard":{ + "type":"structure", + "required":[ + "id", + "title", + "dependencies", + "type", + "prompt", + "outputSource" + ], + "members":{ + "id":{"shape":"UUID"}, + "title":{"shape":"Title"}, + "dependencies":{"shape":"DependencyList"}, + "type":{"shape":"CardType"}, + "prompt":{"shape":"Prompt"}, + "outputSource":{"shape":"CardOutputSource"}, + "attributeFilter":{"shape":"AttributeFilter"} + } + }, + "QQueryCardInput":{ + "type":"structure", + "required":[ + "title", + "id", + "type", + "prompt" + ], + "members":{ + "title":{"shape":"Title"}, + "id":{"shape":"UUID"}, + "type":{"shape":"CardType"}, + "prompt":{"shape":"Prompt"}, + "outputSource":{"shape":"CardOutputSource"}, + "attributeFilter":{"shape":"AttributeFilter"} + } + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":[ + "message", + "resourceId", + "resourceType" + ], + "members":{ + "message":{"shape":"String"}, + "resourceId":{"shape":"String"}, + "resourceType":{"shape":"String"} + }, + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "Sender":{ + "type":"string", + "enum":[ + "USER", + "SYSTEM" + ] + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "required":[ + "message", + "resourceId", + "resourceType", + "serviceCode", + "quotaCode" + ], + "members":{ + "message":{"shape":"String"}, + "resourceId":{"shape":"String"}, + "resourceType":{"shape":"String"}, + "serviceCode":{"shape":"String"}, + "quotaCode":{"shape":"String"} + }, + "error":{ + "httpStatusCode":402, + "senderFault":true + }, + "exception":true + }, + "StartQAppSessionInput":{ + "type":"structure", + "required":[ + "instanceId", + "appId", + "appVersion" + ], + "members":{ + "instanceId":{ + "shape":"InstanceId", + "location":"header", + "locationName":"instance-id" + }, + "appId":{"shape":"UUID"}, + "appVersion":{"shape":"AppVersion"}, + "initialValues":{"shape":"CardValueList"}, + "tags":{"shape":"TagMap"} + } + }, + "StartQAppSessionOutput":{ + "type":"structure", + "required":[ + "sessionId", + "sessionArn" + ], + "members":{ + "sessionId":{"shape":"String"}, + "sessionArn":{"shape":"String"} + } + }, + "StopQAppSessionInput":{ + "type":"structure", + "required":[ + "instanceId", + "sessionId" + ], + "members":{ + "instanceId":{ + "shape":"InstanceId", + "location":"header", + "locationName":"instance-id" + }, + "sessionId":{"shape":"UUID"} + } + }, + "String":{"type":"string"}, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeys":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":0 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceARN", + "tags" + ], + "members":{ + "resourceARN":{ + "shape":"AmazonResourceName", + "location":"uri", + "locationName":"resourceARN" + }, + "tags":{"shape":"Tags"} + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "Tags":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"} + }, + "TextInputCard":{ + "type":"structure", + "required":[ + "id", + "title", + "dependencies", + "type" + ], + "members":{ + "id":{"shape":"UUID"}, + "title":{"shape":"Title"}, + "dependencies":{"shape":"DependencyList"}, + "type":{"shape":"CardType"}, + "placeholder":{"shape":"Placeholder"}, + "defaultValue":{"shape":"Default"} + } + }, + "TextInputCardInput":{ + "type":"structure", + "required":[ + "title", + "id", + "type" + ], + "members":{ + "title":{"shape":"Title"}, + "id":{"shape":"UUID"}, + "type":{"shape":"CardType"}, + "placeholder":{"shape":"Placeholder"}, + "defaultValue":{"shape":"Default"} + } + }, + "ThrottlingException":{ + "type":"structure", + "required":[ + "message", + "serviceCode", + "quotaCode" + ], + "members":{ + "message":{"shape":"String"}, + "serviceCode":{"shape":"String"}, + "quotaCode":{"shape":"String"}, + "retryAfterSeconds":{ + "shape":"Integer", + "location":"header", + "locationName":"Retry-After" + } + }, + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true, + "retryable":{"throttling":true} + }, + "Timestamp":{"type":"timestamp"}, + "Title":{ + "type":"string", + "max":100, + "min":0 + }, + "UUID":{ + "type":"string", + "pattern":"[\\da-f]{8}-[\\da-f]{4}-4[\\da-f]{3}-[89ABab][\\da-f]{3}-[\\da-f]{12}" + }, + "UnauthorizedException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":401, + "senderFault":true + }, + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceARN", + "tagKeys" + ], + "members":{ + "resourceARN":{ + "shape":"AmazonResourceName", + "location":"uri", + "locationName":"resourceARN" + }, + "tagKeys":{ + "shape":"TagKeys", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateLibraryItemInput":{ + "type":"structure", + "required":[ + "instanceId", + "libraryItemId" + ], + "members":{ + "instanceId":{ + "shape":"InstanceId", + "location":"header", + "locationName":"instance-id" + }, + "libraryItemId":{"shape":"UUID"}, + "status":{"shape":"LibraryItemStatus"}, + "categories":{"shape":"CategoryIdList"} + } + }, + "UpdateLibraryItemOutput":{ + "type":"structure", + "required":[ + "libraryItemId", + "appId", + "appVersion", + "categories", + "status", + "createdAt", + "createdBy", + "ratingCount" + ], + "members":{ + "libraryItemId":{"shape":"UUID"}, + "appId":{"shape":"UUID"}, + "appVersion":{"shape":"AppVersion"}, + "categories":{"shape":"CategoryList"}, + "status":{"shape":"String"}, + "createdAt":{"shape":"QAppsTimestamp"}, + "createdBy":{"shape":"String"}, + "updatedAt":{"shape":"QAppsTimestamp"}, + "updatedBy":{"shape":"String"}, + "ratingCount":{"shape":"Integer"}, + "isRatedByUser":{"shape":"Boolean"}, + "userCount":{"shape":"Integer"} + } + }, + "UpdateQAppInput":{ + "type":"structure", + "required":[ + "instanceId", + "appId" + ], + "members":{ + "instanceId":{ + "shape":"InstanceId", + "location":"header", + "locationName":"instance-id" + }, + "appId":{"shape":"UUID"}, + "title":{"shape":"Title"}, + "description":{"shape":"Description"}, + "appDefinition":{"shape":"AppDefinitionInput"} + } + }, + "UpdateQAppOutput":{ + "type":"structure", + "required":[ + "appId", + "appArn", + "title", + "appVersion", + "status", + "createdAt", + "createdBy", + "updatedAt", + "updatedBy" + ], + "members":{ + "appId":{"shape":"UUID"}, + "appArn":{"shape":"AppArn"}, + "title":{"shape":"Title"}, + "description":{"shape":"Description"}, + "initialPrompt":{"shape":"InitialPrompt"}, + "appVersion":{"shape":"AppVersion"}, + "status":{"shape":"AppStatus"}, + "createdAt":{"shape":"QAppsTimestamp"}, + "createdBy":{"shape":"String"}, + "updatedAt":{"shape":"QAppsTimestamp"}, + "updatedBy":{"shape":"String"}, + "requiredCapabilities":{"shape":"AppRequiredCapabilities"} + } + }, + "UpdateQAppSessionInput":{ + "type":"structure", + "required":[ + "instanceId", + "sessionId" + ], + "members":{ + "instanceId":{ + "shape":"InstanceId", + "location":"header", + "locationName":"instance-id" + }, + "sessionId":{"shape":"UUID"}, + "values":{"shape":"CardValueList"} + } + }, + "UpdateQAppSessionOutput":{ + "type":"structure", + "required":[ + "sessionId", + "sessionArn" + ], + "members":{ + "sessionId":{"shape":"String"}, + "sessionArn":{"shape":"String"} + } + }, + "UserAppItem":{ + "type":"structure", + "required":[ + "appId", + "appArn", + "title", + "createdAt" + ], + "members":{ + "appId":{"shape":"UUID"}, + "appArn":{"shape":"AppArn"}, + "title":{"shape":"Title"}, + "description":{"shape":"Description"}, + "createdAt":{"shape":"QAppsTimestamp"}, + "canEdit":{"shape":"Boolean"}, + "status":{"shape":"String"} + } + }, + "UserAppsList":{ + "type":"list", + "member":{"shape":"UserAppItem"} + }, + "ValidationException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + } + } +} diff --git a/models/apis/qapps/2023-11-27/docs-2.json b/models/apis/qapps/2023-11-27/docs-2.json new file mode 100644 index 00000000000..2f5d653090a --- /dev/null +++ b/models/apis/qapps/2023-11-27/docs-2.json @@ -0,0 +1,960 @@ +{ + "version": "2.0", + "service": "

The Amazon Q Apps feature capability within Amazon Q Business allows web experience users to create lightweight, purpose-built AI apps to fulfill specific tasks from within their web experience. For example, users can create an Q Appthat exclusively generates marketing-related content to improve your marketing team's productivity or a Q App for marketing content-generation like writing customer emails and creating promotional content using a certain style of voice, tone, and branding. For more information, see Amazon Q App in the Amazon Q Business User Guide.

", + "operations": { + "AssociateLibraryItemReview": "

Associates a rating or review for a library item with the user submitting the request. This increments the rating count for the specified library item.

", + "AssociateQAppWithUser": "

This operation creates a link between the user's identity calling the operation and a specific Q App. This is useful to mark the Q App as a favorite for the user if the user doesn't own the Amazon Q App so they can still run it and see it in their inventory of Q Apps.

", + "CreateLibraryItem": "

Creates a new library item for an Amazon Q App, allowing it to be discovered and used by other allowed users.

", + "CreateQApp": "

Creates a new Amazon Q App based on the provided definition. The Q App definition specifies the cards and flow of the Q App. This operation also calculates the dependencies between the cards by inspecting the references in the prompts.

", + "DeleteLibraryItem": "

Deletes a library item for an Amazon Q App, removing it from the library so it can no longer be discovered or used by other users.

", + "DeleteQApp": "

Deletes an Amazon Q App owned by the user. If the Q App was previously published to the library, it is also removed from the library.

", + "DisassociateLibraryItemReview": "

Removes a rating or review previously submitted by the user for a library item.

", + "DisassociateQAppFromUser": "

Disassociates a Q App from a user removing the user's access to run the Q App.

", + "GetLibraryItem": "

Retrieves details about a library item for an Amazon Q App, including its metadata, categories, ratings, and usage statistics.

", + "GetQApp": "

Retrieves the full details of an Q App, including its definition specifying the cards and flow.

", + "GetQAppSession": "

Retrieves the current state and results for an active session of an Amazon Q App.

", + "ImportDocument": "

Uploads a file that can then be used either as a default in a FileUploadCard from Q App definition or as a file that is used inside a single Q App run. The purpose of the document is determined by a scope parameter that indicates whether it is at the app definition level or at the app session level.

", + "ListLibraryItems": "

Lists the library items for Amazon Q Apps that are published and available for users in your Amazon Web Services account.

", + "ListQApps": "

Lists the Amazon Q Apps owned by or associated with the user either because they created it or because they used it from the library in the past. The user identity is extracted from the credentials used to invoke this operation..

", + "ListTagsForResource": "

Lists the tags associated with an Amazon Q Apps resource.

", + "PredictQApp": "

Generates an Amazon Q App definition based on either a conversation or a problem statement provided as input.The resulting app definition can be used to call CreateQApp. This API doesn't create Amazon Q Apps directly.

", + "StartQAppSession": "

Starts a new session for an Amazon Q App, allowing inputs to be provided and the app to be run.

Each Q App session will be condensed into a single conversation in the web experience.

", + "StopQAppSession": "

Stops an active session for an Amazon Q App.This deletes all data related to the session and makes it invalid for future uses. The results of the session will be persisted as part of the conversation.

", + "TagResource": "

Associates tags with an Amazon Q Apps resource.

", + "UntagResource": "

Disassociates tags from an Amazon Q Apps resource.

", + "UpdateLibraryItem": "

Updates the metadata and status of a library item for an Amazon Q App.

", + "UpdateQApp": "

Updates an existing Amazon Q App, allowing modifications to its title, description, and definition.

", + "UpdateQAppSession": "

Updates the session for a given Q App sessionId. This is only valid when at least one card of the session is in the WAITING state. Data for each WAITING card can be provided as input. If inputs are not provided, the call will be accepted but session will not move forward. Inputs for cards that are not in the WAITING status will be ignored.

" + }, + "shapes": { + "AccessDeniedException": { + "base": "

The client is not authorized to perform the requested operation.

", + "refs": { + } + }, + "AmazonResourceName": { + "base": null, + "refs": { + "ListTagsForResourceRequest$resourceARN": "

The Amazon Resource Name (ARN) of the resource whose tags should be listed.

", + "TagResourceRequest$resourceARN": "

The Amazon Resource Name (ARN) of the resource to tag.

", + "UntagResourceRequest$resourceARN": "

The Amazon Resource Name (ARN) of the resource to disassociate the tag from.

" + } + }, + "AppArn": { + "base": null, + "refs": { + "CreateQAppOutput$appArn": "

The Amazon Resource Name (ARN) of the new Q App.

", + "GetQAppOutput$appArn": "

The Amazon Resource Name (ARN) of the Q App.

", + "UpdateQAppOutput$appArn": "

The Amazon Resource Name (ARN) of the updated Q App.

", + "UserAppItem$appArn": "

The Amazon Resource Name (ARN) of the Q App.

" + } + }, + "AppDefinition": { + "base": "

The definition of the Q App, specifying the cards and flow.

", + "refs": { + "GetQAppOutput$appDefinition": "

The full definition of the Q App, specifying the cards and flow.

" + } + }, + "AppDefinitionInput": { + "base": "

The input for defining an Q App.

", + "refs": { + "CreateQAppInput$appDefinition": "

The definition of the new Q App, specifying the cards and flow.

", + "PredictAppDefinition$appDefinition": "

The definition specifying the cards and flow of the generated Q App.

", + "UpdateQAppInput$appDefinition": "

The new definition specifying the cards and flow for the Q App.

" + } + }, + "AppRequiredCapabilities": { + "base": null, + "refs": { + "CreateQAppOutput$requiredCapabilities": "

The capabilities required to run the Q App, such as file upload or third-party integrations.

", + "GetQAppOutput$requiredCapabilities": "

The capabilities required to run the Q App, such as file upload or third-party integrations.

", + "UpdateQAppOutput$requiredCapabilities": "

The capabilities required for the updated Q App.

" + } + }, + "AppRequiredCapability": { + "base": null, + "refs": { + "AppRequiredCapabilities$member": null + } + }, + "AppStatus": { + "base": null, + "refs": { + "CreateQAppOutput$status": "

The status of the new Q App, such as \"Created\".

", + "GetQAppOutput$status": "

The status of the Q App.

", + "UpdateQAppOutput$status": "

The status of the updated Q App.

" + } + }, + "AppVersion": { + "base": null, + "refs": { + "CreateLibraryItemInput$appVersion": "

The version of the Amazon Q App to publish to the library.

", + "CreateQAppOutput$appVersion": "

The version of the new Q App.

", + "GetLibraryItemOutput$appVersion": "

The version of the Q App associated with the library item.

", + "GetQAppOutput$appVersion": "

The version of the Q App.

", + "LibraryItemMember$appVersion": "

The version of the Q App associated with the library item.

", + "StartQAppSessionInput$appVersion": "

The version of the Q App to use for the session.

", + "UpdateLibraryItemOutput$appVersion": "

The version of the Q App associated with the library item.

", + "UpdateQAppOutput$appVersion": "

The new version of the updated Q App.

" + } + }, + "AssociateLibraryItemReviewInput": { + "base": null, + "refs": { + } + }, + "AssociateQAppWithUserInput": { + "base": null, + "refs": { + } + }, + "AttributeFilter": { + "base": "

The filter criteria used on responses based on document attributes or metadata fields.

", + "refs": { + "AttributeFilter$notFilter": "

Performs a logical NOT operation on all supplied filters.

", + "AttributeFilters$member": null, + "QQueryCard$attributeFilter": "

The Amazon Q Business filters applied in this query card when resolving data sources

", + "QQueryCardInput$attributeFilter": "

Turns on filtering of responses based on document attributes or metadata fields.

" + } + }, + "AttributeFilters": { + "base": null, + "refs": { + "AttributeFilter$andAllFilters": "

Performs a logical AND operation on all supplied filters.

", + "AttributeFilter$orAllFilters": "

Performs a logical OR operation on all supplied filters.

" + } + }, + "Boolean": { + "base": null, + "refs": { + "AppDefinition$canEdit": "

A flag indicating whether the Q App's definition can be edited by the user.

", + "FileUploadCard$allowOverride": "

A flag indicating if the user can override the default file for the upload card.

", + "FileUploadCardInput$allowOverride": "

A flag indicating if the user can override the default file for the upload card.

", + "GetLibraryItemOutput$isRatedByUser": "

Whether the current user has rated the library item.

", + "LibraryItemMember$isRatedByUser": "

Whether the current user has rated the library item.

", + "UpdateLibraryItemOutput$isRatedByUser": "

Whether the current user has rated the library item.

", + "UserAppItem$canEdit": "

A flag indicating whether the user can edit the Q App.

" + } + }, + "Card": { + "base": "

A card representing a component or step in an Amazon Q App's flow.

", + "refs": { + "CardModelList$member": null + } + }, + "CardInput": { + "base": "

The properties defining an input card in an Amazon Q App.

", + "refs": { + "CardList$member": null + } + }, + "CardList": { + "base": null, + "refs": { + "AppDefinitionInput$cards": "

The cards that make up the Q App definition.

" + } + }, + "CardModelList": { + "base": null, + "refs": { + "AppDefinition$cards": "

The cards that make up the Q App, such as text input, file upload, or query cards.

" + } + }, + "CardOutputSource": { + "base": null, + "refs": { + "QQueryCard$outputSource": "

The source or type of output generated by the query card.

", + "QQueryCardInput$outputSource": "

The source or type of output to generate for the query card.

" + } + }, + "CardStatus": { + "base": "

The current status and value of a card in an active Amazon Q App session.

", + "refs": { + "CardStatusMap$value": null + } + }, + "CardStatusMap": { + "base": null, + "refs": { + "GetQAppSessionOutput$cardStatus": "

The current status for each card in the Q App session.

" + } + }, + "CardType": { + "base": null, + "refs": { + "FileUploadCard$type": "

The type of the card.

", + "FileUploadCardInput$type": "

The type of the card.

", + "QPluginCard$type": "

The type of the card.

", + "QPluginCardInput$type": "

The type of the card.

", + "QQueryCard$type": "

The type of the card.

", + "QQueryCardInput$type": "

The type of the card.

", + "TextInputCard$type": "

The type of the card.

", + "TextInputCardInput$type": "

The type of the card.

" + } + }, + "CardValue": { + "base": "

The value or result associated with a card in a Amazon Q App session.

", + "refs": { + "CardValueList$member": null + } + }, + "CardValueList": { + "base": null, + "refs": { + "StartQAppSessionInput$initialValues": "

Optional initial input values to provide for the Q App session.

", + "UpdateQAppSessionInput$values": "

The input values to provide for the current state of the Q App session.

" + } + }, + "CardValueValueString": { + "base": null, + "refs": { + "CardValue$value": "

The value or result associated with the card.

" + } + }, + "Category": { + "base": "

A category used to classify and filter library items for Amazon Q Apps.

", + "refs": { + "CategoryList$member": null + } + }, + "CategoryIdList": { + "base": null, + "refs": { + "CreateLibraryItemInput$categories": "

The categories to associate with the library item for easier discovery.

", + "UpdateLibraryItemInput$categories": "

The new categories to associate with the library item.

" + } + }, + "CategoryList": { + "base": null, + "refs": { + "GetLibraryItemOutput$categories": "

The categories associated with the library item for discovery.

", + "LibraryItemMember$categories": "

The categories associated with the library item.

", + "UpdateLibraryItemOutput$categories": "

The categories associated with the updated library item.

" + } + }, + "ConflictException": { + "base": "

The requested operation could not be completed due to a conflict with the current state of the resource.

", + "refs": { + } + }, + "ContentTooLargeException": { + "base": "

The requested operation could not be completed because the content exceeds the maximum allowed size.

", + "refs": { + } + }, + "ConversationMessage": { + "base": "

A message in a conversation, used as input for generating an Amazon Q App definition.

", + "refs": { + "PredictQAppInputOptionsConversationList$member": null + } + }, + "ConversationMessageBodyString": { + "base": null, + "refs": { + "ConversationMessage$body": "

The text content of the conversation message.

" + } + }, + "CreateLibraryItemInput": { + "base": null, + "refs": { + } + }, + "CreateLibraryItemOutput": { + "base": null, + "refs": { + } + }, + "CreateQAppInput": { + "base": null, + "refs": { + } + }, + "CreateQAppOutput": { + "base": null, + "refs": { + } + }, + "Default": { + "base": null, + "refs": { + "TextInputCard$defaultValue": "

The default value to pre-populate in the text input field.

", + "TextInputCardInput$defaultValue": "

The default value to pre-populate in the text input field.

" + } + }, + "DeleteLibraryItemInput": { + "base": null, + "refs": { + } + }, + "DeleteQAppInput": { + "base": null, + "refs": { + } + }, + "DependencyList": { + "base": null, + "refs": { + "FileUploadCard$dependencies": "

Any dependencies or requirements for the file upload card.

", + "QPluginCard$dependencies": "

Any dependencies or requirements for the plugin card.

", + "QQueryCard$dependencies": "

Any dependencies or requirements for the query card.

", + "TextInputCard$dependencies": "

Any dependencies or requirements for the text input card.

" + } + }, + "Description": { + "base": null, + "refs": { + "CreateQAppInput$description": "

The description of the new Q App.

", + "CreateQAppOutput$description": "

The description of the new Q App.

", + "GetQAppOutput$description": "

The description of the Q App.

", + "PredictAppDefinition$description": "

The description of the generated Q App definition.

", + "UpdateQAppInput$description": "

The new description for the Q App.

", + "UpdateQAppOutput$description": "

The new description of the updated Q App.

", + "UserAppItem$description": "

The description of the Q App.

" + } + }, + "DisassociateLibraryItemReviewInput": { + "base": null, + "refs": { + } + }, + "DisassociateQAppFromUserInput": { + "base": null, + "refs": { + } + }, + "DocumentAttribute": { + "base": "

A document attribute or metadata field.

", + "refs": { + "AttributeFilter$equalsTo": "

Performs an equals operation on two document attributes or metadata fields. Supported for the following document attribute value types: dateValue, longValue, stringListValue and stringValue.

", + "AttributeFilter$containsAll": "

Returns true when a document contains all the specified document attributes or metadata fields. Supported for the following document attribute value types: stringListValue.

", + "AttributeFilter$containsAny": "

Returns true when a document contains any of the specified document attributes or metadata fields. Supported for the following document attribute value types: stringListValue.

", + "AttributeFilter$greaterThan": "

Performs a greater than operation on two document attributes or metadata fields. Supported for the following document attribute value types: dateValue and longValue.

", + "AttributeFilter$greaterThanOrEquals": "

Performs a greater than or equals operation on two document attributes or metadata fields. Supported for the following document attribute value types: dateValue and longValue.

", + "AttributeFilter$lessThan": "

Performs a less than operation on two document attributes or metadata fields. Supported for the following document attribute value types: dateValue and longValue.

", + "AttributeFilter$lessThanOrEquals": "

Performs a less than or equals operation on two document attributes or metadata fields.Supported for the following document attribute value type: dateValue and longValue.

" + } + }, + "DocumentAttributeKey": { + "base": null, + "refs": { + "DocumentAttribute$name": "

The identifier for the attribute.

" + } + }, + "DocumentAttributeStringListValue": { + "base": null, + "refs": { + "DocumentAttributeValue$stringListValue": "

A list of strings.

" + } + }, + "DocumentAttributeValue": { + "base": "

The value of a document attribute. You can only provide one value for a document attribute.

", + "refs": { + "DocumentAttribute$value": "

The value of the attribute.

" + } + }, + "DocumentAttributeValueStringValueString": { + "base": null, + "refs": { + "DocumentAttributeValue$stringValue": "

A string.

" + } + }, + "DocumentScope": { + "base": null, + "refs": { + "ImportDocumentInput$scope": "

Whether the file is associated with an Q App definition or a specific Q App session.

" + } + }, + "ExecutionStatus": { + "base": null, + "refs": { + "CardStatus$currentState": "

The current state of the card.

", + "GetQAppSessionOutput$status": "

The current status of the Q App session.

" + } + }, + "FileUploadCard": { + "base": "

A card in an Amazon Q App that allows the user to upload a file.

", + "refs": { + "Card$fileUpload": "

A container for the properties of the file upload card.

" + } + }, + "FileUploadCardInput": { + "base": "

Represents a file upload card. It can optionally receive a filename and fileId to set a default file. If not received, the user must provide the file when the Q App runs.

", + "refs": { + "CardInput$fileUpload": "

A container for the properties of the file upload input card.

" + } + }, + "Filename": { + "base": null, + "refs": { + "FileUploadCardInput$filename": "

The default filename to use for the file upload card.

", + "ImportDocumentInput$fileName": "

The name of the file being uploaded.

" + } + }, + "GetLibraryItemInput": { + "base": null, + "refs": { + } + }, + "GetLibraryItemOutput": { + "base": null, + "refs": { + } + }, + "GetQAppInput": { + "base": null, + "refs": { + } + }, + "GetQAppOutput": { + "base": null, + "refs": { + } + }, + "GetQAppSessionInput": { + "base": null, + "refs": { + } + }, + "GetQAppSessionOutput": { + "base": null, + "refs": { + } + }, + "ImportDocumentInput": { + "base": null, + "refs": { + } + }, + "ImportDocumentOutput": { + "base": null, + "refs": { + } + }, + "InitialPrompt": { + "base": null, + "refs": { + "AppDefinitionInput$initialPrompt": "

The initial prompt displayed when the Q App is started.

", + "CreateQAppOutput$initialPrompt": "

The initial prompt displayed when the Q App is started.

", + "GetQAppOutput$initialPrompt": "

The initial prompt displayed when the Q App is started.

", + "UpdateQAppOutput$initialPrompt": "

The initial prompt for the updated Q App.

" + } + }, + "InstanceId": { + "base": null, + "refs": { + "AssociateLibraryItemReviewInput$instanceId": "

The unique identifier for the Amazon Q Business application environment instance.

", + "AssociateQAppWithUserInput$instanceId": "

The unique identifier of the Amazon Q Business application environment instance.

", + "CreateLibraryItemInput$instanceId": "

The unique identifier of the Amazon Q Business application environment instance.

", + "CreateQAppInput$instanceId": "

The unique identifier of the Amazon Q Business application environment instance.

", + "DeleteLibraryItemInput$instanceId": "

The unique identifier of the Amazon Q Business application environment instance.

", + "DeleteQAppInput$instanceId": "

The unique identifier of the Amazon Q Business application environment instance.

", + "DisassociateLibraryItemReviewInput$instanceId": "

The unique identifier of the Amazon Q Business application environment instance.

", + "DisassociateQAppFromUserInput$instanceId": "

The unique identifier of the Amazon Q Business application environment instance.

", + "GetLibraryItemInput$instanceId": "

The unique identifier of the Amazon Q Business application environment instance.

", + "GetQAppInput$instanceId": "

The unique identifier of the Amazon Q Business application environment instance.

", + "GetQAppSessionInput$instanceId": "

The unique identifier of the Amazon Q Business application environment instance.

", + "ImportDocumentInput$instanceId": "

The unique identifier of the Amazon Q Business application environment instance.

", + "ListLibraryItemsInput$instanceId": "

The unique identifier of the Amazon Q Business application environment instance.

", + "ListQAppsInput$instanceId": "

The unique identifier of the Amazon Q Business application environment instance.

", + "PredictQAppInput$instanceId": "

The unique identifier of the Amazon Q Business application environment instance.

", + "StartQAppSessionInput$instanceId": "

The unique identifier of the Amazon Q Business application environment instance.

", + "StopQAppSessionInput$instanceId": "

The unique identifier of the Amazon Q Business application environment instance.

", + "UpdateLibraryItemInput$instanceId": "

The unique identifier of the Amazon Q Business application environment instance.

", + "UpdateQAppInput$instanceId": "

The unique identifier of the Amazon Q Business application environment instance.

", + "UpdateQAppSessionInput$instanceId": "

The unique identifier of the Amazon Q Business application environment instance.

" + } + }, + "Integer": { + "base": null, + "refs": { + "CreateLibraryItemOutput$ratingCount": "

The number of ratings the library item has received from users.

", + "GetLibraryItemOutput$ratingCount": "

The number of ratings the library item has received from users.

", + "GetLibraryItemOutput$userCount": "

The number of users who have associated the Q App with their account.

", + "InternalServerException$retryAfterSeconds": "

The number of seconds to wait before retrying the operation

", + "LibraryItemMember$ratingCount": "

The number of ratings the library item has received.

", + "LibraryItemMember$userCount": "

The number of users who have the associated Q App.

", + "ThrottlingException$retryAfterSeconds": "

The number of seconds to wait before retrying the operation

", + "UpdateLibraryItemOutput$ratingCount": "

The number of ratings the library item has received.

", + "UpdateLibraryItemOutput$userCount": "

The number of users who have the associated Q App.

" + } + }, + "InternalServerException": { + "base": "

An internal service error occurred while processing the request.

", + "refs": { + } + }, + "LibraryItemList": { + "base": null, + "refs": { + "ListLibraryItemsOutput$libraryItems": "

The list of library items meeting the request criteria.

" + } + }, + "LibraryItemMember": { + "base": "

A library item is a snapshot of an Amazon Q App that can be published so the users in their Amazon Q Apps library can discover it, clone it, and run it.

", + "refs": { + "LibraryItemList$member": null + } + }, + "LibraryItemStatus": { + "base": null, + "refs": { + "UpdateLibraryItemInput$status": "

The new status to set for the library item, such as \"Published\" or \"Hidden\".

" + } + }, + "ListLibraryItemsInput": { + "base": null, + "refs": { + } + }, + "ListLibraryItemsOutput": { + "base": null, + "refs": { + } + }, + "ListQAppsInput": { + "base": null, + "refs": { + } + }, + "ListQAppsOutput": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceResponse": { + "base": null, + "refs": { + } + }, + "Long": { + "base": null, + "refs": { + "DocumentAttributeValue$longValue": "

A long integer value.

" + } + }, + "PageLimit": { + "base": null, + "refs": { + "ListLibraryItemsInput$limit": "

The maximum number of library items to return in the response.

", + "ListQAppsInput$limit": "

The maximum number of Q Apps to return in the response.

" + } + }, + "PaginationToken": { + "base": null, + "refs": { + "ListLibraryItemsInput$nextToken": "

The token to request the next page of results.

", + "ListQAppsInput$nextToken": "

The token to request the next page of results.

" + } + }, + "Placeholder": { + "base": null, + "refs": { + "TextInputCard$placeholder": "

The placeholder text to display in the text input field.

", + "TextInputCardInput$placeholder": "

The placeholder text to display in the text input field.

" + } + }, + "PlatoString": { + "base": null, + "refs": { + "DocumentAttributeStringListValue$member": null + } + }, + "PluginId": { + "base": null, + "refs": { + "QPluginCardInput$pluginId": "

The unique identifier of the plugin used by the card.

" + } + }, + "PluginType": { + "base": null, + "refs": { + "QPluginCard$pluginType": "

The type or category of the plugin used by the card.

" + } + }, + "PredictAppDefinition": { + "base": "

The definition of an Amazon Q App generated based on input such as a conversation or problem statement.

", + "refs": { + "PredictQAppOutput$app": "

The generated Q App definition.

" + } + }, + "PredictQAppInput": { + "base": null, + "refs": { + } + }, + "PredictQAppInputOptions": { + "base": "

The input options for generating an Q App definition.

", + "refs": { + "PredictQAppInput$options": "

The input to generate the Q App definition from, either a conversation or problem statement.

" + } + }, + "PredictQAppInputOptionsConversationList": { + "base": null, + "refs": { + "PredictQAppInputOptions$conversation": "

A conversation to use as input for generating the Q App definition.

" + } + }, + "PredictQAppInputOptionsProblemStatementString": { + "base": null, + "refs": { + "PredictQAppInputOptions$problemStatement": "

A problem statement to use as input for generating the Q App definition.

" + } + }, + "PredictQAppOutput": { + "base": null, + "refs": { + } + }, + "Prompt": { + "base": null, + "refs": { + "QPluginCard$prompt": "

The prompt or instructions displayed for the plugin card.

", + "QPluginCardInput$prompt": "

The prompt or instructions displayed for the plugin card.

", + "QQueryCard$prompt": "

The prompt or instructions displayed for the query card.

", + "QQueryCardInput$prompt": "

The prompt or instructions displayed for the query card.

" + } + }, + "QAppsTimestamp": { + "base": null, + "refs": { + "CreateLibraryItemOutput$createdAt": "

The date and time the library item was created.

", + "CreateLibraryItemOutput$updatedAt": "

The date and time the library item was last updated.

", + "CreateQAppOutput$createdAt": "

The date and time the Q App was created.

", + "CreateQAppOutput$updatedAt": "

The date and time the Q App was last updated.

", + "GetLibraryItemOutput$createdAt": "

The date and time the library item was created.

", + "GetLibraryItemOutput$updatedAt": "

The date and time the library item was last updated.

", + "GetQAppOutput$createdAt": "

The date and time the Q App was created.

", + "GetQAppOutput$updatedAt": "

The date and time the Q App was last updated.

", + "LibraryItemMember$createdAt": "

The date and time the library item was created.

", + "LibraryItemMember$updatedAt": "

The date and time the library item was last updated.

", + "UpdateLibraryItemOutput$createdAt": "

The date and time the library item was originally created.

", + "UpdateLibraryItemOutput$updatedAt": "

The date and time the library item was last updated.

", + "UpdateQAppOutput$createdAt": "

The date and time the Q App was originally created.

", + "UpdateQAppOutput$updatedAt": "

The date and time the Q App was last updated.

", + "UserAppItem$createdAt": "

The date and time the user's association with the Q App was created.

" + } + }, + "QPluginCard": { + "base": "

A card in an Q App that integrates with a third-party plugin or service.

", + "refs": { + "Card$qPlugin": "

A container for the properties of the plugin card.

" + } + }, + "QPluginCardInput": { + "base": "

The input shape for defining a plugin card in an Amazon Q App.

", + "refs": { + "CardInput$qPlugin": "

A container for the properties of the plugin input card.

" + } + }, + "QQueryCard": { + "base": "

A card in a Amazon Q App that generates a response based on the Amazon Q Business service.

", + "refs": { + "Card$qQuery": "

A container for the properties of the query card.

" + } + }, + "QQueryCardInput": { + "base": "

The input shape for defining a query card in an Amazon Q App.

", + "refs": { + "CardInput$qQuery": "

A container for the properties of the query input card.

" + } + }, + "ResourceNotFoundException": { + "base": "

The requested resource could not be found.

", + "refs": { + } + }, + "Sender": { + "base": null, + "refs": { + "ConversationMessage$type": "

The type of the conversation message.

" + } + }, + "ServiceQuotaExceededException": { + "base": "

The requested operation could not be completed because it would exceed the service's quota or limit.

", + "refs": { + } + }, + "StartQAppSessionInput": { + "base": null, + "refs": { + } + }, + "StartQAppSessionOutput": { + "base": null, + "refs": { + } + }, + "StopQAppSessionInput": { + "base": null, + "refs": { + } + }, + "String": { + "base": null, + "refs": { + "AccessDeniedException$message": null, + "AppDefinition$appDefinitionVersion": "

The version of the app definition schema or specification.

", + "CardStatus$currentValue": "

The current value or result associated with the card.

", + "Category$title": "

The title or name of the category.

", + "ConflictException$message": null, + "ConflictException$resourceId": "

The unique identifier of the resource

", + "ConflictException$resourceType": "

The type of the resource

", + "ContentTooLargeException$message": null, + "ContentTooLargeException$resourceId": "

The unique identifier of the resource

", + "ContentTooLargeException$resourceType": "

The type of the resource

", + "CreateLibraryItemOutput$status": "

The status of the new library item, such as \"Published\".

", + "CreateLibraryItemOutput$createdBy": "

The user who created the library item.

", + "CreateLibraryItemOutput$updatedBy": "

The user who last updated the library item.

", + "CreateQAppOutput$createdBy": "

The user who created the Q App.

", + "CreateQAppOutput$updatedBy": "

The user who last updated the Q App.

", + "DependencyList$member": null, + "FileUploadCard$filename": "

The name of the file being uploaded.

", + "FileUploadCard$fileId": "

The unique identifier of the file associated with the card.

", + "GetLibraryItemOutput$status": "

The status of the library item, such as \"Published\".

", + "GetLibraryItemOutput$createdBy": "

The user who created the library item.

", + "GetLibraryItemOutput$updatedBy": "

The user who last updated the library item.

", + "GetQAppOutput$createdBy": "

The user who created the Q App.

", + "GetQAppOutput$updatedBy": "

The user who last updated the Q App.

", + "GetQAppSessionOutput$sessionId": "

The unique identifier of the Q App session.

", + "GetQAppSessionOutput$sessionArn": "

The Amazon Resource Name (ARN) of the Q App session.

", + "ImportDocumentInput$fileContentsBase64": "

The base64-encoded contents of the file to upload.

", + "ImportDocumentOutput$fileId": "

The unique identifier assigned to the uploaded file.

", + "InternalServerException$message": null, + "LibraryItemMember$status": "

The status of the library item.

", + "LibraryItemMember$createdBy": "

The user who created the library item.

", + "LibraryItemMember$updatedBy": "

The user who last updated the library item.

", + "ListLibraryItemsOutput$nextToken": "

The token to use to request the next page of results.

", + "ListQAppsOutput$nextToken": "

The token to use to request the next page of results.

", + "PredictQAppOutput$problemStatement": "

The problem statement extracted from the input conversation, if provided.

", + "QPluginCard$pluginId": "

The unique identifier of the plugin used by the card.

", + "ResourceNotFoundException$message": null, + "ResourceNotFoundException$resourceId": "

The unique identifier of the resource

", + "ResourceNotFoundException$resourceType": "

The type of the resource

", + "ServiceQuotaExceededException$message": null, + "ServiceQuotaExceededException$resourceId": "

The unique identifier of the resource

", + "ServiceQuotaExceededException$resourceType": "

The type of the resource

", + "ServiceQuotaExceededException$serviceCode": "

The code for the service where the quota was exceeded

", + "ServiceQuotaExceededException$quotaCode": "

The code of the quota that was exceeded

", + "StartQAppSessionOutput$sessionId": "

The unique identifier of the new Q App session.

", + "StartQAppSessionOutput$sessionArn": "

The Amazon Resource Name (ARN) of the new Q App session.

", + "TagMap$key": null, + "TagMap$value": null, + "ThrottlingException$message": null, + "ThrottlingException$serviceCode": "

The code for the service where the quota was exceeded

", + "ThrottlingException$quotaCode": "

The code of the quota that was exceeded

", + "UnauthorizedException$message": null, + "UpdateLibraryItemOutput$status": "

The new status of the updated library item.

", + "UpdateLibraryItemOutput$createdBy": "

The user who originally created the library item.

", + "UpdateLibraryItemOutput$updatedBy": "

The user who last updated the library item.

", + "UpdateQAppOutput$createdBy": "

The user who originally created the Q App.

", + "UpdateQAppOutput$updatedBy": "

The user who last updated the Q App.

", + "UpdateQAppSessionOutput$sessionId": "

The unique identifier of the updated Q App session.

", + "UpdateQAppSessionOutput$sessionArn": "

The Amazon Resource Name (ARN) of the updated Q App session.

", + "UserAppItem$status": "

The status of the user's association with the Q App.

", + "ValidationException$message": null + } + }, + "TagKey": { + "base": null, + "refs": { + "TagKeys$member": null, + "Tags$key": null + } + }, + "TagKeys": { + "base": null, + "refs": { + "UntagResourceRequest$tagKeys": "

The keys of the tags to disassociate from the resource.

" + } + }, + "TagMap": { + "base": null, + "refs": { + "CreateQAppInput$tags": "

Optional tags to associate with the new Q App.

", + "StartQAppSessionInput$tags": "

Optional tags to associate with the new Q App session.

" + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagResourceResponse": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "Tags$value": null + } + }, + "Tags": { + "base": null, + "refs": { + "ListTagsForResourceResponse$tags": "

The list of tags that are assigned to the resource.

", + "TagResourceRequest$tags": "

The tags to associate with the resource.

" + } + }, + "TextInputCard": { + "base": "

A card in an Amazon Q App that allows the user to input text.

", + "refs": { + "Card$textInput": "

A container for the properties of the text input card.

" + } + }, + "TextInputCardInput": { + "base": "

The input shape for defining a text input card in an Amazon Q App.

", + "refs": { + "CardInput$textInput": "

A container for the properties of the text input card.

" + } + }, + "ThrottlingException": { + "base": "

The requested operation could not be completed because too many requests were sent at once. Wait a bit and try again later.

", + "refs": { + } + }, + "Timestamp": { + "base": null, + "refs": { + "DocumentAttributeValue$dateValue": "

A date expressed as an ISO 8601 string.

It's important for the time zone to be included in the ISO 8601 date-time format. For example, 2012-03-25T12:30:10+01:00 is the ISO 8601 date-time format for March 25th 2012 at 12:30PM (plus 10 seconds) in Central European Time.

" + } + }, + "Title": { + "base": null, + "refs": { + "CreateQAppInput$title": "

The title of the new Q App.

", + "CreateQAppOutput$title": "

The title of the new Q App.

", + "FileUploadCard$title": "

The title of the file upload card.

", + "FileUploadCardInput$title": "

The title or label of the file upload card.

", + "GetQAppOutput$title": "

The title of the Q App.

", + "PredictAppDefinition$title": "

The title of the generated Q App definition.

", + "QPluginCard$title": "

The title or label of the plugin card.

", + "QPluginCardInput$title": "

The title or label of the plugin card.

", + "QQueryCard$title": "

The title or label of the query card.

", + "QQueryCardInput$title": "

The title or label of the query card.

", + "TextInputCard$title": "

The title or label of the text input card.

", + "TextInputCardInput$title": "

The title or label of the text input card.

", + "UpdateQAppInput$title": "

The new title for the Q App.

", + "UpdateQAppOutput$title": "

The new title of the updated Q App.

", + "UserAppItem$title": "

The title of the Q App.

" + } + }, + "UUID": { + "base": null, + "refs": { + "AssociateLibraryItemReviewInput$libraryItemId": "

The unique identifier of the library item to associate the review with.

", + "AssociateQAppWithUserInput$appId": "

The ID of the Amazon Q App to associate with the user.

", + "CardStatusMap$key": null, + "CardValue$cardId": "

The unique identifier of the card.

", + "Category$id": "

The unique identifier of the category.

", + "CategoryIdList$member": null, + "CreateLibraryItemInput$appId": "

The unique identifier of the Amazon Q App to publish to the library.

", + "CreateLibraryItemOutput$libraryItemId": "

The unique identifier of the new library item.

", + "CreateQAppOutput$appId": "

The unique identifier of the new Q App.

", + "DeleteLibraryItemInput$libraryItemId": "

The unique identifier of the library item to delete.

", + "DeleteQAppInput$appId": "

The unique identifier of the Q App to delete.

", + "DisassociateLibraryItemReviewInput$libraryItemId": "

The unique identifier of the library item to remove the review from.

", + "DisassociateQAppFromUserInput$appId": "

The unique identifier of the Q App to disassociate from the user.

", + "FileUploadCard$id": "

The unique identifier of the file upload card.

", + "FileUploadCardInput$id": "

The unique identifier of the file upload card.

", + "FileUploadCardInput$fileId": "

The identifier of a pre-uploaded file associated with the card.

", + "GetLibraryItemInput$libraryItemId": "

The unique identifier of the library item to retrieve.

", + "GetLibraryItemInput$appId": "

The unique identifier of the Amazon Q App associated with the library item.

", + "GetLibraryItemOutput$libraryItemId": "

The unique identifier of the library item.

", + "GetLibraryItemOutput$appId": "

The unique identifier of the Q App associated with the library item.

", + "GetQAppInput$appId": "

The unique identifier of the Q App to retrieve.

", + "GetQAppOutput$appId": "

The unique identifier of the Q App.

", + "GetQAppSessionInput$sessionId": "

The unique identifier of the Q App session to retrieve.

", + "ImportDocumentInput$cardId": "

The unique identifier of the card the file is associated with, if applicable.

", + "ImportDocumentInput$appId": "

The unique identifier of the Q App the file is associated with.

", + "ImportDocumentInput$sessionId": "

The unique identifier of the Q App session the file is associated with, if applicable.

", + "LibraryItemMember$libraryItemId": "

The unique identifier of the library item.

", + "LibraryItemMember$appId": "

The unique identifier of the Q App associated with the library item.

", + "ListLibraryItemsInput$categoryId": "

Optional category to filter the library items by.

", + "QPluginCard$id": "

The unique identifier of the plugin card.

", + "QPluginCardInput$id": "

The unique identifier of the plugin card.

", + "QQueryCard$id": "

The unique identifier of the query card.

", + "QQueryCardInput$id": "

The unique identifier of the query card.

", + "StartQAppSessionInput$appId": "

The unique identifier of the Q App to start a session for.

", + "StopQAppSessionInput$sessionId": "

The unique identifier of the Q App session to stop.

", + "TextInputCard$id": "

The unique identifier of the text input card.

", + "TextInputCardInput$id": "

The unique identifier of the text input card.

", + "UpdateLibraryItemInput$libraryItemId": "

The unique identifier of the library item to update.

", + "UpdateLibraryItemOutput$libraryItemId": "

The unique identifier of the updated library item.

", + "UpdateLibraryItemOutput$appId": "

The unique identifier of the Q App associated with the library item.

", + "UpdateQAppInput$appId": "

The unique identifier of the Q App to update.

", + "UpdateQAppOutput$appId": "

The unique identifier of the updated Q App.

", + "UpdateQAppSessionInput$sessionId": "

The unique identifier of the Q App session to provide input for.

", + "UserAppItem$appId": "

The unique identifier of the Q App.

" + } + }, + "UnauthorizedException": { + "base": "

The client is not authenticated or authorized to perform the requested operation.

", + "refs": { + } + }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UntagResourceResponse": { + "base": null, + "refs": { + } + }, + "UpdateLibraryItemInput": { + "base": null, + "refs": { + } + }, + "UpdateLibraryItemOutput": { + "base": null, + "refs": { + } + }, + "UpdateQAppInput": { + "base": null, + "refs": { + } + }, + "UpdateQAppOutput": { + "base": null, + "refs": { + } + }, + "UpdateQAppSessionInput": { + "base": null, + "refs": { + } + }, + "UpdateQAppSessionOutput": { + "base": null, + "refs": { + } + }, + "UserAppItem": { + "base": "

An Amazon Q App associated with a user, either owned by the user or favorited.

", + "refs": { + "UserAppsList$member": null + } + }, + "UserAppsList": { + "base": null, + "refs": { + "ListQAppsOutput$apps": "

The list of Amazon Q Apps meeting the request criteria.

" + } + }, + "ValidationException": { + "base": "

The input failed to satisfy the constraints specified by the service.

", + "refs": { + } + } + } +} diff --git a/models/apis/qapps/2023-11-27/endpoint-rule-set-1.json b/models/apis/qapps/2023-11-27/endpoint-rule-set-1.json new file mode 100644 index 00000000000..3d09620c35f --- /dev/null +++ b/models/apis/qapps/2023-11-27/endpoint-rule-set-1.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://data.qapps-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://data.qapps-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://data.qapps.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://data.qapps.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/models/apis/qapps/2023-11-27/endpoint-tests-1.json b/models/apis/qapps/2023-11-27/endpoint-tests-1.json new file mode 100644 index 00000000000..271533dc779 --- /dev/null +++ b/models/apis/qapps/2023-11-27/endpoint-tests-1.json @@ -0,0 +1,314 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://data.qapps-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://data.qapps-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://data.qapps.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://data.qapps.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://data.qapps-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://data.qapps-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://data.qapps.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://data.qapps.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://data.qapps-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://data.qapps-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://data.qapps.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://data.qapps.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://data.qapps-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://data.qapps.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://data.qapps-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://data.qapps.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/qapps/2023-11-27/examples-1.json b/models/apis/qapps/2023-11-27/examples-1.json new file mode 100644 index 00000000000..1a1fc4d4581 --- /dev/null +++ b/models/apis/qapps/2023-11-27/examples-1.json @@ -0,0 +1,583 @@ +{ + "version": "1.0", + "examples": { + "AssociateLibraryItemReview": [ + { + "input": { + "instanceId": "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", + "libraryItemId": "cb9ecf72-8563-450d-9db9-994f98297316" + }, + "id": "example-1", + "title": "Increase the rating counter by 1 for the related app for this user" + } + ], + "AssociateQAppWithUser": [ + { + "input": { + "appId": "393e77fb-0a30-4f47-ad30-75d71aeaed8a", + "instanceId": "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f" + }, + "id": "example-1", + "title": "Links an Amazon Q App to the invoker's list of apps" + } + ], + "CreateLibraryItem": [ + { + "input": { + "appId": "7a11f34b-42d4-4bc8-b668-ae4a788dae1e", + "appVersion": 6, + "categories": [ + "9c871ed4-1c41-4065-aefe-321cd4b61cf8" + ], + "instanceId": "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f" + }, + "output": { + "createdAt": "2024-05-21T23:17:27.350Z", + "createdBy": "a841e300-40c1-7062-fa34-5b46dadbbaac", + "libraryItemId": "cb9ecf72-8563-450d-9db9-994f98297316", + "ratingCount": 0, + "status": "PUBLISHED", + "updatedAt": "2024-05-21T23:17:27.350Z", + "updatedBy": "a841e300-40c1-7062-fa34-5b46dadbbaac" + }, + "id": "example-1", + "title": "Create a Library Item" + } + ], + "CreateQApp": [ + { + "input": { + "appDefinition": { + "cards": [ + { + "textInput": { + "type": "text-input", + "id": "4cf94d96-8819-45c2-98cc-58c56b35c72f", + "title": "Color Base" + } + }, + { + "qQuery": { + "type": "q-query", + "id": "18870b94-1e63-40e0-8c12-669c90ac5acc", + "prompt": "Recommend me a list of colors that go well with @4cf94d96-8819-45c2-98cc-58c56b35c72f", + "title": "Recommended Palette" + } + } + ], + "initialPrompt": "Create an app that recommend a list of colors based on input." + }, + "instanceId": "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", + "title": "Color Palette Generator" + }, + "output": { + "appArn": "arn:aws:qapps:us-west-2:123456789012:app/7212ff04-de7b-4831-bd80-45d6975ba1b0", + "appId": "7212ff04-de7b-4831-bd80-45d6975ba1b0", + "appVersion": 1, + "createdAt": "2024-05-14T00:11:54.232Z", + "createdBy": "a841e300-40c1-7062-fa34-5b46dadbbaac", + "initialPrompt": "Create an app that recommend a list of colors based on input.", + "requiredCapabilities": [ + "CreatorMode" + ], + "status": "DRAFT", + "title": "Color Palette Generator", + "updatedAt": "2024-05-14T00:13:26.168Z", + "updatedBy": "a841e300-40c1-7062-fa34-5b46dadbbaac" + }, + "id": "example-1", + "title": "A basic application with 1 text input card and 1 output card" + } + ], + "DeleteLibraryItem": [ + { + "input": { + "instanceId": "3642ba81-344c-42fd-a480-9119a5a5f26b", + "libraryItemId": "72088fd4-78b6-43da-bfb8-8621323c3cfb" + }, + "id": "example-1", + "title": "Delete a library item" + } + ], + "DeleteQApp": [ + { + "input": { + "appId": "393e77fb-0a30-4f47-ad30-75d71aeaed8a", + "instanceId": "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f" + }, + "id": "example-1", + "title": "Delete an Amazon Q App" + } + ], + "DisassociateLibraryItemReview": [ + { + "input": { + "instanceId": "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", + "libraryItemId": "cb9ecf72-8563-450d-9db9-994f98297316" + }, + "id": "example-1", + "title": "Decrease the rating counter by 1 for the related app for this user" + } + ], + "DisassociateQAppFromUser": [ + { + "input": { + "appId": "393e77fb-0a30-4f47-ad30-75d71aeaed8a", + "instanceId": "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f" + }, + "id": "example-1", + "title": "Unlinks an Amazon Q App from the invoker's list of apps" + } + ], + "GetLibraryItem": [ + { + "input": { + "instanceId": "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", + "libraryItemId": "18cbebaa-196a-4aa5-a840-88d548e07f8f" + }, + "output": { + "appId": "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", + "appVersion": 1, + "categories": [ + { + "id": "9c871ed4-1c41-4065-aefe-321cd4b61cf8", + "title": "HR" + }, + { + "id": "fdc4b483-c4e2-44c9-b4b2-6c850bbdb579", + "title": "General" + }, + { + "id": "c1c4e374-118c-446f-81fb-cba6225d88da", + "title": "IT" + } + ], + "createdAt": "2024-05-08T16:09:56.080Z", + "createdBy": "a841e300-40c1-7062-fa34-5b46dadbbaac", + "isRatedByUser": false, + "libraryItemId": "18cbebaa-196a-4aa5-a840-88d548e07f8f", + "ratingCount": 0, + "status": "PUBLISHED", + "updatedAt": "2024-05-08T16:09:56.080Z", + "updatedBy": "a841e300-40c1-7062-fa34-5b46dadbbaac", + "userCount": 1 + }, + "id": "example-1", + "title": "Retrieve a library item" + } + ], + "GetQApp": [ + { + "input": { + "appId": "3d110749-efc3-427c-87e8-15e966e5c168", + "instanceId": "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f" + }, + "output": { + "appArn": "arn:aws:qapps:us-west-2:123456789012:app/7212ff04-de7b-4831-bd80-45d6975ba1b0", + "appDefinition": { + "appDefinitionVersion": "1", + "cards": [ + { + "textInput": { + "type": "text-input", + "dependencies": [ + + ], + "id": "4cf94d96-8819-45c2-98cc-58c56b35c72f", + "title": "Color Base" + } + }, + { + "qQuery": { + "type": "q-query", + "dependencies": [ + "91e4513d-6981-454a-9329-329c9302eef4" + ], + "id": "18870b94-1e63-40e0-8c12-669c90ac5acc", + "outputSource": "llm", + "prompt": "Recommend me a list of colors that go well with @91e4513d-6981-454a-9329-329c9302eef4 ", + "title": "Recommended Palette" + } + } + ] + }, + "appId": "7212ff04-de7b-4831-bd80-45d6975ba1b0", + "appVersion": 1, + "createdAt": "2024-05-14T00:11:54.232Z", + "createdBy": "a841e300-40c1-7062-fa34-5b46dadbbaac", + "status": "DRAFT", + "title": "Color Palette Generator", + "updatedAt": "2024-05-14T00:13:26.168Z", + "updatedBy": "a841e300-40c1-7062-fa34-5b46dadbbaac" + }, + "id": "example-1", + "title": "A basic application with 1 text input card and 1 output card" + } + ], + "GetQAppSession": [ + { + "input": { + "instanceId": "288ae830-1df2-4871-b6c0-4314d74dadef", + "sessionId": "1fca878e-64c5-4dc4-b1d9-c93effed4e82" + }, + "output": { + "cardStatus": { + "1e6caeac-b481-45ff-a082-8b9a4a0b72e8": { + "currentState": "COMPLETED", + "currentValue": "Earth's circumference is 24,901 miles" + }, + "6fb5b404-3b7b-48a4-8a8b-56406922a606": { + "currentState": "COMPLETED", + "currentValue": "What is the circumference of Earth?" + } + }, + "sessionArn": "arn:aws:qapps:us-west-2:0123456789012:application/a929ecd6-5765-4ec7-bd3e-2ca90098b18e/qapp/65e7dce7-226a-47f9-b689-22850becef89/session/1fca878e-64c5-4dc4-b1d9-c93effed4e82", + "sessionId": "1fca878e-64c5-4dc4-b1d9-c93effed4e82", + "status": "COMPLETED" + }, + "id": "example-1", + "title": "Retrieves an existing session for an Amazon Q App" + } + ], + "ImportDocument": [ + { + "input": { + "appId": "4263767c-d889-4cb2-a8f6-8b649bc66af0", + "cardId": "82f69028-22a9-4bea-8727-0eabf58e9fed", + "fileContentsBase64": "data:text/plain;base64,SomeFileEncodedInBase64", + "fileName": "myFile.txt", + "instanceId": "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", + "scope": "SESSION", + "sessionId": "4f0e5b87-9d38-41cd-9eb4-ebce2f2917cc" + }, + "output": { + "fileId": "412aa1b4-341c-45af-936d-da52f8a1a3b4" + }, + "id": "example-1", + "title": "Upload a file to a specific session" + }, + { + "input": { + "appId": "4263767c-d889-4cb2-a8f6-8b649bc66af0", + "cardId": "7a11f34b-42d4-4bc8-b668-ae4a788dae1e", + "fileContentsBase64": "data:text/plain;base64,SomeFileEncodedInBase64", + "fileName": "anApplicationFile.txt", + "instanceId": "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", + "scope": "APPLICATION" + }, + "output": { + "fileId": "bc1a0cc9-076a-4e82-9a6c-f4d2d8a22489" + }, + "id": "example-2", + "title": "Upload a file into a application" + } + ], + "ListLibraryItems": [ + { + "input": { + "instanceId": "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", + "limit": 3 + }, + "output": { + "libraryItems": [ + { + "appId": "7a11f34b-42d4-4bc8-b668-ae4a788dae1e", + "appVersion": 6, + "categories": [ + { + "id": "9c871ed4-1c41-4065-aefe-321cd4b61cf8", + "title": "HR" + }, + { + "id": "c1c4e374-118c-446f-81fb-cba6225d88da", + "title": "IT" + } + ], + "createdAt": "2024-05-21T23:17:27.350Z", + "createdBy": "a841e300-40c1-7062-fa34-5b46dadbbaac", + "isRatedByUser": true, + "libraryItemId": "cb9ecf72-8563-450d-9db9-994f98297316", + "ratingCount": 3, + "status": "PUBLISHED", + "updatedAt": "2024-05-21T23:17:27.350Z", + "updatedBy": "a841e300-40c1-7062-fa34-5b46dadbbaac", + "userCount": 5 + }, + { + "appId": "201272ac-d474-4a97-991c-5520dae04026", + "appVersion": 1, + "categories": [ + { + "id": "fdc4b483-c4e2-44c9-b4b2-6c850bbdb579", + "title": "General" + } + ], + "createdAt": "2024-05-08T16:09:56.080Z", + "createdBy": "a841e300-40c1-7062-fa34-5b46dadbbaac", + "isRatedByUser": false, + "libraryItemId": "18cbebaa-196a-4aa5-a840-88d548e07f8f", + "ratingCount": 5, + "status": "PUBLISHED", + "updatedAt": "2024-05-08T16:09:56.080Z", + "updatedBy": "a841e300-40c1-7062-fa34-5b46dadbbaac", + "userCount": 8 + }, + { + "appId": "1802f57f-079a-4b5b-839a-79bbe2e21b3c", + "appVersion": 1, + "categories": [ + { + "id": "fdc4b483-c4e2-44c9-b4b2-6c850bbdb579", + "title": "General" + } + ], + "createdAt": "2024-05-07T22:57:59.327Z", + "createdBy": "a841e300-40c1-7062-fa34-5b46dadbbaac", + "isRatedByUser": false, + "libraryItemId": "549abfe0-f5c4-45a2-bb9b-c05987a49c6d", + "ratingCount": 8, + "status": "PUBLISHED", + "updatedAt": "2024-05-07T22:57:59.327Z", + "updatedBy": "a841e300-40c1-7062-fa34-5b46dadbbaac", + "userCount": 12 + } + ], + "nextToken": "YW5vdGhlclRva2VuIQ==" + }, + "id": "example-1", + "title": "List at most 3 library items for this instance" + } + ], + "ListQApps": [ + { + "input": { + "instanceId": "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", + "limit": 3 + }, + "output": { + "apps": [ + { + "appArn": "arn:aws:qapps:us-west-2:..../7b9fe303-18bb-4643-952c-bfcf9f4c427f", + "appId": "7b9fe303-18bb-4643-952c-bfcf9f4c427f", + "createdAt": "2024-05-21T04:09:10.401Z", + "description": "Description 1", + "status": "DRAFT", + "title": "App 1" + }, + { + "appArn": "arn:aws:qapps:us-west-2:..../dd178fd6-ad3d-49b3-a32d-e915cf423e37", + "appId": "dd178fd6-ad3d-49b3-a32d-e915cf423e37", + "createdAt": "2024-05-21T04:09:10.401Z", + "description": "Description 2", + "status": "PUBLISHED", + "title": "App 2" + }, + { + "appArn": "arn:aws:qapps:us-west-2:..../3274b744-1a13-4aad-953f-eda2e4149e6e", + "appId": "3274b744-1a13-4aad-953f-eda2e4149e6e", + "createdAt": "2024-05-21T04:09:10.401Z", + "description": "Description 3", + "status": "DRAFT", + "title": "App 3" + } + ], + "nextToken": "bXlzdGVyaW91c1BhZ2luYXRpb25Ub2tlbg==" + }, + "id": "example-1", + "title": "List at most 3 Amazon Q Apps in an Q Business application" + }, + { + "input": { + "instanceId": "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", + "limit": 3, + "nextToken": "bXlzdGVyaW91c1BhZ2luYXRpb25Ub2tlbg==" + }, + "output": { + "apps": [ + { + "appArn": "arn:aws:qapps:us-west-2:..../bec8ee64-2635-41e8-aace-e1e418f4f295", + "appId": "bec8ee64-2635-41e8-aace-e1e418f4f295", + "createdAt": "2024-05-21T04:09:10.401Z", + "description": "Description 4", + "status": "PUBLISHED", + "title": "App 4" + }, + { + "appArn": "arn:aws:qapps:us-west-2:..../c380a45d-bd77-45b0-a0e5-8a266c1d8bc4", + "appId": "c380a45d-bd77-45b0-a0e5-8a266c1d8bc4", + "createdAt": "2024-05-21T04:09:10.401Z", + "description": "Description 5", + "status": "PUBLISHED", + "title": "App 5" + }, + { + "appArn": "arn:aws:qapps:us-west-2:..../afc4ee80-9722-4396-85a6-7aeaff52c177", + "appId": "afc4ee80-9722-4396-85a6-7aeaff52c177", + "createdAt": "2024-05-21T04:09:10.401Z", + "description": "Description 6", + "status": "PUBLISHED", + "title": "App 6" + } + ], + "nextToken": "YW5vdGhlclRva2VuIQ==" + }, + "id": "example-2", + "title": "Retrieve the next page of Amazon Q Apps" + } + ], + "ListTagsForResource": [ + { + "input": { + "resourceARN": "arn:aws:qapps:us-west-2:123456789012:application/3642ba81-344c-42fd-a480-9119a5a5f26b/qapp/7212ff04-de7b-4831-bd80-45d6975ba1b0" + }, + "output": { + "tags": { + "department": "HR" + } + }, + "id": "example-1", + "title": "A call to list tags for a resource" + } + ], + "StartQAppSession": [ + { + "input": { + "appId": "65e7dce7-226a-47f9-b689-22850becef89", + "appVersion": 1, + "initialValues": [ + { + "value": "What is the circumference of Earth?", + "cardId": "6fb5b404-3b7b-48a4-8a8b-56406922a606" + } + ], + "instanceId": "4cc5e4c2-d2a2-4188-a114-9ca125b4aedc" + }, + "output": { + "sessionArn": "arn:aws:qapps:us-west-2:0123456789012:application/a929ecd6-5765-4ec7-bd3e-2ca90098b18e/qapp/65e7dce7-226a-47f9-b689-22850becef89/session/1fca878e-64c5-4dc4-b1d9-c93effed4e82", + "sessionId": "1fca878e-64c5-4dc4-b1d9-c93effed4e82" + }, + "id": "example-1", + "title": "Start a session for an Amazon Q App using version 1, passing in initial values for one card" + } + ], + "TagResource": [ + { + "input": { + "resourceARN": "arn:aws:qapps:us-west-2:123456789012:application/3642ba81-344c-42fd-a480-9119a5a5f26b/qapp/7212ff04-de7b-4831-bd80-45d6975ba1b0", + "tags": { + "department": "HR" + } + }, + "id": "example-1", + "title": "A call to tag a resource" + } + ], + "UntagResource": [ + { + "input": { + "resourceARN": "arn:aws:qapps:us-west-2:123456789012:application/3642ba81-344c-42fd-a480-9119a5a5f26b/qapp/7212ff04-de7b-4831-bd80-45d6975ba1b0", + "tagKeys": [ + "department" + ] + }, + "id": "example-1", + "title": "A call to untag a resource" + } + ], + "UpdateLibraryItem": [ + { + "input": { + "instanceId": "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", + "libraryItemId": "cb9ecf72-8563-450d-9db9-994f98297316", + "status": "DISABLED" + }, + "output": { + "appId": "7a11f34b-42d4-4bc8-b668-ae4a788dae1e", + "appVersion": 6, + "categories": [ + { + "id": "9c871ed4-1c41-4065-aefe-321cd4b61cf8", + "title": "HR" + }, + { + "id": "fdc4b483-c4e2-44c9-b4b2-6c850bbdb579", + "title": "General" + }, + { + "id": "c1c4e374-118c-446f-81fb-cba6225d88da", + "title": "IT" + } + ], + "createdAt": "2024-05-21T23:17:27.350Z", + "createdBy": "a841e300-40c1-7062-fa34-5b46dadbbaac", + "libraryItemId": "cb9ecf72-8563-450d-9db9-994f98297316", + "ratingCount": 24, + "status": "DISABLED", + "updatedAt": "2024-05-28T19:43:48.577Z", + "updatedBy": "a841e300-40c1-7062-fa34-5b46dadbbaac" + }, + "id": "example-1", + "title": "Sets the status of a library item to DISABLED" + } + ], + "UpdateQApp": [ + { + "input": { + "appId": "7212ff04-de7b-4831-bd80-45d6975ba1b0", + "instanceId": "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f", + "title": "This is the new title" + }, + "output": { + "appArn": "arn:aws:qapps:us-west-2:123456789012:app/7212ff04-de7b-4831-bd80-45d6975ba1b0", + "appId": "7212ff04-de7b-4831-bd80-45d6975ba1b0", + "appVersion": 2, + "createdAt": "2024-05-14T00:11:54.232Z", + "createdBy": "a841e300-40c1-7062-fa34-5b46dadbbaac", + "requiredCapabilities": [ + "CreatorMode" + ], + "status": "DRAFT", + "title": "This is the new title", + "updatedAt": "2024-05-17T23:15:08.571Z", + "updatedBy": "a841e300-40c1-7062-fa34-5b46dadbbaac" + }, + "id": "example-1", + "title": "Updating the title of an app" + }, + { + "input": { + "appDefinition": { + "cards": [ + { + "qQuery": { + "type": "q-query", + "id": "18870b94-1e63-40e0-8c12-669c90ac5acc", + "prompt": "Recommend me an itinerary for a trip", + "title": "Trip Ideas" + } + } + ] + }, + "appId": "7212ff04-de7b-4831-bd80-45d6975ba1b0", + "instanceId": "0b95c9c4-89cc-4aa8-9aae-aa91cbec699f" + }, + "output": { + "appArn": "arn:aws:qapps:us-west-2:123456789012:app/7212ff04-de7b-4831-bd80-45d6975ba1b0", + "appId": "7212ff04-de7b-4831-bd80-45d6975ba1b0", + "appVersion": 99, + "createdAt": "2024-05-14T00:11:54.232Z", + "createdBy": "a841e300-40c1-7062-fa34-5b46dadbbaac", + "requiredCapabilities": [ + "CreatorMode" + ], + "status": "DRAFT", + "title": "Previous Title Stays the Same", + "updatedAt": "2024-05-17T23:15:08.571Z", + "updatedBy": "a841e300-40c1-7062-fa34-5b46dadbbaac" + }, + "id": "example-2", + "title": "Updating the app so it has a single q-query card" + } + ] + } +} diff --git a/models/apis/qapps/2023-11-27/paginators-1.json b/models/apis/qapps/2023-11-27/paginators-1.json new file mode 100644 index 00000000000..0d13e6c265b --- /dev/null +++ b/models/apis/qapps/2023-11-27/paginators-1.json @@ -0,0 +1,16 @@ +{ + "pagination": { + "ListLibraryItems": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "limit", + "result_key": "libraryItems" + }, + "ListQApps": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "limit", + "result_key": "apps" + } + } +} diff --git a/models/apis/qapps/2023-11-27/smoke.json b/models/apis/qapps/2023-11-27/smoke.json new file mode 100644 index 00000000000..a9756813e4a --- /dev/null +++ b/models/apis/qapps/2023-11-27/smoke.json @@ -0,0 +1,6 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + ] +} diff --git a/models/apis/qapps/2023-11-27/waiters-2.json b/models/apis/qapps/2023-11-27/waiters-2.json new file mode 100644 index 00000000000..13f60ee66be --- /dev/null +++ b/models/apis/qapps/2023-11-27/waiters-2.json @@ -0,0 +1,5 @@ +{ + "version": 2, + "waiters": { + } +} diff --git a/models/apis/route53resolver/2018-04-01/api-2.json b/models/apis/route53resolver/2018-04-01/api-2.json index eaa4b03c13a..3910abf119f 100644 --- a/models/apis/route53resolver/2018-04-01/api-2.json +++ b/models/apis/route53resolver/2018-04-01/api-2.json @@ -11,7 +11,8 @@ "serviceId":"Route53Resolver", "signatureVersion":"v4", "targetPrefix":"Route53Resolver", - "uid":"route53resolver-2018-04-01" + "uid":"route53resolver-2018-04-01", + "auth":["aws.auth#sigv4"] }, "operations":{ "AssociateFirewallRuleGroup":{ diff --git a/models/apis/route53resolver/2018-04-01/smoke-2.json b/models/apis/route53resolver/2018-04-01/smoke-2.json new file mode 100644 index 00000000000..a7029bfc6cf --- /dev/null +++ b/models/apis/route53resolver/2018-04-01/smoke-2.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "testCases": [ + { + "id": "ListResolverEndpointsSuccess", + "operationName": "ListResolverEndpoints", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-west-2" + } + } + ] +} diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index e271448f8cb..312484c9c10 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -3913,6 +3913,7 @@ "cognito-identity" : { "endpoints" : { "af-south-1" : { }, + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-northeast-3" : { }, @@ -13545,35 +13546,287 @@ }, "pi" : { "endpoints" : { - "af-south-1" : { }, - "ap-east-1" : { }, - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-northeast-3" : { }, - "ap-south-1" : { }, - "ap-south-2" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ap-southeast-3" : { }, - "ap-southeast-4" : { }, - "ca-central-1" : { }, - "ca-west-1" : { }, - "eu-central-1" : { }, - "eu-central-2" : { }, - "eu-north-1" : { }, - "eu-south-1" : { }, - "eu-south-2" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "il-central-1" : { }, - "me-central-1" : { }, - "me-south-1" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "af-south-1" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi.af-south-1.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "ap-east-1" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi.ap-east-1.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "ap-northeast-1" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi.ap-northeast-1.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "ap-northeast-2" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi.ap-northeast-2.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "ap-northeast-3" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi.ap-northeast-3.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "ap-south-1" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi.ap-south-1.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "ap-south-2" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi.ap-south-2.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "ap-southeast-1" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi.ap-southeast-1.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "ap-southeast-2" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi.ap-southeast-2.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "ap-southeast-3" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi.ap-southeast-3.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "ap-southeast-4" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi.ap-southeast-4.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "ca-central-1" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + }, { + "hostname" : "pi-fips.ca-central-1.api.aws", + "tags" : [ "dualstack", "fips" ] + }, { + "hostname" : "pi.ca-central-1.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "ca-west-1" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi-fips.ca-west-1.amazonaws.com", + "tags" : [ "fips" ] + }, { + "hostname" : "pi-fips.ca-west-1.api.aws", + "tags" : [ "dualstack", "fips" ] + }, { + "hostname" : "pi.ca-west-1.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "eu-central-1" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi.eu-central-1.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "eu-central-2" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi.eu-central-2.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "eu-north-1" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi.eu-north-1.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "eu-south-1" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi.eu-south-1.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "eu-south-2" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi.eu-south-2.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "eu-west-1" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi.eu-west-1.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "eu-west-2" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi.eu-west-2.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "eu-west-3" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi.eu-west-3.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "fips-ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "deprecated" : true, + "hostname" : "pi-fips.ca-central-1.amazonaws.com" + }, + "fips-ca-west-1" : { + "credentialScope" : { + "region" : "ca-west-1" + }, + "deprecated" : true, + "hostname" : "pi-fips.ca-west-1.amazonaws.com" + }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, + "hostname" : "pi-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "deprecated" : true, + "hostname" : "pi-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "deprecated" : true, + "hostname" : "pi-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "deprecated" : true, + "hostname" : "pi-fips.us-west-2.amazonaws.com" + }, + "il-central-1" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi.il-central-1.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "me-central-1" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi.me-central-1.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "me-south-1" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi.me-south-1.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "sa-east-1" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi.sa-east-1.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "us-east-1" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + }, { + "hostname" : "pi-fips.us-east-1.api.aws", + "tags" : [ "dualstack", "fips" ] + }, { + "hostname" : "pi.us-east-1.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "us-east-2" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + }, { + "hostname" : "pi-fips.us-east-2.api.aws", + "tags" : [ "dualstack", "fips" ] + }, { + "hostname" : "pi.us-east-2.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "us-west-1" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + }, { + "hostname" : "pi-fips.us-west-1.api.aws", + "tags" : [ "dualstack", "fips" ] + }, { + "hostname" : "pi.us-west-1.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "us-west-2" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + }, { + "hostname" : "pi-fips.us-west-2.api.aws", + "tags" : [ "dualstack", "fips" ] + }, { + "hostname" : "pi.us-west-2.api.aws", + "tags" : [ "dualstack" ] + } ] + } } }, "pinpoint" : { @@ -19547,7 +19800,19 @@ "deprecated" : true, "hostname" : "translate-fips.us-east-2.amazonaws.com" }, - "us-west-1" : { }, + "us-west-1" : { + "variants" : [ { + "hostname" : "translate-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "deprecated" : true, + "hostname" : "translate-fips.us-west-1.amazonaws.com" + }, "us-west-2" : { "variants" : [ { "hostname" : "translate-fips.us-west-2.amazonaws.com", @@ -22021,8 +22286,20 @@ }, "pi" : { "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } + "cn-north-1" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi.cn-north-1.api.amazonwebservices.com.cn", + "tags" : [ "dualstack" ] + } ] + }, + "cn-northwest-1" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi.cn-northwest-1.api.amazonwebservices.com.cn", + "tags" : [ "dualstack" ] + } ] + } } }, "pipes" : { @@ -25898,8 +26175,46 @@ }, "pi" : { "endpoints" : { - "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "deprecated" : true, + "hostname" : "pi-fips.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "deprecated" : true, + "hostname" : "pi-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + }, { + "hostname" : "pi-fips.us-gov-east-1.api.aws", + "tags" : [ "dualstack", "fips" ] + }, { + "hostname" : "pi.us-gov-east-1.api.aws", + "tags" : [ "dualstack" ] + } ] + }, + "us-gov-west-1" : { + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "pi-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + }, { + "hostname" : "pi-fips.us-gov-west-1.api.aws", + "tags" : [ "dualstack", "fips" ] + }, { + "hostname" : "pi.us-gov-west-1.api.aws", + "tags" : [ "dualstack" ] + } ] + } } }, "pinpoint" : { diff --git a/service/qapps/api.go b/service/qapps/api.go new file mode 100644 index 00000000000..c4c371b2b8b --- /dev/null +++ b/service/qapps/api.go @@ -0,0 +1,8223 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package qapps + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "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/restjson" +) + +const opAssociateLibraryItemReview = "AssociateLibraryItemReview" + +// AssociateLibraryItemReviewRequest generates a "aws/request.Request" representing the +// client's request for the AssociateLibraryItemReview operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AssociateLibraryItemReview for more information on using the AssociateLibraryItemReview +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the AssociateLibraryItemReviewRequest method. +// req, resp := client.AssociateLibraryItemReviewRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/AssociateLibraryItemReview +func (c *QApps) AssociateLibraryItemReviewRequest(input *AssociateLibraryItemReviewInput) (req *request.Request, output *AssociateLibraryItemReviewOutput) { + op := &request.Operation{ + Name: opAssociateLibraryItemReview, + HTTPMethod: "POST", + HTTPPath: "/catalog.associateItemRating", + } + + if input == nil { + input = &AssociateLibraryItemReviewInput{} + } + + output = &AssociateLibraryItemReviewOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// AssociateLibraryItemReview API operation for QApps. +// +// Associates a rating or review for a library item with the user submitting +// the request. This increments the rating count for the specified library item. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for QApps's +// API operation AssociateLibraryItemReview for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The requested resource could not be found. +// +// - AccessDeniedException +// The client is not authorized to perform the requested operation. +// +// - ValidationException +// The input failed to satisfy the constraints specified by the service. +// +// - InternalServerException +// An internal service error occurred while processing the request. +// +// - UnauthorizedException +// The client is not authenticated or authorized to perform the requested operation. +// +// - ServiceQuotaExceededException +// The requested operation could not be completed because it would exceed the +// service's quota or limit. +// +// - ThrottlingException +// The requested operation could not be completed because too many requests +// were sent at once. Wait a bit and try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/AssociateLibraryItemReview +func (c *QApps) AssociateLibraryItemReview(input *AssociateLibraryItemReviewInput) (*AssociateLibraryItemReviewOutput, error) { + req, out := c.AssociateLibraryItemReviewRequest(input) + return out, req.Send() +} + +// AssociateLibraryItemReviewWithContext is the same as AssociateLibraryItemReview with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateLibraryItemReview for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QApps) AssociateLibraryItemReviewWithContext(ctx aws.Context, input *AssociateLibraryItemReviewInput, opts ...request.Option) (*AssociateLibraryItemReviewOutput, error) { + req, out := c.AssociateLibraryItemReviewRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opAssociateQAppWithUser = "AssociateQAppWithUser" + +// AssociateQAppWithUserRequest generates a "aws/request.Request" representing the +// client's request for the AssociateQAppWithUser operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AssociateQAppWithUser for more information on using the AssociateQAppWithUser +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the AssociateQAppWithUserRequest method. +// req, resp := client.AssociateQAppWithUserRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/AssociateQAppWithUser +func (c *QApps) AssociateQAppWithUserRequest(input *AssociateQAppWithUserInput) (req *request.Request, output *AssociateQAppWithUserOutput) { + op := &request.Operation{ + Name: opAssociateQAppWithUser, + HTTPMethod: "POST", + HTTPPath: "/apps.install", + } + + if input == nil { + input = &AssociateQAppWithUserInput{} + } + + output = &AssociateQAppWithUserOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// AssociateQAppWithUser API operation for QApps. +// +// This operation creates a link between the user's identity calling the operation +// and a specific Q App. This is useful to mark the Q App as a favorite for +// the user if the user doesn't own the Amazon Q App so they can still run it +// and see it in their inventory of Q Apps. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for QApps's +// API operation AssociateQAppWithUser for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The requested resource could not be found. +// +// - AccessDeniedException +// The client is not authorized to perform the requested operation. +// +// - ValidationException +// The input failed to satisfy the constraints specified by the service. +// +// - InternalServerException +// An internal service error occurred while processing the request. +// +// - UnauthorizedException +// The client is not authenticated or authorized to perform the requested operation. +// +// - ServiceQuotaExceededException +// The requested operation could not be completed because it would exceed the +// service's quota or limit. +// +// - ThrottlingException +// The requested operation could not be completed because too many requests +// were sent at once. Wait a bit and try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/AssociateQAppWithUser +func (c *QApps) AssociateQAppWithUser(input *AssociateQAppWithUserInput) (*AssociateQAppWithUserOutput, error) { + req, out := c.AssociateQAppWithUserRequest(input) + return out, req.Send() +} + +// AssociateQAppWithUserWithContext is the same as AssociateQAppWithUser with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateQAppWithUser for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QApps) AssociateQAppWithUserWithContext(ctx aws.Context, input *AssociateQAppWithUserInput, opts ...request.Option) (*AssociateQAppWithUserOutput, error) { + req, out := c.AssociateQAppWithUserRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateLibraryItem = "CreateLibraryItem" + +// CreateLibraryItemRequest generates a "aws/request.Request" representing the +// client's request for the CreateLibraryItem operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateLibraryItem for more information on using the CreateLibraryItem +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateLibraryItemRequest method. +// req, resp := client.CreateLibraryItemRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/CreateLibraryItem +func (c *QApps) CreateLibraryItemRequest(input *CreateLibraryItemInput) (req *request.Request, output *CreateLibraryItemOutput) { + op := &request.Operation{ + Name: opCreateLibraryItem, + HTTPMethod: "POST", + HTTPPath: "/catalog.createItem", + } + + if input == nil { + input = &CreateLibraryItemInput{} + } + + output = &CreateLibraryItemOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateLibraryItem API operation for QApps. +// +// Creates a new library item for an Amazon Q App, allowing it to be discovered +// and used by other allowed 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 QApps's +// API operation CreateLibraryItem for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The requested resource could not be found. +// +// - AccessDeniedException +// The client is not authorized to perform the requested operation. +// +// - ValidationException +// The input failed to satisfy the constraints specified by the service. +// +// - InternalServerException +// An internal service error occurred while processing the request. +// +// - UnauthorizedException +// The client is not authenticated or authorized to perform the requested operation. +// +// - ServiceQuotaExceededException +// The requested operation could not be completed because it would exceed the +// service's quota or limit. +// +// - ThrottlingException +// The requested operation could not be completed because too many requests +// were sent at once. Wait a bit and try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/CreateLibraryItem +func (c *QApps) CreateLibraryItem(input *CreateLibraryItemInput) (*CreateLibraryItemOutput, error) { + req, out := c.CreateLibraryItemRequest(input) + return out, req.Send() +} + +// CreateLibraryItemWithContext is the same as CreateLibraryItem with the addition of +// the ability to pass a context and additional request options. +// +// See CreateLibraryItem for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QApps) CreateLibraryItemWithContext(ctx aws.Context, input *CreateLibraryItemInput, opts ...request.Option) (*CreateLibraryItemOutput, error) { + req, out := c.CreateLibraryItemRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateQApp = "CreateQApp" + +// CreateQAppRequest generates a "aws/request.Request" representing the +// client's request for the CreateQApp operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateQApp for more information on using the CreateQApp +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateQAppRequest method. +// req, resp := client.CreateQAppRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/CreateQApp +func (c *QApps) CreateQAppRequest(input *CreateQAppInput) (req *request.Request, output *CreateQAppOutput) { + op := &request.Operation{ + Name: opCreateQApp, + HTTPMethod: "POST", + HTTPPath: "/apps.create", + } + + if input == nil { + input = &CreateQAppInput{} + } + + output = &CreateQAppOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateQApp API operation for QApps. +// +// Creates a new Amazon Q App based on the provided definition. The Q App definition +// specifies the cards and flow of the Q App. This operation also calculates +// the dependencies between the cards by inspecting the references in the prompts. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for QApps's +// API operation CreateQApp for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// The client is not authorized to perform the requested operation. +// +// - ConflictException +// The requested operation could not be completed due to a conflict with the +// current state of the resource. +// +// - ValidationException +// The input failed to satisfy the constraints specified by the service. +// +// - InternalServerException +// An internal service error occurred while processing the request. +// +// - UnauthorizedException +// The client is not authenticated or authorized to perform the requested operation. +// +// - ServiceQuotaExceededException +// The requested operation could not be completed because it would exceed the +// service's quota or limit. +// +// - ContentTooLargeException +// The requested operation could not be completed because the content exceeds +// the maximum allowed size. +// +// - ThrottlingException +// The requested operation could not be completed because too many requests +// were sent at once. Wait a bit and try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/CreateQApp +func (c *QApps) CreateQApp(input *CreateQAppInput) (*CreateQAppOutput, error) { + req, out := c.CreateQAppRequest(input) + return out, req.Send() +} + +// CreateQAppWithContext is the same as CreateQApp with the addition of +// the ability to pass a context and additional request options. +// +// See CreateQApp for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QApps) CreateQAppWithContext(ctx aws.Context, input *CreateQAppInput, opts ...request.Option) (*CreateQAppOutput, error) { + req, out := c.CreateQAppRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteLibraryItem = "DeleteLibraryItem" + +// DeleteLibraryItemRequest generates a "aws/request.Request" representing the +// client's request for the DeleteLibraryItem operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteLibraryItem for more information on using the DeleteLibraryItem +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeleteLibraryItemRequest method. +// req, resp := client.DeleteLibraryItemRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/DeleteLibraryItem +func (c *QApps) DeleteLibraryItemRequest(input *DeleteLibraryItemInput) (req *request.Request, output *DeleteLibraryItemOutput) { + op := &request.Operation{ + Name: opDeleteLibraryItem, + HTTPMethod: "POST", + HTTPPath: "/catalog.deleteItem", + } + + if input == nil { + input = &DeleteLibraryItemInput{} + } + + output = &DeleteLibraryItemOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteLibraryItem API operation for QApps. +// +// Deletes a library item for an Amazon Q App, removing it from the library +// so it can no longer be discovered or used by other 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 QApps's +// API operation DeleteLibraryItem for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The requested resource could not be found. +// +// - AccessDeniedException +// The client is not authorized to perform the requested operation. +// +// - ValidationException +// The input failed to satisfy the constraints specified by the service. +// +// - InternalServerException +// An internal service error occurred while processing the request. +// +// - UnauthorizedException +// The client is not authenticated or authorized to perform the requested operation. +// +// - ServiceQuotaExceededException +// The requested operation could not be completed because it would exceed the +// service's quota or limit. +// +// - ThrottlingException +// The requested operation could not be completed because too many requests +// were sent at once. Wait a bit and try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/DeleteLibraryItem +func (c *QApps) DeleteLibraryItem(input *DeleteLibraryItemInput) (*DeleteLibraryItemOutput, error) { + req, out := c.DeleteLibraryItemRequest(input) + return out, req.Send() +} + +// DeleteLibraryItemWithContext is the same as DeleteLibraryItem with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteLibraryItem for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QApps) DeleteLibraryItemWithContext(ctx aws.Context, input *DeleteLibraryItemInput, opts ...request.Option) (*DeleteLibraryItemOutput, error) { + req, out := c.DeleteLibraryItemRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteQApp = "DeleteQApp" + +// DeleteQAppRequest generates a "aws/request.Request" representing the +// client's request for the DeleteQApp operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteQApp for more information on using the DeleteQApp +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeleteQAppRequest method. +// req, resp := client.DeleteQAppRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/DeleteQApp +func (c *QApps) DeleteQAppRequest(input *DeleteQAppInput) (req *request.Request, output *DeleteQAppOutput) { + op := &request.Operation{ + Name: opDeleteQApp, + HTTPMethod: "POST", + HTTPPath: "/apps.delete", + } + + if input == nil { + input = &DeleteQAppInput{} + } + + output = &DeleteQAppOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteQApp API operation for QApps. +// +// Deletes an Amazon Q App owned by the user. If the Q App was previously published +// to the library, it is also removed from the library. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for QApps's +// API operation DeleteQApp for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The requested resource could not be found. +// +// - AccessDeniedException +// The client is not authorized to perform the requested operation. +// +// - ValidationException +// The input failed to satisfy the constraints specified by the service. +// +// - InternalServerException +// An internal service error occurred while processing the request. +// +// - UnauthorizedException +// The client is not authenticated or authorized to perform the requested operation. +// +// - ThrottlingException +// The requested operation could not be completed because too many requests +// were sent at once. Wait a bit and try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/DeleteQApp +func (c *QApps) DeleteQApp(input *DeleteQAppInput) (*DeleteQAppOutput, error) { + req, out := c.DeleteQAppRequest(input) + return out, req.Send() +} + +// DeleteQAppWithContext is the same as DeleteQApp with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteQApp for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QApps) DeleteQAppWithContext(ctx aws.Context, input *DeleteQAppInput, opts ...request.Option) (*DeleteQAppOutput, error) { + req, out := c.DeleteQAppRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDisassociateLibraryItemReview = "DisassociateLibraryItemReview" + +// DisassociateLibraryItemReviewRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateLibraryItemReview operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DisassociateLibraryItemReview for more information on using the DisassociateLibraryItemReview +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DisassociateLibraryItemReviewRequest method. +// req, resp := client.DisassociateLibraryItemReviewRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/DisassociateLibraryItemReview +func (c *QApps) DisassociateLibraryItemReviewRequest(input *DisassociateLibraryItemReviewInput) (req *request.Request, output *DisassociateLibraryItemReviewOutput) { + op := &request.Operation{ + Name: opDisassociateLibraryItemReview, + HTTPMethod: "POST", + HTTPPath: "/catalog.disassociateItemRating", + } + + if input == nil { + input = &DisassociateLibraryItemReviewInput{} + } + + output = &DisassociateLibraryItemReviewOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DisassociateLibraryItemReview API operation for QApps. +// +// Removes a rating or review previously submitted by the user for a library +// item. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for QApps's +// API operation DisassociateLibraryItemReview for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The requested resource could not be found. +// +// - AccessDeniedException +// The client is not authorized to perform the requested operation. +// +// - ValidationException +// The input failed to satisfy the constraints specified by the service. +// +// - InternalServerException +// An internal service error occurred while processing the request. +// +// - UnauthorizedException +// The client is not authenticated or authorized to perform the requested operation. +// +// - ServiceQuotaExceededException +// The requested operation could not be completed because it would exceed the +// service's quota or limit. +// +// - ThrottlingException +// The requested operation could not be completed because too many requests +// were sent at once. Wait a bit and try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/DisassociateLibraryItemReview +func (c *QApps) DisassociateLibraryItemReview(input *DisassociateLibraryItemReviewInput) (*DisassociateLibraryItemReviewOutput, error) { + req, out := c.DisassociateLibraryItemReviewRequest(input) + return out, req.Send() +} + +// DisassociateLibraryItemReviewWithContext is the same as DisassociateLibraryItemReview with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateLibraryItemReview for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QApps) DisassociateLibraryItemReviewWithContext(ctx aws.Context, input *DisassociateLibraryItemReviewInput, opts ...request.Option) (*DisassociateLibraryItemReviewOutput, error) { + req, out := c.DisassociateLibraryItemReviewRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDisassociateQAppFromUser = "DisassociateQAppFromUser" + +// DisassociateQAppFromUserRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateQAppFromUser operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DisassociateQAppFromUser for more information on using the DisassociateQAppFromUser +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DisassociateQAppFromUserRequest method. +// req, resp := client.DisassociateQAppFromUserRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/DisassociateQAppFromUser +func (c *QApps) DisassociateQAppFromUserRequest(input *DisassociateQAppFromUserInput) (req *request.Request, output *DisassociateQAppFromUserOutput) { + op := &request.Operation{ + Name: opDisassociateQAppFromUser, + HTTPMethod: "POST", + HTTPPath: "/apps.uninstall", + } + + if input == nil { + input = &DisassociateQAppFromUserInput{} + } + + output = &DisassociateQAppFromUserOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DisassociateQAppFromUser API operation for QApps. +// +// Disassociates a Q App from a user removing the user's access to run the Q +// App. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for QApps's +// API operation DisassociateQAppFromUser for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The requested resource could not be found. +// +// - AccessDeniedException +// The client is not authorized to perform the requested operation. +// +// - ValidationException +// The input failed to satisfy the constraints specified by the service. +// +// - InternalServerException +// An internal service error occurred while processing the request. +// +// - UnauthorizedException +// The client is not authenticated or authorized to perform the requested operation. +// +// - ThrottlingException +// The requested operation could not be completed because too many requests +// were sent at once. Wait a bit and try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/DisassociateQAppFromUser +func (c *QApps) DisassociateQAppFromUser(input *DisassociateQAppFromUserInput) (*DisassociateQAppFromUserOutput, error) { + req, out := c.DisassociateQAppFromUserRequest(input) + return out, req.Send() +} + +// DisassociateQAppFromUserWithContext is the same as DisassociateQAppFromUser with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateQAppFromUser for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QApps) DisassociateQAppFromUserWithContext(ctx aws.Context, input *DisassociateQAppFromUserInput, opts ...request.Option) (*DisassociateQAppFromUserOutput, error) { + req, out := c.DisassociateQAppFromUserRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetLibraryItem = "GetLibraryItem" + +// GetLibraryItemRequest generates a "aws/request.Request" representing the +// client's request for the GetLibraryItem operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetLibraryItem for more information on using the GetLibraryItem +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetLibraryItemRequest method. +// req, resp := client.GetLibraryItemRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/GetLibraryItem +func (c *QApps) GetLibraryItemRequest(input *GetLibraryItemInput) (req *request.Request, output *GetLibraryItemOutput) { + op := &request.Operation{ + Name: opGetLibraryItem, + HTTPMethod: "GET", + HTTPPath: "/catalog.getItem", + } + + if input == nil { + input = &GetLibraryItemInput{} + } + + output = &GetLibraryItemOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetLibraryItem API operation for QApps. +// +// Retrieves details about a library item for an Amazon Q App, including its +// metadata, categories, ratings, and usage statistics. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for QApps's +// API operation GetLibraryItem for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The requested resource could not be found. +// +// - AccessDeniedException +// The client is not authorized to perform the requested operation. +// +// - ValidationException +// The input failed to satisfy the constraints specified by the service. +// +// - InternalServerException +// An internal service error occurred while processing the request. +// +// - UnauthorizedException +// The client is not authenticated or authorized to perform the requested operation. +// +// - ThrottlingException +// The requested operation could not be completed because too many requests +// were sent at once. Wait a bit and try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/GetLibraryItem +func (c *QApps) GetLibraryItem(input *GetLibraryItemInput) (*GetLibraryItemOutput, error) { + req, out := c.GetLibraryItemRequest(input) + return out, req.Send() +} + +// GetLibraryItemWithContext is the same as GetLibraryItem with the addition of +// the ability to pass a context and additional request options. +// +// See GetLibraryItem for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QApps) GetLibraryItemWithContext(ctx aws.Context, input *GetLibraryItemInput, opts ...request.Option) (*GetLibraryItemOutput, error) { + req, out := c.GetLibraryItemRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetQApp = "GetQApp" + +// GetQAppRequest generates a "aws/request.Request" representing the +// client's request for the GetQApp operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetQApp for more information on using the GetQApp +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetQAppRequest method. +// req, resp := client.GetQAppRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/GetQApp +func (c *QApps) GetQAppRequest(input *GetQAppInput) (req *request.Request, output *GetQAppOutput) { + op := &request.Operation{ + Name: opGetQApp, + HTTPMethod: "GET", + HTTPPath: "/apps.get", + } + + if input == nil { + input = &GetQAppInput{} + } + + output = &GetQAppOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetQApp API operation for QApps. +// +// Retrieves the full details of an Q App, including its definition specifying +// the cards and 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 QApps's +// API operation GetQApp for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The requested resource could not be found. +// +// - AccessDeniedException +// The client is not authorized to perform the requested operation. +// +// - ValidationException +// The input failed to satisfy the constraints specified by the service. +// +// - InternalServerException +// An internal service error occurred while processing the request. +// +// - UnauthorizedException +// The client is not authenticated or authorized to perform the requested operation. +// +// - ThrottlingException +// The requested operation could not be completed because too many requests +// were sent at once. Wait a bit and try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/GetQApp +func (c *QApps) GetQApp(input *GetQAppInput) (*GetQAppOutput, error) { + req, out := c.GetQAppRequest(input) + return out, req.Send() +} + +// GetQAppWithContext is the same as GetQApp with the addition of +// the ability to pass a context and additional request options. +// +// See GetQApp for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QApps) GetQAppWithContext(ctx aws.Context, input *GetQAppInput, opts ...request.Option) (*GetQAppOutput, error) { + req, out := c.GetQAppRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetQAppSession = "GetQAppSession" + +// GetQAppSessionRequest generates a "aws/request.Request" representing the +// client's request for the GetQAppSession operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetQAppSession for more information on using the GetQAppSession +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetQAppSessionRequest method. +// req, resp := client.GetQAppSessionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/GetQAppSession +func (c *QApps) GetQAppSessionRequest(input *GetQAppSessionInput) (req *request.Request, output *GetQAppSessionOutput) { + op := &request.Operation{ + Name: opGetQAppSession, + HTTPMethod: "GET", + HTTPPath: "/runtime.getQAppSession", + } + + if input == nil { + input = &GetQAppSessionInput{} + } + + output = &GetQAppSessionOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetQAppSession API operation for QApps. +// +// Retrieves the current state and results for an active session of an Amazon +// Q App. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for QApps's +// API operation GetQAppSession for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The requested resource could not be found. +// +// - AccessDeniedException +// The client is not authorized to perform the requested operation. +// +// - ValidationException +// The input failed to satisfy the constraints specified by the service. +// +// - InternalServerException +// An internal service error occurred while processing the request. +// +// - UnauthorizedException +// The client is not authenticated or authorized to perform the requested operation. +// +// - ServiceQuotaExceededException +// The requested operation could not be completed because it would exceed the +// service's quota or limit. +// +// - ThrottlingException +// The requested operation could not be completed because too many requests +// were sent at once. Wait a bit and try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/GetQAppSession +func (c *QApps) GetQAppSession(input *GetQAppSessionInput) (*GetQAppSessionOutput, error) { + req, out := c.GetQAppSessionRequest(input) + return out, req.Send() +} + +// GetQAppSessionWithContext is the same as GetQAppSession with the addition of +// the ability to pass a context and additional request options. +// +// See GetQAppSession for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QApps) GetQAppSessionWithContext(ctx aws.Context, input *GetQAppSessionInput, opts ...request.Option) (*GetQAppSessionOutput, error) { + req, out := c.GetQAppSessionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opImportDocument = "ImportDocument" + +// ImportDocumentRequest generates a "aws/request.Request" representing the +// client's request for the ImportDocument operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ImportDocument for more information on using the ImportDocument +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ImportDocumentRequest method. +// req, resp := client.ImportDocumentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/ImportDocument +func (c *QApps) ImportDocumentRequest(input *ImportDocumentInput) (req *request.Request, output *ImportDocumentOutput) { + op := &request.Operation{ + Name: opImportDocument, + HTTPMethod: "POST", + HTTPPath: "/apps.importDocument", + } + + if input == nil { + input = &ImportDocumentInput{} + } + + output = &ImportDocumentOutput{} + req = c.newRequest(op, input, output) + return +} + +// ImportDocument API operation for QApps. +// +// Uploads a file that can then be used either as a default in a FileUploadCard +// from Q App definition or as a file that is used inside a single Q App run. +// The purpose of the document is determined by a scope parameter that indicates +// whether it is at the app definition level or at the app session level. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for QApps's +// API operation ImportDocument for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The requested resource could not be found. +// +// - AccessDeniedException +// The client is not authorized to perform the requested operation. +// +// - ValidationException +// The input failed to satisfy the constraints specified by the service. +// +// - InternalServerException +// An internal service error occurred while processing the request. +// +// - UnauthorizedException +// The client is not authenticated or authorized to perform the requested operation. +// +// - ServiceQuotaExceededException +// The requested operation could not be completed because it would exceed the +// service's quota or limit. +// +// - ContentTooLargeException +// The requested operation could not be completed because the content exceeds +// the maximum allowed size. +// +// - ThrottlingException +// The requested operation could not be completed because too many requests +// were sent at once. Wait a bit and try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/ImportDocument +func (c *QApps) ImportDocument(input *ImportDocumentInput) (*ImportDocumentOutput, error) { + req, out := c.ImportDocumentRequest(input) + return out, req.Send() +} + +// ImportDocumentWithContext is the same as ImportDocument with the addition of +// the ability to pass a context and additional request options. +// +// See ImportDocument for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QApps) ImportDocumentWithContext(ctx aws.Context, input *ImportDocumentInput, opts ...request.Option) (*ImportDocumentOutput, error) { + req, out := c.ImportDocumentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListLibraryItems = "ListLibraryItems" + +// ListLibraryItemsRequest generates a "aws/request.Request" representing the +// client's request for the ListLibraryItems operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListLibraryItems for more information on using the ListLibraryItems +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListLibraryItemsRequest method. +// req, resp := client.ListLibraryItemsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/ListLibraryItems +func (c *QApps) ListLibraryItemsRequest(input *ListLibraryItemsInput) (req *request.Request, output *ListLibraryItemsOutput) { + op := &request.Operation{ + Name: opListLibraryItems, + HTTPMethod: "GET", + HTTPPath: "/catalog.list", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "limit", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListLibraryItemsInput{} + } + + output = &ListLibraryItemsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListLibraryItems API operation for QApps. +// +// Lists the library items for Amazon Q Apps that are published and available +// for users in your Amazon Web Services 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 QApps's +// API operation ListLibraryItems for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The requested resource could not be found. +// +// - AccessDeniedException +// The client is not authorized to perform the requested operation. +// +// - ValidationException +// The input failed to satisfy the constraints specified by the service. +// +// - InternalServerException +// An internal service error occurred while processing the request. +// +// - UnauthorizedException +// The client is not authenticated or authorized to perform the requested operation. +// +// - ThrottlingException +// The requested operation could not be completed because too many requests +// were sent at once. Wait a bit and try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/ListLibraryItems +func (c *QApps) ListLibraryItems(input *ListLibraryItemsInput) (*ListLibraryItemsOutput, error) { + req, out := c.ListLibraryItemsRequest(input) + return out, req.Send() +} + +// ListLibraryItemsWithContext is the same as ListLibraryItems with the addition of +// the ability to pass a context and additional request options. +// +// See ListLibraryItems for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QApps) ListLibraryItemsWithContext(ctx aws.Context, input *ListLibraryItemsInput, opts ...request.Option) (*ListLibraryItemsOutput, error) { + req, out := c.ListLibraryItemsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListLibraryItemsPages iterates over the pages of a ListLibraryItems operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListLibraryItems 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 ListLibraryItems operation. +// pageNum := 0 +// err := client.ListLibraryItemsPages(params, +// func(page *qapps.ListLibraryItemsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *QApps) ListLibraryItemsPages(input *ListLibraryItemsInput, fn func(*ListLibraryItemsOutput, bool) bool) error { + return c.ListLibraryItemsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListLibraryItemsPagesWithContext same as ListLibraryItemsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QApps) ListLibraryItemsPagesWithContext(ctx aws.Context, input *ListLibraryItemsInput, fn func(*ListLibraryItemsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListLibraryItemsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListLibraryItemsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListLibraryItemsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListQApps = "ListQApps" + +// ListQAppsRequest generates a "aws/request.Request" representing the +// client's request for the ListQApps operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListQApps for more information on using the ListQApps +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListQAppsRequest method. +// req, resp := client.ListQAppsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/ListQApps +func (c *QApps) ListQAppsRequest(input *ListQAppsInput) (req *request.Request, output *ListQAppsOutput) { + op := &request.Operation{ + Name: opListQApps, + HTTPMethod: "GET", + HTTPPath: "/apps.list", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "limit", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListQAppsInput{} + } + + output = &ListQAppsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListQApps API operation for QApps. +// +// Lists the Amazon Q Apps owned by or associated with the user either because +// they created it or because they used it from the library in the past. The +// user identity is extracted from the credentials used to invoke 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 QApps's +// API operation ListQApps for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// The client is not authorized to perform the requested operation. +// +// - ValidationException +// The input failed to satisfy the constraints specified by the service. +// +// - InternalServerException +// An internal service error occurred while processing the request. +// +// - UnauthorizedException +// The client is not authenticated or authorized to perform the requested operation. +// +// - ThrottlingException +// The requested operation could not be completed because too many requests +// were sent at once. Wait a bit and try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/ListQApps +func (c *QApps) ListQApps(input *ListQAppsInput) (*ListQAppsOutput, error) { + req, out := c.ListQAppsRequest(input) + return out, req.Send() +} + +// ListQAppsWithContext is the same as ListQApps with the addition of +// the ability to pass a context and additional request options. +// +// See ListQApps for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QApps) ListQAppsWithContext(ctx aws.Context, input *ListQAppsInput, opts ...request.Option) (*ListQAppsOutput, error) { + req, out := c.ListQAppsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListQAppsPages iterates over the pages of a ListQApps operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListQApps 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 ListQApps operation. +// pageNum := 0 +// err := client.ListQAppsPages(params, +// func(page *qapps.ListQAppsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *QApps) ListQAppsPages(input *ListQAppsInput, fn func(*ListQAppsOutput, bool) bool) error { + return c.ListQAppsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListQAppsPagesWithContext same as ListQAppsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QApps) ListQAppsPagesWithContext(ctx aws.Context, input *ListQAppsInput, fn func(*ListQAppsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListQAppsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListQAppsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListQAppsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/ListTagsForResource +func (c *QApps) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/tags/{resourceARN}", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for QApps. +// +// Lists the tags associated with an Amazon Q Apps 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 QApps's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The requested resource could not be found. +// +// - AccessDeniedException +// The client is not authorized to perform the requested operation. +// +// - ValidationException +// The input failed to satisfy the constraints specified by the service. +// +// - InternalServerException +// An internal service error occurred while processing the request. +// +// - ThrottlingException +// The requested operation could not be completed because too many requests +// were sent at once. Wait a bit and try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/ListTagsForResource +func (c *QApps) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QApps) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opPredictQApp = "PredictQApp" + +// PredictQAppRequest generates a "aws/request.Request" representing the +// client's request for the PredictQApp operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PredictQApp for more information on using the PredictQApp +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the PredictQAppRequest method. +// req, resp := client.PredictQAppRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/PredictQApp +func (c *QApps) PredictQAppRequest(input *PredictQAppInput) (req *request.Request, output *PredictQAppOutput) { + op := &request.Operation{ + Name: opPredictQApp, + HTTPMethod: "POST", + HTTPPath: "/apps.predictQApp", + } + + if input == nil { + input = &PredictQAppInput{} + } + + output = &PredictQAppOutput{} + req = c.newRequest(op, input, output) + return +} + +// PredictQApp API operation for QApps. +// +// Generates an Amazon Q App definition based on either a conversation or a +// problem statement provided as input.The resulting app definition can be used +// to call CreateQApp. This API doesn't create Amazon Q Apps directly. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for QApps's +// API operation PredictQApp for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// The client is not authorized to perform the requested operation. +// +// - ValidationException +// The input failed to satisfy the constraints specified by the service. +// +// - InternalServerException +// An internal service error occurred while processing the request. +// +// - UnauthorizedException +// The client is not authenticated or authorized to perform the requested operation. +// +// - ThrottlingException +// The requested operation could not be completed because too many requests +// were sent at once. Wait a bit and try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/PredictQApp +func (c *QApps) PredictQApp(input *PredictQAppInput) (*PredictQAppOutput, error) { + req, out := c.PredictQAppRequest(input) + return out, req.Send() +} + +// PredictQAppWithContext is the same as PredictQApp with the addition of +// the ability to pass a context and additional request options. +// +// See PredictQApp for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QApps) PredictQAppWithContext(ctx aws.Context, input *PredictQAppInput, opts ...request.Option) (*PredictQAppOutput, error) { + req, out := c.PredictQAppRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartQAppSession = "StartQAppSession" + +// StartQAppSessionRequest generates a "aws/request.Request" representing the +// client's request for the StartQAppSession operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StartQAppSession for more information on using the StartQAppSession +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the StartQAppSessionRequest method. +// req, resp := client.StartQAppSessionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/StartQAppSession +func (c *QApps) StartQAppSessionRequest(input *StartQAppSessionInput) (req *request.Request, output *StartQAppSessionOutput) { + op := &request.Operation{ + Name: opStartQAppSession, + HTTPMethod: "POST", + HTTPPath: "/runtime.startQAppSession", + } + + if input == nil { + input = &StartQAppSessionInput{} + } + + output = &StartQAppSessionOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartQAppSession API operation for QApps. +// +// Starts a new session for an Amazon Q App, allowing inputs to be provided +// and the app to be run. +// +// Each Q App session will be condensed into a single conversation in the web +// experience. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for QApps's +// API operation StartQAppSession for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The requested resource could not be found. +// +// - AccessDeniedException +// The client is not authorized to perform the requested operation. +// +// - ValidationException +// The input failed to satisfy the constraints specified by the service. +// +// - InternalServerException +// An internal service error occurred while processing the request. +// +// - UnauthorizedException +// The client is not authenticated or authorized to perform the requested operation. +// +// - ServiceQuotaExceededException +// The requested operation could not be completed because it would exceed the +// service's quota or limit. +// +// - ThrottlingException +// The requested operation could not be completed because too many requests +// were sent at once. Wait a bit and try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/StartQAppSession +func (c *QApps) StartQAppSession(input *StartQAppSessionInput) (*StartQAppSessionOutput, error) { + req, out := c.StartQAppSessionRequest(input) + return out, req.Send() +} + +// StartQAppSessionWithContext is the same as StartQAppSession with the addition of +// the ability to pass a context and additional request options. +// +// See StartQAppSession for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QApps) StartQAppSessionWithContext(ctx aws.Context, input *StartQAppSessionInput, opts ...request.Option) (*StartQAppSessionOutput, error) { + req, out := c.StartQAppSessionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopQAppSession = "StopQAppSession" + +// StopQAppSessionRequest generates a "aws/request.Request" representing the +// client's request for the StopQAppSession operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StopQAppSession for more information on using the StopQAppSession +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the StopQAppSessionRequest method. +// req, resp := client.StopQAppSessionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/StopQAppSession +func (c *QApps) StopQAppSessionRequest(input *StopQAppSessionInput) (req *request.Request, output *StopQAppSessionOutput) { + op := &request.Operation{ + Name: opStopQAppSession, + HTTPMethod: "POST", + HTTPPath: "/runtime.deleteMiniAppRun", + } + + if input == nil { + input = &StopQAppSessionInput{} + } + + output = &StopQAppSessionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StopQAppSession API operation for QApps. +// +// Stops an active session for an Amazon Q App.This deletes all data related +// to the session and makes it invalid for future uses. The results of the session +// will be persisted as part of the conversation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for QApps's +// API operation StopQAppSession for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The requested resource could not be found. +// +// - AccessDeniedException +// The client is not authorized to perform the requested operation. +// +// - ValidationException +// The input failed to satisfy the constraints specified by the service. +// +// - InternalServerException +// An internal service error occurred while processing the request. +// +// - UnauthorizedException +// The client is not authenticated or authorized to perform the requested operation. +// +// - ServiceQuotaExceededException +// The requested operation could not be completed because it would exceed the +// service's quota or limit. +// +// - ThrottlingException +// The requested operation could not be completed because too many requests +// were sent at once. Wait a bit and try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/StopQAppSession +func (c *QApps) StopQAppSession(input *StopQAppSessionInput) (*StopQAppSessionOutput, error) { + req, out := c.StopQAppSessionRequest(input) + return out, req.Send() +} + +// StopQAppSessionWithContext is the same as StopQAppSession with the addition of +// the ability to pass a context and additional request options. +// +// See StopQAppSession for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QApps) StopQAppSessionWithContext(ctx aws.Context, input *StopQAppSessionInput, opts ...request.Option) (*StopQAppSessionOutput, error) { + req, out := c.StopQAppSessionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/TagResource +func (c *QApps) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags/{resourceARN}", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for QApps. +// +// Associates tags with an Amazon Q Apps 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 QApps's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The requested resource could not be found. +// +// - AccessDeniedException +// The client is not authorized to perform the requested operation. +// +// - ConflictException +// The requested operation could not be completed due to a conflict with the +// current state of the resource. +// +// - ValidationException +// The input failed to satisfy the constraints specified by the service. +// +// - InternalServerException +// An internal service error occurred while processing the request. +// +// - ThrottlingException +// The requested operation could not be completed because too many requests +// were sent at once. Wait a bit and try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/TagResource +func (c *QApps) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QApps) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/UntagResource +func (c *QApps) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/tags/{resourceARN}", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for QApps. +// +// Disassociates tags from an Amazon Q Apps 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 QApps's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The requested resource could not be found. +// +// - AccessDeniedException +// The client is not authorized to perform the requested operation. +// +// - ValidationException +// The input failed to satisfy the constraints specified by the service. +// +// - InternalServerException +// An internal service error occurred while processing the request. +// +// - ThrottlingException +// The requested operation could not be completed because too many requests +// were sent at once. Wait a bit and try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/UntagResource +func (c *QApps) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QApps) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateLibraryItem = "UpdateLibraryItem" + +// UpdateLibraryItemRequest generates a "aws/request.Request" representing the +// client's request for the UpdateLibraryItem operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateLibraryItem for more information on using the UpdateLibraryItem +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateLibraryItemRequest method. +// req, resp := client.UpdateLibraryItemRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/UpdateLibraryItem +func (c *QApps) UpdateLibraryItemRequest(input *UpdateLibraryItemInput) (req *request.Request, output *UpdateLibraryItemOutput) { + op := &request.Operation{ + Name: opUpdateLibraryItem, + HTTPMethod: "POST", + HTTPPath: "/catalog.updateItem", + } + + if input == nil { + input = &UpdateLibraryItemInput{} + } + + output = &UpdateLibraryItemOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateLibraryItem API operation for QApps. +// +// Updates the metadata and status of a library item for an Amazon Q App. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for QApps's +// API operation UpdateLibraryItem for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The requested resource could not be found. +// +// - AccessDeniedException +// The client is not authorized to perform the requested operation. +// +// - ValidationException +// The input failed to satisfy the constraints specified by the service. +// +// - InternalServerException +// An internal service error occurred while processing the request. +// +// - UnauthorizedException +// The client is not authenticated or authorized to perform the requested operation. +// +// - ThrottlingException +// The requested operation could not be completed because too many requests +// were sent at once. Wait a bit and try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/UpdateLibraryItem +func (c *QApps) UpdateLibraryItem(input *UpdateLibraryItemInput) (*UpdateLibraryItemOutput, error) { + req, out := c.UpdateLibraryItemRequest(input) + return out, req.Send() +} + +// UpdateLibraryItemWithContext is the same as UpdateLibraryItem with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateLibraryItem for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QApps) UpdateLibraryItemWithContext(ctx aws.Context, input *UpdateLibraryItemInput, opts ...request.Option) (*UpdateLibraryItemOutput, error) { + req, out := c.UpdateLibraryItemRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateQApp = "UpdateQApp" + +// UpdateQAppRequest generates a "aws/request.Request" representing the +// client's request for the UpdateQApp operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateQApp for more information on using the UpdateQApp +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateQAppRequest method. +// req, resp := client.UpdateQAppRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/UpdateQApp +func (c *QApps) UpdateQAppRequest(input *UpdateQAppInput) (req *request.Request, output *UpdateQAppOutput) { + op := &request.Operation{ + Name: opUpdateQApp, + HTTPMethod: "POST", + HTTPPath: "/apps.update", + } + + if input == nil { + input = &UpdateQAppInput{} + } + + output = &UpdateQAppOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateQApp API operation for QApps. +// +// Updates an existing Amazon Q App, allowing modifications to its title, description, +// and definition. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for QApps's +// API operation UpdateQApp for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The requested resource could not be found. +// +// - AccessDeniedException +// The client is not authorized to perform the requested operation. +// +// - ValidationException +// The input failed to satisfy the constraints specified by the service. +// +// - InternalServerException +// An internal service error occurred while processing the request. +// +// - UnauthorizedException +// The client is not authenticated or authorized to perform the requested operation. +// +// - ContentTooLargeException +// The requested operation could not be completed because the content exceeds +// the maximum allowed size. +// +// - ThrottlingException +// The requested operation could not be completed because too many requests +// were sent at once. Wait a bit and try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/UpdateQApp +func (c *QApps) UpdateQApp(input *UpdateQAppInput) (*UpdateQAppOutput, error) { + req, out := c.UpdateQAppRequest(input) + return out, req.Send() +} + +// UpdateQAppWithContext is the same as UpdateQApp with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateQApp for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QApps) UpdateQAppWithContext(ctx aws.Context, input *UpdateQAppInput, opts ...request.Option) (*UpdateQAppOutput, error) { + req, out := c.UpdateQAppRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateQAppSession = "UpdateQAppSession" + +// UpdateQAppSessionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateQAppSession operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateQAppSession for more information on using the UpdateQAppSession +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateQAppSessionRequest method. +// req, resp := client.UpdateQAppSessionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/UpdateQAppSession +func (c *QApps) UpdateQAppSessionRequest(input *UpdateQAppSessionInput) (req *request.Request, output *UpdateQAppSessionOutput) { + op := &request.Operation{ + Name: opUpdateQAppSession, + HTTPMethod: "POST", + HTTPPath: "/runtime.updateQAppSession", + } + + if input == nil { + input = &UpdateQAppSessionInput{} + } + + output = &UpdateQAppSessionOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateQAppSession API operation for QApps. +// +// Updates the session for a given Q App sessionId. This is only valid when +// at least one card of the session is in the WAITING state. Data for each WAITING +// card can be provided as input. If inputs are not provided, the call will +// be accepted but session will not move forward. Inputs for cards that are +// not in the WAITING status will be 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 QApps's +// API operation UpdateQAppSession for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The requested resource could not be found. +// +// - AccessDeniedException +// The client is not authorized to perform the requested operation. +// +// - ValidationException +// The input failed to satisfy the constraints specified by the service. +// +// - InternalServerException +// An internal service error occurred while processing the request. +// +// - UnauthorizedException +// The client is not authenticated or authorized to perform the requested operation. +// +// - ServiceQuotaExceededException +// The requested operation could not be completed because it would exceed the +// service's quota or limit. +// +// - ThrottlingException +// The requested operation could not be completed because too many requests +// were sent at once. Wait a bit and try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27/UpdateQAppSession +func (c *QApps) UpdateQAppSession(input *UpdateQAppSessionInput) (*UpdateQAppSessionOutput, error) { + req, out := c.UpdateQAppSessionRequest(input) + return out, req.Send() +} + +// UpdateQAppSessionWithContext is the same as UpdateQAppSession with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateQAppSession for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QApps) UpdateQAppSessionWithContext(ctx aws.Context, input *UpdateQAppSessionInput, opts ...request.Option) (*UpdateQAppSessionOutput, error) { + req, out := c.UpdateQAppSessionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// The client is not authorized to perform the requested operation. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The definition of the Q App, specifying the cards and flow. +type AppDefinition struct { + _ struct{} `type:"structure"` + + // The version of the app definition schema or specification. + // + // AppDefinitionVersion is a required field + AppDefinitionVersion *string `locationName:"appDefinitionVersion" type:"string" required:"true"` + + // A flag indicating whether the Q App's definition can be edited by the user. + CanEdit *bool `locationName:"canEdit" type:"boolean"` + + // The cards that make up the Q App, such as text input, file upload, or query + // cards. + // + // Cards is a required field + Cards []*Card `locationName:"cards" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AppDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AppDefinition) GoString() string { + return s.String() +} + +// SetAppDefinitionVersion sets the AppDefinitionVersion field's value. +func (s *AppDefinition) SetAppDefinitionVersion(v string) *AppDefinition { + s.AppDefinitionVersion = &v + return s +} + +// SetCanEdit sets the CanEdit field's value. +func (s *AppDefinition) SetCanEdit(v bool) *AppDefinition { + s.CanEdit = &v + return s +} + +// SetCards sets the Cards field's value. +func (s *AppDefinition) SetCards(v []*Card) *AppDefinition { + s.Cards = v + return s +} + +// The input for defining an Q App. +type AppDefinitionInput_ struct { + _ struct{} `type:"structure"` + + // The cards that make up the Q App definition. + // + // Cards is a required field + Cards []*CardInput_ `locationName:"cards" type:"list" required:"true"` + + // The initial prompt displayed when the Q App is started. + InitialPrompt *string `locationName:"initialPrompt" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AppDefinitionInput_) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AppDefinitionInput_) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AppDefinitionInput_) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AppDefinitionInput_"} + if s.Cards == nil { + invalidParams.Add(request.NewErrParamRequired("Cards")) + } + if s.Cards != nil { + for i, v := range s.Cards { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Cards", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCards sets the Cards field's value. +func (s *AppDefinitionInput_) SetCards(v []*CardInput_) *AppDefinitionInput_ { + s.Cards = v + return s +} + +// SetInitialPrompt sets the InitialPrompt field's value. +func (s *AppDefinitionInput_) SetInitialPrompt(v string) *AppDefinitionInput_ { + s.InitialPrompt = &v + return s +} + +type AssociateLibraryItemReviewInput struct { + _ struct{} `type:"structure"` + + // The unique identifier for the Amazon Q Business application environment instance. + // + // InstanceId is a required field + InstanceId *string `location:"header" locationName:"instance-id" type:"string" required:"true"` + + // The unique identifier of the library item to associate the review with. + // + // LibraryItemId is a required field + LibraryItemId *string `locationName:"libraryItemId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateLibraryItemReviewInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateLibraryItemReviewInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateLibraryItemReviewInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateLibraryItemReviewInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.LibraryItemId == nil { + invalidParams.Add(request.NewErrParamRequired("LibraryItemId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *AssociateLibraryItemReviewInput) SetInstanceId(v string) *AssociateLibraryItemReviewInput { + s.InstanceId = &v + return s +} + +// SetLibraryItemId sets the LibraryItemId field's value. +func (s *AssociateLibraryItemReviewInput) SetLibraryItemId(v string) *AssociateLibraryItemReviewInput { + s.LibraryItemId = &v + return s +} + +type AssociateLibraryItemReviewOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateLibraryItemReviewOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateLibraryItemReviewOutput) GoString() string { + return s.String() +} + +type AssociateQAppWithUserInput struct { + _ struct{} `type:"structure"` + + // The ID of the Amazon Q App to associate with the user. + // + // AppId is a required field + AppId *string `locationName:"appId" type:"string" required:"true"` + + // The unique identifier of the Amazon Q Business application environment instance. + // + // InstanceId is a required field + InstanceId *string `location:"header" locationName:"instance-id" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateQAppWithUserInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateQAppWithUserInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateQAppWithUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateQAppWithUserInput"} + if s.AppId == nil { + invalidParams.Add(request.NewErrParamRequired("AppId")) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAppId sets the AppId field's value. +func (s *AssociateQAppWithUserInput) SetAppId(v string) *AssociateQAppWithUserInput { + s.AppId = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *AssociateQAppWithUserInput) SetInstanceId(v string) *AssociateQAppWithUserInput { + s.InstanceId = &v + return s +} + +type AssociateQAppWithUserOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateQAppWithUserOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateQAppWithUserOutput) GoString() string { + return s.String() +} + +// The filter criteria used on responses based on document attributes or metadata +// fields. +type AttributeFilter struct { + _ struct{} `type:"structure"` + + // Performs a logical AND operation on all supplied filters. + AndAllFilters []*AttributeFilter `locationName:"andAllFilters" type:"list"` + + // Returns true when a document contains all the specified document attributes + // or metadata fields. Supported for the following document attribute value + // types (https://docs.aws.amazon.com/amazonq/latest/api-reference/API_DocumentAttributeValue.html): + // stringListValue. + ContainsAll *DocumentAttribute `locationName:"containsAll" type:"structure"` + + // Returns true when a document contains any of the specified document attributes + // or metadata fields. Supported for the following document attribute value + // types (https://docs.aws.amazon.com/amazonq/latest/api-reference/API_DocumentAttributeValue.html): + // stringListValue. + ContainsAny *DocumentAttribute `locationName:"containsAny" type:"structure"` + + // Performs an equals operation on two document attributes or metadata fields. + // Supported for the following document attribute value types (https://docs.aws.amazon.com/amazonq/latest/api-reference/API_DocumentAttributeValue.html): + // dateValue, longValue, stringListValue and stringValue. + EqualsTo *DocumentAttribute `locationName:"equalsTo" type:"structure"` + + // Performs a greater than operation on two document attributes or metadata + // fields. Supported for the following document attribute value types (https://docs.aws.amazon.com/amazonq/latest/api-reference/API_DocumentAttributeValue.html): + // dateValue and longValue. + GreaterThan *DocumentAttribute `locationName:"greaterThan" type:"structure"` + + // Performs a greater than or equals operation on two document attributes or + // metadata fields. Supported for the following document attribute value types + // (https://docs.aws.amazon.com/amazonq/latest/api-reference/API_DocumentAttributeValue.html): + // dateValue and longValue. + GreaterThanOrEquals *DocumentAttribute `locationName:"greaterThanOrEquals" type:"structure"` + + // Performs a less than operation on two document attributes or metadata fields. + // Supported for the following document attribute value types (https://docs.aws.amazon.com/amazonq/latest/api-reference/API_DocumentAttributeValue.html): + // dateValue and longValue. + LessThan *DocumentAttribute `locationName:"lessThan" type:"structure"` + + // Performs a less than or equals operation on two document attributes or metadata + // fields.Supported for the following document attribute value type (https://docs.aws.amazon.com/amazonq/latest/api-reference/API_DocumentAttributeValue.html): + // dateValue and longValue. + LessThanOrEquals *DocumentAttribute `locationName:"lessThanOrEquals" type:"structure"` + + // Performs a logical NOT operation on all supplied filters. + NotFilter *AttributeFilter `locationName:"notFilter" type:"structure"` + + // Performs a logical OR operation on all supplied filters. + OrAllFilters []*AttributeFilter `locationName:"orAllFilters" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AttributeFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AttributeFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AttributeFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AttributeFilter"} + if s.ContainsAll != nil { + if err := s.ContainsAll.Validate(); err != nil { + invalidParams.AddNested("ContainsAll", err.(request.ErrInvalidParams)) + } + } + if s.ContainsAny != nil { + if err := s.ContainsAny.Validate(); err != nil { + invalidParams.AddNested("ContainsAny", err.(request.ErrInvalidParams)) + } + } + if s.EqualsTo != nil { + if err := s.EqualsTo.Validate(); err != nil { + invalidParams.AddNested("EqualsTo", err.(request.ErrInvalidParams)) + } + } + if s.GreaterThan != nil { + if err := s.GreaterThan.Validate(); err != nil { + invalidParams.AddNested("GreaterThan", err.(request.ErrInvalidParams)) + } + } + if s.GreaterThanOrEquals != nil { + if err := s.GreaterThanOrEquals.Validate(); err != nil { + invalidParams.AddNested("GreaterThanOrEquals", err.(request.ErrInvalidParams)) + } + } + if s.LessThan != nil { + if err := s.LessThan.Validate(); err != nil { + invalidParams.AddNested("LessThan", err.(request.ErrInvalidParams)) + } + } + if s.LessThanOrEquals != nil { + if err := s.LessThanOrEquals.Validate(); err != nil { + invalidParams.AddNested("LessThanOrEquals", err.(request.ErrInvalidParams)) + } + } + if s.NotFilter != nil { + if err := s.NotFilter.Validate(); err != nil { + invalidParams.AddNested("NotFilter", err.(request.ErrInvalidParams)) + } + } + if s.OrAllFilters != nil { + for i, v := range s.OrAllFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OrAllFilters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAndAllFilters sets the AndAllFilters field's value. +func (s *AttributeFilter) SetAndAllFilters(v []*AttributeFilter) *AttributeFilter { + s.AndAllFilters = v + return s +} + +// SetContainsAll sets the ContainsAll field's value. +func (s *AttributeFilter) SetContainsAll(v *DocumentAttribute) *AttributeFilter { + s.ContainsAll = v + return s +} + +// SetContainsAny sets the ContainsAny field's value. +func (s *AttributeFilter) SetContainsAny(v *DocumentAttribute) *AttributeFilter { + s.ContainsAny = v + return s +} + +// SetEqualsTo sets the EqualsTo field's value. +func (s *AttributeFilter) SetEqualsTo(v *DocumentAttribute) *AttributeFilter { + s.EqualsTo = v + return s +} + +// SetGreaterThan sets the GreaterThan field's value. +func (s *AttributeFilter) SetGreaterThan(v *DocumentAttribute) *AttributeFilter { + s.GreaterThan = v + return s +} + +// SetGreaterThanOrEquals sets the GreaterThanOrEquals field's value. +func (s *AttributeFilter) SetGreaterThanOrEquals(v *DocumentAttribute) *AttributeFilter { + s.GreaterThanOrEquals = v + return s +} + +// SetLessThan sets the LessThan field's value. +func (s *AttributeFilter) SetLessThan(v *DocumentAttribute) *AttributeFilter { + s.LessThan = v + return s +} + +// SetLessThanOrEquals sets the LessThanOrEquals field's value. +func (s *AttributeFilter) SetLessThanOrEquals(v *DocumentAttribute) *AttributeFilter { + s.LessThanOrEquals = v + return s +} + +// SetNotFilter sets the NotFilter field's value. +func (s *AttributeFilter) SetNotFilter(v *AttributeFilter) *AttributeFilter { + s.NotFilter = v + return s +} + +// SetOrAllFilters sets the OrAllFilters field's value. +func (s *AttributeFilter) SetOrAllFilters(v []*AttributeFilter) *AttributeFilter { + s.OrAllFilters = v + return s +} + +// A card representing a component or step in an Amazon Q App's flow. +type Card struct { + _ struct{} `type:"structure"` + + // A container for the properties of the file upload card. + FileUpload *FileUploadCard `locationName:"fileUpload" type:"structure"` + + // A container for the properties of the plugin card. + QPlugin *QPluginCard `locationName:"qPlugin" type:"structure"` + + // A container for the properties of the query card. + QQuery *QQueryCard `locationName:"qQuery" type:"structure"` + + // A container for the properties of the text input card. + TextInput *TextInputCard `locationName:"textInput" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Card) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Card) GoString() string { + return s.String() +} + +// SetFileUpload sets the FileUpload field's value. +func (s *Card) SetFileUpload(v *FileUploadCard) *Card { + s.FileUpload = v + return s +} + +// SetQPlugin sets the QPlugin field's value. +func (s *Card) SetQPlugin(v *QPluginCard) *Card { + s.QPlugin = v + return s +} + +// SetQQuery sets the QQuery field's value. +func (s *Card) SetQQuery(v *QQueryCard) *Card { + s.QQuery = v + return s +} + +// SetTextInput sets the TextInput field's value. +func (s *Card) SetTextInput(v *TextInputCard) *Card { + s.TextInput = v + return s +} + +// The properties defining an input card in an Amazon Q App. +type CardInput_ struct { + _ struct{} `type:"structure"` + + // A container for the properties of the file upload input card. + FileUpload *FileUploadCardInput_ `locationName:"fileUpload" type:"structure"` + + // A container for the properties of the plugin input card. + QPlugin *QPluginCardInput_ `locationName:"qPlugin" type:"structure"` + + // A container for the properties of the query input card. + QQuery *QQueryCardInput_ `locationName:"qQuery" type:"structure"` + + // A container for the properties of the text input card. + TextInput *TextInputCardInput_ `locationName:"textInput" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CardInput_) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CardInput_) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CardInput_) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CardInput_"} + if s.FileUpload != nil { + if err := s.FileUpload.Validate(); err != nil { + invalidParams.AddNested("FileUpload", err.(request.ErrInvalidParams)) + } + } + if s.QPlugin != nil { + if err := s.QPlugin.Validate(); err != nil { + invalidParams.AddNested("QPlugin", err.(request.ErrInvalidParams)) + } + } + if s.QQuery != nil { + if err := s.QQuery.Validate(); err != nil { + invalidParams.AddNested("QQuery", err.(request.ErrInvalidParams)) + } + } + if s.TextInput != nil { + if err := s.TextInput.Validate(); err != nil { + invalidParams.AddNested("TextInput", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFileUpload sets the FileUpload field's value. +func (s *CardInput_) SetFileUpload(v *FileUploadCardInput_) *CardInput_ { + s.FileUpload = v + return s +} + +// SetQPlugin sets the QPlugin field's value. +func (s *CardInput_) SetQPlugin(v *QPluginCardInput_) *CardInput_ { + s.QPlugin = v + return s +} + +// SetQQuery sets the QQuery field's value. +func (s *CardInput_) SetQQuery(v *QQueryCardInput_) *CardInput_ { + s.QQuery = v + return s +} + +// SetTextInput sets the TextInput field's value. +func (s *CardInput_) SetTextInput(v *TextInputCardInput_) *CardInput_ { + s.TextInput = v + return s +} + +// The current status and value of a card in an active Amazon Q App session. +type CardStatus struct { + _ struct{} `type:"structure"` + + // The current state of the card. + // + // CurrentState is a required field + CurrentState *string `locationName:"currentState" type:"string" required:"true" enum:"ExecutionStatus"` + + // The current value or result associated with the card. + // + // CurrentValue is a required field + CurrentValue *string `locationName:"currentValue" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CardStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CardStatus) GoString() string { + return s.String() +} + +// SetCurrentState sets the CurrentState field's value. +func (s *CardStatus) SetCurrentState(v string) *CardStatus { + s.CurrentState = &v + return s +} + +// SetCurrentValue sets the CurrentValue field's value. +func (s *CardStatus) SetCurrentValue(v string) *CardStatus { + s.CurrentValue = &v + return s +} + +// The value or result associated with a card in a Amazon Q App session. +type CardValue struct { + _ struct{} `type:"structure"` + + // The unique identifier of the card. + // + // CardId is a required field + CardId *string `locationName:"cardId" type:"string" required:"true"` + + // The value or result associated with the card. + // + // Value is a required field + Value *string `locationName:"value" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CardValue) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CardValue) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CardValue) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CardValue"} + if s.CardId == nil { + invalidParams.Add(request.NewErrParamRequired("CardId")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCardId sets the CardId field's value. +func (s *CardValue) SetCardId(v string) *CardValue { + s.CardId = &v + return s +} + +// SetValue sets the Value field's value. +func (s *CardValue) SetValue(v string) *CardValue { + s.Value = &v + return s +} + +// A category used to classify and filter library items for Amazon Q Apps. +type Category struct { + _ struct{} `type:"structure"` + + // The unique identifier of the category. + // + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // The title or name of the category. + // + // Title is a required field + Title *string `locationName:"title" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Category) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Category) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *Category) SetId(v string) *Category { + s.Id = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *Category) SetTitle(v string) *Category { + s.Title = &v + return s +} + +// The requested operation could not be completed due to a conflict with the +// current state of the resource. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // The unique identifier of the resource + // + // ResourceId is a required field + ResourceId *string `locationName:"resourceId" type:"string" required:"true"` + + // The type of the resource + // + // ResourceType is a required field + ResourceType *string `locationName:"resourceType" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The requested operation could not be completed because the content exceeds +// the maximum allowed size. +type ContentTooLargeException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // The unique identifier of the resource + // + // ResourceId is a required field + ResourceId *string `locationName:"resourceId" type:"string" required:"true"` + + // The type of the resource + // + // ResourceType is a required field + ResourceType *string `locationName:"resourceType" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContentTooLargeException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContentTooLargeException) GoString() string { + return s.String() +} + +func newErrorContentTooLargeException(v protocol.ResponseMetadata) error { + return &ContentTooLargeException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ContentTooLargeException) Code() string { + return "ContentTooLargeException" +} + +// Message returns the exception's message. +func (s *ContentTooLargeException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ContentTooLargeException) OrigErr() error { + return nil +} + +func (s *ContentTooLargeException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ContentTooLargeException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ContentTooLargeException) RequestID() string { + return s.RespMetadata.RequestID +} + +// A message in a conversation, used as input for generating an Amazon Q App +// definition. +type ConversationMessage struct { + _ struct{} `type:"structure"` + + // The text content of the conversation message. + // + // Body is a required field + Body *string `locationName:"body" type:"string" required:"true"` + + // The type of the conversation message. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"Sender"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConversationMessage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConversationMessage) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ConversationMessage) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ConversationMessage"} + if s.Body == nil { + invalidParams.Add(request.NewErrParamRequired("Body")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBody sets the Body field's value. +func (s *ConversationMessage) SetBody(v string) *ConversationMessage { + s.Body = &v + return s +} + +// SetType sets the Type field's value. +func (s *ConversationMessage) SetType(v string) *ConversationMessage { + s.Type = &v + return s +} + +type CreateLibraryItemInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the Amazon Q App to publish to the library. + // + // AppId is a required field + AppId *string `locationName:"appId" type:"string" required:"true"` + + // The version of the Amazon Q App to publish to the library. + // + // AppVersion is a required field + AppVersion *int64 `locationName:"appVersion" type:"integer" required:"true"` + + // The categories to associate with the library item for easier discovery. + // + // Categories is a required field + Categories []*string `locationName:"categories" type:"list" required:"true"` + + // The unique identifier of the Amazon Q Business application environment instance. + // + // InstanceId is a required field + InstanceId *string `location:"header" locationName:"instance-id" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateLibraryItemInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateLibraryItemInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateLibraryItemInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLibraryItemInput"} + if s.AppId == nil { + invalidParams.Add(request.NewErrParamRequired("AppId")) + } + if s.AppVersion == nil { + invalidParams.Add(request.NewErrParamRequired("AppVersion")) + } + if s.Categories == nil { + invalidParams.Add(request.NewErrParamRequired("Categories")) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAppId sets the AppId field's value. +func (s *CreateLibraryItemInput) SetAppId(v string) *CreateLibraryItemInput { + s.AppId = &v + return s +} + +// SetAppVersion sets the AppVersion field's value. +func (s *CreateLibraryItemInput) SetAppVersion(v int64) *CreateLibraryItemInput { + s.AppVersion = &v + return s +} + +// SetCategories sets the Categories field's value. +func (s *CreateLibraryItemInput) SetCategories(v []*string) *CreateLibraryItemInput { + s.Categories = v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *CreateLibraryItemInput) SetInstanceId(v string) *CreateLibraryItemInput { + s.InstanceId = &v + return s +} + +type CreateLibraryItemOutput struct { + _ struct{} `type:"structure"` + + // The date and time the library item was created. + // + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The user who created the library item. + // + // CreatedBy is a required field + CreatedBy *string `locationName:"createdBy" type:"string" required:"true"` + + // The unique identifier of the new library item. + // + // LibraryItemId is a required field + LibraryItemId *string `locationName:"libraryItemId" type:"string" required:"true"` + + // The number of ratings the library item has received from users. + // + // RatingCount is a required field + RatingCount *int64 `locationName:"ratingCount" type:"integer" required:"true"` + + // The status of the new library item, such as "Published". + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true"` + + // The date and time the library item was last updated. + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601"` + + // The user who last updated the library item. + UpdatedBy *string `locationName:"updatedBy" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateLibraryItemOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateLibraryItemOutput) GoString() string { + return s.String() +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *CreateLibraryItemOutput) SetCreatedAt(v time.Time) *CreateLibraryItemOutput { + s.CreatedAt = &v + return s +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *CreateLibraryItemOutput) SetCreatedBy(v string) *CreateLibraryItemOutput { + s.CreatedBy = &v + return s +} + +// SetLibraryItemId sets the LibraryItemId field's value. +func (s *CreateLibraryItemOutput) SetLibraryItemId(v string) *CreateLibraryItemOutput { + s.LibraryItemId = &v + return s +} + +// SetRatingCount sets the RatingCount field's value. +func (s *CreateLibraryItemOutput) SetRatingCount(v int64) *CreateLibraryItemOutput { + s.RatingCount = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateLibraryItemOutput) SetStatus(v string) *CreateLibraryItemOutput { + s.Status = &v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *CreateLibraryItemOutput) SetUpdatedAt(v time.Time) *CreateLibraryItemOutput { + s.UpdatedAt = &v + return s +} + +// SetUpdatedBy sets the UpdatedBy field's value. +func (s *CreateLibraryItemOutput) SetUpdatedBy(v string) *CreateLibraryItemOutput { + s.UpdatedBy = &v + return s +} + +type CreateQAppInput struct { + _ struct{} `type:"structure"` + + // The definition of the new Q App, specifying the cards and flow. + // + // AppDefinition is a required field + AppDefinition *AppDefinitionInput_ `locationName:"appDefinition" type:"structure" required:"true"` + + // The description of the new Q App. + Description *string `locationName:"description" type:"string"` + + // The unique identifier of the Amazon Q Business application environment instance. + // + // InstanceId is a required field + InstanceId *string `location:"header" locationName:"instance-id" type:"string" required:"true"` + + // Optional tags to associate with the new Q App. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The title of the new Q App. + // + // Title is a required field + Title *string `locationName:"title" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateQAppInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateQAppInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateQAppInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateQAppInput"} + if s.AppDefinition == nil { + invalidParams.Add(request.NewErrParamRequired("AppDefinition")) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.Title == nil { + invalidParams.Add(request.NewErrParamRequired("Title")) + } + if s.AppDefinition != nil { + if err := s.AppDefinition.Validate(); err != nil { + invalidParams.AddNested("AppDefinition", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAppDefinition sets the AppDefinition field's value. +func (s *CreateQAppInput) SetAppDefinition(v *AppDefinitionInput_) *CreateQAppInput { + s.AppDefinition = v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateQAppInput) SetDescription(v string) *CreateQAppInput { + s.Description = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *CreateQAppInput) SetInstanceId(v string) *CreateQAppInput { + s.InstanceId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateQAppInput) SetTags(v map[string]*string) *CreateQAppInput { + s.Tags = v + return s +} + +// SetTitle sets the Title field's value. +func (s *CreateQAppInput) SetTitle(v string) *CreateQAppInput { + s.Title = &v + return s +} + +type CreateQAppOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the new Q App. + // + // AppArn is a required field + AppArn *string `locationName:"appArn" type:"string" required:"true"` + + // The unique identifier of the new Q App. + // + // AppId is a required field + AppId *string `locationName:"appId" type:"string" required:"true"` + + // The version of the new Q App. + // + // AppVersion is a required field + AppVersion *int64 `locationName:"appVersion" type:"integer" required:"true"` + + // The date and time the Q App was created. + // + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The user who created the Q App. + // + // CreatedBy is a required field + CreatedBy *string `locationName:"createdBy" type:"string" required:"true"` + + // The description of the new Q App. + Description *string `locationName:"description" type:"string"` + + // The initial prompt displayed when the Q App is started. + InitialPrompt *string `locationName:"initialPrompt" type:"string"` + + // The capabilities required to run the Q App, such as file upload or third-party + // integrations. + RequiredCapabilities []*string `locationName:"requiredCapabilities" type:"list" enum:"AppRequiredCapability"` + + // The status of the new Q App, such as "Created". + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"AppStatus"` + + // The title of the new Q App. + // + // Title is a required field + Title *string `locationName:"title" type:"string" required:"true"` + + // The date and time the Q App was last updated. + // + // UpdatedAt is a required field + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The user who last updated the Q App. + // + // UpdatedBy is a required field + UpdatedBy *string `locationName:"updatedBy" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateQAppOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateQAppOutput) GoString() string { + return s.String() +} + +// SetAppArn sets the AppArn field's value. +func (s *CreateQAppOutput) SetAppArn(v string) *CreateQAppOutput { + s.AppArn = &v + return s +} + +// SetAppId sets the AppId field's value. +func (s *CreateQAppOutput) SetAppId(v string) *CreateQAppOutput { + s.AppId = &v + return s +} + +// SetAppVersion sets the AppVersion field's value. +func (s *CreateQAppOutput) SetAppVersion(v int64) *CreateQAppOutput { + s.AppVersion = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *CreateQAppOutput) SetCreatedAt(v time.Time) *CreateQAppOutput { + s.CreatedAt = &v + return s +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *CreateQAppOutput) SetCreatedBy(v string) *CreateQAppOutput { + s.CreatedBy = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateQAppOutput) SetDescription(v string) *CreateQAppOutput { + s.Description = &v + return s +} + +// SetInitialPrompt sets the InitialPrompt field's value. +func (s *CreateQAppOutput) SetInitialPrompt(v string) *CreateQAppOutput { + s.InitialPrompt = &v + return s +} + +// SetRequiredCapabilities sets the RequiredCapabilities field's value. +func (s *CreateQAppOutput) SetRequiredCapabilities(v []*string) *CreateQAppOutput { + s.RequiredCapabilities = v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateQAppOutput) SetStatus(v string) *CreateQAppOutput { + s.Status = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *CreateQAppOutput) SetTitle(v string) *CreateQAppOutput { + s.Title = &v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *CreateQAppOutput) SetUpdatedAt(v time.Time) *CreateQAppOutput { + s.UpdatedAt = &v + return s +} + +// SetUpdatedBy sets the UpdatedBy field's value. +func (s *CreateQAppOutput) SetUpdatedBy(v string) *CreateQAppOutput { + s.UpdatedBy = &v + return s +} + +type DeleteLibraryItemInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the Amazon Q Business application environment instance. + // + // InstanceId is a required field + InstanceId *string `location:"header" locationName:"instance-id" type:"string" required:"true"` + + // The unique identifier of the library item to delete. + // + // LibraryItemId is a required field + LibraryItemId *string `locationName:"libraryItemId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteLibraryItemInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteLibraryItemInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteLibraryItemInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteLibraryItemInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.LibraryItemId == nil { + invalidParams.Add(request.NewErrParamRequired("LibraryItemId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *DeleteLibraryItemInput) SetInstanceId(v string) *DeleteLibraryItemInput { + s.InstanceId = &v + return s +} + +// SetLibraryItemId sets the LibraryItemId field's value. +func (s *DeleteLibraryItemInput) SetLibraryItemId(v string) *DeleteLibraryItemInput { + s.LibraryItemId = &v + return s +} + +type DeleteLibraryItemOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteLibraryItemOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteLibraryItemOutput) GoString() string { + return s.String() +} + +type DeleteQAppInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the Q App to delete. + // + // AppId is a required field + AppId *string `locationName:"appId" type:"string" required:"true"` + + // The unique identifier of the Amazon Q Business application environment instance. + // + // InstanceId is a required field + InstanceId *string `location:"header" locationName:"instance-id" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteQAppInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteQAppInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteQAppInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteQAppInput"} + if s.AppId == nil { + invalidParams.Add(request.NewErrParamRequired("AppId")) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAppId sets the AppId field's value. +func (s *DeleteQAppInput) SetAppId(v string) *DeleteQAppInput { + s.AppId = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *DeleteQAppInput) SetInstanceId(v string) *DeleteQAppInput { + s.InstanceId = &v + return s +} + +type DeleteQAppOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteQAppOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteQAppOutput) GoString() string { + return s.String() +} + +type DisassociateLibraryItemReviewInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the Amazon Q Business application environment instance. + // + // InstanceId is a required field + InstanceId *string `location:"header" locationName:"instance-id" type:"string" required:"true"` + + // The unique identifier of the library item to remove the review from. + // + // LibraryItemId is a required field + LibraryItemId *string `locationName:"libraryItemId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateLibraryItemReviewInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateLibraryItemReviewInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateLibraryItemReviewInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateLibraryItemReviewInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.LibraryItemId == nil { + invalidParams.Add(request.NewErrParamRequired("LibraryItemId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *DisassociateLibraryItemReviewInput) SetInstanceId(v string) *DisassociateLibraryItemReviewInput { + s.InstanceId = &v + return s +} + +// SetLibraryItemId sets the LibraryItemId field's value. +func (s *DisassociateLibraryItemReviewInput) SetLibraryItemId(v string) *DisassociateLibraryItemReviewInput { + s.LibraryItemId = &v + return s +} + +type DisassociateLibraryItemReviewOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateLibraryItemReviewOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateLibraryItemReviewOutput) GoString() string { + return s.String() +} + +type DisassociateQAppFromUserInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the Q App to disassociate from the user. + // + // AppId is a required field + AppId *string `locationName:"appId" type:"string" required:"true"` + + // The unique identifier of the Amazon Q Business application environment instance. + // + // InstanceId is a required field + InstanceId *string `location:"header" locationName:"instance-id" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateQAppFromUserInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateQAppFromUserInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateQAppFromUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateQAppFromUserInput"} + if s.AppId == nil { + invalidParams.Add(request.NewErrParamRequired("AppId")) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAppId sets the AppId field's value. +func (s *DisassociateQAppFromUserInput) SetAppId(v string) *DisassociateQAppFromUserInput { + s.AppId = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *DisassociateQAppFromUserInput) SetInstanceId(v string) *DisassociateQAppFromUserInput { + s.InstanceId = &v + return s +} + +type DisassociateQAppFromUserOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateQAppFromUserOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateQAppFromUserOutput) GoString() string { + return s.String() +} + +// A document attribute or metadata field. +type DocumentAttribute struct { + _ struct{} `type:"structure"` + + // The identifier for the attribute. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The value of the attribute. + // + // Value is a required field + Value *DocumentAttributeValue `locationName:"value" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DocumentAttribute) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DocumentAttribute) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DocumentAttribute) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DocumentAttribute"} + 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.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DocumentAttribute) SetName(v string) *DocumentAttribute { + s.Name = &v + return s +} + +// SetValue sets the Value field's value. +func (s *DocumentAttribute) SetValue(v *DocumentAttributeValue) *DocumentAttribute { + s.Value = v + return s +} + +// The value of a document attribute. You can only provide one value for a document +// attribute. +type DocumentAttributeValue struct { + _ struct{} `type:"structure"` + + // A date expressed as an ISO 8601 string. + // + // It's important for the time zone to be included in the ISO 8601 date-time + // format. For example, 2012-03-25T12:30:10+01:00 is the ISO 8601 date-time + // format for March 25th 2012 at 12:30PM (plus 10 seconds) in Central European + // Time. + DateValue *time.Time `locationName:"dateValue" type:"timestamp"` + + // A long integer value. + LongValue *int64 `locationName:"longValue" type:"long"` + + // A list of strings. + StringListValue []*string `locationName:"stringListValue" type:"list"` + + // A string. + StringValue *string `locationName:"stringValue" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DocumentAttributeValue) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DocumentAttributeValue) GoString() string { + return s.String() +} + +// SetDateValue sets the DateValue field's value. +func (s *DocumentAttributeValue) SetDateValue(v time.Time) *DocumentAttributeValue { + s.DateValue = &v + return s +} + +// SetLongValue sets the LongValue field's value. +func (s *DocumentAttributeValue) SetLongValue(v int64) *DocumentAttributeValue { + s.LongValue = &v + return s +} + +// SetStringListValue sets the StringListValue field's value. +func (s *DocumentAttributeValue) SetStringListValue(v []*string) *DocumentAttributeValue { + s.StringListValue = v + return s +} + +// SetStringValue sets the StringValue field's value. +func (s *DocumentAttributeValue) SetStringValue(v string) *DocumentAttributeValue { + s.StringValue = &v + return s +} + +// A card in an Amazon Q App that allows the user to upload a file. +type FileUploadCard struct { + _ struct{} `type:"structure"` + + // A flag indicating if the user can override the default file for the upload + // card. + AllowOverride *bool `locationName:"allowOverride" type:"boolean"` + + // Any dependencies or requirements for the file upload card. + // + // Dependencies is a required field + Dependencies []*string `locationName:"dependencies" type:"list" required:"true"` + + // The unique identifier of the file associated with the card. + FileId *string `locationName:"fileId" type:"string"` + + // The name of the file being uploaded. + Filename *string `locationName:"filename" type:"string"` + + // The unique identifier of the file upload card. + // + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // The title of the file upload card. + // + // Title is a required field + Title *string `locationName:"title" type:"string" required:"true"` + + // The type of the card. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"CardType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FileUploadCard) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FileUploadCard) GoString() string { + return s.String() +} + +// SetAllowOverride sets the AllowOverride field's value. +func (s *FileUploadCard) SetAllowOverride(v bool) *FileUploadCard { + s.AllowOverride = &v + return s +} + +// SetDependencies sets the Dependencies field's value. +func (s *FileUploadCard) SetDependencies(v []*string) *FileUploadCard { + s.Dependencies = v + return s +} + +// SetFileId sets the FileId field's value. +func (s *FileUploadCard) SetFileId(v string) *FileUploadCard { + s.FileId = &v + return s +} + +// SetFilename sets the Filename field's value. +func (s *FileUploadCard) SetFilename(v string) *FileUploadCard { + s.Filename = &v + return s +} + +// SetId sets the Id field's value. +func (s *FileUploadCard) SetId(v string) *FileUploadCard { + s.Id = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *FileUploadCard) SetTitle(v string) *FileUploadCard { + s.Title = &v + return s +} + +// SetType sets the Type field's value. +func (s *FileUploadCard) SetType(v string) *FileUploadCard { + s.Type = &v + return s +} + +// Represents a file upload card. It can optionally receive a filename and fileId +// to set a default file. If not received, the user must provide the file when +// the Q App runs. +type FileUploadCardInput_ struct { + _ struct{} `type:"structure"` + + // A flag indicating if the user can override the default file for the upload + // card. + AllowOverride *bool `locationName:"allowOverride" type:"boolean"` + + // The identifier of a pre-uploaded file associated with the card. + FileId *string `locationName:"fileId" type:"string"` + + // The default filename to use for the file upload card. + Filename *string `locationName:"filename" type:"string"` + + // The unique identifier of the file upload card. + // + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // The title or label of the file upload card. + // + // Title is a required field + Title *string `locationName:"title" type:"string" required:"true"` + + // The type of the card. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"CardType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FileUploadCardInput_) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FileUploadCardInput_) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FileUploadCardInput_) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FileUploadCardInput_"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Title == nil { + invalidParams.Add(request.NewErrParamRequired("Title")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllowOverride sets the AllowOverride field's value. +func (s *FileUploadCardInput_) SetAllowOverride(v bool) *FileUploadCardInput_ { + s.AllowOverride = &v + return s +} + +// SetFileId sets the FileId field's value. +func (s *FileUploadCardInput_) SetFileId(v string) *FileUploadCardInput_ { + s.FileId = &v + return s +} + +// SetFilename sets the Filename field's value. +func (s *FileUploadCardInput_) SetFilename(v string) *FileUploadCardInput_ { + s.Filename = &v + return s +} + +// SetId sets the Id field's value. +func (s *FileUploadCardInput_) SetId(v string) *FileUploadCardInput_ { + s.Id = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *FileUploadCardInput_) SetTitle(v string) *FileUploadCardInput_ { + s.Title = &v + return s +} + +// SetType sets the Type field's value. +func (s *FileUploadCardInput_) SetType(v string) *FileUploadCardInput_ { + s.Type = &v + return s +} + +type GetLibraryItemInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The unique identifier of the Amazon Q App associated with the library item. + AppId *string `location:"querystring" locationName:"appId" type:"string"` + + // The unique identifier of the Amazon Q Business application environment instance. + // + // InstanceId is a required field + InstanceId *string `location:"header" locationName:"instance-id" type:"string" required:"true"` + + // The unique identifier of the library item to retrieve. + // + // LibraryItemId is a required field + LibraryItemId *string `location:"querystring" locationName:"libraryItemId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetLibraryItemInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetLibraryItemInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetLibraryItemInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetLibraryItemInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.LibraryItemId == nil { + invalidParams.Add(request.NewErrParamRequired("LibraryItemId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAppId sets the AppId field's value. +func (s *GetLibraryItemInput) SetAppId(v string) *GetLibraryItemInput { + s.AppId = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *GetLibraryItemInput) SetInstanceId(v string) *GetLibraryItemInput { + s.InstanceId = &v + return s +} + +// SetLibraryItemId sets the LibraryItemId field's value. +func (s *GetLibraryItemInput) SetLibraryItemId(v string) *GetLibraryItemInput { + s.LibraryItemId = &v + return s +} + +type GetLibraryItemOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the Q App associated with the library item. + // + // AppId is a required field + AppId *string `locationName:"appId" type:"string" required:"true"` + + // The version of the Q App associated with the library item. + // + // AppVersion is a required field + AppVersion *int64 `locationName:"appVersion" type:"integer" required:"true"` + + // The categories associated with the library item for discovery. + // + // Categories is a required field + Categories []*Category `locationName:"categories" type:"list" required:"true"` + + // The date and time the library item was created. + // + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The user who created the library item. + // + // CreatedBy is a required field + CreatedBy *string `locationName:"createdBy" type:"string" required:"true"` + + // Whether the current user has rated the library item. + IsRatedByUser *bool `locationName:"isRatedByUser" type:"boolean"` + + // The unique identifier of the library item. + // + // LibraryItemId is a required field + LibraryItemId *string `locationName:"libraryItemId" type:"string" required:"true"` + + // The number of ratings the library item has received from users. + // + // RatingCount is a required field + RatingCount *int64 `locationName:"ratingCount" type:"integer" required:"true"` + + // The status of the library item, such as "Published". + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true"` + + // The date and time the library item was last updated. + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601"` + + // The user who last updated the library item. + UpdatedBy *string `locationName:"updatedBy" type:"string"` + + // The number of users who have associated the Q App with their account. + UserCount *int64 `locationName:"userCount" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetLibraryItemOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetLibraryItemOutput) GoString() string { + return s.String() +} + +// SetAppId sets the AppId field's value. +func (s *GetLibraryItemOutput) SetAppId(v string) *GetLibraryItemOutput { + s.AppId = &v + return s +} + +// SetAppVersion sets the AppVersion field's value. +func (s *GetLibraryItemOutput) SetAppVersion(v int64) *GetLibraryItemOutput { + s.AppVersion = &v + return s +} + +// SetCategories sets the Categories field's value. +func (s *GetLibraryItemOutput) SetCategories(v []*Category) *GetLibraryItemOutput { + s.Categories = v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *GetLibraryItemOutput) SetCreatedAt(v time.Time) *GetLibraryItemOutput { + s.CreatedAt = &v + return s +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *GetLibraryItemOutput) SetCreatedBy(v string) *GetLibraryItemOutput { + s.CreatedBy = &v + return s +} + +// SetIsRatedByUser sets the IsRatedByUser field's value. +func (s *GetLibraryItemOutput) SetIsRatedByUser(v bool) *GetLibraryItemOutput { + s.IsRatedByUser = &v + return s +} + +// SetLibraryItemId sets the LibraryItemId field's value. +func (s *GetLibraryItemOutput) SetLibraryItemId(v string) *GetLibraryItemOutput { + s.LibraryItemId = &v + return s +} + +// SetRatingCount sets the RatingCount field's value. +func (s *GetLibraryItemOutput) SetRatingCount(v int64) *GetLibraryItemOutput { + s.RatingCount = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetLibraryItemOutput) SetStatus(v string) *GetLibraryItemOutput { + s.Status = &v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *GetLibraryItemOutput) SetUpdatedAt(v time.Time) *GetLibraryItemOutput { + s.UpdatedAt = &v + return s +} + +// SetUpdatedBy sets the UpdatedBy field's value. +func (s *GetLibraryItemOutput) SetUpdatedBy(v string) *GetLibraryItemOutput { + s.UpdatedBy = &v + return s +} + +// SetUserCount sets the UserCount field's value. +func (s *GetLibraryItemOutput) SetUserCount(v int64) *GetLibraryItemOutput { + s.UserCount = &v + return s +} + +type GetQAppInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The unique identifier of the Q App to retrieve. + // + // AppId is a required field + AppId *string `location:"querystring" locationName:"appId" type:"string" required:"true"` + + // The unique identifier of the Amazon Q Business application environment instance. + // + // InstanceId is a required field + InstanceId *string `location:"header" locationName:"instance-id" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetQAppInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetQAppInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetQAppInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetQAppInput"} + if s.AppId == nil { + invalidParams.Add(request.NewErrParamRequired("AppId")) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAppId sets the AppId field's value. +func (s *GetQAppInput) SetAppId(v string) *GetQAppInput { + s.AppId = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *GetQAppInput) SetInstanceId(v string) *GetQAppInput { + s.InstanceId = &v + return s +} + +type GetQAppOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Q App. + // + // AppArn is a required field + AppArn *string `locationName:"appArn" type:"string" required:"true"` + + // The full definition of the Q App, specifying the cards and flow. + // + // AppDefinition is a required field + AppDefinition *AppDefinition `locationName:"appDefinition" type:"structure" required:"true"` + + // The unique identifier of the Q App. + // + // AppId is a required field + AppId *string `locationName:"appId" type:"string" required:"true"` + + // The version of the Q App. + // + // AppVersion is a required field + AppVersion *int64 `locationName:"appVersion" type:"integer" required:"true"` + + // The date and time the Q App was created. + // + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The user who created the Q App. + // + // CreatedBy is a required field + CreatedBy *string `locationName:"createdBy" type:"string" required:"true"` + + // The description of the Q App. + Description *string `locationName:"description" type:"string"` + + // The initial prompt displayed when the Q App is started. + InitialPrompt *string `locationName:"initialPrompt" type:"string"` + + // The capabilities required to run the Q App, such as file upload or third-party + // integrations. + RequiredCapabilities []*string `locationName:"requiredCapabilities" type:"list" enum:"AppRequiredCapability"` + + // The status of the Q App. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"AppStatus"` + + // The title of the Q App. + // + // Title is a required field + Title *string `locationName:"title" type:"string" required:"true"` + + // The date and time the Q App was last updated. + // + // UpdatedAt is a required field + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The user who last updated the Q App. + // + // UpdatedBy is a required field + UpdatedBy *string `locationName:"updatedBy" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetQAppOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetQAppOutput) GoString() string { + return s.String() +} + +// SetAppArn sets the AppArn field's value. +func (s *GetQAppOutput) SetAppArn(v string) *GetQAppOutput { + s.AppArn = &v + return s +} + +// SetAppDefinition sets the AppDefinition field's value. +func (s *GetQAppOutput) SetAppDefinition(v *AppDefinition) *GetQAppOutput { + s.AppDefinition = v + return s +} + +// SetAppId sets the AppId field's value. +func (s *GetQAppOutput) SetAppId(v string) *GetQAppOutput { + s.AppId = &v + return s +} + +// SetAppVersion sets the AppVersion field's value. +func (s *GetQAppOutput) SetAppVersion(v int64) *GetQAppOutput { + s.AppVersion = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *GetQAppOutput) SetCreatedAt(v time.Time) *GetQAppOutput { + s.CreatedAt = &v + return s +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *GetQAppOutput) SetCreatedBy(v string) *GetQAppOutput { + s.CreatedBy = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetQAppOutput) SetDescription(v string) *GetQAppOutput { + s.Description = &v + return s +} + +// SetInitialPrompt sets the InitialPrompt field's value. +func (s *GetQAppOutput) SetInitialPrompt(v string) *GetQAppOutput { + s.InitialPrompt = &v + return s +} + +// SetRequiredCapabilities sets the RequiredCapabilities field's value. +func (s *GetQAppOutput) SetRequiredCapabilities(v []*string) *GetQAppOutput { + s.RequiredCapabilities = v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetQAppOutput) SetStatus(v string) *GetQAppOutput { + s.Status = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *GetQAppOutput) SetTitle(v string) *GetQAppOutput { + s.Title = &v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *GetQAppOutput) SetUpdatedAt(v time.Time) *GetQAppOutput { + s.UpdatedAt = &v + return s +} + +// SetUpdatedBy sets the UpdatedBy field's value. +func (s *GetQAppOutput) SetUpdatedBy(v string) *GetQAppOutput { + s.UpdatedBy = &v + return s +} + +type GetQAppSessionInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The unique identifier of the Amazon Q Business application environment instance. + // + // InstanceId is a required field + InstanceId *string `location:"header" locationName:"instance-id" type:"string" required:"true"` + + // The unique identifier of the Q App session to retrieve. + // + // SessionId is a required field + SessionId *string `location:"querystring" locationName:"sessionId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetQAppSessionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetQAppSessionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetQAppSessionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetQAppSessionInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.SessionId == nil { + invalidParams.Add(request.NewErrParamRequired("SessionId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *GetQAppSessionInput) SetInstanceId(v string) *GetQAppSessionInput { + s.InstanceId = &v + return s +} + +// SetSessionId sets the SessionId field's value. +func (s *GetQAppSessionInput) SetSessionId(v string) *GetQAppSessionInput { + s.SessionId = &v + return s +} + +type GetQAppSessionOutput struct { + _ struct{} `type:"structure"` + + // The current status for each card in the Q App session. + // + // CardStatus is a required field + CardStatus map[string]*CardStatus `locationName:"cardStatus" type:"map" required:"true"` + + // The Amazon Resource Name (ARN) of the Q App session. + // + // SessionArn is a required field + SessionArn *string `locationName:"sessionArn" type:"string" required:"true"` + + // The unique identifier of the Q App session. + // + // SessionId is a required field + SessionId *string `locationName:"sessionId" type:"string" required:"true"` + + // The current status of the Q App session. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"ExecutionStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetQAppSessionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetQAppSessionOutput) GoString() string { + return s.String() +} + +// SetCardStatus sets the CardStatus field's value. +func (s *GetQAppSessionOutput) SetCardStatus(v map[string]*CardStatus) *GetQAppSessionOutput { + s.CardStatus = v + return s +} + +// SetSessionArn sets the SessionArn field's value. +func (s *GetQAppSessionOutput) SetSessionArn(v string) *GetQAppSessionOutput { + s.SessionArn = &v + return s +} + +// SetSessionId sets the SessionId field's value. +func (s *GetQAppSessionOutput) SetSessionId(v string) *GetQAppSessionOutput { + s.SessionId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetQAppSessionOutput) SetStatus(v string) *GetQAppSessionOutput { + s.Status = &v + return s +} + +type ImportDocumentInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the Q App the file is associated with. + // + // AppId is a required field + AppId *string `locationName:"appId" type:"string" required:"true"` + + // The unique identifier of the card the file is associated with, if applicable. + // + // CardId is a required field + CardId *string `locationName:"cardId" type:"string" required:"true"` + + // The base64-encoded contents of the file to upload. + // + // FileContentsBase64 is a required field + FileContentsBase64 *string `locationName:"fileContentsBase64" type:"string" required:"true"` + + // The name of the file being uploaded. + // + // FileName is a required field + FileName *string `locationName:"fileName" type:"string" required:"true"` + + // The unique identifier of the Amazon Q Business application environment instance. + // + // InstanceId is a required field + InstanceId *string `location:"header" locationName:"instance-id" type:"string" required:"true"` + + // Whether the file is associated with an Q App definition or a specific Q App + // session. + // + // Scope is a required field + Scope *string `locationName:"scope" type:"string" required:"true" enum:"DocumentScope"` + + // The unique identifier of the Q App session the file is associated with, if + // applicable. + SessionId *string `locationName:"sessionId" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ImportDocumentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ImportDocumentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ImportDocumentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImportDocumentInput"} + if s.AppId == nil { + invalidParams.Add(request.NewErrParamRequired("AppId")) + } + if s.CardId == nil { + invalidParams.Add(request.NewErrParamRequired("CardId")) + } + if s.FileContentsBase64 == nil { + invalidParams.Add(request.NewErrParamRequired("FileContentsBase64")) + } + if s.FileName == nil { + invalidParams.Add(request.NewErrParamRequired("FileName")) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.Scope == nil { + invalidParams.Add(request.NewErrParamRequired("Scope")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAppId sets the AppId field's value. +func (s *ImportDocumentInput) SetAppId(v string) *ImportDocumentInput { + s.AppId = &v + return s +} + +// SetCardId sets the CardId field's value. +func (s *ImportDocumentInput) SetCardId(v string) *ImportDocumentInput { + s.CardId = &v + return s +} + +// SetFileContentsBase64 sets the FileContentsBase64 field's value. +func (s *ImportDocumentInput) SetFileContentsBase64(v string) *ImportDocumentInput { + s.FileContentsBase64 = &v + return s +} + +// SetFileName sets the FileName field's value. +func (s *ImportDocumentInput) SetFileName(v string) *ImportDocumentInput { + s.FileName = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *ImportDocumentInput) SetInstanceId(v string) *ImportDocumentInput { + s.InstanceId = &v + return s +} + +// SetScope sets the Scope field's value. +func (s *ImportDocumentInput) SetScope(v string) *ImportDocumentInput { + s.Scope = &v + return s +} + +// SetSessionId sets the SessionId field's value. +func (s *ImportDocumentInput) SetSessionId(v string) *ImportDocumentInput { + s.SessionId = &v + return s +} + +type ImportDocumentOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier assigned to the uploaded file. + FileId *string `locationName:"fileId" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ImportDocumentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ImportDocumentOutput) GoString() string { + return s.String() +} + +// SetFileId sets the FileId field's value. +func (s *ImportDocumentOutput) SetFileId(v string) *ImportDocumentOutput { + s.FileId = &v + return s +} + +// An internal service error occurred while processing the request. +type InternalServerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // The number of seconds to wait before retrying the operation + RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) GoString() string { + return s.String() +} + +func newErrorInternalServerException(v protocol.ResponseMetadata) error { + return &InternalServerException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InternalServerException) Code() string { + return "InternalServerException" +} + +// Message returns the exception's message. +func (s *InternalServerException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServerException) OrigErr() error { + return nil +} + +func (s *InternalServerException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InternalServerException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InternalServerException) RequestID() string { + return s.RespMetadata.RequestID +} + +// A library item is a snapshot of an Amazon Q App that can be published so +// the users in their Amazon Q Apps library can discover it, clone it, and run +// it. +type LibraryItemMember struct { + _ struct{} `type:"structure"` + + // The unique identifier of the Q App associated with the library item. + // + // AppId is a required field + AppId *string `locationName:"appId" type:"string" required:"true"` + + // The version of the Q App associated with the library item. + // + // AppVersion is a required field + AppVersion *int64 `locationName:"appVersion" type:"integer" required:"true"` + + // The categories associated with the library item. + // + // Categories is a required field + Categories []*Category `locationName:"categories" type:"list" required:"true"` + + // The date and time the library item was created. + // + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The user who created the library item. + // + // CreatedBy is a required field + CreatedBy *string `locationName:"createdBy" type:"string" required:"true"` + + // Whether the current user has rated the library item. + IsRatedByUser *bool `locationName:"isRatedByUser" type:"boolean"` + + // The unique identifier of the library item. + // + // LibraryItemId is a required field + LibraryItemId *string `locationName:"libraryItemId" type:"string" required:"true"` + + // The number of ratings the library item has received. + // + // RatingCount is a required field + RatingCount *int64 `locationName:"ratingCount" type:"integer" required:"true"` + + // The status of the library item. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true"` + + // The date and time the library item was last updated. + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601"` + + // The user who last updated the library item. + UpdatedBy *string `locationName:"updatedBy" type:"string"` + + // The number of users who have the associated Q App. + UserCount *int64 `locationName:"userCount" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LibraryItemMember) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LibraryItemMember) GoString() string { + return s.String() +} + +// SetAppId sets the AppId field's value. +func (s *LibraryItemMember) SetAppId(v string) *LibraryItemMember { + s.AppId = &v + return s +} + +// SetAppVersion sets the AppVersion field's value. +func (s *LibraryItemMember) SetAppVersion(v int64) *LibraryItemMember { + s.AppVersion = &v + return s +} + +// SetCategories sets the Categories field's value. +func (s *LibraryItemMember) SetCategories(v []*Category) *LibraryItemMember { + s.Categories = v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *LibraryItemMember) SetCreatedAt(v time.Time) *LibraryItemMember { + s.CreatedAt = &v + return s +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *LibraryItemMember) SetCreatedBy(v string) *LibraryItemMember { + s.CreatedBy = &v + return s +} + +// SetIsRatedByUser sets the IsRatedByUser field's value. +func (s *LibraryItemMember) SetIsRatedByUser(v bool) *LibraryItemMember { + s.IsRatedByUser = &v + return s +} + +// SetLibraryItemId sets the LibraryItemId field's value. +func (s *LibraryItemMember) SetLibraryItemId(v string) *LibraryItemMember { + s.LibraryItemId = &v + return s +} + +// SetRatingCount sets the RatingCount field's value. +func (s *LibraryItemMember) SetRatingCount(v int64) *LibraryItemMember { + s.RatingCount = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *LibraryItemMember) SetStatus(v string) *LibraryItemMember { + s.Status = &v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *LibraryItemMember) SetUpdatedAt(v time.Time) *LibraryItemMember { + s.UpdatedAt = &v + return s +} + +// SetUpdatedBy sets the UpdatedBy field's value. +func (s *LibraryItemMember) SetUpdatedBy(v string) *LibraryItemMember { + s.UpdatedBy = &v + return s +} + +// SetUserCount sets the UserCount field's value. +func (s *LibraryItemMember) SetUserCount(v int64) *LibraryItemMember { + s.UserCount = &v + return s +} + +type ListLibraryItemsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // Optional category to filter the library items by. + CategoryId *string `location:"querystring" locationName:"categoryId" type:"string"` + + // The unique identifier of the Amazon Q Business application environment instance. + // + // InstanceId is a required field + InstanceId *string `location:"header" locationName:"instance-id" type:"string" required:"true"` + + // The maximum number of library items to return in the response. + Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` + + // The token to request the next page of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListLibraryItemsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListLibraryItemsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListLibraryItemsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListLibraryItemsInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCategoryId sets the CategoryId field's value. +func (s *ListLibraryItemsInput) SetCategoryId(v string) *ListLibraryItemsInput { + s.CategoryId = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *ListLibraryItemsInput) SetInstanceId(v string) *ListLibraryItemsInput { + s.InstanceId = &v + return s +} + +// SetLimit sets the Limit field's value. +func (s *ListLibraryItemsInput) SetLimit(v int64) *ListLibraryItemsInput { + s.Limit = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListLibraryItemsInput) SetNextToken(v string) *ListLibraryItemsInput { + s.NextToken = &v + return s +} + +type ListLibraryItemsOutput struct { + _ struct{} `type:"structure"` + + // The list of library items meeting the request criteria. + LibraryItems []*LibraryItemMember `locationName:"libraryItems" type:"list"` + + // The token to use to request the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListLibraryItemsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListLibraryItemsOutput) GoString() string { + return s.String() +} + +// SetLibraryItems sets the LibraryItems field's value. +func (s *ListLibraryItemsOutput) SetLibraryItems(v []*LibraryItemMember) *ListLibraryItemsOutput { + s.LibraryItems = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListLibraryItemsOutput) SetNextToken(v string) *ListLibraryItemsOutput { + s.NextToken = &v + return s +} + +type ListQAppsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The unique identifier of the Amazon Q Business application environment instance. + // + // InstanceId is a required field + InstanceId *string `location:"header" locationName:"instance-id" type:"string" required:"true"` + + // The maximum number of Q Apps to return in the response. + Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` + + // The token to request the next page of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListQAppsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListQAppsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListQAppsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListQAppsInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *ListQAppsInput) SetInstanceId(v string) *ListQAppsInput { + s.InstanceId = &v + return s +} + +// SetLimit sets the Limit field's value. +func (s *ListQAppsInput) SetLimit(v int64) *ListQAppsInput { + s.Limit = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListQAppsInput) SetNextToken(v string) *ListQAppsInput { + s.NextToken = &v + return s +} + +type ListQAppsOutput struct { + _ struct{} `type:"structure"` + + // The list of Amazon Q Apps meeting the request criteria. + // + // Apps is a required field + Apps []*UserAppItem `locationName:"apps" type:"list" required:"true"` + + // The token to use to request the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListQAppsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListQAppsOutput) GoString() string { + return s.String() +} + +// SetApps sets the Apps field's value. +func (s *ListQAppsOutput) SetApps(v []*UserAppItem) *ListQAppsOutput { + s.Apps = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListQAppsOutput) SetNextToken(v string) *ListQAppsOutput { + s.NextToken = &v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) of the resource whose tags should be listed. + // + // ResourceARN is a required field + ResourceARN *string `location:"uri" locationName:"resourceARN" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +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.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput { + s.ResourceARN = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // The list of tags that are assigned to the resource. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +// The definition of an Amazon Q App generated based on input such as a conversation +// or problem statement. +type PredictAppDefinition struct { + _ struct{} `type:"structure"` + + // The definition specifying the cards and flow of the generated Q App. + // + // AppDefinition is a required field + AppDefinition *AppDefinitionInput_ `locationName:"appDefinition" type:"structure" required:"true"` + + // The description of the generated Q App definition. + Description *string `locationName:"description" type:"string"` + + // The title of the generated Q App definition. + // + // Title is a required field + Title *string `locationName:"title" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PredictAppDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PredictAppDefinition) GoString() string { + return s.String() +} + +// SetAppDefinition sets the AppDefinition field's value. +func (s *PredictAppDefinition) SetAppDefinition(v *AppDefinitionInput_) *PredictAppDefinition { + s.AppDefinition = v + return s +} + +// SetDescription sets the Description field's value. +func (s *PredictAppDefinition) SetDescription(v string) *PredictAppDefinition { + s.Description = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *PredictAppDefinition) SetTitle(v string) *PredictAppDefinition { + s.Title = &v + return s +} + +type PredictQAppInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the Amazon Q Business application environment instance. + // + // InstanceId is a required field + InstanceId *string `location:"header" locationName:"instance-id" type:"string" required:"true"` + + // The input to generate the Q App definition from, either a conversation or + // problem statement. + Options *PredictQAppInputOptions `locationName:"options" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PredictQAppInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PredictQAppInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PredictQAppInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PredictQAppInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.Options != nil { + if err := s.Options.Validate(); err != nil { + invalidParams.AddNested("Options", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *PredictQAppInput) SetInstanceId(v string) *PredictQAppInput { + s.InstanceId = &v + return s +} + +// SetOptions sets the Options field's value. +func (s *PredictQAppInput) SetOptions(v *PredictQAppInputOptions) *PredictQAppInput { + s.Options = v + return s +} + +// The input options for generating an Q App definition. +type PredictQAppInputOptions struct { + _ struct{} `type:"structure"` + + // A conversation to use as input for generating the Q App definition. + Conversation []*ConversationMessage `locationName:"conversation" min:"1" type:"list"` + + // A problem statement to use as input for generating the Q App definition. + ProblemStatement *string `locationName:"problemStatement" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PredictQAppInputOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PredictQAppInputOptions) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PredictQAppInputOptions) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PredictQAppInputOptions"} + if s.Conversation != nil && len(s.Conversation) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Conversation", 1)) + } + if s.Conversation != nil { + for i, v := range s.Conversation { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Conversation", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConversation sets the Conversation field's value. +func (s *PredictQAppInputOptions) SetConversation(v []*ConversationMessage) *PredictQAppInputOptions { + s.Conversation = v + return s +} + +// SetProblemStatement sets the ProblemStatement field's value. +func (s *PredictQAppInputOptions) SetProblemStatement(v string) *PredictQAppInputOptions { + s.ProblemStatement = &v + return s +} + +type PredictQAppOutput struct { + _ struct{} `type:"structure"` + + // The generated Q App definition. + // + // App is a required field + App *PredictAppDefinition `locationName:"app" type:"structure" required:"true"` + + // The problem statement extracted from the input conversation, if provided. + // + // ProblemStatement is a required field + ProblemStatement *string `locationName:"problemStatement" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PredictQAppOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PredictQAppOutput) GoString() string { + return s.String() +} + +// SetApp sets the App field's value. +func (s *PredictQAppOutput) SetApp(v *PredictAppDefinition) *PredictQAppOutput { + s.App = v + return s +} + +// SetProblemStatement sets the ProblemStatement field's value. +func (s *PredictQAppOutput) SetProblemStatement(v string) *PredictQAppOutput { + s.ProblemStatement = &v + return s +} + +// A card in an Q App that integrates with a third-party plugin or service. +type QPluginCard struct { + _ struct{} `type:"structure"` + + // Any dependencies or requirements for the plugin card. + // + // Dependencies is a required field + Dependencies []*string `locationName:"dependencies" type:"list" required:"true"` + + // The unique identifier of the plugin card. + // + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // The unique identifier of the plugin used by the card. + // + // PluginId is a required field + PluginId *string `locationName:"pluginId" type:"string" required:"true"` + + // The type or category of the plugin used by the card. + // + // PluginType is a required field + PluginType *string `locationName:"pluginType" type:"string" required:"true" enum:"PluginType"` + + // The prompt or instructions displayed for the plugin card. + // + // Prompt is a required field + Prompt *string `locationName:"prompt" type:"string" required:"true"` + + // The title or label of the plugin card. + // + // Title is a required field + Title *string `locationName:"title" type:"string" required:"true"` + + // The type of the card. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"CardType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QPluginCard) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QPluginCard) GoString() string { + return s.String() +} + +// SetDependencies sets the Dependencies field's value. +func (s *QPluginCard) SetDependencies(v []*string) *QPluginCard { + s.Dependencies = v + return s +} + +// SetId sets the Id field's value. +func (s *QPluginCard) SetId(v string) *QPluginCard { + s.Id = &v + return s +} + +// SetPluginId sets the PluginId field's value. +func (s *QPluginCard) SetPluginId(v string) *QPluginCard { + s.PluginId = &v + return s +} + +// SetPluginType sets the PluginType field's value. +func (s *QPluginCard) SetPluginType(v string) *QPluginCard { + s.PluginType = &v + return s +} + +// SetPrompt sets the Prompt field's value. +func (s *QPluginCard) SetPrompt(v string) *QPluginCard { + s.Prompt = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *QPluginCard) SetTitle(v string) *QPluginCard { + s.Title = &v + return s +} + +// SetType sets the Type field's value. +func (s *QPluginCard) SetType(v string) *QPluginCard { + s.Type = &v + return s +} + +// The input shape for defining a plugin card in an Amazon Q App. +type QPluginCardInput_ struct { + _ struct{} `type:"structure"` + + // The unique identifier of the plugin card. + // + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // The unique identifier of the plugin used by the card. + // + // PluginId is a required field + PluginId *string `locationName:"pluginId" min:"36" type:"string" required:"true"` + + // The prompt or instructions displayed for the plugin card. + // + // Prompt is a required field + Prompt *string `locationName:"prompt" type:"string" required:"true"` + + // The title or label of the plugin card. + // + // Title is a required field + Title *string `locationName:"title" type:"string" required:"true"` + + // The type of the card. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"CardType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QPluginCardInput_) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QPluginCardInput_) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *QPluginCardInput_) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "QPluginCardInput_"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.PluginId == nil { + invalidParams.Add(request.NewErrParamRequired("PluginId")) + } + if s.PluginId != nil && len(*s.PluginId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("PluginId", 36)) + } + if s.Prompt == nil { + invalidParams.Add(request.NewErrParamRequired("Prompt")) + } + if s.Title == nil { + invalidParams.Add(request.NewErrParamRequired("Title")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *QPluginCardInput_) SetId(v string) *QPluginCardInput_ { + s.Id = &v + return s +} + +// SetPluginId sets the PluginId field's value. +func (s *QPluginCardInput_) SetPluginId(v string) *QPluginCardInput_ { + s.PluginId = &v + return s +} + +// SetPrompt sets the Prompt field's value. +func (s *QPluginCardInput_) SetPrompt(v string) *QPluginCardInput_ { + s.Prompt = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *QPluginCardInput_) SetTitle(v string) *QPluginCardInput_ { + s.Title = &v + return s +} + +// SetType sets the Type field's value. +func (s *QPluginCardInput_) SetType(v string) *QPluginCardInput_ { + s.Type = &v + return s +} + +// A card in a Amazon Q App that generates a response based on the Amazon Q +// Business service. +type QQueryCard struct { + _ struct{} `type:"structure"` + + // The Amazon Q Business filters applied in this query card when resolving data + // sources + AttributeFilter *AttributeFilter `locationName:"attributeFilter" type:"structure"` + + // Any dependencies or requirements for the query card. + // + // Dependencies is a required field + Dependencies []*string `locationName:"dependencies" type:"list" required:"true"` + + // The unique identifier of the query card. + // + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // The source or type of output generated by the query card. + // + // OutputSource is a required field + OutputSource *string `locationName:"outputSource" type:"string" required:"true" enum:"CardOutputSource"` + + // The prompt or instructions displayed for the query card. + // + // Prompt is a required field + Prompt *string `locationName:"prompt" type:"string" required:"true"` + + // The title or label of the query card. + // + // Title is a required field + Title *string `locationName:"title" type:"string" required:"true"` + + // The type of the card. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"CardType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QQueryCard) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QQueryCard) GoString() string { + return s.String() +} + +// SetAttributeFilter sets the AttributeFilter field's value. +func (s *QQueryCard) SetAttributeFilter(v *AttributeFilter) *QQueryCard { + s.AttributeFilter = v + return s +} + +// SetDependencies sets the Dependencies field's value. +func (s *QQueryCard) SetDependencies(v []*string) *QQueryCard { + s.Dependencies = v + return s +} + +// SetId sets the Id field's value. +func (s *QQueryCard) SetId(v string) *QQueryCard { + s.Id = &v + return s +} + +// SetOutputSource sets the OutputSource field's value. +func (s *QQueryCard) SetOutputSource(v string) *QQueryCard { + s.OutputSource = &v + return s +} + +// SetPrompt sets the Prompt field's value. +func (s *QQueryCard) SetPrompt(v string) *QQueryCard { + s.Prompt = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *QQueryCard) SetTitle(v string) *QQueryCard { + s.Title = &v + return s +} + +// SetType sets the Type field's value. +func (s *QQueryCard) SetType(v string) *QQueryCard { + s.Type = &v + return s +} + +// The input shape for defining a query card in an Amazon Q App. +type QQueryCardInput_ struct { + _ struct{} `type:"structure"` + + // Turns on filtering of responses based on document attributes or metadata + // fields. + AttributeFilter *AttributeFilter `locationName:"attributeFilter" type:"structure"` + + // The unique identifier of the query card. + // + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // The source or type of output to generate for the query card. + OutputSource *string `locationName:"outputSource" type:"string" enum:"CardOutputSource"` + + // The prompt or instructions displayed for the query card. + // + // Prompt is a required field + Prompt *string `locationName:"prompt" type:"string" required:"true"` + + // The title or label of the query card. + // + // Title is a required field + Title *string `locationName:"title" type:"string" required:"true"` + + // The type of the card. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"CardType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QQueryCardInput_) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QQueryCardInput_) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *QQueryCardInput_) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "QQueryCardInput_"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Prompt == nil { + invalidParams.Add(request.NewErrParamRequired("Prompt")) + } + if s.Title == nil { + invalidParams.Add(request.NewErrParamRequired("Title")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.AttributeFilter != nil { + if err := s.AttributeFilter.Validate(); err != nil { + invalidParams.AddNested("AttributeFilter", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAttributeFilter sets the AttributeFilter field's value. +func (s *QQueryCardInput_) SetAttributeFilter(v *AttributeFilter) *QQueryCardInput_ { + s.AttributeFilter = v + return s +} + +// SetId sets the Id field's value. +func (s *QQueryCardInput_) SetId(v string) *QQueryCardInput_ { + s.Id = &v + return s +} + +// SetOutputSource sets the OutputSource field's value. +func (s *QQueryCardInput_) SetOutputSource(v string) *QQueryCardInput_ { + s.OutputSource = &v + return s +} + +// SetPrompt sets the Prompt field's value. +func (s *QQueryCardInput_) SetPrompt(v string) *QQueryCardInput_ { + s.Prompt = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *QQueryCardInput_) SetTitle(v string) *QQueryCardInput_ { + s.Title = &v + return s +} + +// SetType sets the Type field's value. +func (s *QQueryCardInput_) SetType(v string) *QQueryCardInput_ { + s.Type = &v + return s +} + +// The requested resource could not be found. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // The unique identifier of the resource + // + // ResourceId is a required field + ResourceId *string `locationName:"resourceId" type:"string" required:"true"` + + // The type of the resource + // + // ResourceType is a required field + ResourceType *string `locationName:"resourceType" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) GoString() string { + return s.String() +} + +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" +} + +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil +} + +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The requested operation could not be completed because it would exceed the +// service's quota or limit. +type ServiceQuotaExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // The code of the quota that was exceeded + // + // QuotaCode is a required field + QuotaCode *string `locationName:"quotaCode" type:"string" required:"true"` + + // The unique identifier of the resource + // + // ResourceId is a required field + ResourceId *string `locationName:"resourceId" type:"string" required:"true"` + + // The type of the resource + // + // ResourceType is a required field + ResourceType *string `locationName:"resourceType" type:"string" required:"true"` + + // The code for the service where the quota was exceeded + // + // ServiceCode is a required field + ServiceCode *string `locationName:"serviceCode" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceQuotaExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceQuotaExceededException) GoString() string { + return s.String() +} + +func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { + return &ServiceQuotaExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ServiceQuotaExceededException) Code() string { + return "ServiceQuotaExceededException" +} + +// Message returns the exception's message. +func (s *ServiceQuotaExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ServiceQuotaExceededException) OrigErr() error { + return nil +} + +func (s *ServiceQuotaExceededException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ServiceQuotaExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ServiceQuotaExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +type StartQAppSessionInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the Q App to start a session for. + // + // AppId is a required field + AppId *string `locationName:"appId" type:"string" required:"true"` + + // The version of the Q App to use for the session. + // + // AppVersion is a required field + AppVersion *int64 `locationName:"appVersion" type:"integer" required:"true"` + + // Optional initial input values to provide for the Q App session. + InitialValues []*CardValue `locationName:"initialValues" type:"list"` + + // The unique identifier of the Amazon Q Business application environment instance. + // + // InstanceId is a required field + InstanceId *string `location:"header" locationName:"instance-id" type:"string" required:"true"` + + // Optional tags to associate with the new Q App session. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartQAppSessionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartQAppSessionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartQAppSessionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartQAppSessionInput"} + if s.AppId == nil { + invalidParams.Add(request.NewErrParamRequired("AppId")) + } + if s.AppVersion == nil { + invalidParams.Add(request.NewErrParamRequired("AppVersion")) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InitialValues != nil { + for i, v := range s.InitialValues { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InitialValues", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAppId sets the AppId field's value. +func (s *StartQAppSessionInput) SetAppId(v string) *StartQAppSessionInput { + s.AppId = &v + return s +} + +// SetAppVersion sets the AppVersion field's value. +func (s *StartQAppSessionInput) SetAppVersion(v int64) *StartQAppSessionInput { + s.AppVersion = &v + return s +} + +// SetInitialValues sets the InitialValues field's value. +func (s *StartQAppSessionInput) SetInitialValues(v []*CardValue) *StartQAppSessionInput { + s.InitialValues = v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *StartQAppSessionInput) SetInstanceId(v string) *StartQAppSessionInput { + s.InstanceId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *StartQAppSessionInput) SetTags(v map[string]*string) *StartQAppSessionInput { + s.Tags = v + return s +} + +type StartQAppSessionOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the new Q App session. + // + // SessionArn is a required field + SessionArn *string `locationName:"sessionArn" type:"string" required:"true"` + + // The unique identifier of the new Q App session. + // + // SessionId is a required field + SessionId *string `locationName:"sessionId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartQAppSessionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartQAppSessionOutput) GoString() string { + return s.String() +} + +// SetSessionArn sets the SessionArn field's value. +func (s *StartQAppSessionOutput) SetSessionArn(v string) *StartQAppSessionOutput { + s.SessionArn = &v + return s +} + +// SetSessionId sets the SessionId field's value. +func (s *StartQAppSessionOutput) SetSessionId(v string) *StartQAppSessionOutput { + s.SessionId = &v + return s +} + +type StopQAppSessionInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the Amazon Q Business application environment instance. + // + // InstanceId is a required field + InstanceId *string `location:"header" locationName:"instance-id" type:"string" required:"true"` + + // The unique identifier of the Q App session to stop. + // + // SessionId is a required field + SessionId *string `locationName:"sessionId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopQAppSessionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopQAppSessionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopQAppSessionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopQAppSessionInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.SessionId == nil { + invalidParams.Add(request.NewErrParamRequired("SessionId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *StopQAppSessionInput) SetInstanceId(v string) *StopQAppSessionInput { + s.InstanceId = &v + return s +} + +// SetSessionId sets the SessionId field's value. +func (s *StopQAppSessionInput) SetSessionId(v string) *StopQAppSessionInput { + s.SessionId = &v + return s +} + +type StopQAppSessionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopQAppSessionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopQAppSessionOutput) GoString() string { + return s.String() +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource to tag. + // + // ResourceARN is a required field + ResourceARN *string `location:"uri" locationName:"resourceARN" min:"1" type:"string" required:"true"` + + // The tags to associate with the resource. + // + // Tags is a required field + Tags map[string]*string `locationName:"tags" type:"map" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput { + s.ResourceARN = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) GoString() string { + return s.String() +} + +// A card in an Amazon Q App that allows the user to input text. +type TextInputCard struct { + _ struct{} `type:"structure"` + + // The default value to pre-populate in the text input field. + DefaultValue *string `locationName:"defaultValue" type:"string"` + + // Any dependencies or requirements for the text input card. + // + // Dependencies is a required field + Dependencies []*string `locationName:"dependencies" type:"list" required:"true"` + + // The unique identifier of the text input card. + // + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // The placeholder text to display in the text input field. + Placeholder *string `locationName:"placeholder" type:"string"` + + // The title or label of the text input card. + // + // Title is a required field + Title *string `locationName:"title" type:"string" required:"true"` + + // The type of the card. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"CardType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TextInputCard) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TextInputCard) GoString() string { + return s.String() +} + +// SetDefaultValue sets the DefaultValue field's value. +func (s *TextInputCard) SetDefaultValue(v string) *TextInputCard { + s.DefaultValue = &v + return s +} + +// SetDependencies sets the Dependencies field's value. +func (s *TextInputCard) SetDependencies(v []*string) *TextInputCard { + s.Dependencies = v + return s +} + +// SetId sets the Id field's value. +func (s *TextInputCard) SetId(v string) *TextInputCard { + s.Id = &v + return s +} + +// SetPlaceholder sets the Placeholder field's value. +func (s *TextInputCard) SetPlaceholder(v string) *TextInputCard { + s.Placeholder = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *TextInputCard) SetTitle(v string) *TextInputCard { + s.Title = &v + return s +} + +// SetType sets the Type field's value. +func (s *TextInputCard) SetType(v string) *TextInputCard { + s.Type = &v + return s +} + +// The input shape for defining a text input card in an Amazon Q App. +type TextInputCardInput_ struct { + _ struct{} `type:"structure"` + + // The default value to pre-populate in the text input field. + DefaultValue *string `locationName:"defaultValue" type:"string"` + + // The unique identifier of the text input card. + // + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // The placeholder text to display in the text input field. + Placeholder *string `locationName:"placeholder" type:"string"` + + // The title or label of the text input card. + // + // Title is a required field + Title *string `locationName:"title" type:"string" required:"true"` + + // The type of the card. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"CardType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TextInputCardInput_) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TextInputCardInput_) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TextInputCardInput_) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TextInputCardInput_"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Title == nil { + invalidParams.Add(request.NewErrParamRequired("Title")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDefaultValue sets the DefaultValue field's value. +func (s *TextInputCardInput_) SetDefaultValue(v string) *TextInputCardInput_ { + s.DefaultValue = &v + return s +} + +// SetId sets the Id field's value. +func (s *TextInputCardInput_) SetId(v string) *TextInputCardInput_ { + s.Id = &v + return s +} + +// SetPlaceholder sets the Placeholder field's value. +func (s *TextInputCardInput_) SetPlaceholder(v string) *TextInputCardInput_ { + s.Placeholder = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *TextInputCardInput_) SetTitle(v string) *TextInputCardInput_ { + s.Title = &v + return s +} + +// SetType sets the Type field's value. +func (s *TextInputCardInput_) SetType(v string) *TextInputCardInput_ { + s.Type = &v + return s +} + +// The requested operation could not be completed because too many requests +// were sent at once. Wait a bit and try again later. +type ThrottlingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // The code of the quota that was exceeded + // + // QuotaCode is a required field + QuotaCode *string `locationName:"quotaCode" type:"string" required:"true"` + + // The number of seconds to wait before retrying the operation + RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"` + + // The code for the service where the quota was exceeded + // + // ServiceCode is a required field + ServiceCode *string `locationName:"serviceCode" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottlingException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottlingException) GoString() string { + return s.String() +} + +func newErrorThrottlingException(v protocol.ResponseMetadata) error { + return &ThrottlingException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ThrottlingException) Code() string { + return "ThrottlingException" +} + +// Message returns the exception's message. +func (s *ThrottlingException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ThrottlingException) OrigErr() error { + return nil +} + +func (s *ThrottlingException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ThrottlingException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ThrottlingException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The client is not authenticated or authorized to perform the requested operation. +type UnauthorizedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UnauthorizedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UnauthorizedException) GoString() string { + return s.String() +} + +func newErrorUnauthorizedException(v protocol.ResponseMetadata) error { + return &UnauthorizedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *UnauthorizedException) Code() string { + return "UnauthorizedException" +} + +// Message returns the exception's message. +func (s *UnauthorizedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *UnauthorizedException) OrigErr() error { + return nil +} + +func (s *UnauthorizedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *UnauthorizedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *UnauthorizedException) RequestID() string { + return s.RespMetadata.RequestID +} + +type UntagResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) of the resource to disassociate the tag from. + // + // ResourceARN is a required field + ResourceARN *string `location:"uri" locationName:"resourceARN" min:"1" type:"string" required:"true"` + + // The keys of the tags to disassociate from the resource. + // + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +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.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput { + s.ResourceARN = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateLibraryItemInput struct { + _ struct{} `type:"structure"` + + // The new categories to associate with the library item. + Categories []*string `locationName:"categories" type:"list"` + + // The unique identifier of the Amazon Q Business application environment instance. + // + // InstanceId is a required field + InstanceId *string `location:"header" locationName:"instance-id" type:"string" required:"true"` + + // The unique identifier of the library item to update. + // + // LibraryItemId is a required field + LibraryItemId *string `locationName:"libraryItemId" type:"string" required:"true"` + + // The new status to set for the library item, such as "Published" or "Hidden". + Status *string `locationName:"status" type:"string" enum:"LibraryItemStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateLibraryItemInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateLibraryItemInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateLibraryItemInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateLibraryItemInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.LibraryItemId == nil { + invalidParams.Add(request.NewErrParamRequired("LibraryItemId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCategories sets the Categories field's value. +func (s *UpdateLibraryItemInput) SetCategories(v []*string) *UpdateLibraryItemInput { + s.Categories = v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *UpdateLibraryItemInput) SetInstanceId(v string) *UpdateLibraryItemInput { + s.InstanceId = &v + return s +} + +// SetLibraryItemId sets the LibraryItemId field's value. +func (s *UpdateLibraryItemInput) SetLibraryItemId(v string) *UpdateLibraryItemInput { + s.LibraryItemId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *UpdateLibraryItemInput) SetStatus(v string) *UpdateLibraryItemInput { + s.Status = &v + return s +} + +type UpdateLibraryItemOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the Q App associated with the library item. + // + // AppId is a required field + AppId *string `locationName:"appId" type:"string" required:"true"` + + // The version of the Q App associated with the library item. + // + // AppVersion is a required field + AppVersion *int64 `locationName:"appVersion" type:"integer" required:"true"` + + // The categories associated with the updated library item. + // + // Categories is a required field + Categories []*Category `locationName:"categories" type:"list" required:"true"` + + // The date and time the library item was originally created. + // + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The user who originally created the library item. + // + // CreatedBy is a required field + CreatedBy *string `locationName:"createdBy" type:"string" required:"true"` + + // Whether the current user has rated the library item. + IsRatedByUser *bool `locationName:"isRatedByUser" type:"boolean"` + + // The unique identifier of the updated library item. + // + // LibraryItemId is a required field + LibraryItemId *string `locationName:"libraryItemId" type:"string" required:"true"` + + // The number of ratings the library item has received. + // + // RatingCount is a required field + RatingCount *int64 `locationName:"ratingCount" type:"integer" required:"true"` + + // The new status of the updated library item. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true"` + + // The date and time the library item was last updated. + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601"` + + // The user who last updated the library item. + UpdatedBy *string `locationName:"updatedBy" type:"string"` + + // The number of users who have the associated Q App. + UserCount *int64 `locationName:"userCount" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateLibraryItemOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateLibraryItemOutput) GoString() string { + return s.String() +} + +// SetAppId sets the AppId field's value. +func (s *UpdateLibraryItemOutput) SetAppId(v string) *UpdateLibraryItemOutput { + s.AppId = &v + return s +} + +// SetAppVersion sets the AppVersion field's value. +func (s *UpdateLibraryItemOutput) SetAppVersion(v int64) *UpdateLibraryItemOutput { + s.AppVersion = &v + return s +} + +// SetCategories sets the Categories field's value. +func (s *UpdateLibraryItemOutput) SetCategories(v []*Category) *UpdateLibraryItemOutput { + s.Categories = v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *UpdateLibraryItemOutput) SetCreatedAt(v time.Time) *UpdateLibraryItemOutput { + s.CreatedAt = &v + return s +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *UpdateLibraryItemOutput) SetCreatedBy(v string) *UpdateLibraryItemOutput { + s.CreatedBy = &v + return s +} + +// SetIsRatedByUser sets the IsRatedByUser field's value. +func (s *UpdateLibraryItemOutput) SetIsRatedByUser(v bool) *UpdateLibraryItemOutput { + s.IsRatedByUser = &v + return s +} + +// SetLibraryItemId sets the LibraryItemId field's value. +func (s *UpdateLibraryItemOutput) SetLibraryItemId(v string) *UpdateLibraryItemOutput { + s.LibraryItemId = &v + return s +} + +// SetRatingCount sets the RatingCount field's value. +func (s *UpdateLibraryItemOutput) SetRatingCount(v int64) *UpdateLibraryItemOutput { + s.RatingCount = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *UpdateLibraryItemOutput) SetStatus(v string) *UpdateLibraryItemOutput { + s.Status = &v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *UpdateLibraryItemOutput) SetUpdatedAt(v time.Time) *UpdateLibraryItemOutput { + s.UpdatedAt = &v + return s +} + +// SetUpdatedBy sets the UpdatedBy field's value. +func (s *UpdateLibraryItemOutput) SetUpdatedBy(v string) *UpdateLibraryItemOutput { + s.UpdatedBy = &v + return s +} + +// SetUserCount sets the UserCount field's value. +func (s *UpdateLibraryItemOutput) SetUserCount(v int64) *UpdateLibraryItemOutput { + s.UserCount = &v + return s +} + +type UpdateQAppInput struct { + _ struct{} `type:"structure"` + + // The new definition specifying the cards and flow for the Q App. + AppDefinition *AppDefinitionInput_ `locationName:"appDefinition" type:"structure"` + + // The unique identifier of the Q App to update. + // + // AppId is a required field + AppId *string `locationName:"appId" type:"string" required:"true"` + + // The new description for the Q App. + Description *string `locationName:"description" type:"string"` + + // The unique identifier of the Amazon Q Business application environment instance. + // + // InstanceId is a required field + InstanceId *string `location:"header" locationName:"instance-id" type:"string" required:"true"` + + // The new title for the Q App. + Title *string `locationName:"title" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateQAppInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateQAppInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateQAppInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateQAppInput"} + if s.AppId == nil { + invalidParams.Add(request.NewErrParamRequired("AppId")) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.AppDefinition != nil { + if err := s.AppDefinition.Validate(); err != nil { + invalidParams.AddNested("AppDefinition", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAppDefinition sets the AppDefinition field's value. +func (s *UpdateQAppInput) SetAppDefinition(v *AppDefinitionInput_) *UpdateQAppInput { + s.AppDefinition = v + return s +} + +// SetAppId sets the AppId field's value. +func (s *UpdateQAppInput) SetAppId(v string) *UpdateQAppInput { + s.AppId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateQAppInput) SetDescription(v string) *UpdateQAppInput { + s.Description = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *UpdateQAppInput) SetInstanceId(v string) *UpdateQAppInput { + s.InstanceId = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *UpdateQAppInput) SetTitle(v string) *UpdateQAppInput { + s.Title = &v + return s +} + +type UpdateQAppOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the updated Q App. + // + // AppArn is a required field + AppArn *string `locationName:"appArn" type:"string" required:"true"` + + // The unique identifier of the updated Q App. + // + // AppId is a required field + AppId *string `locationName:"appId" type:"string" required:"true"` + + // The new version of the updated Q App. + // + // AppVersion is a required field + AppVersion *int64 `locationName:"appVersion" type:"integer" required:"true"` + + // The date and time the Q App was originally created. + // + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The user who originally created the Q App. + // + // CreatedBy is a required field + CreatedBy *string `locationName:"createdBy" type:"string" required:"true"` + + // The new description of the updated Q App. + Description *string `locationName:"description" type:"string"` + + // The initial prompt for the updated Q App. + InitialPrompt *string `locationName:"initialPrompt" type:"string"` + + // The capabilities required for the updated Q App. + RequiredCapabilities []*string `locationName:"requiredCapabilities" type:"list" enum:"AppRequiredCapability"` + + // The status of the updated Q App. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"AppStatus"` + + // The new title of the updated Q App. + // + // Title is a required field + Title *string `locationName:"title" type:"string" required:"true"` + + // The date and time the Q App was last updated. + // + // UpdatedAt is a required field + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The user who last updated the Q App. + // + // UpdatedBy is a required field + UpdatedBy *string `locationName:"updatedBy" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateQAppOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateQAppOutput) GoString() string { + return s.String() +} + +// SetAppArn sets the AppArn field's value. +func (s *UpdateQAppOutput) SetAppArn(v string) *UpdateQAppOutput { + s.AppArn = &v + return s +} + +// SetAppId sets the AppId field's value. +func (s *UpdateQAppOutput) SetAppId(v string) *UpdateQAppOutput { + s.AppId = &v + return s +} + +// SetAppVersion sets the AppVersion field's value. +func (s *UpdateQAppOutput) SetAppVersion(v int64) *UpdateQAppOutput { + s.AppVersion = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *UpdateQAppOutput) SetCreatedAt(v time.Time) *UpdateQAppOutput { + s.CreatedAt = &v + return s +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *UpdateQAppOutput) SetCreatedBy(v string) *UpdateQAppOutput { + s.CreatedBy = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateQAppOutput) SetDescription(v string) *UpdateQAppOutput { + s.Description = &v + return s +} + +// SetInitialPrompt sets the InitialPrompt field's value. +func (s *UpdateQAppOutput) SetInitialPrompt(v string) *UpdateQAppOutput { + s.InitialPrompt = &v + return s +} + +// SetRequiredCapabilities sets the RequiredCapabilities field's value. +func (s *UpdateQAppOutput) SetRequiredCapabilities(v []*string) *UpdateQAppOutput { + s.RequiredCapabilities = v + return s +} + +// SetStatus sets the Status field's value. +func (s *UpdateQAppOutput) SetStatus(v string) *UpdateQAppOutput { + s.Status = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *UpdateQAppOutput) SetTitle(v string) *UpdateQAppOutput { + s.Title = &v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *UpdateQAppOutput) SetUpdatedAt(v time.Time) *UpdateQAppOutput { + s.UpdatedAt = &v + return s +} + +// SetUpdatedBy sets the UpdatedBy field's value. +func (s *UpdateQAppOutput) SetUpdatedBy(v string) *UpdateQAppOutput { + s.UpdatedBy = &v + return s +} + +type UpdateQAppSessionInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the Amazon Q Business application environment instance. + // + // InstanceId is a required field + InstanceId *string `location:"header" locationName:"instance-id" type:"string" required:"true"` + + // The unique identifier of the Q App session to provide input for. + // + // SessionId is a required field + SessionId *string `locationName:"sessionId" type:"string" required:"true"` + + // The input values to provide for the current state of the Q App session. + Values []*CardValue `locationName:"values" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateQAppSessionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateQAppSessionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateQAppSessionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateQAppSessionInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.SessionId == nil { + invalidParams.Add(request.NewErrParamRequired("SessionId")) + } + if s.Values != nil { + for i, v := range s.Values { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Values", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *UpdateQAppSessionInput) SetInstanceId(v string) *UpdateQAppSessionInput { + s.InstanceId = &v + return s +} + +// SetSessionId sets the SessionId field's value. +func (s *UpdateQAppSessionInput) SetSessionId(v string) *UpdateQAppSessionInput { + s.SessionId = &v + return s +} + +// SetValues sets the Values field's value. +func (s *UpdateQAppSessionInput) SetValues(v []*CardValue) *UpdateQAppSessionInput { + s.Values = v + return s +} + +type UpdateQAppSessionOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the updated Q App session. + // + // SessionArn is a required field + SessionArn *string `locationName:"sessionArn" type:"string" required:"true"` + + // The unique identifier of the updated Q App session. + // + // SessionId is a required field + SessionId *string `locationName:"sessionId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateQAppSessionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateQAppSessionOutput) GoString() string { + return s.String() +} + +// SetSessionArn sets the SessionArn field's value. +func (s *UpdateQAppSessionOutput) SetSessionArn(v string) *UpdateQAppSessionOutput { + s.SessionArn = &v + return s +} + +// SetSessionId sets the SessionId field's value. +func (s *UpdateQAppSessionOutput) SetSessionId(v string) *UpdateQAppSessionOutput { + s.SessionId = &v + return s +} + +// An Amazon Q App associated with a user, either owned by the user or favorited. +type UserAppItem struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Q App. + // + // AppArn is a required field + AppArn *string `locationName:"appArn" type:"string" required:"true"` + + // The unique identifier of the Q App. + // + // AppId is a required field + AppId *string `locationName:"appId" type:"string" required:"true"` + + // A flag indicating whether the user can edit the Q App. + CanEdit *bool `locationName:"canEdit" type:"boolean"` + + // The date and time the user's association with the Q App was created. + // + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The description of the Q App. + Description *string `locationName:"description" type:"string"` + + // The status of the user's association with the Q App. + Status *string `locationName:"status" type:"string"` + + // The title of the Q App. + // + // Title is a required field + Title *string `locationName:"title" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UserAppItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UserAppItem) GoString() string { + return s.String() +} + +// SetAppArn sets the AppArn field's value. +func (s *UserAppItem) SetAppArn(v string) *UserAppItem { + s.AppArn = &v + return s +} + +// SetAppId sets the AppId field's value. +func (s *UserAppItem) SetAppId(v string) *UserAppItem { + s.AppId = &v + return s +} + +// SetCanEdit sets the CanEdit field's value. +func (s *UserAppItem) SetCanEdit(v bool) *UserAppItem { + s.CanEdit = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *UserAppItem) SetCreatedAt(v time.Time) *UserAppItem { + s.CreatedAt = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UserAppItem) SetDescription(v string) *UserAppItem { + s.Description = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *UserAppItem) SetStatus(v string) *UserAppItem { + s.Status = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *UserAppItem) SetTitle(v string) *UserAppItem { + s.Title = &v + return s +} + +// The input failed to satisfy the constraints specified by the service. +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) GoString() string { + return s.String() +} + +func newErrorValidationException(v protocol.ResponseMetadata) error { + return &ValidationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ValidationException) Code() string { + return "ValidationException" +} + +// Message returns the exception's message. +func (s *ValidationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ValidationException) OrigErr() error { + return nil +} + +func (s *ValidationException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ValidationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ValidationException) RequestID() string { + return s.RespMetadata.RequestID +} + +const ( + // AppRequiredCapabilityFileUpload is a AppRequiredCapability enum value + AppRequiredCapabilityFileUpload = "FileUpload" + + // AppRequiredCapabilityCreatorMode is a AppRequiredCapability enum value + AppRequiredCapabilityCreatorMode = "CreatorMode" + + // AppRequiredCapabilityRetrievalMode is a AppRequiredCapability enum value + AppRequiredCapabilityRetrievalMode = "RetrievalMode" + + // AppRequiredCapabilityPluginMode is a AppRequiredCapability enum value + AppRequiredCapabilityPluginMode = "PluginMode" +) + +// AppRequiredCapability_Values returns all elements of the AppRequiredCapability enum +func AppRequiredCapability_Values() []string { + return []string{ + AppRequiredCapabilityFileUpload, + AppRequiredCapabilityCreatorMode, + AppRequiredCapabilityRetrievalMode, + AppRequiredCapabilityPluginMode, + } +} + +const ( + // AppStatusPublished is a AppStatus enum value + AppStatusPublished = "PUBLISHED" + + // AppStatusDraft is a AppStatus enum value + AppStatusDraft = "DRAFT" + + // AppStatusDeleted is a AppStatus enum value + AppStatusDeleted = "DELETED" +) + +// AppStatus_Values returns all elements of the AppStatus enum +func AppStatus_Values() []string { + return []string{ + AppStatusPublished, + AppStatusDraft, + AppStatusDeleted, + } +} + +const ( + // CardOutputSourceApprovedSources is a CardOutputSource enum value + CardOutputSourceApprovedSources = "approved-sources" + + // CardOutputSourceLlm is a CardOutputSource enum value + CardOutputSourceLlm = "llm" +) + +// CardOutputSource_Values returns all elements of the CardOutputSource enum +func CardOutputSource_Values() []string { + return []string{ + CardOutputSourceApprovedSources, + CardOutputSourceLlm, + } +} + +const ( + // CardTypeTextInput is a CardType enum value + CardTypeTextInput = "text-input" + + // CardTypeQQuery is a CardType enum value + CardTypeQQuery = "q-query" + + // CardTypeFileUpload is a CardType enum value + CardTypeFileUpload = "file-upload" + + // CardTypeQPlugin is a CardType enum value + CardTypeQPlugin = "q-plugin" +) + +// CardType_Values returns all elements of the CardType enum +func CardType_Values() []string { + return []string{ + CardTypeTextInput, + CardTypeQQuery, + CardTypeFileUpload, + CardTypeQPlugin, + } +} + +const ( + // DocumentScopeApplication is a DocumentScope enum value + DocumentScopeApplication = "APPLICATION" + + // DocumentScopeSession is a DocumentScope enum value + DocumentScopeSession = "SESSION" +) + +// DocumentScope_Values returns all elements of the DocumentScope enum +func DocumentScope_Values() []string { + return []string{ + DocumentScopeApplication, + DocumentScopeSession, + } +} + +const ( + // ExecutionStatusInProgress is a ExecutionStatus enum value + ExecutionStatusInProgress = "IN_PROGRESS" + + // ExecutionStatusWaiting is a ExecutionStatus enum value + ExecutionStatusWaiting = "WAITING" + + // ExecutionStatusCompleted is a ExecutionStatus enum value + ExecutionStatusCompleted = "COMPLETED" +) + +// ExecutionStatus_Values returns all elements of the ExecutionStatus enum +func ExecutionStatus_Values() []string { + return []string{ + ExecutionStatusInProgress, + ExecutionStatusWaiting, + ExecutionStatusCompleted, + } +} + +const ( + // LibraryItemStatusPublished is a LibraryItemStatus enum value + LibraryItemStatusPublished = "PUBLISHED" + + // LibraryItemStatusDisabled is a LibraryItemStatus enum value + LibraryItemStatusDisabled = "DISABLED" +) + +// LibraryItemStatus_Values returns all elements of the LibraryItemStatus enum +func LibraryItemStatus_Values() []string { + return []string{ + LibraryItemStatusPublished, + LibraryItemStatusDisabled, + } +} + +const ( + // PluginTypeServiceNow is a PluginType enum value + PluginTypeServiceNow = "SERVICE_NOW" + + // PluginTypeSalesforce is a PluginType enum value + PluginTypeSalesforce = "SALESFORCE" + + // PluginTypeJira is a PluginType enum value + PluginTypeJira = "JIRA" + + // PluginTypeZendesk is a PluginType enum value + PluginTypeZendesk = "ZENDESK" + + // PluginTypeCustom is a PluginType enum value + PluginTypeCustom = "CUSTOM" +) + +// PluginType_Values returns all elements of the PluginType enum +func PluginType_Values() []string { + return []string{ + PluginTypeServiceNow, + PluginTypeSalesforce, + PluginTypeJira, + PluginTypeZendesk, + PluginTypeCustom, + } +} + +const ( + // SenderUser is a Sender enum value + SenderUser = "USER" + + // SenderSystem is a Sender enum value + SenderSystem = "SYSTEM" +) + +// Sender_Values returns all elements of the Sender enum +func Sender_Values() []string { + return []string{ + SenderUser, + SenderSystem, + } +} diff --git a/service/qapps/doc.go b/service/qapps/doc.go new file mode 100644 index 00000000000..154edb988bb --- /dev/null +++ b/service/qapps/doc.go @@ -0,0 +1,36 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package qapps provides the client and types for making API +// requests to QApps. +// +// The Amazon Q Apps feature capability within Amazon Q Business allows web +// experience users to create lightweight, purpose-built AI apps to fulfill +// specific tasks from within their web experience. For example, users can create +// an Q Appthat exclusively generates marketing-related content to improve your +// marketing team's productivity or a Q App for marketing content-generation +// like writing customer emails and creating promotional content using a certain +// style of voice, tone, and branding. For more information, see Amazon Q App +// (https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/purpose-built-qapps.html) +// in the Amazon Q Business User Guide. +// +// See https://docs.aws.amazon.com/goto/WebAPI/qapps-2023-11-27 for more information on this service. +// +// See qapps package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/qapps/ +// +// # Using the Client +// +// To contact QApps with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the QApps client QApps for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/qapps/#New +package qapps diff --git a/service/qapps/errors.go b/service/qapps/errors.go new file mode 100644 index 00000000000..831a2112b64 --- /dev/null +++ b/service/qapps/errors.go @@ -0,0 +1,80 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package qapps + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // The client is not authorized to perform the requested operation. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // The requested operation could not be completed due to a conflict with the + // current state of the resource. + ErrCodeConflictException = "ConflictException" + + // ErrCodeContentTooLargeException for service response error code + // "ContentTooLargeException". + // + // The requested operation could not be completed because the content exceeds + // the maximum allowed size. + ErrCodeContentTooLargeException = "ContentTooLargeException" + + // ErrCodeInternalServerException for service response error code + // "InternalServerException". + // + // An internal service error occurred while processing the request. + ErrCodeInternalServerException = "InternalServerException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // The requested resource could not be found. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeServiceQuotaExceededException for service response error code + // "ServiceQuotaExceededException". + // + // The requested operation could not be completed because it would exceed the + // service's quota or limit. + ErrCodeServiceQuotaExceededException = "ServiceQuotaExceededException" + + // ErrCodeThrottlingException for service response error code + // "ThrottlingException". + // + // The requested operation could not be completed because too many requests + // were sent at once. Wait a bit and try again later. + ErrCodeThrottlingException = "ThrottlingException" + + // ErrCodeUnauthorizedException for service response error code + // "UnauthorizedException". + // + // The client is not authenticated or authorized to perform the requested operation. + ErrCodeUnauthorizedException = "UnauthorizedException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // The input failed to satisfy the constraints specified by the service. + ErrCodeValidationException = "ValidationException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "AccessDeniedException": newErrorAccessDeniedException, + "ConflictException": newErrorConflictException, + "ContentTooLargeException": newErrorContentTooLargeException, + "InternalServerException": newErrorInternalServerException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ServiceQuotaExceededException": newErrorServiceQuotaExceededException, + "ThrottlingException": newErrorThrottlingException, + "UnauthorizedException": newErrorUnauthorizedException, + "ValidationException": newErrorValidationException, +} diff --git a/service/qapps/examples_test.go b/service/qapps/examples_test.go new file mode 100644 index 00000000000..97939886cb8 --- /dev/null +++ b/service/qapps/examples_test.go @@ -0,0 +1,1027 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package qapps_test + +import ( + "fmt" + "strings" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/session" + "github.com/aws/aws-sdk-go/service/qapps" +) + +var _ time.Duration +var _ strings.Reader +var _ aws.Config + +func parseTime(layout, value string) *time.Time { + t, err := time.Parse(layout, value) + if err != nil { + panic(err) + } + return &t +} + +// Increase the rating counter by 1 for the related app for this user +// + +func ExampleQApps_AssociateLibraryItemReview_shared00() { + svc := qapps.New(session.New()) + input := &qapps.AssociateLibraryItemReviewInput{ + InstanceId: aws.String("0b95c9c4-89cc-4aa8-9aae-aa91cbec699f"), + LibraryItemId: aws.String("cb9ecf72-8563-450d-9db9-994f98297316"), + } + + result, err := svc.AssociateLibraryItemReview(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case qapps.ErrCodeResourceNotFoundException: + fmt.Println(qapps.ErrCodeResourceNotFoundException, aerr.Error()) + case qapps.ErrCodeAccessDeniedException: + fmt.Println(qapps.ErrCodeAccessDeniedException, aerr.Error()) + case qapps.ErrCodeValidationException: + fmt.Println(qapps.ErrCodeValidationException, aerr.Error()) + case qapps.ErrCodeInternalServerException: + fmt.Println(qapps.ErrCodeInternalServerException, aerr.Error()) + case qapps.ErrCodeUnauthorizedException: + fmt.Println(qapps.ErrCodeUnauthorizedException, aerr.Error()) + case qapps.ErrCodeServiceQuotaExceededException: + fmt.Println(qapps.ErrCodeServiceQuotaExceededException, aerr.Error()) + case qapps.ErrCodeThrottlingException: + fmt.Println(qapps.ErrCodeThrottlingException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Links an Amazon Q App to the invoker's list of apps +// + +func ExampleQApps_AssociateQAppWithUser_shared00() { + svc := qapps.New(session.New()) + input := &qapps.AssociateQAppWithUserInput{ + AppId: aws.String("393e77fb-0a30-4f47-ad30-75d71aeaed8a"), + InstanceId: aws.String("0b95c9c4-89cc-4aa8-9aae-aa91cbec699f"), + } + + result, err := svc.AssociateQAppWithUser(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case qapps.ErrCodeResourceNotFoundException: + fmt.Println(qapps.ErrCodeResourceNotFoundException, aerr.Error()) + case qapps.ErrCodeAccessDeniedException: + fmt.Println(qapps.ErrCodeAccessDeniedException, aerr.Error()) + case qapps.ErrCodeValidationException: + fmt.Println(qapps.ErrCodeValidationException, aerr.Error()) + case qapps.ErrCodeInternalServerException: + fmt.Println(qapps.ErrCodeInternalServerException, aerr.Error()) + case qapps.ErrCodeUnauthorizedException: + fmt.Println(qapps.ErrCodeUnauthorizedException, aerr.Error()) + case qapps.ErrCodeServiceQuotaExceededException: + fmt.Println(qapps.ErrCodeServiceQuotaExceededException, aerr.Error()) + case qapps.ErrCodeThrottlingException: + fmt.Println(qapps.ErrCodeThrottlingException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Create a Library Item +// + +func ExampleQApps_CreateLibraryItem_shared00() { + svc := qapps.New(session.New()) + input := &qapps.CreateLibraryItemInput{ + AppId: aws.String("7a11f34b-42d4-4bc8-b668-ae4a788dae1e"), + AppVersion: aws.Int64(6), + Categories: []*string{ + aws.String("9c871ed4-1c41-4065-aefe-321cd4b61cf8"), + }, + InstanceId: aws.String("0b95c9c4-89cc-4aa8-9aae-aa91cbec699f"), + } + + result, err := svc.CreateLibraryItem(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case qapps.ErrCodeResourceNotFoundException: + fmt.Println(qapps.ErrCodeResourceNotFoundException, aerr.Error()) + case qapps.ErrCodeAccessDeniedException: + fmt.Println(qapps.ErrCodeAccessDeniedException, aerr.Error()) + case qapps.ErrCodeValidationException: + fmt.Println(qapps.ErrCodeValidationException, aerr.Error()) + case qapps.ErrCodeInternalServerException: + fmt.Println(qapps.ErrCodeInternalServerException, aerr.Error()) + case qapps.ErrCodeUnauthorizedException: + fmt.Println(qapps.ErrCodeUnauthorizedException, aerr.Error()) + case qapps.ErrCodeServiceQuotaExceededException: + fmt.Println(qapps.ErrCodeServiceQuotaExceededException, aerr.Error()) + case qapps.ErrCodeThrottlingException: + fmt.Println(qapps.ErrCodeThrottlingException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// A basic application with 1 text input card and 1 output card +// + +func ExampleQApps_CreateQApp_shared00() { + svc := qapps.New(session.New()) + input := &qapps.CreateQAppInput{ + AppDefinition: &qapps.AppDefinitionInput_{ + Cards: []*qapps.CardInput_{ + { + TextInput: &qapps.TextInputCardInput_{ + Id: aws.String("4cf94d96-8819-45c2-98cc-58c56b35c72f"), + Title: aws.String("Color Base"), + Type: aws.String("text-input"), + }, + }, + { + QQuery: &qapps.QQueryCardInput_{ + Id: aws.String("18870b94-1e63-40e0-8c12-669c90ac5acc"), + Prompt: aws.String("Recommend me a list of colors that go well with @4cf94d96-8819-45c2-98cc-58c56b35c72f"), + Title: aws.String("Recommended Palette"), + Type: aws.String("q-query"), + }, + }, + }, + InitialPrompt: aws.String("Create an app that recommend a list of colors based on input."), + }, + InstanceId: aws.String("0b95c9c4-89cc-4aa8-9aae-aa91cbec699f"), + Title: aws.String("Color Palette Generator"), + } + + result, err := svc.CreateQApp(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case qapps.ErrCodeAccessDeniedException: + fmt.Println(qapps.ErrCodeAccessDeniedException, aerr.Error()) + case qapps.ErrCodeConflictException: + fmt.Println(qapps.ErrCodeConflictException, aerr.Error()) + case qapps.ErrCodeValidationException: + fmt.Println(qapps.ErrCodeValidationException, aerr.Error()) + case qapps.ErrCodeInternalServerException: + fmt.Println(qapps.ErrCodeInternalServerException, aerr.Error()) + case qapps.ErrCodeUnauthorizedException: + fmt.Println(qapps.ErrCodeUnauthorizedException, aerr.Error()) + case qapps.ErrCodeServiceQuotaExceededException: + fmt.Println(qapps.ErrCodeServiceQuotaExceededException, aerr.Error()) + case qapps.ErrCodeContentTooLargeException: + fmt.Println(qapps.ErrCodeContentTooLargeException, aerr.Error()) + case qapps.ErrCodeThrottlingException: + fmt.Println(qapps.ErrCodeThrottlingException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Delete a library item +// + +func ExampleQApps_DeleteLibraryItem_shared00() { + svc := qapps.New(session.New()) + input := &qapps.DeleteLibraryItemInput{ + InstanceId: aws.String("3642ba81-344c-42fd-a480-9119a5a5f26b"), + LibraryItemId: aws.String("72088fd4-78b6-43da-bfb8-8621323c3cfb"), + } + + result, err := svc.DeleteLibraryItem(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case qapps.ErrCodeResourceNotFoundException: + fmt.Println(qapps.ErrCodeResourceNotFoundException, aerr.Error()) + case qapps.ErrCodeAccessDeniedException: + fmt.Println(qapps.ErrCodeAccessDeniedException, aerr.Error()) + case qapps.ErrCodeValidationException: + fmt.Println(qapps.ErrCodeValidationException, aerr.Error()) + case qapps.ErrCodeInternalServerException: + fmt.Println(qapps.ErrCodeInternalServerException, aerr.Error()) + case qapps.ErrCodeUnauthorizedException: + fmt.Println(qapps.ErrCodeUnauthorizedException, aerr.Error()) + case qapps.ErrCodeServiceQuotaExceededException: + fmt.Println(qapps.ErrCodeServiceQuotaExceededException, aerr.Error()) + case qapps.ErrCodeThrottlingException: + fmt.Println(qapps.ErrCodeThrottlingException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Delete an Amazon Q App +// + +func ExampleQApps_DeleteQApp_shared00() { + svc := qapps.New(session.New()) + input := &qapps.DeleteQAppInput{ + AppId: aws.String("393e77fb-0a30-4f47-ad30-75d71aeaed8a"), + InstanceId: aws.String("0b95c9c4-89cc-4aa8-9aae-aa91cbec699f"), + } + + result, err := svc.DeleteQApp(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case qapps.ErrCodeResourceNotFoundException: + fmt.Println(qapps.ErrCodeResourceNotFoundException, aerr.Error()) + case qapps.ErrCodeAccessDeniedException: + fmt.Println(qapps.ErrCodeAccessDeniedException, aerr.Error()) + case qapps.ErrCodeValidationException: + fmt.Println(qapps.ErrCodeValidationException, aerr.Error()) + case qapps.ErrCodeInternalServerException: + fmt.Println(qapps.ErrCodeInternalServerException, aerr.Error()) + case qapps.ErrCodeUnauthorizedException: + fmt.Println(qapps.ErrCodeUnauthorizedException, aerr.Error()) + case qapps.ErrCodeThrottlingException: + fmt.Println(qapps.ErrCodeThrottlingException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Decrease the rating counter by 1 for the related app for this user +// + +func ExampleQApps_DisassociateLibraryItemReview_shared00() { + svc := qapps.New(session.New()) + input := &qapps.DisassociateLibraryItemReviewInput{ + InstanceId: aws.String("0b95c9c4-89cc-4aa8-9aae-aa91cbec699f"), + LibraryItemId: aws.String("cb9ecf72-8563-450d-9db9-994f98297316"), + } + + result, err := svc.DisassociateLibraryItemReview(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case qapps.ErrCodeResourceNotFoundException: + fmt.Println(qapps.ErrCodeResourceNotFoundException, aerr.Error()) + case qapps.ErrCodeAccessDeniedException: + fmt.Println(qapps.ErrCodeAccessDeniedException, aerr.Error()) + case qapps.ErrCodeValidationException: + fmt.Println(qapps.ErrCodeValidationException, aerr.Error()) + case qapps.ErrCodeInternalServerException: + fmt.Println(qapps.ErrCodeInternalServerException, aerr.Error()) + case qapps.ErrCodeUnauthorizedException: + fmt.Println(qapps.ErrCodeUnauthorizedException, aerr.Error()) + case qapps.ErrCodeServiceQuotaExceededException: + fmt.Println(qapps.ErrCodeServiceQuotaExceededException, aerr.Error()) + case qapps.ErrCodeThrottlingException: + fmt.Println(qapps.ErrCodeThrottlingException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Unlinks an Amazon Q App from the invoker's list of apps +// + +func ExampleQApps_DisassociateQAppFromUser_shared00() { + svc := qapps.New(session.New()) + input := &qapps.DisassociateQAppFromUserInput{ + AppId: aws.String("393e77fb-0a30-4f47-ad30-75d71aeaed8a"), + InstanceId: aws.String("0b95c9c4-89cc-4aa8-9aae-aa91cbec699f"), + } + + result, err := svc.DisassociateQAppFromUser(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case qapps.ErrCodeResourceNotFoundException: + fmt.Println(qapps.ErrCodeResourceNotFoundException, aerr.Error()) + case qapps.ErrCodeAccessDeniedException: + fmt.Println(qapps.ErrCodeAccessDeniedException, aerr.Error()) + case qapps.ErrCodeValidationException: + fmt.Println(qapps.ErrCodeValidationException, aerr.Error()) + case qapps.ErrCodeInternalServerException: + fmt.Println(qapps.ErrCodeInternalServerException, aerr.Error()) + case qapps.ErrCodeUnauthorizedException: + fmt.Println(qapps.ErrCodeUnauthorizedException, aerr.Error()) + case qapps.ErrCodeThrottlingException: + fmt.Println(qapps.ErrCodeThrottlingException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Retrieve a library item +// + +func ExampleQApps_GetLibraryItem_shared00() { + svc := qapps.New(session.New()) + input := &qapps.GetLibraryItemInput{ + InstanceId: aws.String("0b95c9c4-89cc-4aa8-9aae-aa91cbec699f"), + LibraryItemId: aws.String("18cbebaa-196a-4aa5-a840-88d548e07f8f"), + } + + result, err := svc.GetLibraryItem(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case qapps.ErrCodeResourceNotFoundException: + fmt.Println(qapps.ErrCodeResourceNotFoundException, aerr.Error()) + case qapps.ErrCodeAccessDeniedException: + fmt.Println(qapps.ErrCodeAccessDeniedException, aerr.Error()) + case qapps.ErrCodeValidationException: + fmt.Println(qapps.ErrCodeValidationException, aerr.Error()) + case qapps.ErrCodeInternalServerException: + fmt.Println(qapps.ErrCodeInternalServerException, aerr.Error()) + case qapps.ErrCodeUnauthorizedException: + fmt.Println(qapps.ErrCodeUnauthorizedException, aerr.Error()) + case qapps.ErrCodeThrottlingException: + fmt.Println(qapps.ErrCodeThrottlingException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// A basic application with 1 text input card and 1 output card +// + +func ExampleQApps_GetQApp_shared00() { + svc := qapps.New(session.New()) + input := &qapps.GetQAppInput{ + AppId: aws.String("3d110749-efc3-427c-87e8-15e966e5c168"), + InstanceId: aws.String("0b95c9c4-89cc-4aa8-9aae-aa91cbec699f"), + } + + result, err := svc.GetQApp(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case qapps.ErrCodeResourceNotFoundException: + fmt.Println(qapps.ErrCodeResourceNotFoundException, aerr.Error()) + case qapps.ErrCodeAccessDeniedException: + fmt.Println(qapps.ErrCodeAccessDeniedException, aerr.Error()) + case qapps.ErrCodeValidationException: + fmt.Println(qapps.ErrCodeValidationException, aerr.Error()) + case qapps.ErrCodeInternalServerException: + fmt.Println(qapps.ErrCodeInternalServerException, aerr.Error()) + case qapps.ErrCodeUnauthorizedException: + fmt.Println(qapps.ErrCodeUnauthorizedException, aerr.Error()) + case qapps.ErrCodeThrottlingException: + fmt.Println(qapps.ErrCodeThrottlingException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Retrieves an existing session for an Amazon Q App +// + +func ExampleQApps_GetQAppSession_shared00() { + svc := qapps.New(session.New()) + input := &qapps.GetQAppSessionInput{ + InstanceId: aws.String("288ae830-1df2-4871-b6c0-4314d74dadef"), + SessionId: aws.String("1fca878e-64c5-4dc4-b1d9-c93effed4e82"), + } + + result, err := svc.GetQAppSession(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case qapps.ErrCodeResourceNotFoundException: + fmt.Println(qapps.ErrCodeResourceNotFoundException, aerr.Error()) + case qapps.ErrCodeAccessDeniedException: + fmt.Println(qapps.ErrCodeAccessDeniedException, aerr.Error()) + case qapps.ErrCodeValidationException: + fmt.Println(qapps.ErrCodeValidationException, aerr.Error()) + case qapps.ErrCodeInternalServerException: + fmt.Println(qapps.ErrCodeInternalServerException, aerr.Error()) + case qapps.ErrCodeUnauthorizedException: + fmt.Println(qapps.ErrCodeUnauthorizedException, aerr.Error()) + case qapps.ErrCodeServiceQuotaExceededException: + fmt.Println(qapps.ErrCodeServiceQuotaExceededException, aerr.Error()) + case qapps.ErrCodeThrottlingException: + fmt.Println(qapps.ErrCodeThrottlingException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Upload a file to a specific session +// + +func ExampleQApps_ImportDocument_shared00() { + svc := qapps.New(session.New()) + input := &qapps.ImportDocumentInput{ + AppId: aws.String("4263767c-d889-4cb2-a8f6-8b649bc66af0"), + CardId: aws.String("82f69028-22a9-4bea-8727-0eabf58e9fed"), + FileContentsBase64: aws.String("data:text/plain;base64,SomeFileEncodedInBase64"), + FileName: aws.String("myFile.txt"), + InstanceId: aws.String("0b95c9c4-89cc-4aa8-9aae-aa91cbec699f"), + Scope: aws.String("SESSION"), + SessionId: aws.String("4f0e5b87-9d38-41cd-9eb4-ebce2f2917cc"), + } + + result, err := svc.ImportDocument(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case qapps.ErrCodeResourceNotFoundException: + fmt.Println(qapps.ErrCodeResourceNotFoundException, aerr.Error()) + case qapps.ErrCodeAccessDeniedException: + fmt.Println(qapps.ErrCodeAccessDeniedException, aerr.Error()) + case qapps.ErrCodeValidationException: + fmt.Println(qapps.ErrCodeValidationException, aerr.Error()) + case qapps.ErrCodeInternalServerException: + fmt.Println(qapps.ErrCodeInternalServerException, aerr.Error()) + case qapps.ErrCodeUnauthorizedException: + fmt.Println(qapps.ErrCodeUnauthorizedException, aerr.Error()) + case qapps.ErrCodeServiceQuotaExceededException: + fmt.Println(qapps.ErrCodeServiceQuotaExceededException, aerr.Error()) + case qapps.ErrCodeContentTooLargeException: + fmt.Println(qapps.ErrCodeContentTooLargeException, aerr.Error()) + case qapps.ErrCodeThrottlingException: + fmt.Println(qapps.ErrCodeThrottlingException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Upload a file into a application +// + +func ExampleQApps_ImportDocument_shared01() { + svc := qapps.New(session.New()) + input := &qapps.ImportDocumentInput{ + AppId: aws.String("4263767c-d889-4cb2-a8f6-8b649bc66af0"), + CardId: aws.String("7a11f34b-42d4-4bc8-b668-ae4a788dae1e"), + FileContentsBase64: aws.String("data:text/plain;base64,SomeFileEncodedInBase64"), + FileName: aws.String("anApplicationFile.txt"), + InstanceId: aws.String("0b95c9c4-89cc-4aa8-9aae-aa91cbec699f"), + Scope: aws.String("APPLICATION"), + } + + result, err := svc.ImportDocument(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case qapps.ErrCodeResourceNotFoundException: + fmt.Println(qapps.ErrCodeResourceNotFoundException, aerr.Error()) + case qapps.ErrCodeAccessDeniedException: + fmt.Println(qapps.ErrCodeAccessDeniedException, aerr.Error()) + case qapps.ErrCodeValidationException: + fmt.Println(qapps.ErrCodeValidationException, aerr.Error()) + case qapps.ErrCodeInternalServerException: + fmt.Println(qapps.ErrCodeInternalServerException, aerr.Error()) + case qapps.ErrCodeUnauthorizedException: + fmt.Println(qapps.ErrCodeUnauthorizedException, aerr.Error()) + case qapps.ErrCodeServiceQuotaExceededException: + fmt.Println(qapps.ErrCodeServiceQuotaExceededException, aerr.Error()) + case qapps.ErrCodeContentTooLargeException: + fmt.Println(qapps.ErrCodeContentTooLargeException, aerr.Error()) + case qapps.ErrCodeThrottlingException: + fmt.Println(qapps.ErrCodeThrottlingException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// List at most 3 library items for this instance +// + +func ExampleQApps_ListLibraryItems_shared00() { + svc := qapps.New(session.New()) + input := &qapps.ListLibraryItemsInput{ + InstanceId: aws.String("0b95c9c4-89cc-4aa8-9aae-aa91cbec699f"), + Limit: aws.Int64(3), + } + + result, err := svc.ListLibraryItems(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case qapps.ErrCodeResourceNotFoundException: + fmt.Println(qapps.ErrCodeResourceNotFoundException, aerr.Error()) + case qapps.ErrCodeAccessDeniedException: + fmt.Println(qapps.ErrCodeAccessDeniedException, aerr.Error()) + case qapps.ErrCodeValidationException: + fmt.Println(qapps.ErrCodeValidationException, aerr.Error()) + case qapps.ErrCodeInternalServerException: + fmt.Println(qapps.ErrCodeInternalServerException, aerr.Error()) + case qapps.ErrCodeUnauthorizedException: + fmt.Println(qapps.ErrCodeUnauthorizedException, aerr.Error()) + case qapps.ErrCodeThrottlingException: + fmt.Println(qapps.ErrCodeThrottlingException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// List at most 3 Amazon Q Apps in an Q Business application +// + +func ExampleQApps_ListQApps_shared00() { + svc := qapps.New(session.New()) + input := &qapps.ListQAppsInput{ + InstanceId: aws.String("0b95c9c4-89cc-4aa8-9aae-aa91cbec699f"), + Limit: aws.Int64(3), + } + + result, err := svc.ListQApps(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case qapps.ErrCodeAccessDeniedException: + fmt.Println(qapps.ErrCodeAccessDeniedException, aerr.Error()) + case qapps.ErrCodeValidationException: + fmt.Println(qapps.ErrCodeValidationException, aerr.Error()) + case qapps.ErrCodeInternalServerException: + fmt.Println(qapps.ErrCodeInternalServerException, aerr.Error()) + case qapps.ErrCodeUnauthorizedException: + fmt.Println(qapps.ErrCodeUnauthorizedException, aerr.Error()) + case qapps.ErrCodeThrottlingException: + fmt.Println(qapps.ErrCodeThrottlingException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Retrieve the next page of Amazon Q Apps +// + +func ExampleQApps_ListQApps_shared01() { + svc := qapps.New(session.New()) + input := &qapps.ListQAppsInput{ + InstanceId: aws.String("0b95c9c4-89cc-4aa8-9aae-aa91cbec699f"), + Limit: aws.Int64(3), + NextToken: aws.String("bXlzdGVyaW91c1BhZ2luYXRpb25Ub2tlbg=="), + } + + result, err := svc.ListQApps(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case qapps.ErrCodeAccessDeniedException: + fmt.Println(qapps.ErrCodeAccessDeniedException, aerr.Error()) + case qapps.ErrCodeValidationException: + fmt.Println(qapps.ErrCodeValidationException, aerr.Error()) + case qapps.ErrCodeInternalServerException: + fmt.Println(qapps.ErrCodeInternalServerException, aerr.Error()) + case qapps.ErrCodeUnauthorizedException: + fmt.Println(qapps.ErrCodeUnauthorizedException, aerr.Error()) + case qapps.ErrCodeThrottlingException: + fmt.Println(qapps.ErrCodeThrottlingException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// A call to list tags for a resource +// + +func ExampleQApps_ListTagsForResource_shared00() { + svc := qapps.New(session.New()) + input := &qapps.ListTagsForResourceInput{ + ResourceARN: aws.String("arn:aws:qapps:us-west-2:123456789012:application/3642ba81-344c-42fd-a480-9119a5a5f26b/qapp/7212ff04-de7b-4831-bd80-45d6975ba1b0"), + } + + result, err := svc.ListTagsForResource(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case qapps.ErrCodeResourceNotFoundException: + fmt.Println(qapps.ErrCodeResourceNotFoundException, aerr.Error()) + case qapps.ErrCodeAccessDeniedException: + fmt.Println(qapps.ErrCodeAccessDeniedException, aerr.Error()) + case qapps.ErrCodeValidationException: + fmt.Println(qapps.ErrCodeValidationException, aerr.Error()) + case qapps.ErrCodeInternalServerException: + fmt.Println(qapps.ErrCodeInternalServerException, aerr.Error()) + case qapps.ErrCodeThrottlingException: + fmt.Println(qapps.ErrCodeThrottlingException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Start a session for an Amazon Q App using version 1, passing in initial values for +// one card +// + +func ExampleQApps_StartQAppSession_shared00() { + svc := qapps.New(session.New()) + input := &qapps.StartQAppSessionInput{ + AppId: aws.String("65e7dce7-226a-47f9-b689-22850becef89"), + AppVersion: aws.Int64(1), + InitialValues: []*qapps.CardValue{ + { + CardId: aws.String("6fb5b404-3b7b-48a4-8a8b-56406922a606"), + Value: aws.String("What is the circumference of Earth?"), + }, + }, + InstanceId: aws.String("4cc5e4c2-d2a2-4188-a114-9ca125b4aedc"), + } + + result, err := svc.StartQAppSession(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case qapps.ErrCodeResourceNotFoundException: + fmt.Println(qapps.ErrCodeResourceNotFoundException, aerr.Error()) + case qapps.ErrCodeAccessDeniedException: + fmt.Println(qapps.ErrCodeAccessDeniedException, aerr.Error()) + case qapps.ErrCodeValidationException: + fmt.Println(qapps.ErrCodeValidationException, aerr.Error()) + case qapps.ErrCodeInternalServerException: + fmt.Println(qapps.ErrCodeInternalServerException, aerr.Error()) + case qapps.ErrCodeUnauthorizedException: + fmt.Println(qapps.ErrCodeUnauthorizedException, aerr.Error()) + case qapps.ErrCodeServiceQuotaExceededException: + fmt.Println(qapps.ErrCodeServiceQuotaExceededException, aerr.Error()) + case qapps.ErrCodeThrottlingException: + fmt.Println(qapps.ErrCodeThrottlingException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// A call to tag a resource +// + +func ExampleQApps_TagResource_shared00() { + svc := qapps.New(session.New()) + input := &qapps.TagResourceInput{ + ResourceARN: aws.String("arn:aws:qapps:us-west-2:123456789012:application/3642ba81-344c-42fd-a480-9119a5a5f26b/qapp/7212ff04-de7b-4831-bd80-45d6975ba1b0"), + Tags: map[string]*string{ + "department": aws.String("HR"), + }, + } + + result, err := svc.TagResource(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case qapps.ErrCodeResourceNotFoundException: + fmt.Println(qapps.ErrCodeResourceNotFoundException, aerr.Error()) + case qapps.ErrCodeAccessDeniedException: + fmt.Println(qapps.ErrCodeAccessDeniedException, aerr.Error()) + case qapps.ErrCodeConflictException: + fmt.Println(qapps.ErrCodeConflictException, aerr.Error()) + case qapps.ErrCodeValidationException: + fmt.Println(qapps.ErrCodeValidationException, aerr.Error()) + case qapps.ErrCodeInternalServerException: + fmt.Println(qapps.ErrCodeInternalServerException, aerr.Error()) + case qapps.ErrCodeThrottlingException: + fmt.Println(qapps.ErrCodeThrottlingException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// A call to untag a resource +// + +func ExampleQApps_UntagResource_shared00() { + svc := qapps.New(session.New()) + input := &qapps.UntagResourceInput{ + ResourceARN: aws.String("arn:aws:qapps:us-west-2:123456789012:application/3642ba81-344c-42fd-a480-9119a5a5f26b/qapp/7212ff04-de7b-4831-bd80-45d6975ba1b0"), + TagKeys: []*string{ + aws.String("department"), + }, + } + + result, err := svc.UntagResource(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case qapps.ErrCodeResourceNotFoundException: + fmt.Println(qapps.ErrCodeResourceNotFoundException, aerr.Error()) + case qapps.ErrCodeAccessDeniedException: + fmt.Println(qapps.ErrCodeAccessDeniedException, aerr.Error()) + case qapps.ErrCodeValidationException: + fmt.Println(qapps.ErrCodeValidationException, aerr.Error()) + case qapps.ErrCodeInternalServerException: + fmt.Println(qapps.ErrCodeInternalServerException, aerr.Error()) + case qapps.ErrCodeThrottlingException: + fmt.Println(qapps.ErrCodeThrottlingException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Sets the status of a library item to DISABLED +// + +func ExampleQApps_UpdateLibraryItem_shared00() { + svc := qapps.New(session.New()) + input := &qapps.UpdateLibraryItemInput{ + InstanceId: aws.String("0b95c9c4-89cc-4aa8-9aae-aa91cbec699f"), + LibraryItemId: aws.String("cb9ecf72-8563-450d-9db9-994f98297316"), + Status: aws.String("DISABLED"), + } + + result, err := svc.UpdateLibraryItem(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case qapps.ErrCodeResourceNotFoundException: + fmt.Println(qapps.ErrCodeResourceNotFoundException, aerr.Error()) + case qapps.ErrCodeAccessDeniedException: + fmt.Println(qapps.ErrCodeAccessDeniedException, aerr.Error()) + case qapps.ErrCodeValidationException: + fmt.Println(qapps.ErrCodeValidationException, aerr.Error()) + case qapps.ErrCodeInternalServerException: + fmt.Println(qapps.ErrCodeInternalServerException, aerr.Error()) + case qapps.ErrCodeUnauthorizedException: + fmt.Println(qapps.ErrCodeUnauthorizedException, aerr.Error()) + case qapps.ErrCodeThrottlingException: + fmt.Println(qapps.ErrCodeThrottlingException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Updating the title of an app +// + +func ExampleQApps_UpdateQApp_shared00() { + svc := qapps.New(session.New()) + input := &qapps.UpdateQAppInput{ + AppId: aws.String("7212ff04-de7b-4831-bd80-45d6975ba1b0"), + InstanceId: aws.String("0b95c9c4-89cc-4aa8-9aae-aa91cbec699f"), + Title: aws.String("This is the new title"), + } + + result, err := svc.UpdateQApp(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case qapps.ErrCodeResourceNotFoundException: + fmt.Println(qapps.ErrCodeResourceNotFoundException, aerr.Error()) + case qapps.ErrCodeAccessDeniedException: + fmt.Println(qapps.ErrCodeAccessDeniedException, aerr.Error()) + case qapps.ErrCodeValidationException: + fmt.Println(qapps.ErrCodeValidationException, aerr.Error()) + case qapps.ErrCodeInternalServerException: + fmt.Println(qapps.ErrCodeInternalServerException, aerr.Error()) + case qapps.ErrCodeUnauthorizedException: + fmt.Println(qapps.ErrCodeUnauthorizedException, aerr.Error()) + case qapps.ErrCodeContentTooLargeException: + fmt.Println(qapps.ErrCodeContentTooLargeException, aerr.Error()) + case qapps.ErrCodeThrottlingException: + fmt.Println(qapps.ErrCodeThrottlingException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Updating the app so it has a single q-query card +// + +func ExampleQApps_UpdateQApp_shared01() { + svc := qapps.New(session.New()) + input := &qapps.UpdateQAppInput{ + AppDefinition: &qapps.AppDefinitionInput_{ + Cards: []*qapps.CardInput_{ + { + QQuery: &qapps.QQueryCardInput_{ + Id: aws.String("18870b94-1e63-40e0-8c12-669c90ac5acc"), + Prompt: aws.String("Recommend me an itinerary for a trip"), + Title: aws.String("Trip Ideas"), + Type: aws.String("q-query"), + }, + }, + }, + }, + AppId: aws.String("7212ff04-de7b-4831-bd80-45d6975ba1b0"), + InstanceId: aws.String("0b95c9c4-89cc-4aa8-9aae-aa91cbec699f"), + } + + result, err := svc.UpdateQApp(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case qapps.ErrCodeResourceNotFoundException: + fmt.Println(qapps.ErrCodeResourceNotFoundException, aerr.Error()) + case qapps.ErrCodeAccessDeniedException: + fmt.Println(qapps.ErrCodeAccessDeniedException, aerr.Error()) + case qapps.ErrCodeValidationException: + fmt.Println(qapps.ErrCodeValidationException, aerr.Error()) + case qapps.ErrCodeInternalServerException: + fmt.Println(qapps.ErrCodeInternalServerException, aerr.Error()) + case qapps.ErrCodeUnauthorizedException: + fmt.Println(qapps.ErrCodeUnauthorizedException, aerr.Error()) + case qapps.ErrCodeContentTooLargeException: + fmt.Println(qapps.ErrCodeContentTooLargeException, aerr.Error()) + case qapps.ErrCodeThrottlingException: + fmt.Println(qapps.ErrCodeThrottlingException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} diff --git a/service/qapps/qappsiface/interface.go b/service/qapps/qappsiface/interface.go new file mode 100644 index 00000000000..9049c19524a --- /dev/null +++ b/service/qapps/qappsiface/interface.go @@ -0,0 +1,162 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package qappsiface provides an interface to enable mocking the QApps service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package qappsiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/qapps" +) + +// QAppsAPI provides an interface to enable mocking the +// qapps.QApps service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // QApps. +// func myFunc(svc qappsiface.QAppsAPI) bool { +// // Make svc.AssociateLibraryItemReview request +// } +// +// func main() { +// sess := session.New() +// svc := qapps.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockQAppsClient struct { +// qappsiface.QAppsAPI +// } +// func (m *mockQAppsClient) AssociateLibraryItemReview(input *qapps.AssociateLibraryItemReviewInput) (*qapps.AssociateLibraryItemReviewOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockQAppsClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type QAppsAPI interface { + AssociateLibraryItemReview(*qapps.AssociateLibraryItemReviewInput) (*qapps.AssociateLibraryItemReviewOutput, error) + AssociateLibraryItemReviewWithContext(aws.Context, *qapps.AssociateLibraryItemReviewInput, ...request.Option) (*qapps.AssociateLibraryItemReviewOutput, error) + AssociateLibraryItemReviewRequest(*qapps.AssociateLibraryItemReviewInput) (*request.Request, *qapps.AssociateLibraryItemReviewOutput) + + AssociateQAppWithUser(*qapps.AssociateQAppWithUserInput) (*qapps.AssociateQAppWithUserOutput, error) + AssociateQAppWithUserWithContext(aws.Context, *qapps.AssociateQAppWithUserInput, ...request.Option) (*qapps.AssociateQAppWithUserOutput, error) + AssociateQAppWithUserRequest(*qapps.AssociateQAppWithUserInput) (*request.Request, *qapps.AssociateQAppWithUserOutput) + + CreateLibraryItem(*qapps.CreateLibraryItemInput) (*qapps.CreateLibraryItemOutput, error) + CreateLibraryItemWithContext(aws.Context, *qapps.CreateLibraryItemInput, ...request.Option) (*qapps.CreateLibraryItemOutput, error) + CreateLibraryItemRequest(*qapps.CreateLibraryItemInput) (*request.Request, *qapps.CreateLibraryItemOutput) + + CreateQApp(*qapps.CreateQAppInput) (*qapps.CreateQAppOutput, error) + CreateQAppWithContext(aws.Context, *qapps.CreateQAppInput, ...request.Option) (*qapps.CreateQAppOutput, error) + CreateQAppRequest(*qapps.CreateQAppInput) (*request.Request, *qapps.CreateQAppOutput) + + DeleteLibraryItem(*qapps.DeleteLibraryItemInput) (*qapps.DeleteLibraryItemOutput, error) + DeleteLibraryItemWithContext(aws.Context, *qapps.DeleteLibraryItemInput, ...request.Option) (*qapps.DeleteLibraryItemOutput, error) + DeleteLibraryItemRequest(*qapps.DeleteLibraryItemInput) (*request.Request, *qapps.DeleteLibraryItemOutput) + + DeleteQApp(*qapps.DeleteQAppInput) (*qapps.DeleteQAppOutput, error) + DeleteQAppWithContext(aws.Context, *qapps.DeleteQAppInput, ...request.Option) (*qapps.DeleteQAppOutput, error) + DeleteQAppRequest(*qapps.DeleteQAppInput) (*request.Request, *qapps.DeleteQAppOutput) + + DisassociateLibraryItemReview(*qapps.DisassociateLibraryItemReviewInput) (*qapps.DisassociateLibraryItemReviewOutput, error) + DisassociateLibraryItemReviewWithContext(aws.Context, *qapps.DisassociateLibraryItemReviewInput, ...request.Option) (*qapps.DisassociateLibraryItemReviewOutput, error) + DisassociateLibraryItemReviewRequest(*qapps.DisassociateLibraryItemReviewInput) (*request.Request, *qapps.DisassociateLibraryItemReviewOutput) + + DisassociateQAppFromUser(*qapps.DisassociateQAppFromUserInput) (*qapps.DisassociateQAppFromUserOutput, error) + DisassociateQAppFromUserWithContext(aws.Context, *qapps.DisassociateQAppFromUserInput, ...request.Option) (*qapps.DisassociateQAppFromUserOutput, error) + DisassociateQAppFromUserRequest(*qapps.DisassociateQAppFromUserInput) (*request.Request, *qapps.DisassociateQAppFromUserOutput) + + GetLibraryItem(*qapps.GetLibraryItemInput) (*qapps.GetLibraryItemOutput, error) + GetLibraryItemWithContext(aws.Context, *qapps.GetLibraryItemInput, ...request.Option) (*qapps.GetLibraryItemOutput, error) + GetLibraryItemRequest(*qapps.GetLibraryItemInput) (*request.Request, *qapps.GetLibraryItemOutput) + + GetQApp(*qapps.GetQAppInput) (*qapps.GetQAppOutput, error) + GetQAppWithContext(aws.Context, *qapps.GetQAppInput, ...request.Option) (*qapps.GetQAppOutput, error) + GetQAppRequest(*qapps.GetQAppInput) (*request.Request, *qapps.GetQAppOutput) + + GetQAppSession(*qapps.GetQAppSessionInput) (*qapps.GetQAppSessionOutput, error) + GetQAppSessionWithContext(aws.Context, *qapps.GetQAppSessionInput, ...request.Option) (*qapps.GetQAppSessionOutput, error) + GetQAppSessionRequest(*qapps.GetQAppSessionInput) (*request.Request, *qapps.GetQAppSessionOutput) + + ImportDocument(*qapps.ImportDocumentInput) (*qapps.ImportDocumentOutput, error) + ImportDocumentWithContext(aws.Context, *qapps.ImportDocumentInput, ...request.Option) (*qapps.ImportDocumentOutput, error) + ImportDocumentRequest(*qapps.ImportDocumentInput) (*request.Request, *qapps.ImportDocumentOutput) + + ListLibraryItems(*qapps.ListLibraryItemsInput) (*qapps.ListLibraryItemsOutput, error) + ListLibraryItemsWithContext(aws.Context, *qapps.ListLibraryItemsInput, ...request.Option) (*qapps.ListLibraryItemsOutput, error) + ListLibraryItemsRequest(*qapps.ListLibraryItemsInput) (*request.Request, *qapps.ListLibraryItemsOutput) + + ListLibraryItemsPages(*qapps.ListLibraryItemsInput, func(*qapps.ListLibraryItemsOutput, bool) bool) error + ListLibraryItemsPagesWithContext(aws.Context, *qapps.ListLibraryItemsInput, func(*qapps.ListLibraryItemsOutput, bool) bool, ...request.Option) error + + ListQApps(*qapps.ListQAppsInput) (*qapps.ListQAppsOutput, error) + ListQAppsWithContext(aws.Context, *qapps.ListQAppsInput, ...request.Option) (*qapps.ListQAppsOutput, error) + ListQAppsRequest(*qapps.ListQAppsInput) (*request.Request, *qapps.ListQAppsOutput) + + ListQAppsPages(*qapps.ListQAppsInput, func(*qapps.ListQAppsOutput, bool) bool) error + ListQAppsPagesWithContext(aws.Context, *qapps.ListQAppsInput, func(*qapps.ListQAppsOutput, bool) bool, ...request.Option) error + + ListTagsForResource(*qapps.ListTagsForResourceInput) (*qapps.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *qapps.ListTagsForResourceInput, ...request.Option) (*qapps.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*qapps.ListTagsForResourceInput) (*request.Request, *qapps.ListTagsForResourceOutput) + + PredictQApp(*qapps.PredictQAppInput) (*qapps.PredictQAppOutput, error) + PredictQAppWithContext(aws.Context, *qapps.PredictQAppInput, ...request.Option) (*qapps.PredictQAppOutput, error) + PredictQAppRequest(*qapps.PredictQAppInput) (*request.Request, *qapps.PredictQAppOutput) + + StartQAppSession(*qapps.StartQAppSessionInput) (*qapps.StartQAppSessionOutput, error) + StartQAppSessionWithContext(aws.Context, *qapps.StartQAppSessionInput, ...request.Option) (*qapps.StartQAppSessionOutput, error) + StartQAppSessionRequest(*qapps.StartQAppSessionInput) (*request.Request, *qapps.StartQAppSessionOutput) + + StopQAppSession(*qapps.StopQAppSessionInput) (*qapps.StopQAppSessionOutput, error) + StopQAppSessionWithContext(aws.Context, *qapps.StopQAppSessionInput, ...request.Option) (*qapps.StopQAppSessionOutput, error) + StopQAppSessionRequest(*qapps.StopQAppSessionInput) (*request.Request, *qapps.StopQAppSessionOutput) + + TagResource(*qapps.TagResourceInput) (*qapps.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *qapps.TagResourceInput, ...request.Option) (*qapps.TagResourceOutput, error) + TagResourceRequest(*qapps.TagResourceInput) (*request.Request, *qapps.TagResourceOutput) + + UntagResource(*qapps.UntagResourceInput) (*qapps.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *qapps.UntagResourceInput, ...request.Option) (*qapps.UntagResourceOutput, error) + UntagResourceRequest(*qapps.UntagResourceInput) (*request.Request, *qapps.UntagResourceOutput) + + UpdateLibraryItem(*qapps.UpdateLibraryItemInput) (*qapps.UpdateLibraryItemOutput, error) + UpdateLibraryItemWithContext(aws.Context, *qapps.UpdateLibraryItemInput, ...request.Option) (*qapps.UpdateLibraryItemOutput, error) + UpdateLibraryItemRequest(*qapps.UpdateLibraryItemInput) (*request.Request, *qapps.UpdateLibraryItemOutput) + + UpdateQApp(*qapps.UpdateQAppInput) (*qapps.UpdateQAppOutput, error) + UpdateQAppWithContext(aws.Context, *qapps.UpdateQAppInput, ...request.Option) (*qapps.UpdateQAppOutput, error) + UpdateQAppRequest(*qapps.UpdateQAppInput) (*request.Request, *qapps.UpdateQAppOutput) + + UpdateQAppSession(*qapps.UpdateQAppSessionInput) (*qapps.UpdateQAppSessionOutput, error) + UpdateQAppSessionWithContext(aws.Context, *qapps.UpdateQAppSessionInput, ...request.Option) (*qapps.UpdateQAppSessionOutput, error) + UpdateQAppSessionRequest(*qapps.UpdateQAppSessionInput) (*request.Request, *qapps.UpdateQAppSessionOutput) +} + +var _ QAppsAPI = (*qapps.QApps)(nil) diff --git a/service/qapps/service.go b/service/qapps/service.go new file mode 100644 index 00000000000..9b5f496173d --- /dev/null +++ b/service/qapps/service.go @@ -0,0 +1,106 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package qapps + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +// QApps provides the API operation methods for making requests to +// QApps. See this package's package overview docs +// for details on the service. +// +// QApps methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type QApps struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "QApps" // Name of service. + EndpointsID = "data.qapps" // ID to lookup a service endpoint with. + ServiceID = "QApps" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the QApps client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// +// mySession := session.Must(session.NewSession()) +// +// // Create a QApps client from just a session. +// svc := qapps.New(mySession) +// +// // Create a QApps client with additional configuration +// svc := qapps.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *QApps { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "qapps" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName, resolvedRegion string) *QApps { + svc := &QApps{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2023-11-27", + ResolvedRegion: resolvedRegion, + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed( + protocol.NewUnmarshalErrorHandler(restjson.NewUnmarshalTypedError(exceptionFromCode)).NamedHandler(), + ) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a QApps operation and runs any +// custom request initialization. +func (c *QApps) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +}