diff --git a/CHANGELOG.md b/CHANGELOG.md
index b7f708274dd..56976ecba93 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,20 @@
+Release v1.44.276 (2023-06-05)
+===
+
+### Service Client Updates
+* `service/cloudformation`: Updates service API and documentation
+ * AWS CloudFormation StackSets provides customers with three new APIs to activate, deactivate, and describe AWS Organizations trusted access which is needed to get started with service-managed StackSets.
+* `service/ec2`: Updates service API
+ * Making InstanceTagAttribute as the required parameter for the DeregisterInstanceEventNotificationAttributes and RegisterInstanceEventNotificationAttributes APIs.
+* `service/finspace`: Updates service API, documentation, and paginators
+* `service/frauddetector`: Updates service API and documentation
+* `service/keyspaces`: Updates service API and documentation
+* `service/kms`: Updates service API, documentation, and examples
+ * This release includes feature to import customer's asymmetric (RSA and ECC) and HMAC keys into KMS. It also includes feature to allow customers to specify number of days to schedule a KMS key deletion as a policy condition key.
+* `service/lambda`: Updates service API and documentation
+ * Add Ruby 3.2 (ruby3.2) Runtime support to AWS Lambda.
+* `service/mwaa`: Updates service API and documentation
+
Release v1.44.275 (2023-06-02)
===
diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go
index c1c458b51a2..2e19166282d 100644
--- a/aws/endpoints/defaults.go
+++ b/aws/endpoints/defaults.go
@@ -38387,6 +38387,15 @@ var awsusgovPartition = partition{
},
"workspaces": service{
Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
+ Hostname: "workspaces-fips.us-gov-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
endpointKey{
Region: "fips-us-gov-west-1",
}: endpoint{
@@ -38399,6 +38408,12 @@ var awsusgovPartition = partition{
endpointKey{
Region: "us-gov-east-1",
}: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "workspaces-fips.us-gov-east-1.amazonaws.com",
+ },
endpointKey{
Region: "us-gov-west-1",
}: endpoint{},
diff --git a/aws/version.go b/aws/version.go
index 777e8ba7ab8..2b410cc8906 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.44.275"
+const SDKVersion = "1.44.276"
diff --git a/models/apis/cloudformation/2010-05-15/api-2.json b/models/apis/cloudformation/2010-05-15/api-2.json
index 58c90242b1c..d39e3bb3ee9 100644
--- a/models/apis/cloudformation/2010-05-15/api-2.json
+++ b/models/apis/cloudformation/2010-05-15/api-2.json
@@ -11,6 +11,22 @@
"xmlNamespace":"http://cloudformation.amazonaws.com/doc/2010-05-15/"
},
"operations":{
+ "ActivateOrganizationsAccess":{
+ "name":"ActivateOrganizationsAccess",
+ "http":{
+ "method":"POST",
+ "requestUri":"/"
+ },
+ "input":{"shape":"ActivateOrganizationsAccessInput"},
+ "output":{
+ "shape":"ActivateOrganizationsAccessOutput",
+ "resultWrapper":"ActivateOrganizationsAccessResult"
+ },
+ "errors":[
+ {"shape":"InvalidOperationException"},
+ {"shape":"OperationNotFoundException"}
+ ]
+ },
"ActivateType":{
"name":"ActivateType",
"http":{
@@ -142,6 +158,22 @@
{"shape":"LimitExceededException"}
]
},
+ "DeactivateOrganizationsAccess":{
+ "name":"DeactivateOrganizationsAccess",
+ "http":{
+ "method":"POST",
+ "requestUri":"/"
+ },
+ "input":{"shape":"DeactivateOrganizationsAccessInput"},
+ "output":{
+ "shape":"DeactivateOrganizationsAccessOutput",
+ "resultWrapper":"DeactivateOrganizationsAccessResult"
+ },
+ "errors":[
+ {"shape":"InvalidOperationException"},
+ {"shape":"OperationNotFoundException"}
+ ]
+ },
"DeactivateType":{
"name":"DeactivateType",
"http":{
@@ -279,6 +311,22 @@
{"shape":"ChangeSetNotFoundException"}
]
},
+ "DescribeOrganizationsAccess":{
+ "name":"DescribeOrganizationsAccess",
+ "http":{
+ "method":"POST",
+ "requestUri":"/"
+ },
+ "input":{"shape":"DescribeOrganizationsAccessInput"},
+ "output":{
+ "shape":"DescribeOrganizationsAccessOutput",
+ "resultWrapper":"DescribeOrganizationsAccessResult"
+ },
+ "errors":[
+ {"shape":"InvalidOperationException"},
+ {"shape":"OperationNotFoundException"}
+ ]
+ },
"DescribePublisher":{
"name":"DescribePublisher",
"http":{
@@ -1044,6 +1092,16 @@
"min":1,
"pattern":"(s3://|http(s?)://).+"
},
+ "ActivateOrganizationsAccessInput":{
+ "type":"structure",
+ "members":{
+ }
+ },
+ "ActivateOrganizationsAccessOutput":{
+ "type":"structure",
+ "members":{
+ }
+ },
"ActivateTypeInput":{
"type":"structure",
"members":{
@@ -1491,6 +1549,16 @@
"exception":true
},
"CreationTime":{"type":"timestamp"},
+ "DeactivateOrganizationsAccessInput":{
+ "type":"structure",
+ "members":{
+ }
+ },
+ "DeactivateOrganizationsAccessOutput":{
+ "type":"structure",
+ "members":{
+ }
+ },
"DeactivateTypeInput":{
"type":"structure",
"members":{
@@ -1666,6 +1734,18 @@
"RootChangeSetId":{"shape":"ChangeSetId"}
}
},
+ "DescribeOrganizationsAccessInput":{
+ "type":"structure",
+ "members":{
+ "CallAs":{"shape":"CallAs"}
+ }
+ },
+ "DescribeOrganizationsAccessOutput":{
+ "type":"structure",
+ "members":{
+ "Status":{"shape":"OrganizationStatus"}
+ }
+ },
"DescribePublisherInput":{
"type":"structure",
"members":{
@@ -2676,6 +2756,14 @@
"type":"string",
"max":4096
},
+ "OrganizationStatus":{
+ "type":"string",
+ "enum":[
+ "ENABLED",
+ "DISABLED",
+ "DISABLED_PERMANENTLY"
+ ]
+ },
"OrganizationalUnitId":{
"type":"string",
"pattern":"^(ou-[a-z0-9]{4,32}-[a-z0-9]{8,32}|r-[a-z0-9]{4,32})$"
diff --git a/models/apis/cloudformation/2010-05-15/docs-2.json b/models/apis/cloudformation/2010-05-15/docs-2.json
index 924f8665859..51ad789029f 100644
--- a/models/apis/cloudformation/2010-05-15/docs-2.json
+++ b/models/apis/cloudformation/2010-05-15/docs-2.json
@@ -2,15 +2,17 @@
"version": "2.0",
"service": "
CloudFormation allows you to create and manage Amazon Web Services infrastructure deployments predictably and repeatedly. You can use CloudFormation to leverage Amazon Web Services products, such as Amazon Elastic Compute Cloud, Amazon Elastic Block Store, Amazon Simple Notification Service, Elastic Load Balancing, and Auto Scaling to build highly reliable, highly scalable, cost-effective applications without creating or configuring the underlying Amazon Web Services infrastructure.
With CloudFormation, you declare all your resources and dependencies in a template file. The template defines a collection of resources as a single unit called a stack. CloudFormation creates and deletes all member resources of the stack together and manages all dependencies between the resources for you.
For more information about CloudFormation, see the CloudFormation product page.
CloudFormation makes use of other Amazon Web Services products. If you need additional technical information about a specific Amazon Web Services product, you can find the product's technical documentation at docs.aws.amazon.com
.
Activates a public third-party extension, making it available for use in stack templates. For more information, see Using public extensions in the CloudFormation User Guide.
Once you have activated a public third-party extension in your account and region, use SetTypeConfiguration to specify configuration properties for the extension. For more information, see Configuring extensions at the account level in the CloudFormation User Guide.
", - "BatchDescribeTypeConfigurations": "Returns configuration data for the specified CloudFormation extensions, from the CloudFormation registry for the account and region.
For more information, see Configuring extensions at the account level in the CloudFormation User Guide.
", + "ActivateOrganizationsAccess": "Activate trusted access with Organizations. With trusted access between StackSets and Organizations activated, the management account has permissions to create and manage StackSets for your organization.
", + "ActivateType": "Activates a public third-party extension, making it available for use in stack templates. For more information, see Using public extensions in the CloudFormation User Guide.
Once you have activated a public third-party extension in your account and Region, use SetTypeConfiguration to specify configuration properties for the extension. For more information, see Configuring extensions at the account level in the CloudFormation User Guide.
", + "BatchDescribeTypeConfigurations": "Returns configuration data for the specified CloudFormation extensions, from the CloudFormation registry for the account and Region.
For more information, see Configuring extensions at the account level in the CloudFormation User Guide.
", "CancelUpdateStack": "Cancels an update on the specified stack. If the call completes successfully, the stack rolls back the update and reverts to the previous stack configuration.
You can cancel only stacks that are in the UPDATE_IN_PROGRESS
state.
For a specified stack that's in the UPDATE_ROLLBACK_FAILED
state, continues rolling it back to the UPDATE_ROLLBACK_COMPLETE
state. Depending on the cause of the failure, you can manually fix the error and continue the rollback. By continuing the rollback, you can return your stack to a working state (the UPDATE_ROLLBACK_COMPLETE
state), and then try to update the stack again.
A stack goes into the UPDATE_ROLLBACK_FAILED
state when CloudFormation can't roll back all changes after a failed stack update. For example, you might have a stack that's rolling back to an old database instance that was deleted outside of CloudFormation. Because CloudFormation doesn't know the database was deleted, it assumes that the database instance still exists and attempts to roll back to it, causing the update rollback to fail.
Creates a list of changes that will be applied to a stack so that you can review the changes before executing them. You can create a change set for a stack that doesn't exist or an existing stack. If you create a change set for a stack that doesn't exist, the change set shows all of the resources that CloudFormation will create. If you create a change set for an existing stack, CloudFormation compares the stack's information with the information that you submit in the change set and lists the differences. Use change sets to understand which resources CloudFormation will create or change, and how it will change resources in an existing stack, before you create or update a stack.
To create a change set for a stack that doesn't exist, for the ChangeSetType
parameter, specify CREATE
. To create a change set for an existing stack, specify UPDATE
for the ChangeSetType
parameter. To create a change set for an import operation, specify IMPORT
for the ChangeSetType
parameter. After the CreateChangeSet
call successfully completes, CloudFormation starts creating the change set. To check the status of the change set or to review it, use the DescribeChangeSet action.
When you are satisfied with the changes the change set will make, execute the change set by using the ExecuteChangeSet action. CloudFormation doesn't make changes until you execute the change set.
To create a change set for the entire stack hierarchy, set IncludeNestedStacks
to True
.
Creates a stack as specified in the template. After the call completes successfully, the stack creation starts. You can check the status of the stack through the DescribeStacksoperation.
", "CreateStackInstances": "Creates stack instances for the specified accounts, within the specified Amazon Web Services Regions. A stack instance refers to a stack in a specific account and Region. You must specify at least one value for either Accounts
or DeploymentTargets
, and you must specify at least one value for Regions
.
Creates a stack set.
", - "DeactivateType": "Deactivates a public extension that was previously activated in this account and region.
Once deactivated, an extension can't be used in any CloudFormation operation. This includes stack update operations where the stack template includes the extension, even if no updates are being made to the extension. In addition, deactivated extensions aren't automatically updated if a new version of the extension is released.
", + "DeactivateOrganizationsAccess": "Deactivates trusted access with Organizations. If trusted access is deactivated, the management account does not have permissions to create and manage service-managed StackSets for your organization.
", + "DeactivateType": "Deactivates a public extension that was previously activated in this account and Region.
Once deactivated, an extension can't be used in any CloudFormation operation. This includes stack update operations where the stack template includes the extension, even if no updates are being made to the extension. In addition, deactivated extensions aren't automatically updated if a new version of the extension is released.
", "DeleteChangeSet": "Deletes the specified change set. Deleting change sets ensures that no one executes the wrong change set.
If the call successfully completes, CloudFormation successfully deleted the change set.
If IncludeNestedStacks
specifies True
during the creation of the nested change set, then DeleteChangeSet
will delete all change sets that belong to the stacks hierarchy and will also delete all change sets for nested stacks with the status of REVIEW_IN_PROGRESS
.
Deletes a specified stack. Once the call completes successfully, stack deletion starts. Deleted stacks don't show up in the DescribeStacks operation if the deletion has been completed successfully.
", "DeleteStackInstances": "Deletes stack instances for the specified accounts, in the specified Amazon Web Services Regions.
", @@ -19,27 +21,28 @@ "DescribeAccountLimits": "Retrieves your account's CloudFormation limits, such as the maximum number of stacks that you can create in your account. For more information about account limits, see CloudFormation Quotas in the CloudFormation User Guide.
", "DescribeChangeSet": "Returns the inputs for the change set and a list of changes that CloudFormation will make if you execute the change set. For more information, see Updating Stacks Using Change Sets in the CloudFormation User Guide.
", "DescribeChangeSetHooks": "Returns hook-related information for the change set and a list of changes that CloudFormation makes when you run the change set.
", + "DescribeOrganizationsAccess": "Retrieves information about the account's OrganizationAccess
status. This API can be called either by the management account or the delegated administrator by using the CallAs
parameter. This API can also be called without the CallAs
parameter by the management account.
Returns information about a CloudFormation extension publisher.
If you don't supply a PublisherId
, and you have registered as an extension publisher, DescribePublisher
returns information about your own publisher account.
For more information about registering as a publisher, see:
Publishing extensions to make them available for public use in the CloudFormation CLI User Guide
Returns information about a stack drift detection operation. A stack drift detection operation detects whether a stack's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters. A stack is considered to have drifted if one or more of its resources have drifted. For more information about stack and resource drift, see Detecting Unregulated Configuration Changes to Stacks and Resources.
Use DetectStackDrift to initiate a stack drift detection operation. DetectStackDrift
returns a StackDriftDetectionId
you can use to monitor the progress of the operation using DescribeStackDriftDetectionStatus
. Once the drift detection operation has completed, use DescribeStackResourceDrifts to return drift information about the stack and its resources.
Returns information about a stack drift detection operation. A stack drift detection operation detects whether a stack's actual configuration differs, or has drifted, from its expected configuration, as defined in the stack template and any values specified as template parameters. A stack is considered to have drifted if one or more of its resources have drifted. For more information about stack and resource drift, see Detecting Unregulated Configuration Changes to Stacks and Resources.
Use DetectStackDrift to initiate a stack drift detection operation. DetectStackDrift
returns a StackDriftDetectionId
you can use to monitor the progress of the operation using DescribeStackDriftDetectionStatus
. Once the drift detection operation has completed, use DescribeStackResourceDrifts to return drift information about the stack and its resources.
Returns all stack related events for a specified stack in reverse chronological order. For more information about a stack's event history, go to Stacks in the CloudFormation User Guide.
You can list events for stacks that have failed to create or have been deleted by specifying the unique stack identifier (stack ID).
Returns the stack instance that's associated with the specified stack set, Amazon Web Services account, and Region.
For a list of stack instances that are associated with a specific stack set, use ListStackInstances.
", + "DescribeStackInstance": "Returns the stack instance that's associated with the specified StackSet, Amazon Web Services account, and Amazon Web Services Region.
For a list of stack instances that are associated with a specific StackSet, use ListStackInstances.
", "DescribeStackResource": "Returns a description of the specified resource in the specified stack.
For deleted stacks, DescribeStackResource returns resource information for up to 90 days after the stack has been deleted.
", "DescribeStackResourceDrifts": "Returns drift information for the resources that have been checked for drift in the specified stack. This includes actual and expected configuration values for resources where CloudFormation detects configuration drift.
For a given stack, there will be one StackResourceDrift
for each stack resource that has been checked for drift. Resources that haven't yet been checked for drift aren't included. Resources that don't currently support drift detection aren't checked, and so not included. For a list of resources that support drift detection, see Resources that Support Drift Detection.
Use DetectStackResourceDrift to detect drift on individual resources, or DetectStackDrift to detect drift on all supported resources for a given stack.
", "DescribeStackResources": "Returns Amazon Web Services resource descriptions for running and deleted stacks. If StackName
is specified, all the associated resources that are part of the stack are returned. If PhysicalResourceId
is specified, the associated resources of the stack that the resource belongs to are returned.
Only the first 100 resources will be returned. If your stack has more resources than this, you should use ListStackResources
instead.
For deleted stacks, DescribeStackResources
returns resource information for up to 90 days after the stack has been deleted.
You must specify either StackName
or PhysicalResourceId
, but not both. In addition, you can specify LogicalResourceId
to filter the returned result. For more information about resources, the LogicalResourceId
and PhysicalResourceId
, go to the CloudFormation User Guide.
A ValidationError
is returned if you specify both StackName
and PhysicalResourceId
in the same request.
Returns the description of the specified stack set.
", - "DescribeStackSetOperation": "Returns the description of the specified stack set operation.
", + "DescribeStackSet": "Returns the description of the specified StackSet.
", + "DescribeStackSetOperation": "Returns the description of the specified StackSet operation.
", "DescribeStacks": "Returns the description for the specified stack; if no stack name was specified, then it returns the description for all the stacks created.
If the stack doesn't exist, an ValidationError
is returned.
Returns detailed information about an extension that has been registered.
If you specify a VersionId
, DescribeType
returns information about that specific extension version. Otherwise, it returns information about the default extension version.
Returns information about an extension's registration, including its current status and type and version identifiers.
When you initiate a registration request using RegisterType
, you can then use DescribeTypeRegistration
to monitor the progress of that registration request.
Once the registration request has completed, use DescribeType
to return detailed information about an extension.
Detects whether a stack's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters. For each resource in the stack that supports drift detection, CloudFormation compares the actual configuration of the resource with its expected template configuration. Only resource properties explicitly defined in the stack template are checked for drift. A stack is considered to have drifted if one or more of its resources differ from their expected template configurations. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.
Use DetectStackDrift
to detect drift on all supported resources for a given stack, or DetectStackResourceDrift to detect drift on individual resources.
For a list of stack resources that currently support drift detection, see Resources that Support Drift Detection.
DetectStackDrift
can take up to several minutes, depending on the number of resources contained within the stack. Use DescribeStackDriftDetectionStatus to monitor the progress of a detect stack drift operation. Once the drift detection operation has completed, use DescribeStackResourceDrifts to return drift information about the stack and its resources.
When detecting drift on a stack, CloudFormation doesn't detect drift on any nested stacks belonging to that stack. Perform DetectStackDrift
directly on the nested stack itself.
Returns information about whether a resource's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters. This information includes actual and expected property values for resources in which CloudFormation detects drift. Only resource properties explicitly defined in the stack template are checked for drift. For more information about stack and resource drift, see Detecting Unregulated Configuration Changes to Stacks and Resources.
Use DetectStackResourceDrift
to detect drift on individual resources, or DetectStackDrift to detect drift on all resources in a given stack that support drift detection.
Resources that don't currently support drift detection can't be checked. For a list of resources that support drift detection, see Resources that Support Drift Detection.
", + "DetectStackDrift": "Detects whether a stack's actual configuration differs, or has drifted, from its expected configuration, as defined in the stack template and any values specified as template parameters. For each resource in the stack that supports drift detection, CloudFormation compares the actual configuration of the resource with its expected template configuration. Only resource properties explicitly defined in the stack template are checked for drift. A stack is considered to have drifted if one or more of its resources differ from their expected template configurations. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.
Use DetectStackDrift
to detect drift on all supported resources for a given stack, or DetectStackResourceDrift to detect drift on individual resources.
For a list of stack resources that currently support drift detection, see Resources that Support Drift Detection.
DetectStackDrift
can take up to several minutes, depending on the number of resources contained within the stack. Use DescribeStackDriftDetectionStatus to monitor the progress of a detect stack drift operation. Once the drift detection operation has completed, use DescribeStackResourceDrifts to return drift information about the stack and its resources.
When detecting drift on a stack, CloudFormation doesn't detect drift on any nested stacks belonging to that stack. Perform DetectStackDrift
directly on the nested stack itself.
Returns information about whether a resource's actual configuration differs, or has drifted, from its expected configuration, as defined in the stack template and any values specified as template parameters. This information includes actual and expected property values for resources in which CloudFormation detects drift. Only resource properties explicitly defined in the stack template are checked for drift. For more information about stack and resource drift, see Detecting Unregulated Configuration Changes to Stacks and Resources.
Use DetectStackResourceDrift
to detect drift on individual resources, or DetectStackDrift to detect drift on all resources in a given stack that support drift detection.
Resources that don't currently support drift detection can't be checked. For a list of resources that support drift detection, see Resources that Support Drift Detection.
", "DetectStackSetDrift": "Detect drift on a stack set. When CloudFormation performs drift detection on a stack set, it performs drift detection on the stack associated with each stack instance in the stack set. For more information, see How CloudFormation performs drift detection on a stack set.
DetectStackSetDrift
returns the OperationId
of the stack set drift detection operation. Use this operation id with DescribeStackSetOperation
to monitor the progress of the drift detection operation. The drift detection operation may take some time, depending on the number of stack instances included in the stack set, in addition to the number of resources included in each stack.
Once the operation has completed, use the following actions to return drift information:
Use DescribeStackSet
to return detailed information about the stack set, including detailed information about the last completed drift operation performed on the stack set. (Information about drift operations that are in progress isn't included.)
Use ListStackInstances
to return a list of stack instances belonging to the stack set, including the drift status and last drift time checked of each instance.
Use DescribeStackInstance
to return detailed information about a specific stack instance, including its drift status and last drift time checked.
For more information about performing a drift detection operation on a stack set, see Detecting unmanaged changes in stack sets.
You can only run a single drift detection operation on a given stack set at one time.
To stop a drift detection stack set operation, use StopStackSetOperation
.
Returns the estimated monthly cost of a template. The return value is an Amazon Web Services Simple Monthly Calculator URL with a query string that describes the resources required to run the template.
", "ExecuteChangeSet": "Updates a stack using the input information that was provided when the specified change set was created. After the call successfully completes, CloudFormation starts updating the stack. Use the DescribeStacks action to view the status of the update.
When you execute a change set, CloudFormation deletes all other change sets associated with the stack because they aren't valid for the updated stack.
If a stack policy is associated with the stack, CloudFormation enforces the policy during the update. You can't specify a temporary stack policy that overrides the current policy.
To create a change set for the entire stack hierarchy, IncludeNestedStacks
must have been set to True
.
Returns the stack policy for a specified stack. If a stack doesn't have a policy, a null value is returned.
", "GetTemplate": "Returns the template body for a specified stack. You can get the template for running or deleted stacks.
For deleted stacks, GetTemplate
returns the template for up to 90 days after the stack has been deleted.
If the template doesn't exist, a ValidationError
is returned.
Returns information about a new or existing template. The GetTemplateSummary
action is useful for viewing parameter information, such as default parameter values and parameter types, before you create or update a stack or stack set.
You can use the GetTemplateSummary
action when you submit a template, or you can get template information for a stack set, or a running or deleted stack.
For deleted stacks, GetTemplateSummary
returns the template information for up to 90 days after the stack has been deleted. If the template doesn't exist, a ValidationError
is returned.
Import existing stacks into a new stack sets. Use the stack import operation to import up to 10 stacks into a new stack set in the same account as the source stack or in a different administrator account and Region, by specifying the stack ID of the stack you intend to import.
ImportStacksToStackSet
is only supported by self-managed permissions.
Import existing stacks into a new stack sets. Use the stack import operation to import up to 10 stacks into a new stack set in the same account as the source stack or in a different administrator account and Region, by specifying the stack ID of the stack you intend to import.
", "ListChangeSets": "Returns the ID and status of each active change set for a stack. For example, CloudFormation lists change sets that are in the CREATE_IN_PROGRESS
or CREATE_PENDING
state.
Lists all exported output values in the account and Region in which you call this action. Use this action to see the exported output values that you can import into other stacks. To import values, use the Fn::ImportValue
function.
For more information, see CloudFormation export stack output values.
", "ListImports": "Lists all stacks that are importing an exported output value. To modify or remove an exported output value, first use this action to see which stacks are using it. To see the exported output values in your account, see ListExports.
For more information about importing an exported output value, see the Fn::ImportValue
function.
Returns a list of registration tokens for the specified extension(s).
", "ListTypeVersions": "Returns summary information about the versions of an extension.
", "ListTypes": "Returns summary information about extension that have been registered with CloudFormation.
", - "PublishType": "Publishes the specified extension to the CloudFormation registry as a public extension in this region. Public extensions are available for use by all CloudFormation users. For more information about publishing extensions, see Publishing extensions to make them available for public use in the CloudFormation CLI User Guide.
To publish an extension, you must be registered as a publisher with CloudFormation. For more information, see RegisterPublisher.
", + "PublishType": "Publishes the specified extension to the CloudFormation registry as a public extension in this Region. Public extensions are available for use by all CloudFormation users. For more information about publishing extensions, see Publishing extensions to make them available for public use in the CloudFormation CLI User Guide.
To publish an extension, you must be registered as a publisher with CloudFormation. For more information, see RegisterPublisher.
", "RecordHandlerProgress": "Reports progress of a resource handler to CloudFormation.
Reserved for use by the CloudFormation CLI. Don't use this API in your code.
", "RegisterPublisher": "Registers your account as a publisher of public extensions in the CloudFormation registry. Public extensions are available for use by all CloudFormation users. This publisher ID applies to your account in all Amazon Web Services Regions.
For information about requirements for registering as a public extension publisher, see Registering your account to publish CloudFormation extensions in the CloudFormation CLI User Guide.
", - "RegisterType": "Registers an extension with the CloudFormation service. Registering an extension makes it available for use in CloudFormation templates in your Amazon Web Services account, and includes:
Validating the extension schema.
Determining which handlers, if any, have been specified for the extension.
Making the extension available for use in your account.
For more information about how to develop extensions and ready them for registration, see Creating Resource Providers in the CloudFormation CLI User Guide.
You can have a maximum of 50 resource extension versions registered at a time. This maximum is per account and per region. Use DeregisterType to deregister specific extension versions if necessary.
Once you have initiated a registration request using RegisterType
, you can use DescribeTypeRegistration
to monitor the progress of the registration request.
Once you have registered a private extension in your account and region, use SetTypeConfiguration to specify configuration properties for the extension. For more information, see Configuring extensions at the account level in the CloudFormation User Guide.
", + "RegisterType": "Registers an extension with the CloudFormation service. Registering an extension makes it available for use in CloudFormation templates in your Amazon Web Services account, and includes:
Validating the extension schema.
Determining which handlers, if any, have been specified for the extension.
Making the extension available for use in your account.
For more information about how to develop extensions and ready them for registration, see Creating Resource Providers in the CloudFormation CLI User Guide.
You can have a maximum of 50 resource extension versions registered at a time. This maximum is per account and per Region. Use DeregisterType to deregister specific extension versions if necessary.
Once you have initiated a registration request using RegisterType
, you can use DescribeTypeRegistration
to monitor the progress of the registration request.
Once you have registered a private extension in your account and Region, use SetTypeConfiguration to specify configuration properties for the extension. For more information, see Configuring extensions at the account level in the CloudFormation User Guide.
", "RollbackStack": "When specifying RollbackStack
, you preserve the state of previously provisioned resources when an operation fails. You can check the status of the stack through the DescribeStacks operation.
Rolls back the specified stack to the last known stable state from CREATE_FAILED
or UPDATE_FAILED
stack statuses.
This operation will delete a stack if it doesn't contain a last known stable state. A last known stable state includes any status in a *_COMPLETE
. This includes the following stack statuses.
CREATE_COMPLETE
UPDATE_COMPLETE
UPDATE_ROLLBACK_COMPLETE
IMPORT_COMPLETE
IMPORT_ROLLBACK_COMPLETE
Sets a stack policy for a specified stack.
", - "SetTypeConfiguration": "Specifies the configuration data for a registered CloudFormation extension, in the given account and region.
To view the current configuration data for an extension, refer to the ConfigurationSchema
element of DescribeType. For more information, see Configuring extensions at the account level in the CloudFormation User Guide.
It's strongly recommended that you use dynamic references to restrict sensitive configuration definitions, such as third-party credentials. For more details on dynamic references, see Using dynamic references to specify template values in the CloudFormation User Guide.
Specifies the configuration data for a registered CloudFormation extension, in the given account and Region.
To view the current configuration data for an extension, refer to the ConfigurationSchema
element of DescribeType. For more information, see Configuring extensions at the account level in the CloudFormation User Guide.
It's strongly recommended that you use dynamic references to restrict sensitive configuration definitions, such as third-party credentials. For more details on dynamic references, see Using dynamic references to specify template values in the CloudFormation User Guide.
Specify the default version of an extension. The default version of an extension will be used in CloudFormation operations.
", "SignalResource": "Sends a signal to the specified resource with a success or failure status. You can use the SignalResource
operation in conjunction with a creation policy or update policy. CloudFormation doesn't proceed with a stack creation or update until resources receive the required number of signals or the timeout period is exceeded. The SignalResource
operation is useful in cases where you want to send signals from anywhere other than an Amazon EC2 instance.
Stops an in-progress operation on a stack set and its associated stack instances. StackSets will cancel all the unstarted stack instance deployments and wait for those are in-progress to complete.
", - "TestType": "Tests a registered extension to make sure it meets all necessary requirements for being published in the CloudFormation registry.
For resource types, this includes passing all contracts tests defined for the type.
For modules, this includes determining if the module's model meets all necessary requirements.
For more information, see Testing your public extension prior to publishing in the CloudFormation CLI User Guide.
If you don't specify a version, CloudFormation uses the default version of the extension in your account and region for testing.
To perform testing, CloudFormation assumes the execution role specified when the type was registered. For more information, see RegisterType.
Once you've initiated testing on an extension using TestType
, you can pass the returned TypeVersionArn
into DescribeType to monitor the current test status and test status description for the extension.
An extension must have a test status of PASSED
before it can be published. For more information, see Publishing extensions to make them available for public use in the CloudFormation CLI User Guide.
Tests a registered extension to make sure it meets all necessary requirements for being published in the CloudFormation registry.
For resource types, this includes passing all contracts tests defined for the type.
For modules, this includes determining if the module's model meets all necessary requirements.
For more information, see Testing your public extension prior to publishing in the CloudFormation CLI User Guide.
If you don't specify a version, CloudFormation uses the default version of the extension in your account and Region for testing.
To perform testing, CloudFormation assumes the execution role specified when the type was registered. For more information, see RegisterType.
Once you've initiated testing on an extension using TestType
, you can pass the returned TypeVersionArn
into DescribeType to monitor the current test status and test status description for the extension.
An extension must have a test status of PASSED
before it can be published. For more information, see Publishing extensions to make them available for public use in the CloudFormation CLI User Guide.
Updates a stack as specified in the template. After the call completes successfully, the stack update starts. You can check the status of the stack through the DescribeStacks action.
To get a copy of the template for an existing stack, you can use the GetTemplate action.
For more information about creating an update template, updating a stack, and monitoring the progress of the update, see Updating a Stack.
", "UpdateStackInstances": "Updates the parameter values for stack instances for the specified accounts, within the specified Amazon Web Services Regions. A stack instance refers to a stack in a specific account and Region.
You can only update stack instances in Amazon Web Services Regions and accounts where they already exist; to create additional stack instances, use CreateStackInstances.
During stack set updates, any parameters overridden for a stack instance aren't updated, but retain their overridden value.
You can only update the parameter values that are specified in the stack set; to add or delete a parameter itself, use UpdateStackSet to update the stack set template. If you add a parameter to a template, before you can override the parameter value specified in the stack set you must first use UpdateStackSet to update all stack instances with the updated template and parameter value specified in the stack set. Once a stack instance has been updated with the new parameter, you can then override the parameter value using UpdateStackInstances
.
Updates the stack set, and associated stack instances in the specified accounts and Amazon Web Services Regions.
Even if the stack set operation created by updating the stack set fails (completely or partially, below or above a specified failure tolerance), the stack set is updated with your changes. Subsequent CreateStackInstances calls on the specified stack set use the updated stack set.
", @@ -139,6 +142,16 @@ "DeploymentTargets$AccountsUrl": "Returns the value of the AccountsUrl
property.
Whether to automatically update the extension in this account and region when a new minor version is published by the extension publisher. Major versions released by the publisher must be manually updated.
The default is true
.
Whether CloudFormation automatically updates the extension in this account and region when a new minor version is published by the extension publisher. Major versions released by the publisher must be manually updated. For more information, see Activating public extensions for use in your account in the CloudFormation User Guide.
" + "ActivateTypeInput$AutoUpdate": "Whether to automatically update the extension in this account and Region when a new minor version is published by the extension publisher. Major versions released by the publisher must be manually updated.
The default is true
.
Whether CloudFormation automatically updates the extension in this account and Region when a new minor version is published by the extension publisher. Major versions released by the publisher must be manually updated. For more information, see Activating public extensions for use in your account in the CloudFormation User Guide.
" } }, "BatchDescribeTypeConfigurationsError": { @@ -240,6 +253,7 @@ "CreateStackSetInput$CallAs": "[Service-managed permissions] Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.
By default, SELF
is specified. Use SELF
for stack sets with self-managed permissions.
To create a stack set with service-managed permissions while signed in to the management account, specify SELF
.
To create a stack set with service-managed permissions while signed in to a delegated administrator account, specify DELEGATED_ADMIN
.
Your Amazon Web Services account must be registered as a delegated admin in the management account. For more information, see Register a delegated administrator in the CloudFormation User Guide.
Stack sets with service-managed permissions are created in the management account, including stack sets that are created by delegated administrators.
", "DeleteStackInstancesInput$CallAs": "[Service-managed permissions] Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.
By default, SELF
is specified. Use SELF
for stack sets with self-managed permissions.
If you are signed in to the management account, specify SELF
.
If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN
.
Your Amazon Web Services account must be registered as a delegated administrator in the management account. For more information, see Register a delegated administrator in the CloudFormation User Guide.
[Service-managed permissions] Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.
By default, SELF
is specified. Use SELF
for stack sets with self-managed permissions.
If you are signed in to the management account, specify SELF
.
If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN
.
Your Amazon Web Services account must be registered as a delegated administrator in the management account. For more information, see Register a delegated administrator in the CloudFormation User Guide.
[Service-managed permissions] Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.
By default, SELF
is specified.
If you are signed in to the management account, specify SELF
.
If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN
.
Your Amazon Web Services account must be registered as a delegated administrator in the management account. For more information, see Register a delegated administrator in the CloudFormation User Guide.
[Service-managed permissions] Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.
By default, SELF
is specified. Use SELF
for stack sets with self-managed permissions.
If you are signed in to the management account, specify SELF
.
If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN
.
Your Amazon Web Services account must be registered as a delegated administrator in the management account. For more information, see Register a delegated administrator in the CloudFormation User Guide.
[Service-managed permissions] Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.
By default, SELF
is specified. Use SELF
for stack sets with self-managed permissions.
If you are signed in to the management account, specify SELF
.
If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN
.
Your Amazon Web Services account must be registered as a delegated administrator in the management account. For more information, see Register a delegated administrator in the CloudFormation User Guide.
[Service-managed permissions] Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.
By default, SELF
is specified. Use SELF
for stack sets with self-managed permissions.
If you are signed in to the management account, specify SELF
.
If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN
.
Your Amazon Web Services account must be registered as a delegated administrator in the management account. For more information, see Register a delegated administrator in the CloudFormation User Guide.
The category of extensions to return.
REGISTERED
: Private extensions that have been registered for this account and region.
ACTIVATED
: Public extensions that have been activated for this account and region.
THIRD_PARTY
: Extensions available for use from publishers other than Amazon. This includes:
Private extensions registered in the account.
Public extensions from publishers other than Amazon, whether activated or not.
AWS_TYPES
: Extensions available for use from Amazon.
The category of extensions to return.
REGISTERED
: Private extensions that have been registered for this account and Region.
ACTIVATED
: Public extensions that have been activated for this account and Region.
THIRD_PARTY
: Extensions available for use from publishers other than Amazon. This includes:
Private extensions registered in the account.
Public extensions from publishers other than Amazon, whether activated or not.
AWS_TYPES
: Extensions available for use from Amazon.
A JSON string that represent the current configuration data for the extension in this account and region.
To set the configuration data for an extension, use SetTypeConfiguration. For more information, see Configuring extensions at the account level in the CloudFormation User Guide.
" + "DescribeTypeOutput$ConfigurationSchema": "A JSON string that represent the current configuration data for the extension in this account and Region.
To set the configuration data for an extension, use SetTypeConfiguration. For more information, see Configuring extensions at the account level in the CloudFormation User Guide.
" } }, "ConnectionArn": { @@ -549,6 +563,16 @@ "StackSummary$CreationTime": "The time the stack was created.
" } }, + "DeactivateOrganizationsAccessInput": { + "base": null, + "refs": { + } + }, + "DeactivateOrganizationsAccessOutput": { + "base": null, + "refs": { + } + }, "DeactivateTypeInput": { "base": null, "refs": { @@ -659,6 +683,16 @@ "refs": { } }, + "DescribeOrganizationsAccessInput": { + "base": null, + "refs": { + } + }, + "DescribeOrganizationsAccessOutput": { + "base": null, + "refs": { + } + }, "DescribePublisherInput": { "base": null, "refs": { @@ -1138,8 +1172,8 @@ "IsActivated": { "base": null, "refs": { - "DescribeTypeOutput$IsActivated": "Whether the extension is activated in the account and region.
This only applies to public third-party extensions. For all other extensions, CloudFormation returns null
.
Whether the extension is activated for this account and region.
This applies only to third-party public extensions. Extensions published by Amazon are activated by default.
" + "DescribeTypeOutput$IsActivated": "Whether the extension is activated in the account and Region.
This only applies to public third-party extensions. For all other extensions, CloudFormation returns null
.
Whether the extension is activated for this account and Region.
This applies only to third-party public extensions. Extensions published by Amazon are activated by default.
" } }, "IsDefaultConfiguration": { @@ -1314,7 +1348,7 @@ "LoggingConfig": { "base": "Contains logging configuration information for an extension.
", "refs": { - "ActivateTypeInput$LoggingConfig": null, + "ActivateTypeInput$LoggingConfig": "Contains logging configuration information for an extension.
", "DescribeTypeOutput$LoggingConfig": "Contains logging configuration information for private extensions. This applies only to private extensions you have registered in your account. For public extensions, both those provided by Amazon Web Services and published by third parties, CloudFormation returns null
. For more information, see RegisterType.
Specifies logging configuration information for an extension.
" } @@ -1322,7 +1356,7 @@ "LogicalIdHierarchy": { "base": null, "refs": { - "ModuleInfo$LogicalIdHierarchy": "A concatenated list of the logical IDs of the module or modules containing the resource. Modules are listed starting with the inner-most nested module, and separated by /
.
In the following example, the resource was created from a module, moduleA
, that's nested inside a parent module, moduleB
.
moduleA/moduleB
For more information, see Referencing resources in a module in the CloudFormation User Guide.
" + "ModuleInfo$LogicalIdHierarchy": "A concatenated list of the logical IDs of the module or modules containing the resource. Modules are listed starting with the inner-most nested module, and separated by /
.
In the following example, the resource was created from a module, moduleA
, that's nested inside a parent module, moduleB
.
moduleA/moduleB
For more information, see Referencing resources in a module in the CloudFormation User Guide.
" } }, "LogicalResourceId": { @@ -1405,7 +1439,7 @@ } }, "ModuleInfo": { - "base": "Contains information about the module from which the resource was created, if the resource was created from a module included in the stack template.
For more information about modules, see Using modules to encapsulate and reuse resource configurations in the CloudFormation User Guide.
", + "base": "Contains information about the module from which the resource was created, if the resource was created from a module included in the stack template.
For more information about modules, see Using modules to encapsulate and reuse resource configurations in the CloudFormation User Guide.
", "refs": { "ResourceChange$ModuleInfo": "Contains information about the module from which the resource was created, if the resource was created from a module included in the stack template.
", "StackResource$ModuleInfo": "Contains information about the module from which the resource was created, if the resource was created from a module included in the stack template.
", @@ -1553,6 +1587,12 @@ "DescribeTypeOutput$DocumentationUrl": "The URL of a page providing detailed documentation for this extension.
" } }, + "OrganizationStatus": { + "base": null, + "refs": { + "DescribeOrganizationsAccessOutput$Status": "Presents the status of the OrganizationAccess
.
The Amazon Resource Name (ARN) of the activated extension, in this account and region.
", - "DeactivateTypeInput$Arn": "The Amazon Resource Name (ARN) for the extension, in this account and region.
Conditional: You must specify either Arn
, or TypeName
and Type
.
The Amazon Resource Name (ARN) of the activated extension, in this account and Region.
", + "DeactivateTypeInput$Arn": "The Amazon Resource Name (ARN) for the extension, in this account and Region.
Conditional: You must specify either Arn
, or TypeName
and Type
.
The Amazon Resource Name (ARN) of the extension.
Conditional: You must specify either TypeName
and Type
, or Arn
.
The Amazon Resource Name (ARN) of the extension.
Conditional: You must specify Arn
, or TypeName
and Type
.
The Amazon Resource Name (ARN) of the extension for which you want version summary information.
Conditional: You must specify either TypeName
and Type
, or Arn
.
The version number of a public third-party extension.
This applies only if you specify a public extension you have activated in your account, or specify a public extension without specifying a version. For all other extensions, CloudFormation returns null
.
The latest version of a public extension that is available for use.
This only applies if you specify a public extension, and you don't specify a version. For all other requests, CloudFormation returns null
.
The version number to assign to this version of the extension.
Use the following format, and adhere to semantic versioning when assigning a version number to your extension:
MAJOR.MINOR.PATCH
For more information, see Semantic Versioning 2.0.0.
If you don't specify a version number, CloudFormation increments the version number by one minor version release.
You cannot specify a version number the first time you publish a type. CloudFormation automatically sets the first version number to be 1.0.0
.
For public extensions that have been activated for this account and region, the version of the public extension to be used for CloudFormation operations in this account and Region.
How you specified AutoUpdate
when enabling the extension affects whether CloudFormation automatically updates the extension in this account and region when a new version is released. For more information, see Setting CloudFormation to automatically use new versions of extensions in the CloudFormation User Guide.
For public extensions that have been activated for this account and region, the latest version of the public extension that is available. For any extensions other than activated third-arty extensions, CloudFormation returns null
.
How you specified AutoUpdate
when enabling the extension affects whether CloudFormation automatically updates the extension in this account and region when a new version is released. For more information, see Setting CloudFormation to automatically use new versions of extensions in the CloudFormation User Guide.
For public extensions that have been activated for this account and region, the version of the public extension to be used for CloudFormation operations in this account and region. For any extensions other than activated third-arty extensions, CloudFormation returns null
.
How you specified AutoUpdate
when enabling the extension affects whether CloudFormation automatically updates the extension in this account and region when a new version is released. For more information, see Setting CloudFormation to automatically use new versions of extensions in the CloudFormation User Guide.
For public extensions that have been activated for this account and Region, the version of the public extension to be used for CloudFormation operations in this account and Region.
How you specified AutoUpdate
when enabling the extension affects whether CloudFormation automatically updates the extension in this account and Region when a new version is released. For more information, see Setting CloudFormation to automatically use new versions of extensions in the CloudFormation User Guide.
For public extensions that have been activated for this account and Region, the latest version of the public extension that is available. For any extensions other than activated third-arty extensions, CloudFormation returns null
.
How you specified AutoUpdate
when enabling the extension affects whether CloudFormation automatically updates the extension in this account and Region when a new version is released. For more information, see Setting CloudFormation to automatically use new versions of extensions in the CloudFormation User Guide.
For public extensions that have been activated for this account and Region, the version of the public extension to be used for CloudFormation operations in this account and Region. For any extensions other than activated third-arty extensions, CloudFormation returns null
.
How you specified AutoUpdate
when enabling the extension affects whether CloudFormation automatically updates the extension in this account and Region when a new version is released. For more information, see Setting CloudFormation to automatically use new versions of extensions in the CloudFormation User Guide.
The names of one or more Amazon Web Services Regions where you want to create stack instances using the specified Amazon Web Services accounts.
", "DeleteStackInstancesInput$Regions": "The Amazon Web Services Regions where you want to delete stack set instances.
", - "StackSet$Regions": null, + "StackSet$Regions": "Returns a list of all Amazon Web Services Regions the given StackSet has stack instances deployed in. The Amazon Web Services Regions list output is in no particular order.
", "StackSetOperationPreferences$RegionOrder": "The order of the Regions in where you want to perform the stack operation.
", "UpdateStackInstancesInput$Regions": "The names of one or more Amazon Web Services Regions in which you want to update parameter values for stack instances. The overridden parameter values will be applied to all stack instances in the specified accounts and Amazon Web Services Regions.
", "UpdateStackSetInput$Regions": "The Amazon Web Services Regions in which to update associated stack instances. If you specify Regions, you must also specify accounts in which to update stack set instances.
To update all the stack instances associated with this stack set, do not specify the Accounts
or Regions
properties.
If the stack set update includes changes to the template (that is, if the TemplateBody
or TemplateURL
properties are specified), or the Parameters
property, CloudFormation marks all stack instances with a status of OUTDATED
prior to updating the stack instances in the specified accounts and Regions. If the stack set update does not include changes to the template or parameters, CloudFormation updates the stack instances in the specified accounts and Regions, while leaving all other stack instances with their existing stack instance status.
The name of the IAM execution role to use to activate the extension.
", "DescribeTypeOutput$ExecutionRoleArn": "The Amazon Resource Name (ARN) of the IAM execution role used to register the extension. This applies only to private extensions you have registered in your account. For more information, see RegisterType.
If the registered extension calls any Amazon Web Services APIs, you must create an IAM execution role that includes the necessary permissions to call those Amazon Web Services APIs, and provision that execution role in your account. CloudFormation then assumes that execution role to provide your extension with the appropriate credentials.
", "LoggingConfig$LogRoleArn": "The Amazon Resource Name (ARN) of the role that CloudFormation should assume when sending log entries to CloudWatch Logs.
", - "RegisterTypeInput$ExecutionRoleArn": "The Amazon Resource Name (ARN) of the IAM role for CloudFormation to assume when invoking the extension.
For CloudFormation to assume the specified execution role, the role must contain a trust relationship with the CloudFormation service principle (resources.cloudformation.amazonaws.com
). For more information about adding trust relationships, see Modifying a role trust policy in the Identity and Access Management User Guide.
If your extension calls Amazon Web Services APIs in any of its handlers, you must create an IAM execution role that includes the necessary permissions to call those Amazon Web Services APIs, and provision that execution role in your account. When CloudFormation needs to invoke the resource type handler, CloudFormation assumes this execution role to create a temporary session token, which it then passes to the resource type handler, thereby supplying your resource type with the appropriate credentials.
" + "RegisterTypeInput$ExecutionRoleArn": "The Amazon Resource Name (ARN) of the IAM role for CloudFormation to assume when invoking the extension.
For CloudFormation to assume the specified execution role, the role must contain a trust relationship with the CloudFormation service principle (resources.cloudformation.amazonaws.com
). For more information about adding trust relationships, see Modifying a role trust policy in the Identity and Access Management User Guide.
If your extension calls Amazon Web Services APIs in any of its handlers, you must create an IAM execution role that includes the necessary permissions to call those Amazon Web Services APIs, and provision that execution role in your account. When CloudFormation needs to invoke the resource type handler, CloudFormation assumes this execution role to create a temporary session token, which it then passes to the resource type handler, thereby supplying your resource type with the appropriate credentials.
" } }, "RollbackConfiguration": { @@ -2248,13 +2288,13 @@ "StackDriftInformation": { "base": "Contains information about whether the stack's actual configuration differs, or has drifted, from its expected configuration, as defined in the stack template and any values specified as template parameters. A stack is considered to have drifted if one or more of its resources have drifted.
", "refs": { - "Stack$DriftInformation": "Information about whether a stack's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.
" + "Stack$DriftInformation": "Information about whether a stack's actual configuration differs, or has drifted, from its expected configuration, as defined in the stack template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.
" } }, "StackDriftInformationSummary": { "base": "Contains information about whether the stack's actual configuration differs, or has drifted, from its expected configuration, as defined in the stack template and any values specified as template parameters. A stack is considered to have drifted if one or more of its resources have drifted.
", "refs": { - "StackSummary$DriftInformation": "Summarizes information about whether a stack's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.
" + "StackSummary$DriftInformation": "Summarizes information about whether a stack's actual configuration differs, or has drifted, from its expected configuration, as defined in the stack template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.
" } }, "StackDriftStatus": { @@ -2391,7 +2431,7 @@ "StackName": { "base": null, "refs": { - "CancelUpdateStackInput$StackName": "The name or the unique stack ID that's associated with the stack.
", + "CancelUpdateStackInput$StackName": "If you don't pass a parameter to StackName
, the API returns a response that describes all resources in the account.
The IAM policy below can be added to IAM policies when you want to limit resource-level permissions and avoid returning a response when no parameter is sent in the request:
{ \"Version\": \"2012-10-17\", \"Statement\": [{ \"Effect\": \"Deny\", \"Action\": \"cloudformation:DescribeStacks\", \"NotResource\": \"arn:aws:cloudformation:*:*:stack/*/*\" }] }
The name or the unique stack ID that's associated with the stack.
", "ChangeSetSummary$StackName": "The name of the stack with which the change set is associated.
", "CreateStackInput$StackName": "The name that's associated with the stack. The name must be unique in the Region in which you are creating the stack.
A stack name can contain only alphanumeric characters (case sensitive) and hyphens. It must start with an alphabetical character and can't be longer than 128 characters.
The name or the unique stack ID that's associated with the stack.
", @@ -2400,7 +2440,7 @@ "DescribeStackEventsInput$StackName": "The name or the unique stack ID that's associated with the stack, which aren't always interchangeable:
Running stacks: You can specify either the stack's name or its unique stack ID.
Deleted stacks: You must specify the unique stack ID.
Default: There is no default value.
", "DescribeStackResourceInput$StackName": "The name or the unique stack ID that's associated with the stack, which aren't always interchangeable:
Running stacks: You can specify either the stack's name or its unique stack ID.
Deleted stacks: You must specify the unique stack ID.
Default: There is no default value.
", "DescribeStackResourcesInput$StackName": "The name or the unique stack ID that is associated with the stack, which aren't always interchangeable:
Running stacks: You can specify either the stack's name or its unique stack ID.
Deleted stacks: You must specify the unique stack ID.
Default: There is no default value.
Required: Conditional. If you don't specify StackName
, you must specify PhysicalResourceId
.
The name or the unique stack ID that's associated with the stack, which aren't always interchangeable:
Running stacks: You can specify either the stack's name or its unique stack ID.
Deleted stacks: You must specify the unique stack ID.
Default: There is no default value.
", + "DescribeStacksInput$StackName": "If you don't pass a parameter to StackName
, the API returns a response that describes all resources in the account. This requires ListStacks
and DescribeStacks
permissions.
The IAM policy below can be added to IAM policies when you want to limit resource-level permissions and avoid returning a response when no parameter is sent in the request:
{ \"Version\": \"2012-10-17\", \"Statement\": [{ \"Effect\": \"Deny\", \"Action\": \"cloudformation:DescribeStacks\", \"NotResource\": \"arn:aws:cloudformation:*:*:stack/*/*\" }] }
The name or the unique stack ID that's associated with the stack, which aren't always interchangeable:
Running stacks: You can specify either the stack's name or its unique stack ID.
Deleted stacks: You must specify the unique stack ID.
Default: There is no default value.
", "GetStackPolicyInput$StackName": "The name or unique stack ID that's associated with the stack whose policy you want to get.
", "GetTemplateInput$StackName": "The name or the unique stack ID that's associated with the stack, which aren't always interchangeable:
Running stacks: You can specify either the stack's name or its unique stack ID.
Deleted stacks: You must specify the unique stack ID.
Default: There is no default value.
", "Imports$member": null, @@ -2636,10 +2676,10 @@ "refs": { "CreateStackInstancesInput$OperationPreferences": "Preferences for how CloudFormation performs this stack set operation.
", "DeleteStackInstancesInput$OperationPreferences": "Preferences for how CloudFormation performs this stack set operation.
", - "DetectStackSetDriftInput$OperationPreferences": null, - "ImportStacksToStackSetInput$OperationPreferences": null, + "DetectStackSetDriftInput$OperationPreferences": "The user-specified preferences for how CloudFormation performs a stack set operation.
For more information about maximum concurrent accounts and failure tolerance, see Stack set operation options.
", + "ImportStacksToStackSetInput$OperationPreferences": "The user-specified preferences for how CloudFormation performs a stack set operation.
For more information about maximum concurrent accounts and failure tolerance, see Stack set operation options.
", "StackSetOperation$OperationPreferences": "The preferences for how CloudFormation performs this stack set operation.
", - "StackSetOperationSummary$OperationPreferences": null, + "StackSetOperationSummary$OperationPreferences": "The user-specified preferences for how CloudFormation performs a stack set operation.
For more information about maximum concurrent accounts and failure tolerance, see Stack set operation options.
", "UpdateStackInstancesInput$OperationPreferences": "Preferences for how CloudFormation performs this stack set operation.
", "UpdateStackSetInput$OperationPreferences": "Preferences for how CloudFormation performs this stack set operation.
" } @@ -2974,17 +3014,17 @@ "refs": { "DescribeTypeInput$Arn": "The Amazon Resource Name (ARN) of the extension.
Conditional: You must specify either TypeName
and Type
, or Arn
.
The Amazon Resource Name (ARN) of the extension.
", - "DescribeTypeOutput$OriginalTypeArn": "For public extensions that have been activated for this account and region, the Amazon Resource Name (ARN) of the public extension.
", + "DescribeTypeOutput$OriginalTypeArn": "For public extensions that have been activated for this account and Region, the Amazon Resource Name (ARN) of the public extension.
", "DescribeTypeRegistrationOutput$TypeArn": "The Amazon Resource Name (ARN) of the extension being registered.
For registration requests with a ProgressStatus
of other than COMPLETE
, this will be null
.
The Amazon Resource Name (ARN) of this specific version of the extension being registered.
For registration requests with a ProgressStatus
of other than COMPLETE
, this will be null
.
The Amazon Resource Name (ARN) of the extension.
Conditional: You must specify either TypeName
and Type
, or Arn
.
The Amazon Resource Name (ARN) of the extension for which you want version summary information.
Conditional: You must specify either TypeName
and Type
, or Arn
.
The Amazon Resource Name (ARN) assigned to the public extension upon publication.
", - "SetTypeConfigurationInput$TypeArn": "The Amazon Resource Name (ARN) for the extension, in this account and region.
For public extensions, this will be the ARN assigned when you activate the type in this account and region. For private extensions, this will be the ARN assigned when you register the type in this account and region.
Do not include the extension versions suffix at the end of the ARN. You can set the configuration for an extension, but not for a specific extension version.
", + "SetTypeConfigurationInput$TypeArn": "The Amazon Resource Name (ARN) for the extension, in this account and Region.
For public extensions, this will be the ARN assigned when you activate the type in this account and Region. For private extensions, this will be the ARN assigned when you register the type in this account and Region.
Do not include the extension versions suffix at the end of the ARN. You can set the configuration for an extension, but not for a specific extension version.
", "TestTypeInput$Arn": "The Amazon Resource Name (ARN) of the extension.
Conditional: You must specify Arn
, or TypeName
and Type
.
The Amazon Resource Name (ARN) of the extension.
", - "TypeConfigurationDetails$TypeArn": "The Amazon Resource Name (ARN) for the extension, in this account and region.
For public extensions, this will be the ARN assigned when you activate the type in this account and region. For private extensions, this will be the ARN assigned when you register the type in this account and region.
", - "TypeConfigurationIdentifier$TypeArn": "The Amazon Resource Name (ARN) for the extension, in this account and region.
For public extensions, this will be the ARN assigned when you activate the type in this account and region. For private extensions, this will be the ARN assigned when you register the type in this account and region.
", + "TypeConfigurationDetails$TypeArn": "The Amazon Resource Name (ARN) for the extension, in this account and Region.
For public extensions, this will be the ARN assigned when you activate the type in this account and Region. For private extensions, this will be the ARN assigned when you register the type in this account and Region.
", + "TypeConfigurationIdentifier$TypeArn": "The Amazon Resource Name (ARN) for the extension, in this account and Region.
For public extensions, this will be the ARN assigned when you activate the type in this account and Region. For private extensions, this will be the ARN assigned when you register the type in this account and Region.
", "TypeSummary$TypeArn": "The Amazon Resource Name (ARN) of the extension.
", "TypeVersionSummary$Arn": "The Amazon Resource Name (ARN) of the extension version.
" } @@ -2992,8 +3032,8 @@ "TypeConfiguration": { "base": null, "refs": { - "SetTypeConfigurationInput$Configuration": "The configuration data for the extension, in this account and region.
The configuration data must be formatted as JSON, and validate against the schema returned in the ConfigurationSchema
response element of API_DescribeType. For more information, see Defining account-level configuration data for an extension in the CloudFormation CLI User Guide.
A JSON string specifying the configuration data for the extension, in this account and region.
If a configuration hasn't been set for a specified extension, CloudFormation returns {}
.
The configuration data for the extension, in this account and Region.
The configuration data must be formatted as JSON, and validate against the schema returned in the ConfigurationSchema
response element of DescribeType. For more information, see Defining account-level configuration data for an extension in the CloudFormation CLI User Guide.
A JSON string specifying the configuration data for the extension, in this account and Region.
If a configuration hasn't been set for a specified extension, CloudFormation returns {}
.
The Amazon Resource Name (ARN) for the configuration data, in this account and region.
Conditional: You must specify ConfigurationArn
, or Type
and TypeName
.
The Amazon Resource Name (ARN) for the configuration data, in this account and region.
", - "TypeConfigurationIdentifier$TypeConfigurationArn": "The Amazon Resource Name (ARN) for the configuration, in this account and region.
" + "SetTypeConfigurationOutput$ConfigurationArn": "The Amazon Resource Name (ARN) for the configuration data, in this account and Region.
Conditional: You must specify ConfigurationArn
, or Type
and TypeName
.
The Amazon Resource Name (ARN) for the configuration data, in this account and Region.
", + "TypeConfigurationIdentifier$TypeConfigurationArn": "The Amazon Resource Name (ARN) for the configuration, in this account and Region.
" } }, "TypeConfigurationDetails": { - "base": "Detailed information concerning the specification of a CloudFormation extension in a given account and region.
For more information, see Configuring extensions at the account level in the CloudFormation User Guide.
", + "base": "Detailed information concerning the specification of a CloudFormation extension in a given account and Region.
For more information, see Configuring extensions at the account level in the CloudFormation User Guide.
", "refs": { "TypeConfigurationDetailsList$member": null } @@ -3027,7 +3067,7 @@ "TypeConfigurationIdentifier": { "base": "Identifying information for the configuration of a CloudFormation extension.
", "refs": { - "BatchDescribeTypeConfigurationsError$TypeConfigurationIdentifier": null, + "BatchDescribeTypeConfigurationsError$TypeConfigurationIdentifier": "Identifying information for the configuration of a CloudFormation extension.
", "TypeConfigurationIdentifiers$member": null, "UnprocessedTypeConfigurations$member": null } @@ -3059,25 +3099,25 @@ "base": null, "refs": { "ActivateTypeInput$TypeName": "The name of the extension.
Conditional: You must specify PublicTypeArn
, or TypeName
, Type
, and PublisherId
.
An alias to assign to the public extension, in this account and region. If you specify an alias for the extension, CloudFormation treats the alias as the extension type name within this account and region. You must use the alias to refer to the extension in your templates, API calls, and CloudFormation console.
An extension alias must be unique within a given account and region. You can activate the same public resource multiple times in the same account and region, using different type name aliases.
", - "DeactivateTypeInput$TypeName": "The type name of the extension, in this account and region. If you specified a type name alias when enabling the extension, use the type name alias.
Conditional: You must specify either Arn
, or TypeName
and Type
.
An alias to assign to the public extension, in this account and Region. If you specify an alias for the extension, CloudFormation treats the alias as the extension type name within this account and Region. You must use the alias to refer to the extension in your templates, API calls, and CloudFormation console.
An extension alias must be unique within a given account and Region. You can activate the same public resource multiple times in the same account and Region, using different type name aliases.
", + "DeactivateTypeInput$TypeName": "The type name of the extension, in this account and Region. If you specified a type name alias when enabling the extension, use the type name alias.
Conditional: You must specify either Arn
, or TypeName
and Type
.
The name of the extension.
Conditional: You must specify either TypeName
and Type
, or Arn
.
The name of the extension.
Conditional: You must specify either TypeName
and Type
, or Arn
.
The name of the extension.
If the extension is a public third-party type you have activated with a type name alias, CloudFormation returns the type name alias. For more information, see ActivateType.
", - "DescribeTypeOutput$OriginalTypeName": "For public extensions that have been activated for this account and region, the type name of the public extension.
If you specified a TypeNameAlias
when enabling the extension in this account and region, CloudFormation treats that alias as the extension's type name within the account and region, not the type name of the public extension. For more information, see Specifying aliases to refer to extensions in the CloudFormation User Guide.
For public extensions that have been activated for this account and Region, the type name of the public extension.
If you specified a TypeNameAlias
when enabling the extension in this account and Region, CloudFormation treats that alias as the extension's type name within the account and Region, not the type name of the public extension. For more information, see Specifying aliases to refer to extensions in the CloudFormation User Guide.
The name of the extension.
Conditional: You must specify either TypeName
and Type
, or Arn
.
The name of the extension for which you want version summary information.
Conditional: You must specify either TypeName
and Type
, or Arn
.
The name of the extension.
Conditional: You must specify Arn
, or TypeName
and Type
.
The name of the extension being registered.
We suggest that extension names adhere to the following patterns:
For resource types, company_or_organization::service::type.
For modules, company_or_organization::service::type::MODULE.
For hooks, MyCompany::Testing::MyTestHook.
The following organization namespaces are reserved and can't be used in your extension names:
Alexa
AMZN
Amazon
AWS
Custom
Dev
An alias assigned to the public extension, in this account and region. If you specify an alias for the extension, CloudFormation treats the alias as the extension type name within this account and region. You must use the alias to refer to the extension in your templates, API calls, and CloudFormation console.
", - "RequiredActivatedType$OriginalTypeName": "The type name of the public extension.
If you specified a TypeNameAlias
when enabling the extension in this account and region, CloudFormation treats that alias as the extension's type name within the account and region, not the type name of the public extension. For more information, see Specifying aliases to refer to extensions in the CloudFormation User Guide.
An alias assigned to the public extension, in this account and Region. If you specify an alias for the extension, CloudFormation treats the alias as the extension type name within this account and Region. You must use the alias to refer to the extension in your templates, API calls, and CloudFormation console.
", + "RequiredActivatedType$OriginalTypeName": "The type name of the public extension.
If you specified a TypeNameAlias
when enabling the extension in this account and Region, CloudFormation treats that alias as the extension's type name within the account and Region, not the type name of the public extension. For more information, see Specifying aliases to refer to extensions in the CloudFormation User Guide.
The name of the extension.
Conditional: You must specify ConfigurationArn
, or Type
and TypeName
.
The name of the extension.
Conditional: You must specify either TypeName
and Type
, or Arn
.
The name of the extension to test.
Conditional: You must specify Arn
, or TypeName
and Type
.
The name of the extension.
", "TypeConfigurationIdentifier$TypeName": "The name of the extension type to which this configuration applies.
", - "TypeSummary$TypeName": "The name of the extension.
If you specified a TypeNameAlias
when you activate this extension in your account and region, CloudFormation considers that alias as the type name.
For public extensions that have been activated for this account and region, the type name of the public extension.
If you specified a TypeNameAlias
when enabling the extension in this account and region, CloudFormation treats that alias as the extension's type name within the account and region, not the type name of the public extension. For more information, see Specifying aliases to refer to extensions in the CloudFormation User Guide.
The name of the extension.
If you specified a TypeNameAlias
when you activate this extension in your account and Region, CloudFormation considers that alias as the type name.
For public extensions that have been activated for this account and Region, the type name of the public extension.
If you specified a TypeNameAlias
when enabling the extension in this account and Region, CloudFormation treats that alias as the extension's type name within the account and Region, not the type name of the public extension. For more information, see Specifying aliases to refer to extensions in the CloudFormation User Guide.
The name of the extension.
" } }, @@ -3129,7 +3169,7 @@ "DescribeTypeInput$VersionId": "The ID of a specific version of the extension. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the extension version when it is registered.
If you specify a VersionId
, DescribeType
returns information about that specific extension version. Otherwise, it returns information about the default extension version.
The ID of the default version of the extension. The default version is used when the extension version isn't specified.
This applies only to private extensions you have registered in your account. For public extensions, both those provided by Amazon Web Services and published by third parties, CloudFormation returns null
. For more information, see RegisterType.
To set the default version of an extension, use SetTypeDefaultVersion
.
The ID of a specific version of the extension. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the extension version when it is registered.
", - "TestTypeInput$VersionId": "The version of the extension to test.
You can specify the version id with either Arn
, or with TypeName
and Type
.
If you don't specify a version, CloudFormation uses the default version of the extension in this account and region for testing.
", + "TestTypeInput$VersionId": "The version of the extension to test.
You can specify the version id with either Arn
, or with TypeName
and Type
.
If you don't specify a version, CloudFormation uses the default version of the extension in this account and Region for testing.
", "TypeSummary$DefaultVersionId": "The ID of the default version of the extension. The default version is used when the extension version isn't specified.
This applies only to private extensions you have registered in your account. For public extensions, both those provided by Amazon and published by third parties, CloudFormation returns null
. For more information, see RegisterType.
To set the default version of an extension, use SetTypeDefaultVersion
.
The ID of a specific version of the extension. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the extension version when it's registered.
" } @@ -3244,7 +3284,7 @@ "base": null, "refs": { "DescribeTypeOutput$Visibility": "The scope at which the extension is visible and usable in CloudFormation operations.
Valid values include:
PRIVATE
: The extension is only visible and usable within the account in which it is registered. CloudFormation marks any extensions you register as PRIVATE
.
PUBLIC
: The extension is publicly visible and usable within any Amazon Web Services account.
The scope at which the extensions are visible and usable in CloudFormation operations.
Valid values include:
PRIVATE
: Extensions that are visible and usable within this account and region. This includes:
Private extensions you have registered in this account and region.
Public extensions that you have activated in this account and region.
PUBLIC
: Extensions that are publicly visible and available to be activated within any Amazon Web Services account. This includes extensions from Amazon Web Services, in addition to third-party publishers.
The default is PRIVATE
.
The scope at which the extensions are visible and usable in CloudFormation operations.
Valid values include:
PRIVATE
: Extensions that are visible and usable within this account and Region. This includes:
Private extensions you have registered in this account and Region.
Public extensions that you have activated in this account and Region.
PUBLIC
: Extensions that are publicly visible and available to be activated within any Amazon Web Services account. This includes extensions from Amazon Web Services, in addition to third-party publishers.
The default is PRIVATE
.
The FinSpace management service provides the APIs for managing FinSpace environments.
", "operations": { "CreateEnvironment": "Create a new FinSpace environment.
", + "CreateKxChangeset": "Creates a changeset for a kdb database. A changeset allows you to add and delete existing files by using an ordered list of change requests.
", + "CreateKxCluster": "Creates a new kdb cluster.
", + "CreateKxDatabase": "Creates a new kdb database in the environment.
", + "CreateKxEnvironment": "Creates a managed kdb environment for the account.
", + "CreateKxUser": "Creates a user in FinSpace kdb environment with an associated IAM role.
", "DeleteEnvironment": "Delete an FinSpace environment.
", + "DeleteKxCluster": "Deletes a kdb cluster.
", + "DeleteKxDatabase": "Deletes the specified database and all of its associated data. This action is irreversible. You must copy any data out of the database before deleting it if the data is to be retained.
", + "DeleteKxEnvironment": "Deletes the kdb environment. This action is irreversible. Deleting a kdb environment will remove all the associated data and any services running in it.
", + "DeleteKxUser": "Deletes a user in the specified kdb environment.
", "GetEnvironment": "Returns the FinSpace environment object.
", + "GetKxChangeset": "Returns information about a kdb changeset.
", + "GetKxCluster": "Retrieves information about a kdb cluster.
", + "GetKxConnectionString": "Retrieves a connection string for a user to connect to a kdb cluster. You must call this API using the same role that you have defined while creating a user.
", + "GetKxDatabase": "Returns database information for the specified environment ID.
", + "GetKxEnvironment": "Retrieves all the information for the specified kdb environment.
", + "GetKxUser": "Retrieves information about the specified kdb user.
", "ListEnvironments": "A list of all of your FinSpace environments.
", + "ListKxChangesets": "Returns a list of all the changesets for a database.
", + "ListKxClusterNodes": "Lists all the nodes in a kdb cluster.
", + "ListKxClusters": "Returns a list of clusters.
", + "ListKxDatabases": "Returns a list of all the databases in the kdb environment.
", + "ListKxEnvironments": "Returns a list of kdb environments created in an account.
", + "ListKxUsers": "Lists all the users in a kdb environment.
", "ListTagsForResource": "A list of all tags for a resource.
", "TagResource": "Adds metadata tags to a FinSpace resource.
", "UntagResource": "Removes metadata tags from a FinSpace resource.
", - "UpdateEnvironment": "Update your FinSpace environment.
" + "UpdateEnvironment": "Update your FinSpace environment.
", + "UpdateKxClusterDatabases": "Updates the databases mounted on a kdb cluster, which includes the changesetId
and all the dbPaths to be cached. This API does not allow you to change a database name or add a database if you created a cluster without one.
Using this API you can point a cluster to a different changeset and modify a list of partitions being cached.
", + "UpdateKxDatabase": "Updates information for the given kdb database.
", + "UpdateKxEnvironment": "Updates information for the given kdb environment.
", + "UpdateKxEnvironmentNetwork": "Updates environment network to connect to your internal network by using a transit gateway. This API supports request to create a transit gateway attachment from FinSpace VPC to your transit gateway ID and create a custom Route-53 outbound resolvers.
Once you send a request to update a network, you cannot change it again. Network update might require termination of any clusters that are running in the existing network.
", + "UpdateKxUser": "Updates the user details. You can only update the IAM role associated with a user.
" }, "shapes": { "AccessDeniedException": { @@ -23,168 +49,991 @@ "FederationParameters$attributeMap": "SAML attribute name and value. The name must always be Email
and the value should be set to the attribute definition in which user email is set. For example, name would be Email
and value http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
. Please check your SAML 2.0 compliant identity provider (IdP) documentation for details.
The configuration based on which FinSpace will scale in or scale out nodes in your cluster.
", + "refs": { + "CreateKxClusterRequest$autoScalingConfiguration": "The configuration based on which FinSpace will scale in or scale out nodes in your cluster.
", + "CreateKxClusterResponse$autoScalingConfiguration": "The configuration based on which FinSpace will scale in or scale out nodes in your cluster.
", + "GetKxClusterResponse$autoScalingConfiguration": "The configuration based on which FinSpace will scale in or scale out nodes in your cluster.
" + } + }, + "AutoScalingMetric": { + "base": null, + "refs": { + "AutoScalingConfiguration$autoScalingMetric": " The metric your cluster will track in order to scale in and out. For example, CPU_UTILIZATION_PERCENTAGE
is the average CPU usage across all the nodes in a cluster.
The desired value of the chosen autoScalingMetric
. When the metric drops below this value, the cluster will scale in. When the metric goes above this value, the cluster will scale out. You can set the target value between 1 and 100 percent.
The availability zone identifiers for the requested regions.
", + "CreateKxClusterResponse$availabilityZoneId": "The availability zone identifiers for the requested regions.
", + "GetKxClusterResponse$availabilityZoneId": "The availability zone identifiers for the requested regions.
", + "KxCluster$availabilityZoneId": "The availability zone identifiers for the requested regions.
", + "KxNode$availabilityZoneId": "The identifier of the availability zones where subnets for the environment are created.
" + } + }, + "AvailabilityZoneIds": { + "base": null, + "refs": { + "GetKxEnvironmentResponse$availabilityZoneIds": "The identifier of the availability zones where subnets for the environment are created.
", + "KxEnvironment$availabilityZoneIds": "The identifier of the availability zones where subnets for the environment are created.
", + "UpdateKxEnvironmentNetworkResponse$availabilityZoneIds": "The identifier of the availability zones where subnets for the environment are created.
", + "UpdateKxEnvironmentResponse$availabilityZoneIds": "The identifier of the availability zones where subnets for the environment are created.
" + } + }, + "BoxedInteger": { + "base": null, + "refs": { + "ListKxEnvironmentsRequest$maxResults": "The maximum number of results to return in this request.
" + } + }, + "CapacityConfiguration": { + "base": "A structure for the metadata of a cluster. It includes information like the CPUs needed, memory of instances, number of instances, and the port used while establishing a connection.
", + "refs": { + "CreateKxClusterRequest$capacityConfiguration": "A structure for the metadata of a cluster. It includes information about like the CPUs needed, memory of instances, number of instances, and the port used while establishing a connection.
", + "CreateKxClusterResponse$capacityConfiguration": "A structure for the metadata of a cluster. It includes information like the CPUs needed, memory of instances, number of instances, and the port used while establishing a connection.
", + "GetKxClusterResponse$capacityConfiguration": "A structure for the metadata of a cluster. It includes information like the CPUs needed, memory of instances, number of instances, and the port used while establishing a connection.
" + } + }, + "ChangeRequest": { + "base": "A list of change request objects.
", + "refs": { + "ChangeRequests$member": null + } + }, + "ChangeRequests": { + "base": null, + "refs": { + "CreateKxChangesetRequest$changeRequests": "A list of change request objects that are run in order. A change request object consists of changeType , s3Path, and a dbPath. A changeType can has the following values:
PUT – Adds or updates files in a database.
DELETE – Deletes files in a database.
All the change requests require a mandatory dbPath attribute that defines the path within the database directory. The s3Path attribute defines the s3 source file path and is required for a PUT change type.
Here is an example of how you can use the change request object:
[ { \"changeType\": \"PUT\", \"s3Path\":\"s3://bucket/db/2020.01.02/\", \"dbPath\":\"/2020.01.02/\"}, { \"changeType\": \"PUT\", \"s3Path\":\"s3://bucket/db/sym\", \"dbPath\":\"/\"}, { \"changeType\": \"DELETE\", \"dbPath\": \"/2020.01.01/\"} ]
In this example, the first request with PUT change type allows you to add files in the given s3Path under the 2020.01.02 partition of the database. The second request with PUT change type allows you to add a single sym file at database root location. The last request with DELETE change type allows you to delete the files under the 2020.01.01 partition of the database.
", + "CreateKxChangesetResponse$changeRequests": "A list of change requests.
", + "GetKxChangesetResponse$changeRequests": "A list of change request objects that are run in order.
" + } + }, + "ChangeType": { + "base": null, + "refs": { + "ChangeRequest$changeType": "Defines the type of change request. A changeType
can have the following values:
PUT – Adds or updates files in a database.
DELETE – Deletes files in a database.
A unique identifier for the changeset.
", + "GetKxChangesetRequest$changesetId": "A unique identifier of the changeset for which you want to retrieve data.
", + "GetKxChangesetResponse$changesetId": "A unique identifier for the changeset.
", + "GetKxDatabaseResponse$lastCompletedChangesetId": "A unique identifier for the changeset.
", + "KxChangesetListEntry$changesetId": "A unique identifier for the changeset.
", + "KxDatabaseConfiguration$changesetId": "A unique identifier of the changeset that is associated with the cluster.
" + } + }, + "ChangesetStatus": { + "base": null, + "refs": { + "CreateKxChangesetResponse$status": "Status of the changeset creation process.
Pending – Changeset creation is pending.
Processing – Changeset creation is running.
Failed – Changeset creation has failed.
Complete – Changeset creation has succeeded.
Status of the changeset creation process.
Pending – Changeset creation is pending.
Processing – Changeset creation is running.
Failed – Changeset creation has failed.
Complete – Changeset creation has succeeded.
Status of the changeset.
Pending – Changeset creation is pending.
Processing – Changeset creation is running.
Failed – Changeset creation has failed.
Complete – Changeset creation has succeeded.
A token that ensures idempotency. This token expires in 10 minutes.
", + "CreateKxEnvironmentRequest$clientToken": "A token that ensures idempotency. This token expires in 10 minutes.
", + "CreateKxUserRequest$clientToken": "A token that ensures idempotency. This token expires in 10 minutes.
", + "UpdateKxEnvironmentNetworkRequest$clientToken": "A token that ensures idempotency. This token expires in 10 minutes.
", + "UpdateKxEnvironmentRequest$clientToken": "A token that ensures idempotency. This token expires in 10 minutes.
", + "UpdateKxUserRequest$clientToken": "A token that ensures idempotency. This token expires in 10 minutes.
" + } + }, + "ClientTokenString": { + "base": null, + "refs": { + "CreateKxChangesetRequest$clientToken": "A token that ensures idempotency. This token expires in 10 minutes.
", + "CreateKxDatabaseRequest$clientToken": "A token that ensures idempotency. This token expires in 10 minutes.
", + "DeleteKxClusterRequest$clientToken": "A token that ensures idempotency. This token expires in 10 minutes.
", + "DeleteKxDatabaseRequest$clientToken": "A token that ensures idempotency. This token expires in 10 minutes.
", + "UpdateKxClusterDatabasesRequest$clientToken": "A token that ensures idempotency. This token expires in 10 minutes.
", + "UpdateKxDatabaseRequest$clientToken": "A token that ensures idempotency. This token expires in 10 minutes.
" + } + }, + "CodeConfiguration": { + "base": "The structure of the customer code available within the running cluster.
", + "refs": { + "CreateKxClusterRequest$code": "The details of the custom code that you want to use inside a cluster when analyzing a data. It consists of the S3 source bucket, location, S3 object version, and the relative path from where the custom code is loaded into the cluster.
", + "CreateKxClusterResponse$code": "The details of the custom code that you want to use inside a cluster when analyzing a data. It consists of the S3 source bucket, location, S3 object version, and the relative path from where the custom code is loaded into the cluster.
", + "GetKxClusterResponse$code": "The details of the custom code that you want to use inside a cluster when analyzing a data. It consists of the S3 source bucket, location, S3 object version, and the relative path from where the custom code is loaded into the cluster.
" + } + }, + "ConflictException": { + "base": "There was a conflict with this action, and it could not be completed.
", + "refs": { + } + }, + "CooldownTime": { + "base": null, + "refs": { + "AutoScalingConfiguration$scaleInCooldownSeconds": "The duration in seconds that FinSpace will wait after a scale in event before initiating another scaling event.
", + "AutoScalingConfiguration$scaleOutCooldownSeconds": "The duration in seconds that FinSpace will wait after a scale out event before initiating another scaling event.
" + } + }, "CreateEnvironmentRequest": { "base": null, "refs": { } }, - "CreateEnvironmentResponse": { + "CreateEnvironmentResponse": { + "base": null, + "refs": { + } + }, + "CreateKxChangesetRequest": { + "base": null, + "refs": { + } + }, + "CreateKxChangesetResponse": { + "base": null, + "refs": { + } + }, + "CreateKxClusterRequest": { + "base": null, + "refs": { + } + }, + "CreateKxClusterResponse": { + "base": null, + "refs": { + } + }, + "CreateKxDatabaseRequest": { + "base": null, + "refs": { + } + }, + "CreateKxDatabaseResponse": { + "base": null, + "refs": { + } + }, + "CreateKxEnvironmentRequest": { + "base": null, + "refs": { + } + }, + "CreateKxEnvironmentResponse": { + "base": null, + "refs": { + } + }, + "CreateKxUserRequest": { + "base": null, + "refs": { + } + }, + "CreateKxUserResponse": { + "base": null, + "refs": { + } + }, + "CustomDNSConfiguration": { + "base": null, + "refs": { + "GetKxEnvironmentResponse$customDNSConfiguration": "A list of DNS server name and server IP. This is used to set up Route-53 outbound resolvers.
", + "KxEnvironment$customDNSConfiguration": "A list of DNS server name and server IP. This is used to set up Route-53 outbound resolvers.
", + "UpdateKxEnvironmentNetworkRequest$customDNSConfiguration": "A list of DNS server name and server IP. This is used to set up Route-53 outbound resolvers.
", + "UpdateKxEnvironmentNetworkResponse$customDNSConfiguration": "A list of DNS server name and server IP. This is used to set up Route-53 outbound resolvers.
", + "UpdateKxEnvironmentResponse$customDNSConfiguration": "A list of DNS server name and server IP. This is used to set up Route-53 outbound resolvers.
" + } + }, + "CustomDNSServer": { + "base": "A list of DNS server name and server IP. This is used to set up Route-53 outbound resolvers.
", + "refs": { + "CustomDNSConfiguration$member": null + } + }, + "DataBundleArn": { + "base": "The Amazon Resource Name (ARN) of the data bundle.
", + "refs": { + "DataBundleArns$member": null + } + }, + "DataBundleArns": { + "base": null, + "refs": { + "CreateEnvironmentRequest$dataBundles": "The list of Amazon Resource Names (ARN) of the data bundles to install. Currently supported data bundle ARNs:
arn:aws:finspace:${Region}::data-bundle/capital-markets-sample
- Contains sample Capital Markets datasets, categories and controlled vocabularies.
arn:aws:finspace:${Region}::data-bundle/taq
(default) - Contains trades and quotes data in addition to sample Capital Markets data.
The ARN identifier of the database.
", + "GetKxDatabaseResponse$databaseArn": "The ARN identifier of the database.
" + } + }, + "DatabaseName": { + "base": null, + "refs": { + "CreateKxChangesetRequest$databaseName": "The name of the kdb database.
", + "CreateKxChangesetResponse$databaseName": "The name of the kdb database.
", + "CreateKxDatabaseRequest$databaseName": "The name of the kdb database.
", + "CreateKxDatabaseResponse$databaseName": "The name of the kdb database.
", + "DeleteKxDatabaseRequest$databaseName": "The name of the kdb database that you want to delete.
", + "GetKxChangesetRequest$databaseName": "The name of the kdb database.
", + "GetKxChangesetResponse$databaseName": "The name of the kdb database.
", + "GetKxDatabaseRequest$databaseName": "The name of the kdb database.
", + "GetKxDatabaseResponse$databaseName": "The name of the kdb database for which the information is retrieved.
", + "KxDatabaseConfiguration$databaseName": "The name of the kdb database. When this parameter is specified in the structure, S3 with the whole database is included by default.
", + "KxDatabaseListEntry$databaseName": "The name of the kdb database.
", + "ListKxChangesetsRequest$databaseName": "The name of the kdb database.
", + "UpdateKxDatabaseRequest$databaseName": "The name of the kdb database.
", + "UpdateKxDatabaseResponse$databaseName": "The name of the kdb database.
" + } + }, + "DbPath": { + "base": null, + "refs": { + "ChangeRequest$dbPath": "Defines the path within the database directory.
", + "DbPaths$member": null + } + }, + "DbPaths": { + "base": null, + "refs": { + "KxDatabaseCacheConfiguration$dbPaths": "Specifies the portions of database that will be loaded into the cache for access.
" + } + }, + "DeleteEnvironmentRequest": { + "base": null, + "refs": { + } + }, + "DeleteEnvironmentResponse": { + "base": null, + "refs": { + } + }, + "DeleteKxClusterRequest": { + "base": null, + "refs": { + } + }, + "DeleteKxClusterResponse": { + "base": null, + "refs": { + } + }, + "DeleteKxDatabaseRequest": { + "base": null, + "refs": { + } + }, + "DeleteKxDatabaseResponse": { + "base": null, + "refs": { + } + }, + "DeleteKxEnvironmentRequest": { + "base": null, + "refs": { + } + }, + "DeleteKxEnvironmentResponse": { + "base": null, + "refs": { + } + }, + "DeleteKxUserRequest": { + "base": null, + "refs": { + } + }, + "DeleteKxUserResponse": { + "base": null, + "refs": { + } + }, + "Description": { + "base": null, + "refs": { + "CreateEnvironmentRequest$description": "The description of the FinSpace environment to be created.
", + "CreateKxDatabaseRequest$description": "A description of the database.
", + "CreateKxDatabaseResponse$description": "A description of the database.
", + "CreateKxEnvironmentRequest$description": "A description for the kdb environment.
", + "CreateKxEnvironmentResponse$description": "A description for the kdb environment.
", + "Environment$description": "The description of the FinSpace environment.
", + "GetKxDatabaseResponse$description": "A description of the database.
", + "GetKxEnvironmentResponse$description": "A description for the kdb environment.
", + "KxEnvironment$description": "A description of the kdb environment.
", + "UpdateEnvironmentRequest$description": "The description of the environment.
", + "UpdateKxDatabaseRequest$description": "A description of the database.
", + "UpdateKxDatabaseResponse$description": "A description of the database.
", + "UpdateKxEnvironmentNetworkResponse$description": "The description of the environment.
", + "UpdateKxEnvironmentRequest$description": "A description of the kdb environment.
", + "UpdateKxEnvironmentResponse$description": "The description of the environment.
" + } + }, + "EmailId": { + "base": null, + "refs": { + "SuperuserParameters$emailAddress": "The email address of the superuser.
" + } + }, + "Environment": { + "base": "Represents an FinSpace environment.
", + "refs": { + "EnvironmentList$member": null, + "GetEnvironmentResponse$environment": "The name of the FinSpace environment.
", + "UpdateEnvironmentResponse$environment": "Returns the FinSpace environment object.
" + } + }, + "EnvironmentArn": { + "base": null, + "refs": { + "CreateEnvironmentResponse$environmentArn": "The Amazon Resource Name (ARN) of the FinSpace environment that you created.
", + "CreateKxEnvironmentResponse$environmentArn": "The ARN identifier of the environment.
", + "Environment$environmentArn": "The Amazon Resource Name (ARN) of your FinSpace environment.
", + "GetKxEnvironmentResponse$environmentArn": "The ARN identifier of the environment.
", + "KxEnvironment$environmentArn": "The Amazon Resource Name (ARN) of your kdb environment.
", + "UpdateKxEnvironmentNetworkResponse$environmentArn": "The ARN identifier of the environment.
", + "UpdateKxEnvironmentResponse$environmentArn": "The ARN identifier of the environment.
" + } + }, + "EnvironmentErrorMessage": { + "base": null, + "refs": { + "GetKxEnvironmentResponse$errorMessage": "Specifies the error message that appears if a flow fails.
", + "KxEnvironment$errorMessage": "Specifies the error message that appears if a flow fails.
", + "UpdateKxEnvironmentNetworkResponse$errorMessage": "Specifies the error message that appears if a flow fails.
", + "UpdateKxEnvironmentResponse$errorMessage": "Specifies the error message that appears if a flow fails.
" + } + }, + "EnvironmentId": { + "base": null, + "refs": { + "CreateKxChangesetRequest$environmentId": "A unique identifier of the kdb environment.
", + "CreateKxChangesetResponse$environmentId": "A unique identifier for the kdb environment.
", + "CreateKxDatabaseRequest$environmentId": "A unique identifier for the kdb environment.
", + "CreateKxDatabaseResponse$environmentId": "A unique identifier for the kdb environment.
", + "DeleteKxDatabaseRequest$environmentId": "A unique identifier for the kdb environment.
", + "GetKxChangesetRequest$environmentId": "A unique identifier for the kdb environment.
", + "GetKxChangesetResponse$environmentId": "A unique identifier for the kdb environment.
", + "GetKxDatabaseRequest$environmentId": "A unique identifier for the kdb environment.
", + "GetKxDatabaseResponse$environmentId": "A unique identifier for the kdb environment.
", + "ListKxChangesetsRequest$environmentId": "A unique identifier for the kdb environment.
", + "ListKxDatabasesRequest$environmentId": "A unique identifier for the kdb environment.
", + "UpdateKxDatabaseRequest$environmentId": "A unique identifier for the kdb environment.
", + "UpdateKxDatabaseResponse$environmentId": "A unique identifier for the kdb environment.
" + } + }, + "EnvironmentList": { + "base": null, + "refs": { + "ListEnvironmentsResponse$environments": "A list of all of your FinSpace environments.
" + } + }, + "EnvironmentName": { + "base": null, + "refs": { + "CreateEnvironmentRequest$name": "The name of the FinSpace environment to be created.
", + "Environment$name": "The name of the FinSpace environment.
", + "UpdateEnvironmentRequest$name": "The name of the environment.
" + } + }, + "EnvironmentStatus": { + "base": null, + "refs": { + "CreateKxEnvironmentResponse$status": "The status of the kdb environment.
", + "Environment$status": "The current status of creation of the FinSpace environment.
", + "GetKxEnvironmentResponse$status": "The status of the kdb environment.
", + "KxEnvironment$status": "The status of the environment creation.
CREATE_REQUESTED – Environment creation has been requested.
CREATING – Environment is in the process of being created.
FAILED_CREATION – Environment creation has failed.
CREATED – Environment is successfully created and is currently active.
DELETE REQUESTED – Environment deletion has been requested.
DELETING – Environment is in the process of being deleted.
RETRY_DELETION – Initial environment deletion failed, system is reattempting delete.
DELETED – Environment has been deleted.
FAILED_DELETION – Environment deletion has failed.
The status of the kdb environment.
", + "UpdateKxEnvironmentResponse$status": "The status of the kdb environment.
" + } + }, + "ErrorDetails": { + "base": null, + "refs": { + "ErrorInfo$errorType": "Specifies the type of error.
" + } + }, + "ErrorInfo": { + "base": "Provides details in the event of a failed flow, including the error type and the related error message.
", + "refs": { + "CreateKxChangesetResponse$errorInfo": "The details of the error that you receive when creating a changeset. It consists of the type of error and the error message.
", + "GetKxChangesetResponse$errorInfo": "Provides details in the event of a failed flow, including the error type and the related error message.
" + } + }, + "ErrorMessage": { + "base": null, + "refs": { + "ErrorInfo$errorMessage": "Specifies the error message that appears if a flow fails.
" + } + }, + "ExecutionRoleArn": { + "base": null, + "refs": { + "CreateKxClusterRequest$executionRole": "An IAM role that defines a set of permissions associated with a cluster. These permissions are assumed when a cluster attempts to access another cluster.
", + "CreateKxClusterResponse$executionRole": "An IAM role that defines a set of permissions associated with a cluster. These permissions are assumed when a cluster attempts to access another cluster.
", + "GetKxClusterResponse$executionRole": "An IAM role that defines a set of permissions associated with a cluster. These permissions are assumed when a cluster attempts to access another cluster.
", + "KxCluster$executionRole": "An IAM role that defines a set of permissions associated with a cluster. These permissions are assumed when a cluster attempts to access another cluster.
" + } + }, + "FederationAttributeKey": { + "base": null, + "refs": { + "AttributeMap$key": null + } + }, + "FederationAttributeValue": { + "base": null, + "refs": { + "AttributeMap$value": null + } + }, + "FederationMode": { + "base": null, + "refs": { + "CreateEnvironmentRequest$federationMode": "Authentication mode for the environment.
FEDERATED
- Users access FinSpace through Single Sign On (SSO) via your Identity provider.
LOCAL
- Users access FinSpace via email and password managed within the FinSpace environment.
The authentication mode for the environment.
", + "UpdateEnvironmentRequest$federationMode": "Authentication mode for the environment.
FEDERATED
- Users access FinSpace through Single Sign On (SSO) via your Identity provider.
LOCAL
- Users access FinSpace via email and password managed within the FinSpace environment.
Configuration information when authentication mode is FEDERATED.
", + "refs": { + "CreateEnvironmentRequest$federationParameters": "Configuration information when authentication mode is FEDERATED.
", + "Environment$federationParameters": "Configuration information when authentication mode is FEDERATED.
", + "UpdateEnvironmentRequest$federationParameters": null + } + }, + "FederationProviderName": { + "base": null, + "refs": { + "FederationParameters$federationProviderName": "Name of the identity provider (IdP).
" + } + }, + "FinSpaceTaggableArn": { + "base": null, + "refs": { + "ListTagsForResourceRequest$resourceArn": "The Amazon Resource Name of the resource.
", + "TagResourceRequest$resourceArn": "The Amazon Resource Name (ARN) for the resource.
", + "UntagResourceRequest$resourceArn": "A FinSpace resource from which you want to remove a tag or tags. The value for this parameter is an Amazon Resource Name (ARN).
" + } + }, + "GetEnvironmentRequest": { + "base": null, + "refs": { + } + }, + "GetEnvironmentResponse": { + "base": null, + "refs": { + } + }, + "GetKxChangesetRequest": { + "base": null, + "refs": { + } + }, + "GetKxChangesetResponse": { + "base": null, + "refs": { + } + }, + "GetKxClusterRequest": { + "base": null, + "refs": { + } + }, + "GetKxClusterResponse": { + "base": null, + "refs": { + } + }, + "GetKxConnectionStringRequest": { + "base": null, + "refs": { + } + }, + "GetKxConnectionStringResponse": { + "base": null, + "refs": { + } + }, + "GetKxDatabaseRequest": { + "base": null, + "refs": { + } + }, + "GetKxDatabaseResponse": { + "base": null, + "refs": { + } + }, + "GetKxEnvironmentRequest": { + "base": null, + "refs": { + } + }, + "GetKxEnvironmentResponse": { + "base": null, + "refs": { + } + }, + "GetKxUserRequest": { + "base": null, + "refs": { + } + }, + "GetKxUserResponse": { + "base": null, + "refs": { + } + }, + "IPAddressType": { + "base": null, + "refs": { + "VpcConfiguration$ipAddressType": "The IP address type for cluster network configuration parameters. The following type is available:
IP_V4 – IP address version 4
The unique identifier for FinSpace environment that you created.
", + "CreateKxEnvironmentResponse$environmentId": "A unique identifier for the kdb environment.
", + "CreateKxUserRequest$environmentId": "A unique identifier for the kdb environment where you want to create a user.
", + "CreateKxUserResponse$environmentId": "A unique identifier for the kdb environment.
", + "DeleteEnvironmentRequest$environmentId": "The identifier for the FinSpace environment.
", + "DeleteKxEnvironmentRequest$environmentId": "A unique identifier for the kdb environment.
", + "DeleteKxUserRequest$environmentId": "A unique identifier for the kdb environment.
", + "Environment$environmentId": "The identifier of the FinSpace environment.
", + "Environment$awsAccountId": "The ID of the AWS account in which the FinSpace environment is created.
", + "Environment$dedicatedServiceAccountId": "The AWS account ID of the dedicated service account associated with your FinSpace environment.
", + "GetEnvironmentRequest$environmentId": "The identifier of the FinSpace environment.
", + "GetKxConnectionStringRequest$environmentId": "A unique identifier for the kdb environment.
", + "GetKxEnvironmentRequest$environmentId": "A unique identifier for the kdb environment.
", + "GetKxEnvironmentResponse$environmentId": "A unique identifier for the kdb environment.
", + "GetKxEnvironmentResponse$awsAccountId": "The unique identifier of the AWS account that is used to create the kdb environment.
", + "GetKxEnvironmentResponse$dedicatedServiceAccountId": "A unique identifier for the AWS environment infrastructure account.
", + "GetKxUserRequest$environmentId": "A unique identifier for the kdb environment.
", + "GetKxUserResponse$userName": "A unique identifier for the user.
", + "GetKxUserResponse$environmentId": "A unique identifier for the kdb environment.
", + "KxEnvironment$environmentId": "A unique identifier for the kdb environment.
", + "KxEnvironment$awsAccountId": "The unique identifier of the AWS account in which you create the kdb environment.
", + "KxEnvironment$dedicatedServiceAccountId": "A unique identifier for the AWS environment infrastructure account.
", + "ListKxUsersRequest$environmentId": "A unique identifier for the kdb environment.
", + "UpdateEnvironmentRequest$environmentId": "The identifier of the FinSpace environment.
", + "UpdateKxEnvironmentNetworkRequest$environmentId": "A unique identifier for the kdb environment.
", + "UpdateKxEnvironmentNetworkResponse$environmentId": "A unique identifier for the kdb environment.
", + "UpdateKxEnvironmentNetworkResponse$awsAccountId": "The unique identifier of the AWS account that is used to create the kdb environment.
", + "UpdateKxEnvironmentNetworkResponse$dedicatedServiceAccountId": "A unique identifier for the AWS environment infrastructure account.
", + "UpdateKxEnvironmentRequest$environmentId": "A unique identifier for the kdb environment.
", + "UpdateKxEnvironmentResponse$environmentId": "A unique identifier for the kdb environment.
", + "UpdateKxEnvironmentResponse$awsAccountId": "The unique identifier of the AWS account that is used to create the kdb environment.
", + "UpdateKxEnvironmentResponse$dedicatedServiceAccountId": "A unique identifier for the AWS environment infrastructure account.
", + "UpdateKxUserRequest$environmentId": "A unique identifier for the kdb environment.
", + "UpdateKxUserResponse$environmentId": "A unique identifier for the kdb environment.
" + } + }, + "InitializationScriptFilePath": { + "base": null, + "refs": { + "CreateKxClusterRequest$initializationScript": "Specifies a Q program that will be run at launch of a cluster. It is a relative path within .zip file that contains the custom code, which will be loaded on the cluster. It must include the file name itself. For example, somedir/init.q
.
Specifies a Q program that will be run at launch of a cluster. It is a relative path within .zip file that contains the custom code, which will be loaded on the cluster. It must include the file name itself. For example, somedir/init.q
.
Specifies a Q program that will be run at launch of a cluster. It is a relative path within .zip file that contains the custom code, which will be loaded on the cluster. It must include the file name itself. For example, somedir/init.q
.
Specifies a Q program that will be run at launch of a cluster. It is a relative path within .zip file that contains the custom code, which will be loaded on the cluster. It must include the file name itself. For example, somedir/init.q
.
The request processing has failed because of an unknown error, exception or failure.
", + "refs": { + } + }, + "InvalidRequestException": { + "base": "The request is invalid. Something is wrong with the input to the request.
", + "refs": { + } + }, + "KmsKeyARN": { + "base": null, + "refs": { + "CreateKxEnvironmentRequest$kmsKeyId": "The KMS key ID to encrypt your data in the FinSpace environment.
" + } + }, + "KmsKeyId": { + "base": null, + "refs": { + "CreateEnvironmentRequest$kmsKeyId": "The KMS key id to encrypt your data in the FinSpace environment.
", + "CreateKxEnvironmentResponse$kmsKeyId": "The KMS key ID to encrypt your data in the FinSpace environment.
", + "Environment$kmsKeyId": "The KMS key id used to encrypt in the FinSpace environment.
", + "GetKxEnvironmentResponse$kmsKeyId": "The KMS key ID to encrypt your data in the FinSpace environment.
", + "KxEnvironment$kmsKeyId": "The unique identifier of the KMS key.
", + "UpdateKxEnvironmentNetworkResponse$kmsKeyId": "The KMS key ID to encrypt your data in the FinSpace environment.
", + "UpdateKxEnvironmentResponse$kmsKeyId": "The KMS key ID to encrypt your data in the FinSpace environment.
" + } + }, + "KxAzMode": { + "base": null, + "refs": { + "CreateKxClusterRequest$azMode": "The number of availability zones you want to assign per cluster. This can be one of the following
SINGLE
– Assigns one availability zone per cluster.
MULTI
– Assigns all the availability zones per cluster.
The number of availability zones you want to assign per cluster. This can be one of the following
SINGLE
– Assigns one availability zone per cluster.
MULTI
– Assigns all the availability zones per cluster.
The number of availability zones you want to assign per cluster. This can be one of the following
SINGLE
– Assigns one availability zone per cluster.
MULTI
– Assigns all the availability zones per cluster.
The number of availability zones assigned per cluster. This can be one of the following
SINGLE
– Assigns one availability zone per cluster.
MULTI
– Assigns all the availability zones per cluster.
The configuration for read only disk cache associated with a cluster.
", + "refs": { + "KxCacheStorageConfigurations$member": null + } + }, + "KxCacheStorageConfigurations": { + "base": null, + "refs": { + "CreateKxClusterRequest$cacheStorageConfigurations": "The configurations for a read only cache storage associated with a cluster. This cache will be stored as an FSx Lustre that reads from the S3 store.
", + "CreateKxClusterResponse$cacheStorageConfigurations": "The configurations for a read only cache storage associated with a cluster. This cache will be stored as an FSx Lustre that reads from the S3 store.
", + "GetKxClusterResponse$cacheStorageConfigurations": "The configurations for a read only cache storage associated with a cluster. This cache will be stored as an FSx Lustre that reads from the S3 store.
" + } + }, + "KxCacheStorageSize": { + "base": null, + "refs": { + "KxCacheStorageConfiguration$size": "The size of cache in Gigabytes.
" + } + }, + "KxCacheStorageType": { + "base": null, + "refs": { + "KxCacheStorageConfiguration$type": "The type of cache storage . The valid values are:
CACHE_1000 – This type provides at least 1000 MB/s disk access throughput.
The type of disk cache. This parameter is used to map the database path to cache storage. The valid values are:
CACHE_1000 – This type provides at least 1000 MB/s disk access throughput.
Details of changeset.
", + "refs": { + "KxChangesets$member": null + } + }, + "KxChangesets": { + "base": null, + "refs": { + "ListKxChangesetsResponse$kxChangesets": "A list of changesets for a database.
" + } + }, + "KxCluster": { + "base": "The details of a kdb cluster.
", + "refs": { + "KxClusters$member": null + } + }, + "KxClusterDescription": { + "base": null, + "refs": { + "CreateKxClusterRequest$clusterDescription": "A description of the cluster.
", + "CreateKxClusterResponse$clusterDescription": "A description of the cluster.
", + "GetKxClusterResponse$clusterDescription": "A description of the cluster.
", + "KxCluster$clusterDescription": "A description of the cluster.
" + } + }, + "KxClusterName": { + "base": null, + "refs": { + "CreateKxClusterRequest$clusterName": "A unique name for the cluster that you want to create.
", + "CreateKxClusterResponse$clusterName": "A unique name for the cluster.
", + "DeleteKxClusterRequest$clusterName": "The name of the cluster that you want to delete.
", + "GetKxClusterRequest$clusterName": "The name of the cluster that you want to retrieve.
", + "GetKxClusterResponse$clusterName": "A unique name for the cluster.
", + "GetKxConnectionStringRequest$clusterName": "A name of the kdb cluster.
", + "KxCluster$clusterName": "A unique name for the cluster.
", + "ListKxClusterNodesRequest$clusterName": "A unique name for the cluster.
", + "UpdateKxClusterDatabasesRequest$clusterName": "A unique name for the cluster that you want to modify.
" + } + }, + "KxClusterNodeIdString": { + "base": null, + "refs": { + "KxNode$nodeId": "A unique identifier for the node.
" + } + }, + "KxClusterStatus": { + "base": null, + "refs": { + "CreateKxClusterResponse$status": "The status of cluster creation.
PENDING – The cluster is pending creation.
CREATING – The cluster creation process is in progress.
CREATE_FAILED – The cluster creation process has failed.
RUNNING – The cluster creation process is running.
UPDATING – The cluster is in the process of being updated.
DELETING – The cluster is in the process of being deleted.
DELETED – The cluster has been deleted.
DELETE_FAILED – The cluster failed to delete.
The status of cluster creation.
PENDING – The cluster is pending creation.
CREATING – The cluster creation process is in progress.
CREATE_FAILED – The cluster creation process has failed.
RUNNING – The cluster creation process is running.
UPDATING – The cluster is in the process of being updated.
DELETING – The cluster is in the process of being deleted.
DELETED – The cluster has been deleted.
DELETE_FAILED – The cluster failed to delete.
The status of a cluster.
PENDING – The cluster is pending creation.
CREATING –The cluster creation process is in progress.
CREATE_FAILED– The cluster creation process has failed.
RUNNING – The cluster creation process is running.
UPDATING – The cluster is in the process of being updated.
DELETING – The cluster is in the process of being deleted.
DELETED – The cluster has been deleted.
DELETE_FAILED – The cluster failed to delete.
The error message when a failed state occurs.
", + "GetKxClusterResponse$statusReason": "The error message when a failed state occurs.
", + "KxCluster$statusReason": "The error message when a failed state occurs.
" + } + }, + "KxClusterType": { + "base": null, + "refs": { + "CreateKxClusterRequest$clusterType": "Specifies the type of KDB database that is being created. The following types are available:
HDB – A Historical Database. The data is only accessible with read-only permissions from one of the FinSpace managed kdb databases mounted to the cluster.
RDB – A Realtime Database. This type of database captures all the data from a ticker plant and stores it in memory until the end of day, after which it writes all of its data to a disk and reloads the HDB. This cluster type requires local storage for temporary storage of data during the savedown process. If you specify this field in your request, you must provide the savedownStorageConfiguration
parameter.
GATEWAY – A gateway cluster allows you to access data across processes in kdb systems. It allows you to create your own routing logic using the initialization scripts and custom code. This type of cluster does not require a writable local storage.
Specifies the type of KDB database that is being created. The following types are available:
HDB – A Historical Database. The data is only accessible with read-only permissions from one of the FinSpace managed kdb databases mounted to the cluster.
RDB – A Realtime Database. This type of database captures all the data from a ticker plant and stores it in memory until the end of day, after which it writes all of its data to a disk and reloads the HDB. This cluster type requires local storage for temporary storage of data during the savedown process. If you specify this field in your request, you must provide the savedownStorageConfiguration
parameter.
GATEWAY – A gateway cluster allows you to access data across processes in kdb systems. It allows you to create your own routing logic using the initialization scripts and custom code. This type of cluster does not require a writable local storage.
Specifies the type of KDB database that is being created. The following types are available:
HDB – A Historical Database. The data is only accessible with read-only permissions from one of the FinSpace managed kdb databases mounted to the cluster.
RDB – A Realtime Database. This type of database captures all the data from a ticker plant and stores it in memory until the end of day, after which it writes all of its data to a disk and reloads the HDB. This cluster type requires local storage for temporary storage of data during the savedown process. If you specify this field in your request, you must provide the savedownStorageConfiguration
parameter.
GATEWAY – A gateway cluster allows you to access data across processes in kdb systems. It allows you to create your own routing logic using the initialization scripts and custom code. This type of cluster does not require a writable local storage.
Specifies the type of KDB database that is being created. The following types are available:
HDB – A Historical Database. The data is only accessible with read-only permissions from one of the FinSpace managed kdb databases mounted to the cluster.
RDB – A Realtime Database. This type of database captures all the data from a ticker plant and stores it in memory until the end of day, after which it writes all of its data to a disk and reloads the HDB. This cluster type requires local storage for temporary storage of data during the savedown process. If you specify this field in your request, you must provide the savedownStorageConfiguration
parameter.
GATEWAY – A gateway cluster allows you to access data across processes in kdb systems. It allows you to create your own routing logic using the initialization scripts and custom code. This type of cluster does not require a writable local storage.
Specifies the type of KDB database that is being created. The following types are available:
HDB – A Historical Database. The data is only accessible with read-only permissions from one of the FinSpace managed kdb databases mounted to the cluster.
RDB – A Realtime Database. This type of database captures all the data from a ticker plant and stores it in memory until the end of day, after which it writes all of its data to a disk and reloads the HDB. This cluster type requires local storage for temporary storage of data during the savedown process. If you specify this field in your request, you must provide the savedownStorageConfiguration
parameter.
GATEWAY – A gateway cluster allows you to access data across processes in kdb systems. It allows you to create your own routing logic using the initialization scripts and custom code. This type of cluster does not require a writable local storage.
Lists the cluster details.
" + } + }, + "KxCommandLineArgument": { + "base": "Defines the key-value pairs to make them available inside the cluster.
", + "refs": { + "KxCommandLineArguments$member": null + } + }, + "KxCommandLineArgumentKey": { + "base": null, + "refs": { + "KxCommandLineArgument$key": "The name of the key.
" + } + }, + "KxCommandLineArgumentValue": { + "base": null, + "refs": { + "KxCommandLineArgument$value": "The value of the key.
" + } + }, + "KxCommandLineArguments": { + "base": null, + "refs": { + "CreateKxClusterRequest$commandLineArguments": "Defines the key-value pairs to make them available inside the cluster.
", + "CreateKxClusterResponse$commandLineArguments": "Defines the key-value pairs to make them available inside the cluster.
", + "GetKxClusterResponse$commandLineArguments": "Defines key-value pairs to make them available inside the cluster.
" + } + }, + "KxDatabaseCacheConfiguration": { + "base": "The structure of database cache configuration that is used for mapping database paths to cache types in clusters.
", + "refs": { + "KxDatabaseCacheConfigurations$member": null + } + }, + "KxDatabaseCacheConfigurations": { "base": null, "refs": { + "KxDatabaseConfiguration$cacheConfigurations": "Configuration details for the disk cache used to increase performance reading from a kdb database mounted to the cluster.
" } }, - "DataBundleArn": { - "base": "The Amazon Resource Name (ARN) of the data bundle.
", + "KxDatabaseConfiguration": { + "base": "The configuration of data that is available for querying from this database.
", "refs": { - "DataBundleArns$member": null + "KxDatabaseConfigurations$member": null } }, - "DataBundleArns": { + "KxDatabaseConfigurations": { "base": null, "refs": { - "CreateEnvironmentRequest$dataBundles": "The list of Amazon Resource Names (ARN) of the data bundles to install. Currently supported data bundle ARNs:
arn:aws:finspace:${Region}::data-bundle/capital-markets-sample
- Contains sample Capital Markets datasets, categories and controlled vocabularies.
arn:aws:finspace:${Region}::data-bundle/taq
(default) - Contains trades and quotes data in addition to sample Capital Markets data.
A list of databases that will be available for querying.
", + "CreateKxClusterResponse$databases": "A list of databases that will be available for querying.
", + "GetKxClusterResponse$databases": "A list of databases mounted on the cluster.
", + "UpdateKxClusterDatabasesRequest$databases": "The structure of databases mounted on the cluster.
" } }, - "DeleteEnvironmentRequest": { + "KxDatabaseListEntry": { + "base": "Details about a FinSpace managed kdb database
", + "refs": { + "KxDatabases$member": null + } + }, + "KxDatabases": { "base": null, "refs": { + "ListKxDatabasesResponse$kxDatabases": "A list of databases in the kdb environment.
" } }, - "DeleteEnvironmentResponse": { + "KxEnvironment": { + "base": "The details of a kdb environment.
", + "refs": { + "KxEnvironmentList$member": null + } + }, + "KxEnvironmentId": { "base": null, "refs": { + "CreateKxClusterRequest$environmentId": "A unique identifier for the kdb environment.
", + "CreateKxClusterResponse$environmentId": "A unique identifier for the kdb environment.
", + "DeleteKxClusterRequest$environmentId": "A unique identifier for the kdb environment.
", + "GetKxClusterRequest$environmentId": "A unique identifier for the kdb environment.
", + "ListKxClusterNodesRequest$environmentId": "A unique identifier for the kdb environment.
", + "ListKxClustersRequest$environmentId": "A unique identifier for the kdb environment.
", + "UpdateKxClusterDatabasesRequest$environmentId": "The unique identifier of a kdb environment.
" } }, - "Description": { + "KxEnvironmentList": { "base": null, "refs": { - "CreateEnvironmentRequest$description": "The description of the FinSpace environment to be created.
", - "Environment$description": "The description of the FinSpace environment.
", - "UpdateEnvironmentRequest$description": "The description of the environment.
" + "ListKxEnvironmentsResponse$environments": "A list of environments in an account.
" } }, - "EmailId": { + "KxEnvironmentName": { "base": null, "refs": { - "SuperuserParameters$emailAddress": "The email address of the superuser.
" + "CreateKxEnvironmentRequest$name": "The name of the kdb environment that you want to create.
", + "CreateKxEnvironmentResponse$name": "The name of the kdb environment.
", + "GetKxEnvironmentResponse$name": "The name of the kdb environment.
", + "KxEnvironment$name": "The name of the kdb environment.
", + "UpdateKxEnvironmentNetworkResponse$name": "The name of the kdb environment.
", + "UpdateKxEnvironmentRequest$name": "The name of the kdb environment.
", + "UpdateKxEnvironmentResponse$name": "The name of the kdb environment.
" } }, - "Environment": { - "base": "Represents an FinSpace environment.
", + "KxNode": { + "base": "A structure that stores metadata for a kdb node.
", "refs": { - "EnvironmentList$member": null, - "GetEnvironmentResponse$environment": "The name of the FinSpace environment.
", - "UpdateEnvironmentResponse$environment": "Returns the FinSpace environment object.
" + "KxNodeSummaries$member": null } }, - "EnvironmentArn": { + "KxNodeSummaries": { "base": null, "refs": { - "CreateEnvironmentResponse$environmentArn": "The Amazon Resource Name (ARN) of the FinSpace environment that you created.
", - "Environment$environmentArn": "The Amazon Resource Name (ARN) of your FinSpace environment.
", - "ListTagsForResourceRequest$resourceArn": "The Amazon Resource Name of the resource.
", - "TagResourceRequest$resourceArn": "The Amazon Resource Name (ARN) for the resource.
", - "UntagResourceRequest$resourceArn": "A FinSpace resource from which you want to remove a tag or tags. The value for this parameter is an Amazon Resource Name (ARN).
" + "ListKxClusterNodesResponse$nodes": "A list of nodes associated with the cluster.
" } }, - "EnvironmentList": { + "KxSavedownStorageConfiguration": { + "base": "The size and type of temporary storage that is used to hold data during the savedown process. All the data written to this storage space is lost when the cluster node is restarted.
", + "refs": { + "CreateKxClusterRequest$savedownStorageConfiguration": "The size and type of the temporary storage that is used to hold data during the savedown process. This parameter is required when you choose clusterType
as RDB. All the data written to this storage space is lost when the cluster node is restarted.
The size and type of the temporary storage that is used to hold data during the savedown process. This parameter is required when you choose clusterType
as RDB. All the data written to this storage space is lost when the cluster node is restarted.
The size and type of the temporary storage that is used to hold data during the savedown process. This parameter is required when you choose clusterType
as RDB. All the data written to this storage space is lost when the cluster node is restarted.
A list of all of your FinSpace environments.
" + "KxSavedownStorageConfiguration$size": "The size of temporary storage in bytes.
" } }, - "EnvironmentName": { + "KxSavedownStorageType": { "base": null, "refs": { - "CreateEnvironmentRequest$name": "The name of the FinSpace environment to be created.
", - "Environment$name": "The name of the FinSpace environment.
", - "UpdateEnvironmentRequest$name": "The name of the environment.
" + "KxSavedownStorageConfiguration$type": "The type of writeable storage space for temporarily storing your savedown data. The valid values are:
SDS01 – This type represents 3000 IOPS and io2 ebs volume type.
A structure that stores metadata for a kdb user.
", + "refs": { + "KxUserList$member": null + } + }, + "KxUserArn": { "base": null, "refs": { - "Environment$status": "The current status of creation of the FinSpace environment.
" + "CreateKxUserResponse$userArn": "The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and how to use ARNs in policies, see IAM Identifiers in the IAM User Guide.
", + "GetKxConnectionStringRequest$userArn": "The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and how to use ARNs in policies, see IAM Identifiers in the IAM User Guide.
", + "GetKxUserResponse$userArn": "The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and how to use ARNs in policies, see IAM Identifiers in the IAM User Guide.
", + "KxUser$userArn": "The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and how to use ARNs in policies, see IAM Identifiers in the IAM User Guide.
", + "UpdateKxUserResponse$userArn": "The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and how to use ARNs in policies, see IAM Identifiers in the IAM User Guide.
" } }, - "FederationAttributeKey": { + "KxUserList": { "base": null, "refs": { - "AttributeMap$key": null + "ListKxUsersResponse$users": "A list of users in a kdb environment.
" } }, - "FederationMode": { + "KxUserNameString": { "base": null, "refs": { - "CreateEnvironmentRequest$federationMode": "Authentication mode for the environment.
FEDERATED
- Users access FinSpace through Single Sign On (SSO) via your Identity provider.
LOCAL
- Users access FinSpace via email and password managed within the FinSpace environment.
The authentication mode for the environment.
", - "UpdateEnvironmentRequest$federationMode": "Authentication mode for the environment.
FEDERATED
- Users access FinSpace through Single Sign On (SSO) via your Identity provider.
LOCAL
- Users access FinSpace via email and password managed within the FinSpace environment.
A unique identifier for the user.
", + "CreateKxUserResponse$userName": "A unique identifier for the user.
", + "DeleteKxUserRequest$userName": "A unique identifier for the user that you want to delete.
", + "GetKxUserRequest$userName": "A unique identifier for the user.
", + "KxUser$userName": "A unique identifier for the user.
", + "UpdateKxUserRequest$userName": "A unique identifier for the user.
", + "UpdateKxUserResponse$userName": "A unique identifier for the user.
" } }, - "FederationParameters": { - "base": "Configuration information when authentication mode is FEDERATED.
", + "LimitExceededException": { + "base": "A service limit or quota is exceeded.
", "refs": { - "CreateEnvironmentRequest$federationParameters": "Configuration information when authentication mode is FEDERATED.
", - "Environment$federationParameters": "Configuration information when authentication mode is FEDERATED.
", - "UpdateEnvironmentRequest$federationParameters": null } }, - "FederationProviderName": { + "ListEnvironmentsRequest": { "base": null, "refs": { - "FederationParameters$federationProviderName": "Name of the identity provider (IdP).
" } }, - "GetEnvironmentRequest": { + "ListEnvironmentsResponse": { "base": null, "refs": { } }, - "GetEnvironmentResponse": { + "ListKxChangesetsRequest": { "base": null, "refs": { } }, - "IdType": { + "ListKxChangesetsResponse": { "base": null, "refs": { - "CreateEnvironmentResponse$environmentId": "The unique identifier for FinSpace environment that you created.
", - "DeleteEnvironmentRequest$environmentId": "The identifier for the FinSpace environment.
", - "Environment$environmentId": "The identifier of the FinSpace environment.
", - "Environment$awsAccountId": "The ID of the AWS account in which the FinSpace environment is created.
", - "Environment$dedicatedServiceAccountId": "The AWS account ID of the dedicated service account associated with your FinSpace environment.
", - "GetEnvironmentRequest$environmentId": "The identifier of the FinSpace environment.
", - "UpdateEnvironmentRequest$environmentId": "The identifier of the FinSpace environment.
" } }, - "InternalServerException": { - "base": "The request processing has failed because of an unknown error, exception or failure.
", + "ListKxClusterNodesRequest": { + "base": null, "refs": { } }, - "InvalidRequestException": { - "base": "The request is invalid. Something is wrong with the input to the request.
", + "ListKxClusterNodesResponse": { + "base": null, "refs": { } }, - "KmsKeyId": { + "ListKxClustersRequest": { "base": null, "refs": { - "CreateEnvironmentRequest$kmsKeyId": "The KMS key id to encrypt your data in the FinSpace environment.
", - "Environment$kmsKeyId": "The KMS key id used to encrypt in the FinSpace environment.
" } }, - "LimitExceededException": { - "base": "A service limit or quota is exceeded.
", + "ListKxClustersResponse": { + "base": null, "refs": { } }, - "ListEnvironmentsRequest": { + "ListKxDatabasesRequest": { "base": null, "refs": { } }, - "ListEnvironmentsResponse": { + "ListKxDatabasesResponse": { + "base": null, + "refs": { + } + }, + "ListKxEnvironmentsRequest": { + "base": null, + "refs": { + } + }, + "ListKxEnvironmentsResponse": { + "base": null, + "refs": { + } + }, + "ListKxUsersRequest": { + "base": null, + "refs": { + } + }, + "ListKxUsersResponse": { "base": null, "refs": { } @@ -199,6 +1048,14 @@ "refs": { } }, + "MaxResults": { + "base": null, + "refs": { + "ListKxChangesetsRequest$maxResults": "The maximum number of results to return in this request.
", + "ListKxClustersRequest$maxResults": "The maximum number of results to return in this request.
", + "ListKxDatabasesRequest$maxResults": "The maximum number of results to return in this request.
" + } + }, "NameString": { "base": null, "refs": { @@ -206,11 +1063,51 @@ "SuperuserParameters$lastName": "The last name of the superuser.
" } }, + "NodeCount": { + "base": null, + "refs": { + "AutoScalingConfiguration$minNodeCount": "The lowest number of nodes to scale. This value must be at least 1 and less than the maxNodeCount
. If the nodes in a cluster belong to multiple availability zones, then minNodeCount
must be at least 3.
The highest number of nodes to scale. This value cannot be greater than 5.
", + "CapacityConfiguration$nodeCount": "The number of instances running in a cluster.
" + } + }, + "NodeType": { + "base": null, + "refs": { + "CapacityConfiguration$nodeType": "The type that determines the hardware of the host computer used for your cluster instance. Each node type offers different memory and storage capabilities. Choose a node type based on the requirements of the application or software that you plan to run on your instance.
You can only specify one of the following values:
kx.s.large
– The node type with a configuration of 12 GiB memory and 2 vCPUs.
kx.s.xlarge
– The node type with a configuration of 27 GiB memory and 4 vCPUs.
kx.s.2xlarge
– The node type with a configuration of 54 GiB memory and 8 vCPUs.
kx.s.4xlarge
– The node type with a configuration of 108 GiB memory and 16 vCPUs.
kx.s.8xlarge
– The node type with a configuration of 216 GiB memory and 32 vCPUs.
kx.s.16xlarge
– The node type with a configuration of 432 GiB memory and 64 vCPUs.
kx.s.32xlarge
– The node type with a configuration of 864 GiB memory and 128 vCPUs.
A token generated by FinSpace that specifies where to continue pagination if a previous request was truncated. To get the next set of pages, pass in the nextToken value from the response object of the previous page call.
", - "ListEnvironmentsResponse$nextToken": "A token that you can use in a subsequent call to retrieve the next set of results.
" + "ListEnvironmentsRequest$nextToken": "A token generated by FinSpace that specifies where to continue pagination if a previous request was truncated. To get the next set of pages, pass in the nextToken
nextToken value from the response object of the previous page call.
A token that you can use in a subsequent call to retrieve the next set of results.
", + "ListKxChangesetsRequest$nextToken": "A token that indicates where a results page should begin.
", + "ListKxChangesetsResponse$nextToken": "A token that indicates where a results page should begin.
", + "ListKxClusterNodesRequest$nextToken": "A token that indicates where a results page should begin.
", + "ListKxClusterNodesResponse$nextToken": "A token that indicates where a results page should begin.
", + "ListKxClustersRequest$nextToken": "A token that indicates where a results page should begin.
", + "ListKxClustersResponse$nextToken": "A token that indicates where a results page should begin.
", + "ListKxDatabasesRequest$nextToken": "A token that indicates where a results page should begin.
", + "ListKxDatabasesResponse$nextToken": "A token that indicates where a results page should begin.
", + "ListKxEnvironmentsRequest$nextToken": "A token that indicates where a results page should begin.
", + "ListKxEnvironmentsResponse$nextToken": "A token that indicates where a results page should begin.
", + "ListKxUsersRequest$nextToken": "A token that indicates where a results page should begin.
", + "ListKxUsersResponse$nextToken": "A token that indicates where a results page should begin.
" + } + }, + "ReleaseLabel": { + "base": null, + "refs": { + "CreateKxClusterRequest$releaseLabel": "The version of FinSpace managed kdb to run.
", + "CreateKxClusterResponse$releaseLabel": "A version of the FinSpace managed kdb to run.
", + "GetKxClusterResponse$releaseLabel": "The version of FinSpace managed kdb to run.
", + "KxCluster$releaseLabel": "A version of the FinSpace managed kdb to run.
" + } + }, + "ResourceAlreadyExistsException": { + "base": "The specified resource group already exists.
", + "refs": { } }, "ResourceNotFoundException": { @@ -221,7 +1118,44 @@ "ResultLimit": { "base": null, "refs": { - "ListEnvironmentsRequest$maxResults": "The maximum number of results to return in this request.
" + "ListEnvironmentsRequest$maxResults": "The maximum number of results to return in this request.
", + "ListKxClusterNodesRequest$maxResults": "The maximum number of results to return in this request.
", + "ListKxUsersRequest$maxResults": "The maximum number of results to return in this request.
" + } + }, + "RoleArn": { + "base": null, + "refs": { + "CreateKxUserRequest$iamRole": "The IAM role ARN that will be associated with the user.
", + "CreateKxUserResponse$iamRole": "The IAM role ARN that will be associated with the user.
", + "GetKxUserResponse$iamRole": "The IAM role ARN that is associated with the user.
", + "KxUser$iamRole": "The IAM role ARN that is associated with the user.
", + "UpdateKxUserRequest$iamRole": "The IAM role ARN that is associated with the user.
", + "UpdateKxUserResponse$iamRole": "The IAM role ARN that is associated with the user.
" + } + }, + "S3Bucket": { + "base": null, + "refs": { + "CodeConfiguration$s3Bucket": "A unique name for the S3 bucket.
" + } + }, + "S3Key": { + "base": null, + "refs": { + "CodeConfiguration$s3Key": "The full S3 path (excluding bucket) to the .zip file. This file contains the code that is loaded onto the cluster when it's started.
" + } + }, + "S3ObjectVersion": { + "base": null, + "refs": { + "CodeConfiguration$s3ObjectVersion": "The version of an S3 object.
" + } + }, + "S3Path": { + "base": null, + "refs": { + "ChangeRequest$s3Path": "Defines the S3 path of the source file that is required to add or update files in a database.
" } }, "SamlMetadataDocument": { @@ -230,15 +1164,45 @@ "FederationParameters$samlMetadataDocument": "SAML 2.0 Metadata document from identity provider (IdP).
" } }, + "SecurityGroupIdList": { + "base": null, + "refs": { + "VpcConfiguration$securityGroupIds": "The unique identifier of the VPC security group applied to the VPC endpoint ENI for the cluster.
" + } + }, + "SecurityGroupIdString": { + "base": null, + "refs": { + "SecurityGroupIdList$member": null + } + }, "ServiceQuotaExceededException": { "base": "You have exceeded your service quota. To perform the requested action, remove some of the relevant resources, or use Service Quotas to request a service quota increase.
", "refs": { } }, + "SignedKxConnectionString": { + "base": null, + "refs": { + "GetKxConnectionStringResponse$signedConnectionString": "The signed connection string that you can use to connect to clusters.
" + } + }, "SmsDomainUrl": { "base": null, "refs": { - "Environment$sageMakerStudioDomainUrl": "The url of the integrated FinSpace notebook environment in your web application.
" + "Environment$sageMakerStudioDomainUrl": "The URL of the integrated FinSpace notebook environment in your web application.
" + } + }, + "SubnetIdList": { + "base": null, + "refs": { + "VpcConfiguration$subnetIds": "The identifier of the subnet that the Privatelink VPC endpoint uses to connect to the cluster.
" + } + }, + "SubnetIdString": { + "base": null, + "refs": { + "SubnetIdList$member": null } }, "SuperuserParameters": { @@ -264,6 +1228,10 @@ "base": null, "refs": { "CreateEnvironmentRequest$tags": "Add tags to your FinSpace environment.
", + "CreateKxClusterRequest$tags": "A list of key-value pairs to label the cluster. You can add up to 50 tags to a cluster.
", + "CreateKxDatabaseRequest$tags": "A list of key-value pairs to label the kdb database. You can add up to 50 tags to your kdb database
", + "CreateKxEnvironmentRequest$tags": "A list of key-value pairs to label the kdb environment. You can add up to 50 tags to your kdb environment.
", + "CreateKxUserRequest$tags": "A list of key-value pairs to label the user. You can add up to 50 tags to a user.
", "ListTagsForResourceResponse$tags": "A list of all tags for a resource.
", "TagResourceRequest$tags": "One or more tags to be assigned to the resource.
" } @@ -289,6 +1257,60 @@ "refs": { } }, + "Timestamp": { + "base": null, + "refs": { + "CreateKxChangesetResponse$createdTimestamp": "The timestamp at which the changeset was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
", + "CreateKxChangesetResponse$lastModifiedTimestamp": "The timestamp at which the changeset was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
", + "CreateKxClusterResponse$lastModifiedTimestamp": "The last time that the cluster was modified. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
", + "CreateKxClusterResponse$createdTimestamp": "The timestamp at which the cluster was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
", + "CreateKxDatabaseResponse$createdTimestamp": "The timestamp at which the database is created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
", + "CreateKxDatabaseResponse$lastModifiedTimestamp": "The last time that the database was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
", + "CreateKxEnvironmentResponse$creationTimestamp": "The timestamp at which the kdb environment was created in FinSpace.
", + "GetKxChangesetResponse$createdTimestamp": "The timestamp at which the changeset was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
", + "GetKxChangesetResponse$activeFromTimestamp": "Beginning time from which the changeset is active. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
", + "GetKxChangesetResponse$lastModifiedTimestamp": "The timestamp at which the changeset was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
", + "GetKxClusterResponse$lastModifiedTimestamp": "The last time that the cluster was modified. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
", + "GetKxClusterResponse$createdTimestamp": "The timestamp at which the cluster was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
", + "GetKxDatabaseResponse$createdTimestamp": "The timestamp at which the database is created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
", + "GetKxDatabaseResponse$lastModifiedTimestamp": "The last time that the database was modified. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
", + "GetKxEnvironmentResponse$creationTimestamp": "The timestamp at which the kdb environment was created in FinSpace.
", + "GetKxEnvironmentResponse$updateTimestamp": "The timestamp at which the kdb environment was updated.
", + "KxChangesetListEntry$createdTimestamp": "The timestamp at which the changeset was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
", + "KxChangesetListEntry$activeFromTimestamp": "Beginning time from which the changeset is active. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
", + "KxChangesetListEntry$lastModifiedTimestamp": "The timestamp at which the changeset was modified. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
", + "KxCluster$lastModifiedTimestamp": "The last time that the cluster was modified. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
", + "KxCluster$createdTimestamp": "The timestamp at which the cluster was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
", + "KxDatabaseListEntry$createdTimestamp": "The timestamp at which the database was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
", + "KxDatabaseListEntry$lastModifiedTimestamp": "The last time that the database was modified. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
", + "KxEnvironment$creationTimestamp": "The timestamp at which the kdb environment was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
", + "KxEnvironment$updateTimestamp": "The timestamp at which the kdb environment was modified in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
", + "KxNode$launchTime": "The time when a particular node is started. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
", + "KxUser$createTimestamp": "The timestamp at which the kdb user was created.
", + "KxUser$updateTimestamp": "The timestamp at which the kdb user was updated.
", + "UpdateKxDatabaseResponse$lastModifiedTimestamp": "The last time that the database was modified. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
", + "UpdateKxEnvironmentNetworkResponse$creationTimestamp": "The timestamp at which the kdb environment was created in FinSpace.
", + "UpdateKxEnvironmentNetworkResponse$updateTimestamp": "The timestamp at which the kdb environment was updated.
", + "UpdateKxEnvironmentResponse$creationTimestamp": "The timestamp at which the kdb environment was created in FinSpace.
", + "UpdateKxEnvironmentResponse$updateTimestamp": "The timestamp at which the kdb environment was updated.
" + } + }, + "TransitGatewayConfiguration": { + "base": "The structure of the transit gateway and network configuration that is used to connect the kdb environment to an internal network.
", + "refs": { + "GetKxEnvironmentResponse$transitGatewayConfiguration": null, + "KxEnvironment$transitGatewayConfiguration": "Specifies the transit gateway and network configuration to connect the kdb environment to an internal network.
", + "UpdateKxEnvironmentNetworkRequest$transitGatewayConfiguration": "Specifies the transit gateway and network configuration to connect the kdb environment to an internal network.
", + "UpdateKxEnvironmentNetworkResponse$transitGatewayConfiguration": null, + "UpdateKxEnvironmentResponse$transitGatewayConfiguration": null + } + }, + "TransitGatewayID": { + "base": null, + "refs": { + "TransitGatewayConfiguration$transitGatewayID": "The identifier of the transit gateway created by the customer to connect outbound traffics from kdb network to your internal network.
" + } + }, "UntagResourceRequest": { "base": null, "refs": { @@ -309,28 +1331,155 @@ "refs": { } }, + "UpdateKxClusterDatabasesRequest": { + "base": null, + "refs": { + } + }, + "UpdateKxClusterDatabasesResponse": { + "base": null, + "refs": { + } + }, + "UpdateKxDatabaseRequest": { + "base": null, + "refs": { + } + }, + "UpdateKxDatabaseResponse": { + "base": null, + "refs": { + } + }, + "UpdateKxEnvironmentNetworkRequest": { + "base": null, + "refs": { + } + }, + "UpdateKxEnvironmentNetworkResponse": { + "base": null, + "refs": { + } + }, + "UpdateKxEnvironmentRequest": { + "base": null, + "refs": { + } + }, + "UpdateKxEnvironmentResponse": { + "base": null, + "refs": { + } + }, + "UpdateKxUserRequest": { + "base": null, + "refs": { + } + }, + "UpdateKxUserResponse": { + "base": null, + "refs": { + } + }, + "ValidCIDRSpace": { + "base": null, + "refs": { + "TransitGatewayConfiguration$routableCIDRSpace": "The routing CIDR on behalf of kdb environment. It could be any \"/26 range in the 100.64.0.0 CIDR space. After providing, it will be added to the customer's transit gateway routing table so that the traffics could be routed to kdb network.
" + } + }, + "ValidHostname": { + "base": null, + "refs": { + "CustomDNSServer$customDNSServerName": "The name of the DNS server.
" + } + }, + "ValidIPAddress": { + "base": null, + "refs": { + "CustomDNSServer$customDNSServerIP": "The IP address of the DNS server.
" + } + }, "ValidationException": { "base": "The input fails to satisfy the constraints specified by an AWS service.
", "refs": { } }, + "VpcConfiguration": { + "base": "Configuration details about the network where the Privatelink endpoint of the cluster resides.
", + "refs": { + "CreateKxClusterRequest$vpcConfiguration": "Configuration details about the network where the Privatelink endpoint of the cluster resides.
", + "CreateKxClusterResponse$vpcConfiguration": "Configuration details about the network where the Privatelink endpoint of the cluster resides.
", + "GetKxClusterResponse$vpcConfiguration": "Configuration details about the network where the Privatelink endpoint of the cluster resides.
" + } + }, + "VpcIdString": { + "base": null, + "refs": { + "VpcConfiguration$vpcId": "The identifier of the VPC endpoint.
" + } + }, + "dnsStatus": { + "base": null, + "refs": { + "GetKxEnvironmentResponse$dnsStatus": "The status of DNS configuration.
", + "KxEnvironment$dnsStatus": "The status of DNS configuration.
", + "UpdateKxEnvironmentNetworkResponse$dnsStatus": "The status of DNS configuration.
", + "UpdateKxEnvironmentResponse$dnsStatus": "The status of DNS configuration.
" + } + }, "errorMessage": { "base": null, "refs": { + "ConflictException$message": null, + "ConflictException$reason": "The reason for the conflict exception.
", "InternalServerException$message": null, "InvalidRequestException$message": null, "LimitExceededException$message": null, + "ResourceAlreadyExistsException$message": null, "ResourceNotFoundException$message": null, "ServiceQuotaExceededException$message": null, "ValidationException$message": null } }, + "numBytes": { + "base": null, + "refs": { + "GetKxDatabaseResponse$numBytes": "The total number of bytes in the database.
" + } + }, + "numChangesets": { + "base": null, + "refs": { + "GetKxDatabaseResponse$numChangesets": "The total number of changesets in the database.
" + } + }, + "numFiles": { + "base": null, + "refs": { + "GetKxDatabaseResponse$numFiles": "The total number of files in the database.
" + } + }, + "stringValueLength1to255": { + "base": null, + "refs": { + "GetKxEnvironmentResponse$certificateAuthorityArn": "The Amazon Resource Name (ARN) of the certificate authority of the kdb environment.
", + "KxEnvironment$certificateAuthorityArn": "The Amazon Resource Name (ARN) of the certificate authority:
" + } + }, + "tgwStatus": { + "base": null, + "refs": { + "GetKxEnvironmentResponse$tgwStatus": "The status of the network configuration.
", + "KxEnvironment$tgwStatus": "The status of the network configuration.
", + "UpdateKxEnvironmentNetworkResponse$tgwStatus": "The status of the network configuration.
", + "UpdateKxEnvironmentResponse$tgwStatus": "The status of the network configuration.
" + } + }, "url": { "base": null, "refs": { - "AttributeMap$value": null, - "CreateEnvironmentResponse$environmentUrl": "The sign-in url for the web application of the FinSpace environment you created.
", - "Environment$environmentUrl": "The sign-in url for the web application of your FinSpace environment.
", + "CreateEnvironmentResponse$environmentUrl": "The sign-in URL for the web application of the FinSpace environment you created.
", + "Environment$environmentUrl": "The sign-in URL for the web application of your FinSpace environment.
", "FederationParameters$samlMetadataURL": "Provide the metadata URL from your SAML 2.0 compliant identity provider (IdP).
", "FederationParameters$applicationCallBackURL": "The redirect or sign-in URL that should be entered into the SAML 2.0 compliant identity provider configuration (IdP).
" } diff --git a/models/apis/finspace/2021-03-12/endpoint-rule-set-1.json b/models/apis/finspace/2021-03-12/endpoint-rule-set-1.json new file mode 100644 index 00000000000..5299e3d75a8 --- /dev/null +++ b/models/apis/finspace/2021-03-12/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" + } + ] + } + ], + "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" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "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://finspace-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "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" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://finspace-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "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" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://finspace.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://finspace.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/finspace/2021-03-12/endpoint-tests-1.json b/models/apis/finspace/2021-03-12/endpoint-tests-1.json new file mode 100644 index 00000000000..aabedda3223 --- /dev/null +++ b/models/apis/finspace/2021-03-12/endpoint-tests-1.json @@ -0,0 +1,366 @@ +{ + "testCases": [ + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://finspace.ca-central-1.amazonaws.com" + } + }, + "params": { + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://finspace.eu-west-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://finspace.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://finspace.us-east-2.amazonaws.com" + } + }, + "params": { + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://finspace.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://finspace-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://finspace-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://finspace.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://finspace-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://finspace-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://finspace.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://finspace.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://finspace-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://finspace-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://finspace.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://finspace.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://finspace-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://finspace.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://finspace-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://finspace.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/finspace/2021-03-12/paginators-1.json b/models/apis/finspace/2021-03-12/paginators-1.json index 5677bd8e4a2..ca77facdbe9 100644 --- a/models/apis/finspace/2021-03-12/paginators-1.json +++ b/models/apis/finspace/2021-03-12/paginators-1.json @@ -1,4 +1,25 @@ { "pagination": { + "ListKxChangesets": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListKxClusterNodes": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListKxDatabases": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListKxEnvironments": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "environments" + } } } diff --git a/models/apis/frauddetector/2019-11-15/api-2.json b/models/apis/frauddetector/2019-11-15/api-2.json index 225251cc08b..aae18354326 100644 --- a/models/apis/frauddetector/2019-11-15/api-2.json +++ b/models/apis/frauddetector/2019-11-15/api-2.json @@ -1602,7 +1602,8 @@ "STRING", "INTEGER", "FLOAT", - "BOOLEAN" + "BOOLEAN", + "DATETIME" ] }, "DataValidationMetrics":{ diff --git a/models/apis/frauddetector/2019-11-15/docs-2.json b/models/apis/frauddetector/2019-11-15/docs-2.json index 670a95558ff..154988f71b9 100644 --- a/models/apis/frauddetector/2019-11-15/docs-2.json +++ b/models/apis/frauddetector/2019-11-15/docs-2.json @@ -19,7 +19,7 @@ "DeleteDetector": "Deletes the detector. Before deleting a detector, you must first delete all detector versions and rule versions associated with the detector.
When you delete a detector, Amazon Fraud Detector permanently deletes the detector and the data is no longer stored in Amazon Fraud Detector.
", "DeleteDetectorVersion": "Deletes the detector version. You cannot delete detector versions that are in ACTIVE
status.
When you delete a detector version, Amazon Fraud Detector permanently deletes the detector and the data is no longer stored in Amazon Fraud Detector.
", "DeleteEntityType": "Deletes an entity type.
You cannot delete an entity type that is included in an event type.
When you delete an entity type, Amazon Fraud Detector permanently deletes that entity type and the data is no longer stored in Amazon Fraud Detector.
", - "DeleteEvent": "Deletes the specified event.
When you delete an event, Amazon Fraud Detector permanently deletes that event and the event data is no longer stored in Amazon Fraud Detector.
", + "DeleteEvent": "Deletes the specified event.
When you delete an event, Amazon Fraud Detector permanently deletes that event and the event data is no longer stored in Amazon Fraud Detector. If deleteAuditHistory
is True
, event data is available through search for up to 30 seconds after the delete operation is completed.
Deletes an event type.
You cannot delete an event type that is used in a detector or a model.
When you delete an event type, Amazon Fraud Detector permanently deletes that event type and the data is no longer stored in Amazon Fraud Detector.
", "DeleteEventsByEventType": "Deletes all events of a particular event type.
", "DeleteExternalModel": "Removes a SageMaker model from Amazon Fraud Detector.
You can remove an Amazon SageMaker model if it is not associated with a detector version. Removing a SageMaker model disconnects it from Amazon Fraud Detector, but the model remains available in SageMaker.
", @@ -342,7 +342,7 @@ "DataType": { "base": null, "refs": { - "CreateVariableRequest$dataType": "The data type.
", + "CreateVariableRequest$dataType": "The data type of the variable.
", "Variable$dataType": "The data type of the variable. For more information see Variable types.
" } }, @@ -356,7 +356,7 @@ "DeleteAuditHistory": { "base": null, "refs": { - "DeleteEventRequest$deleteAuditHistory": "Specifies whether or not to delete any predictions associated with the event.
" + "DeleteEventRequest$deleteAuditHistory": "Specifies whether or not to delete any predictions associated with the event. If set to True
,
Returns a list of tables for a specified keyspace.
", "ListTagsForResource": "Returns a list of all tags associated with the specified Amazon Keyspaces resource.
", "RestoreTable": "Restores the specified table to the specified point in time within the earliest_restorable_timestamp
and the current time. For more information about restore points, see Time window for PITR continuous backups in the Amazon Keyspaces Developer Guide.
Any number of users can execute up to 4 concurrent restores (any type of restore) in a given account.
When you restore using point in time recovery, Amazon Keyspaces restores your source table's schema and data to the state based on the selected timestamp (day:hour:minute:second)
to a new table. The Time to Live (TTL) settings are also restored to the state based on the selected timestamp.
In addition to the table's schema, data, and TTL settings, RestoreTable
restores the capacity mode, encryption, and point-in-time recovery settings from the source table. Unlike the table's schema data and TTL settings, which are restored based on the selected timestamp, these settings are always restored based on the table's settings as of the current time or when the table was deleted.
You can also overwrite these settings during restore:
Read/write capacity mode
Provisioned throughput capacity settings
Point-in-time (PITR) settings
Tags
For more information, see PITR restore settings in the Amazon Keyspaces Developer Guide.
Note that the following settings are not restored, and you must configure them manually for the new table:
Automatic scaling policies (for tables that use provisioned capacity mode)
Identity and Access Management (IAM) policies
Amazon CloudWatch metrics and alarms
Associates a set of tags with a Amazon Keyspaces resource. You can then activate these user-defined tags so that they appear on the Cost Management Console for cost allocation tracking. For more information, see Adding tags and labels to Amazon Keyspaces resources in the Amazon Keyspaces Developer Guide.
For IAM policy examples that show how to control access to Amazon Keyspaces resources based on tags, see Amazon Keyspaces resource access based on tags in the Amazon Keyspaces Developer Guide.
", + "TagResource": "Associates a set of tags with a Amazon Keyspaces resource. You can then activate these user-defined tags so that they appear on the Cost Management Console for cost allocation tracking. For more information, see Adding tags and labels to Amazon Keyspaces resources in the Amazon Keyspaces Developer Guide.
For IAM policy examples that show how to control access to Amazon Keyspaces resources based on tags, see Amazon Keyspaces resource access based on tags in the Amazon Keyspaces Developer Guide.
", "UntagResource": "Removes the association of tags from a Amazon Keyspaces resource.
", "UpdateTable": "Adds new columns to the table or updates one of the table's settings, for example capacity mode, encryption, point-in-time recovery, or ttl settings. Note that you can only update one specific table setting per update operation.
" }, @@ -22,7 +22,7 @@ "refs": { "CreateKeyspaceResponse$resourceArn": "The unique identifier of the keyspace in the format of an Amazon Resource Name (ARN).
", "CreateTableResponse$resourceArn": "The unique identifier of the table in the format of an Amazon Resource Name (ARN).
", - "GetKeyspaceResponse$resourceArn": "The ARN of the keyspace.
", + "GetKeyspaceResponse$resourceArn": "Returns the ARN of the keyspace.
", "GetTableResponse$resourceArn": "The Amazon Resource Name (ARN) of the specified table.
", "KeyspaceSummary$resourceArn": "The unique identifier of the keyspace in the format of an Amazon Resource Name (ARN).
", "ListTagsForResourceRequest$resourceArn": "The Amazon Resource Name (ARN) of the Amazon Keyspaces resource.
", @@ -324,6 +324,20 @@ "GetTableResponse$pointInTimeRecovery": "The point-in-time recovery status of the specified table.
" } }, + "RegionList": { + "base": null, + "refs": { + "GetKeyspaceResponse$replicationRegions": " If the replicationStrategy
of the keyspace is MULTI_REGION
, a list of replication Regions is returned.
If the replicationStrategy
of the keyspace is MULTI_REGION
, a list of replication Regions is returned.
The regionList
can contain up to six Amazon Web Services Regions where the keyspace is replicated in.
The replication specification of the keyspace includes:
regionList
- up to six Amazon Web Services Regions where the keyspace is replicated in.
replicationStrategy
- the required value is SINGLE_REGION
or MULTI_REGION
.
The replication specification of the keyspace includes:
replicationStrategy
- the required value is SINGLE_REGION
or MULTI_REGION
.
regionList
- if the replicationStrategy
is MULTI_REGION
, the regionList
requires the current Region and at least one additional Amazon Web Services Region where the keyspace is going to be replicated in. The maximum number of supported replication Regions including the current Region is six.
The operation tried to access a keyspace or table that doesn't exist. The resource might not be specified correctly, or its status might not be ACTIVE
.
The Amazon Resource Name (ARN) of the customer managed KMS key, for example kms_key_identifier:ARN
.
Returns the replication strategy of the keyspace. The options are SINGLE_REGION
or MULTI_REGION
.
This property specifies if a keyspace is a single Region keyspace or a multi-Region keyspace. The available values are SINGLE_REGION
or MULTI_REGION
.
The replicationStrategy
of a keyspace, the required value is SINGLE_REGION
or MULTI_REGION
.
Creates a friendly name for a KMS key.
Adding, deleting, or updating an alias can allow or deny permission to the KMS key. For details, see ABAC for KMS in the Key Management Service Developer Guide.
You can use an alias to identify a KMS key in the KMS console, in the DescribeKey operation and in cryptographic operations, such as Encrypt and GenerateDataKey. You can also change the KMS key that's associated with the alias (UpdateAlias) or delete the alias (DeleteAlias) at any time. These operations don't affect the underlying KMS key.
You can associate the alias with any customer managed key in the same Amazon Web Services Region. Each alias is associated with only one KMS key at a time, but a KMS key can have multiple aliases. A valid KMS key is required. You can't create an alias without a KMS key.
The alias must be unique in the account and Region, but you can have aliases with the same name in different Regions. For detailed information about aliases, see Using aliases in the Key Management Service Developer Guide.
This operation does not return a response. To get the alias that you created, use the ListAliases operation.
The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.
Cross-account use: No. You cannot perform this operation on an alias in a different Amazon Web Services account.
Required permissions
kms:CreateAlias on the alias (IAM policy).
kms:CreateAlias on the KMS key (key policy).
For details, see Controlling access to aliases in the Key Management Service Developer Guide.
Related operations:
", "CreateCustomKeyStore": "Creates a custom key store backed by a key store that you own and manage. When you use a KMS key in a custom key store for a cryptographic operation, the cryptographic operation is actually performed in your key store using your keys. KMS supports CloudHSM key stores backed by an CloudHSM cluster and external key stores backed by an external key store proxy and external key manager outside of Amazon Web Services.
This operation is part of the custom key stores feature in KMS, which combines the convenience and extensive integration of KMS with the isolation and control of a key store that you own and manage.
Before you create the custom key store, the required elements must be in place and operational. We recommend that you use the test tools that KMS provides to verify the configuration your external key store proxy. For details about the required elements and verification tests, see Assemble the prerequisites (for CloudHSM key stores) or Assemble the prerequisites (for external key stores) in the Key Management Service Developer Guide.
To create a custom key store, use the following parameters.
To create an CloudHSM key store, specify the CustomKeyStoreName
, CloudHsmClusterId
, KeyStorePassword
, and TrustAnchorCertificate
. The CustomKeyStoreType
parameter is optional for CloudHSM key stores. If you include it, set it to the default value, AWS_CLOUDHSM
. For help with failures, see Troubleshooting an CloudHSM key store in the Key Management Service Developer Guide.
To create an external key store, specify the CustomKeyStoreName
and a CustomKeyStoreType
of EXTERNAL_KEY_STORE
. Also, specify values for XksProxyConnectivity
, XksProxyAuthenticationCredential
, XksProxyUriEndpoint
, and XksProxyUriPath
. If your XksProxyConnectivity
value is VPC_ENDPOINT_SERVICE
, specify the XksProxyVpcEndpointServiceName
parameter. For help with failures, see Troubleshooting an external key store in the Key Management Service Developer Guide.
For external key stores:
Some external key managers provide a simpler method for creating an external key store. For details, see your external key manager documentation.
When creating an external key store in the KMS console, you can upload a JSON-based proxy configuration file with the desired values. You cannot use a proxy configuration with the CreateCustomKeyStore
operation. However, you can use the values in the file to help you determine the correct values for the CreateCustomKeyStore
parameters.
When the operation completes successfully, it returns the ID of the new custom key store. Before you can use your new custom key store, you need to use the ConnectCustomKeyStore operation to connect a new CloudHSM key store to its CloudHSM cluster, or to connect a new external key store to the external key store proxy for your external key manager. Even if you are not going to use your custom key store immediately, you might want to connect it to verify that all settings are correct and then disconnect it until you are ready to use it.
For help with failures, see Troubleshooting a custom key store in the Key Management Service Developer Guide.
Cross-account use: No. You cannot perform this operation on a custom key store in a different Amazon Web Services account.
Required permissions: kms:CreateCustomKeyStore (IAM policy).
Related operations:
Adds a grant to a KMS key.
A grant is a policy instrument that allows Amazon Web Services principals to use KMS keys in cryptographic operations. It also can allow them to view a KMS key (DescribeKey) and create and manage grants. When authorizing access to a KMS key, grants are considered along with key policies and IAM policies. Grants are often used for temporary permissions because you can create one, use its permissions, and delete it without changing your key policies or IAM policies.
For detailed information about grants, including grant terminology, see Grants in KMS in the Key Management Service Developer Guide . For examples of working with grants in several programming languages, see Programming grants.
The CreateGrant
operation returns a GrantToken
and a GrantId
.
When you create, retire, or revoke a grant, there might be a brief delay, usually less than five minutes, until the grant is available throughout KMS. This state is known as eventual consistency. Once the grant has achieved eventual consistency, the grantee principal can use the permissions in the grant without identifying the grant.
However, to use the permissions in the grant immediately, use the GrantToken
that CreateGrant
returns. For details, see Using a grant token in the Key Management Service Developer Guide .
The CreateGrant
operation also returns a GrantId
. You can use the GrantId
and a key identifier to identify the grant in the RetireGrant and RevokeGrant operations. To find the grant ID, use the ListGrants or ListRetirableGrants operations.
The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.
Cross-account use: Yes. To perform this operation on a KMS key in a different Amazon Web Services account, specify the key ARN in the value of the KeyId
parameter.
Required permissions: kms:CreateGrant (key policy)
Related operations:
", - "CreateKey": "Creates a unique customer managed KMS key in your Amazon Web Services account and Region. You can use a KMS key in cryptographic operations, such as encryption and signing. Some Amazon Web Services services let you use KMS keys that you create and manage to protect your service resources.
A KMS key is a logical representation of a cryptographic key. In addition to the key material used in cryptographic operations, a KMS key includes metadata, such as the key ID, key policy, creation date, description, and key state. For details, see Managing keys in the Key Management Service Developer Guide
Use the parameters of CreateKey
to specify the type of KMS key, the source of its key material, its key policy, description, tags, and other properties.
KMS has replaced the term customer master key (CMK) with KMS key and KMS key. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.
To create different types of KMS keys, use the following guidance:
By default, CreateKey
creates a symmetric encryption KMS key with key material that KMS generates. This is the basic and most widely used type of KMS key, and provides the best performance.
To create a symmetric encryption KMS key, you don't need to specify any parameters. The default value for KeySpec
, SYMMETRIC_DEFAULT
, the default value for KeyUsage
, ENCRYPT_DECRYPT
, and the default value for Origin
, AWS_KMS
, create a symmetric encryption KMS key with KMS key material.
If you need a key for basic encryption and decryption or you are creating a KMS key to protect your resources in an Amazon Web Services service, create a symmetric encryption KMS key. The key material in a symmetric encryption key never leaves KMS unencrypted. You can use a symmetric encryption KMS key to encrypt and decrypt data up to 4,096 bytes, but they are typically used to generate data keys and data keys pairs. For details, see GenerateDataKey and GenerateDataKeyPair.
To create an asymmetric KMS key, use the KeySpec
parameter to specify the type of key material in the KMS key. Then, use the KeyUsage
parameter to determine whether the KMS key will be used to encrypt and decrypt or sign and verify. You can't change these properties after the KMS key is created.
Asymmetric KMS keys contain an RSA key pair, Elliptic Curve (ECC) key pair, or an SM2 key pair (China Regions only). The private key in an asymmetric KMS key never leaves KMS unencrypted. However, you can use the GetPublicKey operation to download the public key so it can be used outside of KMS. KMS keys with RSA or SM2 key pairs can be used to encrypt or decrypt data or sign and verify messages (but not both). KMS keys with ECC key pairs can be used only to sign and verify messages. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.
To create an HMAC KMS key, set the KeySpec
parameter to a key spec value for HMAC KMS keys. Then set the KeyUsage
parameter to GENERATE_VERIFY_MAC
. You must set the key usage even though GENERATE_VERIFY_MAC
is the only valid key usage value for HMAC KMS keys. You can't change these properties after the KMS key is created.
HMAC KMS keys are symmetric keys that never leave KMS unencrypted. You can use HMAC keys to generate (GenerateMac) and verify (VerifyMac) HMAC codes for messages up to 4096 bytes.
HMAC KMS keys are not supported in all Amazon Web Services Regions. If you try to create an HMAC KMS key in an Amazon Web Services Region in which HMAC keys are not supported, the CreateKey
operation returns an UnsupportedOperationException
. For a list of Regions in which HMAC KMS keys are supported, see HMAC keys in KMS in the Key Management Service Developer Guide.
To create a multi-Region primary key in the local Amazon Web Services Region, use the MultiRegion
parameter with a value of True
. To create a multi-Region replica key, that is, a KMS key with the same key ID and key material as a primary key, but in a different Amazon Web Services Region, use the ReplicateKey operation. To change a replica key to a primary key, and its primary key to a replica key, use the UpdatePrimaryRegion operation.
You can create multi-Region KMS keys for all supported KMS key types: symmetric encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric signing KMS keys. You can also create multi-Region keys with imported key material. However, you can't create multi-Region keys in a custom key store.
This operation supports multi-Region keys, an KMS feature that lets you create multiple interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.
To import your own key material into a KMS key, begin by creating a symmetric encryption KMS key with no key material. To do this, use the Origin
parameter of CreateKey
with a value of EXTERNAL
. Next, use GetParametersForImport operation to get a public key and import token, and use the public key to encrypt your key material. Then, use ImportKeyMaterial with your import token to import the key material. For step-by-step instructions, see Importing Key Material in the Key Management Service Developer Guide .
This feature supports only symmetric encryption KMS keys, including multi-Region symmetric encryption KMS keys. You cannot import key material into any other type of KMS key.
To create a multi-Region primary key with imported key material, use the Origin
parameter of CreateKey
with a value of EXTERNAL
and the MultiRegion
parameter with a value of True
. To create replicas of the multi-Region primary key, use the ReplicateKey operation. For instructions, see Importing key material into multi-Region keys. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.
A custom key store lets you protect your Amazon Web Services resources using keys in a backing key store that you own and manage. When you request a cryptographic operation with a KMS key in a custom key store, the operation is performed in the backing key store using its cryptographic keys.
KMS supports CloudHSM key stores backed by an CloudHSM cluster and external key stores backed by an external key manager outside of Amazon Web Services. When you create a KMS key in an CloudHSM key store, KMS generates an encryption key in the CloudHSM cluster and associates it with the KMS key. When you create a KMS key in an external key store, you specify an existing encryption key in the external key manager.
Some external key managers provide a simpler method for creating a KMS key in an external key store. For details, see your external key manager documentation.
Before you create a KMS key in a custom key store, the ConnectionState
of the key store must be CONNECTED
. To connect the custom key store, use the ConnectCustomKeyStore operation. To find the ConnectionState
, use the DescribeCustomKeyStores operation.
To create a KMS key in a custom key store, use the CustomKeyStoreId
. Use the default KeySpec
value, SYMMETRIC_DEFAULT
, and the default KeyUsage
value, ENCRYPT_DECRYPT
to create a symmetric encryption key. No other key type is supported in a custom key store.
To create a KMS key in an CloudHSM key store, use the Origin
parameter with a value of AWS_CLOUDHSM
. The CloudHSM cluster that is associated with the custom key store must have at least two active HSMs in different Availability Zones in the Amazon Web Services Region.
To create a KMS key in an external key store, use the Origin
parameter with a value of EXTERNAL_KEY_STORE
and an XksKeyId
parameter that identifies an existing external key.
Some external key managers provide a simpler method for creating a KMS key in an external key store. For details, see your external key manager documentation.
Cross-account use: No. You cannot use this operation to create a KMS key in a different Amazon Web Services account.
Required permissions: kms:CreateKey (IAM policy). To use the Tags
parameter, kms:TagResource (IAM policy). For examples and information about related permissions, see Allow a user to create KMS keys in the Key Management Service Developer Guide.
Related operations:
", + "CreateKey": "Creates a unique customer managed KMS key in your Amazon Web Services account and Region. You can use a KMS key in cryptographic operations, such as encryption and signing. Some Amazon Web Services services let you use KMS keys that you create and manage to protect your service resources.
A KMS key is a logical representation of a cryptographic key. In addition to the key material used in cryptographic operations, a KMS key includes metadata, such as the key ID, key policy, creation date, description, and key state. For details, see Managing keys in the Key Management Service Developer Guide
Use the parameters of CreateKey
to specify the type of KMS key, the source of its key material, its key policy, description, tags, and other properties.
KMS has replaced the term customer master key (CMK) with KMS key and KMS key. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.
To create different types of KMS keys, use the following guidance:
By default, CreateKey
creates a symmetric encryption KMS key with key material that KMS generates. This is the basic and most widely used type of KMS key, and provides the best performance.
To create a symmetric encryption KMS key, you don't need to specify any parameters. The default value for KeySpec
, SYMMETRIC_DEFAULT
, the default value for KeyUsage
, ENCRYPT_DECRYPT
, and the default value for Origin
, AWS_KMS
, create a symmetric encryption KMS key with KMS key material.
If you need a key for basic encryption and decryption or you are creating a KMS key to protect your resources in an Amazon Web Services service, create a symmetric encryption KMS key. The key material in a symmetric encryption key never leaves KMS unencrypted. You can use a symmetric encryption KMS key to encrypt and decrypt data up to 4,096 bytes, but they are typically used to generate data keys and data keys pairs. For details, see GenerateDataKey and GenerateDataKeyPair.
To create an asymmetric KMS key, use the KeySpec
parameter to specify the type of key material in the KMS key. Then, use the KeyUsage
parameter to determine whether the KMS key will be used to encrypt and decrypt or sign and verify. You can't change these properties after the KMS key is created.
Asymmetric KMS keys contain an RSA key pair, Elliptic Curve (ECC) key pair, or an SM2 key pair (China Regions only). The private key in an asymmetric KMS key never leaves KMS unencrypted. However, you can use the GetPublicKey operation to download the public key so it can be used outside of KMS. KMS keys with RSA or SM2 key pairs can be used to encrypt or decrypt data or sign and verify messages (but not both). KMS keys with ECC key pairs can be used only to sign and verify messages. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.
To create an HMAC KMS key, set the KeySpec
parameter to a key spec value for HMAC KMS keys. Then set the KeyUsage
parameter to GENERATE_VERIFY_MAC
. You must set the key usage even though GENERATE_VERIFY_MAC
is the only valid key usage value for HMAC KMS keys. You can't change these properties after the KMS key is created.
HMAC KMS keys are symmetric keys that never leave KMS unencrypted. You can use HMAC keys to generate (GenerateMac) and verify (VerifyMac) HMAC codes for messages up to 4096 bytes.
To create a multi-Region primary key in the local Amazon Web Services Region, use the MultiRegion
parameter with a value of True
. To create a multi-Region replica key, that is, a KMS key with the same key ID and key material as a primary key, but in a different Amazon Web Services Region, use the ReplicateKey operation. To change a replica key to a primary key, and its primary key to a replica key, use the UpdatePrimaryRegion operation.
You can create multi-Region KMS keys for all supported KMS key types: symmetric encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric signing KMS keys. You can also create multi-Region keys with imported key material. However, you can't create multi-Region keys in a custom key store.
This operation supports multi-Region keys, an KMS feature that lets you create multiple interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.
To import your own key material into a KMS key, begin by creating a KMS key with no key material. To do this, use the Origin
parameter of CreateKey
with a value of EXTERNAL
. Next, use GetParametersForImport operation to get a public key and import token. Use the wrapping public key to encrypt your key material. Then, use ImportKeyMaterial with your import token to import the key material. For step-by-step instructions, see Importing Key Material in the Key Management Service Developer Guide .
You can import key material into KMS keys of all supported KMS key types: symmetric encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric signing KMS keys. You can also create multi-Region keys with imported key material. However, you can't import key material into a KMS key in a custom key store.
To create a multi-Region primary key with imported key material, use the Origin
parameter of CreateKey
with a value of EXTERNAL
and the MultiRegion
parameter with a value of True
. To create replicas of the multi-Region primary key, use the ReplicateKey operation. For instructions, see Importing key material into multi-Region keys. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.
A custom key store lets you protect your Amazon Web Services resources using keys in a backing key store that you own and manage. When you request a cryptographic operation with a KMS key in a custom key store, the operation is performed in the backing key store using its cryptographic keys.
KMS supports CloudHSM key stores backed by an CloudHSM cluster and external key stores backed by an external key manager outside of Amazon Web Services. When you create a KMS key in an CloudHSM key store, KMS generates an encryption key in the CloudHSM cluster and associates it with the KMS key. When you create a KMS key in an external key store, you specify an existing encryption key in the external key manager.
Some external key managers provide a simpler method for creating a KMS key in an external key store. For details, see your external key manager documentation.
Before you create a KMS key in a custom key store, the ConnectionState
of the key store must be CONNECTED
. To connect the custom key store, use the ConnectCustomKeyStore operation. To find the ConnectionState
, use the DescribeCustomKeyStores operation.
To create a KMS key in a custom key store, use the CustomKeyStoreId
. Use the default KeySpec
value, SYMMETRIC_DEFAULT
, and the default KeyUsage
value, ENCRYPT_DECRYPT
to create a symmetric encryption key. No other key type is supported in a custom key store.
To create a KMS key in an CloudHSM key store, use the Origin
parameter with a value of AWS_CLOUDHSM
. The CloudHSM cluster that is associated with the custom key store must have at least two active HSMs in different Availability Zones in the Amazon Web Services Region.
To create a KMS key in an external key store, use the Origin
parameter with a value of EXTERNAL_KEY_STORE
and an XksKeyId
parameter that identifies an existing external key.
Some external key managers provide a simpler method for creating a KMS key in an external key store. For details, see your external key manager documentation.
Cross-account use: No. You cannot use this operation to create a KMS key in a different Amazon Web Services account.
Required permissions: kms:CreateKey (IAM policy). To use the Tags
parameter, kms:TagResource (IAM policy). For examples and information about related permissions, see Allow a user to create KMS keys in the Key Management Service Developer Guide.
Related operations:
", "Decrypt": "Decrypts ciphertext that was encrypted by a KMS key using any of the following operations:
You can use this operation to decrypt ciphertext that was encrypted under a symmetric encryption KMS key or an asymmetric encryption KMS key. When the KMS key is asymmetric, you must specify the KMS key and the encryption algorithm that was used to encrypt the ciphertext. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.
The Decrypt
operation also decrypts ciphertext that was encrypted outside of KMS by the public key in an KMS asymmetric KMS key. However, it cannot decrypt symmetric ciphertext produced by other libraries, such as the Amazon Web Services Encryption SDK or Amazon S3 client-side encryption. These libraries return a ciphertext format that is incompatible with KMS.
If the ciphertext was encrypted under a symmetric encryption KMS key, the KeyId
parameter is optional. KMS can get this information from metadata that it adds to the symmetric ciphertext blob. This feature adds durability to your implementation by ensuring that authorized users can decrypt ciphertext decades after it was encrypted, even if they've lost track of the key ID. However, specifying the KMS key is always recommended as a best practice. When you use the KeyId
parameter to specify a KMS key, KMS only uses the KMS key you specify. If the ciphertext was encrypted under a different KMS key, the Decrypt
operation fails. This practice ensures that you use the KMS key that you intend.
Whenever possible, use key policies to give users permission to call the Decrypt
operation on a particular KMS key, instead of using &IAM; policies. Otherwise, you might create an &IAM; policy that gives the user Decrypt
permission on all KMS keys. This user could decrypt ciphertext that was encrypted by KMS keys in other accounts if the key policy for the cross-account KMS key permits it. If you must use an IAM policy for Decrypt
permissions, limit the user to particular KMS keys or particular trusted accounts. For details, see Best practices for IAM policies in the Key Management Service Developer Guide.
Decrypt
also supports Amazon Web Services Nitro Enclaves, which provide an isolated compute environment in Amazon EC2. To call Decrypt
for a Nitro enclave, use the Amazon Web Services Nitro Enclaves SDK or any Amazon Web Services SDK. Use the Recipient
parameter to provide the attestation document for the enclave. Instead of the plaintext data, the response includes the plaintext data encrypted with the public key from the attestation document (CiphertextForRecipient
).For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see How Amazon Web Services Nitro Enclaves uses KMS in the Key Management Service Developer Guide..
The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.
Cross-account use: Yes. If you use the KeyId
parameter to identify a KMS key in a different Amazon Web Services account, specify the key ARN or the alias ARN of the KMS key.
Required permissions: kms:Decrypt (key policy)
Related operations:
", "DeleteAlias": "Deletes the specified alias.
Adding, deleting, or updating an alias can allow or deny permission to the KMS key. For details, see ABAC for KMS in the Key Management Service Developer Guide.
Because an alias is not a property of a KMS key, you can delete and change the aliases of a KMS key without affecting the KMS key. Also, aliases do not appear in the response from the DescribeKey operation. To get the aliases of all KMS keys, use the ListAliases operation.
Each KMS key can have multiple aliases. To change the alias of a KMS key, use DeleteAlias to delete the current alias and CreateAlias to create a new alias. To associate an existing alias with a different KMS key, call UpdateAlias.
Cross-account use: No. You cannot perform this operation on an alias in a different Amazon Web Services account.
Required permissions
kms:DeleteAlias on the alias (IAM policy).
kms:DeleteAlias on the KMS key (key policy).
For details, see Controlling access to aliases in the Key Management Service Developer Guide.
Related operations:
", "DeleteCustomKeyStore": "Deletes a custom key store. This operation does not affect any backing elements of the custom key store. It does not delete the CloudHSM cluster that is associated with an CloudHSM key store, or affect any users or keys in the cluster. For an external key store, it does not affect the external key store proxy, external key manager, or any external keys.
This operation is part of the custom key stores feature in KMS, which combines the convenience and extensive integration of KMS with the isolation and control of a key store that you own and manage.
The custom key store that you delete cannot contain any KMS keys. Before deleting the key store, verify that you will never need to use any of the KMS keys in the key store for any cryptographic operations. Then, use ScheduleKeyDeletion to delete the KMS keys from the key store. After the required waiting period expires and all KMS keys are deleted from the custom key store, use DisconnectCustomKeyStore to disconnect the key store from KMS. Then, you can delete the custom key store.
For keys in an CloudHSM key store, the ScheduleKeyDeletion
operation makes a best effort to delete the key material from the associated cluster. However, you might need to manually delete the orphaned key material from the cluster and its backups. KMS never creates, manages, or deletes cryptographic keys in the external key manager associated with an external key store. You must manage them using your external key manager tools.
Instead of deleting the custom key store, consider using the DisconnectCustomKeyStore operation to disconnect the custom key store from its backing key store. While the key store is disconnected, you cannot create or use the KMS keys in the key store. But, you do not need to delete KMS keys and you can reconnect a disconnected custom key store at any time.
If the operation succeeds, it returns a JSON object with no properties.
Cross-account use: No. You cannot perform this operation on a custom key store in a different Amazon Web Services account.
Required permissions: kms:DeleteCustomKeyStore (IAM policy)
Related operations:
Deletes key material that you previously imported. This operation makes the specified KMS key unusable. For more information about importing key material into KMS, see Importing Key Material in the Key Management Service Developer Guide.
When the specified KMS key is in the PendingDeletion
state, this operation does not change the KMS key's state. Otherwise, it changes the KMS key's state to PendingImport
.
After you delete key material, you can use ImportKeyMaterial to reimport the same key material into the KMS key.
The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.
Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.
Required permissions: kms:DeleteImportedKeyMaterial (key policy)
Related operations:
", + "DeleteImportedKeyMaterial": "Deletes key material that was previously imported. This operation makes the specified KMS key temporarily unusable. To restore the usability of the KMS key, reimport the same key material. For more information about importing key material into KMS, see Importing Key Material in the Key Management Service Developer Guide.
When the specified KMS key is in the PendingDeletion
state, this operation does not change the KMS key's state. Otherwise, it changes the KMS key's state to PendingImport
.
The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.
Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.
Required permissions: kms:DeleteImportedKeyMaterial (key policy)
Related operations:
", "DescribeCustomKeyStores": "Gets information about custom key stores in the account and Region.
This operation is part of the custom key stores feature in KMS, which combines the convenience and extensive integration of KMS with the isolation and control of a key store that you own and manage.
By default, this operation returns information about all custom key stores in the account and Region. To get only information about a particular custom key store, use either the CustomKeyStoreName
or CustomKeyStoreId
parameter (but not both).
To determine whether the custom key store is connected to its CloudHSM cluster or external key store proxy, use the ConnectionState
element in the response. If an attempt to connect the custom key store failed, the ConnectionState
value is FAILED
and the ConnectionErrorCode
element in the response indicates the cause of the failure. For help interpreting the ConnectionErrorCode
, see CustomKeyStoresListEntry.
Custom key stores have a DISCONNECTED
connection state if the key store has never been connected or you used the DisconnectCustomKeyStore operation to disconnect it. Otherwise, the connection state is CONNECTED. If your custom key store connection state is CONNECTED
but you are having trouble using it, verify that the backing store is active and available. For an CloudHSM key store, verify that the associated CloudHSM cluster is active and contains the minimum number of HSMs required for the operation, if any. For an external key store, verify that the external key store proxy and its associated external key manager are reachable and enabled.
For help repairing your CloudHSM key store, see the Troubleshooting CloudHSM key stores. For help repairing your external key store, see the Troubleshooting external key stores. Both topics are in the Key Management Service Developer Guide.
Cross-account use: No. You cannot perform this operation on a custom key store in a different Amazon Web Services account.
Required permissions: kms:DescribeCustomKeyStores (IAM policy)
Related operations:
Provides detailed information about a KMS key. You can run DescribeKey
on a customer managed key or an Amazon Web Services managed key.
This detailed information includes the key ARN, creation date (and deletion date, if applicable), the key state, and the origin and expiration date (if any) of the key material. It includes fields, like KeySpec
, that help you distinguish different types of KMS keys. It also displays the key usage (encryption, signing, or generating and verifying MACs) and the algorithms that the KMS key supports.
For multi-Region keys, DescribeKey
displays the primary key and all related replica keys. For KMS keys in CloudHSM key stores, it includes information about the key store, such as the key store ID and the CloudHSM cluster ID. For KMS keys in external key stores, it includes the custom key store ID and the ID of the external key.
DescribeKey
does not return the following information:
Aliases associated with the KMS key. To get this information, use ListAliases.
Whether automatic key rotation is enabled on the KMS key. To get this information, use GetKeyRotationStatus. Also, some key states prevent a KMS key from being automatically rotated. For details, see How Automatic Key Rotation Works in the Key Management Service Developer Guide.
Tags on the KMS key. To get this information, use ListResourceTags.
Key policies and grants on the KMS key. To get this information, use GetKeyPolicy and ListGrants.
In general, DescribeKey
is a non-mutating operation. It returns data about KMS keys, but doesn't change them. However, Amazon Web Services services use DescribeKey
to create Amazon Web Services managed keys from a predefined Amazon Web Services alias with no key ID.
Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN in the value of the KeyId
parameter.
Required permissions: kms:DescribeKey (key policy)
Related operations:
Sets the state of a KMS key to disabled. This change temporarily prevents use of the KMS key for cryptographic operations.
For more information about how key state affects the use of a KMS key, see Key states of KMS keys in the Key Management Service Developer Guide .
The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.
Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.
Required permissions: kms:DisableKey (key policy)
Related operations: EnableKey
", @@ -28,9 +28,9 @@ "GenerateRandom": "Returns a random byte string that is cryptographically secure.
You must use the NumberOfBytes
parameter to specify the length of the random byte string. There is no default value for string length.
By default, the random byte string is generated in KMS. To generate the byte string in the CloudHSM cluster associated with an CloudHSM key store, use the CustomKeyStoreId
parameter.
GenerateRandom
also supports Amazon Web Services Nitro Enclaves, which provide an isolated compute environment in Amazon EC2. To call GenerateRandom
for a Nitro enclave, use the Amazon Web Services Nitro Enclaves SDK or any Amazon Web Services SDK. Use the Recipient
parameter to provide the attestation document for the enclave. Instead of plaintext bytes, the response includes the plaintext bytes encrypted under the public key from the attestation document (CiphertextForRecipient
).For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see How Amazon Web Services Nitro Enclaves uses KMS in the Key Management Service Developer Guide.
For more information about entropy and random number generation, see Key Management Service Cryptographic Details.
Cross-account use: Not applicable. GenerateRandom
does not use any account-specific resources, such as KMS keys.
Required permissions: kms:GenerateRandom (IAM policy)
", "GetKeyPolicy": "Gets a key policy attached to the specified KMS key.
Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.
Required permissions: kms:GetKeyPolicy (key policy)
Related operations: PutKeyPolicy
", "GetKeyRotationStatus": "Gets a Boolean value that indicates whether automatic rotation of the key material is enabled for the specified KMS key.
When you enable automatic rotation for customer managed KMS keys, KMS rotates the key material of the KMS key one year (approximately 365 days) from the enable date and every year thereafter. You can monitor rotation of the key material for your KMS keys in CloudTrail and Amazon CloudWatch.
Automatic key rotation is supported only on symmetric encryption KMS keys. You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key..
You can enable (EnableKeyRotation) and disable automatic rotation (DisableKeyRotation) of the key material in customer managed KMS keys. Key material rotation of Amazon Web Services managed KMS keys is not configurable. KMS always rotates the key material in Amazon Web Services managed KMS keys every year. The key rotation status for Amazon Web Services managed KMS keys is always true
.
In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three years to every year. For details, see EnableKeyRotation.
The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.
Disabled: The key rotation status does not change when you disable a KMS key. However, while the KMS key is disabled, KMS does not rotate the key material. When you re-enable the KMS key, rotation resumes. If the key material in the re-enabled KMS key hasn't been rotated in one year, KMS rotates it immediately, and every year thereafter. If it's been less than a year since the key material in the re-enabled KMS key was rotated, the KMS key resumes its prior rotation schedule.
Pending deletion: While a KMS key is pending deletion, its key rotation status is false
and KMS does not rotate the key material. If you cancel the deletion, the original key rotation status returns to true
.
Cross-account use: Yes. To perform this operation on a KMS key in a different Amazon Web Services account, specify the key ARN in the value of the KeyId
parameter.
Required permissions: kms:GetKeyRotationStatus (key policy)
Related operations:
", - "GetParametersForImport": "Returns the items you need to import key material into a symmetric encryption KMS key. For more information about importing key material into KMS, see Importing key material in the Key Management Service Developer Guide.
This operation returns a public key and an import token. Use the public key to encrypt the symmetric key material. Store the import token to send with a subsequent ImportKeyMaterial request.
You must specify the key ID of the symmetric encryption KMS key into which you will import key material. The KMS key Origin
must be EXTERNAL
. You must also specify the wrapping algorithm and type of wrapping key (public key) that you will use to encrypt the key material. You cannot perform this operation on an asymmetric KMS key, an HMAC KMS key, or on any KMS key in a different Amazon Web Services account.
To import key material, you must use the public key and import token from the same response. These items are valid for 24 hours. The expiration date and time appear in the GetParametersForImport
response. You cannot use an expired token in an ImportKeyMaterial request. If your key and token expire, send another GetParametersForImport
request.
The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.
Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.
Required permissions: kms:GetParametersForImport (key policy)
Related operations:
", + "GetParametersForImport": "Returns the public key and an import token you need to import or reimport key material for a KMS key.
By default, KMS keys are created with key material that KMS generates. This operation supports Importing key material, an advanced feature that lets you generate and import the cryptographic key material for a KMS key. For more information about importing key material into KMS, see Importing key material in the Key Management Service Developer Guide.
Before calling GetParametersForImport
, use the CreateKey operation with an Origin
value of EXTERNAL
to create a KMS key with no key material. You can import key material for a symmetric encryption KMS key, HMAC KMS key, asymmetric encryption KMS key, or asymmetric signing KMS key. You can also import key material into a multi-Region key of any supported type. However, you can't import key material into a KMS key in a custom key store. You can also use GetParametersForImport
to get a public key and import token to reimport the original key material into a KMS key whose key material expired or was deleted.
GetParametersForImport
returns the items that you need to import your key material.
The public key (or \"wrapping key\") of an RSA key pair that KMS generates.
You will use this public key to encrypt (\"wrap\") your key material while it's in transit to KMS.
A import token that ensures that KMS can decrypt your key material and associate it with the correct KMS key.
The public key and its import token are permanently linked and must be used together. Each public key and import token set is valid for 24 hours. The expiration date and time appear in the ParametersValidTo
field in the GetParametersForImport
response. You cannot use an expired public key or import token in an ImportKeyMaterial request. If your key and token expire, send another GetParametersForImport
request.
GetParametersForImport
requires the following information:
The key ID of the KMS key for which you are importing the key material.
The key spec of the public key (\"wrapping key\") that you will use to encrypt your key material during import.
The wrapping algorithm that you will use with the public key to encrypt your key material.
You can use the same or a different public key spec and wrapping algorithm each time you import or reimport the same key material.
The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.
Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.
Required permissions: kms:GetParametersForImport (key policy)
Related operations:
", "GetPublicKey": "Returns the public key of an asymmetric KMS key. Unlike the private key of a asymmetric KMS key, which never leaves KMS unencrypted, callers with kms:GetPublicKey
permission can download the public key of an asymmetric KMS key. You can share the public key to allow others to encrypt messages and verify signatures outside of KMS. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.
You do not need to download the public key. Instead, you can use the public key within KMS by calling the Encrypt, ReEncrypt, or Verify operations with the identifier of an asymmetric KMS key. When you use the public key within KMS, you benefit from the authentication, authorization, and logging that are part of every KMS operation. You also reduce of risk of encrypting data that cannot be decrypted. These features are not effective outside of KMS.
To help you use the public key safely outside of KMS, GetPublicKey
returns important information about the public key in the response, including:
KeySpec: The type of key material in the public key, such as RSA_4096
or ECC_NIST_P521
.
KeyUsage: Whether the key is used for encryption or signing.
EncryptionAlgorithms or SigningAlgorithms: A list of the encryption algorithms or the signing algorithms for the key.
Although KMS cannot enforce these restrictions on external operations, it is crucial that you use this information to prevent the public key from being used improperly. For example, you can prevent a public signing key from being used encrypt data, or prevent a public key from being used with an encryption algorithm that is not supported by KMS. You can also avoid errors, such as using the wrong signing algorithm in a verification operation.
To verify a signature outside of KMS with an SM2 public key (China Regions only), you must specify the distinguishing ID. By default, KMS uses 1234567812345678
as the distinguishing ID. For more information, see Offline verification with SM2 key pairs.
The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.
Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN in the value of the KeyId
parameter.
Required permissions: kms:GetPublicKey (key policy)
Related operations: CreateKey
", - "ImportKeyMaterial": "Imports key material into an existing symmetric encryption KMS key that was created without key material. After you successfully import key material into a KMS key, you can reimport the same key material into that KMS key, but you cannot import different key material.
You cannot perform this operation on an asymmetric KMS key, an HMAC KMS key, or on any KMS key in a different Amazon Web Services account. For more information about creating KMS keys with no key material and then importing key material, see Importing Key Material in the Key Management Service Developer Guide.
Before using this operation, call GetParametersForImport. Its response includes a public key and an import token. Use the public key to encrypt the key material. Then, submit the import token from the same GetParametersForImport
response.
When calling this operation, you must specify the following values:
The key ID or key ARN of a KMS key with no key material. Its Origin
must be EXTERNAL
.
To create a KMS key with no key material, call CreateKey and set the value of its Origin
parameter to EXTERNAL
. To get the Origin
of a KMS key, call DescribeKey.)
The encrypted key material. To get the public key to encrypt the key material, call GetParametersForImport.
The import token that GetParametersForImport returned. You must use a public key and token from the same GetParametersForImport
response.
Whether the key material expires (ExpirationModel
) and, if so, when (ValidTo
). If you set an expiration date, on the specified date, KMS deletes the key material from the KMS key, making the KMS key unusable. To use the KMS key in cryptographic operations again, you must reimport the same key material. The only way to change the expiration model or expiration date is by reimporting the same key material and specifying a new expiration date.
When this operation is successful, the key state of the KMS key changes from PendingImport
to Enabled
, and you can use the KMS key.
If this operation fails, use the exception to help determine the problem. If the error is related to the key material, the import token, or wrapping key, use GetParametersForImport to get a new public key and import token for the KMS key and repeat the import procedure. For help, see How To Import Key Material in the Key Management Service Developer Guide.
The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.
Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.
Required permissions: kms:ImportKeyMaterial (key policy)
Related operations:
", + "ImportKeyMaterial": "Imports or reimports key material into an existing KMS key that was created without key material. ImportKeyMaterial
also sets the expiration model and expiration date of the imported key material.
By default, KMS keys are created with key material that KMS generates. This operation supports Importing key material, an advanced feature that lets you generate and import the cryptographic key material for a KMS key. For more information about importing key material into KMS, see Importing key material in the Key Management Service Developer Guide.
After you successfully import key material into a KMS key, you can reimport the same key material into that KMS key, but you cannot import different key material. You might reimport key material to replace key material that expired or key material that you deleted. You might also reimport key material to change the expiration model or expiration date of the key material. Before reimporting key material, if necessary, call DeleteImportedKeyMaterial to delete the current imported key material.
Each time you import key material into KMS, you can determine whether (ExpirationModel
) and when (ValidTo
) the key material expires. To change the expiration of your key material, you must import it again, either by calling ImportKeyMaterial
or using the import features of the KMS console.
Before calling ImportKeyMaterial
:
Create or identify a KMS key with no key material. The KMS key must have an Origin
value of EXTERNAL
, which indicates that the KMS key is designed for imported key material.
To create an new KMS key for imported key material, call the CreateKey operation with an Origin
value of EXTERNAL
. You can create a symmetric encryption KMS key, HMAC KMS key, asymmetric encryption KMS key, or asymmetric signing KMS key. You can also import key material into a multi-Region key of any supported type. However, you can't import key material into a KMS key in a custom key store.
Use the DescribeKey operation to verify that the KeyState
of the KMS key is PendingImport
, which indicates that the KMS key has no key material.
If you are reimporting the same key material into an existing KMS key, you might need to call the DeleteImportedKeyMaterial to delete its existing key material.
Call the GetParametersForImport operation to get a public key and import token set for importing key material.
Use the public key in the GetParametersForImport response to encrypt your key material.
Then, in an ImportKeyMaterial
request, you submit your encrypted key material and import token. When calling this operation, you must specify the following values:
The key ID or key ARN of the KMS key to associate with the imported key material. Its Origin
must be EXTERNAL
and its KeyState
must be PendingImport
. You cannot perform this operation on a KMS key in a custom key store, or on a KMS key in a different Amazon Web Services account. To get the Origin
and KeyState
of a KMS key, call DescribeKey.
The encrypted key material.
The import token that GetParametersForImport returned. You must use a public key and token from the same GetParametersForImport
response.
Whether the key material expires (ExpirationModel
) and, if so, when (ValidTo
). For help with this choice, see Setting an expiration time in the Key Management Service Developer Guide.
If you set an expiration date, KMS deletes the key material from the KMS key on the specified date, making the KMS key unusable. To use the KMS key in cryptographic operations again, you must reimport the same key material. However, you can delete and reimport the key material at any time, including before the key material expires. Each time you reimport, you can eliminate or reset the expiration time.
When this operation is successful, the key state of the KMS key changes from PendingImport
to Enabled
, and you can use the KMS key in cryptographic operations.
If this operation fails, use the exception to help determine the problem. If the error is related to the key material, the import token, or wrapping key, use GetParametersForImport to get a new public key and import token for the KMS key and repeat the import procedure. For help, see How To Import Key Material in the Key Management Service Developer Guide.
The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.
Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.
Required permissions: kms:ImportKeyMaterial (key policy)
Related operations:
", "ListAliases": "Gets a list of aliases in the caller's Amazon Web Services account and region. For more information about aliases, see CreateAlias.
By default, the ListAliases
operation returns all aliases in the account and region. To get only the aliases associated with a particular KMS key, use the KeyId
parameter.
The ListAliases
response can include aliases that you created and associated with your customer managed keys, and aliases that Amazon Web Services created and associated with Amazon Web Services managed keys in your account. You can recognize Amazon Web Services aliases because their names have the format aws/<service-name>
, such as aws/dynamodb
.
The response might also include aliases that have no TargetKeyId
field. These are predefined aliases that Amazon Web Services has created but has not yet associated with a KMS key. Aliases that Amazon Web Services creates in your account, including predefined aliases, do not count against your KMS aliases quota.
Cross-account use: No. ListAliases
does not return aliases in other Amazon Web Services accounts.
Required permissions: kms:ListAliases (IAM policy)
For details, see Controlling access to aliases in the Key Management Service Developer Guide.
Related operations:
", "ListGrants": "Gets a list of all grants for the specified KMS key.
You must specify the KMS key in all requests. You can filter the grant list by grant ID or grantee principal.
For detailed information about grants, including grant terminology, see Grants in KMS in the Key Management Service Developer Guide . For examples of working with grants in several programming languages, see Programming grants.
The GranteePrincipal
field in the ListGrants
response usually contains the user or role designated as the grantee principal in the grant. However, when the grantee principal in the grant is an Amazon Web Services service, the GranteePrincipal
field contains the service principal, which might represent several different grantee principals.
Cross-account use: Yes. To perform this operation on a KMS key in a different Amazon Web Services account, specify the key ARN in the value of the KeyId
parameter.
Required permissions: kms:ListGrants (key policy)
Related operations:
", "ListKeyPolicies": "Gets the names of the key policies that are attached to a KMS key. This operation is designed to get policy names that you can use in a GetKeyPolicy operation. However, the only valid policy name is default
.
Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.
Required permissions: kms:ListKeyPolicies (key policy)
Related operations:
", @@ -42,7 +42,7 @@ "ReplicateKey": "Replicates a multi-Region key into the specified Region. This operation creates a multi-Region replica key based on a multi-Region primary key in a different Region of the same Amazon Web Services partition. You can create multiple replicas of a primary key, but each must be in a different Region. To create a multi-Region primary key, use the CreateKey operation.
This operation supports multi-Region keys, an KMS feature that lets you create multiple interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.
A replica key is a fully-functional KMS key that can be used independently of its primary and peer replica keys. A primary key and its replica keys share properties that make them interoperable. They have the same key ID and key material. They also have the same key spec, key usage, key material origin, and automatic key rotation status. KMS automatically synchronizes these shared properties among related multi-Region keys. All other properties of a replica key can differ, including its key policy, tags, aliases, and Key states of KMS keys. KMS pricing and quotas for KMS keys apply to each primary key and replica key.
When this operation completes, the new replica key has a transient key state of Creating
. This key state changes to Enabled
(or PendingImport
) after a few seconds when the process of creating the new replica key is complete. While the key state is Creating
, you can manage key, but you cannot yet use it in cryptographic operations. If you are creating and using the replica key programmatically, retry on KMSInvalidStateException
or call DescribeKey
to check its KeyState
value before using it. For details about the Creating
key state, see Key states of KMS keys in the Key Management Service Developer Guide.
You cannot create more than one replica of a primary key in any Region. If the Region already includes a replica of the key you're trying to replicate, ReplicateKey
returns an AlreadyExistsException
error. If the key state of the existing replica is PendingDeletion
, you can cancel the scheduled key deletion (CancelKeyDeletion) or wait for the key to be deleted. The new replica key you create will have the same shared properties as the original replica key.
The CloudTrail log of a ReplicateKey
operation records a ReplicateKey
operation in the primary key's Region and a CreateKey operation in the replica key's Region.
If you replicate a multi-Region primary key with imported key material, the replica key is created with no key material. You must import the same key material that you imported into the primary key. For details, see Importing key material into multi-Region keys in the Key Management Service Developer Guide.
To convert a replica key to a primary key, use the UpdatePrimaryRegion operation.
ReplicateKey
uses different default values for the KeyPolicy
and Tags
parameters than those used in the KMS console. For details, see the parameter descriptions.
Cross-account use: No. You cannot use this operation to create a replica key in a different Amazon Web Services account.
Required permissions:
kms:ReplicateKey
on the primary key (in the primary key's Region). Include this permission in the primary key's key policy.
kms:CreateKey
in an IAM policy in the replica Region.
To use the Tags
parameter, kms:TagResource
in an IAM policy in the replica Region.
Related operations
", "RetireGrant": "Deletes a grant. Typically, you retire a grant when you no longer need its permissions. To identify the grant to retire, use a grant token, or both the grant ID and a key identifier (key ID or key ARN) of the KMS key. The CreateGrant operation returns both values.
This operation can be called by the retiring principal for a grant, by the grantee principal if the grant allows the RetireGrant
operation, and by the Amazon Web Services account in which the grant is created. It can also be called by principals to whom permission for retiring a grant is delegated. For details, see Retiring and revoking grants in the Key Management Service Developer Guide.
For detailed information about grants, including grant terminology, see Grants in KMS in the Key Management Service Developer Guide . For examples of working with grants in several programming languages, see Programming grants.
Cross-account use: Yes. You can retire a grant on a KMS key in a different Amazon Web Services account.
Required permissions::Permission to retire a grant is determined primarily by the grant. For details, see Retiring and revoking grants in the Key Management Service Developer Guide.
Related operations:
", "RevokeGrant": "Deletes the specified grant. You revoke a grant to terminate the permissions that the grant allows. For more information, see Retiring and revoking grants in the Key Management Service Developer Guide .
When you create, retire, or revoke a grant, there might be a brief delay, usually less than five minutes, until the grant is available throughout KMS. This state is known as eventual consistency. For details, see Eventual consistency in the Key Management Service Developer Guide .
For detailed information about grants, including grant terminology, see Grants in KMS in the Key Management Service Developer Guide . For examples of working with grants in several programming languages, see Programming grants.
Cross-account use: Yes. To perform this operation on a KMS key in a different Amazon Web Services account, specify the key ARN in the value of the KeyId
parameter.
Required permissions: kms:RevokeGrant (key policy).
Related operations:
", - "ScheduleKeyDeletion": "Schedules the deletion of a KMS key. By default, KMS applies a waiting period of 30 days, but you can specify a waiting period of 7-30 days. When this operation is successful, the key state of the KMS key changes to PendingDeletion
and the key can't be used in any cryptographic operations. It remains in this state for the duration of the waiting period. Before the waiting period ends, you can use CancelKeyDeletion to cancel the deletion of the KMS key. After the waiting period ends, KMS deletes the KMS key, its key material, and all KMS data associated with it, including all aliases that refer to it.
Deleting a KMS key is a destructive and potentially dangerous operation. When a KMS key is deleted, all data that was encrypted under the KMS key is unrecoverable. (The only exception is a multi-Region replica key.) To prevent the use of a KMS key without deleting it, use DisableKey.
You can schedule the deletion of a multi-Region primary key and its replica keys at any time. However, KMS will not delete a multi-Region primary key with existing replica keys. If you schedule the deletion of a primary key with replicas, its key state changes to PendingReplicaDeletion
and it cannot be replicated or used in cryptographic operations. This status can continue indefinitely. When the last of its replicas keys is deleted (not just scheduled), the key state of the primary key changes to PendingDeletion
and its waiting period (PendingWindowInDays
) begins. For details, see Deleting multi-Region keys in the Key Management Service Developer Guide.
When KMS deletes a KMS key from an CloudHSM key store, it makes a best effort to delete the associated key material from the associated CloudHSM cluster. However, you might need to manually delete the orphaned key material from the cluster and its backups. Deleting a KMS key from an external key store has no effect on the associated external key. However, for both types of custom key stores, deleting a KMS key is destructive and irreversible. You cannot decrypt ciphertext encrypted under the KMS key by using only its associated external key or CloudHSM key. Also, you cannot recreate a KMS key in an external key store by creating a new KMS key with the same key material.
For more information about scheduling a KMS key for deletion, see Deleting KMS keys in the Key Management Service Developer Guide.
The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.
Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.
Required permissions: kms:ScheduleKeyDeletion (key policy)
Related operations
", + "ScheduleKeyDeletion": "Schedules the deletion of a KMS key. By default, KMS applies a waiting period of 30 days, but you can specify a waiting period of 7-30 days. When this operation is successful, the key state of the KMS key changes to PendingDeletion
and the key can't be used in any cryptographic operations. It remains in this state for the duration of the waiting period. Before the waiting period ends, you can use CancelKeyDeletion to cancel the deletion of the KMS key. After the waiting period ends, KMS deletes the KMS key, its key material, and all KMS data associated with it, including all aliases that refer to it.
Deleting a KMS key is a destructive and potentially dangerous operation. When a KMS key is deleted, all data that was encrypted under the KMS key is unrecoverable. (The only exception is a multi-Region replica key, or an asymmetric or HMAC KMS key with imported key material[BUGBUG-link to importing-keys-managing.html#import-delete-key.) To prevent the use of a KMS key without deleting it, use DisableKey.
You can schedule the deletion of a multi-Region primary key and its replica keys at any time. However, KMS will not delete a multi-Region primary key with existing replica keys. If you schedule the deletion of a primary key with replicas, its key state changes to PendingReplicaDeletion
and it cannot be replicated or used in cryptographic operations. This status can continue indefinitely. When the last of its replicas keys is deleted (not just scheduled), the key state of the primary key changes to PendingDeletion
and its waiting period (PendingWindowInDays
) begins. For details, see Deleting multi-Region keys in the Key Management Service Developer Guide.
When KMS deletes a KMS key from an CloudHSM key store, it makes a best effort to delete the associated key material from the associated CloudHSM cluster. However, you might need to manually delete the orphaned key material from the cluster and its backups. Deleting a KMS key from an external key store has no effect on the associated external key. However, for both types of custom key stores, deleting a KMS key is destructive and irreversible. You cannot decrypt ciphertext encrypted under the KMS key by using only its associated external key or CloudHSM key. Also, you cannot recreate a KMS key in an external key store by creating a new KMS key with the same key material.
For more information about scheduling a KMS key for deletion, see Deleting KMS keys in the Key Management Service Developer Guide.
The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.
Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.
Required permissions: kms:ScheduleKeyDeletion (key policy)
Related operations
", "Sign": "Creates a digital signature for a message or message digest by using the private key in an asymmetric signing KMS key. To verify the signature, use the Verify operation, or use the public key in the same asymmetric KMS key outside of KMS. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.
Digital signatures are generated and verified by using asymmetric key pair, such as an RSA or ECC pair that is represented by an asymmetric KMS key. The key owner (or an authorized user) uses their private key to sign a message. Anyone with the public key can verify that the message was signed with that particular private key and that the message hasn't changed since it was signed.
To use the Sign
operation, provide the following information:
Use the KeyId
parameter to identify an asymmetric KMS key with a KeyUsage
value of SIGN_VERIFY
. To get the KeyUsage
value of a KMS key, use the DescribeKey operation. The caller must have kms:Sign
permission on the KMS key.
Use the Message
parameter to specify the message or message digest to sign. You can submit messages of up to 4096 bytes. To sign a larger message, generate a hash digest of the message, and then provide the hash digest in the Message
parameter. To indicate whether the message is a full message or a digest, use the MessageType
parameter.
Choose a signing algorithm that is compatible with the KMS key.
When signing a message, be sure to record the KMS key and the signing algorithm. This information is required to verify the signature.
Best practices recommend that you limit the time during which any signature is effective. This deters an attack where the actor uses a signed message to establish validity repeatedly or long after the message is superseded. Signatures do not include a timestamp, but you can include a timestamp in the signed message to help you detect when its time to refresh the signature.
To verify the signature that this operation generates, use the Verify operation. Or use the GetPublicKey operation to download the public key and then use the public key to verify the signature outside of KMS.
The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.
Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN in the value of the KeyId
parameter.
Required permissions: kms:Sign (key policy)
Related operations: Verify
", "TagResource": "Adds or edits tags on a customer managed key.
Tagging or untagging a KMS key can allow or deny permission to the KMS key. For details, see ABAC for KMS in the Key Management Service Developer Guide.
Each tag consists of a tag key and a tag value, both of which are case-sensitive strings. The tag value can be an empty (null) string. To add a tag, specify a new tag key and a tag value. To edit a tag, specify an existing tag key and a new tag value.
You can use this operation to tag a customer managed key, but you cannot tag an Amazon Web Services managed key, an Amazon Web Services owned key, a custom key store, or an alias.
You can also add tags to a KMS key while creating it (CreateKey) or replicating it (ReplicateKey).
For information about using tags in KMS, see Tagging keys. For general information about tags, including the format and syntax, see Tagging Amazon Web Services resources in the Amazon Web Services General Reference.
The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.
Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.
Required permissions: kms:TagResource (key policy)
Related operations
", "UntagResource": "Deletes tags from a customer managed key. To delete a tag, specify the tag key and the KMS key.
Tagging or untagging a KMS key can allow or deny permission to the KMS key. For details, see ABAC for KMS in the Key Management Service Developer Guide.
When it succeeds, the UntagResource
operation doesn't return any output. Also, if the specified tag key isn't found on the KMS key, it doesn't throw an exception or return a response. To confirm that the operation worked, use the ListResourceTags operation.
For information about using tags in KMS, see Tagging keys. For general information about tags, including the format and syntax, see Tagging Amazon Web Services resources in the Amazon Web Services General Reference.
The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.
Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.
Required permissions: kms:UntagResource (key policy)
Related operations
", @@ -63,7 +63,7 @@ "AlgorithmSpec": { "base": null, "refs": { - "GetParametersForImportRequest$WrappingAlgorithm": "The algorithm you will use to encrypt the key material before using the ImportKeyMaterial operation to import it. For more information, see Encrypt the key material in the Key Management Service Developer Guide.
The RSAES_PKCS1_V1_5
wrapping algorithm is deprecated. We recommend that you begin using a different wrapping algorithm immediately. KMS will end support for RSAES_PKCS1_V1_5
by October 1, 2023 pursuant to cryptographic key management guidance from the National Institute of Standards and Technology (NIST).
The algorithm you will use with the RSA public key (PublicKey
) in the response to protect your key material during import. For more information, see Select a wrapping algorithm in the Key Management Service Developer Guide.
For RSA_AES wrapping algorithms, you encrypt your key material with an AES key that you generate, then encrypt your AES key with the RSA public key from KMS. For RSAES wrapping algorithms, you encrypt your key material directly with the RSA public key from KMS.
The wrapping algorithms that you can use depend on the type of key material that you are importing. To import an RSA private key, you must use an RSA_AES wrapping algorithm.
RSA_AES_KEY_WRAP_SHA_256 — Supported for wrapping RSA and ECC key material.
RSA_AES_KEY_WRAP_SHA_1 — Supported for wrapping RSA and ECC key material.
RSAES_OAEP_SHA_256 — Supported for all types of key material, except RSA key material (private key).
You cannot use the RSAES_OAEP_SHA_256 wrapping algorithm with the RSA_2048 wrapping key spec to wrap ECC_NIST_P521 key material.
RSAES_OAEP_SHA_1 — Supported for all types of key material, except RSA key material (private key).
You cannot use the RSAES_OAEP_SHA_1 wrapping algorithm with the RSA_2048 wrapping key spec to wrap ECC_NIST_P521 key material.
RSAES_PKCS1_V1_5 (Deprecated) — Supported only for symmetric encryption key material (and only in legacy mode).
The plaintext random bytes encrypted with the public key from the Nitro enclave. This ciphertext can be decrypted only by using a private key in the Nitro enclave.
This field is included in the response only when the Recipient
parameter in the request includes a valid attestation document from an Amazon Web Services Nitro enclave. For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see How Amazon Web Services Nitro Enclaves uses KMS in the Key Management Service Developer Guide.
The import token to send in a subsequent ImportKeyMaterial request.
", "ImportKeyMaterialRequest$ImportToken": "The import token that you received in the response to a previous GetParametersForImport request. It must be from the same response that contained the public key that you used to encrypt the key material.
", - "ImportKeyMaterialRequest$EncryptedKeyMaterial": "The encrypted key material to import. The key material must be encrypted with the public wrapping key that GetParametersForImport returned, using the wrapping algorithm that you specified in the same GetParametersForImport
request.
The encrypted key material to import. The key material must be encrypted under the public wrapping key that GetParametersForImport returned, using the wrapping algorithm that you specified in the same GetParametersForImport
request.
Ciphertext of the data to reencrypt.
", "ReEncryptResponse$CiphertextBlob": "The reencrypted data. When you use the HTTP API or the Amazon Web Services CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.
", - "SignResponse$Signature": "The cryptographic signature that was generated for the message.
When used with the supported RSA signing algorithms, the encoding of this value is defined by PKCS #1 in RFC 8017.
When used with the ECDSA_SHA_256
, ECDSA_SHA_384
, or ECDSA_SHA_512
signing algorithms, this value is a DER-encoded object as defined by ANS X9.62–2005 and RFC 3279 Section 2.2.3. This is the most commonly used signature format and is appropriate for most uses.
When you use the HTTP API or the Amazon Web Services CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.
", + "SignResponse$Signature": "The cryptographic signature that was generated for the message.
When used with the supported RSA signing algorithms, the encoding of this value is defined by PKCS #1 in RFC 8017.
When used with the ECDSA_SHA_256
, ECDSA_SHA_384
, or ECDSA_SHA_512
signing algorithms, this value is a DER-encoded object as defined by ANSI X9.62–2005 and RFC 3279 Section 2.2.3. This is the most commonly used signature format and is appropriate for most uses.
When you use the HTTP API or the Amazon Web Services CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.
", "VerifyMacRequest$Mac": "The HMAC to verify. Enter the HMAC that was generated by the GenerateMac operation when you specified the same message, HMAC KMS key, and MAC algorithm as the values specified in this request.
", "VerifyRequest$Signature": "The signature that the Sign
operation generated.
Specifies whether the key material expires. The default is KEY_MATERIAL_EXPIRES
.
When the value of ExpirationModel
is KEY_MATERIAL_EXPIRES
, you must specify a value for the ValidTo
parameter. When value is KEY_MATERIAL_DOES_NOT_EXPIRE
, you must omit the ValidTo
parameter.
You cannot change the ExpirationModel
or ValidTo
values for the current import after the request completes. To change either value, you must delete (DeleteImportedKeyMaterial) and reimport the key material.
Specifies whether the key material expires. The default is KEY_MATERIAL_EXPIRES
. For help with this choice, see Setting an expiration time in the Key Management Service Developer Guide.
When the value of ExpirationModel
is KEY_MATERIAL_EXPIRES
, you must specify a value for the ValidTo
parameter. When value is KEY_MATERIAL_DOES_NOT_EXPIRE
, you must omit the ValidTo
parameter.
You cannot change the ExpirationModel
or ValidTo
values for the current import after the request completes. To change either value, you must reimport the key material.
Specifies whether the KMS key's key material expires. This value is present only when Origin
is EXTERNAL
, otherwise this value is omitted.
The HMAC KMS key used in the operation.
", "GetKeyPolicyRequest$KeyId": "Gets the key policy for the specified KMS key.
Specify the key ID or key ARN of the KMS key.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.
", "GetKeyRotationStatusRequest$KeyId": "Gets the rotation status for the specified KMS key.
Specify the key ID or key ARN of the KMS key. To specify a KMS key in a different Amazon Web Services account, you must use the key ARN.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.
", - "GetParametersForImportRequest$KeyId": "The identifier of the symmetric encryption KMS key into which you will import key material. The Origin
of the KMS key must be EXTERNAL
.
Specify the key ID or key ARN of the KMS key.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.
", + "GetParametersForImportRequest$KeyId": "The identifier of the KMS key that will be associated with the imported key material. The Origin
of the KMS key must be EXTERNAL
.
All KMS key types are supported, including multi-Region keys. However, you cannot import key material into a KMS key in a custom key store.
Specify the key ID or key ARN of the KMS key.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.
", "GetParametersForImportResponse$KeyId": "The Amazon Resource Name (key ARN) of the KMS key to use in a subsequent ImportKeyMaterial request. This is the same KMS key specified in the GetParametersForImport
request.
Identifies the asymmetric KMS key that includes the public key.
To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with \"alias/\"
. To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
Alias name: alias/ExampleAlias
Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.
", "GetPublicKeyResponse$KeyId": "The Amazon Resource Name (key ARN) of the asymmetric KMS key from which the public key was downloaded.
", "GrantListEntry$KeyId": "The unique identifier for the KMS key to which the grant applies.
", - "ImportKeyMaterialRequest$KeyId": "The identifier of the symmetric encryption KMS key that receives the imported key material. This must be the same KMS key specified in the KeyID
parameter of the corresponding GetParametersForImport request. The Origin
of the KMS key must be EXTERNAL
. You cannot perform this operation on an asymmetric KMS key, an HMAC KMS key, a KMS key in a custom key store, or on a KMS key in a different Amazon Web Services account
Specify the key ID or key ARN of the KMS key.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.
", + "ImportKeyMaterialRequest$KeyId": "The identifier of the KMS key that will be associated with the imported key material. This must be the same KMS key specified in the KeyID
parameter of the corresponding GetParametersForImport request. The Origin
of the KMS key must be EXTERNAL
and its KeyState
must be PendingImport
.
The KMS key can be a symmetric encryption KMS key, HMAC KMS key, asymmetric encryption KMS key, or asymmetric signing KMS key, including a multi-Region key of any supported type. You cannot perform this operation on a KMS key in a custom key store, or on a KMS key in a different Amazon Web Services account.
Specify the key ID or key ARN of the KMS key.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.
", "KeyListEntry$KeyId": "Unique identifier of the key.
", "KeyMetadata$KeyId": "The globally unique identifier for the KMS key.
", "ListAliasesRequest$KeyId": "Lists only aliases that are associated with the specified KMS key. Enter a KMS key in your Amazon Web Services account.
This parameter is optional. If you omit it, ListAliases
returns all aliases in the account and Region.
Specify the key ID or key ARN of the KMS key.
For example:
Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.
", @@ -1139,7 +1139,7 @@ "base": null, "refs": { "KeyMetadata$PendingDeletionWindowInDays": "The waiting period before the primary key in a multi-Region key is deleted. This waiting period begins when the last of its replica keys is deleted. This value is present only when the KeyState
of the KMS key is PendingReplicaDeletion
. That indicates that the KMS key is the primary key in a multi-Region key, it is scheduled for deletion, and it still has existing replica keys.
When a single-Region KMS key or a multi-Region replica key is scheduled for deletion, its deletion date is displayed in the DeletionDate
field. However, when the primary key in a multi-Region key is scheduled for deletion, its waiting period doesn't begin until all of its replica keys are deleted. This value displays that waiting period. When the last replica key in the multi-Region key is deleted, the KeyState
of the scheduled primary key changes from PendingReplicaDeletion
to PendingDeletion
and the deletion date appears in the DeletionDate
field.
The waiting period, specified in number of days. After the waiting period ends, KMS deletes the KMS key.
If the KMS key is a multi-Region primary key with replica keys, the waiting period begins when the last of its replica keys is deleted. Otherwise, the waiting period begins immediately.
This value is optional. If you include a value, it must be between 7 and 30, inclusive. If you do not include a value, it defaults to 30.
", + "ScheduleKeyDeletionRequest$PendingWindowInDays": "The waiting period, specified in number of days. After the waiting period ends, KMS deletes the KMS key.
If the KMS key is a multi-Region primary key with replica keys, the waiting period begins when the last of its replica keys is deleted. Otherwise, the waiting period begins immediately.
This value is optional. If you include a value, it must be between 7 and 30, inclusive. If you do not include a value, it defaults to 30. You can use the kms:ScheduleKeyDeletionPendingWindowInDays
condition key to further constrain the values that principals can specify in the PendingWindowInDays
parameter.
The waiting period before the KMS key is deleted.
If the KMS key is a multi-Region primary key with replicas, the waiting period begins when the last of its replica keys is deleted. Otherwise, the waiting period begins immediately.
" } }, @@ -1401,7 +1401,7 @@ "WrappingKeySpec": { "base": null, "refs": { - "GetParametersForImportRequest$WrappingKeySpec": "The type of wrapping key (public key) to return in the response. Only 2048-bit RSA public keys are supported.
" + "GetParametersForImportRequest$WrappingKeySpec": "The type of RSA public key to return in the response. You will use this wrapping key with the specified wrapping algorithm to protect your key material during import.
Use the longest RSA wrapping key that is practical.
You cannot use an RSA_2048 public key to directly wrap an ECC_NIST_P521 private key. Instead, use an RSA_AES wrapping algorithm or choose a longer RSA public key.
" } }, "XksKeyAlreadyInUseException": { diff --git a/models/apis/kms/2014-11-01/examples-1.json b/models/apis/kms/2014-11-01/examples-1.json index fa8740ac4f9..283cc1d9b07 100644 --- a/models/apis/kms/2014-11-01/examples-1.json +++ b/models/apis/kms/2014-11-01/examples-1.json @@ -410,7 +410,7 @@ "KeyMetadata": "Detailed information about the KMS key that this operation creates." } }, - "description": "This example creates a KMS key with no key material. When the operation is complete, you can import your own key material into the KMS key. To create this KMS key, set the Origin parameter to EXTERNAL.", + "description": "This example creates a symmetric KMS key with no key material. When the operation is complete, you can import your own key material into the KMS key. To create this KMS key, set the Origin parameter to EXTERNAL.", "id": "to-create-a-kms-key-for-imported-key-material-5", "title": "To create a KMS key for imported key material" }, @@ -1440,25 +1440,112 @@ "output": { "ImportToken": "The layer's compatible runtimes.
", - "LayerVersionsListItem$CompatibleRuntimes": "The layer's compatible runtimes.
", - "PublishLayerVersionRequest$CompatibleRuntimes": "A list of compatible function runtimes. Used for filtering with ListLayers and ListLayerVersions.
", - "PublishLayerVersionResponse$CompatibleRuntimes": "The layer's compatible runtimes.
" + "GetLayerVersionResponse$CompatibleRuntimes": "The layer's compatible runtimes.
The following list includes deprecated runtimes. For more information, see Runtime deprecation policy.
", + "LayerVersionsListItem$CompatibleRuntimes": "The layer's compatible runtimes.
The following list includes deprecated runtimes. For more information, see Runtime deprecation policy.
", + "PublishLayerVersionRequest$CompatibleRuntimes": "A list of compatible function runtimes. Used for filtering with ListLayers and ListLayerVersions.
The following list includes deprecated runtimes. For more information, see Runtime deprecation policy.
", + "PublishLayerVersionResponse$CompatibleRuntimes": "The layer's compatible runtimes.
The following list includes deprecated runtimes. For more information, see Runtime deprecation policy.
" } }, "Concurrency": { @@ -1189,9 +1189,9 @@ "KMSKeyArn": { "base": null, "refs": { - "CreateFunctionRequest$KMSKeyArn": "The ARN of the Key Management Service (KMS) customer managed key that's used to encrypt your function's environment variables. When Lambda SnapStart is activated, this key is also used to encrypt your function's snapshot. If you don't provide a customer managed key, Lambda uses a default service key.
", + "CreateFunctionRequest$KMSKeyArn": "The ARN of the Key Management Service (KMS) customer managed key that's used to encrypt your function's environment variables. When Lambda SnapStart is activated, Lambda also uses this key is to encrypt your function's snapshot. If you deploy your function using a container image, Lambda also uses this key to encrypt your function when it's deployed. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry (Amazon ECR). If you don't provide a customer managed key, Lambda uses a default service key.
", "FunctionConfiguration$KMSKeyArn": "The KMS key that's used to encrypt the function's environment variables. When Lambda SnapStart is activated, this key is also used to encrypt the function's snapshot. This key is returned only if you've configured a customer managed key.
", - "UpdateFunctionConfigurationRequest$KMSKeyArn": "The ARN of the Key Management Service (KMS) customer managed key that's used to encrypt your function's environment variables. When Lambda SnapStart is activated, this key is also used to encrypt your function's snapshot. If you don't provide a customer managed key, Lambda uses a default service key.
" + "UpdateFunctionConfigurationRequest$KMSKeyArn": "The ARN of the Key Management Service (KMS) customer managed key that's used to encrypt your function's environment variables. When Lambda SnapStart is activated, Lambda also uses this key is to encrypt your function's snapshot. If you deploy your function using a container image, Lambda also uses this key to encrypt your function when it's deployed. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry (Amazon ECR). If you don't provide a customer managed key, Lambda uses a default service key.
" } }, "KMSNotFoundException": { @@ -1560,7 +1560,7 @@ "base": null, "refs": { "CreateEventSourceMappingRequest$MaximumRecordAgeInSeconds": "(Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is infinite (-1).
", - "EventSourceMappingConfiguration$MaximumRecordAgeInSeconds": "(Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records.
The minimum value that can be set is 60 seconds.
(Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records.
The minimum valid value for maximum record age is 60s. Although values less than 60 and greater than -1 fall within the parameter's absolute range, they are not allowed
(Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is infinite (-1).
" } }, @@ -1892,8 +1892,8 @@ "CompatibleRuntimes$member": null, "CreateFunctionRequest$Runtime": "The identifier of the function's runtime. Runtime is required if the deployment package is a .zip file archive.
The following list includes deprecated runtimes. For more information, see Runtime deprecation policy.
", "FunctionConfiguration$Runtime": "The identifier of the function's runtime. Runtime is required if the deployment package is a .zip file archive.
The following list includes deprecated runtimes. For more information, see Runtime deprecation policy.
", - "ListLayerVersionsRequest$CompatibleRuntime": "A runtime identifier. For example, go1.x
.
A runtime identifier. For example, go1.x
.
A runtime identifier. For example, go1.x
.
The following list includes deprecated runtimes. For more information, see Runtime deprecation policy.
", + "ListLayersRequest$CompatibleRuntime": "A runtime identifier. For example, go1.x
.
The following list includes deprecated runtimes. For more information, see Runtime deprecation policy.
", "UpdateFunctionConfigurationRequest$Runtime": "The identifier of the function's runtime. Runtime is required if the deployment package is a .zip file archive.
The following list includes deprecated runtimes. For more information, see Runtime deprecation policy.
" } }, diff --git a/models/apis/mwaa/2020-07-01/api-2.json b/models/apis/mwaa/2020-07-01/api-2.json index f4a0974e4ed..6a9712d5293 100644 --- a/models/apis/mwaa/2020-07-01/api-2.json +++ b/models/apis/mwaa/2020-07-01/api-2.json @@ -412,7 +412,9 @@ "DELETING", "DELETED", "UNAVAILABLE", - "UPDATE_FAILED" + "UPDATE_FAILED", + "ROLLING_BACK", + "CREATING_SNAPSHOT" ] }, "ErrorCode":{"type":"string"}, diff --git a/models/apis/mwaa/2020-07-01/docs-2.json b/models/apis/mwaa/2020-07-01/docs-2.json index 8a6d162e77e..7bcadee57ac 100644 --- a/models/apis/mwaa/2020-07-01/docs-2.json +++ b/models/apis/mwaa/2020-07-01/docs-2.json @@ -1,6 +1,6 @@ { "version": "2.0", - "service": "This section contains the Amazon Managed Workflows for Apache Airflow (MWAA) API reference documentation. For more information, see What Is Amazon MWAA?.
Endpoints
api.airflow.{region}.amazonaws.com
- This endpoint is used for environment management.
env.airflow.{region}.amazonaws.com
- This endpoint is used to operate the Airflow environment.
ops.airflow.{region}.amazonaws.com
- This endpoint is used to push environment metrics that track environment health.
Regions
For a list of regions that Amazon MWAA supports, see Region availability in the Amazon MWAA User Guide.
", + "service": "This section contains the Amazon Managed Workflows for Apache Airflow (MWAA) API reference documentation. For more information, see What is Amazon MWAA?.
Endpoints
api.airflow.{region}.amazonaws.com
- This endpoint is used for environment management.
env.airflow.{region}.amazonaws.com
- This endpoint is used to operate the Airflow environment.
ops.airflow.{region}.amazonaws.com
- This endpoint is used to push environment metrics that track environment health.
Regions
For a list of regions that Amazon MWAA supports, see Region availability in the Amazon MWAA User Guide.
", "operations": { "CreateCliToken": "Creates a CLI token for the Airflow CLI. To learn more, see Creating an Apache Airflow CLI token.
", "CreateEnvironment": "Creates an Amazon Managed Workflows for Apache Airflow (MWAA) environment.
", @@ -31,9 +31,9 @@ "AirflowVersion": { "base": null, "refs": { - "CreateEnvironmentInput$AirflowVersion": "The Apache Airflow version for your environment. If no value is specified, it defaults to the latest version. Valid values: 1.10.12
, 2.0.2
, 2.2.2
, and 2.4.3
. For more information, see Apache Airflow versions on Amazon Managed Workflows for Apache Airflow (MWAA).
The Apache Airflow version on your environment. Valid values: 1.10.12
, 2.0.2
, 2.2.2
, and 2.4.3
.
The Apache Airflow version for your environment. If no value is specified, defaults to the latest version. Valid values: 1.10.12
, 2.0.2
, 2.2.2
, and 2.4.3
.
The Apache Airflow version for your environment. If no value is specified, it defaults to the latest version. Valid values: 1.10.12
, 2.0.2
, 2.2.2
, 2.4.3
, and 2.5.1
. For more information, see Apache Airflow versions on Amazon Managed Workflows for Apache Airflow (MWAA).
The Apache Airflow version on your environment. Valid values: 1.10.12
, 2.0.2
, 2.2.2
, 2.4.3
, and 2.5.1
.
The Apache Airflow version for your environment. To upgrade your environment, specify a newer version of Apache Airflow supported by Amazon MWAA.
Before you upgrade an environment, make sure your requirements, DAGs, plugins, and other resources used in your workflows are compatible with the new Apache Airflow version. For more information about updating your resources, see Upgrading an Amazon MWAA environment.
Valid values: 1.10.12
, 2.0.2
, 2.2.2
, 2.4.3
, and 2.5.1
.
The status of the Amazon MWAA environment. Valid values:
CREATING
- Indicates the request to create the environment is in progress.
CREATE_FAILED
- Indicates the request to create the environment failed, and the environment could not be created.
AVAILABLE
- Indicates the request was successful and the environment is ready to use.
UPDATING
- Indicates the request to update the environment is in progress.
DELETING
- Indicates the request to delete the environment is in progress.
DELETED
- Indicates the request to delete the environment is complete, and the environment has been deleted.
UNAVAILABLE
- Indicates the request failed, but the environment was unable to rollback and is not in a stable state.
UPDATE_FAILED
- Indicates the request to update the environment failed, and the environment has rolled back successfully and is ready to use.
We recommend reviewing our troubleshooting guide for a list of common errors and their solutions. For more information, see Amazon MWAA troubleshooting.
" + "Environment$Status": "The status of the Amazon MWAA environment. Valid values:
CREATING
- Indicates the request to create the environment is in progress.
CREATING_SNAPSHOT
- Indicates the request to update environment details, or upgrade the environment version, is in progress and Amazon MWAA is creating a storage volume snapshot of the Amazon RDS database cluster associated with the environment. A database snapshot is a backup created at a specific point in time. Amazon MWAA uses snapshots to recover environment metadata if the process to update or upgrade an environment fails.
CREATE_FAILED
- Indicates the request to create the environment failed, and the environment could not be created.
AVAILABLE
- Indicates the request was successful and the environment is ready to use.
UPDATING
- Indicates the request to update the environment is in progress.
ROLLING_BACK
- Indicates the request to update environment details, or upgrade the environment version, failed and Amazon MWAA is restoring the environment using the latest storage volume snapshot.
DELETING
- Indicates the request to delete the environment is in progress.
DELETED
- Indicates the request to delete the environment is complete, and the environment has been deleted.
UNAVAILABLE
- Indicates the request failed, but the environment was unable to rollback and is not in a stable state.
UPDATE_FAILED
- Indicates the request to update the environment failed, and the environment has rolled back successfully and is ready to use.
We recommend reviewing our troubleshooting guide for a list of common errors and their solutions. For more information, see Amazon MWAA troubleshooting.
" } }, "ErrorCode": { diff --git a/models/apis/mwaa/2020-07-01/endpoint-tests-1.json b/models/apis/mwaa/2020-07-01/endpoint-tests-1.json index 2f79f36beac..87bc8970e1f 100644 --- a/models/apis/mwaa/2020-07-01/endpoint-tests-1.json +++ b/models/apis/mwaa/2020-07-01/endpoint-tests-1.json @@ -8,9 +8,9 @@ } }, "params": { + "Region": "ap-northeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { @@ -21,9 +21,9 @@ } }, "params": { + "Region": "ap-northeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { @@ -34,9 +34,9 @@ } }, "params": { + "Region": "ap-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-south-1" + "UseDualStack": false } }, { @@ -47,9 +47,9 @@ } }, "params": { + "Region": "ap-southeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { + "Region": "ap-southeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { @@ -73,9 +73,9 @@ } }, "params": { + "Region": "ca-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { + "Region": "eu-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { @@ -99,9 +99,9 @@ } }, "params": { + "Region": "eu-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-north-1" + "UseDualStack": false } }, { @@ -112,9 +112,9 @@ } }, "params": { + "Region": "eu-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { @@ -125,9 +125,9 @@ } }, "params": { + "Region": "eu-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { @@ -138,9 +138,9 @@ } }, "params": { + "Region": "eu-west-3", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-3" + "UseDualStack": false } }, { @@ -151,9 +151,9 @@ } }, "params": { + "Region": "sa-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { @@ -164,9 +164,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -177,9 +177,9 @@ } }, "params": { + "Region": "us-east-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-2" + "UseDualStack": false } }, { @@ -190,9 +190,9 @@ } }, "params": { + "Region": "us-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -203,9 +203,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -216,9 +216,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -229,9 +229,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -242,9 +242,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -255,9 +255,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -268,9 +268,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -281,9 +281,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -294,9 +294,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -307,9 +307,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -320,9 +320,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -333,9 +333,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -344,9 +344,9 @@ "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, - "Region": "us-iso-east-1" + "UseDualStack": true } }, { @@ -357,9 +357,9 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -368,9 +368,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-iso-east-1" + "UseDualStack": true } }, { @@ -381,9 +381,9 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -392,9 +392,9 @@ "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, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -405,9 +405,9 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -416,9 +416,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -429,9 +429,9 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -442,9 +442,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -467,9 +467,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { + "Region": "us-east-1", "UseFIPS": true, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -479,9 +479,9 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": true, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 9aaed5dd901..79dd4bea5e5 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -23195,6 +23195,13 @@ }, "workspaces" : { "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "deprecated" : true, + "hostname" : "workspaces-fips.us-gov-east-1.amazonaws.com" + }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" @@ -23202,7 +23209,12 @@ "deprecated" : true, "hostname" : "workspaces-fips.us-gov-west-1.amazonaws.com" }, - "us-gov-east-1" : { }, + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "workspaces-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-gov-west-1" : { "variants" : [ { "hostname" : "workspaces-fips.us-gov-west-1.amazonaws.com", diff --git a/service/cloudformation/api.go b/service/cloudformation/api.go index 4a33432b02d..c6ba1e13614 100644 --- a/service/cloudformation/api.go +++ b/service/cloudformation/api.go @@ -13,6 +13,91 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/query" ) +const opActivateOrganizationsAccess = "ActivateOrganizationsAccess" + +// ActivateOrganizationsAccessRequest generates a "aws/request.Request" representing the +// client's request for the ActivateOrganizationsAccess 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 ActivateOrganizationsAccess for more information on using the ActivateOrganizationsAccess +// 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 ActivateOrganizationsAccessRequest method. +// req, resp := client.ActivateOrganizationsAccessRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ActivateOrganizationsAccess +func (c *CloudFormation) ActivateOrganizationsAccessRequest(input *ActivateOrganizationsAccessInput) (req *request.Request, output *ActivateOrganizationsAccessOutput) { + op := &request.Operation{ + Name: opActivateOrganizationsAccess, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ActivateOrganizationsAccessInput{} + } + + output = &ActivateOrganizationsAccessOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// ActivateOrganizationsAccess API operation for AWS CloudFormation. +// +// Activate trusted access with Organizations. With trusted access between StackSets +// and Organizations activated, the management account has permissions to create +// and manage StackSets for your organization. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation ActivateOrganizationsAccess for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeInvalidOperationException "InvalidOperationException" +// The specified operation isn't valid. +// +// - ErrCodeOperationNotFoundException "OperationNotFoundException" +// The specified ID refers to an operation that doesn't exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ActivateOrganizationsAccess +func (c *CloudFormation) ActivateOrganizationsAccess(input *ActivateOrganizationsAccessInput) (*ActivateOrganizationsAccessOutput, error) { + req, out := c.ActivateOrganizationsAccessRequest(input) + return out, req.Send() +} + +// ActivateOrganizationsAccessWithContext is the same as ActivateOrganizationsAccess with the addition of +// the ability to pass a context and additional request options. +// +// See ActivateOrganizationsAccess 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 *CloudFormation) ActivateOrganizationsAccessWithContext(ctx aws.Context, input *ActivateOrganizationsAccessInput, opts ...request.Option) (*ActivateOrganizationsAccessOutput, error) { + req, out := c.ActivateOrganizationsAccessRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opActivateType = "ActivateType" // ActivateTypeRequest generates a "aws/request.Request" representing the @@ -61,7 +146,7 @@ func (c *CloudFormation) ActivateTypeRequest(input *ActivateTypeInput) (req *req // in the CloudFormation User Guide. // // Once you have activated a public third-party extension in your account and -// region, use SetTypeConfiguration (AWSCloudFormation/latest/APIReference/API_SetTypeConfiguration.html) +// Region, use SetTypeConfiguration (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SetTypeConfiguration.html) // to specify configuration properties for the extension. For more information, // see Configuring extensions at the account level (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-register.html#registry-set-configuration) // in the CloudFormation User Guide. @@ -147,7 +232,7 @@ func (c *CloudFormation) BatchDescribeTypeConfigurationsRequest(input *BatchDesc // BatchDescribeTypeConfigurations API operation for AWS CloudFormation. // // Returns configuration data for the specified CloudFormation extensions, from -// the CloudFormation registry for the account and region. +// the CloudFormation registry for the account and Region. // // For more information, see Configuring extensions at the account level (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-register.html#registry-set-configuration) // in the CloudFormation User Guide. @@ -763,6 +848,91 @@ func (c *CloudFormation) CreateStackSetWithContext(ctx aws.Context, input *Creat return out, req.Send() } +const opDeactivateOrganizationsAccess = "DeactivateOrganizationsAccess" + +// DeactivateOrganizationsAccessRequest generates a "aws/request.Request" representing the +// client's request for the DeactivateOrganizationsAccess 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 DeactivateOrganizationsAccess for more information on using the DeactivateOrganizationsAccess +// 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 DeactivateOrganizationsAccessRequest method. +// req, resp := client.DeactivateOrganizationsAccessRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DeactivateOrganizationsAccess +func (c *CloudFormation) DeactivateOrganizationsAccessRequest(input *DeactivateOrganizationsAccessInput) (req *request.Request, output *DeactivateOrganizationsAccessOutput) { + op := &request.Operation{ + Name: opDeactivateOrganizationsAccess, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeactivateOrganizationsAccessInput{} + } + + output = &DeactivateOrganizationsAccessOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeactivateOrganizationsAccess API operation for AWS CloudFormation. +// +// Deactivates trusted access with Organizations. If trusted access is deactivated, +// the management account does not have permissions to create and manage service-managed +// StackSets for your organization. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation DeactivateOrganizationsAccess for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeInvalidOperationException "InvalidOperationException" +// The specified operation isn't valid. +// +// - ErrCodeOperationNotFoundException "OperationNotFoundException" +// The specified ID refers to an operation that doesn't exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DeactivateOrganizationsAccess +func (c *CloudFormation) DeactivateOrganizationsAccess(input *DeactivateOrganizationsAccessInput) (*DeactivateOrganizationsAccessOutput, error) { + req, out := c.DeactivateOrganizationsAccessRequest(input) + return out, req.Send() +} + +// DeactivateOrganizationsAccessWithContext is the same as DeactivateOrganizationsAccess with the addition of +// the ability to pass a context and additional request options. +// +// See DeactivateOrganizationsAccess 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 *CloudFormation) DeactivateOrganizationsAccessWithContext(ctx aws.Context, input *DeactivateOrganizationsAccessInput, opts ...request.Option) (*DeactivateOrganizationsAccessOutput, error) { + req, out := c.DeactivateOrganizationsAccessRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeactivateType = "DeactivateType" // DeactivateTypeRequest generates a "aws/request.Request" representing the @@ -808,7 +978,7 @@ func (c *CloudFormation) DeactivateTypeRequest(input *DeactivateTypeInput) (req // DeactivateType API operation for AWS CloudFormation. // // Deactivates a public extension that was previously activated in this account -// and region. +// and Region. // // Once deactivated, an extension can't be used in any CloudFormation operation. // This includes stack update operations where the stack template includes the @@ -1599,6 +1769,91 @@ func (c *CloudFormation) DescribeChangeSetHooksWithContext(ctx aws.Context, inpu return out, req.Send() } +const opDescribeOrganizationsAccess = "DescribeOrganizationsAccess" + +// DescribeOrganizationsAccessRequest generates a "aws/request.Request" representing the +// client's request for the DescribeOrganizationsAccess 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 DescribeOrganizationsAccess for more information on using the DescribeOrganizationsAccess +// 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 DescribeOrganizationsAccessRequest method. +// req, resp := client.DescribeOrganizationsAccessRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeOrganizationsAccess +func (c *CloudFormation) DescribeOrganizationsAccessRequest(input *DescribeOrganizationsAccessInput) (req *request.Request, output *DescribeOrganizationsAccessOutput) { + op := &request.Operation{ + Name: opDescribeOrganizationsAccess, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeOrganizationsAccessInput{} + } + + output = &DescribeOrganizationsAccessOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeOrganizationsAccess API operation for AWS CloudFormation. +// +// Retrieves information about the account's OrganizationAccess status. This +// API can be called either by the management account or the delegated administrator +// by using the CallAs parameter. This API can also be called without the CallAs +// parameter by the management account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation DescribeOrganizationsAccess for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeInvalidOperationException "InvalidOperationException" +// The specified operation isn't valid. +// +// - ErrCodeOperationNotFoundException "OperationNotFoundException" +// The specified ID refers to an operation that doesn't exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeOrganizationsAccess +func (c *CloudFormation) DescribeOrganizationsAccess(input *DescribeOrganizationsAccessInput) (*DescribeOrganizationsAccessOutput, error) { + req, out := c.DescribeOrganizationsAccessRequest(input) + return out, req.Send() +} + +// DescribeOrganizationsAccessWithContext is the same as DescribeOrganizationsAccess with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeOrganizationsAccess 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 *CloudFormation) DescribeOrganizationsAccessWithContext(ctx aws.Context, input *DescribeOrganizationsAccessInput, opts ...request.Option) (*DescribeOrganizationsAccessOutput, error) { + req, out := c.DescribeOrganizationsAccessRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribePublisher = "DescribePublisher" // DescribePublisherRequest generates a "aws/request.Request" representing the @@ -1733,7 +1988,7 @@ func (c *CloudFormation) DescribeStackDriftDetectionStatusRequest(input *Describ // // Returns information about a stack drift detection operation. A stack drift // detection operation detects whether a stack's actual configuration differs, -// or has drifted, from it's expected configuration, as defined in the stack +// or has drifted, from its expected configuration, as defined in the stack // template and any values specified as template parameters. A stack is considered // to have drifted if one or more of its resources have drifted. For more information // about stack and resource drift, see Detecting Unregulated Configuration Changes @@ -1951,10 +2206,10 @@ func (c *CloudFormation) DescribeStackInstanceRequest(input *DescribeStackInstan // DescribeStackInstance API operation for AWS CloudFormation. // -// Returns the stack instance that's associated with the specified stack set, -// Amazon Web Services account, and Region. +// Returns the stack instance that's associated with the specified StackSet, +// Amazon Web Services account, and Amazon Web Services Region. // -// For a list of stack instances that are associated with a specific stack set, +// For a list of stack instances that are associated with a specific StackSet, // use ListStackInstances. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2344,7 +2599,7 @@ func (c *CloudFormation) DescribeStackSetRequest(input *DescribeStackSetInput) ( // DescribeStackSet API operation for AWS CloudFormation. // -// Returns the description of the specified stack set. +// Returns the description of the specified StackSet. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2422,7 +2677,7 @@ func (c *CloudFormation) DescribeStackSetOperationRequest(input *DescribeStackSe // DescribeStackSetOperation API operation for AWS CloudFormation. // -// Returns the description of the specified stack set operation. +// Returns the description of the specified StackSet 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 @@ -2810,7 +3065,7 @@ func (c *CloudFormation) DetectStackDriftRequest(input *DetectStackDriftInput) ( // DetectStackDrift API operation for AWS CloudFormation. // // Detects whether a stack's actual configuration differs, or has drifted, from -// it's expected configuration, as defined in the stack template and any values +// its expected configuration, as defined in the stack template and any values // specified as template parameters. For each resource in the stack that supports // drift detection, CloudFormation compares the actual configuration of the // resource with its expected template configuration. Only resource properties @@ -2907,7 +3162,7 @@ func (c *CloudFormation) DetectStackResourceDriftRequest(input *DetectStackResou // DetectStackResourceDrift API operation for AWS CloudFormation. // // Returns information about whether a resource's actual configuration differs, -// or has drifted, from it's expected configuration, as defined in the stack +// or has drifted, from its expected configuration, as defined in the stack // template and any values specified as template parameters. This information // includes actual and expected property values for resources in which CloudFormation // detects drift. Only resource properties explicitly defined in the stack template @@ -3545,8 +3800,6 @@ func (c *CloudFormation) ImportStacksToStackSetRequest(input *ImportStacksToStac // source stack or in a different administrator account and Region, by specifying // the stack ID of the stack you intend to import. // -// ImportStacksToStackSet is only supported by self-managed permissions. -// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -5281,7 +5534,7 @@ func (c *CloudFormation) PublishTypeRequest(input *PublishTypeInput) (req *reque // PublishType API operation for AWS CloudFormation. // // Publishes the specified extension to the CloudFormation registry as a public -// extension in this region. Public extensions are available for use by all +// extension in this Region. Public extensions are available for use by all // CloudFormation users. For more information about publishing extensions, see // Publishing extensions to make them available for public use (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html) // in the CloudFormation CLI User Guide. @@ -5557,15 +5810,15 @@ func (c *CloudFormation) RegisterTypeRequest(input *RegisterTypeInput) (req *req // in the CloudFormation CLI User Guide. // // You can have a maximum of 50 resource extension versions registered at a -// time. This maximum is per account and per region. Use DeregisterType (AWSCloudFormation/latest/APIReference/API_DeregisterType.html) +// time. This maximum is per account and per Region. Use DeregisterType (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeregisterType.html) // to deregister specific extension versions if necessary. // // Once you have initiated a registration request using RegisterType , you can // use DescribeTypeRegistration to monitor the progress of the registration // request. // -// Once you have registered a private extension in your account and region, -// use SetTypeConfiguration (AWSCloudFormation/latest/APIReference/API_SetTypeConfiguration.html) +// Once you have registered a private extension in your account and Region, +// use SetTypeConfiguration (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SetTypeConfiguration.html) // to specify configuration properties for the extension. For more information, // see Configuring extensions at the account level (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-register.html#registry-set-configuration) // in the CloudFormation User Guide. @@ -5818,10 +6071,10 @@ func (c *CloudFormation) SetTypeConfigurationRequest(input *SetTypeConfiguration // SetTypeConfiguration API operation for AWS CloudFormation. // // Specifies the configuration data for a registered CloudFormation extension, -// in the given account and region. +// in the given account and Region. // // To view the current configuration data for an extension, refer to the ConfigurationSchema -// element of DescribeType (AWSCloudFormation/latest/APIReference/API_DescribeType.html). +// element of DescribeType (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeType.html). // For more information, see Configuring extensions at the account level (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-register.html#registry-set-configuration) // in the CloudFormation User Guide. // @@ -6175,10 +6428,10 @@ func (c *CloudFormation) TestTypeRequest(input *TestTypeInput) (req *request.Req // in the CloudFormation CLI User Guide. // // If you don't specify a version, CloudFormation uses the default version of -// the extension in your account and region for testing. +// the extension in your account and Region for testing. // // To perform testing, CloudFormation assumes the execution role specified when -// the type was registered. For more information, see RegisterType (AWSCloudFormation/latest/APIReference/API_RegisterType.html). +// the type was registered. For more information, see RegisterType (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterType.html). // // Once you've initiated testing on an extension using TestType, you can pass // the returned TypeVersionArn into DescribeType (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeType.html) @@ -6819,10 +7072,54 @@ func (s *AccountLimit) SetValue(v int64) *AccountLimit { return s } +type ActivateOrganizationsAccessInput 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 ActivateOrganizationsAccessInput) 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 ActivateOrganizationsAccessInput) GoString() string { + return s.String() +} + +type ActivateOrganizationsAccessOutput 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 ActivateOrganizationsAccessOutput) 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 ActivateOrganizationsAccessOutput) GoString() string { + return s.String() +} + type ActivateTypeInput struct { _ struct{} `type:"structure"` - // Whether to automatically update the extension in this account and region + // Whether to automatically update the extension in this account and Region // when a new minor version is published by the extension publisher. Major versions // released by the publisher must be manually updated. // @@ -6862,15 +7159,15 @@ type ActivateTypeInput struct { // Conditional: You must specify PublicTypeArn, or TypeName, Type, and PublisherId. TypeName *string `min:"10" type:"string"` - // An alias to assign to the public extension, in this account and region. If + // An alias to assign to the public extension, in this account and Region. If // you specify an alias for the extension, CloudFormation treats the alias as - // the extension type name within this account and region. You must use the + // the extension type name within this account and Region. You must use the // alias to refer to the extension in your templates, API calls, and CloudFormation // console. // - // An extension alias must be unique within a given account and region. You + // An extension alias must be unique within a given account and Region. You // can activate the same public resource multiple times in the same account - // and region, using different type name aliases. + // and Region, using different type name aliases. TypeNameAlias *string `min:"10" type:"string"` // Manually updates a previously-activated type to a new major or minor version, @@ -6996,7 +7293,7 @@ type ActivateTypeOutput struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the activated extension, in this account - // and region. + // and Region. Arn *string `type:"string"` } @@ -7246,6 +7543,17 @@ type CancelUpdateStackInput struct { // them. ClientRequestToken *string `min:"1" type:"string"` + // + // If you don't pass a parameter to StackName, the API returns a response that + // describes all resources in the account. + // + // The IAM policy below can be added to IAM policies when you want to limit + // resource-level permissions and avoid returning a response when no parameter + // is sent in the request: + // + // { "Version": "2012-10-17", "Statement": [{ "Effect": "Deny", "Action": "cloudformation:DescribeStacks", + // "NotResource": "arn:aws:cloudformation:*:*:stack/*/*" }] } + // // The name or the unique stack ID that's associated with the stack. // // StackName is a required field @@ -9182,10 +9490,54 @@ func (s *CreateStackSetOutput) SetStackSetId(v string) *CreateStackSetOutput { return s } +type DeactivateOrganizationsAccessInput 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 DeactivateOrganizationsAccessInput) 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 DeactivateOrganizationsAccessInput) GoString() string { + return s.String() +} + +type DeactivateOrganizationsAccessOutput 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 DeactivateOrganizationsAccessOutput) 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 DeactivateOrganizationsAccessOutput) GoString() string { + return s.String() +} + type DeactivateTypeInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) for the extension, in this account and region. + // The Amazon Resource Name (ARN) for the extension, in this account and Region. // // Conditional: You must specify either Arn, or TypeName and Type. Arn *string `type:"string"` @@ -9195,7 +9547,7 @@ type DeactivateTypeInput struct { // Conditional: You must specify either Arn, or TypeName and Type. Type *string `type:"string" enum:"ThirdPartyType"` - // The type name of the extension, in this account and region. If you specified + // The type name of the extension, in this account and Region. If you specified // a type name alias when enabling the extension, use the type name alias. // // Conditional: You must specify either Arn, or TypeName and Type. @@ -10523,6 +10875,80 @@ func (s *DescribeChangeSetOutput) SetTags(v []*Tag) *DescribeChangeSetOutput { return s } +type DescribeOrganizationsAccessInput struct { + _ struct{} `type:"structure"` + + // [Service-managed permissions] Specifies whether you are acting as an account + // administrator in the organization's management account or as a delegated + // administrator in a member account. + // + // By default, SELF is specified. + // + // * If you are signed in to the management account, specify SELF. + // + // * If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN. + // Your Amazon Web Services account must be registered as a delegated administrator + // in the management account. For more information, see Register a delegated + // administrator (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html) + // in the CloudFormation User Guide. + CallAs *string `type:"string" enum:"CallAs"` +} + +// 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 DescribeOrganizationsAccessInput) 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 DescribeOrganizationsAccessInput) GoString() string { + return s.String() +} + +// SetCallAs sets the CallAs field's value. +func (s *DescribeOrganizationsAccessInput) SetCallAs(v string) *DescribeOrganizationsAccessInput { + s.CallAs = &v + return s +} + +type DescribeOrganizationsAccessOutput struct { + _ struct{} `type:"structure"` + + // Presents the status of the OrganizationAccess. + Status *string `type:"string" enum:"OrganizationStatus"` +} + +// 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 DescribeOrganizationsAccessOutput) 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 DescribeOrganizationsAccessOutput) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *DescribeOrganizationsAccessOutput) SetStatus(v string) *DescribeOrganizationsAccessOutput { + s.Status = &v + return s +} + type DescribePublisherInput struct { _ struct{} `type:"structure"` @@ -11626,6 +12052,18 @@ type DescribeStacksInput struct { // A string that identifies the next page of stacks that you want to retrieve. NextToken *string `min:"1" type:"string"` + // + // If you don't pass a parameter to StackName, the API returns a response that + // describes all resources in the account. This requires ListStacks and DescribeStacks + // permissions. + // + // The IAM policy below can be added to IAM policies when you want to limit + // resource-level permissions and avoid returning a response when no parameter + // is sent in the request: + // + // { "Version": "2012-10-17", "Statement": [{ "Effect": "Deny", "Action": "cloudformation:DescribeStacks", + // "NotResource": "arn:aws:cloudformation:*:*:stack/*/*" }] } + // // The name or the unique stack ID that's associated with the stack, which aren't // always interchangeable: // @@ -11842,14 +12280,14 @@ type DescribeTypeOutput struct { Arn *string `type:"string"` // Whether CloudFormation automatically updates the extension in this account - // and region when a new minor version is published by the extension publisher. + // and Region when a new minor version is published by the extension publisher. // Major versions released by the publisher must be manually updated. For more - // information, see Activating public extensions for use in your account (AWSCloudFormation/latest/UserGuide/registry-public.html#registry-public-enable) + // information, see Activating public extensions for use in your account (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-public.html#registry-public-enable) // in the CloudFormation User Guide. AutoUpdate *bool `type:"boolean"` // A JSON string that represent the current configuration data for the extension - // in this account and region. + // in this account and Region. // // To set the configuration data for an extension, use SetTypeConfiguration // (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SetTypeConfiguration.html). @@ -11899,7 +12337,7 @@ type DescribeTypeOutput struct { // credentials. ExecutionRoleArn *string `min:"1" type:"string"` - // Whether the extension is activated in the account and region. + // Whether the extension is activated in the account and Region. // // This only applies to public third-party extensions. For all other extensions, // CloudFormation returns null. @@ -11934,16 +12372,16 @@ type DescribeTypeOutput struct { // (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterType.html). LoggingConfig *LoggingConfig `type:"structure"` - // For public extensions that have been activated for this account and region, + // For public extensions that have been activated for this account and Region, // the Amazon Resource Name (ARN) of the public extension. OriginalTypeArn *string `type:"string"` - // For public extensions that have been activated for this account and region, + // For public extensions that have been activated for this account and Region, // the type name of the public extension. // // If you specified a TypeNameAlias when enabling the extension in this account - // and region, CloudFormation treats that alias as the extension's type name - // within the account and region, not the type name of the public extension. + // and Region, CloudFormation treats that alias as the extension's type name + // within the account and Region, not the type name of the public extension. // For more information, see Specifying aliases to refer to extensions (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-public.html#registry-public-enable-alias) // in the CloudFormation User Guide. OriginalTypeName *string `min:"10" type:"string"` @@ -15104,9 +15542,9 @@ type ListTypesInput struct { // Valid values include: // // * PRIVATE: Extensions that are visible and usable within this account - // and region. This includes: Private extensions you have registered in this - // account and region. Public extensions that you have activated in this - // account and region. + // and Region. This includes: Private extensions you have registered in this + // account and Region. Public extensions that you have activated in this + // account and Region. // // * PUBLIC: Extensions that are publicly visible and available to be activated // within any Amazon Web Services account. This includes extensions from @@ -15358,7 +15796,7 @@ func (s *ManagedExecution) SetActive(v bool) *ManagedExecution { // if the resource was created from a module included in the stack template. // // For more information about modules, see Using modules to encapsulate and -// reuse resource configurations (AWSCloudFormation/latest/UserGuide/modules.html) +// reuse resource configurations (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/modules.html) // in the CloudFormation User Guide. type ModuleInfo struct { _ struct{} `type:"structure"` @@ -15372,7 +15810,7 @@ type ModuleInfo struct { // // moduleA/moduleB // - // For more information, see Referencing resources in a module (AWSCloudFormation/latest/UserGuide/modules.html#module-ref-resources) + // For more information, see Referencing resources in a module (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/modules.html#module-ref-resources) // in the CloudFormation User Guide. LogicalIdHierarchy *string `type:"string"` @@ -16206,7 +16644,7 @@ type RegisterTypeInput struct { // For CloudFormation to assume the specified execution role, the role must // contain a trust relationship with the CloudFormation service principle (resources.cloudformation.amazonaws.com). // For more information about adding trust relationships, see Modifying a role - // trust policy (IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-managingrole_edit-trust-policy) + // trust policy (https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-managingrole_edit-trust-policy) // in the Identity and Access Management User Guide. // // If your extension calls Amazon Web Services APIs in any of its handlers, @@ -16402,8 +16840,8 @@ type RequiredActivatedType struct { // The type name of the public extension. // // If you specified a TypeNameAlias when enabling the extension in this account - // and region, CloudFormation treats that alias as the extension's type name - // within the account and region, not the type name of the public extension. + // and Region, CloudFormation treats that alias as the extension's type name + // within the account and Region, not the type name of the public extension. // For more information, see Specifying aliases to refer to extensions (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-public.html#registry-public-enable-alias) // in the CloudFormation User Guide. OriginalTypeName *string `min:"10" type:"string"` @@ -16414,9 +16852,9 @@ type RequiredActivatedType struct { // A list of the major versions of the extension type that the macro supports. SupportedMajorVersions []*int64 `type:"list"` - // An alias assigned to the public extension, in this account and region. If + // An alias assigned to the public extension, in this account and Region. If // you specify an alias for the extension, CloudFormation treats the alias as - // the extension type name within this account and region. You must use the + // the extension type name within this account and Region. You must use the // alias to refer to the extension in your templates, API calls, and CloudFormation // console. TypeNameAlias *string `min:"10" type:"string"` @@ -17269,12 +17707,13 @@ func (s SetStackPolicyOutput) GoString() string { type SetTypeConfigurationInput struct { _ struct{} `type:"structure"` - // The configuration data for the extension, in this account and region. + // The configuration data for the extension, in this account and Region. // // The configuration data must be formatted as JSON, and validate against the - // schema returned in the ConfigurationSchema response element of API_DescribeType - // (AWSCloudFormation/latest/APIReference/API_DescribeType.html). For more information, - // see Defining account-level configuration data for an extension (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-model.html#resource-type-howto-configuration) + // schema returned in the ConfigurationSchema response element of DescribeType + // (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeType.html). + // For more information, see Defining account-level configuration data for an + // extension (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-model.html#resource-type-howto-configuration) // in the CloudFormation CLI User Guide. // // Configuration is a required field @@ -17291,13 +17730,13 @@ type SetTypeConfigurationInput struct { // Conditional: You must specify ConfigurationArn, or Type and TypeName. Type *string `type:"string" enum:"ThirdPartyType"` - // The Amazon Resource Name (ARN) for the extension, in this account and region. + // The Amazon Resource Name (ARN) for the extension, in this account and Region. // // For public extensions, this will be the ARN assigned when you activate the // type (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ActivateType.html) - // in this account and region. For private extensions, this will be the ARN + // in this account and Region. For private extensions, this will be the ARN // assigned when you register the type (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterType.html) - // in this account and region. + // in this account and Region. // // Do not include the extension versions suffix at the end of the ARN. You can // set the configuration for an extension, but not for a specific extension @@ -17384,7 +17823,7 @@ type SetTypeConfigurationOutput struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) for the configuration data, in this account - // and region. + // and Region. // // Conditional: You must specify ConfigurationArn, or Type and TypeName. ConfigurationArn *string `type:"string"` @@ -17671,7 +18110,7 @@ type Stack struct { DisableRollback *bool `type:"boolean"` // Information about whether a stack's actual configuration differs, or has - // drifted, from it's expected configuration, as defined in the stack template + // drifted, from its expected configuration, as defined in the stack template // and any values specified as template parameters. For more information, see // Detecting Unregulated Configuration Changes to Stacks and Resources (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). DriftInformation *StackDriftInformation `type:"structure"` @@ -19391,6 +19830,9 @@ type StackSet struct { // more information, see Grant Service-Managed Stack Set Permissions (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-service-managed.html). PermissionModel *string `type:"string" enum:"PermissionModels"` + // Returns a list of all Amazon Web Services Regions the given StackSet has + // stack instances deployed in. The Amazon Web Services Regions list output + // is in no particular order. Regions []*string `type:"list"` // The Amazon Resource Name (ARN) of the stack set. @@ -20440,7 +20882,7 @@ type StackSummary struct { DeletionTime *time.Time `type:"timestamp"` // Summarizes information about whether a stack's actual configuration differs, - // or has drifted, from it's expected configuration, as defined in the stack + // or has drifted, from its expected configuration, as defined in the stack // template and any values specified as template parameters. For more information, // see Detecting Unregulated Configuration Changes to Stacks and Resources (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). DriftInformation *StackDriftInformationSummary `type:"structure"` @@ -20848,7 +21290,7 @@ type TestTypeInput struct { // You can specify the version id with either Arn, or with TypeName and Type. // // If you don't specify a version, CloudFormation uses the default version of - // the extension in this account and region for testing. + // the extension in this account and Region for testing. VersionId *string `min:"1" type:"string"` } @@ -20951,7 +21393,7 @@ func (s *TestTypeOutput) SetTypeVersionArn(v string) *TestTypeOutput { } // Detailed information concerning the specification of a CloudFormation extension -// in a given account and region. +// in a given account and Region. // // For more information, see Configuring extensions at the account level (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-register.html#registry-set-configuration) // in the CloudFormation User Guide. @@ -20963,11 +21405,11 @@ type TypeConfigurationDetails struct { Alias *string `min:"1" type:"string"` // The Amazon Resource Name (ARN) for the configuration data, in this account - // and region. + // and Region. Arn *string `type:"string"` // A JSON string specifying the configuration data for the extension, in this - // account and region. + // account and Region. // // If a configuration hasn't been set for a specified extension, CloudFormation // returns {}. @@ -20982,13 +21424,13 @@ type TypeConfigurationDetails struct { // returns null. LastUpdated *time.Time `type:"timestamp"` - // The Amazon Resource Name (ARN) for the extension, in this account and region. + // The Amazon Resource Name (ARN) for the extension, in this account and Region. // // For public extensions, this will be the ARN assigned when you activate the // type (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ActivateType.html) - // in this account and region. For private extensions, this will be the ARN + // in this account and Region. For private extensions, this will be the ARN // assigned when you register the type (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterType.html) - // in this account and region. + // in this account and Region. TypeArn *string `type:"string"` // The name of the extension. @@ -21062,13 +21504,13 @@ type TypeConfigurationIdentifier struct { // The type of extension. Type *string `type:"string" enum:"ThirdPartyType"` - // The Amazon Resource Name (ARN) for the extension, in this account and region. + // The Amazon Resource Name (ARN) for the extension, in this account and Region. // // For public extensions, this will be the ARN assigned when you activate the // type (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ActivateType.html) - // in this account and region. For private extensions, this will be the ARN + // in this account and Region. For private extensions, this will be the ARN // assigned when you register the type (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterType.html) - // in this account and region. + // in this account and Region. TypeArn *string `type:"string"` // The alias specified for this configuration, if one was specified when the @@ -21076,7 +21518,7 @@ type TypeConfigurationIdentifier struct { TypeConfigurationAlias *string `min:"1" type:"string"` // The Amazon Resource Name (ARN) for the configuration, in this account and - // region. + // Region. TypeConfigurationArn *string `type:"string"` // The name of the extension type to which this configuration applies. @@ -21154,10 +21596,10 @@ type TypeFilters struct { // The category of extensions to return. // // * REGISTERED: Private extensions that have been registered for this account - // and region. + // and Region. // // * ACTIVATED: Public extensions that have been activated for this account - // and region. + // and Region. // // * THIRD_PARTY: Extensions available for use from publishers other than // Amazon. This includes: Private extensions registered in the account. Public @@ -21246,7 +21688,7 @@ type TypeSummary struct { // The description of the extension. Description *string `min:"1" type:"string"` - // Whether the extension is activated for this account and region. + // Whether the extension is activated for this account and Region. // // This applies only to third-party public extensions. Extensions published // by Amazon are activated by default. @@ -21263,33 +21705,33 @@ type TypeSummary struct { // For all other extension types, CloudFormation returns null. LastUpdated *time.Time `type:"timestamp"` - // For public extensions that have been activated for this account and region, + // For public extensions that have been activated for this account and Region, // the latest version of the public extension that is available. For any extensions // other than activated third-arty extensions, CloudFormation returns null. // // How you specified AutoUpdate when enabling the extension affects whether - // CloudFormation automatically updates the extension in this account and region + // CloudFormation automatically updates the extension in this account and Region // when a new version is released. For more information, see Setting CloudFormation // to automatically use new versions of extensions (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-public.html#registry-public-enable-auto) // in the CloudFormation User Guide. LatestPublicVersion *string `min:"5" type:"string"` - // For public extensions that have been activated for this account and region, + // For public extensions that have been activated for this account and Region, // the type name of the public extension. // // If you specified a TypeNameAlias when enabling the extension in this account - // and region, CloudFormation treats that alias as the extension's type name - // within the account and region, not the type name of the public extension. + // and Region, CloudFormation treats that alias as the extension's type name + // within the account and Region, not the type name of the public extension. // For more information, see Specifying aliases to refer to extensions (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-public.html#registry-public-enable-alias) // in the CloudFormation User Guide. OriginalTypeName *string `min:"10" type:"string"` - // For public extensions that have been activated for this account and region, + // For public extensions that have been activated for this account and Region, // the version of the public extension to be used for CloudFormation operations // in this account and Region. // // How you specified AutoUpdate when enabling the extension affects whether - // CloudFormation automatically updates the extension in this account and region + // CloudFormation automatically updates the extension in this account and Region // when a new version is released. For more information, see Setting CloudFormation // to automatically use new versions of extensions (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-public.html#registry-public-enable-auto) // in the CloudFormation User Guide. @@ -21319,7 +21761,7 @@ type TypeSummary struct { // The name of the extension. // // If you specified a TypeNameAlias when you activate this extension (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ActivateType.html) - // in your account and region, CloudFormation considers that alias as the type + // in your account and Region, CloudFormation considers that alias as the type // name. TypeName *string `min:"10" type:"string"` } @@ -21438,13 +21880,13 @@ type TypeVersionSummary struct { // returns null. IsDefaultVersion *bool `type:"boolean"` - // For public extensions that have been activated for this account and region, + // For public extensions that have been activated for this account and Region, // the version of the public extension to be used for CloudFormation operations - // in this account and region. For any extensions other than activated third-arty + // in this account and Region. For any extensions other than activated third-arty // extensions, CloudFormation returns null. // // How you specified AutoUpdate when enabling the extension affects whether - // CloudFormation automatically updates the extension in this account and region + // CloudFormation automatically updates the extension in this account and Region // when a new version is released. For more information, see Setting CloudFormation // to automatically use new versions of extensions (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-public.html#registry-public-enable-auto) // in the CloudFormation User Guide. @@ -23399,6 +23841,26 @@ func OperationStatus_Values() []string { } } +const ( + // OrganizationStatusEnabled is a OrganizationStatus enum value + OrganizationStatusEnabled = "ENABLED" + + // OrganizationStatusDisabled is a OrganizationStatus enum value + OrganizationStatusDisabled = "DISABLED" + + // OrganizationStatusDisabledPermanently is a OrganizationStatus enum value + OrganizationStatusDisabledPermanently = "DISABLED_PERMANENTLY" +) + +// OrganizationStatus_Values returns all elements of the OrganizationStatus enum +func OrganizationStatus_Values() []string { + return []string{ + OrganizationStatusEnabled, + OrganizationStatusDisabled, + OrganizationStatusDisabledPermanently, + } +} + const ( // PermissionModelsServiceManaged is a PermissionModels enum value PermissionModelsServiceManaged = "SERVICE_MANAGED" diff --git a/service/cloudformation/cloudformationiface/interface.go b/service/cloudformation/cloudformationiface/interface.go index f66b316bfb1..c9d6a91ca2e 100644 --- a/service/cloudformation/cloudformationiface/interface.go +++ b/service/cloudformation/cloudformationiface/interface.go @@ -26,7 +26,7 @@ import ( // // myFunc uses an SDK service client to make a request to // // AWS CloudFormation. // func myFunc(svc cloudformationiface.CloudFormationAPI) bool { -// // Make svc.ActivateType request +// // Make svc.ActivateOrganizationsAccess request // } // // func main() { @@ -42,7 +42,7 @@ import ( // type mockCloudFormationClient struct { // cloudformationiface.CloudFormationAPI // } -// func (m *mockCloudFormationClient) ActivateType(input *cloudformation.ActivateTypeInput) (*cloudformation.ActivateTypeOutput, error) { +// func (m *mockCloudFormationClient) ActivateOrganizationsAccess(input *cloudformation.ActivateOrganizationsAccessInput) (*cloudformation.ActivateOrganizationsAccessOutput, error) { // // mock response/functionality // } // @@ -60,6 +60,10 @@ import ( // and waiters. Its suggested to use the pattern above for testing, or using // tooling to generate mocks to satisfy the interfaces. type CloudFormationAPI interface { + ActivateOrganizationsAccess(*cloudformation.ActivateOrganizationsAccessInput) (*cloudformation.ActivateOrganizationsAccessOutput, error) + ActivateOrganizationsAccessWithContext(aws.Context, *cloudformation.ActivateOrganizationsAccessInput, ...request.Option) (*cloudformation.ActivateOrganizationsAccessOutput, error) + ActivateOrganizationsAccessRequest(*cloudformation.ActivateOrganizationsAccessInput) (*request.Request, *cloudformation.ActivateOrganizationsAccessOutput) + ActivateType(*cloudformation.ActivateTypeInput) (*cloudformation.ActivateTypeOutput, error) ActivateTypeWithContext(aws.Context, *cloudformation.ActivateTypeInput, ...request.Option) (*cloudformation.ActivateTypeOutput, error) ActivateTypeRequest(*cloudformation.ActivateTypeInput) (*request.Request, *cloudformation.ActivateTypeOutput) @@ -92,6 +96,10 @@ type CloudFormationAPI interface { CreateStackSetWithContext(aws.Context, *cloudformation.CreateStackSetInput, ...request.Option) (*cloudformation.CreateStackSetOutput, error) CreateStackSetRequest(*cloudformation.CreateStackSetInput) (*request.Request, *cloudformation.CreateStackSetOutput) + DeactivateOrganizationsAccess(*cloudformation.DeactivateOrganizationsAccessInput) (*cloudformation.DeactivateOrganizationsAccessOutput, error) + DeactivateOrganizationsAccessWithContext(aws.Context, *cloudformation.DeactivateOrganizationsAccessInput, ...request.Option) (*cloudformation.DeactivateOrganizationsAccessOutput, error) + DeactivateOrganizationsAccessRequest(*cloudformation.DeactivateOrganizationsAccessInput) (*request.Request, *cloudformation.DeactivateOrganizationsAccessOutput) + DeactivateType(*cloudformation.DeactivateTypeInput) (*cloudformation.DeactivateTypeOutput, error) DeactivateTypeWithContext(aws.Context, *cloudformation.DeactivateTypeInput, ...request.Option) (*cloudformation.DeactivateTypeOutput, error) DeactivateTypeRequest(*cloudformation.DeactivateTypeInput) (*request.Request, *cloudformation.DeactivateTypeOutput) @@ -131,6 +139,10 @@ type CloudFormationAPI interface { DescribeChangeSetHooksWithContext(aws.Context, *cloudformation.DescribeChangeSetHooksInput, ...request.Option) (*cloudformation.DescribeChangeSetHooksOutput, error) DescribeChangeSetHooksRequest(*cloudformation.DescribeChangeSetHooksInput) (*request.Request, *cloudformation.DescribeChangeSetHooksOutput) + DescribeOrganizationsAccess(*cloudformation.DescribeOrganizationsAccessInput) (*cloudformation.DescribeOrganizationsAccessOutput, error) + DescribeOrganizationsAccessWithContext(aws.Context, *cloudformation.DescribeOrganizationsAccessInput, ...request.Option) (*cloudformation.DescribeOrganizationsAccessOutput, error) + DescribeOrganizationsAccessRequest(*cloudformation.DescribeOrganizationsAccessInput) (*request.Request, *cloudformation.DescribeOrganizationsAccessOutput) + DescribePublisher(*cloudformation.DescribePublisherInput) (*cloudformation.DescribePublisherOutput, error) DescribePublisherWithContext(aws.Context, *cloudformation.DescribePublisherInput, ...request.Option) (*cloudformation.DescribePublisherOutput, error) DescribePublisherRequest(*cloudformation.DescribePublisherInput) (*request.Request, *cloudformation.DescribePublisherOutput) diff --git a/service/ec2/api.go b/service/ec2/api.go index 9ebc644c4a6..994d221d318 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -87148,7 +87148,9 @@ type DeregisterInstanceEventNotificationAttributesInput struct { DryRun *bool `type:"boolean"` // Information about the tag keys to deregister. - InstanceTagAttribute *DeregisterInstanceTagAttributeRequest `type:"structure"` + // + // InstanceTagAttribute is a required field + InstanceTagAttribute *DeregisterInstanceTagAttributeRequest `type:"structure" required:"true"` } // String returns the string representation. @@ -87169,6 +87171,19 @@ func (s DeregisterInstanceEventNotificationAttributesInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeregisterInstanceEventNotificationAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeregisterInstanceEventNotificationAttributesInput"} + if s.InstanceTagAttribute == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceTagAttribute")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDryRun sets the DryRun field's value. func (s *DeregisterInstanceEventNotificationAttributesInput) SetDryRun(v bool) *DeregisterInstanceEventNotificationAttributesInput { s.DryRun = &v @@ -155758,7 +155773,9 @@ type RegisterInstanceEventNotificationAttributesInput struct { DryRun *bool `type:"boolean"` // Information about the tag keys to register. - InstanceTagAttribute *RegisterInstanceTagAttributeRequest `type:"structure"` + // + // InstanceTagAttribute is a required field + InstanceTagAttribute *RegisterInstanceTagAttributeRequest `type:"structure" required:"true"` } // String returns the string representation. @@ -155779,6 +155796,19 @@ func (s RegisterInstanceEventNotificationAttributesInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *RegisterInstanceEventNotificationAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RegisterInstanceEventNotificationAttributesInput"} + if s.InstanceTagAttribute == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceTagAttribute")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDryRun sets the DryRun field's value. func (s *RegisterInstanceEventNotificationAttributesInput) SetDryRun(v bool) *RegisterInstanceEventNotificationAttributesInput { s.DryRun = &v diff --git a/service/finspace/api.go b/service/finspace/api.go index 2b1c3cce45a..43e5c8fc0fc 100644 --- a/service/finspace/api.go +++ b/service/finspace/api.go @@ -4,6 +4,7 @@ package finspace import ( "fmt" + "time" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awsutil" @@ -109,156 +110,159 @@ func (c *Finspace) CreateEnvironmentWithContext(ctx aws.Context, input *CreateEn return out, req.Send() } -const opDeleteEnvironment = "DeleteEnvironment" +const opCreateKxChangeset = "CreateKxChangeset" -// DeleteEnvironmentRequest generates a "aws/request.Request" representing the -// client's request for the DeleteEnvironment operation. The "output" return +// CreateKxChangesetRequest generates a "aws/request.Request" representing the +// client's request for the CreateKxChangeset 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 DeleteEnvironment for more information on using the DeleteEnvironment +// See CreateKxChangeset for more information on using the CreateKxChangeset // 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 DeleteEnvironmentRequest method. -// req, resp := client.DeleteEnvironmentRequest(params) +// // Example sending a request using the CreateKxChangesetRequest method. +// req, resp := client.CreateKxChangesetRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/DeleteEnvironment -func (c *Finspace) DeleteEnvironmentRequest(input *DeleteEnvironmentInput) (req *request.Request, output *DeleteEnvironmentOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/CreateKxChangeset +func (c *Finspace) CreateKxChangesetRequest(input *CreateKxChangesetInput) (req *request.Request, output *CreateKxChangesetOutput) { op := &request.Operation{ - Name: opDeleteEnvironment, - HTTPMethod: "DELETE", - HTTPPath: "/environment/{environmentId}", + Name: opCreateKxChangeset, + HTTPMethod: "POST", + HTTPPath: "/kx/environments/{environmentId}/databases/{databaseName}/changesets", } if input == nil { - input = &DeleteEnvironmentInput{} + input = &CreateKxChangesetInput{} } - output = &DeleteEnvironmentOutput{} + output = &CreateKxChangesetOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DeleteEnvironment API operation for FinSpace User Environment Management service. +// CreateKxChangeset API operation for FinSpace User Environment Management service. // -// Delete an FinSpace environment. +// Creates a changeset for a kdb database. A changeset allows you to add and +// delete existing files by using an ordered list of change requests. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for FinSpace User Environment Management service's -// API operation DeleteEnvironment for usage and error information. +// API operation CreateKxChangeset for usage and error information. // // Returned Error Types: // -// - ResourceNotFoundException -// One or more resources can't be found. -// // - InternalServerException // The request processing has failed because of an unknown error, exception // or failure. // -// - AccessDeniedException -// You do not have sufficient access to perform this action. +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. // // - ThrottlingException // The request was denied due to request throttling. // -// - ValidationException -// The input fails to satisfy the constraints specified by an AWS service. +// - AccessDeniedException +// You do not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/DeleteEnvironment -func (c *Finspace) DeleteEnvironment(input *DeleteEnvironmentInput) (*DeleteEnvironmentOutput, error) { - req, out := c.DeleteEnvironmentRequest(input) +// - ResourceNotFoundException +// One or more resources can't be found. +// +// - ConflictException +// There was a conflict with this action, and it could not be completed. +// +// - LimitExceededException +// A service limit or quota is exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/CreateKxChangeset +func (c *Finspace) CreateKxChangeset(input *CreateKxChangesetInput) (*CreateKxChangesetOutput, error) { + req, out := c.CreateKxChangesetRequest(input) return out, req.Send() } -// DeleteEnvironmentWithContext is the same as DeleteEnvironment with the addition of +// CreateKxChangesetWithContext is the same as CreateKxChangeset with the addition of // the ability to pass a context and additional request options. // -// See DeleteEnvironment for details on how to use this API operation. +// See CreateKxChangeset 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 *Finspace) DeleteEnvironmentWithContext(ctx aws.Context, input *DeleteEnvironmentInput, opts ...request.Option) (*DeleteEnvironmentOutput, error) { - req, out := c.DeleteEnvironmentRequest(input) +func (c *Finspace) CreateKxChangesetWithContext(ctx aws.Context, input *CreateKxChangesetInput, opts ...request.Option) (*CreateKxChangesetOutput, error) { + req, out := c.CreateKxChangesetRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetEnvironment = "GetEnvironment" +const opCreateKxCluster = "CreateKxCluster" -// GetEnvironmentRequest generates a "aws/request.Request" representing the -// client's request for the GetEnvironment operation. The "output" return +// CreateKxClusterRequest generates a "aws/request.Request" representing the +// client's request for the CreateKxCluster 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 GetEnvironment for more information on using the GetEnvironment +// See CreateKxCluster for more information on using the CreateKxCluster // 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 GetEnvironmentRequest method. -// req, resp := client.GetEnvironmentRequest(params) +// // Example sending a request using the CreateKxClusterRequest method. +// req, resp := client.CreateKxClusterRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/GetEnvironment -func (c *Finspace) GetEnvironmentRequest(input *GetEnvironmentInput) (req *request.Request, output *GetEnvironmentOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/CreateKxCluster +func (c *Finspace) CreateKxClusterRequest(input *CreateKxClusterInput) (req *request.Request, output *CreateKxClusterOutput) { op := &request.Operation{ - Name: opGetEnvironment, - HTTPMethod: "GET", - HTTPPath: "/environment/{environmentId}", + Name: opCreateKxCluster, + HTTPMethod: "POST", + HTTPPath: "/kx/environments/{environmentId}/clusters", } if input == nil { - input = &GetEnvironmentInput{} + input = &CreateKxClusterInput{} } - output = &GetEnvironmentOutput{} + output = &CreateKxClusterOutput{} req = c.newRequest(op, input, output) return } -// GetEnvironment API operation for FinSpace User Environment Management service. +// CreateKxCluster API operation for FinSpace User Environment Management service. // -// Returns the FinSpace environment object. +// Creates a new kdb cluster. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for FinSpace User Environment Management service's -// API operation GetEnvironment for usage and error information. +// API operation CreateKxCluster for usage and error information. // // Returned Error Types: // -// - ResourceNotFoundException -// One or more resources can't be found. -// // - InternalServerException // The request processing has failed because of an unknown error, exception // or failure. @@ -266,82 +270,97 @@ func (c *Finspace) GetEnvironmentRequest(input *GetEnvironmentInput) (req *reque // - ValidationException // The input fails to satisfy the constraints specified by an AWS service. // +// - ThrottlingException +// The request was denied due to request throttling. +// // - AccessDeniedException // You do not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/GetEnvironment -func (c *Finspace) GetEnvironment(input *GetEnvironmentInput) (*GetEnvironmentOutput, error) { - req, out := c.GetEnvironmentRequest(input) +// - LimitExceededException +// A service limit or quota is exceeded. +// +// - ConflictException +// There was a conflict with this action, and it could not be completed. +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/CreateKxCluster +func (c *Finspace) CreateKxCluster(input *CreateKxClusterInput) (*CreateKxClusterOutput, error) { + req, out := c.CreateKxClusterRequest(input) return out, req.Send() } -// GetEnvironmentWithContext is the same as GetEnvironment with the addition of +// CreateKxClusterWithContext is the same as CreateKxCluster with the addition of // the ability to pass a context and additional request options. // -// See GetEnvironment for details on how to use this API operation. +// See CreateKxCluster 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 *Finspace) GetEnvironmentWithContext(ctx aws.Context, input *GetEnvironmentInput, opts ...request.Option) (*GetEnvironmentOutput, error) { - req, out := c.GetEnvironmentRequest(input) +func (c *Finspace) CreateKxClusterWithContext(ctx aws.Context, input *CreateKxClusterInput, opts ...request.Option) (*CreateKxClusterOutput, error) { + req, out := c.CreateKxClusterRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListEnvironments = "ListEnvironments" +const opCreateKxDatabase = "CreateKxDatabase" -// ListEnvironmentsRequest generates a "aws/request.Request" representing the -// client's request for the ListEnvironments operation. The "output" return +// CreateKxDatabaseRequest generates a "aws/request.Request" representing the +// client's request for the CreateKxDatabase 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 ListEnvironments for more information on using the ListEnvironments +// See CreateKxDatabase for more information on using the CreateKxDatabase // 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 ListEnvironmentsRequest method. -// req, resp := client.ListEnvironmentsRequest(params) +// // Example sending a request using the CreateKxDatabaseRequest method. +// req, resp := client.CreateKxDatabaseRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/ListEnvironments -func (c *Finspace) ListEnvironmentsRequest(input *ListEnvironmentsInput) (req *request.Request, output *ListEnvironmentsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/CreateKxDatabase +func (c *Finspace) CreateKxDatabaseRequest(input *CreateKxDatabaseInput) (req *request.Request, output *CreateKxDatabaseOutput) { op := &request.Operation{ - Name: opListEnvironments, - HTTPMethod: "GET", - HTTPPath: "/environment", + Name: opCreateKxDatabase, + HTTPMethod: "POST", + HTTPPath: "/kx/environments/{environmentId}/databases", } if input == nil { - input = &ListEnvironmentsInput{} + input = &CreateKxDatabaseInput{} } - output = &ListEnvironmentsOutput{} + output = &CreateKxDatabaseOutput{} req = c.newRequest(op, input, output) return } -// ListEnvironments API operation for FinSpace User Environment Management service. +// CreateKxDatabase API operation for FinSpace User Environment Management service. // -// A list of all of your FinSpace environments. +// Creates a new kdb database in the environment. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for FinSpace User Environment Management service's -// API operation ListEnvironments for usage and error information. +// API operation CreateKxDatabase for usage and error information. // // Returned Error Types: // @@ -352,79 +371,97 @@ func (c *Finspace) ListEnvironmentsRequest(input *ListEnvironmentsInput) (req *r // - ValidationException // The input fails to satisfy the constraints specified by an AWS service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/ListEnvironments -func (c *Finspace) ListEnvironments(input *ListEnvironmentsInput) (*ListEnvironmentsOutput, error) { - req, out := c.ListEnvironmentsRequest(input) +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ConflictException +// There was a conflict with this action, and it could not be completed. +// +// - ResourceAlreadyExistsException +// The specified resource group already exists. +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// - LimitExceededException +// A service limit or quota is exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/CreateKxDatabase +func (c *Finspace) CreateKxDatabase(input *CreateKxDatabaseInput) (*CreateKxDatabaseOutput, error) { + req, out := c.CreateKxDatabaseRequest(input) return out, req.Send() } -// ListEnvironmentsWithContext is the same as ListEnvironments with the addition of +// CreateKxDatabaseWithContext is the same as CreateKxDatabase with the addition of // the ability to pass a context and additional request options. // -// See ListEnvironments for details on how to use this API operation. +// See CreateKxDatabase 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 *Finspace) ListEnvironmentsWithContext(ctx aws.Context, input *ListEnvironmentsInput, opts ...request.Option) (*ListEnvironmentsOutput, error) { - req, out := c.ListEnvironmentsRequest(input) +func (c *Finspace) CreateKxDatabaseWithContext(ctx aws.Context, input *CreateKxDatabaseInput, opts ...request.Option) (*CreateKxDatabaseOutput, error) { + req, out := c.CreateKxDatabaseRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListTagsForResource = "ListTagsForResource" +const opCreateKxEnvironment = "CreateKxEnvironment" -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return +// CreateKxEnvironmentRequest generates a "aws/request.Request" representing the +// client's request for the CreateKxEnvironment operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListTagsForResource for more information on using the ListTagsForResource +// See CreateKxEnvironment for more information on using the CreateKxEnvironment // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListTagsForResourceRequest method. -// req, resp := client.ListTagsForResourceRequest(params) +// // Example sending a request using the CreateKxEnvironmentRequest method. +// req, resp := client.CreateKxEnvironmentRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/ListTagsForResource -func (c *Finspace) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/CreateKxEnvironment +func (c *Finspace) CreateKxEnvironmentRequest(input *CreateKxEnvironmentInput) (req *request.Request, output *CreateKxEnvironmentOutput) { op := &request.Operation{ - Name: opListTagsForResource, - HTTPMethod: "GET", - HTTPPath: "/tags/{resourceArn}", + Name: opCreateKxEnvironment, + HTTPMethod: "POST", + HTTPPath: "/kx/environments", } if input == nil { - input = &ListTagsForResourceInput{} + input = &CreateKxEnvironmentInput{} } - output = &ListTagsForResourceOutput{} + output = &CreateKxEnvironmentOutput{} req = c.newRequest(op, input, output) return } -// ListTagsForResource API operation for FinSpace User Environment Management service. +// CreateKxEnvironment API operation for FinSpace User Environment Management service. // -// A list of all tags for a resource. +// Creates a managed kdb environment for the account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for FinSpace User Environment Management service's -// API operation ListTagsForResource for usage and error information. +// API operation CreateKxEnvironment for usage and error information. // // Returned Error Types: // @@ -432,405 +469,9017 @@ func (c *Finspace) ListTagsForResourceRequest(input *ListTagsForResourceInput) ( // The request processing has failed because of an unknown error, exception // or failure. // -// - InvalidRequestException -// The request is invalid. Something is wrong with the input to the request. +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. // -// - ResourceNotFoundException -// One or more resources can't be found. +// - AccessDeniedException +// You do not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/ListTagsForResource -func (c *Finspace) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ServiceQuotaExceededException +// You have exceeded your service quota. To perform the requested action, remove +// some of the relevant resources, or use Service Quotas to request a service +// quota increase. +// +// - LimitExceededException +// A service limit or quota is exceeded. +// +// - ConflictException +// There was a conflict with this action, and it could not be completed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/CreateKxEnvironment +func (c *Finspace) CreateKxEnvironment(input *CreateKxEnvironmentInput) (*CreateKxEnvironmentOutput, error) { + req, out := c.CreateKxEnvironmentRequest(input) return out, req.Send() } -// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// CreateKxEnvironmentWithContext is the same as CreateKxEnvironment with the addition of // the ability to pass a context and additional request options. // -// See ListTagsForResource for details on how to use this API operation. +// See CreateKxEnvironment 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 *Finspace) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +func (c *Finspace) CreateKxEnvironmentWithContext(ctx aws.Context, input *CreateKxEnvironmentInput, opts ...request.Option) (*CreateKxEnvironmentOutput, error) { + req, out := c.CreateKxEnvironmentRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opTagResource = "TagResource" +const opCreateKxUser = "CreateKxUser" -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// CreateKxUserRequest generates a "aws/request.Request" representing the +// client's request for the CreateKxUser operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See TagResource for more information on using the TagResource +// See CreateKxUser for more information on using the CreateKxUser // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the TagResourceRequest method. -// req, resp := client.TagResourceRequest(params) +// // Example sending a request using the CreateKxUserRequest method. +// req, resp := client.CreateKxUserRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/TagResource -func (c *Finspace) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/CreateKxUser +func (c *Finspace) CreateKxUserRequest(input *CreateKxUserInput) (req *request.Request, output *CreateKxUserOutput) { op := &request.Operation{ - Name: opTagResource, + Name: opCreateKxUser, HTTPMethod: "POST", - HTTPPath: "/tags/{resourceArn}", + HTTPPath: "/kx/environments/{environmentId}/users", } if input == nil { - input = &TagResourceInput{} + input = &CreateKxUserInput{} } - output = &TagResourceOutput{} + output = &CreateKxUserOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// TagResource API operation for FinSpace User Environment Management service. +// CreateKxUser API operation for FinSpace User Environment Management service. // -// Adds metadata tags to a FinSpace resource. +// Creates a user in FinSpace kdb environment with an associated IAM role. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for FinSpace User Environment Management service's -// API operation TagResource for usage and error information. +// API operation CreateKxUser for usage and error information. // // Returned Error Types: // +// - ResourceNotFoundException +// One or more resources can't be found. +// // - InternalServerException // The request processing has failed because of an unknown error, exception // or failure. // -// - InvalidRequestException -// The request is invalid. Something is wrong with the input to the request. +// - ThrottlingException +// The request was denied due to request throttling. // -// - ResourceNotFoundException -// One or more resources can't be found. +// - AccessDeniedException +// You do not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/TagResource -func (c *Finspace) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ResourceAlreadyExistsException +// The specified resource group already exists. +// +// - LimitExceededException +// A service limit or quota is exceeded. +// +// - ConflictException +// There was a conflict with this action, and it could not be completed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/CreateKxUser +func (c *Finspace) CreateKxUser(input *CreateKxUserInput) (*CreateKxUserOutput, error) { + req, out := c.CreateKxUserRequest(input) return out, req.Send() } -// TagResourceWithContext is the same as TagResource with the addition of +// CreateKxUserWithContext is the same as CreateKxUser 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. +// See CreateKxUser 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 *Finspace) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +func (c *Finspace) CreateKxUserWithContext(ctx aws.Context, input *CreateKxUserInput, opts ...request.Option) (*CreateKxUserOutput, error) { + req, out := c.CreateKxUserRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUntagResource = "UntagResource" +const opDeleteEnvironment = "DeleteEnvironment" -// UntagResourceRequest generates a "aws/request.Request" representing the -// client's request for the UntagResource operation. The "output" return +// DeleteEnvironmentRequest generates a "aws/request.Request" representing the +// client's request for the DeleteEnvironment 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 +// See DeleteEnvironment for more information on using the DeleteEnvironment // 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) +// // Example sending a request using the DeleteEnvironmentRequest method. +// req, resp := client.DeleteEnvironmentRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/UntagResource -func (c *Finspace) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/DeleteEnvironment +func (c *Finspace) DeleteEnvironmentRequest(input *DeleteEnvironmentInput) (req *request.Request, output *DeleteEnvironmentOutput) { op := &request.Operation{ - Name: opUntagResource, + Name: opDeleteEnvironment, HTTPMethod: "DELETE", - HTTPPath: "/tags/{resourceArn}", + HTTPPath: "/environment/{environmentId}", } if input == nil { - input = &UntagResourceInput{} + input = &DeleteEnvironmentInput{} } - output = &UntagResourceOutput{} + output = &DeleteEnvironmentOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UntagResource API operation for FinSpace User Environment Management service. +// DeleteEnvironment API operation for FinSpace User Environment Management service. // -// Removes metadata tags from a FinSpace resource. +// Delete an FinSpace environment. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for FinSpace User Environment Management service's -// API operation UntagResource for usage and error information. +// API operation DeleteEnvironment for usage and error information. // // Returned Error Types: // +// - ResourceNotFoundException +// One or more resources can't be found. +// // - InternalServerException // The request processing has failed because of an unknown error, exception // or failure. // -// - InvalidRequestException -// The request is invalid. Something is wrong with the input to the request. +// - AccessDeniedException +// You do not have sufficient access to perform this action. // -// - ResourceNotFoundException -// One or more resources can't be found. +// - ThrottlingException +// The request was denied due to request throttling. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/UntagResource -func (c *Finspace) 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. +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. // -// See UntagResource for details on how to use this API operation. +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/DeleteEnvironment +func (c *Finspace) DeleteEnvironment(input *DeleteEnvironmentInput) (*DeleteEnvironmentOutput, error) { + req, out := c.DeleteEnvironmentRequest(input) + return out, req.Send() +} + +// DeleteEnvironmentWithContext is the same as DeleteEnvironment with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteEnvironment 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 *Finspace) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +func (c *Finspace) DeleteEnvironmentWithContext(ctx aws.Context, input *DeleteEnvironmentInput, opts ...request.Option) (*DeleteEnvironmentOutput, error) { + req, out := c.DeleteEnvironmentRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateEnvironment = "UpdateEnvironment" +const opDeleteKxCluster = "DeleteKxCluster" -// UpdateEnvironmentRequest generates a "aws/request.Request" representing the -// client's request for the UpdateEnvironment operation. The "output" return +// DeleteKxClusterRequest generates a "aws/request.Request" representing the +// client's request for the DeleteKxCluster 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 UpdateEnvironment for more information on using the UpdateEnvironment +// See DeleteKxCluster for more information on using the DeleteKxCluster // 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 UpdateEnvironmentRequest method. -// req, resp := client.UpdateEnvironmentRequest(params) +// // Example sending a request using the DeleteKxClusterRequest method. +// req, resp := client.DeleteKxClusterRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/UpdateEnvironment -func (c *Finspace) UpdateEnvironmentRequest(input *UpdateEnvironmentInput) (req *request.Request, output *UpdateEnvironmentOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/DeleteKxCluster +func (c *Finspace) DeleteKxClusterRequest(input *DeleteKxClusterInput) (req *request.Request, output *DeleteKxClusterOutput) { op := &request.Operation{ - Name: opUpdateEnvironment, - HTTPMethod: "PUT", - HTTPPath: "/environment/{environmentId}", + Name: opDeleteKxCluster, + HTTPMethod: "DELETE", + HTTPPath: "/kx/environments/{environmentId}/clusters/{clusterName}", } if input == nil { - input = &UpdateEnvironmentInput{} + input = &DeleteKxClusterInput{} } - output = &UpdateEnvironmentOutput{} + output = &DeleteKxClusterOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateEnvironment API operation for FinSpace User Environment Management service. +// DeleteKxCluster API operation for FinSpace User Environment Management service. // -// Update your FinSpace environment. +// Deletes a kdb cluster. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for FinSpace User Environment Management service's -// API operation UpdateEnvironment for usage and error information. +// API operation DeleteKxCluster for usage and error information. // // Returned Error Types: // -// - ResourceNotFoundException -// One or more resources can't be found. -// // - InternalServerException // The request processing has failed because of an unknown error, exception // or failure. // -// - AccessDeniedException -// You do not have sufficient access to perform this action. +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. // // - ThrottlingException // The request was denied due to request throttling. // -// - ValidationException -// The input fails to satisfy the constraints specified by an AWS service. +// - AccessDeniedException +// You do not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/UpdateEnvironment -func (c *Finspace) UpdateEnvironment(input *UpdateEnvironmentInput) (*UpdateEnvironmentOutput, error) { - req, out := c.UpdateEnvironmentRequest(input) +// - LimitExceededException +// A service limit or quota is exceeded. +// +// - ConflictException +// There was a conflict with this action, and it could not be completed. +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/DeleteKxCluster +func (c *Finspace) DeleteKxCluster(input *DeleteKxClusterInput) (*DeleteKxClusterOutput, error) { + req, out := c.DeleteKxClusterRequest(input) return out, req.Send() } -// UpdateEnvironmentWithContext is the same as UpdateEnvironment with the addition of +// DeleteKxClusterWithContext is the same as DeleteKxCluster with the addition of // the ability to pass a context and additional request options. // -// See UpdateEnvironment for details on how to use this API operation. +// See DeleteKxCluster 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 *Finspace) UpdateEnvironmentWithContext(ctx aws.Context, input *UpdateEnvironmentInput, opts ...request.Option) (*UpdateEnvironmentOutput, error) { - req, out := c.UpdateEnvironmentRequest(input) +func (c *Finspace) DeleteKxClusterWithContext(ctx aws.Context, input *DeleteKxClusterInput, opts ...request.Option) (*DeleteKxClusterOutput, error) { + req, out := c.DeleteKxClusterRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// You do not have sufficient access to perform this action. -type AccessDeniedException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +const opDeleteKxDatabase = "DeleteKxDatabase" - Message_ *string `locationName:"message" type:"string"` +// DeleteKxDatabaseRequest generates a "aws/request.Request" representing the +// client's request for the DeleteKxDatabase 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 DeleteKxDatabase for more information on using the DeleteKxDatabase +// 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 DeleteKxDatabaseRequest method. +// req, resp := client.DeleteKxDatabaseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/DeleteKxDatabase +func (c *Finspace) DeleteKxDatabaseRequest(input *DeleteKxDatabaseInput) (req *request.Request, output *DeleteKxDatabaseOutput) { + op := &request.Operation{ + Name: opDeleteKxDatabase, + HTTPMethod: "DELETE", + HTTPPath: "/kx/environments/{environmentId}/databases/{databaseName}", + } + + if input == nil { + input = &DeleteKxDatabaseInput{} + } + + output = &DeleteKxDatabaseOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return } -// String returns the string representation. +// DeleteKxDatabase API operation for FinSpace User Environment Management service. // -// 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) +// Deletes the specified database and all of its associated data. This action +// is irreversible. You must copy any data out of the database before deleting +// it if the data is to be retained. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace User Environment Management service's +// API operation DeleteKxDatabase for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// - ConflictException +// There was a conflict with this action, and it could not be completed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/DeleteKxDatabase +func (c *Finspace) DeleteKxDatabase(input *DeleteKxDatabaseInput) (*DeleteKxDatabaseOutput, error) { + req, out := c.DeleteKxDatabaseRequest(input) + return out, req.Send() } -// GoString returns the string representation. +// DeleteKxDatabaseWithContext is the same as DeleteKxDatabase with the addition of +// the ability to pass a context and additional request options. // -// 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() +// See DeleteKxDatabase 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 *Finspace) DeleteKxDatabaseWithContext(ctx aws.Context, input *DeleteKxDatabaseInput, opts ...request.Option) (*DeleteKxDatabaseOutput, error) { + req, out := c.DeleteKxDatabaseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } -func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { - return &AccessDeniedException{ - RespMetadata: v, - } -} +const opDeleteKxEnvironment = "DeleteKxEnvironment" -// Code returns the exception type name. -func (s *AccessDeniedException) Code() string { - return "AccessDeniedException" -} +// DeleteKxEnvironmentRequest generates a "aws/request.Request" representing the +// client's request for the DeleteKxEnvironment 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 DeleteKxEnvironment for more information on using the DeleteKxEnvironment +// 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 DeleteKxEnvironmentRequest method. +// req, resp := client.DeleteKxEnvironmentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/DeleteKxEnvironment +func (c *Finspace) DeleteKxEnvironmentRequest(input *DeleteKxEnvironmentInput) (req *request.Request, output *DeleteKxEnvironmentOutput) { + op := &request.Operation{ + Name: opDeleteKxEnvironment, + HTTPMethod: "DELETE", + HTTPPath: "/kx/environments/{environmentId}", + } -// Message returns the exception's message. -func (s *AccessDeniedException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if input == nil { + input = &DeleteKxEnvironmentInput{} } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AccessDeniedException) OrigErr() error { - return nil + output = &DeleteKxEnvironmentOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return } -func (s *AccessDeniedException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// DeleteKxEnvironment API operation for FinSpace User Environment Management service. +// +// Deletes the kdb environment. This action is irreversible. Deleting a kdb +// environment will remove all the associated data and any services running +// in it. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace User Environment Management service's +// API operation DeleteKxEnvironment for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/DeleteKxEnvironment +func (c *Finspace) DeleteKxEnvironment(input *DeleteKxEnvironmentInput) (*DeleteKxEnvironmentOutput, error) { + req, out := c.DeleteKxEnvironmentRequest(input) + return out, req.Send() } -// Status code returns the HTTP status code for the request's response error. -func (s *AccessDeniedException) StatusCode() int { - return s.RespMetadata.StatusCode +// DeleteKxEnvironmentWithContext is the same as DeleteKxEnvironment with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteKxEnvironment 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 *Finspace) DeleteKxEnvironmentWithContext(ctx aws.Context, input *DeleteKxEnvironmentInput, opts ...request.Option) (*DeleteKxEnvironmentOutput, error) { + req, out := c.DeleteKxEnvironmentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } -// RequestID returns the service's response RequestID for request. -func (s *AccessDeniedException) RequestID() string { - return s.RespMetadata.RequestID -} +const opDeleteKxUser = "DeleteKxUser" -type CreateEnvironmentInput struct { - _ struct{} `type:"structure"` +// DeleteKxUserRequest generates a "aws/request.Request" representing the +// client's request for the DeleteKxUser 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 DeleteKxUser for more information on using the DeleteKxUser +// 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 DeleteKxUserRequest method. +// req, resp := client.DeleteKxUserRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/DeleteKxUser +func (c *Finspace) DeleteKxUserRequest(input *DeleteKxUserInput) (req *request.Request, output *DeleteKxUserOutput) { + op := &request.Operation{ + Name: opDeleteKxUser, + HTTPMethod: "DELETE", + HTTPPath: "/kx/environments/{environmentId}/users/{userName}", + } - // The list of Amazon Resource Names (ARN) of the data bundles to install. Currently - // supported data bundle ARNs: - // - // * arn:aws:finspace:${Region}::data-bundle/capital-markets-sample - Contains - // sample Capital Markets datasets, categories and controlled vocabularies. - // + if input == nil { + input = &DeleteKxUserInput{} + } + + output = &DeleteKxUserOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteKxUser API operation for FinSpace User Environment Management service. +// +// Deletes a user in the specified kdb environment. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace User Environment Management service's +// API operation DeleteKxUser for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/DeleteKxUser +func (c *Finspace) DeleteKxUser(input *DeleteKxUserInput) (*DeleteKxUserOutput, error) { + req, out := c.DeleteKxUserRequest(input) + return out, req.Send() +} + +// DeleteKxUserWithContext is the same as DeleteKxUser with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteKxUser 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 *Finspace) DeleteKxUserWithContext(ctx aws.Context, input *DeleteKxUserInput, opts ...request.Option) (*DeleteKxUserOutput, error) { + req, out := c.DeleteKxUserRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetEnvironment = "GetEnvironment" + +// GetEnvironmentRequest generates a "aws/request.Request" representing the +// client's request for the GetEnvironment 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 GetEnvironment for more information on using the GetEnvironment +// 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 GetEnvironmentRequest method. +// req, resp := client.GetEnvironmentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/GetEnvironment +func (c *Finspace) GetEnvironmentRequest(input *GetEnvironmentInput) (req *request.Request, output *GetEnvironmentOutput) { + op := &request.Operation{ + Name: opGetEnvironment, + HTTPMethod: "GET", + HTTPPath: "/environment/{environmentId}", + } + + if input == nil { + input = &GetEnvironmentInput{} + } + + output = &GetEnvironmentOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetEnvironment API operation for FinSpace User Environment Management service. +// +// Returns the FinSpace environment object. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace User Environment Management service's +// API operation GetEnvironment for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/GetEnvironment +func (c *Finspace) GetEnvironment(input *GetEnvironmentInput) (*GetEnvironmentOutput, error) { + req, out := c.GetEnvironmentRequest(input) + return out, req.Send() +} + +// GetEnvironmentWithContext is the same as GetEnvironment with the addition of +// the ability to pass a context and additional request options. +// +// See GetEnvironment 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 *Finspace) GetEnvironmentWithContext(ctx aws.Context, input *GetEnvironmentInput, opts ...request.Option) (*GetEnvironmentOutput, error) { + req, out := c.GetEnvironmentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetKxChangeset = "GetKxChangeset" + +// GetKxChangesetRequest generates a "aws/request.Request" representing the +// client's request for the GetKxChangeset 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 GetKxChangeset for more information on using the GetKxChangeset +// 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 GetKxChangesetRequest method. +// req, resp := client.GetKxChangesetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/GetKxChangeset +func (c *Finspace) GetKxChangesetRequest(input *GetKxChangesetInput) (req *request.Request, output *GetKxChangesetOutput) { + op := &request.Operation{ + Name: opGetKxChangeset, + HTTPMethod: "GET", + HTTPPath: "/kx/environments/{environmentId}/databases/{databaseName}/changesets/{changesetId}", + } + + if input == nil { + input = &GetKxChangesetInput{} + } + + output = &GetKxChangesetOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetKxChangeset API operation for FinSpace User Environment Management service. +// +// Returns information about a kdb changeset. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace User Environment Management service's +// API operation GetKxChangeset for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/GetKxChangeset +func (c *Finspace) GetKxChangeset(input *GetKxChangesetInput) (*GetKxChangesetOutput, error) { + req, out := c.GetKxChangesetRequest(input) + return out, req.Send() +} + +// GetKxChangesetWithContext is the same as GetKxChangeset with the addition of +// the ability to pass a context and additional request options. +// +// See GetKxChangeset 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 *Finspace) GetKxChangesetWithContext(ctx aws.Context, input *GetKxChangesetInput, opts ...request.Option) (*GetKxChangesetOutput, error) { + req, out := c.GetKxChangesetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetKxCluster = "GetKxCluster" + +// GetKxClusterRequest generates a "aws/request.Request" representing the +// client's request for the GetKxCluster 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 GetKxCluster for more information on using the GetKxCluster +// 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 GetKxClusterRequest method. +// req, resp := client.GetKxClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/GetKxCluster +func (c *Finspace) GetKxClusterRequest(input *GetKxClusterInput) (req *request.Request, output *GetKxClusterOutput) { + op := &request.Operation{ + Name: opGetKxCluster, + HTTPMethod: "GET", + HTTPPath: "/kx/environments/{environmentId}/clusters/{clusterName}", + } + + if input == nil { + input = &GetKxClusterInput{} + } + + output = &GetKxClusterOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetKxCluster API operation for FinSpace User Environment Management service. +// +// Retrieves information about a kdb cluster. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace User Environment Management service's +// API operation GetKxCluster for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - LimitExceededException +// A service limit or quota is exceeded. +// +// - ConflictException +// There was a conflict with this action, and it could not be completed. +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/GetKxCluster +func (c *Finspace) GetKxCluster(input *GetKxClusterInput) (*GetKxClusterOutput, error) { + req, out := c.GetKxClusterRequest(input) + return out, req.Send() +} + +// GetKxClusterWithContext is the same as GetKxCluster with the addition of +// the ability to pass a context and additional request options. +// +// See GetKxCluster 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 *Finspace) GetKxClusterWithContext(ctx aws.Context, input *GetKxClusterInput, opts ...request.Option) (*GetKxClusterOutput, error) { + req, out := c.GetKxClusterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetKxConnectionString = "GetKxConnectionString" + +// GetKxConnectionStringRequest generates a "aws/request.Request" representing the +// client's request for the GetKxConnectionString 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 GetKxConnectionString for more information on using the GetKxConnectionString +// 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 GetKxConnectionStringRequest method. +// req, resp := client.GetKxConnectionStringRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/GetKxConnectionString +func (c *Finspace) GetKxConnectionStringRequest(input *GetKxConnectionStringInput) (req *request.Request, output *GetKxConnectionStringOutput) { + op := &request.Operation{ + Name: opGetKxConnectionString, + HTTPMethod: "GET", + HTTPPath: "/kx/environments/{environmentId}/connectionString", + } + + if input == nil { + input = &GetKxConnectionStringInput{} + } + + output = &GetKxConnectionStringOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetKxConnectionString API operation for FinSpace User Environment Management service. +// +// Retrieves a connection string for a user to connect to a kdb cluster. You +// must call this API using the same role that you have defined while creating +// a user. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace User Environment Management service's +// API operation GetKxConnectionString for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/GetKxConnectionString +func (c *Finspace) GetKxConnectionString(input *GetKxConnectionStringInput) (*GetKxConnectionStringOutput, error) { + req, out := c.GetKxConnectionStringRequest(input) + return out, req.Send() +} + +// GetKxConnectionStringWithContext is the same as GetKxConnectionString with the addition of +// the ability to pass a context and additional request options. +// +// See GetKxConnectionString 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 *Finspace) GetKxConnectionStringWithContext(ctx aws.Context, input *GetKxConnectionStringInput, opts ...request.Option) (*GetKxConnectionStringOutput, error) { + req, out := c.GetKxConnectionStringRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetKxDatabase = "GetKxDatabase" + +// GetKxDatabaseRequest generates a "aws/request.Request" representing the +// client's request for the GetKxDatabase 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 GetKxDatabase for more information on using the GetKxDatabase +// 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 GetKxDatabaseRequest method. +// req, resp := client.GetKxDatabaseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/GetKxDatabase +func (c *Finspace) GetKxDatabaseRequest(input *GetKxDatabaseInput) (req *request.Request, output *GetKxDatabaseOutput) { + op := &request.Operation{ + Name: opGetKxDatabase, + HTTPMethod: "GET", + HTTPPath: "/kx/environments/{environmentId}/databases/{databaseName}", + } + + if input == nil { + input = &GetKxDatabaseInput{} + } + + output = &GetKxDatabaseOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetKxDatabase API operation for FinSpace User Environment Management service. +// +// Returns database information for the specified environment ID. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace User Environment Management service's +// API operation GetKxDatabase for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/GetKxDatabase +func (c *Finspace) GetKxDatabase(input *GetKxDatabaseInput) (*GetKxDatabaseOutput, error) { + req, out := c.GetKxDatabaseRequest(input) + return out, req.Send() +} + +// GetKxDatabaseWithContext is the same as GetKxDatabase with the addition of +// the ability to pass a context and additional request options. +// +// See GetKxDatabase 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 *Finspace) GetKxDatabaseWithContext(ctx aws.Context, input *GetKxDatabaseInput, opts ...request.Option) (*GetKxDatabaseOutput, error) { + req, out := c.GetKxDatabaseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetKxEnvironment = "GetKxEnvironment" + +// GetKxEnvironmentRequest generates a "aws/request.Request" representing the +// client's request for the GetKxEnvironment 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 GetKxEnvironment for more information on using the GetKxEnvironment +// 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 GetKxEnvironmentRequest method. +// req, resp := client.GetKxEnvironmentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/GetKxEnvironment +func (c *Finspace) GetKxEnvironmentRequest(input *GetKxEnvironmentInput) (req *request.Request, output *GetKxEnvironmentOutput) { + op := &request.Operation{ + Name: opGetKxEnvironment, + HTTPMethod: "GET", + HTTPPath: "/kx/environments/{environmentId}", + } + + if input == nil { + input = &GetKxEnvironmentInput{} + } + + output = &GetKxEnvironmentOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetKxEnvironment API operation for FinSpace User Environment Management service. +// +// Retrieves all the information for the specified kdb environment. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace User Environment Management service's +// API operation GetKxEnvironment for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/GetKxEnvironment +func (c *Finspace) GetKxEnvironment(input *GetKxEnvironmentInput) (*GetKxEnvironmentOutput, error) { + req, out := c.GetKxEnvironmentRequest(input) + return out, req.Send() +} + +// GetKxEnvironmentWithContext is the same as GetKxEnvironment with the addition of +// the ability to pass a context and additional request options. +// +// See GetKxEnvironment 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 *Finspace) GetKxEnvironmentWithContext(ctx aws.Context, input *GetKxEnvironmentInput, opts ...request.Option) (*GetKxEnvironmentOutput, error) { + req, out := c.GetKxEnvironmentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetKxUser = "GetKxUser" + +// GetKxUserRequest generates a "aws/request.Request" representing the +// client's request for the GetKxUser 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 GetKxUser for more information on using the GetKxUser +// 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 GetKxUserRequest method. +// req, resp := client.GetKxUserRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/GetKxUser +func (c *Finspace) GetKxUserRequest(input *GetKxUserInput) (req *request.Request, output *GetKxUserOutput) { + op := &request.Operation{ + Name: opGetKxUser, + HTTPMethod: "GET", + HTTPPath: "/kx/environments/{environmentId}/users/{userName}", + } + + if input == nil { + input = &GetKxUserInput{} + } + + output = &GetKxUserOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetKxUser API operation for FinSpace User Environment Management service. +// +// Retrieves information about the specified kdb user. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace User Environment Management service's +// API operation GetKxUser for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/GetKxUser +func (c *Finspace) GetKxUser(input *GetKxUserInput) (*GetKxUserOutput, error) { + req, out := c.GetKxUserRequest(input) + return out, req.Send() +} + +// GetKxUserWithContext is the same as GetKxUser with the addition of +// the ability to pass a context and additional request options. +// +// See GetKxUser 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 *Finspace) GetKxUserWithContext(ctx aws.Context, input *GetKxUserInput, opts ...request.Option) (*GetKxUserOutput, error) { + req, out := c.GetKxUserRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListEnvironments = "ListEnvironments" + +// ListEnvironmentsRequest generates a "aws/request.Request" representing the +// client's request for the ListEnvironments 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 ListEnvironments for more information on using the ListEnvironments +// 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 ListEnvironmentsRequest method. +// req, resp := client.ListEnvironmentsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/ListEnvironments +func (c *Finspace) ListEnvironmentsRequest(input *ListEnvironmentsInput) (req *request.Request, output *ListEnvironmentsOutput) { + op := &request.Operation{ + Name: opListEnvironments, + HTTPMethod: "GET", + HTTPPath: "/environment", + } + + if input == nil { + input = &ListEnvironmentsInput{} + } + + output = &ListEnvironmentsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListEnvironments API operation for FinSpace User Environment Management service. +// +// A list of all of your FinSpace environments. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace User Environment Management service's +// API operation ListEnvironments for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/ListEnvironments +func (c *Finspace) ListEnvironments(input *ListEnvironmentsInput) (*ListEnvironmentsOutput, error) { + req, out := c.ListEnvironmentsRequest(input) + return out, req.Send() +} + +// ListEnvironmentsWithContext is the same as ListEnvironments with the addition of +// the ability to pass a context and additional request options. +// +// See ListEnvironments 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 *Finspace) ListEnvironmentsWithContext(ctx aws.Context, input *ListEnvironmentsInput, opts ...request.Option) (*ListEnvironmentsOutput, error) { + req, out := c.ListEnvironmentsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListKxChangesets = "ListKxChangesets" + +// ListKxChangesetsRequest generates a "aws/request.Request" representing the +// client's request for the ListKxChangesets 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 ListKxChangesets for more information on using the ListKxChangesets +// 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 ListKxChangesetsRequest method. +// req, resp := client.ListKxChangesetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/ListKxChangesets +func (c *Finspace) ListKxChangesetsRequest(input *ListKxChangesetsInput) (req *request.Request, output *ListKxChangesetsOutput) { + op := &request.Operation{ + Name: opListKxChangesets, + HTTPMethod: "GET", + HTTPPath: "/kx/environments/{environmentId}/databases/{databaseName}/changesets", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListKxChangesetsInput{} + } + + output = &ListKxChangesetsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListKxChangesets API operation for FinSpace User Environment Management service. +// +// Returns a list of all the changesets for a database. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace User Environment Management service's +// API operation ListKxChangesets for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/ListKxChangesets +func (c *Finspace) ListKxChangesets(input *ListKxChangesetsInput) (*ListKxChangesetsOutput, error) { + req, out := c.ListKxChangesetsRequest(input) + return out, req.Send() +} + +// ListKxChangesetsWithContext is the same as ListKxChangesets with the addition of +// the ability to pass a context and additional request options. +// +// See ListKxChangesets 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 *Finspace) ListKxChangesetsWithContext(ctx aws.Context, input *ListKxChangesetsInput, opts ...request.Option) (*ListKxChangesetsOutput, error) { + req, out := c.ListKxChangesetsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListKxChangesetsPages iterates over the pages of a ListKxChangesets operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListKxChangesets 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 ListKxChangesets operation. +// pageNum := 0 +// err := client.ListKxChangesetsPages(params, +// func(page *finspace.ListKxChangesetsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Finspace) ListKxChangesetsPages(input *ListKxChangesetsInput, fn func(*ListKxChangesetsOutput, bool) bool) error { + return c.ListKxChangesetsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListKxChangesetsPagesWithContext same as ListKxChangesetsPages 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 *Finspace) ListKxChangesetsPagesWithContext(ctx aws.Context, input *ListKxChangesetsInput, fn func(*ListKxChangesetsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListKxChangesetsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListKxChangesetsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListKxChangesetsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListKxClusterNodes = "ListKxClusterNodes" + +// ListKxClusterNodesRequest generates a "aws/request.Request" representing the +// client's request for the ListKxClusterNodes 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 ListKxClusterNodes for more information on using the ListKxClusterNodes +// 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 ListKxClusterNodesRequest method. +// req, resp := client.ListKxClusterNodesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/ListKxClusterNodes +func (c *Finspace) ListKxClusterNodesRequest(input *ListKxClusterNodesInput) (req *request.Request, output *ListKxClusterNodesOutput) { + op := &request.Operation{ + Name: opListKxClusterNodes, + HTTPMethod: "GET", + HTTPPath: "/kx/environments/{environmentId}/clusters/{clusterName}/nodes", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListKxClusterNodesInput{} + } + + output = &ListKxClusterNodesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListKxClusterNodes API operation for FinSpace User Environment Management service. +// +// Lists all the nodes in a kdb cluster. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace User Environment Management service's +// API operation ListKxClusterNodes for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - LimitExceededException +// A service limit or quota is exceeded. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/ListKxClusterNodes +func (c *Finspace) ListKxClusterNodes(input *ListKxClusterNodesInput) (*ListKxClusterNodesOutput, error) { + req, out := c.ListKxClusterNodesRequest(input) + return out, req.Send() +} + +// ListKxClusterNodesWithContext is the same as ListKxClusterNodes with the addition of +// the ability to pass a context and additional request options. +// +// See ListKxClusterNodes 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 *Finspace) ListKxClusterNodesWithContext(ctx aws.Context, input *ListKxClusterNodesInput, opts ...request.Option) (*ListKxClusterNodesOutput, error) { + req, out := c.ListKxClusterNodesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListKxClusterNodesPages iterates over the pages of a ListKxClusterNodes operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListKxClusterNodes 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 ListKxClusterNodes operation. +// pageNum := 0 +// err := client.ListKxClusterNodesPages(params, +// func(page *finspace.ListKxClusterNodesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Finspace) ListKxClusterNodesPages(input *ListKxClusterNodesInput, fn func(*ListKxClusterNodesOutput, bool) bool) error { + return c.ListKxClusterNodesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListKxClusterNodesPagesWithContext same as ListKxClusterNodesPages 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 *Finspace) ListKxClusterNodesPagesWithContext(ctx aws.Context, input *ListKxClusterNodesInput, fn func(*ListKxClusterNodesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListKxClusterNodesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListKxClusterNodesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListKxClusterNodesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListKxClusters = "ListKxClusters" + +// ListKxClustersRequest generates a "aws/request.Request" representing the +// client's request for the ListKxClusters 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 ListKxClusters for more information on using the ListKxClusters +// 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 ListKxClustersRequest method. +// req, resp := client.ListKxClustersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/ListKxClusters +func (c *Finspace) ListKxClustersRequest(input *ListKxClustersInput) (req *request.Request, output *ListKxClustersOutput) { + op := &request.Operation{ + Name: opListKxClusters, + HTTPMethod: "GET", + HTTPPath: "/kx/environments/{environmentId}/clusters", + } + + if input == nil { + input = &ListKxClustersInput{} + } + + output = &ListKxClustersOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListKxClusters API operation for FinSpace User Environment Management service. +// +// Returns a list of clusters. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace User Environment Management service's +// API operation ListKxClusters for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - LimitExceededException +// A service limit or quota is exceeded. +// +// - ConflictException +// There was a conflict with this action, and it could not be completed. +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/ListKxClusters +func (c *Finspace) ListKxClusters(input *ListKxClustersInput) (*ListKxClustersOutput, error) { + req, out := c.ListKxClustersRequest(input) + return out, req.Send() +} + +// ListKxClustersWithContext is the same as ListKxClusters with the addition of +// the ability to pass a context and additional request options. +// +// See ListKxClusters 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 *Finspace) ListKxClustersWithContext(ctx aws.Context, input *ListKxClustersInput, opts ...request.Option) (*ListKxClustersOutput, error) { + req, out := c.ListKxClustersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListKxDatabases = "ListKxDatabases" + +// ListKxDatabasesRequest generates a "aws/request.Request" representing the +// client's request for the ListKxDatabases 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 ListKxDatabases for more information on using the ListKxDatabases +// 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 ListKxDatabasesRequest method. +// req, resp := client.ListKxDatabasesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/ListKxDatabases +func (c *Finspace) ListKxDatabasesRequest(input *ListKxDatabasesInput) (req *request.Request, output *ListKxDatabasesOutput) { + op := &request.Operation{ + Name: opListKxDatabases, + HTTPMethod: "GET", + HTTPPath: "/kx/environments/{environmentId}/databases", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListKxDatabasesInput{} + } + + output = &ListKxDatabasesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListKxDatabases API operation for FinSpace User Environment Management service. +// +// Returns a list of all the databases in the kdb environment. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace User Environment Management service's +// API operation ListKxDatabases for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/ListKxDatabases +func (c *Finspace) ListKxDatabases(input *ListKxDatabasesInput) (*ListKxDatabasesOutput, error) { + req, out := c.ListKxDatabasesRequest(input) + return out, req.Send() +} + +// ListKxDatabasesWithContext is the same as ListKxDatabases with the addition of +// the ability to pass a context and additional request options. +// +// See ListKxDatabases 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 *Finspace) ListKxDatabasesWithContext(ctx aws.Context, input *ListKxDatabasesInput, opts ...request.Option) (*ListKxDatabasesOutput, error) { + req, out := c.ListKxDatabasesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListKxDatabasesPages iterates over the pages of a ListKxDatabases operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListKxDatabases 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 ListKxDatabases operation. +// pageNum := 0 +// err := client.ListKxDatabasesPages(params, +// func(page *finspace.ListKxDatabasesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Finspace) ListKxDatabasesPages(input *ListKxDatabasesInput, fn func(*ListKxDatabasesOutput, bool) bool) error { + return c.ListKxDatabasesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListKxDatabasesPagesWithContext same as ListKxDatabasesPages 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 *Finspace) ListKxDatabasesPagesWithContext(ctx aws.Context, input *ListKxDatabasesInput, fn func(*ListKxDatabasesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListKxDatabasesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListKxDatabasesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListKxDatabasesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListKxEnvironments = "ListKxEnvironments" + +// ListKxEnvironmentsRequest generates a "aws/request.Request" representing the +// client's request for the ListKxEnvironments 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 ListKxEnvironments for more information on using the ListKxEnvironments +// 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 ListKxEnvironmentsRequest method. +// req, resp := client.ListKxEnvironmentsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/ListKxEnvironments +func (c *Finspace) ListKxEnvironmentsRequest(input *ListKxEnvironmentsInput) (req *request.Request, output *ListKxEnvironmentsOutput) { + op := &request.Operation{ + Name: opListKxEnvironments, + HTTPMethod: "GET", + HTTPPath: "/kx/environments", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListKxEnvironmentsInput{} + } + + output = &ListKxEnvironmentsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListKxEnvironments API operation for FinSpace User Environment Management service. +// +// Returns a list of kdb environments created in an 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 FinSpace User Environment Management service's +// API operation ListKxEnvironments for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/ListKxEnvironments +func (c *Finspace) ListKxEnvironments(input *ListKxEnvironmentsInput) (*ListKxEnvironmentsOutput, error) { + req, out := c.ListKxEnvironmentsRequest(input) + return out, req.Send() +} + +// ListKxEnvironmentsWithContext is the same as ListKxEnvironments with the addition of +// the ability to pass a context and additional request options. +// +// See ListKxEnvironments 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 *Finspace) ListKxEnvironmentsWithContext(ctx aws.Context, input *ListKxEnvironmentsInput, opts ...request.Option) (*ListKxEnvironmentsOutput, error) { + req, out := c.ListKxEnvironmentsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListKxEnvironmentsPages iterates over the pages of a ListKxEnvironments operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListKxEnvironments 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 ListKxEnvironments operation. +// pageNum := 0 +// err := client.ListKxEnvironmentsPages(params, +// func(page *finspace.ListKxEnvironmentsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Finspace) ListKxEnvironmentsPages(input *ListKxEnvironmentsInput, fn func(*ListKxEnvironmentsOutput, bool) bool) error { + return c.ListKxEnvironmentsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListKxEnvironmentsPagesWithContext same as ListKxEnvironmentsPages 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 *Finspace) ListKxEnvironmentsPagesWithContext(ctx aws.Context, input *ListKxEnvironmentsInput, fn func(*ListKxEnvironmentsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListKxEnvironmentsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListKxEnvironmentsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListKxEnvironmentsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListKxUsers = "ListKxUsers" + +// ListKxUsersRequest generates a "aws/request.Request" representing the +// client's request for the ListKxUsers 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 ListKxUsers for more information on using the ListKxUsers +// 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 ListKxUsersRequest method. +// req, resp := client.ListKxUsersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/ListKxUsers +func (c *Finspace) ListKxUsersRequest(input *ListKxUsersInput) (req *request.Request, output *ListKxUsersOutput) { + op := &request.Operation{ + Name: opListKxUsers, + HTTPMethod: "GET", + HTTPPath: "/kx/environments/{environmentId}/users", + } + + if input == nil { + input = &ListKxUsersInput{} + } + + output = &ListKxUsersOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListKxUsers API operation for FinSpace User Environment Management service. +// +// Lists all the users in a kdb environment. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace User Environment Management service's +// API operation ListKxUsers for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/ListKxUsers +func (c *Finspace) ListKxUsers(input *ListKxUsersInput) (*ListKxUsersOutput, error) { + req, out := c.ListKxUsersRequest(input) + return out, req.Send() +} + +// ListKxUsersWithContext is the same as ListKxUsers with the addition of +// the ability to pass a context and additional request options. +// +// See ListKxUsers 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 *Finspace) ListKxUsersWithContext(ctx aws.Context, input *ListKxUsersInput, opts ...request.Option) (*ListKxUsersOutput, error) { + req, out := c.ListKxUsersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +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/finspace-2021-03-12/ListTagsForResource +func (c *Finspace) 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 FinSpace User Environment Management service. +// +// A list of all tags for a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace User Environment Management service's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - InvalidRequestException +// The request is invalid. Something is wrong with the input to the request. +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/ListTagsForResource +func (c *Finspace) 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 *Finspace) 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 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/finspace-2021-03-12/TagResource +func (c *Finspace) 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 FinSpace User Environment Management service. +// +// Adds metadata tags to a FinSpace 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 FinSpace User Environment Management service's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - InvalidRequestException +// The request is invalid. Something is wrong with the input to the request. +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/TagResource +func (c *Finspace) 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 *Finspace) 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/finspace-2021-03-12/UntagResource +func (c *Finspace) 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 FinSpace User Environment Management service. +// +// Removes metadata tags from a FinSpace 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 FinSpace User Environment Management service's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - InvalidRequestException +// The request is invalid. Something is wrong with the input to the request. +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/UntagResource +func (c *Finspace) 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 *Finspace) 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 opUpdateEnvironment = "UpdateEnvironment" + +// UpdateEnvironmentRequest generates a "aws/request.Request" representing the +// client's request for the UpdateEnvironment 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 UpdateEnvironment for more information on using the UpdateEnvironment +// 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 UpdateEnvironmentRequest method. +// req, resp := client.UpdateEnvironmentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/UpdateEnvironment +func (c *Finspace) UpdateEnvironmentRequest(input *UpdateEnvironmentInput) (req *request.Request, output *UpdateEnvironmentOutput) { + op := &request.Operation{ + Name: opUpdateEnvironment, + HTTPMethod: "PUT", + HTTPPath: "/environment/{environmentId}", + } + + if input == nil { + input = &UpdateEnvironmentInput{} + } + + output = &UpdateEnvironmentOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateEnvironment API operation for FinSpace User Environment Management service. +// +// Update your FinSpace environment. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace User Environment Management service's +// API operation UpdateEnvironment for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/UpdateEnvironment +func (c *Finspace) UpdateEnvironment(input *UpdateEnvironmentInput) (*UpdateEnvironmentOutput, error) { + req, out := c.UpdateEnvironmentRequest(input) + return out, req.Send() +} + +// UpdateEnvironmentWithContext is the same as UpdateEnvironment with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateEnvironment 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 *Finspace) UpdateEnvironmentWithContext(ctx aws.Context, input *UpdateEnvironmentInput, opts ...request.Option) (*UpdateEnvironmentOutput, error) { + req, out := c.UpdateEnvironmentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateKxClusterDatabases = "UpdateKxClusterDatabases" + +// UpdateKxClusterDatabasesRequest generates a "aws/request.Request" representing the +// client's request for the UpdateKxClusterDatabases 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 UpdateKxClusterDatabases for more information on using the UpdateKxClusterDatabases +// 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 UpdateKxClusterDatabasesRequest method. +// req, resp := client.UpdateKxClusterDatabasesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/UpdateKxClusterDatabases +func (c *Finspace) UpdateKxClusterDatabasesRequest(input *UpdateKxClusterDatabasesInput) (req *request.Request, output *UpdateKxClusterDatabasesOutput) { + op := &request.Operation{ + Name: opUpdateKxClusterDatabases, + HTTPMethod: "PUT", + HTTPPath: "/kx/environments/{environmentId}/clusters/{clusterName}/configuration/databases", + } + + if input == nil { + input = &UpdateKxClusterDatabasesInput{} + } + + output = &UpdateKxClusterDatabasesOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateKxClusterDatabases API operation for FinSpace User Environment Management service. +// +// Updates the databases mounted on a kdb cluster, which includes the changesetId +// and all the dbPaths to be cached. This API does not allow you to change a +// database name or add a database if you created a cluster without one. +// +// Using this API you can point a cluster to a different changeset and modify +// a list of partitions being cached. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace User Environment Management service's +// API operation UpdateKxClusterDatabases for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - LimitExceededException +// A service limit or quota is exceeded. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/UpdateKxClusterDatabases +func (c *Finspace) UpdateKxClusterDatabases(input *UpdateKxClusterDatabasesInput) (*UpdateKxClusterDatabasesOutput, error) { + req, out := c.UpdateKxClusterDatabasesRequest(input) + return out, req.Send() +} + +// UpdateKxClusterDatabasesWithContext is the same as UpdateKxClusterDatabases with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateKxClusterDatabases 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 *Finspace) UpdateKxClusterDatabasesWithContext(ctx aws.Context, input *UpdateKxClusterDatabasesInput, opts ...request.Option) (*UpdateKxClusterDatabasesOutput, error) { + req, out := c.UpdateKxClusterDatabasesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateKxDatabase = "UpdateKxDatabase" + +// UpdateKxDatabaseRequest generates a "aws/request.Request" representing the +// client's request for the UpdateKxDatabase 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 UpdateKxDatabase for more information on using the UpdateKxDatabase +// 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 UpdateKxDatabaseRequest method. +// req, resp := client.UpdateKxDatabaseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/UpdateKxDatabase +func (c *Finspace) UpdateKxDatabaseRequest(input *UpdateKxDatabaseInput) (req *request.Request, output *UpdateKxDatabaseOutput) { + op := &request.Operation{ + Name: opUpdateKxDatabase, + HTTPMethod: "PUT", + HTTPPath: "/kx/environments/{environmentId}/databases/{databaseName}", + } + + if input == nil { + input = &UpdateKxDatabaseInput{} + } + + output = &UpdateKxDatabaseOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateKxDatabase API operation for FinSpace User Environment Management service. +// +// Updates information for the given kdb database. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace User Environment Management service's +// API operation UpdateKxDatabase for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// - ConflictException +// There was a conflict with this action, and it could not be completed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/UpdateKxDatabase +func (c *Finspace) UpdateKxDatabase(input *UpdateKxDatabaseInput) (*UpdateKxDatabaseOutput, error) { + req, out := c.UpdateKxDatabaseRequest(input) + return out, req.Send() +} + +// UpdateKxDatabaseWithContext is the same as UpdateKxDatabase with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateKxDatabase 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 *Finspace) UpdateKxDatabaseWithContext(ctx aws.Context, input *UpdateKxDatabaseInput, opts ...request.Option) (*UpdateKxDatabaseOutput, error) { + req, out := c.UpdateKxDatabaseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateKxEnvironment = "UpdateKxEnvironment" + +// UpdateKxEnvironmentRequest generates a "aws/request.Request" representing the +// client's request for the UpdateKxEnvironment 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 UpdateKxEnvironment for more information on using the UpdateKxEnvironment +// 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 UpdateKxEnvironmentRequest method. +// req, resp := client.UpdateKxEnvironmentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/UpdateKxEnvironment +func (c *Finspace) UpdateKxEnvironmentRequest(input *UpdateKxEnvironmentInput) (req *request.Request, output *UpdateKxEnvironmentOutput) { + op := &request.Operation{ + Name: opUpdateKxEnvironment, + HTTPMethod: "PUT", + HTTPPath: "/kx/environments/{environmentId}", + } + + if input == nil { + input = &UpdateKxEnvironmentInput{} + } + + output = &UpdateKxEnvironmentOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateKxEnvironment API operation for FinSpace User Environment Management service. +// +// Updates information for the given kdb environment. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace User Environment Management service's +// API operation UpdateKxEnvironment for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ConflictException +// There was a conflict with this action, and it could not be completed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/UpdateKxEnvironment +func (c *Finspace) UpdateKxEnvironment(input *UpdateKxEnvironmentInput) (*UpdateKxEnvironmentOutput, error) { + req, out := c.UpdateKxEnvironmentRequest(input) + return out, req.Send() +} + +// UpdateKxEnvironmentWithContext is the same as UpdateKxEnvironment with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateKxEnvironment 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 *Finspace) UpdateKxEnvironmentWithContext(ctx aws.Context, input *UpdateKxEnvironmentInput, opts ...request.Option) (*UpdateKxEnvironmentOutput, error) { + req, out := c.UpdateKxEnvironmentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateKxEnvironmentNetwork = "UpdateKxEnvironmentNetwork" + +// UpdateKxEnvironmentNetworkRequest generates a "aws/request.Request" representing the +// client's request for the UpdateKxEnvironmentNetwork 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 UpdateKxEnvironmentNetwork for more information on using the UpdateKxEnvironmentNetwork +// 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 UpdateKxEnvironmentNetworkRequest method. +// req, resp := client.UpdateKxEnvironmentNetworkRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/UpdateKxEnvironmentNetwork +func (c *Finspace) UpdateKxEnvironmentNetworkRequest(input *UpdateKxEnvironmentNetworkInput) (req *request.Request, output *UpdateKxEnvironmentNetworkOutput) { + op := &request.Operation{ + Name: opUpdateKxEnvironmentNetwork, + HTTPMethod: "PUT", + HTTPPath: "/kx/environments/{environmentId}/network", + } + + if input == nil { + input = &UpdateKxEnvironmentNetworkInput{} + } + + output = &UpdateKxEnvironmentNetworkOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateKxEnvironmentNetwork API operation for FinSpace User Environment Management service. +// +// Updates environment network to connect to your internal network by using +// a transit gateway. This API supports request to create a transit gateway +// attachment from FinSpace VPC to your transit gateway ID and create a custom +// Route-53 outbound resolvers. +// +// Once you send a request to update a network, you cannot change it again. +// Network update might require termination of any clusters that are running +// in the existing network. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace User Environment Management service's +// API operation UpdateKxEnvironmentNetwork for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ConflictException +// There was a conflict with this action, and it could not be completed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/UpdateKxEnvironmentNetwork +func (c *Finspace) UpdateKxEnvironmentNetwork(input *UpdateKxEnvironmentNetworkInput) (*UpdateKxEnvironmentNetworkOutput, error) { + req, out := c.UpdateKxEnvironmentNetworkRequest(input) + return out, req.Send() +} + +// UpdateKxEnvironmentNetworkWithContext is the same as UpdateKxEnvironmentNetwork with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateKxEnvironmentNetwork 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 *Finspace) UpdateKxEnvironmentNetworkWithContext(ctx aws.Context, input *UpdateKxEnvironmentNetworkInput, opts ...request.Option) (*UpdateKxEnvironmentNetworkOutput, error) { + req, out := c.UpdateKxEnvironmentNetworkRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateKxUser = "UpdateKxUser" + +// UpdateKxUserRequest generates a "aws/request.Request" representing the +// client's request for the UpdateKxUser 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 UpdateKxUser for more information on using the UpdateKxUser +// 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 UpdateKxUserRequest method. +// req, resp := client.UpdateKxUserRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/UpdateKxUser +func (c *Finspace) UpdateKxUserRequest(input *UpdateKxUserInput) (req *request.Request, output *UpdateKxUserOutput) { + op := &request.Operation{ + Name: opUpdateKxUser, + HTTPMethod: "PUT", + HTTPPath: "/kx/environments/{environmentId}/users/{userName}", + } + + if input == nil { + input = &UpdateKxUserInput{} + } + + output = &UpdateKxUserOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateKxUser API operation for FinSpace User Environment Management service. +// +// Updates the user details. You can only update the IAM role associated with +// a user. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace User Environment Management service's +// API operation UpdateKxUser for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - LimitExceededException +// A service limit or quota is exceeded. +// +// - ConflictException +// There was a conflict with this action, and it could not be completed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/UpdateKxUser +func (c *Finspace) UpdateKxUser(input *UpdateKxUserInput) (*UpdateKxUserOutput, error) { + req, out := c.UpdateKxUserRequest(input) + return out, req.Send() +} + +// UpdateKxUserWithContext is the same as UpdateKxUser with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateKxUser 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 *Finspace) UpdateKxUserWithContext(ctx aws.Context, input *UpdateKxUserInput, opts ...request.Option) (*UpdateKxUserOutput, error) { + req, out := c.UpdateKxUserRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// You do not have sufficient access to perform this action. +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 configuration based on which FinSpace will scale in or scale out nodes +// in your cluster. +type AutoScalingConfiguration struct { + _ struct{} `type:"structure"` + + // The metric your cluster will track in order to scale in and out. For example, + // CPU_UTILIZATION_PERCENTAGE is the average CPU usage across all the nodes + // in a cluster. + AutoScalingMetric *string `locationName:"autoScalingMetric" type:"string" enum:"AutoScalingMetric"` + + // The highest number of nodes to scale. This value cannot be greater than 5. + MaxNodeCount *int64 `locationName:"maxNodeCount" min:"1" type:"integer"` + + // The desired value of the chosen autoScalingMetric. When the metric drops + // below this value, the cluster will scale in. When the metric goes above this + // value, the cluster will scale out. You can set the target value between 1 + // and 100 percent. + MetricTarget *float64 `locationName:"metricTarget" min:"1" type:"double"` + + // The lowest number of nodes to scale. This value must be at least 1 and less + // than the maxNodeCount. If the nodes in a cluster belong to multiple availability + // zones, then minNodeCount must be at least 3. + MinNodeCount *int64 `locationName:"minNodeCount" min:"1" type:"integer"` + + // The duration in seconds that FinSpace will wait after a scale in event before + // initiating another scaling event. + ScaleInCooldownSeconds *float64 `locationName:"scaleInCooldownSeconds" type:"double"` + + // The duration in seconds that FinSpace will wait after a scale out event before + // initiating another scaling event. + ScaleOutCooldownSeconds *float64 `locationName:"scaleOutCooldownSeconds" type:"double"` +} + +// 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 AutoScalingConfiguration) 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 AutoScalingConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AutoScalingConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AutoScalingConfiguration"} + if s.MaxNodeCount != nil && *s.MaxNodeCount < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxNodeCount", 1)) + } + if s.MetricTarget != nil && *s.MetricTarget < 1 { + invalidParams.Add(request.NewErrParamMinValue("MetricTarget", 1)) + } + if s.MinNodeCount != nil && *s.MinNodeCount < 1 { + invalidParams.Add(request.NewErrParamMinValue("MinNodeCount", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutoScalingMetric sets the AutoScalingMetric field's value. +func (s *AutoScalingConfiguration) SetAutoScalingMetric(v string) *AutoScalingConfiguration { + s.AutoScalingMetric = &v + return s +} + +// SetMaxNodeCount sets the MaxNodeCount field's value. +func (s *AutoScalingConfiguration) SetMaxNodeCount(v int64) *AutoScalingConfiguration { + s.MaxNodeCount = &v + return s +} + +// SetMetricTarget sets the MetricTarget field's value. +func (s *AutoScalingConfiguration) SetMetricTarget(v float64) *AutoScalingConfiguration { + s.MetricTarget = &v + return s +} + +// SetMinNodeCount sets the MinNodeCount field's value. +func (s *AutoScalingConfiguration) SetMinNodeCount(v int64) *AutoScalingConfiguration { + s.MinNodeCount = &v + return s +} + +// SetScaleInCooldownSeconds sets the ScaleInCooldownSeconds field's value. +func (s *AutoScalingConfiguration) SetScaleInCooldownSeconds(v float64) *AutoScalingConfiguration { + s.ScaleInCooldownSeconds = &v + return s +} + +// SetScaleOutCooldownSeconds sets the ScaleOutCooldownSeconds field's value. +func (s *AutoScalingConfiguration) SetScaleOutCooldownSeconds(v float64) *AutoScalingConfiguration { + s.ScaleOutCooldownSeconds = &v + return s +} + +// A structure for the metadata of a cluster. It includes information like the +// CPUs needed, memory of instances, number of instances, and the port used +// while establishing a connection. +type CapacityConfiguration struct { + _ struct{} `type:"structure"` + + // The number of instances running in a cluster. + NodeCount *int64 `locationName:"nodeCount" min:"1" type:"integer"` + + // The type that determines the hardware of the host computer used for your + // cluster instance. Each node type offers different memory and storage capabilities. + // Choose a node type based on the requirements of the application or software + // that you plan to run on your instance. + // + // You can only specify one of the following values: + // + // * kx.s.large – The node type with a configuration of 12 GiB memory and + // 2 vCPUs. + // + // * kx.s.xlarge – The node type with a configuration of 27 GiB memory + // and 4 vCPUs. + // + // * kx.s.2xlarge – The node type with a configuration of 54 GiB memory + // and 8 vCPUs. + // + // * kx.s.4xlarge – The node type with a configuration of 108 GiB memory + // and 16 vCPUs. + // + // * kx.s.8xlarge – The node type with a configuration of 216 GiB memory + // and 32 vCPUs. + // + // * kx.s.16xlarge – The node type with a configuration of 432 GiB memory + // and 64 vCPUs. + // + // * kx.s.32xlarge – The node type with a configuration of 864 GiB memory + // and 128 vCPUs. + NodeType *string `locationName:"nodeType" min:"1" 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 CapacityConfiguration) 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 CapacityConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CapacityConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CapacityConfiguration"} + if s.NodeCount != nil && *s.NodeCount < 1 { + invalidParams.Add(request.NewErrParamMinValue("NodeCount", 1)) + } + if s.NodeType != nil && len(*s.NodeType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NodeType", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNodeCount sets the NodeCount field's value. +func (s *CapacityConfiguration) SetNodeCount(v int64) *CapacityConfiguration { + s.NodeCount = &v + return s +} + +// SetNodeType sets the NodeType field's value. +func (s *CapacityConfiguration) SetNodeType(v string) *CapacityConfiguration { + s.NodeType = &v + return s +} + +// A list of change request objects. +type ChangeRequest struct { + _ struct{} `type:"structure"` + + // Defines the type of change request. A changeType can have the following values: + // + // * PUT – Adds or updates files in a database. + // + // * DELETE – Deletes files in a database. + // + // ChangeType is a required field + ChangeType *string `locationName:"changeType" type:"string" required:"true" enum:"ChangeType"` + + // Defines the path within the database directory. + // + // DbPath is a required field + DbPath *string `locationName:"dbPath" min:"1" type:"string" required:"true"` + + // Defines the S3 path of the source file that is required to add or update + // files in a database. + S3Path *string `locationName:"s3Path" min:"9" 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 ChangeRequest) 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 ChangeRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ChangeRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ChangeRequest"} + if s.ChangeType == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeType")) + } + if s.DbPath == nil { + invalidParams.Add(request.NewErrParamRequired("DbPath")) + } + if s.DbPath != nil && len(*s.DbPath) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DbPath", 1)) + } + if s.S3Path != nil && len(*s.S3Path) < 9 { + invalidParams.Add(request.NewErrParamMinLen("S3Path", 9)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChangeType sets the ChangeType field's value. +func (s *ChangeRequest) SetChangeType(v string) *ChangeRequest { + s.ChangeType = &v + return s +} + +// SetDbPath sets the DbPath field's value. +func (s *ChangeRequest) SetDbPath(v string) *ChangeRequest { + s.DbPath = &v + return s +} + +// SetS3Path sets the S3Path field's value. +func (s *ChangeRequest) SetS3Path(v string) *ChangeRequest { + s.S3Path = &v + return s +} + +// The structure of the customer code available within the running cluster. +type CodeConfiguration struct { + _ struct{} `type:"structure"` + + // A unique name for the S3 bucket. + S3Bucket *string `locationName:"s3Bucket" min:"3" type:"string"` + + // The full S3 path (excluding bucket) to the .zip file. This file contains + // the code that is loaded onto the cluster when it's started. + S3Key *string `locationName:"s3Key" min:"1" type:"string"` + + // The version of an S3 object. + S3ObjectVersion *string `locationName:"s3ObjectVersion" min:"1" 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 CodeConfiguration) 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 CodeConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CodeConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CodeConfiguration"} + if s.S3Bucket != nil && len(*s.S3Bucket) < 3 { + invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 3)) + } + if s.S3Key != nil && len(*s.S3Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("S3Key", 1)) + } + if s.S3ObjectVersion != nil && len(*s.S3ObjectVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("S3ObjectVersion", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetS3Bucket sets the S3Bucket field's value. +func (s *CodeConfiguration) SetS3Bucket(v string) *CodeConfiguration { + s.S3Bucket = &v + return s +} + +// SetS3Key sets the S3Key field's value. +func (s *CodeConfiguration) SetS3Key(v string) *CodeConfiguration { + s.S3Key = &v + return s +} + +// SetS3ObjectVersion sets the S3ObjectVersion field's value. +func (s *CodeConfiguration) SetS3ObjectVersion(v string) *CodeConfiguration { + s.S3ObjectVersion = &v + return s +} + +// There was a conflict with this action, and it could not be completed. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // The reason for the conflict exception. + Reason *string `locationName:"reason" 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 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 +} + +type CreateEnvironmentInput struct { + _ struct{} `type:"structure"` + + // The list of Amazon Resource Names (ARN) of the data bundles to install. Currently + // supported data bundle ARNs: + // + // * arn:aws:finspace:${Region}::data-bundle/capital-markets-sample - Contains + // sample Capital Markets datasets, categories and controlled vocabularies. + // // * arn:aws:finspace:${Region}::data-bundle/taq (default) - Contains trades // and quotes data in addition to sample Capital Markets data. DataBundles []*string `locationName:"dataBundles" type:"list"` - // The description of the FinSpace environment to be created. - Description *string `locationName:"description" min:"1" type:"string"` + // The description of the FinSpace environment to be created. + Description *string `locationName:"description" min:"1" type:"string"` + + // Authentication mode for the environment. + // + // * FEDERATED - Users access FinSpace through Single Sign On (SSO) via your + // Identity provider. + // + // * LOCAL - Users access FinSpace via email and password managed within + // the FinSpace environment. + FederationMode *string `locationName:"federationMode" type:"string" enum:"FederationMode"` + + // Configuration information when authentication mode is FEDERATED. + FederationParameters *FederationParameters `locationName:"federationParameters" type:"structure"` + + // The KMS key id to encrypt your data in the FinSpace environment. + KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` + + // The name of the FinSpace environment to be created. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // Configuration information for the superuser. + SuperuserParameters *SuperuserParameters `locationName:"superuserParameters" type:"structure"` + + // Add tags to your FinSpace environment. + Tags map[string]*string `locationName:"tags" min:"1" 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 CreateEnvironmentInput) 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 CreateEnvironmentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateEnvironmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateEnvironmentInput"} + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.FederationParameters != nil { + if err := s.FederationParameters.Validate(); err != nil { + invalidParams.AddNested("FederationParameters", err.(request.ErrInvalidParams)) + } + } + if s.SuperuserParameters != nil { + if err := s.SuperuserParameters.Validate(); err != nil { + invalidParams.AddNested("SuperuserParameters", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDataBundles sets the DataBundles field's value. +func (s *CreateEnvironmentInput) SetDataBundles(v []*string) *CreateEnvironmentInput { + s.DataBundles = v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateEnvironmentInput) SetDescription(v string) *CreateEnvironmentInput { + s.Description = &v + return s +} + +// SetFederationMode sets the FederationMode field's value. +func (s *CreateEnvironmentInput) SetFederationMode(v string) *CreateEnvironmentInput { + s.FederationMode = &v + return s +} + +// SetFederationParameters sets the FederationParameters field's value. +func (s *CreateEnvironmentInput) SetFederationParameters(v *FederationParameters) *CreateEnvironmentInput { + s.FederationParameters = v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CreateEnvironmentInput) SetKmsKeyId(v string) *CreateEnvironmentInput { + s.KmsKeyId = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateEnvironmentInput) SetName(v string) *CreateEnvironmentInput { + s.Name = &v + return s +} + +// SetSuperuserParameters sets the SuperuserParameters field's value. +func (s *CreateEnvironmentInput) SetSuperuserParameters(v *SuperuserParameters) *CreateEnvironmentInput { + s.SuperuserParameters = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateEnvironmentInput) SetTags(v map[string]*string) *CreateEnvironmentInput { + s.Tags = v + return s +} + +type CreateEnvironmentOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the FinSpace environment that you created. + EnvironmentArn *string `locationName:"environmentArn" min:"20" type:"string"` + + // The unique identifier for FinSpace environment that you created. + EnvironmentId *string `locationName:"environmentId" min:"1" type:"string"` + + // The sign-in URL for the web application of the FinSpace environment you created. + EnvironmentUrl *string `locationName:"environmentUrl" min:"1" 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 CreateEnvironmentOutput) 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 CreateEnvironmentOutput) GoString() string { + return s.String() +} + +// SetEnvironmentArn sets the EnvironmentArn field's value. +func (s *CreateEnvironmentOutput) SetEnvironmentArn(v string) *CreateEnvironmentOutput { + s.EnvironmentArn = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *CreateEnvironmentOutput) SetEnvironmentId(v string) *CreateEnvironmentOutput { + s.EnvironmentId = &v + return s +} + +// SetEnvironmentUrl sets the EnvironmentUrl field's value. +func (s *CreateEnvironmentOutput) SetEnvironmentUrl(v string) *CreateEnvironmentOutput { + s.EnvironmentUrl = &v + return s +} + +type CreateKxChangesetInput struct { + _ struct{} `type:"structure"` + + // A list of change request objects that are run in order. A change request + // object consists of changeType , s3Path, and a dbPath. A changeType can has + // the following values: + // + // * PUT – Adds or updates files in a database. + // + // * DELETE – Deletes files in a database. + // + // All the change requests require a mandatory dbPath attribute that defines + // the path within the database directory. The s3Path attribute defines the + // s3 source file path and is required for a PUT change type. + // + // Here is an example of how you can use the change request object: + // + // [ { "changeType": "PUT", "s3Path":"s3://bucket/db/2020.01.02/", "dbPath":"/2020.01.02/"}, + // { "changeType": "PUT", "s3Path":"s3://bucket/db/sym", "dbPath":"/"}, { "changeType": + // "DELETE", "dbPath": "/2020.01.01/"} ] + // + // In this example, the first request with PUT change type allows you to add + // files in the given s3Path under the 2020.01.02 partition of the database. + // The second request with PUT change type allows you to add a single sym file + // at database root location. The last request with DELETE change type allows + // you to delete the files under the 2020.01.01 partition of the database. + // + // ChangeRequests is a required field + ChangeRequests []*ChangeRequest `locationName:"changeRequests" min:"1" type:"list" required:"true"` + + // A token that ensures idempotency. This token expires in 10 minutes. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The name of the kdb database. + // + // DatabaseName is a required field + DatabaseName *string `location:"uri" locationName:"databaseName" min:"3" type:"string" required:"true"` + + // A unique identifier of the kdb environment. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"environmentId" 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 CreateKxChangesetInput) 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 CreateKxChangesetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateKxChangesetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateKxChangesetInput"} + if s.ChangeRequests == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeRequests")) + } + if s.ChangeRequests != nil && len(s.ChangeRequests) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeRequests", 1)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 3)) + } + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + if s.ChangeRequests != nil { + for i, v := range s.ChangeRequests { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ChangeRequests", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChangeRequests sets the ChangeRequests field's value. +func (s *CreateKxChangesetInput) SetChangeRequests(v []*ChangeRequest) *CreateKxChangesetInput { + s.ChangeRequests = v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateKxChangesetInput) SetClientToken(v string) *CreateKxChangesetInput { + s.ClientToken = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *CreateKxChangesetInput) SetDatabaseName(v string) *CreateKxChangesetInput { + s.DatabaseName = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *CreateKxChangesetInput) SetEnvironmentId(v string) *CreateKxChangesetInput { + s.EnvironmentId = &v + return s +} + +type CreateKxChangesetOutput struct { + _ struct{} `type:"structure"` + + // A list of change requests. + ChangeRequests []*ChangeRequest `locationName:"changeRequests" min:"1" type:"list"` + + // A unique identifier for the changeset. + ChangesetId *string `locationName:"changesetId" min:"1" type:"string"` + + // The timestamp at which the changeset was created in FinSpace. The value is + // determined as epoch time in milliseconds. For example, the value for Monday, + // November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. + CreatedTimestamp *time.Time `locationName:"createdTimestamp" type:"timestamp"` + + // The name of the kdb database. + DatabaseName *string `locationName:"databaseName" min:"3" type:"string"` + + // A unique identifier for the kdb environment. + EnvironmentId *string `locationName:"environmentId" min:"1" type:"string"` + + // The details of the error that you receive when creating a changeset. It consists + // of the type of error and the error message. + ErrorInfo *ErrorInfo `locationName:"errorInfo" type:"structure"` + + // The timestamp at which the changeset was updated in FinSpace. The value is + // determined as epoch time in milliseconds. For example, the value for Monday, + // November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. + LastModifiedTimestamp *time.Time `locationName:"lastModifiedTimestamp" type:"timestamp"` + + // Status of the changeset creation process. + // + // * Pending – Changeset creation is pending. + // + // * Processing – Changeset creation is running. + // + // * Failed – Changeset creation has failed. + // + // * Complete – Changeset creation has succeeded. + Status *string `locationName:"status" type:"string" enum:"ChangesetStatus"` +} + +// 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 CreateKxChangesetOutput) 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 CreateKxChangesetOutput) GoString() string { + return s.String() +} + +// SetChangeRequests sets the ChangeRequests field's value. +func (s *CreateKxChangesetOutput) SetChangeRequests(v []*ChangeRequest) *CreateKxChangesetOutput { + s.ChangeRequests = v + return s +} + +// SetChangesetId sets the ChangesetId field's value. +func (s *CreateKxChangesetOutput) SetChangesetId(v string) *CreateKxChangesetOutput { + s.ChangesetId = &v + return s +} + +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *CreateKxChangesetOutput) SetCreatedTimestamp(v time.Time) *CreateKxChangesetOutput { + s.CreatedTimestamp = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *CreateKxChangesetOutput) SetDatabaseName(v string) *CreateKxChangesetOutput { + s.DatabaseName = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *CreateKxChangesetOutput) SetEnvironmentId(v string) *CreateKxChangesetOutput { + s.EnvironmentId = &v + return s +} + +// SetErrorInfo sets the ErrorInfo field's value. +func (s *CreateKxChangesetOutput) SetErrorInfo(v *ErrorInfo) *CreateKxChangesetOutput { + s.ErrorInfo = v + return s +} + +// SetLastModifiedTimestamp sets the LastModifiedTimestamp field's value. +func (s *CreateKxChangesetOutput) SetLastModifiedTimestamp(v time.Time) *CreateKxChangesetOutput { + s.LastModifiedTimestamp = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateKxChangesetOutput) SetStatus(v string) *CreateKxChangesetOutput { + s.Status = &v + return s +} + +type CreateKxClusterInput struct { + _ struct{} `type:"structure"` + + // The configuration based on which FinSpace will scale in or scale out nodes + // in your cluster. + AutoScalingConfiguration *AutoScalingConfiguration `locationName:"autoScalingConfiguration" type:"structure"` + + // The availability zone identifiers for the requested regions. + AvailabilityZoneId *string `locationName:"availabilityZoneId" type:"string"` + + // The number of availability zones you want to assign per cluster. This can + // be one of the following + // + // * SINGLE – Assigns one availability zone per cluster. + // + // * MULTI – Assigns all the availability zones per cluster. + // + // AzMode is a required field + AzMode *string `locationName:"azMode" type:"string" required:"true" enum:"KxAzMode"` + + // The configurations for a read only cache storage associated with a cluster. + // This cache will be stored as an FSx Lustre that reads from the S3 store. + CacheStorageConfigurations []*KxCacheStorageConfiguration `locationName:"cacheStorageConfigurations" type:"list"` + + // A structure for the metadata of a cluster. It includes information about + // like the CPUs needed, memory of instances, number of instances, and the port + // used while establishing a connection. + // + // CapacityConfiguration is a required field + CapacityConfiguration *CapacityConfiguration `locationName:"capacityConfiguration" type:"structure" required:"true"` + + // A token that ensures idempotency. This token expires in 10 minutes. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // A description of the cluster. + ClusterDescription *string `locationName:"clusterDescription" min:"1" type:"string"` + + // A unique name for the cluster that you want to create. + // + // ClusterName is a required field + ClusterName *string `locationName:"clusterName" min:"3" type:"string" required:"true"` + + // Specifies the type of KDB database that is being created. The following types + // are available: + // + // * HDB – A Historical Database. The data is only accessible with read-only + // permissions from one of the FinSpace managed kdb databases mounted to + // the cluster. + // + // * RDB – A Realtime Database. This type of database captures all the + // data from a ticker plant and stores it in memory until the end of day, + // after which it writes all of its data to a disk and reloads the HDB. This + // cluster type requires local storage for temporary storage of data during + // the savedown process. If you specify this field in your request, you must + // provide the savedownStorageConfiguration parameter. + // + // * GATEWAY – A gateway cluster allows you to access data across processes + // in kdb systems. It allows you to create your own routing logic using the + // initialization scripts and custom code. This type of cluster does not + // require a writable local storage. + // + // ClusterType is a required field + ClusterType *string `locationName:"clusterType" type:"string" required:"true" enum:"KxClusterType"` + + // The details of the custom code that you want to use inside a cluster when + // analyzing a data. It consists of the S3 source bucket, location, S3 object + // version, and the relative path from where the custom code is loaded into + // the cluster. + Code *CodeConfiguration `locationName:"code" type:"structure"` + + // Defines the key-value pairs to make them available inside the cluster. + CommandLineArguments []*KxCommandLineArgument `locationName:"commandLineArguments" type:"list"` + + // A list of databases that will be available for querying. + Databases []*KxDatabaseConfiguration `locationName:"databases" type:"list"` + + // A unique identifier for the kdb environment. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"environmentId" min:"1" type:"string" required:"true"` + + // An IAM role that defines a set of permissions associated with a cluster. + // These permissions are assumed when a cluster attempts to access another cluster. + ExecutionRole *string `locationName:"executionRole" min:"1" type:"string"` + + // Specifies a Q program that will be run at launch of a cluster. It is a relative + // path within .zip file that contains the custom code, which will be loaded + // on the cluster. It must include the file name itself. For example, somedir/init.q. + InitializationScript *string `locationName:"initializationScript" min:"1" type:"string"` + + // The version of FinSpace managed kdb to run. + // + // ReleaseLabel is a required field + ReleaseLabel *string `locationName:"releaseLabel" min:"1" type:"string" required:"true"` + + // The size and type of the temporary storage that is used to hold data during + // the savedown process. This parameter is required when you choose clusterType + // as RDB. All the data written to this storage space is lost when the cluster + // node is restarted. + SavedownStorageConfiguration *KxSavedownStorageConfiguration `locationName:"savedownStorageConfiguration" type:"structure"` + + // A list of key-value pairs to label the cluster. You can add up to 50 tags + // to a cluster. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + + // Configuration details about the network where the Privatelink endpoint of + // the cluster resides. + VpcConfiguration *VpcConfiguration `locationName:"vpcConfiguration" 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 CreateKxClusterInput) 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 CreateKxClusterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateKxClusterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateKxClusterInput"} + if s.AzMode == nil { + invalidParams.Add(request.NewErrParamRequired("AzMode")) + } + if s.CapacityConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("CapacityConfiguration")) + } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.ClusterDescription != nil && len(*s.ClusterDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClusterDescription", 1)) + } + if s.ClusterName == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterName")) + } + if s.ClusterName != nil && len(*s.ClusterName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("ClusterName", 3)) + } + if s.ClusterType == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterType")) + } + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + if s.ExecutionRole != nil && len(*s.ExecutionRole) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ExecutionRole", 1)) + } + if s.InitializationScript != nil && len(*s.InitializationScript) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InitializationScript", 1)) + } + if s.ReleaseLabel == nil { + invalidParams.Add(request.NewErrParamRequired("ReleaseLabel")) + } + if s.ReleaseLabel != nil && len(*s.ReleaseLabel) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReleaseLabel", 1)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.AutoScalingConfiguration != nil { + if err := s.AutoScalingConfiguration.Validate(); err != nil { + invalidParams.AddNested("AutoScalingConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.CacheStorageConfigurations != nil { + for i, v := range s.CacheStorageConfigurations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CacheStorageConfigurations", i), err.(request.ErrInvalidParams)) + } + } + } + if s.CapacityConfiguration != nil { + if err := s.CapacityConfiguration.Validate(); err != nil { + invalidParams.AddNested("CapacityConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.Code != nil { + if err := s.Code.Validate(); err != nil { + invalidParams.AddNested("Code", err.(request.ErrInvalidParams)) + } + } + if s.CommandLineArguments != nil { + for i, v := range s.CommandLineArguments { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CommandLineArguments", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Databases != nil { + for i, v := range s.Databases { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Databases", i), err.(request.ErrInvalidParams)) + } + } + } + if s.SavedownStorageConfiguration != nil { + if err := s.SavedownStorageConfiguration.Validate(); err != nil { + invalidParams.AddNested("SavedownStorageConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.VpcConfiguration != nil { + if err := s.VpcConfiguration.Validate(); err != nil { + invalidParams.AddNested("VpcConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutoScalingConfiguration sets the AutoScalingConfiguration field's value. +func (s *CreateKxClusterInput) SetAutoScalingConfiguration(v *AutoScalingConfiguration) *CreateKxClusterInput { + s.AutoScalingConfiguration = v + return s +} + +// SetAvailabilityZoneId sets the AvailabilityZoneId field's value. +func (s *CreateKxClusterInput) SetAvailabilityZoneId(v string) *CreateKxClusterInput { + s.AvailabilityZoneId = &v + return s +} + +// SetAzMode sets the AzMode field's value. +func (s *CreateKxClusterInput) SetAzMode(v string) *CreateKxClusterInput { + s.AzMode = &v + return s +} + +// SetCacheStorageConfigurations sets the CacheStorageConfigurations field's value. +func (s *CreateKxClusterInput) SetCacheStorageConfigurations(v []*KxCacheStorageConfiguration) *CreateKxClusterInput { + s.CacheStorageConfigurations = v + return s +} + +// SetCapacityConfiguration sets the CapacityConfiguration field's value. +func (s *CreateKxClusterInput) SetCapacityConfiguration(v *CapacityConfiguration) *CreateKxClusterInput { + s.CapacityConfiguration = v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateKxClusterInput) SetClientToken(v string) *CreateKxClusterInput { + s.ClientToken = &v + return s +} + +// SetClusterDescription sets the ClusterDescription field's value. +func (s *CreateKxClusterInput) SetClusterDescription(v string) *CreateKxClusterInput { + s.ClusterDescription = &v + return s +} + +// SetClusterName sets the ClusterName field's value. +func (s *CreateKxClusterInput) SetClusterName(v string) *CreateKxClusterInput { + s.ClusterName = &v + return s +} + +// SetClusterType sets the ClusterType field's value. +func (s *CreateKxClusterInput) SetClusterType(v string) *CreateKxClusterInput { + s.ClusterType = &v + return s +} + +// SetCode sets the Code field's value. +func (s *CreateKxClusterInput) SetCode(v *CodeConfiguration) *CreateKxClusterInput { + s.Code = v + return s +} + +// SetCommandLineArguments sets the CommandLineArguments field's value. +func (s *CreateKxClusterInput) SetCommandLineArguments(v []*KxCommandLineArgument) *CreateKxClusterInput { + s.CommandLineArguments = v + return s +} + +// SetDatabases sets the Databases field's value. +func (s *CreateKxClusterInput) SetDatabases(v []*KxDatabaseConfiguration) *CreateKxClusterInput { + s.Databases = v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *CreateKxClusterInput) SetEnvironmentId(v string) *CreateKxClusterInput { + s.EnvironmentId = &v + return s +} + +// SetExecutionRole sets the ExecutionRole field's value. +func (s *CreateKxClusterInput) SetExecutionRole(v string) *CreateKxClusterInput { + s.ExecutionRole = &v + return s +} + +// SetInitializationScript sets the InitializationScript field's value. +func (s *CreateKxClusterInput) SetInitializationScript(v string) *CreateKxClusterInput { + s.InitializationScript = &v + return s +} + +// SetReleaseLabel sets the ReleaseLabel field's value. +func (s *CreateKxClusterInput) SetReleaseLabel(v string) *CreateKxClusterInput { + s.ReleaseLabel = &v + return s +} + +// SetSavedownStorageConfiguration sets the SavedownStorageConfiguration field's value. +func (s *CreateKxClusterInput) SetSavedownStorageConfiguration(v *KxSavedownStorageConfiguration) *CreateKxClusterInput { + s.SavedownStorageConfiguration = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateKxClusterInput) SetTags(v map[string]*string) *CreateKxClusterInput { + s.Tags = v + return s +} + +// SetVpcConfiguration sets the VpcConfiguration field's value. +func (s *CreateKxClusterInput) SetVpcConfiguration(v *VpcConfiguration) *CreateKxClusterInput { + s.VpcConfiguration = v + return s +} + +type CreateKxClusterOutput struct { + _ struct{} `type:"structure"` + + // The configuration based on which FinSpace will scale in or scale out nodes + // in your cluster. + AutoScalingConfiguration *AutoScalingConfiguration `locationName:"autoScalingConfiguration" type:"structure"` + + // The availability zone identifiers for the requested regions. + AvailabilityZoneId *string `locationName:"availabilityZoneId" type:"string"` + + // The number of availability zones you want to assign per cluster. This can + // be one of the following + // + // * SINGLE – Assigns one availability zone per cluster. + // + // * MULTI – Assigns all the availability zones per cluster. + AzMode *string `locationName:"azMode" type:"string" enum:"KxAzMode"` + + // The configurations for a read only cache storage associated with a cluster. + // This cache will be stored as an FSx Lustre that reads from the S3 store. + CacheStorageConfigurations []*KxCacheStorageConfiguration `locationName:"cacheStorageConfigurations" type:"list"` + + // A structure for the metadata of a cluster. It includes information like the + // CPUs needed, memory of instances, number of instances, and the port used + // while establishing a connection. + CapacityConfiguration *CapacityConfiguration `locationName:"capacityConfiguration" type:"structure"` + + // A description of the cluster. + ClusterDescription *string `locationName:"clusterDescription" min:"1" type:"string"` + + // A unique name for the cluster. + ClusterName *string `locationName:"clusterName" min:"3" type:"string"` + + // Specifies the type of KDB database that is being created. The following types + // are available: + // + // * HDB – A Historical Database. The data is only accessible with read-only + // permissions from one of the FinSpace managed kdb databases mounted to + // the cluster. + // + // * RDB – A Realtime Database. This type of database captures all the + // data from a ticker plant and stores it in memory until the end of day, + // after which it writes all of its data to a disk and reloads the HDB. This + // cluster type requires local storage for temporary storage of data during + // the savedown process. If you specify this field in your request, you must + // provide the savedownStorageConfiguration parameter. + // + // * GATEWAY – A gateway cluster allows you to access data across processes + // in kdb systems. It allows you to create your own routing logic using the + // initialization scripts and custom code. This type of cluster does not + // require a writable local storage. + ClusterType *string `locationName:"clusterType" type:"string" enum:"KxClusterType"` + + // The details of the custom code that you want to use inside a cluster when + // analyzing a data. It consists of the S3 source bucket, location, S3 object + // version, and the relative path from where the custom code is loaded into + // the cluster. + Code *CodeConfiguration `locationName:"code" type:"structure"` + + // Defines the key-value pairs to make them available inside the cluster. + CommandLineArguments []*KxCommandLineArgument `locationName:"commandLineArguments" type:"list"` + + // The timestamp at which the cluster was created in FinSpace. The value is + // determined as epoch time in milliseconds. For example, the value for Monday, + // November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. + CreatedTimestamp *time.Time `locationName:"createdTimestamp" type:"timestamp"` + + // A list of databases that will be available for querying. + Databases []*KxDatabaseConfiguration `locationName:"databases" type:"list"` + + // A unique identifier for the kdb environment. + EnvironmentId *string `locationName:"environmentId" min:"1" type:"string"` + + // An IAM role that defines a set of permissions associated with a cluster. + // These permissions are assumed when a cluster attempts to access another cluster. + ExecutionRole *string `locationName:"executionRole" min:"1" type:"string"` + + // Specifies a Q program that will be run at launch of a cluster. It is a relative + // path within .zip file that contains the custom code, which will be loaded + // on the cluster. It must include the file name itself. For example, somedir/init.q. + InitializationScript *string `locationName:"initializationScript" min:"1" type:"string"` + + // The last time that the cluster was modified. The value is determined as epoch + // time in milliseconds. For example, the value for Monday, November 1, 2021 + // 12:00:00 PM UTC is specified as 1635768000000. + LastModifiedTimestamp *time.Time `locationName:"lastModifiedTimestamp" type:"timestamp"` + + // A version of the FinSpace managed kdb to run. + ReleaseLabel *string `locationName:"releaseLabel" min:"1" type:"string"` + + // The size and type of the temporary storage that is used to hold data during + // the savedown process. This parameter is required when you choose clusterType + // as RDB. All the data written to this storage space is lost when the cluster + // node is restarted. + SavedownStorageConfiguration *KxSavedownStorageConfiguration `locationName:"savedownStorageConfiguration" type:"structure"` + + // The status of cluster creation. + // + // * PENDING – The cluster is pending creation. + // + // * CREATING – The cluster creation process is in progress. + // + // * CREATE_FAILED – The cluster creation process has failed. + // + // * RUNNING – The cluster creation process is running. + // + // * UPDATING – The cluster is in the process of being updated. + // + // * DELETING – The cluster is in the process of being deleted. + // + // * DELETED – The cluster has been deleted. + // + // * DELETE_FAILED – The cluster failed to delete. + Status *string `locationName:"status" type:"string" enum:"KxClusterStatus"` + + // The error message when a failed state occurs. + StatusReason *string `locationName:"statusReason" min:"1" type:"string"` + + // Configuration details about the network where the Privatelink endpoint of + // the cluster resides. + VpcConfiguration *VpcConfiguration `locationName:"vpcConfiguration" 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 CreateKxClusterOutput) 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 CreateKxClusterOutput) GoString() string { + return s.String() +} + +// SetAutoScalingConfiguration sets the AutoScalingConfiguration field's value. +func (s *CreateKxClusterOutput) SetAutoScalingConfiguration(v *AutoScalingConfiguration) *CreateKxClusterOutput { + s.AutoScalingConfiguration = v + return s +} + +// SetAvailabilityZoneId sets the AvailabilityZoneId field's value. +func (s *CreateKxClusterOutput) SetAvailabilityZoneId(v string) *CreateKxClusterOutput { + s.AvailabilityZoneId = &v + return s +} + +// SetAzMode sets the AzMode field's value. +func (s *CreateKxClusterOutput) SetAzMode(v string) *CreateKxClusterOutput { + s.AzMode = &v + return s +} + +// SetCacheStorageConfigurations sets the CacheStorageConfigurations field's value. +func (s *CreateKxClusterOutput) SetCacheStorageConfigurations(v []*KxCacheStorageConfiguration) *CreateKxClusterOutput { + s.CacheStorageConfigurations = v + return s +} + +// SetCapacityConfiguration sets the CapacityConfiguration field's value. +func (s *CreateKxClusterOutput) SetCapacityConfiguration(v *CapacityConfiguration) *CreateKxClusterOutput { + s.CapacityConfiguration = v + return s +} + +// SetClusterDescription sets the ClusterDescription field's value. +func (s *CreateKxClusterOutput) SetClusterDescription(v string) *CreateKxClusterOutput { + s.ClusterDescription = &v + return s +} + +// SetClusterName sets the ClusterName field's value. +func (s *CreateKxClusterOutput) SetClusterName(v string) *CreateKxClusterOutput { + s.ClusterName = &v + return s +} + +// SetClusterType sets the ClusterType field's value. +func (s *CreateKxClusterOutput) SetClusterType(v string) *CreateKxClusterOutput { + s.ClusterType = &v + return s +} + +// SetCode sets the Code field's value. +func (s *CreateKxClusterOutput) SetCode(v *CodeConfiguration) *CreateKxClusterOutput { + s.Code = v + return s +} + +// SetCommandLineArguments sets the CommandLineArguments field's value. +func (s *CreateKxClusterOutput) SetCommandLineArguments(v []*KxCommandLineArgument) *CreateKxClusterOutput { + s.CommandLineArguments = v + return s +} + +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *CreateKxClusterOutput) SetCreatedTimestamp(v time.Time) *CreateKxClusterOutput { + s.CreatedTimestamp = &v + return s +} + +// SetDatabases sets the Databases field's value. +func (s *CreateKxClusterOutput) SetDatabases(v []*KxDatabaseConfiguration) *CreateKxClusterOutput { + s.Databases = v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *CreateKxClusterOutput) SetEnvironmentId(v string) *CreateKxClusterOutput { + s.EnvironmentId = &v + return s +} + +// SetExecutionRole sets the ExecutionRole field's value. +func (s *CreateKxClusterOutput) SetExecutionRole(v string) *CreateKxClusterOutput { + s.ExecutionRole = &v + return s +} + +// SetInitializationScript sets the InitializationScript field's value. +func (s *CreateKxClusterOutput) SetInitializationScript(v string) *CreateKxClusterOutput { + s.InitializationScript = &v + return s +} + +// SetLastModifiedTimestamp sets the LastModifiedTimestamp field's value. +func (s *CreateKxClusterOutput) SetLastModifiedTimestamp(v time.Time) *CreateKxClusterOutput { + s.LastModifiedTimestamp = &v + return s +} + +// SetReleaseLabel sets the ReleaseLabel field's value. +func (s *CreateKxClusterOutput) SetReleaseLabel(v string) *CreateKxClusterOutput { + s.ReleaseLabel = &v + return s +} + +// SetSavedownStorageConfiguration sets the SavedownStorageConfiguration field's value. +func (s *CreateKxClusterOutput) SetSavedownStorageConfiguration(v *KxSavedownStorageConfiguration) *CreateKxClusterOutput { + s.SavedownStorageConfiguration = v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateKxClusterOutput) SetStatus(v string) *CreateKxClusterOutput { + s.Status = &v + return s +} + +// SetStatusReason sets the StatusReason field's value. +func (s *CreateKxClusterOutput) SetStatusReason(v string) *CreateKxClusterOutput { + s.StatusReason = &v + return s +} + +// SetVpcConfiguration sets the VpcConfiguration field's value. +func (s *CreateKxClusterOutput) SetVpcConfiguration(v *VpcConfiguration) *CreateKxClusterOutput { + s.VpcConfiguration = v + return s +} + +type CreateKxDatabaseInput struct { + _ struct{} `type:"structure"` + + // A token that ensures idempotency. This token expires in 10 minutes. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The name of the kdb database. + // + // DatabaseName is a required field + DatabaseName *string `locationName:"databaseName" min:"3" type:"string" required:"true"` + + // A description of the database. + Description *string `locationName:"description" min:"1" type:"string"` + + // A unique identifier for the kdb environment. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"environmentId" min:"1" type:"string" required:"true"` + + // A list of key-value pairs to label the kdb database. You can add up to 50 + // tags to your kdb database + Tags map[string]*string `locationName:"tags" min:"1" 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 CreateKxDatabaseInput) 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 CreateKxDatabaseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateKxDatabaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateKxDatabaseInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 3)) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateKxDatabaseInput) SetClientToken(v string) *CreateKxDatabaseInput { + s.ClientToken = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *CreateKxDatabaseInput) SetDatabaseName(v string) *CreateKxDatabaseInput { + s.DatabaseName = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateKxDatabaseInput) SetDescription(v string) *CreateKxDatabaseInput { + s.Description = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *CreateKxDatabaseInput) SetEnvironmentId(v string) *CreateKxDatabaseInput { + s.EnvironmentId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateKxDatabaseInput) SetTags(v map[string]*string) *CreateKxDatabaseInput { + s.Tags = v + return s +} + +type CreateKxDatabaseOutput struct { + _ struct{} `type:"structure"` + + // The timestamp at which the database is created in FinSpace. The value is + // determined as epoch time in milliseconds. For example, the value for Monday, + // November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. + CreatedTimestamp *time.Time `locationName:"createdTimestamp" type:"timestamp"` + + // The ARN identifier of the database. + DatabaseArn *string `locationName:"databaseArn" type:"string"` + + // The name of the kdb database. + DatabaseName *string `locationName:"databaseName" min:"3" type:"string"` + + // A description of the database. + Description *string `locationName:"description" min:"1" type:"string"` + + // A unique identifier for the kdb environment. + EnvironmentId *string `locationName:"environmentId" min:"1" type:"string"` + + // The last time that the database was updated in FinSpace. The value is determined + // as epoch time in milliseconds. For example, the value for Monday, November + // 1, 2021 12:00:00 PM UTC is specified as 1635768000000. + LastModifiedTimestamp *time.Time `locationName:"lastModifiedTimestamp" type:"timestamp"` +} + +// 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 CreateKxDatabaseOutput) 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 CreateKxDatabaseOutput) GoString() string { + return s.String() +} + +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *CreateKxDatabaseOutput) SetCreatedTimestamp(v time.Time) *CreateKxDatabaseOutput { + s.CreatedTimestamp = &v + return s +} + +// SetDatabaseArn sets the DatabaseArn field's value. +func (s *CreateKxDatabaseOutput) SetDatabaseArn(v string) *CreateKxDatabaseOutput { + s.DatabaseArn = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *CreateKxDatabaseOutput) SetDatabaseName(v string) *CreateKxDatabaseOutput { + s.DatabaseName = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateKxDatabaseOutput) SetDescription(v string) *CreateKxDatabaseOutput { + s.Description = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *CreateKxDatabaseOutput) SetEnvironmentId(v string) *CreateKxDatabaseOutput { + s.EnvironmentId = &v + return s +} + +// SetLastModifiedTimestamp sets the LastModifiedTimestamp field's value. +func (s *CreateKxDatabaseOutput) SetLastModifiedTimestamp(v time.Time) *CreateKxDatabaseOutput { + s.LastModifiedTimestamp = &v + return s +} + +type CreateKxEnvironmentInput struct { + _ struct{} `type:"structure"` + + // A token that ensures idempotency. This token expires in 10 minutes. + ClientToken *string `locationName:"clientToken" min:"1" type:"string"` + + // A description for the kdb environment. + Description *string `locationName:"description" min:"1" type:"string"` + + // The KMS key ID to encrypt your data in the FinSpace environment. + // + // KmsKeyId is a required field + KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string" required:"true"` + + // The name of the kdb environment that you want to create. + // + // Name is a required field + Name *string `locationName:"name" min:"3" type:"string" required:"true"` + + // A list of key-value pairs to label the kdb environment. You can add up to + // 50 tags to your kdb environment. + Tags map[string]*string `locationName:"tags" min:"1" 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 CreateKxEnvironmentInput) 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 CreateKxEnvironmentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateKxEnvironmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateKxEnvironmentInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.KmsKeyId == nil { + invalidParams.Add(request.NewErrParamRequired("KmsKeyId")) + } + if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 3 { + invalidParams.Add(request.NewErrParamMinLen("Name", 3)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateKxEnvironmentInput) SetClientToken(v string) *CreateKxEnvironmentInput { + s.ClientToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateKxEnvironmentInput) SetDescription(v string) *CreateKxEnvironmentInput { + s.Description = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CreateKxEnvironmentInput) SetKmsKeyId(v string) *CreateKxEnvironmentInput { + s.KmsKeyId = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateKxEnvironmentInput) SetName(v string) *CreateKxEnvironmentInput { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateKxEnvironmentInput) SetTags(v map[string]*string) *CreateKxEnvironmentInput { + s.Tags = v + return s +} + +type CreateKxEnvironmentOutput struct { + _ struct{} `type:"structure"` + + // The timestamp at which the kdb environment was created in FinSpace. + CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"` + + // A description for the kdb environment. + Description *string `locationName:"description" min:"1" type:"string"` + + // The ARN identifier of the environment. + EnvironmentArn *string `locationName:"environmentArn" min:"20" type:"string"` + + // A unique identifier for the kdb environment. + EnvironmentId *string `locationName:"environmentId" min:"1" type:"string"` + + // The KMS key ID to encrypt your data in the FinSpace environment. + KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` + + // The name of the kdb environment. + Name *string `locationName:"name" min:"3" type:"string"` + + // The status of the kdb environment. + Status *string `locationName:"status" type:"string" enum:"EnvironmentStatus"` +} + +// 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 CreateKxEnvironmentOutput) 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 CreateKxEnvironmentOutput) GoString() string { + return s.String() +} + +// SetCreationTimestamp sets the CreationTimestamp field's value. +func (s *CreateKxEnvironmentOutput) SetCreationTimestamp(v time.Time) *CreateKxEnvironmentOutput { + s.CreationTimestamp = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateKxEnvironmentOutput) SetDescription(v string) *CreateKxEnvironmentOutput { + s.Description = &v + return s +} + +// SetEnvironmentArn sets the EnvironmentArn field's value. +func (s *CreateKxEnvironmentOutput) SetEnvironmentArn(v string) *CreateKxEnvironmentOutput { + s.EnvironmentArn = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *CreateKxEnvironmentOutput) SetEnvironmentId(v string) *CreateKxEnvironmentOutput { + s.EnvironmentId = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CreateKxEnvironmentOutput) SetKmsKeyId(v string) *CreateKxEnvironmentOutput { + s.KmsKeyId = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateKxEnvironmentOutput) SetName(v string) *CreateKxEnvironmentOutput { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateKxEnvironmentOutput) SetStatus(v string) *CreateKxEnvironmentOutput { + s.Status = &v + return s +} + +type CreateKxUserInput struct { + _ struct{} `type:"structure"` + + // A token that ensures idempotency. This token expires in 10 minutes. + ClientToken *string `locationName:"clientToken" min:"1" type:"string"` + + // A unique identifier for the kdb environment where you want to create a user. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"environmentId" min:"1" type:"string" required:"true"` + + // The IAM role ARN that will be associated with the user. + // + // IamRole is a required field + IamRole *string `locationName:"iamRole" min:"20" type:"string" required:"true"` + + // A list of key-value pairs to label the user. You can add up to 50 tags to + // a user. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + + // A unique identifier for the user. + // + // UserName is a required field + UserName *string `locationName:"userName" 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 CreateKxUserInput) 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 CreateKxUserInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateKxUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateKxUserInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + if s.IamRole == nil { + invalidParams.Add(request.NewErrParamRequired("IamRole")) + } + if s.IamRole != nil && len(*s.IamRole) < 20 { + invalidParams.Add(request.NewErrParamMinLen("IamRole", 20)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.UserName == nil { + invalidParams.Add(request.NewErrParamRequired("UserName")) + } + if s.UserName != nil && len(*s.UserName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateKxUserInput) SetClientToken(v string) *CreateKxUserInput { + s.ClientToken = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *CreateKxUserInput) SetEnvironmentId(v string) *CreateKxUserInput { + s.EnvironmentId = &v + return s +} + +// SetIamRole sets the IamRole field's value. +func (s *CreateKxUserInput) SetIamRole(v string) *CreateKxUserInput { + s.IamRole = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateKxUserInput) SetTags(v map[string]*string) *CreateKxUserInput { + s.Tags = v + return s +} + +// SetUserName sets the UserName field's value. +func (s *CreateKxUserInput) SetUserName(v string) *CreateKxUserInput { + s.UserName = &v + return s +} + +type CreateKxUserOutput struct { + _ struct{} `type:"structure"` + + // A unique identifier for the kdb environment. + EnvironmentId *string `locationName:"environmentId" min:"1" type:"string"` + + // The IAM role ARN that will be associated with the user. + IamRole *string `locationName:"iamRole" min:"20" type:"string"` + + // The Amazon Resource Name (ARN) that identifies the user. For more information + // about ARNs and how to use ARNs in policies, see IAM Identifiers (IAM/latest/UserGuide/reference_identifiers.html) + // in the IAM User Guide. + UserArn *string `locationName:"userArn" min:"20" type:"string"` + + // A unique identifier for the user. + UserName *string `locationName:"userName" min:"1" 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 CreateKxUserOutput) 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 CreateKxUserOutput) GoString() string { + return s.String() +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *CreateKxUserOutput) SetEnvironmentId(v string) *CreateKxUserOutput { + s.EnvironmentId = &v + return s +} + +// SetIamRole sets the IamRole field's value. +func (s *CreateKxUserOutput) SetIamRole(v string) *CreateKxUserOutput { + s.IamRole = &v + return s +} + +// SetUserArn sets the UserArn field's value. +func (s *CreateKxUserOutput) SetUserArn(v string) *CreateKxUserOutput { + s.UserArn = &v + return s +} + +// SetUserName sets the UserName field's value. +func (s *CreateKxUserOutput) SetUserName(v string) *CreateKxUserOutput { + s.UserName = &v + return s +} + +// A list of DNS server name and server IP. This is used to set up Route-53 +// outbound resolvers. +type CustomDNSServer struct { + _ struct{} `type:"structure"` + + // The IP address of the DNS server. + // + // CustomDNSServerIP is a required field + CustomDNSServerIP *string `locationName:"customDNSServerIP" type:"string" required:"true"` + + // The name of the DNS server. + // + // CustomDNSServerName is a required field + CustomDNSServerName *string `locationName:"customDNSServerName" min:"3" 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 CustomDNSServer) 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 CustomDNSServer) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CustomDNSServer) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CustomDNSServer"} + if s.CustomDNSServerIP == nil { + invalidParams.Add(request.NewErrParamRequired("CustomDNSServerIP")) + } + if s.CustomDNSServerName == nil { + invalidParams.Add(request.NewErrParamRequired("CustomDNSServerName")) + } + if s.CustomDNSServerName != nil && len(*s.CustomDNSServerName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("CustomDNSServerName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCustomDNSServerIP sets the CustomDNSServerIP field's value. +func (s *CustomDNSServer) SetCustomDNSServerIP(v string) *CustomDNSServer { + s.CustomDNSServerIP = &v + return s +} + +// SetCustomDNSServerName sets the CustomDNSServerName field's value. +func (s *CustomDNSServer) SetCustomDNSServerName(v string) *CustomDNSServer { + s.CustomDNSServerName = &v + return s +} + +type DeleteEnvironmentInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The identifier for the FinSpace environment. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"environmentId" 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 DeleteEnvironmentInput) 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 DeleteEnvironmentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteEnvironmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteEnvironmentInput"} + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *DeleteEnvironmentInput) SetEnvironmentId(v string) *DeleteEnvironmentInput { + s.EnvironmentId = &v + return s +} + +type DeleteEnvironmentOutput 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 DeleteEnvironmentOutput) 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 DeleteEnvironmentOutput) GoString() string { + return s.String() +} + +type DeleteKxClusterInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // A token that ensures idempotency. This token expires in 10 minutes. + ClientToken *string `location:"querystring" locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The name of the cluster that you want to delete. + // + // ClusterName is a required field + ClusterName *string `location:"uri" locationName:"clusterName" min:"3" type:"string" required:"true"` + + // A unique identifier for the kdb environment. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"environmentId" 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 DeleteKxClusterInput) 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 DeleteKxClusterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteKxClusterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteKxClusterInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.ClusterName == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterName")) + } + if s.ClusterName != nil && len(*s.ClusterName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("ClusterName", 3)) + } + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *DeleteKxClusterInput) SetClientToken(v string) *DeleteKxClusterInput { + s.ClientToken = &v + return s +} + +// SetClusterName sets the ClusterName field's value. +func (s *DeleteKxClusterInput) SetClusterName(v string) *DeleteKxClusterInput { + s.ClusterName = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *DeleteKxClusterInput) SetEnvironmentId(v string) *DeleteKxClusterInput { + s.EnvironmentId = &v + return s +} + +type DeleteKxClusterOutput 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 DeleteKxClusterOutput) 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 DeleteKxClusterOutput) GoString() string { + return s.String() +} + +type DeleteKxDatabaseInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // A token that ensures idempotency. This token expires in 10 minutes. + ClientToken *string `location:"querystring" locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The name of the kdb database that you want to delete. + // + // DatabaseName is a required field + DatabaseName *string `location:"uri" locationName:"databaseName" min:"3" type:"string" required:"true"` + + // A unique identifier for the kdb environment. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"environmentId" 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 DeleteKxDatabaseInput) 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 DeleteKxDatabaseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteKxDatabaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteKxDatabaseInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 3)) + } + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *DeleteKxDatabaseInput) SetClientToken(v string) *DeleteKxDatabaseInput { + s.ClientToken = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *DeleteKxDatabaseInput) SetDatabaseName(v string) *DeleteKxDatabaseInput { + s.DatabaseName = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *DeleteKxDatabaseInput) SetEnvironmentId(v string) *DeleteKxDatabaseInput { + s.EnvironmentId = &v + return s +} + +type DeleteKxDatabaseOutput 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 DeleteKxDatabaseOutput) 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 DeleteKxDatabaseOutput) GoString() string { + return s.String() +} + +type DeleteKxEnvironmentInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // A unique identifier for the kdb environment. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"environmentId" 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 DeleteKxEnvironmentInput) 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 DeleteKxEnvironmentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteKxEnvironmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteKxEnvironmentInput"} + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *DeleteKxEnvironmentInput) SetEnvironmentId(v string) *DeleteKxEnvironmentInput { + s.EnvironmentId = &v + return s +} + +type DeleteKxEnvironmentOutput 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 DeleteKxEnvironmentOutput) 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 DeleteKxEnvironmentOutput) GoString() string { + return s.String() +} + +type DeleteKxUserInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // A unique identifier for the kdb environment. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"environmentId" min:"1" type:"string" required:"true"` + + // A unique identifier for the user that you want to delete. + // + // UserName is a required field + UserName *string `location:"uri" locationName:"userName" 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 DeleteKxUserInput) 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 DeleteKxUserInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteKxUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteKxUserInput"} + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + if s.UserName == nil { + invalidParams.Add(request.NewErrParamRequired("UserName")) + } + if s.UserName != nil && len(*s.UserName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *DeleteKxUserInput) SetEnvironmentId(v string) *DeleteKxUserInput { + s.EnvironmentId = &v + return s +} + +// SetUserName sets the UserName field's value. +func (s *DeleteKxUserInput) SetUserName(v string) *DeleteKxUserInput { + s.UserName = &v + return s +} + +type DeleteKxUserOutput 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 DeleteKxUserOutput) 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 DeleteKxUserOutput) GoString() string { + return s.String() +} + +// Represents an FinSpace environment. +type Environment struct { + _ struct{} `type:"structure"` + + // The ID of the AWS account in which the FinSpace environment is created. + AwsAccountId *string `locationName:"awsAccountId" min:"1" type:"string"` + + // The AWS account ID of the dedicated service account associated with your + // FinSpace environment. + DedicatedServiceAccountId *string `locationName:"dedicatedServiceAccountId" min:"1" type:"string"` + + // The description of the FinSpace environment. + Description *string `locationName:"description" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of your FinSpace environment. + EnvironmentArn *string `locationName:"environmentArn" min:"20" type:"string"` + + // The identifier of the FinSpace environment. + EnvironmentId *string `locationName:"environmentId" min:"1" type:"string"` + + // The sign-in URL for the web application of your FinSpace environment. + EnvironmentUrl *string `locationName:"environmentUrl" min:"1" type:"string"` + + // The authentication mode for the environment. + FederationMode *string `locationName:"federationMode" type:"string" enum:"FederationMode"` + + // Configuration information when authentication mode is FEDERATED. + FederationParameters *FederationParameters `locationName:"federationParameters" type:"structure"` + + // The KMS key id used to encrypt in the FinSpace environment. + KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` + + // The name of the FinSpace environment. + Name *string `locationName:"name" min:"1" type:"string"` + + // The URL of the integrated FinSpace notebook environment in your web application. + SageMakerStudioDomainUrl *string `locationName:"sageMakerStudioDomainUrl" min:"1" type:"string"` + + // The current status of creation of the FinSpace environment. + Status *string `locationName:"status" type:"string" enum:"EnvironmentStatus"` +} + +// 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 Environment) 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 Environment) GoString() string { + return s.String() +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *Environment) SetAwsAccountId(v string) *Environment { + s.AwsAccountId = &v + return s +} + +// SetDedicatedServiceAccountId sets the DedicatedServiceAccountId field's value. +func (s *Environment) SetDedicatedServiceAccountId(v string) *Environment { + s.DedicatedServiceAccountId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Environment) SetDescription(v string) *Environment { + s.Description = &v + return s +} + +// SetEnvironmentArn sets the EnvironmentArn field's value. +func (s *Environment) SetEnvironmentArn(v string) *Environment { + s.EnvironmentArn = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *Environment) SetEnvironmentId(v string) *Environment { + s.EnvironmentId = &v + return s +} + +// SetEnvironmentUrl sets the EnvironmentUrl field's value. +func (s *Environment) SetEnvironmentUrl(v string) *Environment { + s.EnvironmentUrl = &v + return s +} + +// SetFederationMode sets the FederationMode field's value. +func (s *Environment) SetFederationMode(v string) *Environment { + s.FederationMode = &v + return s +} + +// SetFederationParameters sets the FederationParameters field's value. +func (s *Environment) SetFederationParameters(v *FederationParameters) *Environment { + s.FederationParameters = v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *Environment) SetKmsKeyId(v string) *Environment { + s.KmsKeyId = &v + return s +} + +// SetName sets the Name field's value. +func (s *Environment) SetName(v string) *Environment { + s.Name = &v + return s +} + +// SetSageMakerStudioDomainUrl sets the SageMakerStudioDomainUrl field's value. +func (s *Environment) SetSageMakerStudioDomainUrl(v string) *Environment { + s.SageMakerStudioDomainUrl = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Environment) SetStatus(v string) *Environment { + s.Status = &v + return s +} + +// Provides details in the event of a failed flow, including the error type +// and the related error message. +type ErrorInfo struct { + _ struct{} `type:"structure"` + + // Specifies the error message that appears if a flow fails. + ErrorMessage *string `locationName:"errorMessage" type:"string"` + + // Specifies the type of error. + ErrorType *string `locationName:"errorType" type:"string" enum:"ErrorDetails"` +} + +// 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 ErrorInfo) 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 ErrorInfo) GoString() string { + return s.String() +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *ErrorInfo) SetErrorMessage(v string) *ErrorInfo { + s.ErrorMessage = &v + return s +} + +// SetErrorType sets the ErrorType field's value. +func (s *ErrorInfo) SetErrorType(v string) *ErrorInfo { + s.ErrorType = &v + return s +} + +// Configuration information when authentication mode is FEDERATED. +type FederationParameters struct { + _ struct{} `type:"structure"` + + // The redirect or sign-in URL that should be entered into the SAML 2.0 compliant + // identity provider configuration (IdP). + ApplicationCallBackURL *string `locationName:"applicationCallBackURL" min:"1" type:"string"` + + // SAML attribute name and value. The name must always be Email and the value + // should be set to the attribute definition in which user email is set. For + // example, name would be Email and value http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress. + // Please check your SAML 2.0 compliant identity provider (IdP) documentation + // for details. + AttributeMap map[string]*string `locationName:"attributeMap" type:"map"` + + // Name of the identity provider (IdP). + FederationProviderName *string `locationName:"federationProviderName" min:"1" type:"string"` + + // The Uniform Resource Name (URN). Also referred as Service Provider URN or + // Audience URI or Service Provider Entity ID. + FederationURN *string `locationName:"federationURN" min:"1" type:"string"` + + // SAML 2.0 Metadata document from identity provider (IdP). + SamlMetadataDocument *string `locationName:"samlMetadataDocument" min:"1000" type:"string"` + + // Provide the metadata URL from your SAML 2.0 compliant identity provider (IdP). + SamlMetadataURL *string `locationName:"samlMetadataURL" min:"1" 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 FederationParameters) 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 FederationParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FederationParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FederationParameters"} + if s.ApplicationCallBackURL != nil && len(*s.ApplicationCallBackURL) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationCallBackURL", 1)) + } + if s.FederationProviderName != nil && len(*s.FederationProviderName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FederationProviderName", 1)) + } + if s.FederationURN != nil && len(*s.FederationURN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FederationURN", 1)) + } + if s.SamlMetadataDocument != nil && len(*s.SamlMetadataDocument) < 1000 { + invalidParams.Add(request.NewErrParamMinLen("SamlMetadataDocument", 1000)) + } + if s.SamlMetadataURL != nil && len(*s.SamlMetadataURL) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SamlMetadataURL", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationCallBackURL sets the ApplicationCallBackURL field's value. +func (s *FederationParameters) SetApplicationCallBackURL(v string) *FederationParameters { + s.ApplicationCallBackURL = &v + return s +} + +// SetAttributeMap sets the AttributeMap field's value. +func (s *FederationParameters) SetAttributeMap(v map[string]*string) *FederationParameters { + s.AttributeMap = v + return s +} + +// SetFederationProviderName sets the FederationProviderName field's value. +func (s *FederationParameters) SetFederationProviderName(v string) *FederationParameters { + s.FederationProviderName = &v + return s +} + +// SetFederationURN sets the FederationURN field's value. +func (s *FederationParameters) SetFederationURN(v string) *FederationParameters { + s.FederationURN = &v + return s +} + +// SetSamlMetadataDocument sets the SamlMetadataDocument field's value. +func (s *FederationParameters) SetSamlMetadataDocument(v string) *FederationParameters { + s.SamlMetadataDocument = &v + return s +} + +// SetSamlMetadataURL sets the SamlMetadataURL field's value. +func (s *FederationParameters) SetSamlMetadataURL(v string) *FederationParameters { + s.SamlMetadataURL = &v + return s +} + +type GetEnvironmentInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The identifier of the FinSpace environment. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"environmentId" 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 GetEnvironmentInput) 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 GetEnvironmentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetEnvironmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetEnvironmentInput"} + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *GetEnvironmentInput) SetEnvironmentId(v string) *GetEnvironmentInput { + s.EnvironmentId = &v + return s +} + +type GetEnvironmentOutput struct { + _ struct{} `type:"structure"` + + // The name of the FinSpace environment. + Environment *Environment `locationName:"environment" 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 GetEnvironmentOutput) 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 GetEnvironmentOutput) GoString() string { + return s.String() +} + +// SetEnvironment sets the Environment field's value. +func (s *GetEnvironmentOutput) SetEnvironment(v *Environment) *GetEnvironmentOutput { + s.Environment = v + return s +} + +type GetKxChangesetInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // A unique identifier of the changeset for which you want to retrieve data. + // + // ChangesetId is a required field + ChangesetId *string `location:"uri" locationName:"changesetId" min:"1" type:"string" required:"true"` + + // The name of the kdb database. + // + // DatabaseName is a required field + DatabaseName *string `location:"uri" locationName:"databaseName" min:"3" type:"string" required:"true"` + + // A unique identifier for the kdb environment. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"environmentId" 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 GetKxChangesetInput) 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 GetKxChangesetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetKxChangesetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetKxChangesetInput"} + if s.ChangesetId == nil { + invalidParams.Add(request.NewErrParamRequired("ChangesetId")) + } + if s.ChangesetId != nil && len(*s.ChangesetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangesetId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 3)) + } + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChangesetId sets the ChangesetId field's value. +func (s *GetKxChangesetInput) SetChangesetId(v string) *GetKxChangesetInput { + s.ChangesetId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *GetKxChangesetInput) SetDatabaseName(v string) *GetKxChangesetInput { + s.DatabaseName = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *GetKxChangesetInput) SetEnvironmentId(v string) *GetKxChangesetInput { + s.EnvironmentId = &v + return s +} + +type GetKxChangesetOutput struct { + _ struct{} `type:"structure"` + + // Beginning time from which the changeset is active. The value is determined + // as epoch time in milliseconds. For example, the value for Monday, November + // 1, 2021 12:00:00 PM UTC is specified as 1635768000000. + ActiveFromTimestamp *time.Time `locationName:"activeFromTimestamp" type:"timestamp"` + + // A list of change request objects that are run in order. + ChangeRequests []*ChangeRequest `locationName:"changeRequests" min:"1" type:"list"` + + // A unique identifier for the changeset. + ChangesetId *string `locationName:"changesetId" min:"1" type:"string"` + + // The timestamp at which the changeset was created in FinSpace. The value is + // determined as epoch time in milliseconds. For example, the value for Monday, + // November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. + CreatedTimestamp *time.Time `locationName:"createdTimestamp" type:"timestamp"` + + // The name of the kdb database. + DatabaseName *string `locationName:"databaseName" min:"3" type:"string"` + + // A unique identifier for the kdb environment. + EnvironmentId *string `locationName:"environmentId" min:"1" type:"string"` + + // Provides details in the event of a failed flow, including the error type + // and the related error message. + ErrorInfo *ErrorInfo `locationName:"errorInfo" type:"structure"` + + // The timestamp at which the changeset was updated in FinSpace. The value is + // determined as epoch time in milliseconds. For example, the value for Monday, + // November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. + LastModifiedTimestamp *time.Time `locationName:"lastModifiedTimestamp" type:"timestamp"` + + // Status of the changeset creation process. + // + // * Pending – Changeset creation is pending. + // + // * Processing – Changeset creation is running. + // + // * Failed – Changeset creation has failed. + // + // * Complete – Changeset creation has succeeded. + Status *string `locationName:"status" type:"string" enum:"ChangesetStatus"` +} + +// 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 GetKxChangesetOutput) 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 GetKxChangesetOutput) GoString() string { + return s.String() +} + +// SetActiveFromTimestamp sets the ActiveFromTimestamp field's value. +func (s *GetKxChangesetOutput) SetActiveFromTimestamp(v time.Time) *GetKxChangesetOutput { + s.ActiveFromTimestamp = &v + return s +} + +// SetChangeRequests sets the ChangeRequests field's value. +func (s *GetKxChangesetOutput) SetChangeRequests(v []*ChangeRequest) *GetKxChangesetOutput { + s.ChangeRequests = v + return s +} + +// SetChangesetId sets the ChangesetId field's value. +func (s *GetKxChangesetOutput) SetChangesetId(v string) *GetKxChangesetOutput { + s.ChangesetId = &v + return s +} + +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *GetKxChangesetOutput) SetCreatedTimestamp(v time.Time) *GetKxChangesetOutput { + s.CreatedTimestamp = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *GetKxChangesetOutput) SetDatabaseName(v string) *GetKxChangesetOutput { + s.DatabaseName = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *GetKxChangesetOutput) SetEnvironmentId(v string) *GetKxChangesetOutput { + s.EnvironmentId = &v + return s +} + +// SetErrorInfo sets the ErrorInfo field's value. +func (s *GetKxChangesetOutput) SetErrorInfo(v *ErrorInfo) *GetKxChangesetOutput { + s.ErrorInfo = v + return s +} + +// SetLastModifiedTimestamp sets the LastModifiedTimestamp field's value. +func (s *GetKxChangesetOutput) SetLastModifiedTimestamp(v time.Time) *GetKxChangesetOutput { + s.LastModifiedTimestamp = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetKxChangesetOutput) SetStatus(v string) *GetKxChangesetOutput { + s.Status = &v + return s +} + +type GetKxClusterInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The name of the cluster that you want to retrieve. + // + // ClusterName is a required field + ClusterName *string `location:"uri" locationName:"clusterName" min:"3" type:"string" required:"true"` + + // A unique identifier for the kdb environment. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"environmentId" 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 GetKxClusterInput) 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 GetKxClusterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetKxClusterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetKxClusterInput"} + if s.ClusterName == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterName")) + } + if s.ClusterName != nil && len(*s.ClusterName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("ClusterName", 3)) + } + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterName sets the ClusterName field's value. +func (s *GetKxClusterInput) SetClusterName(v string) *GetKxClusterInput { + s.ClusterName = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *GetKxClusterInput) SetEnvironmentId(v string) *GetKxClusterInput { + s.EnvironmentId = &v + return s +} + +type GetKxClusterOutput struct { + _ struct{} `type:"structure"` + + // The configuration based on which FinSpace will scale in or scale out nodes + // in your cluster. + AutoScalingConfiguration *AutoScalingConfiguration `locationName:"autoScalingConfiguration" type:"structure"` + + // The availability zone identifiers for the requested regions. + AvailabilityZoneId *string `locationName:"availabilityZoneId" type:"string"` + + // The number of availability zones you want to assign per cluster. This can + // be one of the following + // + // * SINGLE – Assigns one availability zone per cluster. + // + // * MULTI – Assigns all the availability zones per cluster. + AzMode *string `locationName:"azMode" type:"string" enum:"KxAzMode"` + + // The configurations for a read only cache storage associated with a cluster. + // This cache will be stored as an FSx Lustre that reads from the S3 store. + CacheStorageConfigurations []*KxCacheStorageConfiguration `locationName:"cacheStorageConfigurations" type:"list"` + + // A structure for the metadata of a cluster. It includes information like the + // CPUs needed, memory of instances, number of instances, and the port used + // while establishing a connection. + CapacityConfiguration *CapacityConfiguration `locationName:"capacityConfiguration" type:"structure"` + + // A description of the cluster. + ClusterDescription *string `locationName:"clusterDescription" min:"1" type:"string"` + + // A unique name for the cluster. + ClusterName *string `locationName:"clusterName" min:"3" type:"string"` + + // Specifies the type of KDB database that is being created. The following types + // are available: + // + // * HDB – A Historical Database. The data is only accessible with read-only + // permissions from one of the FinSpace managed kdb databases mounted to + // the cluster. + // + // * RDB – A Realtime Database. This type of database captures all the + // data from a ticker plant and stores it in memory until the end of day, + // after which it writes all of its data to a disk and reloads the HDB. This + // cluster type requires local storage for temporary storage of data during + // the savedown process. If you specify this field in your request, you must + // provide the savedownStorageConfiguration parameter. + // + // * GATEWAY – A gateway cluster allows you to access data across processes + // in kdb systems. It allows you to create your own routing logic using the + // initialization scripts and custom code. This type of cluster does not + // require a writable local storage. + ClusterType *string `locationName:"clusterType" type:"string" enum:"KxClusterType"` + + // The details of the custom code that you want to use inside a cluster when + // analyzing a data. It consists of the S3 source bucket, location, S3 object + // version, and the relative path from where the custom code is loaded into + // the cluster. + Code *CodeConfiguration `locationName:"code" type:"structure"` + + // Defines key-value pairs to make them available inside the cluster. + CommandLineArguments []*KxCommandLineArgument `locationName:"commandLineArguments" type:"list"` + + // The timestamp at which the cluster was created in FinSpace. The value is + // determined as epoch time in milliseconds. For example, the value for Monday, + // November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. + CreatedTimestamp *time.Time `locationName:"createdTimestamp" type:"timestamp"` + + // A list of databases mounted on the cluster. + Databases []*KxDatabaseConfiguration `locationName:"databases" type:"list"` + + // An IAM role that defines a set of permissions associated with a cluster. + // These permissions are assumed when a cluster attempts to access another cluster. + ExecutionRole *string `locationName:"executionRole" min:"1" type:"string"` + + // Specifies a Q program that will be run at launch of a cluster. It is a relative + // path within .zip file that contains the custom code, which will be loaded + // on the cluster. It must include the file name itself. For example, somedir/init.q. + InitializationScript *string `locationName:"initializationScript" min:"1" type:"string"` + + // The last time that the cluster was modified. The value is determined as epoch + // time in milliseconds. For example, the value for Monday, November 1, 2021 + // 12:00:00 PM UTC is specified as 1635768000000. + LastModifiedTimestamp *time.Time `locationName:"lastModifiedTimestamp" type:"timestamp"` + + // The version of FinSpace managed kdb to run. + ReleaseLabel *string `locationName:"releaseLabel" min:"1" type:"string"` + + // The size and type of the temporary storage that is used to hold data during + // the savedown process. This parameter is required when you choose clusterType + // as RDB. All the data written to this storage space is lost when the cluster + // node is restarted. + SavedownStorageConfiguration *KxSavedownStorageConfiguration `locationName:"savedownStorageConfiguration" type:"structure"` + + // The status of cluster creation. + // + // * PENDING – The cluster is pending creation. + // + // * CREATING – The cluster creation process is in progress. + // + // * CREATE_FAILED – The cluster creation process has failed. + // + // * RUNNING – The cluster creation process is running. + // + // * UPDATING – The cluster is in the process of being updated. + // + // * DELETING – The cluster is in the process of being deleted. + // + // * DELETED – The cluster has been deleted. + // + // * DELETE_FAILED – The cluster failed to delete. + Status *string `locationName:"status" type:"string" enum:"KxClusterStatus"` + + // The error message when a failed state occurs. + StatusReason *string `locationName:"statusReason" min:"1" type:"string"` + + // Configuration details about the network where the Privatelink endpoint of + // the cluster resides. + VpcConfiguration *VpcConfiguration `locationName:"vpcConfiguration" 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 GetKxClusterOutput) 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 GetKxClusterOutput) GoString() string { + return s.String() +} + +// SetAutoScalingConfiguration sets the AutoScalingConfiguration field's value. +func (s *GetKxClusterOutput) SetAutoScalingConfiguration(v *AutoScalingConfiguration) *GetKxClusterOutput { + s.AutoScalingConfiguration = v + return s +} + +// SetAvailabilityZoneId sets the AvailabilityZoneId field's value. +func (s *GetKxClusterOutput) SetAvailabilityZoneId(v string) *GetKxClusterOutput { + s.AvailabilityZoneId = &v + return s +} + +// SetAzMode sets the AzMode field's value. +func (s *GetKxClusterOutput) SetAzMode(v string) *GetKxClusterOutput { + s.AzMode = &v + return s +} + +// SetCacheStorageConfigurations sets the CacheStorageConfigurations field's value. +func (s *GetKxClusterOutput) SetCacheStorageConfigurations(v []*KxCacheStorageConfiguration) *GetKxClusterOutput { + s.CacheStorageConfigurations = v + return s +} + +// SetCapacityConfiguration sets the CapacityConfiguration field's value. +func (s *GetKxClusterOutput) SetCapacityConfiguration(v *CapacityConfiguration) *GetKxClusterOutput { + s.CapacityConfiguration = v + return s +} + +// SetClusterDescription sets the ClusterDescription field's value. +func (s *GetKxClusterOutput) SetClusterDescription(v string) *GetKxClusterOutput { + s.ClusterDescription = &v + return s +} + +// SetClusterName sets the ClusterName field's value. +func (s *GetKxClusterOutput) SetClusterName(v string) *GetKxClusterOutput { + s.ClusterName = &v + return s +} + +// SetClusterType sets the ClusterType field's value. +func (s *GetKxClusterOutput) SetClusterType(v string) *GetKxClusterOutput { + s.ClusterType = &v + return s +} + +// SetCode sets the Code field's value. +func (s *GetKxClusterOutput) SetCode(v *CodeConfiguration) *GetKxClusterOutput { + s.Code = v + return s +} + +// SetCommandLineArguments sets the CommandLineArguments field's value. +func (s *GetKxClusterOutput) SetCommandLineArguments(v []*KxCommandLineArgument) *GetKxClusterOutput { + s.CommandLineArguments = v + return s +} + +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *GetKxClusterOutput) SetCreatedTimestamp(v time.Time) *GetKxClusterOutput { + s.CreatedTimestamp = &v + return s +} + +// SetDatabases sets the Databases field's value. +func (s *GetKxClusterOutput) SetDatabases(v []*KxDatabaseConfiguration) *GetKxClusterOutput { + s.Databases = v + return s +} + +// SetExecutionRole sets the ExecutionRole field's value. +func (s *GetKxClusterOutput) SetExecutionRole(v string) *GetKxClusterOutput { + s.ExecutionRole = &v + return s +} + +// SetInitializationScript sets the InitializationScript field's value. +func (s *GetKxClusterOutput) SetInitializationScript(v string) *GetKxClusterOutput { + s.InitializationScript = &v + return s +} + +// SetLastModifiedTimestamp sets the LastModifiedTimestamp field's value. +func (s *GetKxClusterOutput) SetLastModifiedTimestamp(v time.Time) *GetKxClusterOutput { + s.LastModifiedTimestamp = &v + return s +} + +// SetReleaseLabel sets the ReleaseLabel field's value. +func (s *GetKxClusterOutput) SetReleaseLabel(v string) *GetKxClusterOutput { + s.ReleaseLabel = &v + return s +} + +// SetSavedownStorageConfiguration sets the SavedownStorageConfiguration field's value. +func (s *GetKxClusterOutput) SetSavedownStorageConfiguration(v *KxSavedownStorageConfiguration) *GetKxClusterOutput { + s.SavedownStorageConfiguration = v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetKxClusterOutput) SetStatus(v string) *GetKxClusterOutput { + s.Status = &v + return s +} + +// SetStatusReason sets the StatusReason field's value. +func (s *GetKxClusterOutput) SetStatusReason(v string) *GetKxClusterOutput { + s.StatusReason = &v + return s +} + +// SetVpcConfiguration sets the VpcConfiguration field's value. +func (s *GetKxClusterOutput) SetVpcConfiguration(v *VpcConfiguration) *GetKxClusterOutput { + s.VpcConfiguration = v + return s +} + +type GetKxConnectionStringInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // A name of the kdb cluster. + // + // ClusterName is a required field + ClusterName *string `location:"querystring" locationName:"clusterName" min:"3" type:"string" required:"true"` + + // A unique identifier for the kdb environment. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"environmentId" min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) that identifies the user. For more information + // about ARNs and how to use ARNs in policies, see IAM Identifiers (IAM/latest/UserGuide/reference_identifiers.html) + // in the IAM User Guide. + // + // UserArn is a required field + UserArn *string `location:"querystring" locationName:"userArn" min:"20" 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 GetKxConnectionStringInput) 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 GetKxConnectionStringInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetKxConnectionStringInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetKxConnectionStringInput"} + if s.ClusterName == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterName")) + } + if s.ClusterName != nil && len(*s.ClusterName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("ClusterName", 3)) + } + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + if s.UserArn == nil { + invalidParams.Add(request.NewErrParamRequired("UserArn")) + } + if s.UserArn != nil && len(*s.UserArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("UserArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterName sets the ClusterName field's value. +func (s *GetKxConnectionStringInput) SetClusterName(v string) *GetKxConnectionStringInput { + s.ClusterName = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *GetKxConnectionStringInput) SetEnvironmentId(v string) *GetKxConnectionStringInput { + s.EnvironmentId = &v + return s +} + +// SetUserArn sets the UserArn field's value. +func (s *GetKxConnectionStringInput) SetUserArn(v string) *GetKxConnectionStringInput { + s.UserArn = &v + return s +} + +type GetKxConnectionStringOutput struct { + _ struct{} `type:"structure"` + + // The signed connection string that you can use to connect to clusters. + // + // SignedConnectionString is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by GetKxConnectionStringOutput's + // String and GoString methods. + SignedConnectionString *string `locationName:"signedConnectionString" min:"1" type:"string" sensitive:"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 GetKxConnectionStringOutput) 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 GetKxConnectionStringOutput) GoString() string { + return s.String() +} + +// SetSignedConnectionString sets the SignedConnectionString field's value. +func (s *GetKxConnectionStringOutput) SetSignedConnectionString(v string) *GetKxConnectionStringOutput { + s.SignedConnectionString = &v + return s +} + +type GetKxDatabaseInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The name of the kdb database. + // + // DatabaseName is a required field + DatabaseName *string `location:"uri" locationName:"databaseName" min:"3" type:"string" required:"true"` + + // A unique identifier for the kdb environment. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"environmentId" 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 GetKxDatabaseInput) 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 GetKxDatabaseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetKxDatabaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetKxDatabaseInput"} + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 3)) + } + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *GetKxDatabaseInput) SetDatabaseName(v string) *GetKxDatabaseInput { + s.DatabaseName = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *GetKxDatabaseInput) SetEnvironmentId(v string) *GetKxDatabaseInput { + s.EnvironmentId = &v + return s +} + +type GetKxDatabaseOutput struct { + _ struct{} `type:"structure"` + + // The timestamp at which the database is created in FinSpace. The value is + // determined as epoch time in milliseconds. For example, the value for Monday, + // November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. + CreatedTimestamp *time.Time `locationName:"createdTimestamp" type:"timestamp"` + + // The ARN identifier of the database. + DatabaseArn *string `locationName:"databaseArn" type:"string"` + + // The name of the kdb database for which the information is retrieved. + DatabaseName *string `locationName:"databaseName" min:"3" type:"string"` + + // A description of the database. + Description *string `locationName:"description" min:"1" type:"string"` + + // A unique identifier for the kdb environment. + EnvironmentId *string `locationName:"environmentId" min:"1" type:"string"` + + // A unique identifier for the changeset. + LastCompletedChangesetId *string `locationName:"lastCompletedChangesetId" min:"1" type:"string"` + + // The last time that the database was modified. The value is determined as + // epoch time in milliseconds. For example, the value for Monday, November 1, + // 2021 12:00:00 PM UTC is specified as 1635768000000. + LastModifiedTimestamp *time.Time `locationName:"lastModifiedTimestamp" type:"timestamp"` + + // The total number of bytes in the database. + NumBytes *int64 `locationName:"numBytes" type:"long"` + + // The total number of changesets in the database. + NumChangesets *int64 `locationName:"numChangesets" type:"integer"` + + // The total number of files in the database. + NumFiles *int64 `locationName:"numFiles" 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 GetKxDatabaseOutput) 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 GetKxDatabaseOutput) GoString() string { + return s.String() +} + +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *GetKxDatabaseOutput) SetCreatedTimestamp(v time.Time) *GetKxDatabaseOutput { + s.CreatedTimestamp = &v + return s +} + +// SetDatabaseArn sets the DatabaseArn field's value. +func (s *GetKxDatabaseOutput) SetDatabaseArn(v string) *GetKxDatabaseOutput { + s.DatabaseArn = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *GetKxDatabaseOutput) SetDatabaseName(v string) *GetKxDatabaseOutput { + s.DatabaseName = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetKxDatabaseOutput) SetDescription(v string) *GetKxDatabaseOutput { + s.Description = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *GetKxDatabaseOutput) SetEnvironmentId(v string) *GetKxDatabaseOutput { + s.EnvironmentId = &v + return s +} + +// SetLastCompletedChangesetId sets the LastCompletedChangesetId field's value. +func (s *GetKxDatabaseOutput) SetLastCompletedChangesetId(v string) *GetKxDatabaseOutput { + s.LastCompletedChangesetId = &v + return s +} + +// SetLastModifiedTimestamp sets the LastModifiedTimestamp field's value. +func (s *GetKxDatabaseOutput) SetLastModifiedTimestamp(v time.Time) *GetKxDatabaseOutput { + s.LastModifiedTimestamp = &v + return s +} + +// SetNumBytes sets the NumBytes field's value. +func (s *GetKxDatabaseOutput) SetNumBytes(v int64) *GetKxDatabaseOutput { + s.NumBytes = &v + return s +} + +// SetNumChangesets sets the NumChangesets field's value. +func (s *GetKxDatabaseOutput) SetNumChangesets(v int64) *GetKxDatabaseOutput { + s.NumChangesets = &v + return s +} + +// SetNumFiles sets the NumFiles field's value. +func (s *GetKxDatabaseOutput) SetNumFiles(v int64) *GetKxDatabaseOutput { + s.NumFiles = &v + return s +} + +type GetKxEnvironmentInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // A unique identifier for the kdb environment. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"environmentId" 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 GetKxEnvironmentInput) 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 GetKxEnvironmentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetKxEnvironmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetKxEnvironmentInput"} + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *GetKxEnvironmentInput) SetEnvironmentId(v string) *GetKxEnvironmentInput { + s.EnvironmentId = &v + return s +} + +type GetKxEnvironmentOutput struct { + _ struct{} `type:"structure"` + + // The identifier of the availability zones where subnets for the environment + // are created. + AvailabilityZoneIds []*string `locationName:"availabilityZoneIds" type:"list"` + + // The unique identifier of the AWS account that is used to create the kdb environment. + AwsAccountId *string `locationName:"awsAccountId" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the certificate authority of the kdb environment. + CertificateAuthorityArn *string `locationName:"certificateAuthorityArn" min:"1" type:"string"` + + // The timestamp at which the kdb environment was created in FinSpace. + CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"` + + // A list of DNS server name and server IP. This is used to set up Route-53 + // outbound resolvers. + CustomDNSConfiguration []*CustomDNSServer `locationName:"customDNSConfiguration" type:"list"` + + // A unique identifier for the AWS environment infrastructure account. + DedicatedServiceAccountId *string `locationName:"dedicatedServiceAccountId" min:"1" type:"string"` + + // A description for the kdb environment. + Description *string `locationName:"description" min:"1" type:"string"` + + // The status of DNS configuration. + DnsStatus *string `locationName:"dnsStatus" type:"string" enum:"DnsStatus"` + + // The ARN identifier of the environment. + EnvironmentArn *string `locationName:"environmentArn" min:"20" type:"string"` + + // A unique identifier for the kdb environment. + EnvironmentId *string `locationName:"environmentId" min:"1" type:"string"` + + // Specifies the error message that appears if a flow fails. + ErrorMessage *string `locationName:"errorMessage" type:"string"` + + // The KMS key ID to encrypt your data in the FinSpace environment. + KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` + + // The name of the kdb environment. + Name *string `locationName:"name" min:"3" type:"string"` + + // The status of the kdb environment. + Status *string `locationName:"status" type:"string" enum:"EnvironmentStatus"` + + // The status of the network configuration. + TgwStatus *string `locationName:"tgwStatus" type:"string" enum:"TgwStatus"` + + // The structure of the transit gateway and network configuration that is used + // to connect the kdb environment to an internal network. + TransitGatewayConfiguration *TransitGatewayConfiguration `locationName:"transitGatewayConfiguration" type:"structure"` + + // The timestamp at which the kdb environment was updated. + UpdateTimestamp *time.Time `locationName:"updateTimestamp" type:"timestamp"` +} + +// 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 GetKxEnvironmentOutput) 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 GetKxEnvironmentOutput) GoString() string { + return s.String() +} + +// SetAvailabilityZoneIds sets the AvailabilityZoneIds field's value. +func (s *GetKxEnvironmentOutput) SetAvailabilityZoneIds(v []*string) *GetKxEnvironmentOutput { + s.AvailabilityZoneIds = v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *GetKxEnvironmentOutput) SetAwsAccountId(v string) *GetKxEnvironmentOutput { + s.AwsAccountId = &v + return s +} + +// SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value. +func (s *GetKxEnvironmentOutput) SetCertificateAuthorityArn(v string) *GetKxEnvironmentOutput { + s.CertificateAuthorityArn = &v + return s +} + +// SetCreationTimestamp sets the CreationTimestamp field's value. +func (s *GetKxEnvironmentOutput) SetCreationTimestamp(v time.Time) *GetKxEnvironmentOutput { + s.CreationTimestamp = &v + return s +} + +// SetCustomDNSConfiguration sets the CustomDNSConfiguration field's value. +func (s *GetKxEnvironmentOutput) SetCustomDNSConfiguration(v []*CustomDNSServer) *GetKxEnvironmentOutput { + s.CustomDNSConfiguration = v + return s +} + +// SetDedicatedServiceAccountId sets the DedicatedServiceAccountId field's value. +func (s *GetKxEnvironmentOutput) SetDedicatedServiceAccountId(v string) *GetKxEnvironmentOutput { + s.DedicatedServiceAccountId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetKxEnvironmentOutput) SetDescription(v string) *GetKxEnvironmentOutput { + s.Description = &v + return s +} + +// SetDnsStatus sets the DnsStatus field's value. +func (s *GetKxEnvironmentOutput) SetDnsStatus(v string) *GetKxEnvironmentOutput { + s.DnsStatus = &v + return s +} + +// SetEnvironmentArn sets the EnvironmentArn field's value. +func (s *GetKxEnvironmentOutput) SetEnvironmentArn(v string) *GetKxEnvironmentOutput { + s.EnvironmentArn = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *GetKxEnvironmentOutput) SetEnvironmentId(v string) *GetKxEnvironmentOutput { + s.EnvironmentId = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *GetKxEnvironmentOutput) SetErrorMessage(v string) *GetKxEnvironmentOutput { + s.ErrorMessage = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *GetKxEnvironmentOutput) SetKmsKeyId(v string) *GetKxEnvironmentOutput { + s.KmsKeyId = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetKxEnvironmentOutput) SetName(v string) *GetKxEnvironmentOutput { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetKxEnvironmentOutput) SetStatus(v string) *GetKxEnvironmentOutput { + s.Status = &v + return s +} + +// SetTgwStatus sets the TgwStatus field's value. +func (s *GetKxEnvironmentOutput) SetTgwStatus(v string) *GetKxEnvironmentOutput { + s.TgwStatus = &v + return s +} + +// SetTransitGatewayConfiguration sets the TransitGatewayConfiguration field's value. +func (s *GetKxEnvironmentOutput) SetTransitGatewayConfiguration(v *TransitGatewayConfiguration) *GetKxEnvironmentOutput { + s.TransitGatewayConfiguration = v + return s +} + +// SetUpdateTimestamp sets the UpdateTimestamp field's value. +func (s *GetKxEnvironmentOutput) SetUpdateTimestamp(v time.Time) *GetKxEnvironmentOutput { + s.UpdateTimestamp = &v + return s +} + +type GetKxUserInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // A unique identifier for the kdb environment. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"environmentId" min:"1" type:"string" required:"true"` + + // A unique identifier for the user. + // + // UserName is a required field + UserName *string `location:"uri" locationName:"userName" 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 GetKxUserInput) 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 GetKxUserInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetKxUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetKxUserInput"} + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + if s.UserName == nil { + invalidParams.Add(request.NewErrParamRequired("UserName")) + } + if s.UserName != nil && len(*s.UserName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *GetKxUserInput) SetEnvironmentId(v string) *GetKxUserInput { + s.EnvironmentId = &v + return s +} + +// SetUserName sets the UserName field's value. +func (s *GetKxUserInput) SetUserName(v string) *GetKxUserInput { + s.UserName = &v + return s +} + +type GetKxUserOutput struct { + _ struct{} `type:"structure"` + + // A unique identifier for the kdb environment. + EnvironmentId *string `locationName:"environmentId" min:"1" type:"string"` + + // The IAM role ARN that is associated with the user. + IamRole *string `locationName:"iamRole" min:"20" type:"string"` + + // The Amazon Resource Name (ARN) that identifies the user. For more information + // about ARNs and how to use ARNs in policies, see IAM Identifiers (IAM/latest/UserGuide/reference_identifiers.html) + // in the IAM User Guide. + UserArn *string `locationName:"userArn" min:"20" type:"string"` + + // A unique identifier for the user. + UserName *string `locationName:"userName" min:"1" 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 GetKxUserOutput) 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 GetKxUserOutput) GoString() string { + return s.String() +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *GetKxUserOutput) SetEnvironmentId(v string) *GetKxUserOutput { + s.EnvironmentId = &v + return s +} + +// SetIamRole sets the IamRole field's value. +func (s *GetKxUserOutput) SetIamRole(v string) *GetKxUserOutput { + s.IamRole = &v + return s +} + +// SetUserArn sets the UserArn field's value. +func (s *GetKxUserOutput) SetUserArn(v string) *GetKxUserOutput { + s.UserArn = &v + return s +} + +// SetUserName sets the UserName field's value. +func (s *GetKxUserOutput) SetUserName(v string) *GetKxUserOutput { + s.UserName = &v + return s +} + +// The request processing has failed because of an unknown error, exception +// or failure. +type InternalServerException 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 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", s.Code(), s.Message()) +} + +// 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 +} + +// The request is invalid. Something is wrong with the input to the request. +type InvalidRequestException 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 InvalidRequestException) 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 InvalidRequestException) GoString() string { + return s.String() +} + +func newErrorInvalidRequestException(v protocol.ResponseMetadata) error { + return &InvalidRequestException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidRequestException) Code() string { + return "InvalidRequestException" +} + +// Message returns the exception's message. +func (s *InvalidRequestException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidRequestException) OrigErr() error { + return nil +} + +func (s *InvalidRequestException) 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 *InvalidRequestException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidRequestException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The configuration for read only disk cache associated with a cluster. +type KxCacheStorageConfiguration struct { + _ struct{} `type:"structure"` + + // The size of cache in Gigabytes. + // + // Size is a required field + Size *int64 `locationName:"size" min:"1200" type:"integer" required:"true"` + + // The type of cache storage . The valid values are: + // + // * CACHE_1000 – This type provides at least 1000 MB/s disk access throughput. + // + // Type is a required field + Type *string `locationName:"type" min:"8" 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 KxCacheStorageConfiguration) 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 KxCacheStorageConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KxCacheStorageConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KxCacheStorageConfiguration"} + if s.Size == nil { + invalidParams.Add(request.NewErrParamRequired("Size")) + } + if s.Size != nil && *s.Size < 1200 { + invalidParams.Add(request.NewErrParamMinValue("Size", 1200)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Type != nil && len(*s.Type) < 8 { + invalidParams.Add(request.NewErrParamMinLen("Type", 8)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSize sets the Size field's value. +func (s *KxCacheStorageConfiguration) SetSize(v int64) *KxCacheStorageConfiguration { + s.Size = &v + return s +} + +// SetType sets the Type field's value. +func (s *KxCacheStorageConfiguration) SetType(v string) *KxCacheStorageConfiguration { + s.Type = &v + return s +} + +// Details of changeset. +type KxChangesetListEntry struct { + _ struct{} `type:"structure"` + + // Beginning time from which the changeset is active. The value is determined + // as epoch time in milliseconds. For example, the value for Monday, November + // 1, 2021 12:00:00 PM UTC is specified as 1635768000000. + ActiveFromTimestamp *time.Time `locationName:"activeFromTimestamp" type:"timestamp"` + + // A unique identifier for the changeset. + ChangesetId *string `locationName:"changesetId" min:"1" type:"string"` + + // The timestamp at which the changeset was created in FinSpace. The value is + // determined as epoch time in milliseconds. For example, the value for Monday, + // November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. + CreatedTimestamp *time.Time `locationName:"createdTimestamp" type:"timestamp"` + + // The timestamp at which the changeset was modified. The value is determined + // as epoch time in milliseconds. For example, the value for Monday, November + // 1, 2021 12:00:00 PM UTC is specified as 1635768000000. + LastModifiedTimestamp *time.Time `locationName:"lastModifiedTimestamp" type:"timestamp"` + + // Status of the changeset. + // + // * Pending – Changeset creation is pending. + // + // * Processing – Changeset creation is running. + // + // * Failed – Changeset creation has failed. + // + // * Complete – Changeset creation has succeeded. + Status *string `locationName:"status" type:"string" enum:"ChangesetStatus"` +} + +// 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 KxChangesetListEntry) 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 KxChangesetListEntry) GoString() string { + return s.String() +} + +// SetActiveFromTimestamp sets the ActiveFromTimestamp field's value. +func (s *KxChangesetListEntry) SetActiveFromTimestamp(v time.Time) *KxChangesetListEntry { + s.ActiveFromTimestamp = &v + return s +} + +// SetChangesetId sets the ChangesetId field's value. +func (s *KxChangesetListEntry) SetChangesetId(v string) *KxChangesetListEntry { + s.ChangesetId = &v + return s +} + +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *KxChangesetListEntry) SetCreatedTimestamp(v time.Time) *KxChangesetListEntry { + s.CreatedTimestamp = &v + return s +} + +// SetLastModifiedTimestamp sets the LastModifiedTimestamp field's value. +func (s *KxChangesetListEntry) SetLastModifiedTimestamp(v time.Time) *KxChangesetListEntry { + s.LastModifiedTimestamp = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *KxChangesetListEntry) SetStatus(v string) *KxChangesetListEntry { + s.Status = &v + return s +} + +// The details of a kdb cluster. +type KxCluster struct { + _ struct{} `type:"structure"` + + // The availability zone identifiers for the requested regions. + AvailabilityZoneId *string `locationName:"availabilityZoneId" type:"string"` + + // The number of availability zones assigned per cluster. This can be one of + // the following + // + // * SINGLE – Assigns one availability zone per cluster. + // + // * MULTI – Assigns all the availability zones per cluster. + AzMode *string `locationName:"azMode" type:"string" enum:"KxAzMode"` + + // A description of the cluster. + ClusterDescription *string `locationName:"clusterDescription" min:"1" type:"string"` + + // A unique name for the cluster. + ClusterName *string `locationName:"clusterName" min:"3" type:"string"` + + // Specifies the type of KDB database that is being created. The following types + // are available: + // + // * HDB – A Historical Database. The data is only accessible with read-only + // permissions from one of the FinSpace managed kdb databases mounted to + // the cluster. + // + // * RDB – A Realtime Database. This type of database captures all the + // data from a ticker plant and stores it in memory until the end of day, + // after which it writes all of its data to a disk and reloads the HDB. This + // cluster type requires local storage for temporary storage of data during + // the savedown process. If you specify this field in your request, you must + // provide the savedownStorageConfiguration parameter. + // + // * GATEWAY – A gateway cluster allows you to access data across processes + // in kdb systems. It allows you to create your own routing logic using the + // initialization scripts and custom code. This type of cluster does not + // require a writable local storage. + ClusterType *string `locationName:"clusterType" type:"string" enum:"KxClusterType"` + + // The timestamp at which the cluster was created in FinSpace. The value is + // determined as epoch time in milliseconds. For example, the value for Monday, + // November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. + CreatedTimestamp *time.Time `locationName:"createdTimestamp" type:"timestamp"` + + // An IAM role that defines a set of permissions associated with a cluster. + // These permissions are assumed when a cluster attempts to access another cluster. + ExecutionRole *string `locationName:"executionRole" min:"1" type:"string"` + + // Specifies a Q program that will be run at launch of a cluster. It is a relative + // path within .zip file that contains the custom code, which will be loaded + // on the cluster. It must include the file name itself. For example, somedir/init.q. + InitializationScript *string `locationName:"initializationScript" min:"1" type:"string"` + + // The last time that the cluster was modified. The value is determined as epoch + // time in milliseconds. For example, the value for Monday, November 1, 2021 + // 12:00:00 PM UTC is specified as 1635768000000. + LastModifiedTimestamp *time.Time `locationName:"lastModifiedTimestamp" type:"timestamp"` + + // A version of the FinSpace managed kdb to run. + ReleaseLabel *string `locationName:"releaseLabel" min:"1" type:"string"` + + // The status of a cluster. + // + // * PENDING – The cluster is pending creation. + // + // * CREATING –The cluster creation process is in progress. + // + // * CREATE_FAILED– The cluster creation process has failed. + // + // * RUNNING – The cluster creation process is running. + // + // * UPDATING – The cluster is in the process of being updated. + // + // * DELETING – The cluster is in the process of being deleted. + // + // * DELETED – The cluster has been deleted. + // + // * DELETE_FAILED – The cluster failed to delete. + Status *string `locationName:"status" type:"string" enum:"KxClusterStatus"` + + // The error message when a failed state occurs. + StatusReason *string `locationName:"statusReason" min:"1" 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 KxCluster) 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 KxCluster) GoString() string { + return s.String() +} + +// SetAvailabilityZoneId sets the AvailabilityZoneId field's value. +func (s *KxCluster) SetAvailabilityZoneId(v string) *KxCluster { + s.AvailabilityZoneId = &v + return s +} + +// SetAzMode sets the AzMode field's value. +func (s *KxCluster) SetAzMode(v string) *KxCluster { + s.AzMode = &v + return s +} + +// SetClusterDescription sets the ClusterDescription field's value. +func (s *KxCluster) SetClusterDescription(v string) *KxCluster { + s.ClusterDescription = &v + return s +} + +// SetClusterName sets the ClusterName field's value. +func (s *KxCluster) SetClusterName(v string) *KxCluster { + s.ClusterName = &v + return s +} + +// SetClusterType sets the ClusterType field's value. +func (s *KxCluster) SetClusterType(v string) *KxCluster { + s.ClusterType = &v + return s +} + +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *KxCluster) SetCreatedTimestamp(v time.Time) *KxCluster { + s.CreatedTimestamp = &v + return s +} + +// SetExecutionRole sets the ExecutionRole field's value. +func (s *KxCluster) SetExecutionRole(v string) *KxCluster { + s.ExecutionRole = &v + return s +} + +// SetInitializationScript sets the InitializationScript field's value. +func (s *KxCluster) SetInitializationScript(v string) *KxCluster { + s.InitializationScript = &v + return s +} + +// SetLastModifiedTimestamp sets the LastModifiedTimestamp field's value. +func (s *KxCluster) SetLastModifiedTimestamp(v time.Time) *KxCluster { + s.LastModifiedTimestamp = &v + return s +} + +// SetReleaseLabel sets the ReleaseLabel field's value. +func (s *KxCluster) SetReleaseLabel(v string) *KxCluster { + s.ReleaseLabel = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *KxCluster) SetStatus(v string) *KxCluster { + s.Status = &v + return s +} + +// SetStatusReason sets the StatusReason field's value. +func (s *KxCluster) SetStatusReason(v string) *KxCluster { + s.StatusReason = &v + return s +} + +// Defines the key-value pairs to make them available inside the cluster. +type KxCommandLineArgument struct { + _ struct{} `type:"structure"` + + // The name of the key. + Key *string `locationName:"key" min:"1" type:"string"` + + // The value of the key. + Value *string `locationName:"value" min:"1" 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 KxCommandLineArgument) 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 KxCommandLineArgument) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KxCommandLineArgument) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KxCommandLineArgument"} + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Value != nil && len(*s.Value) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *KxCommandLineArgument) SetKey(v string) *KxCommandLineArgument { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *KxCommandLineArgument) SetValue(v string) *KxCommandLineArgument { + s.Value = &v + return s +} + +// The structure of database cache configuration that is used for mapping database +// paths to cache types in clusters. +type KxDatabaseCacheConfiguration struct { + _ struct{} `type:"structure"` + + // The type of disk cache. This parameter is used to map the database path to + // cache storage. The valid values are: + // + // * CACHE_1000 – This type provides at least 1000 MB/s disk access throughput. + // + // CacheType is a required field + CacheType *string `locationName:"cacheType" min:"8" type:"string" required:"true"` + + // Specifies the portions of database that will be loaded into the cache for + // access. + // + // DbPaths is a required field + DbPaths []*string `locationName:"dbPaths" 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 KxDatabaseCacheConfiguration) 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 KxDatabaseCacheConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KxDatabaseCacheConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KxDatabaseCacheConfiguration"} + if s.CacheType == nil { + invalidParams.Add(request.NewErrParamRequired("CacheType")) + } + if s.CacheType != nil && len(*s.CacheType) < 8 { + invalidParams.Add(request.NewErrParamMinLen("CacheType", 8)) + } + if s.DbPaths == nil { + invalidParams.Add(request.NewErrParamRequired("DbPaths")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCacheType sets the CacheType field's value. +func (s *KxDatabaseCacheConfiguration) SetCacheType(v string) *KxDatabaseCacheConfiguration { + s.CacheType = &v + return s +} + +// SetDbPaths sets the DbPaths field's value. +func (s *KxDatabaseCacheConfiguration) SetDbPaths(v []*string) *KxDatabaseCacheConfiguration { + s.DbPaths = v + return s +} + +// The configuration of data that is available for querying from this database. +type KxDatabaseConfiguration struct { + _ struct{} `type:"structure"` + + // Configuration details for the disk cache used to increase performance reading + // from a kdb database mounted to the cluster. + CacheConfigurations []*KxDatabaseCacheConfiguration `locationName:"cacheConfigurations" type:"list"` + + // A unique identifier of the changeset that is associated with the cluster. + ChangesetId *string `locationName:"changesetId" min:"1" type:"string"` + + // The name of the kdb database. When this parameter is specified in the structure, + // S3 with the whole database is included by default. + // + // DatabaseName is a required field + DatabaseName *string `locationName:"databaseName" min:"3" 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 KxDatabaseConfiguration) 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 KxDatabaseConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KxDatabaseConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KxDatabaseConfiguration"} + if s.ChangesetId != nil && len(*s.ChangesetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangesetId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 3)) + } + if s.CacheConfigurations != nil { + for i, v := range s.CacheConfigurations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CacheConfigurations", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCacheConfigurations sets the CacheConfigurations field's value. +func (s *KxDatabaseConfiguration) SetCacheConfigurations(v []*KxDatabaseCacheConfiguration) *KxDatabaseConfiguration { + s.CacheConfigurations = v + return s +} + +// SetChangesetId sets the ChangesetId field's value. +func (s *KxDatabaseConfiguration) SetChangesetId(v string) *KxDatabaseConfiguration { + s.ChangesetId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *KxDatabaseConfiguration) SetDatabaseName(v string) *KxDatabaseConfiguration { + s.DatabaseName = &v + return s +} + +// Details about a FinSpace managed kdb database +type KxDatabaseListEntry struct { + _ struct{} `type:"structure"` + + // The timestamp at which the database was created in FinSpace. The value is + // determined as epoch time in milliseconds. For example, the value for Monday, + // November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. + CreatedTimestamp *time.Time `locationName:"createdTimestamp" type:"timestamp"` + + // The name of the kdb database. + DatabaseName *string `locationName:"databaseName" min:"3" type:"string"` + + // The last time that the database was modified. The value is determined as + // epoch time in milliseconds. For example, the value for Monday, November 1, + // 2021 12:00:00 PM UTC is specified as 1635768000000. + LastModifiedTimestamp *time.Time `locationName:"lastModifiedTimestamp" type:"timestamp"` +} + +// 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 KxDatabaseListEntry) 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 KxDatabaseListEntry) GoString() string { + return s.String() +} + +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *KxDatabaseListEntry) SetCreatedTimestamp(v time.Time) *KxDatabaseListEntry { + s.CreatedTimestamp = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *KxDatabaseListEntry) SetDatabaseName(v string) *KxDatabaseListEntry { + s.DatabaseName = &v + return s +} + +// SetLastModifiedTimestamp sets the LastModifiedTimestamp field's value. +func (s *KxDatabaseListEntry) SetLastModifiedTimestamp(v time.Time) *KxDatabaseListEntry { + s.LastModifiedTimestamp = &v + return s +} + +// The details of a kdb environment. +type KxEnvironment struct { + _ struct{} `type:"structure"` + + // The identifier of the availability zones where subnets for the environment + // are created. + AvailabilityZoneIds []*string `locationName:"availabilityZoneIds" type:"list"` + + // The unique identifier of the AWS account in which you create the kdb environment. + AwsAccountId *string `locationName:"awsAccountId" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the certificate authority: + CertificateAuthorityArn *string `locationName:"certificateAuthorityArn" min:"1" type:"string"` + + // The timestamp at which the kdb environment was created in FinSpace. The value + // is determined as epoch time in milliseconds. For example, the value for Monday, + // November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. + CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"` + + // A list of DNS server name and server IP. This is used to set up Route-53 + // outbound resolvers. + CustomDNSConfiguration []*CustomDNSServer `locationName:"customDNSConfiguration" type:"list"` + + // A unique identifier for the AWS environment infrastructure account. + DedicatedServiceAccountId *string `locationName:"dedicatedServiceAccountId" min:"1" type:"string"` + + // A description of the kdb environment. + Description *string `locationName:"description" min:"1" type:"string"` + + // The status of DNS configuration. + DnsStatus *string `locationName:"dnsStatus" type:"string" enum:"DnsStatus"` + + // The Amazon Resource Name (ARN) of your kdb environment. + EnvironmentArn *string `locationName:"environmentArn" min:"20" type:"string"` + + // A unique identifier for the kdb environment. + EnvironmentId *string `locationName:"environmentId" min:"1" type:"string"` + + // Specifies the error message that appears if a flow fails. + ErrorMessage *string `locationName:"errorMessage" type:"string"` + + // The unique identifier of the KMS key. + KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` + + // The name of the kdb environment. + Name *string `locationName:"name" min:"3" type:"string"` + + // The status of the environment creation. + // + // * CREATE_REQUESTED – Environment creation has been requested. + // + // * CREATING – Environment is in the process of being created. + // + // * FAILED_CREATION – Environment creation has failed. + // + // * CREATED – Environment is successfully created and is currently active. + // + // * DELETE REQUESTED – Environment deletion has been requested. + // + // * DELETING – Environment is in the process of being deleted. + // + // * RETRY_DELETION – Initial environment deletion failed, system is reattempting + // delete. + // + // * DELETED – Environment has been deleted. + // + // * FAILED_DELETION – Environment deletion has failed. + Status *string `locationName:"status" type:"string" enum:"EnvironmentStatus"` + + // The status of the network configuration. + TgwStatus *string `locationName:"tgwStatus" type:"string" enum:"TgwStatus"` + + // Specifies the transit gateway and network configuration to connect the kdb + // environment to an internal network. + TransitGatewayConfiguration *TransitGatewayConfiguration `locationName:"transitGatewayConfiguration" type:"structure"` + + // The timestamp at which the kdb environment was modified in FinSpace. The + // value is determined as epoch time in milliseconds. For example, the value + // for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. + UpdateTimestamp *time.Time `locationName:"updateTimestamp" type:"timestamp"` +} + +// 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 KxEnvironment) 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 KxEnvironment) GoString() string { + return s.String() +} + +// SetAvailabilityZoneIds sets the AvailabilityZoneIds field's value. +func (s *KxEnvironment) SetAvailabilityZoneIds(v []*string) *KxEnvironment { + s.AvailabilityZoneIds = v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *KxEnvironment) SetAwsAccountId(v string) *KxEnvironment { + s.AwsAccountId = &v + return s +} + +// SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value. +func (s *KxEnvironment) SetCertificateAuthorityArn(v string) *KxEnvironment { + s.CertificateAuthorityArn = &v + return s +} + +// SetCreationTimestamp sets the CreationTimestamp field's value. +func (s *KxEnvironment) SetCreationTimestamp(v time.Time) *KxEnvironment { + s.CreationTimestamp = &v + return s +} + +// SetCustomDNSConfiguration sets the CustomDNSConfiguration field's value. +func (s *KxEnvironment) SetCustomDNSConfiguration(v []*CustomDNSServer) *KxEnvironment { + s.CustomDNSConfiguration = v + return s +} + +// SetDedicatedServiceAccountId sets the DedicatedServiceAccountId field's value. +func (s *KxEnvironment) SetDedicatedServiceAccountId(v string) *KxEnvironment { + s.DedicatedServiceAccountId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *KxEnvironment) SetDescription(v string) *KxEnvironment { + s.Description = &v + return s +} + +// SetDnsStatus sets the DnsStatus field's value. +func (s *KxEnvironment) SetDnsStatus(v string) *KxEnvironment { + s.DnsStatus = &v + return s +} + +// SetEnvironmentArn sets the EnvironmentArn field's value. +func (s *KxEnvironment) SetEnvironmentArn(v string) *KxEnvironment { + s.EnvironmentArn = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *KxEnvironment) SetEnvironmentId(v string) *KxEnvironment { + s.EnvironmentId = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *KxEnvironment) SetErrorMessage(v string) *KxEnvironment { + s.ErrorMessage = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *KxEnvironment) SetKmsKeyId(v string) *KxEnvironment { + s.KmsKeyId = &v + return s +} + +// SetName sets the Name field's value. +func (s *KxEnvironment) SetName(v string) *KxEnvironment { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *KxEnvironment) SetStatus(v string) *KxEnvironment { + s.Status = &v + return s +} + +// SetTgwStatus sets the TgwStatus field's value. +func (s *KxEnvironment) SetTgwStatus(v string) *KxEnvironment { + s.TgwStatus = &v + return s +} + +// SetTransitGatewayConfiguration sets the TransitGatewayConfiguration field's value. +func (s *KxEnvironment) SetTransitGatewayConfiguration(v *TransitGatewayConfiguration) *KxEnvironment { + s.TransitGatewayConfiguration = v + return s +} + +// SetUpdateTimestamp sets the UpdateTimestamp field's value. +func (s *KxEnvironment) SetUpdateTimestamp(v time.Time) *KxEnvironment { + s.UpdateTimestamp = &v + return s +} + +// A structure that stores metadata for a kdb node. +type KxNode struct { + _ struct{} `type:"structure"` + + // The identifier of the availability zones where subnets for the environment + // are created. + AvailabilityZoneId *string `locationName:"availabilityZoneId" type:"string"` + + // The time when a particular node is started. The value is determined as epoch + // time in milliseconds. For example, the value for Monday, November 1, 2021 + // 12:00:00 PM UTC is specified as 1635768000000. + LaunchTime *time.Time `locationName:"launchTime" type:"timestamp"` + + // A unique identifier for the node. + NodeId *string `locationName:"nodeId" min:"1" 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 KxNode) 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 KxNode) GoString() string { + return s.String() +} + +// SetAvailabilityZoneId sets the AvailabilityZoneId field's value. +func (s *KxNode) SetAvailabilityZoneId(v string) *KxNode { + s.AvailabilityZoneId = &v + return s +} + +// SetLaunchTime sets the LaunchTime field's value. +func (s *KxNode) SetLaunchTime(v time.Time) *KxNode { + s.LaunchTime = &v + return s +} + +// SetNodeId sets the NodeId field's value. +func (s *KxNode) SetNodeId(v string) *KxNode { + s.NodeId = &v + return s +} + +// The size and type of temporary storage that is used to hold data during the +// savedown process. All the data written to this storage space is lost when +// the cluster node is restarted. +type KxSavedownStorageConfiguration struct { + _ struct{} `type:"structure"` + + // The size of temporary storage in bytes. + // + // Size is a required field + Size *int64 `locationName:"size" min:"4" type:"integer" required:"true"` + + // The type of writeable storage space for temporarily storing your savedown + // data. The valid values are: + // + // * SDS01 – This type represents 3000 IOPS and io2 ebs volume type. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"KxSavedownStorageType"` +} + +// 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 KxSavedownStorageConfiguration) 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 KxSavedownStorageConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KxSavedownStorageConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KxSavedownStorageConfiguration"} + if s.Size == nil { + invalidParams.Add(request.NewErrParamRequired("Size")) + } + if s.Size != nil && *s.Size < 4 { + invalidParams.Add(request.NewErrParamMinValue("Size", 4)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSize sets the Size field's value. +func (s *KxSavedownStorageConfiguration) SetSize(v int64) *KxSavedownStorageConfiguration { + s.Size = &v + return s +} + +// SetType sets the Type field's value. +func (s *KxSavedownStorageConfiguration) SetType(v string) *KxSavedownStorageConfiguration { + s.Type = &v + return s +} + +// A structure that stores metadata for a kdb user. +type KxUser struct { + _ struct{} `type:"structure"` + + // The timestamp at which the kdb user was created. + CreateTimestamp *time.Time `locationName:"createTimestamp" type:"timestamp"` + + // The IAM role ARN that is associated with the user. + IamRole *string `locationName:"iamRole" min:"20" type:"string"` + + // The timestamp at which the kdb user was updated. + UpdateTimestamp *time.Time `locationName:"updateTimestamp" type:"timestamp"` + + // The Amazon Resource Name (ARN) that identifies the user. For more information + // about ARNs and how to use ARNs in policies, see IAM Identifiers (IAM/latest/UserGuide/reference_identifiers.html) + // in the IAM User Guide. + UserArn *string `locationName:"userArn" min:"20" type:"string"` + + // A unique identifier for the user. + UserName *string `locationName:"userName" min:"1" 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 KxUser) 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 KxUser) GoString() string { + return s.String() +} + +// SetCreateTimestamp sets the CreateTimestamp field's value. +func (s *KxUser) SetCreateTimestamp(v time.Time) *KxUser { + s.CreateTimestamp = &v + return s +} + +// SetIamRole sets the IamRole field's value. +func (s *KxUser) SetIamRole(v string) *KxUser { + s.IamRole = &v + return s +} + +// SetUpdateTimestamp sets the UpdateTimestamp field's value. +func (s *KxUser) SetUpdateTimestamp(v time.Time) *KxUser { + s.UpdateTimestamp = &v + return s +} + +// SetUserArn sets the UserArn field's value. +func (s *KxUser) SetUserArn(v string) *KxUser { + s.UserArn = &v + return s +} + +// SetUserName sets the UserName field's value. +func (s *KxUser) SetUserName(v string) *KxUser { + s.UserName = &v + return s +} + +// A service limit or quota is exceeded. +type LimitExceededException 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 LimitExceededException) 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 LimitExceededException) GoString() string { + return s.String() +} + +func newErrorLimitExceededException(v protocol.ResponseMetadata) error { + return &LimitExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *LimitExceededException) Code() string { + return "LimitExceededException" +} + +// Message returns the exception's message. +func (s *LimitExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *LimitExceededException) OrigErr() error { + return nil +} + +func (s *LimitExceededException) 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 *LimitExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *LimitExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListEnvironmentsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum number of results to return in this request. + MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` + + // A token generated by FinSpace that specifies where to continue pagination + // if a previous request was truncated. To get the next set of pages, pass in + // the nextTokennextToken value from the response object of the previous page + // call. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" 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 ListEnvironmentsInput) 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 ListEnvironmentsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListEnvironmentsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListEnvironmentsInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListEnvironmentsInput) SetMaxResults(v int64) *ListEnvironmentsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEnvironmentsInput) SetNextToken(v string) *ListEnvironmentsInput { + s.NextToken = &v + return s +} + +type ListEnvironmentsOutput struct { + _ struct{} `type:"structure"` + + // A list of all of your FinSpace environments. + Environments []*Environment `locationName:"environments" type:"list"` + + // A token that you can use in a subsequent call to retrieve the next set of + // results. + NextToken *string `locationName:"nextToken" min:"1" 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 ListEnvironmentsOutput) 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 ListEnvironmentsOutput) GoString() string { + return s.String() +} + +// SetEnvironments sets the Environments field's value. +func (s *ListEnvironmentsOutput) SetEnvironments(v []*Environment) *ListEnvironmentsOutput { + s.Environments = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEnvironmentsOutput) SetNextToken(v string) *ListEnvironmentsOutput { + s.NextToken = &v + return s +} + +type ListKxChangesetsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The name of the kdb database. + // + // DatabaseName is a required field + DatabaseName *string `location:"uri" locationName:"databaseName" min:"3" type:"string" required:"true"` + + // A unique identifier for the kdb environment. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"environmentId" min:"1" type:"string" required:"true"` + + // The maximum number of results to return in this request. + MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` + + // A token that indicates where a results page should begin. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" 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 ListKxChangesetsInput) 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 ListKxChangesetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListKxChangesetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListKxChangesetsInput"} + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 3)) + } + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *ListKxChangesetsInput) SetDatabaseName(v string) *ListKxChangesetsInput { + s.DatabaseName = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *ListKxChangesetsInput) SetEnvironmentId(v string) *ListKxChangesetsInput { + s.EnvironmentId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListKxChangesetsInput) SetMaxResults(v int64) *ListKxChangesetsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListKxChangesetsInput) SetNextToken(v string) *ListKxChangesetsInput { + s.NextToken = &v + return s +} + +type ListKxChangesetsOutput struct { + _ struct{} `type:"structure"` + + // A list of changesets for a database. + KxChangesets []*KxChangesetListEntry `locationName:"kxChangesets" type:"list"` + + // A token that indicates where a results page should begin. + NextToken *string `locationName:"nextToken" min:"1" 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 ListKxChangesetsOutput) 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 ListKxChangesetsOutput) GoString() string { + return s.String() +} + +// SetKxChangesets sets the KxChangesets field's value. +func (s *ListKxChangesetsOutput) SetKxChangesets(v []*KxChangesetListEntry) *ListKxChangesetsOutput { + s.KxChangesets = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListKxChangesetsOutput) SetNextToken(v string) *ListKxChangesetsOutput { + s.NextToken = &v + return s +} + +type ListKxClusterNodesInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // A unique name for the cluster. + // + // ClusterName is a required field + ClusterName *string `location:"uri" locationName:"clusterName" min:"3" type:"string" required:"true"` + + // A unique identifier for the kdb environment. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"environmentId" min:"1" type:"string" required:"true"` + + // The maximum number of results to return in this request. + MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` + + // A token that indicates where a results page should begin. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" 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 ListKxClusterNodesInput) 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 ListKxClusterNodesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListKxClusterNodesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListKxClusterNodesInput"} + if s.ClusterName == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterName")) + } + if s.ClusterName != nil && len(*s.ClusterName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("ClusterName", 3)) + } + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterName sets the ClusterName field's value. +func (s *ListKxClusterNodesInput) SetClusterName(v string) *ListKxClusterNodesInput { + s.ClusterName = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *ListKxClusterNodesInput) SetEnvironmentId(v string) *ListKxClusterNodesInput { + s.EnvironmentId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListKxClusterNodesInput) SetMaxResults(v int64) *ListKxClusterNodesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListKxClusterNodesInput) SetNextToken(v string) *ListKxClusterNodesInput { + s.NextToken = &v + return s +} + +type ListKxClusterNodesOutput struct { + _ struct{} `type:"structure"` + + // A token that indicates where a results page should begin. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // A list of nodes associated with the cluster. + Nodes []*KxNode `locationName:"nodes" 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 ListKxClusterNodesOutput) 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 ListKxClusterNodesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListKxClusterNodesOutput) SetNextToken(v string) *ListKxClusterNodesOutput { + s.NextToken = &v + return s +} + +// SetNodes sets the Nodes field's value. +func (s *ListKxClusterNodesOutput) SetNodes(v []*KxNode) *ListKxClusterNodesOutput { + s.Nodes = v + return s +} + +type ListKxClustersInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // Specifies the type of KDB database that is being created. The following types + // are available: + // + // * HDB – A Historical Database. The data is only accessible with read-only + // permissions from one of the FinSpace managed kdb databases mounted to + // the cluster. + // + // * RDB – A Realtime Database. This type of database captures all the + // data from a ticker plant and stores it in memory until the end of day, + // after which it writes all of its data to a disk and reloads the HDB. This + // cluster type requires local storage for temporary storage of data during + // the savedown process. If you specify this field in your request, you must + // provide the savedownStorageConfiguration parameter. + // + // * GATEWAY – A gateway cluster allows you to access data across processes + // in kdb systems. It allows you to create your own routing logic using the + // initialization scripts and custom code. This type of cluster does not + // require a writable local storage. + ClusterType *string `location:"querystring" locationName:"clusterType" type:"string" enum:"KxClusterType"` + + // A unique identifier for the kdb environment. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"environmentId" min:"1" type:"string" required:"true"` + + // The maximum number of results to return in this request. + MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` + + // A token that indicates where a results page should begin. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" 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 ListKxClustersInput) 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 ListKxClustersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListKxClustersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListKxClustersInput"} + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterType sets the ClusterType field's value. +func (s *ListKxClustersInput) SetClusterType(v string) *ListKxClustersInput { + s.ClusterType = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *ListKxClustersInput) SetEnvironmentId(v string) *ListKxClustersInput { + s.EnvironmentId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListKxClustersInput) SetMaxResults(v int64) *ListKxClustersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListKxClustersInput) SetNextToken(v string) *ListKxClustersInput { + s.NextToken = &v + return s +} + +type ListKxClustersOutput struct { + _ struct{} `type:"structure"` + + // Lists the cluster details. + KxClusterSummaries []*KxCluster `locationName:"kxClusterSummaries" type:"list"` + + // A token that indicates where a results page should begin. + NextToken *string `locationName:"nextToken" min:"1" 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 ListKxClustersOutput) 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 ListKxClustersOutput) GoString() string { + return s.String() +} - // Authentication mode for the environment. - // - // * FEDERATED - Users access FinSpace through Single Sign On (SSO) via your - // Identity provider. +// SetKxClusterSummaries sets the KxClusterSummaries field's value. +func (s *ListKxClustersOutput) SetKxClusterSummaries(v []*KxCluster) *ListKxClustersOutput { + s.KxClusterSummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListKxClustersOutput) SetNextToken(v string) *ListKxClustersOutput { + s.NextToken = &v + return s +} + +type ListKxDatabasesInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // A unique identifier for the kdb environment. // - // * LOCAL - Users access FinSpace via email and password managed within - // the FinSpace environment. - FederationMode *string `locationName:"federationMode" type:"string" enum:"FederationMode"` + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"environmentId" min:"1" type:"string" required:"true"` - // Configuration information when authentication mode is FEDERATED. - FederationParameters *FederationParameters `locationName:"federationParameters" type:"structure"` + // The maximum number of results to return in this request. + MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` - // The KMS key id to encrypt your data in the FinSpace environment. - KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` + // A token that indicates where a results page should begin. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` +} - // The name of the FinSpace environment to be created. +// 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 ListKxDatabasesInput) 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 ListKxDatabasesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListKxDatabasesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListKxDatabasesInput"} + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *ListKxDatabasesInput) SetEnvironmentId(v string) *ListKxDatabasesInput { + s.EnvironmentId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListKxDatabasesInput) SetMaxResults(v int64) *ListKxDatabasesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListKxDatabasesInput) SetNextToken(v string) *ListKxDatabasesInput { + s.NextToken = &v + return s +} + +type ListKxDatabasesOutput struct { + _ struct{} `type:"structure"` + + // A list of databases in the kdb environment. + KxDatabases []*KxDatabaseListEntry `locationName:"kxDatabases" type:"list"` + + // A token that indicates where a results page should begin. + NextToken *string `locationName:"nextToken" min:"1" 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 ListKxDatabasesOutput) 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 ListKxDatabasesOutput) GoString() string { + return s.String() +} + +// SetKxDatabases sets the KxDatabases field's value. +func (s *ListKxDatabasesOutput) SetKxDatabases(v []*KxDatabaseListEntry) *ListKxDatabasesOutput { + s.KxDatabases = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListKxDatabasesOutput) SetNextToken(v string) *ListKxDatabasesOutput { + s.NextToken = &v + return s +} + +type ListKxEnvironmentsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum number of results to return in this request. + MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` + + // A token that indicates where a results page should begin. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" 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 ListKxEnvironmentsInput) 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 ListKxEnvironmentsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListKxEnvironmentsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListKxEnvironmentsInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListKxEnvironmentsInput) SetMaxResults(v int64) *ListKxEnvironmentsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListKxEnvironmentsInput) SetNextToken(v string) *ListKxEnvironmentsInput { + s.NextToken = &v + return s +} + +type ListKxEnvironmentsOutput struct { + _ struct{} `type:"structure"` + + // A list of environments in an account. + Environments []*KxEnvironment `locationName:"environments" type:"list"` + + // A token that indicates where a results page should begin. + NextToken *string `locationName:"nextToken" min:"1" 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 ListKxEnvironmentsOutput) 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 ListKxEnvironmentsOutput) GoString() string { + return s.String() +} + +// SetEnvironments sets the Environments field's value. +func (s *ListKxEnvironmentsOutput) SetEnvironments(v []*KxEnvironment) *ListKxEnvironmentsOutput { + s.Environments = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListKxEnvironmentsOutput) SetNextToken(v string) *ListKxEnvironmentsOutput { + s.NextToken = &v + return s +} + +type ListKxUsersInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // A unique identifier for the kdb environment. // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"environmentId" min:"1" type:"string" required:"true"` + + // The maximum number of results to return in this request. + MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` + + // A token that indicates where a results page should begin. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" 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 ListKxUsersInput) 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 ListKxUsersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListKxUsersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListKxUsersInput"} + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *ListKxUsersInput) SetEnvironmentId(v string) *ListKxUsersInput { + s.EnvironmentId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListKxUsersInput) SetMaxResults(v int64) *ListKxUsersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListKxUsersInput) SetNextToken(v string) *ListKxUsersInput { + s.NextToken = &v + return s +} + +type ListKxUsersOutput struct { + _ struct{} `type:"structure"` - // Configuration information for the superuser. - SuperuserParameters *SuperuserParameters `locationName:"superuserParameters" type:"structure"` + // A token that indicates where a results page should begin. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` - // Add tags to your FinSpace environment. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + // A list of users in a kdb environment. + Users []*KxUser `locationName:"users" type:"list"` } // String returns the string representation. @@ -838,7 +9487,7 @@ type CreateEnvironmentInput struct { // 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 CreateEnvironmentInput) String() string { +func (s ListKxUsersOutput) String() string { return awsutil.Prettify(s) } @@ -847,104 +9496,76 @@ func (s CreateEnvironmentInput) String() string { // 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 CreateEnvironmentInput) GoString() string { +func (s ListKxUsersOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateEnvironmentInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateEnvironmentInput"} - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } - if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) - } - if s.FederationParameters != nil { - if err := s.FederationParameters.Validate(); err != nil { - invalidParams.AddNested("FederationParameters", err.(request.ErrInvalidParams)) - } - } - if s.SuperuserParameters != nil { - if err := s.SuperuserParameters.Validate(); err != nil { - invalidParams.AddNested("SuperuserParameters", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetDataBundles sets the DataBundles field's value. -func (s *CreateEnvironmentInput) SetDataBundles(v []*string) *CreateEnvironmentInput { - s.DataBundles = v +// SetNextToken sets the NextToken field's value. +func (s *ListKxUsersOutput) SetNextToken(v string) *ListKxUsersOutput { + s.NextToken = &v return s } -// SetDescription sets the Description field's value. -func (s *CreateEnvironmentInput) SetDescription(v string) *CreateEnvironmentInput { - s.Description = &v +// SetUsers sets the Users field's value. +func (s *ListKxUsersOutput) SetUsers(v []*KxUser) *ListKxUsersOutput { + s.Users = v return s } -// SetFederationMode sets the FederationMode field's value. -func (s *CreateEnvironmentInput) SetFederationMode(v string) *CreateEnvironmentInput { - s.FederationMode = &v - return s -} +type ListTagsForResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` -// SetFederationParameters sets the FederationParameters field's value. -func (s *CreateEnvironmentInput) SetFederationParameters(v *FederationParameters) *CreateEnvironmentInput { - s.FederationParameters = v - return s + // The Amazon Resource Name of the resource. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` } -// SetKmsKeyId sets the KmsKeyId field's value. -func (s *CreateEnvironmentInput) SetKmsKeyId(v string) *CreateEnvironmentInput { - s.KmsKeyId = &v - return s +// 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) } -// SetName sets the Name field's value. -func (s *CreateEnvironmentInput) SetName(v string) *CreateEnvironmentInput { - s.Name = &v - return 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() } -// SetSuperuserParameters sets the SuperuserParameters field's value. -func (s *CreateEnvironmentInput) SetSuperuserParameters(v *SuperuserParameters) *CreateEnvironmentInput { - s.SuperuserParameters = v - return s +// 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) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetTags sets the Tags field's value. -func (s *CreateEnvironmentInput) SetTags(v map[string]*string) *CreateEnvironmentInput { - s.Tags = v +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v return s } -type CreateEnvironmentOutput struct { +type ListTagsForResourceOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the FinSpace environment that you created. - EnvironmentArn *string `locationName:"environmentArn" min:"20" type:"string"` - - // The unique identifier for FinSpace environment that you created. - EnvironmentId *string `locationName:"environmentId" min:"1" type:"string"` - - // The sign-in url for the web application of the FinSpace environment you created. - EnvironmentUrl *string `locationName:"environmentUrl" min:"1" type:"string"` + // A list of all tags for a resource. + Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } // String returns the string representation. @@ -952,7 +9573,7 @@ type CreateEnvironmentOutput struct { // 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 CreateEnvironmentOutput) String() string { +func (s ListTagsForResourceOutput) String() string { return awsutil.Prettify(s) } @@ -961,35 +9582,22 @@ func (s CreateEnvironmentOutput) String() string { // 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 CreateEnvironmentOutput) GoString() string { +func (s ListTagsForResourceOutput) GoString() string { return s.String() } -// SetEnvironmentArn sets the EnvironmentArn field's value. -func (s *CreateEnvironmentOutput) SetEnvironmentArn(v string) *CreateEnvironmentOutput { - s.EnvironmentArn = &v - return s -} - -// SetEnvironmentId sets the EnvironmentId field's value. -func (s *CreateEnvironmentOutput) SetEnvironmentId(v string) *CreateEnvironmentOutput { - s.EnvironmentId = &v - return s -} - -// SetEnvironmentUrl sets the EnvironmentUrl field's value. -func (s *CreateEnvironmentOutput) SetEnvironmentUrl(v string) *CreateEnvironmentOutput { - s.EnvironmentUrl = &v +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v return s } -type DeleteEnvironmentInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// The specified resource group already exists. +type ResourceAlreadyExistsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The identifier for the FinSpace environment. - // - // EnvironmentId is a required field - EnvironmentId *string `location:"uri" locationName:"environmentId" min:"1" type:"string" required:"true"` + Message_ *string `locationName:"message" type:"string"` } // String returns the string representation. @@ -997,7 +9605,7 @@ type DeleteEnvironmentInput struct { // 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 DeleteEnvironmentInput) String() string { +func (s ResourceAlreadyExistsException) String() string { return awsutil.Prettify(s) } @@ -1006,34 +9614,54 @@ func (s DeleteEnvironmentInput) String() string { // 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 DeleteEnvironmentInput) GoString() string { +func (s ResourceAlreadyExistsException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteEnvironmentInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteEnvironmentInput"} - if s.EnvironmentId == nil { - invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) - } - if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) +func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error { + return &ResourceAlreadyExistsException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *ResourceAlreadyExistsException) Code() string { + return "ResourceAlreadyExistsException" +} + +// Message returns the exception's message. +func (s *ResourceAlreadyExistsException) Message() string { + if s.Message_ != nil { + return *s.Message_ } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceAlreadyExistsException) OrigErr() error { return nil } -// SetEnvironmentId sets the EnvironmentId field's value. -func (s *DeleteEnvironmentInput) SetEnvironmentId(v string) *DeleteEnvironmentInput { - s.EnvironmentId = &v - return s +func (s *ResourceAlreadyExistsException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -type DeleteEnvironmentOutput struct { - _ struct{} `type:"structure"` +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceAlreadyExistsException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceAlreadyExistsException) RequestID() string { + return s.RespMetadata.RequestID +} + +// One or more resources can't be found. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` } // String returns the string representation. @@ -1041,7 +9669,7 @@ type DeleteEnvironmentOutput struct { // 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 DeleteEnvironmentOutput) String() string { +func (s ResourceNotFoundException) String() string { return awsutil.Prettify(s) } @@ -1050,50 +9678,56 @@ func (s DeleteEnvironmentOutput) String() string { // 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 DeleteEnvironmentOutput) GoString() string { +func (s ResourceNotFoundException) GoString() string { return s.String() } -// Represents an FinSpace environment. -type Environment struct { - _ struct{} `type:"structure"` - - // The ID of the AWS account in which the FinSpace environment is created. - AwsAccountId *string `locationName:"awsAccountId" min:"1" type:"string"` - - // The AWS account ID of the dedicated service account associated with your - // FinSpace environment. - DedicatedServiceAccountId *string `locationName:"dedicatedServiceAccountId" min:"1" type:"string"` - - // The description of the FinSpace environment. - Description *string `locationName:"description" min:"1" type:"string"` - - // The Amazon Resource Name (ARN) of your FinSpace environment. - EnvironmentArn *string `locationName:"environmentArn" min:"20" type:"string"` +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } +} - // The identifier of the FinSpace environment. - EnvironmentId *string `locationName:"environmentId" min:"1" type:"string"` +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" +} - // The sign-in url for the web application of your FinSpace environment. - EnvironmentUrl *string `locationName:"environmentUrl" min:"1" type:"string"` +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} - // The authentication mode for the environment. - FederationMode *string `locationName:"federationMode" type:"string" enum:"FederationMode"` +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil +} - // Configuration information when authentication mode is FEDERATED. - FederationParameters *FederationParameters `locationName:"federationParameters" type:"structure"` +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} - // The KMS key id used to encrypt in the FinSpace environment. - KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} - // The name of the FinSpace environment. - Name *string `locationName:"name" min:"1" type:"string"` +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} - // The url of the integrated FinSpace notebook environment in your web application. - SageMakerStudioDomainUrl *string `locationName:"sageMakerStudioDomainUrl" min:"1" type:"string"` +// You have exceeded your service quota. To perform the requested action, remove +// some of the relevant resources, or use Service Quotas to request a service +// quota increase. +type ServiceQuotaExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The current status of creation of the FinSpace environment. - Status *string `locationName:"status" type:"string" enum:"EnvironmentStatus"` + Message_ *string `locationName:"message" type:"string"` } // String returns the string representation. @@ -1101,7 +9735,7 @@ type Environment struct { // 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 Environment) String() string { +func (s ServiceQuotaExceededException) String() string { return awsutil.Prettify(s) } @@ -1110,109 +9744,70 @@ func (s Environment) String() string { // 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 Environment) GoString() string { +func (s ServiceQuotaExceededException) GoString() string { return s.String() } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *Environment) SetAwsAccountId(v string) *Environment { - s.AwsAccountId = &v - return s -} - -// SetDedicatedServiceAccountId sets the DedicatedServiceAccountId field's value. -func (s *Environment) SetDedicatedServiceAccountId(v string) *Environment { - s.DedicatedServiceAccountId = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *Environment) SetDescription(v string) *Environment { - s.Description = &v - return s -} - -// SetEnvironmentArn sets the EnvironmentArn field's value. -func (s *Environment) SetEnvironmentArn(v string) *Environment { - s.EnvironmentArn = &v - return s -} - -// SetEnvironmentId sets the EnvironmentId field's value. -func (s *Environment) SetEnvironmentId(v string) *Environment { - s.EnvironmentId = &v - return s -} - -// SetEnvironmentUrl sets the EnvironmentUrl field's value. -func (s *Environment) SetEnvironmentUrl(v string) *Environment { - s.EnvironmentUrl = &v - return s +func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { + return &ServiceQuotaExceededException{ + RespMetadata: v, + } } -// SetFederationMode sets the FederationMode field's value. -func (s *Environment) SetFederationMode(v string) *Environment { - s.FederationMode = &v - return s +// Code returns the exception type name. +func (s *ServiceQuotaExceededException) Code() string { + return "ServiceQuotaExceededException" } -// SetFederationParameters sets the FederationParameters field's value. -func (s *Environment) SetFederationParameters(v *FederationParameters) *Environment { - s.FederationParameters = v - return s +// Message returns the exception's message. +func (s *ServiceQuotaExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetKmsKeyId sets the KmsKeyId field's value. -func (s *Environment) SetKmsKeyId(v string) *Environment { - s.KmsKeyId = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ServiceQuotaExceededException) OrigErr() error { + return nil } -// SetName sets the Name field's value. -func (s *Environment) SetName(v string) *Environment { - s.Name = &v - return s +func (s *ServiceQuotaExceededException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetSageMakerStudioDomainUrl sets the SageMakerStudioDomainUrl field's value. -func (s *Environment) SetSageMakerStudioDomainUrl(v string) *Environment { - s.SageMakerStudioDomainUrl = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *ServiceQuotaExceededException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetStatus sets the Status field's value. -func (s *Environment) SetStatus(v string) *Environment { - s.Status = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *ServiceQuotaExceededException) RequestID() string { + return s.RespMetadata.RequestID } -// Configuration information when authentication mode is FEDERATED. -type FederationParameters struct { +// Configuration information for the superuser. +type SuperuserParameters struct { _ struct{} `type:"structure"` - // The redirect or sign-in URL that should be entered into the SAML 2.0 compliant - // identity provider configuration (IdP). - ApplicationCallBackURL *string `locationName:"applicationCallBackURL" min:"1" type:"string"` - - // SAML attribute name and value. The name must always be Email and the value - // should be set to the attribute definition in which user email is set. For - // example, name would be Email and value http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress. - // Please check your SAML 2.0 compliant identity provider (IdP) documentation - // for details. - AttributeMap map[string]*string `locationName:"attributeMap" type:"map"` - - // Name of the identity provider (IdP). - FederationProviderName *string `locationName:"federationProviderName" min:"1" type:"string"` - - // The Uniform Resource Name (URN). Also referred as Service Provider URN or - // Audience URI or Service Provider Entity ID. - FederationURN *string `locationName:"federationURN" min:"1" type:"string"` + // The email address of the superuser. + // + // EmailAddress is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by SuperuserParameters's + // String and GoString methods. + // + // EmailAddress is a required field + EmailAddress *string `locationName:"emailAddress" min:"1" type:"string" required:"true" sensitive:"true"` - // SAML 2.0 Metadata document from identity provider (IdP). - SamlMetadataDocument *string `locationName:"samlMetadataDocument" min:"1000" type:"string"` + // The first name of the superuser. + // + // FirstName is a required field + FirstName *string `locationName:"firstName" min:"1" type:"string" required:"true"` - // Provide the metadata URL from your SAML 2.0 compliant identity provider (IdP). - SamlMetadataURL *string `locationName:"samlMetadataURL" min:"1" type:"string"` + // The last name of the superuser. + // + // LastName is a required field + LastName *string `locationName:"lastName" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -1220,7 +9815,7 @@ type FederationParameters struct { // 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 FederationParameters) String() string { +func (s SuperuserParameters) String() string { return awsutil.Prettify(s) } @@ -1229,27 +9824,30 @@ func (s FederationParameters) String() string { // 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 FederationParameters) GoString() string { +func (s SuperuserParameters) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *FederationParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "FederationParameters"} - if s.ApplicationCallBackURL != nil && len(*s.ApplicationCallBackURL) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ApplicationCallBackURL", 1)) +func (s *SuperuserParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SuperuserParameters"} + if s.EmailAddress == nil { + invalidParams.Add(request.NewErrParamRequired("EmailAddress")) } - if s.FederationProviderName != nil && len(*s.FederationProviderName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FederationProviderName", 1)) + if s.EmailAddress != nil && len(*s.EmailAddress) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EmailAddress", 1)) } - if s.FederationURN != nil && len(*s.FederationURN) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FederationURN", 1)) + if s.FirstName == nil { + invalidParams.Add(request.NewErrParamRequired("FirstName")) } - if s.SamlMetadataDocument != nil && len(*s.SamlMetadataDocument) < 1000 { - invalidParams.Add(request.NewErrParamMinLen("SamlMetadataDocument", 1000)) + if s.FirstName != nil && len(*s.FirstName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FirstName", 1)) } - if s.SamlMetadataURL != nil && len(*s.SamlMetadataURL) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SamlMetadataURL", 1)) + if s.LastName == nil { + invalidParams.Add(request.NewErrParamRequired("LastName")) + } + if s.LastName != nil && len(*s.LastName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LastName", 1)) } if invalidParams.Len() > 0 { @@ -1258,49 +9856,36 @@ func (s *FederationParameters) Validate() error { return nil } -// SetApplicationCallBackURL sets the ApplicationCallBackURL field's value. -func (s *FederationParameters) SetApplicationCallBackURL(v string) *FederationParameters { - s.ApplicationCallBackURL = &v - return s -} - -// SetAttributeMap sets the AttributeMap field's value. -func (s *FederationParameters) SetAttributeMap(v map[string]*string) *FederationParameters { - s.AttributeMap = v - return s -} - -// SetFederationProviderName sets the FederationProviderName field's value. -func (s *FederationParameters) SetFederationProviderName(v string) *FederationParameters { - s.FederationProviderName = &v +// SetEmailAddress sets the EmailAddress field's value. +func (s *SuperuserParameters) SetEmailAddress(v string) *SuperuserParameters { + s.EmailAddress = &v return s } -// SetFederationURN sets the FederationURN field's value. -func (s *FederationParameters) SetFederationURN(v string) *FederationParameters { - s.FederationURN = &v +// SetFirstName sets the FirstName field's value. +func (s *SuperuserParameters) SetFirstName(v string) *SuperuserParameters { + s.FirstName = &v return s } -// SetSamlMetadataDocument sets the SamlMetadataDocument field's value. -func (s *FederationParameters) SetSamlMetadataDocument(v string) *FederationParameters { - s.SamlMetadataDocument = &v +// SetLastName sets the LastName field's value. +func (s *SuperuserParameters) SetLastName(v string) *SuperuserParameters { + s.LastName = &v return s } -// SetSamlMetadataURL sets the SamlMetadataURL field's value. -func (s *FederationParameters) SetSamlMetadataURL(v string) *FederationParameters { - s.SamlMetadataURL = &v - return s -} +type TagResourceInput struct { + _ struct{} `type:"structure"` -type GetEnvironmentInput struct { - _ struct{} `type:"structure" nopayload:"true"` + // The Amazon Resource Name (ARN) for the resource. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` - // The identifier of the FinSpace environment. + // One or more tags to be assigned to the resource. // - // EnvironmentId is a required field - EnvironmentId *string `location:"uri" locationName:"environmentId" min:"1" type:"string" required:"true"` + // Tags is a required field + Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"` } // String returns the string representation. @@ -1308,7 +9893,7 @@ type GetEnvironmentInput struct { // 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 GetEnvironmentInput) String() string { +func (s TagResourceInput) String() string { return awsutil.Prettify(s) } @@ -1317,18 +9902,24 @@ func (s GetEnvironmentInput) String() string { // 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 GetEnvironmentInput) GoString() string { +func (s TagResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetEnvironmentInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetEnvironmentInput"} - if s.EnvironmentId == nil { - invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } - if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } if invalidParams.Len() > 0 { @@ -1337,17 +9928,20 @@ func (s *GetEnvironmentInput) Validate() error { return nil } -// SetEnvironmentId sets the EnvironmentId field's value. -func (s *GetEnvironmentInput) SetEnvironmentId(v string) *GetEnvironmentInput { - s.EnvironmentId = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v return s } -type GetEnvironmentOutput struct { - _ struct{} `type:"structure"` +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { + s.Tags = v + return s +} - // The name of the FinSpace environment. - Environment *Environment `locationName:"environment" type:"structure"` +type TagResourceOutput struct { + _ struct{} `type:"structure"` } // String returns the string representation. @@ -1355,7 +9949,7 @@ type GetEnvironmentOutput struct { // 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 GetEnvironmentOutput) String() string { +func (s TagResourceOutput) String() string { return awsutil.Prettify(s) } @@ -1364,19 +9958,12 @@ func (s GetEnvironmentOutput) String() string { // 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 GetEnvironmentOutput) GoString() string { +func (s TagResourceOutput) GoString() string { return s.String() } -// SetEnvironment sets the Environment field's value. -func (s *GetEnvironmentOutput) SetEnvironment(v *Environment) *GetEnvironmentOutput { - s.Environment = v - return s -} - -// The request processing has failed because of an unknown error, exception -// or failure. -type InternalServerException struct { +// The request was denied due to request throttling. +type ThrottlingException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -1388,7 +9975,7 @@ type InternalServerException struct { // 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 { +func (s ThrottlingException) String() string { return awsutil.Prettify(s) } @@ -1397,23 +9984,23 @@ func (s InternalServerException) String() string { // 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 { +func (s ThrottlingException) GoString() string { return s.String() } -func newErrorInternalServerException(v protocol.ResponseMetadata) error { - return &InternalServerException{ +func newErrorThrottlingException(v protocol.ResponseMetadata) error { + return &ThrottlingException{ RespMetadata: v, } } // Code returns the exception type name. -func (s *InternalServerException) Code() string { - return "InternalServerException" +func (s *ThrottlingException) Code() string { + return "ThrottlingException" } // Message returns the exception's message. -func (s *InternalServerException) Message() string { +func (s *ThrottlingException) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -1421,30 +10008,42 @@ func (s *InternalServerException) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InternalServerException) OrigErr() error { +func (s *ThrottlingException) OrigErr() error { return nil } -func (s *InternalServerException) Error() string { +func (s *ThrottlingException) 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 *InternalServerException) StatusCode() int { +func (s *ThrottlingException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *InternalServerException) RequestID() string { +func (s *ThrottlingException) RequestID() string { return s.RespMetadata.RequestID } -// The request is invalid. Something is wrong with the input to the request. -type InvalidRequestException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// The structure of the transit gateway and network configuration that is used +// to connect the kdb environment to an internal network. +type TransitGatewayConfiguration struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"message" type:"string"` + // The routing CIDR on behalf of kdb environment. It could be any "/26 range + // in the 100.64.0.0 CIDR space. After providing, it will be added to the customer's + // transit gateway routing table so that the traffics could be routed to kdb + // network. + // + // RoutableCIDRSpace is a required field + RoutableCIDRSpace *string `locationName:"routableCIDRSpace" type:"string" required:"true"` + + // The identifier of the transit gateway created by the customer to connect + // outbound traffics from kdb network to your internal network. + // + // TransitGatewayID is a required field + TransitGatewayID *string `locationName:"transitGatewayID" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -1452,7 +10051,7 @@ type InvalidRequestException struct { // 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 InvalidRequestException) String() string { +func (s TransitGatewayConfiguration) String() string { return awsutil.Prettify(s) } @@ -1461,54 +10060,54 @@ func (s InvalidRequestException) String() string { // 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 InvalidRequestException) GoString() string { +func (s TransitGatewayConfiguration) GoString() string { return s.String() } -func newErrorInvalidRequestException(v protocol.ResponseMetadata) error { - return &InvalidRequestException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *TransitGatewayConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TransitGatewayConfiguration"} + if s.RoutableCIDRSpace == nil { + invalidParams.Add(request.NewErrParamRequired("RoutableCIDRSpace")) } -} - -// Code returns the exception type name. -func (s *InvalidRequestException) Code() string { - return "InvalidRequestException" -} - -// Message returns the exception's message. -func (s *InvalidRequestException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.TransitGatewayID == nil { + invalidParams.Add(request.NewErrParamRequired("TransitGatewayID")) + } + if s.TransitGatewayID != nil && len(*s.TransitGatewayID) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TransitGatewayID", 1)) } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidRequestException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *InvalidRequestException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetRoutableCIDRSpace sets the RoutableCIDRSpace field's value. +func (s *TransitGatewayConfiguration) SetRoutableCIDRSpace(v string) *TransitGatewayConfiguration { + s.RoutableCIDRSpace = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidRequestException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetTransitGatewayID sets the TransitGatewayID field's value. +func (s *TransitGatewayConfiguration) SetTransitGatewayID(v string) *TransitGatewayConfiguration { + s.TransitGatewayID = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InvalidRequestException) RequestID() string { - return s.RespMetadata.RequestID -} +type UntagResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` -// A service limit or quota is exceeded. -type LimitExceededException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // A FinSpace resource from which you want to remove a tag or tags. The value + // for this parameter is an Amazon Resource Name (ARN). + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` - Message_ *string `locationName:"message" type:"string"` + // The tag keys (names) of one or more tags to be removed. + // + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"` } // String returns the string representation. @@ -1516,7 +10115,7 @@ type LimitExceededException struct { // 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 LimitExceededException) String() string { +func (s UntagResourceInput) String() string { return awsutil.Prettify(s) } @@ -1525,58 +10124,91 @@ func (s LimitExceededException) String() string { // 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 LimitExceededException) GoString() string { +func (s UntagResourceInput) GoString() string { return s.String() } -func newErrorLimitExceededException(v protocol.ResponseMetadata) error { - return &LimitExceededException{ - RespMetadata: v, +// 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) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + if s.TagKeys != nil && len(s.TagKeys) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) } -} -// Code returns the exception type name. -func (s *LimitExceededException) Code() string { - return "LimitExceededException" + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// Message returns the exception's message. -func (s *LimitExceededException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *LimitExceededException) OrigErr() error { - return nil +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s } -func (s *LimitExceededException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +type UntagResourceOutput struct { + _ struct{} `type:"structure"` } -// Status code returns the HTTP status code for the request's response error. -func (s *LimitExceededException) StatusCode() int { - return s.RespMetadata.StatusCode +// 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) } -// RequestID returns the service's response RequestID for request. -func (s *LimitExceededException) RequestID() string { - return s.RespMetadata.RequestID +// 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 ListEnvironmentsInput struct { - _ struct{} `type:"structure" nopayload:"true"` +type UpdateEnvironmentInput struct { + _ struct{} `type:"structure"` - // The maximum number of results to return in this request. - MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` + // The description of the environment. + Description *string `locationName:"description" min:"1" type:"string"` - // A token generated by FinSpace that specifies where to continue pagination - // if a previous request was truncated. To get the next set of pages, pass in - // the nextToken value from the response object of the previous page call. - NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` + // The identifier of the FinSpace environment. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"environmentId" min:"1" type:"string" required:"true"` + + // Authentication mode for the environment. + // + // * FEDERATED - Users access FinSpace through Single Sign On (SSO) via your + // Identity provider. + // + // * LOCAL - Users access FinSpace via email and password managed within + // the FinSpace environment. + FederationMode *string `locationName:"federationMode" type:"string" enum:"FederationMode"` + + // Configuration information when authentication mode is FEDERATED. + FederationParameters *FederationParameters `locationName:"federationParameters" type:"structure"` + + // The name of the environment. + Name *string `locationName:"name" min:"1" type:"string"` } // String returns the string representation. @@ -1584,7 +10216,7 @@ type ListEnvironmentsInput struct { // 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 ListEnvironmentsInput) String() string { +func (s UpdateEnvironmentInput) String() string { return awsutil.Prettify(s) } @@ -1593,15 +10225,29 @@ func (s ListEnvironmentsInput) String() string { // 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 ListEnvironmentsInput) GoString() string { +func (s UpdateEnvironmentInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListEnvironmentsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListEnvironmentsInput"} - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) +func (s *UpdateEnvironmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateEnvironmentInput"} + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.FederationParameters != nil { + if err := s.FederationParameters.Validate(); err != nil { + invalidParams.AddNested("FederationParameters", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -1610,27 +10256,41 @@ func (s *ListEnvironmentsInput) Validate() error { return nil } -// SetMaxResults sets the MaxResults field's value. -func (s *ListEnvironmentsInput) SetMaxResults(v int64) *ListEnvironmentsInput { - s.MaxResults = &v +// SetDescription sets the Description field's value. +func (s *UpdateEnvironmentInput) SetDescription(v string) *UpdateEnvironmentInput { + s.Description = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListEnvironmentsInput) SetNextToken(v string) *ListEnvironmentsInput { - s.NextToken = &v +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *UpdateEnvironmentInput) SetEnvironmentId(v string) *UpdateEnvironmentInput { + s.EnvironmentId = &v + return s +} + +// SetFederationMode sets the FederationMode field's value. +func (s *UpdateEnvironmentInput) SetFederationMode(v string) *UpdateEnvironmentInput { + s.FederationMode = &v + return s +} + +// SetFederationParameters sets the FederationParameters field's value. +func (s *UpdateEnvironmentInput) SetFederationParameters(v *FederationParameters) *UpdateEnvironmentInput { + s.FederationParameters = v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateEnvironmentInput) SetName(v string) *UpdateEnvironmentInput { + s.Name = &v return s } -type ListEnvironmentsOutput struct { +type UpdateEnvironmentOutput struct { _ struct{} `type:"structure"` - // A list of all of your FinSpace environments. - Environments []*Environment `locationName:"environments" type:"list"` - - // A token that you can use in a subsequent call to retrieve the next set of - // results. - NextToken *string `locationName:"nextToken" min:"1" type:"string"` + // Returns the FinSpace environment object. + Environment *Environment `locationName:"environment" type:"structure"` } // String returns the string representation. @@ -1638,7 +10298,7 @@ type ListEnvironmentsOutput struct { // 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 ListEnvironmentsOutput) String() string { +func (s UpdateEnvironmentOutput) String() string { return awsutil.Prettify(s) } @@ -1647,29 +10307,36 @@ func (s ListEnvironmentsOutput) String() string { // 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 ListEnvironmentsOutput) GoString() string { +func (s UpdateEnvironmentOutput) GoString() string { return s.String() } -// SetEnvironments sets the Environments field's value. -func (s *ListEnvironmentsOutput) SetEnvironments(v []*Environment) *ListEnvironmentsOutput { - s.Environments = v +// SetEnvironment sets the Environment field's value. +func (s *UpdateEnvironmentOutput) SetEnvironment(v *Environment) *UpdateEnvironmentOutput { + s.Environment = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListEnvironmentsOutput) SetNextToken(v string) *ListEnvironmentsOutput { - s.NextToken = &v - return s -} +type UpdateKxClusterDatabasesInput struct { + _ struct{} `type:"structure"` -type ListTagsForResourceInput struct { - _ struct{} `type:"structure" nopayload:"true"` + // A token that ensures idempotency. This token expires in 10 minutes. + ClientToken *string `locationName:"clientToken" min:"1" type:"string"` - // The Amazon Resource Name of the resource. + // A unique name for the cluster that you want to modify. // - // ResourceArn is a required field - ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` + // ClusterName is a required field + ClusterName *string `location:"uri" locationName:"clusterName" min:"3" type:"string" required:"true"` + + // The structure of databases mounted on the cluster. + // + // Databases is a required field + Databases []*KxDatabaseConfiguration `locationName:"databases" type:"list" required:"true"` + + // The unique identifier of a kdb environment. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"environmentId" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -1677,7 +10344,7 @@ type ListTagsForResourceInput struct { // 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 { +func (s UpdateKxClusterDatabasesInput) String() string { return awsutil.Prettify(s) } @@ -1686,18 +10353,40 @@ func (s ListTagsForResourceInput) String() string { // 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 { +func (s UpdateKxClusterDatabasesInput) 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")) +func (s *UpdateKxClusterDatabasesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateKxClusterDatabasesInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) } - if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + if s.ClusterName == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterName")) + } + if s.ClusterName != nil && len(*s.ClusterName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("ClusterName", 3)) + } + if s.Databases == nil { + invalidParams.Add(request.NewErrParamRequired("Databases")) + } + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + if s.Databases != nil { + for i, v := range s.Databases { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Databases", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -1706,17 +10395,32 @@ func (s *ListTagsForResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { - s.ResourceArn = &v +// SetClientToken sets the ClientToken field's value. +func (s *UpdateKxClusterDatabasesInput) SetClientToken(v string) *UpdateKxClusterDatabasesInput { + s.ClientToken = &v return s } -type ListTagsForResourceOutput struct { - _ struct{} `type:"structure"` +// SetClusterName sets the ClusterName field's value. +func (s *UpdateKxClusterDatabasesInput) SetClusterName(v string) *UpdateKxClusterDatabasesInput { + s.ClusterName = &v + return s +} - // A list of all tags for a resource. - Tags map[string]*string `locationName:"tags" min:"1" type:"map"` +// SetDatabases sets the Databases field's value. +func (s *UpdateKxClusterDatabasesInput) SetDatabases(v []*KxDatabaseConfiguration) *UpdateKxClusterDatabasesInput { + s.Databases = v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *UpdateKxClusterDatabasesInput) SetEnvironmentId(v string) *UpdateKxClusterDatabasesInput { + s.EnvironmentId = &v + return s +} + +type UpdateKxClusterDatabasesOutput struct { + _ struct{} `type:"structure"` } // String returns the string representation. @@ -1724,7 +10428,7 @@ type ListTagsForResourceOutput struct { // 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 { +func (s UpdateKxClusterDatabasesOutput) String() string { return awsutil.Prettify(s) } @@ -1733,22 +10437,28 @@ func (s ListTagsForResourceOutput) String() string { // 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 { +func (s UpdateKxClusterDatabasesOutput) 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 -} +type UpdateKxDatabaseInput struct { + _ struct{} `type:"structure"` -// One or more resources can't be found. -type ResourceNotFoundException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // A token that ensures idempotency. This token expires in 10 minutes. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` - Message_ *string `locationName:"message" type:"string"` + // The name of the kdb database. + // + // DatabaseName is a required field + DatabaseName *string `location:"uri" locationName:"databaseName" min:"3" type:"string" required:"true"` + + // A description of the database. + Description *string `locationName:"description" min:"1" type:"string"` + + // A unique identifier for the kdb environment. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"environmentId" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -1756,7 +10466,7 @@ type ResourceNotFoundException struct { // 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 { +func (s UpdateKxDatabaseInput) String() string { return awsutil.Prettify(s) } @@ -1765,56 +10475,78 @@ func (s ResourceNotFoundException) String() string { // 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 { +func (s UpdateKxDatabaseInput) GoString() string { return s.String() } -func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { - return &ResourceNotFoundException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateKxDatabaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateKxDatabaseInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 3)) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) } -} - -// 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_ + if invalidParams.Len() > 0 { + return invalidParams } - return "" + return nil } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceNotFoundException) OrigErr() error { - return nil +// SetClientToken sets the ClientToken field's value. +func (s *UpdateKxDatabaseInput) SetClientToken(v string) *UpdateKxDatabaseInput { + s.ClientToken = &v + return s } -func (s *ResourceNotFoundException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetDatabaseName sets the DatabaseName field's value. +func (s *UpdateKxDatabaseInput) SetDatabaseName(v string) *UpdateKxDatabaseInput { + s.DatabaseName = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *ResourceNotFoundException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetDescription sets the Description field's value. +func (s *UpdateKxDatabaseInput) SetDescription(v string) *UpdateKxDatabaseInput { + s.Description = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ResourceNotFoundException) RequestID() string { - return s.RespMetadata.RequestID +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *UpdateKxDatabaseInput) SetEnvironmentId(v string) *UpdateKxDatabaseInput { + s.EnvironmentId = &v + return s } -// You have exceeded your service quota. To perform the requested action, remove -// some of the relevant resources, or use Service Quotas to request a service -// quota increase. -type ServiceQuotaExceededException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type UpdateKxDatabaseOutput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"message" type:"string"` + // The name of the kdb database. + DatabaseName *string `locationName:"databaseName" min:"3" type:"string"` + + // A description of the database. + Description *string `locationName:"description" min:"1" type:"string"` + + // A unique identifier for the kdb environment. + EnvironmentId *string `locationName:"environmentId" min:"1" type:"string"` + + // The last time that the database was modified. The value is determined as + // epoch time in milliseconds. For example, the value for Monday, November 1, + // 2021 12:00:00 PM UTC is specified as 1635768000000. + LastModifiedTimestamp *time.Time `locationName:"lastModifiedTimestamp" type:"timestamp"` } // String returns the string representation. @@ -1822,7 +10554,7 @@ type ServiceQuotaExceededException struct { // 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 { +func (s UpdateKxDatabaseOutput) String() string { return awsutil.Prettify(s) } @@ -1831,70 +10563,50 @@ func (s ServiceQuotaExceededException) String() string { // 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 { +func (s UpdateKxDatabaseOutput) 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 +// SetDatabaseName sets the DatabaseName field's value. +func (s *UpdateKxDatabaseOutput) SetDatabaseName(v string) *UpdateKxDatabaseOutput { + s.DatabaseName = &v + return s } -func (s *ServiceQuotaExceededException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetDescription sets the Description field's value. +func (s *UpdateKxDatabaseOutput) SetDescription(v string) *UpdateKxDatabaseOutput { + s.Description = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *ServiceQuotaExceededException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *UpdateKxDatabaseOutput) SetEnvironmentId(v string) *UpdateKxDatabaseOutput { + s.EnvironmentId = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ServiceQuotaExceededException) RequestID() string { - return s.RespMetadata.RequestID +// SetLastModifiedTimestamp sets the LastModifiedTimestamp field's value. +func (s *UpdateKxDatabaseOutput) SetLastModifiedTimestamp(v time.Time) *UpdateKxDatabaseOutput { + s.LastModifiedTimestamp = &v + return s } -// Configuration information for the superuser. -type SuperuserParameters struct { +type UpdateKxEnvironmentInput struct { _ struct{} `type:"structure"` - // The email address of the superuser. - // - // EmailAddress is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by SuperuserParameters's - // String and GoString methods. - // - // EmailAddress is a required field - EmailAddress *string `locationName:"emailAddress" min:"1" type:"string" required:"true" sensitive:"true"` + // A token that ensures idempotency. This token expires in 10 minutes. + ClientToken *string `locationName:"clientToken" min:"1" type:"string"` - // The first name of the superuser. - // - // FirstName is a required field - FirstName *string `locationName:"firstName" min:"1" type:"string" required:"true"` + // A description of the kdb environment. + Description *string `locationName:"description" min:"1" type:"string"` - // The last name of the superuser. + // A unique identifier for the kdb environment. // - // LastName is a required field - LastName *string `locationName:"lastName" min:"1" type:"string" required:"true"` + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"environmentId" min:"1" type:"string" required:"true"` + + // The name of the kdb environment. + Name *string `locationName:"name" min:"3" type:"string"` } // String returns the string representation. @@ -1902,7 +10614,7 @@ type SuperuserParameters struct { // 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 SuperuserParameters) String() string { +func (s UpdateKxEnvironmentInput) String() string { return awsutil.Prettify(s) } @@ -1911,30 +10623,27 @@ func (s SuperuserParameters) String() string { // 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 SuperuserParameters) GoString() string { +func (s UpdateKxEnvironmentInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *SuperuserParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "SuperuserParameters"} - if s.EmailAddress == nil { - invalidParams.Add(request.NewErrParamRequired("EmailAddress")) - } - if s.EmailAddress != nil && len(*s.EmailAddress) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EmailAddress", 1)) +func (s *UpdateKxEnvironmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateKxEnvironmentInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) } - if s.FirstName == nil { - invalidParams.Add(request.NewErrParamRequired("FirstName")) + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) } - if s.FirstName != nil && len(*s.FirstName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FirstName", 1)) + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) } - if s.LastName == nil { - invalidParams.Add(request.NewErrParamRequired("LastName")) + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) } - if s.LastName != nil && len(*s.LastName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LastName", 1)) + if s.Name != nil && len(*s.Name) < 3 { + invalidParams.Add(request.NewErrParamMinLen("Name", 3)) } if invalidParams.Len() > 0 { @@ -1943,36 +10652,48 @@ func (s *SuperuserParameters) Validate() error { return nil } -// SetEmailAddress sets the EmailAddress field's value. -func (s *SuperuserParameters) SetEmailAddress(v string) *SuperuserParameters { - s.EmailAddress = &v +// SetClientToken sets the ClientToken field's value. +func (s *UpdateKxEnvironmentInput) SetClientToken(v string) *UpdateKxEnvironmentInput { + s.ClientToken = &v return s } -// SetFirstName sets the FirstName field's value. -func (s *SuperuserParameters) SetFirstName(v string) *SuperuserParameters { - s.FirstName = &v +// SetDescription sets the Description field's value. +func (s *UpdateKxEnvironmentInput) SetDescription(v string) *UpdateKxEnvironmentInput { + s.Description = &v return s } -// SetLastName sets the LastName field's value. -func (s *SuperuserParameters) SetLastName(v string) *SuperuserParameters { - s.LastName = &v +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *UpdateKxEnvironmentInput) SetEnvironmentId(v string) *UpdateKxEnvironmentInput { + s.EnvironmentId = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateKxEnvironmentInput) SetName(v string) *UpdateKxEnvironmentInput { + s.Name = &v return s } -type TagResourceInput struct { +type UpdateKxEnvironmentNetworkInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) for the resource. - // - // ResourceArn is a required field - ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` + // A token that ensures idempotency. This token expires in 10 minutes. + ClientToken *string `locationName:"clientToken" min:"1" type:"string"` - // One or more tags to be assigned to the resource. + // A list of DNS server name and server IP. This is used to set up Route-53 + // outbound resolvers. + CustomDNSConfiguration []*CustomDNSServer `locationName:"customDNSConfiguration" type:"list"` + + // A unique identifier for the kdb environment. // - // Tags is a required field - Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"` + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"environmentId" min:"1" type:"string" required:"true"` + + // Specifies the transit gateway and network configuration to connect the kdb + // environment to an internal network. + TransitGatewayConfiguration *TransitGatewayConfiguration `locationName:"transitGatewayConfiguration" type:"structure"` } // String returns the string representation. @@ -1980,7 +10701,7 @@ type TagResourceInput struct { // 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 { +func (s UpdateKxEnvironmentNetworkInput) String() string { return awsutil.Prettify(s) } @@ -1989,24 +10710,36 @@ func (s TagResourceInput) String() string { // 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 { +func (s UpdateKxEnvironmentNetworkInput) 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")) +func (s *UpdateKxEnvironmentNetworkInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateKxEnvironmentNetworkInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) } - if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) } - if s.Tags == nil { - invalidParams.Add(request.NewErrParamRequired("Tags")) + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + if s.CustomDNSConfiguration != nil { + for i, v := range s.CustomDNSConfiguration { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CustomDNSConfiguration", i), err.(request.ErrInvalidParams)) + } + } + } + if s.TransitGatewayConfiguration != nil { + if err := s.TransitGatewayConfiguration.Validate(); err != nil { + invalidParams.AddNested("TransitGatewayConfiguration", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -2015,20 +10748,83 @@ func (s *TagResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { - s.ResourceArn = &v +// SetClientToken sets the ClientToken field's value. +func (s *UpdateKxEnvironmentNetworkInput) SetClientToken(v string) *UpdateKxEnvironmentNetworkInput { + s.ClientToken = &v return s } -// SetTags sets the Tags field's value. -func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { - s.Tags = v +// SetCustomDNSConfiguration sets the CustomDNSConfiguration field's value. +func (s *UpdateKxEnvironmentNetworkInput) SetCustomDNSConfiguration(v []*CustomDNSServer) *UpdateKxEnvironmentNetworkInput { + s.CustomDNSConfiguration = v return s } -type TagResourceOutput struct { +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *UpdateKxEnvironmentNetworkInput) SetEnvironmentId(v string) *UpdateKxEnvironmentNetworkInput { + s.EnvironmentId = &v + return s +} + +// SetTransitGatewayConfiguration sets the TransitGatewayConfiguration field's value. +func (s *UpdateKxEnvironmentNetworkInput) SetTransitGatewayConfiguration(v *TransitGatewayConfiguration) *UpdateKxEnvironmentNetworkInput { + s.TransitGatewayConfiguration = v + return s +} + +type UpdateKxEnvironmentNetworkOutput struct { _ struct{} `type:"structure"` + + // The identifier of the availability zones where subnets for the environment + // are created. + AvailabilityZoneIds []*string `locationName:"availabilityZoneIds" type:"list"` + + // The unique identifier of the AWS account that is used to create the kdb environment. + AwsAccountId *string `locationName:"awsAccountId" min:"1" type:"string"` + + // The timestamp at which the kdb environment was created in FinSpace. + CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"` + + // A list of DNS server name and server IP. This is used to set up Route-53 + // outbound resolvers. + CustomDNSConfiguration []*CustomDNSServer `locationName:"customDNSConfiguration" type:"list"` + + // A unique identifier for the AWS environment infrastructure account. + DedicatedServiceAccountId *string `locationName:"dedicatedServiceAccountId" min:"1" type:"string"` + + // The description of the environment. + Description *string `locationName:"description" min:"1" type:"string"` + + // The status of DNS configuration. + DnsStatus *string `locationName:"dnsStatus" type:"string" enum:"DnsStatus"` + + // The ARN identifier of the environment. + EnvironmentArn *string `locationName:"environmentArn" min:"20" type:"string"` + + // A unique identifier for the kdb environment. + EnvironmentId *string `locationName:"environmentId" min:"1" type:"string"` + + // Specifies the error message that appears if a flow fails. + ErrorMessage *string `locationName:"errorMessage" type:"string"` + + // The KMS key ID to encrypt your data in the FinSpace environment. + KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` + + // The name of the kdb environment. + Name *string `locationName:"name" min:"3" type:"string"` + + // The status of the kdb environment. + Status *string `locationName:"status" type:"string" enum:"EnvironmentStatus"` + + // The status of the network configuration. + TgwStatus *string `locationName:"tgwStatus" type:"string" enum:"TgwStatus"` + + // The structure of the transit gateway and network configuration that is used + // to connect the kdb environment to an internal network. + TransitGatewayConfiguration *TransitGatewayConfiguration `locationName:"transitGatewayConfiguration" type:"structure"` + + // The timestamp at which the kdb environment was updated. + UpdateTimestamp *time.Time `locationName:"updateTimestamp" type:"timestamp"` } // String returns the string representation. @@ -2036,7 +10832,7 @@ type TagResourceOutput struct { // 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 { +func (s UpdateKxEnvironmentNetworkOutput) String() string { return awsutil.Prettify(s) } @@ -2045,87 +10841,159 @@ func (s TagResourceOutput) String() string { // 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 { +func (s UpdateKxEnvironmentNetworkOutput) GoString() string { return s.String() } -// The request was denied due to request throttling. -type ThrottlingException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetAvailabilityZoneIds sets the AvailabilityZoneIds field's value. +func (s *UpdateKxEnvironmentNetworkOutput) SetAvailabilityZoneIds(v []*string) *UpdateKxEnvironmentNetworkOutput { + s.AvailabilityZoneIds = v + return s +} - Message_ *string `locationName:"message" type:"string"` +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *UpdateKxEnvironmentNetworkOutput) SetAwsAccountId(v string) *UpdateKxEnvironmentNetworkOutput { + s.AwsAccountId = &v + return s } -// 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) +// SetCreationTimestamp sets the CreationTimestamp field's value. +func (s *UpdateKxEnvironmentNetworkOutput) SetCreationTimestamp(v time.Time) *UpdateKxEnvironmentNetworkOutput { + s.CreationTimestamp = &v + return 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() +// SetCustomDNSConfiguration sets the CustomDNSConfiguration field's value. +func (s *UpdateKxEnvironmentNetworkOutput) SetCustomDNSConfiguration(v []*CustomDNSServer) *UpdateKxEnvironmentNetworkOutput { + s.CustomDNSConfiguration = v + return s } -func newErrorThrottlingException(v protocol.ResponseMetadata) error { - return &ThrottlingException{ - RespMetadata: v, - } +// SetDedicatedServiceAccountId sets the DedicatedServiceAccountId field's value. +func (s *UpdateKxEnvironmentNetworkOutput) SetDedicatedServiceAccountId(v string) *UpdateKxEnvironmentNetworkOutput { + s.DedicatedServiceAccountId = &v + return s } -// Code returns the exception type name. -func (s *ThrottlingException) Code() string { - return "ThrottlingException" +// SetDescription sets the Description field's value. +func (s *UpdateKxEnvironmentNetworkOutput) SetDescription(v string) *UpdateKxEnvironmentNetworkOutput { + s.Description = &v + return s } -// Message returns the exception's message. -func (s *ThrottlingException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetDnsStatus sets the DnsStatus field's value. +func (s *UpdateKxEnvironmentNetworkOutput) SetDnsStatus(v string) *UpdateKxEnvironmentNetworkOutput { + s.DnsStatus = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ThrottlingException) OrigErr() error { - return nil +// SetEnvironmentArn sets the EnvironmentArn field's value. +func (s *UpdateKxEnvironmentNetworkOutput) SetEnvironmentArn(v string) *UpdateKxEnvironmentNetworkOutput { + s.EnvironmentArn = &v + return s } -func (s *ThrottlingException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *UpdateKxEnvironmentNetworkOutput) SetEnvironmentId(v string) *UpdateKxEnvironmentNetworkOutput { + s.EnvironmentId = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *ThrottlingException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetErrorMessage sets the ErrorMessage field's value. +func (s *UpdateKxEnvironmentNetworkOutput) SetErrorMessage(v string) *UpdateKxEnvironmentNetworkOutput { + s.ErrorMessage = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ThrottlingException) RequestID() string { - return s.RespMetadata.RequestID +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *UpdateKxEnvironmentNetworkOutput) SetKmsKeyId(v string) *UpdateKxEnvironmentNetworkOutput { + s.KmsKeyId = &v + return s } -type UntagResourceInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// SetName sets the Name field's value. +func (s *UpdateKxEnvironmentNetworkOutput) SetName(v string) *UpdateKxEnvironmentNetworkOutput { + s.Name = &v + return s +} - // A FinSpace resource from which you want to remove a tag or tags. The value - // for this parameter is an Amazon Resource Name (ARN). - // - // ResourceArn is a required field - ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` +// SetStatus sets the Status field's value. +func (s *UpdateKxEnvironmentNetworkOutput) SetStatus(v string) *UpdateKxEnvironmentNetworkOutput { + s.Status = &v + return s +} - // The tag keys (names) of one or more tags to be removed. - // - // TagKeys is a required field - TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"` +// SetTgwStatus sets the TgwStatus field's value. +func (s *UpdateKxEnvironmentNetworkOutput) SetTgwStatus(v string) *UpdateKxEnvironmentNetworkOutput { + s.TgwStatus = &v + return s +} + +// SetTransitGatewayConfiguration sets the TransitGatewayConfiguration field's value. +func (s *UpdateKxEnvironmentNetworkOutput) SetTransitGatewayConfiguration(v *TransitGatewayConfiguration) *UpdateKxEnvironmentNetworkOutput { + s.TransitGatewayConfiguration = v + return s +} + +// SetUpdateTimestamp sets the UpdateTimestamp field's value. +func (s *UpdateKxEnvironmentNetworkOutput) SetUpdateTimestamp(v time.Time) *UpdateKxEnvironmentNetworkOutput { + s.UpdateTimestamp = &v + return s +} + +type UpdateKxEnvironmentOutput struct { + _ struct{} `type:"structure"` + + // The identifier of the availability zones where subnets for the environment + // are created. + AvailabilityZoneIds []*string `locationName:"availabilityZoneIds" type:"list"` + + // The unique identifier of the AWS account that is used to create the kdb environment. + AwsAccountId *string `locationName:"awsAccountId" min:"1" type:"string"` + + // The timestamp at which the kdb environment was created in FinSpace. + CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"` + + // A list of DNS server name and server IP. This is used to set up Route-53 + // outbound resolvers. + CustomDNSConfiguration []*CustomDNSServer `locationName:"customDNSConfiguration" type:"list"` + + // A unique identifier for the AWS environment infrastructure account. + DedicatedServiceAccountId *string `locationName:"dedicatedServiceAccountId" min:"1" type:"string"` + + // The description of the environment. + Description *string `locationName:"description" min:"1" type:"string"` + + // The status of DNS configuration. + DnsStatus *string `locationName:"dnsStatus" type:"string" enum:"DnsStatus"` + + // The ARN identifier of the environment. + EnvironmentArn *string `locationName:"environmentArn" min:"20" type:"string"` + + // A unique identifier for the kdb environment. + EnvironmentId *string `locationName:"environmentId" min:"1" type:"string"` + + // Specifies the error message that appears if a flow fails. + ErrorMessage *string `locationName:"errorMessage" type:"string"` + + // The KMS key ID to encrypt your data in the FinSpace environment. + KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` + + // The name of the kdb environment. + Name *string `locationName:"name" min:"3" type:"string"` + + // The status of the kdb environment. + Status *string `locationName:"status" type:"string" enum:"EnvironmentStatus"` + + // The status of the network configuration. + TgwStatus *string `locationName:"tgwStatus" type:"string" enum:"TgwStatus"` + + // The structure of the transit gateway and network configuration that is used + // to connect the kdb environment to an internal network. + TransitGatewayConfiguration *TransitGatewayConfiguration `locationName:"transitGatewayConfiguration" type:"structure"` + + // The timestamp at which the kdb environment was updated. + UpdateTimestamp *time.Time `locationName:"updateTimestamp" type:"timestamp"` } // String returns the string representation. @@ -2133,7 +11001,7 @@ type UntagResourceInput struct { // 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 { +func (s UpdateKxEnvironmentOutput) String() string { return awsutil.Prettify(s) } @@ -2142,91 +11010,126 @@ func (s UntagResourceInput) String() string { // 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 { +func (s UpdateKxEnvironmentOutput) 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) < 20 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) - } - if s.TagKeys == nil { - invalidParams.Add(request.NewErrParamRequired("TagKeys")) - } - if s.TagKeys != nil && len(s.TagKeys) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) - } +// SetAvailabilityZoneIds sets the AvailabilityZoneIds field's value. +func (s *UpdateKxEnvironmentOutput) SetAvailabilityZoneIds(v []*string) *UpdateKxEnvironmentOutput { + s.AvailabilityZoneIds = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *UpdateKxEnvironmentOutput) SetAwsAccountId(v string) *UpdateKxEnvironmentOutput { + s.AwsAccountId = &v + return s +} + +// SetCreationTimestamp sets the CreationTimestamp field's value. +func (s *UpdateKxEnvironmentOutput) SetCreationTimestamp(v time.Time) *UpdateKxEnvironmentOutput { + s.CreationTimestamp = &v + return s +} + +// SetCustomDNSConfiguration sets the CustomDNSConfiguration field's value. +func (s *UpdateKxEnvironmentOutput) SetCustomDNSConfiguration(v []*CustomDNSServer) *UpdateKxEnvironmentOutput { + s.CustomDNSConfiguration = v + return s +} + +// SetDedicatedServiceAccountId sets the DedicatedServiceAccountId field's value. +func (s *UpdateKxEnvironmentOutput) SetDedicatedServiceAccountId(v string) *UpdateKxEnvironmentOutput { + s.DedicatedServiceAccountId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateKxEnvironmentOutput) SetDescription(v string) *UpdateKxEnvironmentOutput { + s.Description = &v + return s +} + +// SetDnsStatus sets the DnsStatus field's value. +func (s *UpdateKxEnvironmentOutput) SetDnsStatus(v string) *UpdateKxEnvironmentOutput { + s.DnsStatus = &v + return s +} + +// SetEnvironmentArn sets the EnvironmentArn field's value. +func (s *UpdateKxEnvironmentOutput) SetEnvironmentArn(v string) *UpdateKxEnvironmentOutput { + s.EnvironmentArn = &v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *UpdateKxEnvironmentOutput) SetEnvironmentId(v string) *UpdateKxEnvironmentOutput { + s.EnvironmentId = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *UpdateKxEnvironmentOutput) SetErrorMessage(v string) *UpdateKxEnvironmentOutput { + s.ErrorMessage = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *UpdateKxEnvironmentOutput) SetKmsKeyId(v string) *UpdateKxEnvironmentOutput { + s.KmsKeyId = &v + return s } -// SetResourceArn sets the ResourceArn field's value. -func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { - s.ResourceArn = &v +// SetName sets the Name field's value. +func (s *UpdateKxEnvironmentOutput) SetName(v string) *UpdateKxEnvironmentOutput { + s.Name = &v return s } -// SetTagKeys sets the TagKeys field's value. -func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { - s.TagKeys = v +// SetStatus sets the Status field's value. +func (s *UpdateKxEnvironmentOutput) SetStatus(v string) *UpdateKxEnvironmentOutput { + s.Status = &v return s } -type UntagResourceOutput struct { - _ struct{} `type:"structure"` +// SetTgwStatus sets the TgwStatus field's value. +func (s *UpdateKxEnvironmentOutput) SetTgwStatus(v string) *UpdateKxEnvironmentOutput { + s.TgwStatus = &v + return s } -// 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) +// SetTransitGatewayConfiguration sets the TransitGatewayConfiguration field's value. +func (s *UpdateKxEnvironmentOutput) SetTransitGatewayConfiguration(v *TransitGatewayConfiguration) *UpdateKxEnvironmentOutput { + s.TransitGatewayConfiguration = v + return 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() +// SetUpdateTimestamp sets the UpdateTimestamp field's value. +func (s *UpdateKxEnvironmentOutput) SetUpdateTimestamp(v time.Time) *UpdateKxEnvironmentOutput { + s.UpdateTimestamp = &v + return s } -type UpdateEnvironmentInput struct { +type UpdateKxUserInput struct { _ struct{} `type:"structure"` - // The description of the environment. - Description *string `locationName:"description" min:"1" type:"string"` + // A token that ensures idempotency. This token expires in 10 minutes. + ClientToken *string `locationName:"clientToken" min:"1" type:"string"` - // The identifier of the FinSpace environment. + // A unique identifier for the kdb environment. // // EnvironmentId is a required field EnvironmentId *string `location:"uri" locationName:"environmentId" min:"1" type:"string" required:"true"` - // Authentication mode for the environment. - // - // * FEDERATED - Users access FinSpace through Single Sign On (SSO) via your - // Identity provider. + // The IAM role ARN that is associated with the user. // - // * LOCAL - Users access FinSpace via email and password managed within - // the FinSpace environment. - FederationMode *string `locationName:"federationMode" type:"string" enum:"FederationMode"` - - // Configuration information when authentication mode is FEDERATED. - FederationParameters *FederationParameters `locationName:"federationParameters" type:"structure"` + // IamRole is a required field + IamRole *string `locationName:"iamRole" min:"20" type:"string" required:"true"` - // The name of the environment. - Name *string `locationName:"name" min:"1" type:"string"` + // A unique identifier for the user. + // + // UserName is a required field + UserName *string `location:"uri" locationName:"userName" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -2234,7 +11137,7 @@ type UpdateEnvironmentInput struct { // 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 UpdateEnvironmentInput) String() string { +func (s UpdateKxUserInput) String() string { return awsutil.Prettify(s) } @@ -2243,15 +11146,15 @@ func (s UpdateEnvironmentInput) String() string { // 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 UpdateEnvironmentInput) GoString() string { +func (s UpdateKxUserInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateEnvironmentInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateEnvironmentInput"} - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) +func (s *UpdateKxUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateKxUserInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) } if s.EnvironmentId == nil { invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) @@ -2259,13 +11162,17 @@ func (s *UpdateEnvironmentInput) Validate() error { if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.IamRole == nil { + invalidParams.Add(request.NewErrParamRequired("IamRole")) } - if s.FederationParameters != nil { - if err := s.FederationParameters.Validate(); err != nil { - invalidParams.AddNested("FederationParameters", err.(request.ErrInvalidParams)) - } + if s.IamRole != nil && len(*s.IamRole) < 20 { + invalidParams.Add(request.NewErrParamMinLen("IamRole", 20)) + } + if s.UserName == nil { + invalidParams.Add(request.NewErrParamRequired("UserName")) + } + if s.UserName != nil && len(*s.UserName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) } if invalidParams.Len() > 0 { @@ -2274,41 +11181,46 @@ func (s *UpdateEnvironmentInput) Validate() error { return nil } -// SetDescription sets the Description field's value. -func (s *UpdateEnvironmentInput) SetDescription(v string) *UpdateEnvironmentInput { - s.Description = &v +// SetClientToken sets the ClientToken field's value. +func (s *UpdateKxUserInput) SetClientToken(v string) *UpdateKxUserInput { + s.ClientToken = &v return s } // SetEnvironmentId sets the EnvironmentId field's value. -func (s *UpdateEnvironmentInput) SetEnvironmentId(v string) *UpdateEnvironmentInput { +func (s *UpdateKxUserInput) SetEnvironmentId(v string) *UpdateKxUserInput { s.EnvironmentId = &v return s } -// SetFederationMode sets the FederationMode field's value. -func (s *UpdateEnvironmentInput) SetFederationMode(v string) *UpdateEnvironmentInput { - s.FederationMode = &v - return s -} - -// SetFederationParameters sets the FederationParameters field's value. -func (s *UpdateEnvironmentInput) SetFederationParameters(v *FederationParameters) *UpdateEnvironmentInput { - s.FederationParameters = v +// SetIamRole sets the IamRole field's value. +func (s *UpdateKxUserInput) SetIamRole(v string) *UpdateKxUserInput { + s.IamRole = &v return s } -// SetName sets the Name field's value. -func (s *UpdateEnvironmentInput) SetName(v string) *UpdateEnvironmentInput { - s.Name = &v +// SetUserName sets the UserName field's value. +func (s *UpdateKxUserInput) SetUserName(v string) *UpdateKxUserInput { + s.UserName = &v return s } -type UpdateEnvironmentOutput struct { +type UpdateKxUserOutput struct { _ struct{} `type:"structure"` - // Returns the FinSpace environment object. - Environment *Environment `locationName:"environment" type:"structure"` + // A unique identifier for the kdb environment. + EnvironmentId *string `locationName:"environmentId" min:"1" type:"string"` + + // The IAM role ARN that is associated with the user. + IamRole *string `locationName:"iamRole" min:"20" type:"string"` + + // The Amazon Resource Name (ARN) that identifies the user. For more information + // about ARNs and how to use ARNs in policies, see IAM Identifiers (IAM/latest/UserGuide/reference_identifiers.html) + // in the IAM User Guide. + UserArn *string `locationName:"userArn" min:"20" type:"string"` + + // A unique identifier for the user. + UserName *string `locationName:"userName" min:"1" type:"string"` } // String returns the string representation. @@ -2316,7 +11228,7 @@ type UpdateEnvironmentOutput struct { // 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 UpdateEnvironmentOutput) String() string { +func (s UpdateKxUserOutput) String() string { return awsutil.Prettify(s) } @@ -2325,13 +11237,31 @@ func (s UpdateEnvironmentOutput) String() string { // 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 UpdateEnvironmentOutput) GoString() string { +func (s UpdateKxUserOutput) GoString() string { return s.String() } -// SetEnvironment sets the Environment field's value. -func (s *UpdateEnvironmentOutput) SetEnvironment(v *Environment) *UpdateEnvironmentOutput { - s.Environment = v +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *UpdateKxUserOutput) SetEnvironmentId(v string) *UpdateKxUserOutput { + s.EnvironmentId = &v + return s +} + +// SetIamRole sets the IamRole field's value. +func (s *UpdateKxUserOutput) SetIamRole(v string) *UpdateKxUserOutput { + s.IamRole = &v + return s +} + +// SetUserArn sets the UserArn field's value. +func (s *UpdateKxUserOutput) SetUserArn(v string) *UpdateKxUserOutput { + s.UserArn = &v + return s +} + +// SetUserName sets the UserName field's value. +func (s *UpdateKxUserOutput) SetUserName(v string) *UpdateKxUserOutput { + s.UserName = &v return s } @@ -2399,6 +11329,164 @@ func (s *ValidationException) RequestID() string { return s.RespMetadata.RequestID } +// Configuration details about the network where the Privatelink endpoint of +// the cluster resides. +type VpcConfiguration struct { + _ struct{} `type:"structure"` + + // The IP address type for cluster network configuration parameters. The following + // type is available: + // + // * IP_V4 – IP address version 4 + IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IPAddressType"` + + // The unique identifier of the VPC security group applied to the VPC endpoint + // ENI for the cluster. + SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` + + // The identifier of the subnet that the Privatelink VPC endpoint uses to connect + // to the cluster. + SubnetIds []*string `locationName:"subnetIds" type:"list"` + + // The identifier of the VPC endpoint. + VpcId *string `locationName:"vpcId" min:"1" 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 VpcConfiguration) 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 VpcConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VpcConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VpcConfiguration"} + if s.VpcId != nil && len(*s.VpcId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VpcId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIpAddressType sets the IpAddressType field's value. +func (s *VpcConfiguration) SetIpAddressType(v string) *VpcConfiguration { + s.IpAddressType = &v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *VpcConfiguration) SetSecurityGroupIds(v []*string) *VpcConfiguration { + s.SecurityGroupIds = v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *VpcConfiguration) SetSubnetIds(v []*string) *VpcConfiguration { + s.SubnetIds = v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *VpcConfiguration) SetVpcId(v string) *VpcConfiguration { + s.VpcId = &v + return s +} + +const ( + // AutoScalingMetricCpuUtilizationPercentage is a AutoScalingMetric enum value + AutoScalingMetricCpuUtilizationPercentage = "CPU_UTILIZATION_PERCENTAGE" +) + +// AutoScalingMetric_Values returns all elements of the AutoScalingMetric enum +func AutoScalingMetric_Values() []string { + return []string{ + AutoScalingMetricCpuUtilizationPercentage, + } +} + +const ( + // ChangeTypePut is a ChangeType enum value + ChangeTypePut = "PUT" + + // ChangeTypeDelete is a ChangeType enum value + ChangeTypeDelete = "DELETE" +) + +// ChangeType_Values returns all elements of the ChangeType enum +func ChangeType_Values() []string { + return []string{ + ChangeTypePut, + ChangeTypeDelete, + } +} + +const ( + // ChangesetStatusPending is a ChangesetStatus enum value + ChangesetStatusPending = "PENDING" + + // ChangesetStatusProcessing is a ChangesetStatus enum value + ChangesetStatusProcessing = "PROCESSING" + + // ChangesetStatusFailed is a ChangesetStatus enum value + ChangesetStatusFailed = "FAILED" + + // ChangesetStatusCompleted is a ChangesetStatus enum value + ChangesetStatusCompleted = "COMPLETED" +) + +// ChangesetStatus_Values returns all elements of the ChangesetStatus enum +func ChangesetStatus_Values() []string { + return []string{ + ChangesetStatusPending, + ChangesetStatusProcessing, + ChangesetStatusFailed, + ChangesetStatusCompleted, + } +} + +const ( + // DnsStatusNone is a DnsStatus enum value + DnsStatusNone = "NONE" + + // DnsStatusUpdateRequested is a DnsStatus enum value + DnsStatusUpdateRequested = "UPDATE_REQUESTED" + + // DnsStatusUpdating is a DnsStatus enum value + DnsStatusUpdating = "UPDATING" + + // DnsStatusFailedUpdate is a DnsStatus enum value + DnsStatusFailedUpdate = "FAILED_UPDATE" + + // DnsStatusSuccessfullyUpdated is a DnsStatus enum value + DnsStatusSuccessfullyUpdated = "SUCCESSFULLY_UPDATED" +) + +// DnsStatus_Values returns all elements of the DnsStatus enum +func DnsStatus_Values() []string { + return []string{ + DnsStatusNone, + DnsStatusUpdateRequested, + DnsStatusUpdating, + DnsStatusFailedUpdate, + DnsStatusSuccessfullyUpdated, + } +} + const ( // EnvironmentStatusCreateRequested is a EnvironmentStatus enum value EnvironmentStatusCreateRequested = "CREATE_REQUESTED" @@ -2427,6 +11515,15 @@ const ( // EnvironmentStatusFailedDeletion is a EnvironmentStatus enum value EnvironmentStatusFailedDeletion = "FAILED_DELETION" + // EnvironmentStatusUpdateNetworkRequested is a EnvironmentStatus enum value + EnvironmentStatusUpdateNetworkRequested = "UPDATE_NETWORK_REQUESTED" + + // EnvironmentStatusUpdatingNetwork is a EnvironmentStatus enum value + EnvironmentStatusUpdatingNetwork = "UPDATING_NETWORK" + + // EnvironmentStatusFailedUpdatingNetwork is a EnvironmentStatus enum value + EnvironmentStatusFailedUpdatingNetwork = "FAILED_UPDATING_NETWORK" + // EnvironmentStatusSuspended is a EnvironmentStatus enum value EnvironmentStatusSuspended = "SUSPENDED" ) @@ -2443,10 +11540,53 @@ func EnvironmentStatus_Values() []string { EnvironmentStatusFailedCreation, EnvironmentStatusRetryDeletion, EnvironmentStatusFailedDeletion, + EnvironmentStatusUpdateNetworkRequested, + EnvironmentStatusUpdatingNetwork, + EnvironmentStatusFailedUpdatingNetwork, EnvironmentStatusSuspended, } } +const ( + // ErrorDetailsTheinputstothisrequestareinvalid is a ErrorDetails enum value + ErrorDetailsTheinputstothisrequestareinvalid = "The inputs to this request are invalid." + + // ErrorDetailsServicelimitshavebeenexceeded is a ErrorDetails enum value + ErrorDetailsServicelimitshavebeenexceeded = "Service limits have been exceeded." + + // ErrorDetailsMissingrequiredpermissiontoperformthisrequest is a ErrorDetails enum value + ErrorDetailsMissingrequiredpermissiontoperformthisrequest = "Missing required permission to perform this request." + + // ErrorDetailsOneormoreinputstothisrequestwerenotfound is a ErrorDetails enum value + ErrorDetailsOneormoreinputstothisrequestwerenotfound = "One or more inputs to this request were not found." + + // ErrorDetailsThesystemtemporarilylackssufficientresourcestoprocesstherequest is a ErrorDetails enum value + ErrorDetailsThesystemtemporarilylackssufficientresourcestoprocesstherequest = "The system temporarily lacks sufficient resources to process the request." + + // ErrorDetailsAninternalerrorhasoccurred is a ErrorDetails enum value + ErrorDetailsAninternalerrorhasoccurred = "An internal error has occurred." + + // ErrorDetailsCancelled is a ErrorDetails enum value + ErrorDetailsCancelled = "Cancelled" + + // ErrorDetailsAuserrecoverableerrorhasoccurred is a ErrorDetails enum value + ErrorDetailsAuserrecoverableerrorhasoccurred = "A user recoverable error has occurred" +) + +// ErrorDetails_Values returns all elements of the ErrorDetails enum +func ErrorDetails_Values() []string { + return []string{ + ErrorDetailsTheinputstothisrequestareinvalid, + ErrorDetailsServicelimitshavebeenexceeded, + ErrorDetailsMissingrequiredpermissiontoperformthisrequest, + ErrorDetailsOneormoreinputstothisrequestwerenotfound, + ErrorDetailsThesystemtemporarilylackssufficientresourcestoprocesstherequest, + ErrorDetailsAninternalerrorhasoccurred, + ErrorDetailsCancelled, + ErrorDetailsAuserrecoverableerrorhasoccurred, + } +} + const ( // FederationModeFederated is a FederationMode enum value FederationModeFederated = "FEDERATED" @@ -2462,3 +11602,131 @@ func FederationMode_Values() []string { FederationModeLocal, } } + +const ( + // IPAddressTypeIpV4 is a IPAddressType enum value + IPAddressTypeIpV4 = "IP_V4" +) + +// IPAddressType_Values returns all elements of the IPAddressType enum +func IPAddressType_Values() []string { + return []string{ + IPAddressTypeIpV4, + } +} + +const ( + // KxAzModeSingle is a KxAzMode enum value + KxAzModeSingle = "SINGLE" + + // KxAzModeMulti is a KxAzMode enum value + KxAzModeMulti = "MULTI" +) + +// KxAzMode_Values returns all elements of the KxAzMode enum +func KxAzMode_Values() []string { + return []string{ + KxAzModeSingle, + KxAzModeMulti, + } +} + +const ( + // KxClusterStatusPending is a KxClusterStatus enum value + KxClusterStatusPending = "PENDING" + + // KxClusterStatusCreating is a KxClusterStatus enum value + KxClusterStatusCreating = "CREATING" + + // KxClusterStatusCreateFailed is a KxClusterStatus enum value + KxClusterStatusCreateFailed = "CREATE_FAILED" + + // KxClusterStatusRunning is a KxClusterStatus enum value + KxClusterStatusRunning = "RUNNING" + + // KxClusterStatusUpdating is a KxClusterStatus enum value + KxClusterStatusUpdating = "UPDATING" + + // KxClusterStatusDeleting is a KxClusterStatus enum value + KxClusterStatusDeleting = "DELETING" + + // KxClusterStatusDeleted is a KxClusterStatus enum value + KxClusterStatusDeleted = "DELETED" + + // KxClusterStatusDeleteFailed is a KxClusterStatus enum value + KxClusterStatusDeleteFailed = "DELETE_FAILED" +) + +// KxClusterStatus_Values returns all elements of the KxClusterStatus enum +func KxClusterStatus_Values() []string { + return []string{ + KxClusterStatusPending, + KxClusterStatusCreating, + KxClusterStatusCreateFailed, + KxClusterStatusRunning, + KxClusterStatusUpdating, + KxClusterStatusDeleting, + KxClusterStatusDeleted, + KxClusterStatusDeleteFailed, + } +} + +const ( + // KxClusterTypeHdb is a KxClusterType enum value + KxClusterTypeHdb = "HDB" + + // KxClusterTypeRdb is a KxClusterType enum value + KxClusterTypeRdb = "RDB" + + // KxClusterTypeGateway is a KxClusterType enum value + KxClusterTypeGateway = "GATEWAY" +) + +// KxClusterType_Values returns all elements of the KxClusterType enum +func KxClusterType_Values() []string { + return []string{ + KxClusterTypeHdb, + KxClusterTypeRdb, + KxClusterTypeGateway, + } +} + +const ( + // KxSavedownStorageTypeSds01 is a KxSavedownStorageType enum value + KxSavedownStorageTypeSds01 = "SDS01" +) + +// KxSavedownStorageType_Values returns all elements of the KxSavedownStorageType enum +func KxSavedownStorageType_Values() []string { + return []string{ + KxSavedownStorageTypeSds01, + } +} + +const ( + // TgwStatusNone is a TgwStatus enum value + TgwStatusNone = "NONE" + + // TgwStatusUpdateRequested is a TgwStatus enum value + TgwStatusUpdateRequested = "UPDATE_REQUESTED" + + // TgwStatusUpdating is a TgwStatus enum value + TgwStatusUpdating = "UPDATING" + + // TgwStatusFailedUpdate is a TgwStatus enum value + TgwStatusFailedUpdate = "FAILED_UPDATE" + + // TgwStatusSuccessfullyUpdated is a TgwStatus enum value + TgwStatusSuccessfullyUpdated = "SUCCESSFULLY_UPDATED" +) + +// TgwStatus_Values returns all elements of the TgwStatus enum +func TgwStatus_Values() []string { + return []string{ + TgwStatusNone, + TgwStatusUpdateRequested, + TgwStatusUpdating, + TgwStatusFailedUpdate, + TgwStatusSuccessfullyUpdated, + } +} diff --git a/service/finspace/errors.go b/service/finspace/errors.go index d7d9498c50c..1864a9d8fc3 100644 --- a/service/finspace/errors.go +++ b/service/finspace/errors.go @@ -14,6 +14,12 @@ const ( // You do not have sufficient access to perform this action. ErrCodeAccessDeniedException = "AccessDeniedException" + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // There was a conflict with this action, and it could not be completed. + ErrCodeConflictException = "ConflictException" + // ErrCodeInternalServerException for service response error code // "InternalServerException". // @@ -33,6 +39,12 @@ const ( // A service limit or quota is exceeded. ErrCodeLimitExceededException = "LimitExceededException" + // ErrCodeResourceAlreadyExistsException for service response error code + // "ResourceAlreadyExistsException". + // + // The specified resource group already exists. + ErrCodeResourceAlreadyExistsException = "ResourceAlreadyExistsException" + // ErrCodeResourceNotFoundException for service response error code // "ResourceNotFoundException". // @@ -61,12 +73,14 @@ const ( ) var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ - "AccessDeniedException": newErrorAccessDeniedException, - "InternalServerException": newErrorInternalServerException, - "InvalidRequestException": newErrorInvalidRequestException, - "LimitExceededException": newErrorLimitExceededException, - "ResourceNotFoundException": newErrorResourceNotFoundException, - "ServiceQuotaExceededException": newErrorServiceQuotaExceededException, - "ThrottlingException": newErrorThrottlingException, - "ValidationException": newErrorValidationException, + "AccessDeniedException": newErrorAccessDeniedException, + "ConflictException": newErrorConflictException, + "InternalServerException": newErrorInternalServerException, + "InvalidRequestException": newErrorInvalidRequestException, + "LimitExceededException": newErrorLimitExceededException, + "ResourceAlreadyExistsException": newErrorResourceAlreadyExistsException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ServiceQuotaExceededException": newErrorServiceQuotaExceededException, + "ThrottlingException": newErrorThrottlingException, + "ValidationException": newErrorValidationException, } diff --git a/service/finspace/finspaceiface/interface.go b/service/finspace/finspaceiface/interface.go index af590926c09..93841d25808 100644 --- a/service/finspace/finspaceiface/interface.go +++ b/service/finspace/finspaceiface/interface.go @@ -64,18 +64,114 @@ type FinspaceAPI interface { CreateEnvironmentWithContext(aws.Context, *finspace.CreateEnvironmentInput, ...request.Option) (*finspace.CreateEnvironmentOutput, error) CreateEnvironmentRequest(*finspace.CreateEnvironmentInput) (*request.Request, *finspace.CreateEnvironmentOutput) + CreateKxChangeset(*finspace.CreateKxChangesetInput) (*finspace.CreateKxChangesetOutput, error) + CreateKxChangesetWithContext(aws.Context, *finspace.CreateKxChangesetInput, ...request.Option) (*finspace.CreateKxChangesetOutput, error) + CreateKxChangesetRequest(*finspace.CreateKxChangesetInput) (*request.Request, *finspace.CreateKxChangesetOutput) + + CreateKxCluster(*finspace.CreateKxClusterInput) (*finspace.CreateKxClusterOutput, error) + CreateKxClusterWithContext(aws.Context, *finspace.CreateKxClusterInput, ...request.Option) (*finspace.CreateKxClusterOutput, error) + CreateKxClusterRequest(*finspace.CreateKxClusterInput) (*request.Request, *finspace.CreateKxClusterOutput) + + CreateKxDatabase(*finspace.CreateKxDatabaseInput) (*finspace.CreateKxDatabaseOutput, error) + CreateKxDatabaseWithContext(aws.Context, *finspace.CreateKxDatabaseInput, ...request.Option) (*finspace.CreateKxDatabaseOutput, error) + CreateKxDatabaseRequest(*finspace.CreateKxDatabaseInput) (*request.Request, *finspace.CreateKxDatabaseOutput) + + CreateKxEnvironment(*finspace.CreateKxEnvironmentInput) (*finspace.CreateKxEnvironmentOutput, error) + CreateKxEnvironmentWithContext(aws.Context, *finspace.CreateKxEnvironmentInput, ...request.Option) (*finspace.CreateKxEnvironmentOutput, error) + CreateKxEnvironmentRequest(*finspace.CreateKxEnvironmentInput) (*request.Request, *finspace.CreateKxEnvironmentOutput) + + CreateKxUser(*finspace.CreateKxUserInput) (*finspace.CreateKxUserOutput, error) + CreateKxUserWithContext(aws.Context, *finspace.CreateKxUserInput, ...request.Option) (*finspace.CreateKxUserOutput, error) + CreateKxUserRequest(*finspace.CreateKxUserInput) (*request.Request, *finspace.CreateKxUserOutput) + DeleteEnvironment(*finspace.DeleteEnvironmentInput) (*finspace.DeleteEnvironmentOutput, error) DeleteEnvironmentWithContext(aws.Context, *finspace.DeleteEnvironmentInput, ...request.Option) (*finspace.DeleteEnvironmentOutput, error) DeleteEnvironmentRequest(*finspace.DeleteEnvironmentInput) (*request.Request, *finspace.DeleteEnvironmentOutput) + DeleteKxCluster(*finspace.DeleteKxClusterInput) (*finspace.DeleteKxClusterOutput, error) + DeleteKxClusterWithContext(aws.Context, *finspace.DeleteKxClusterInput, ...request.Option) (*finspace.DeleteKxClusterOutput, error) + DeleteKxClusterRequest(*finspace.DeleteKxClusterInput) (*request.Request, *finspace.DeleteKxClusterOutput) + + DeleteKxDatabase(*finspace.DeleteKxDatabaseInput) (*finspace.DeleteKxDatabaseOutput, error) + DeleteKxDatabaseWithContext(aws.Context, *finspace.DeleteKxDatabaseInput, ...request.Option) (*finspace.DeleteKxDatabaseOutput, error) + DeleteKxDatabaseRequest(*finspace.DeleteKxDatabaseInput) (*request.Request, *finspace.DeleteKxDatabaseOutput) + + DeleteKxEnvironment(*finspace.DeleteKxEnvironmentInput) (*finspace.DeleteKxEnvironmentOutput, error) + DeleteKxEnvironmentWithContext(aws.Context, *finspace.DeleteKxEnvironmentInput, ...request.Option) (*finspace.DeleteKxEnvironmentOutput, error) + DeleteKxEnvironmentRequest(*finspace.DeleteKxEnvironmentInput) (*request.Request, *finspace.DeleteKxEnvironmentOutput) + + DeleteKxUser(*finspace.DeleteKxUserInput) (*finspace.DeleteKxUserOutput, error) + DeleteKxUserWithContext(aws.Context, *finspace.DeleteKxUserInput, ...request.Option) (*finspace.DeleteKxUserOutput, error) + DeleteKxUserRequest(*finspace.DeleteKxUserInput) (*request.Request, *finspace.DeleteKxUserOutput) + GetEnvironment(*finspace.GetEnvironmentInput) (*finspace.GetEnvironmentOutput, error) GetEnvironmentWithContext(aws.Context, *finspace.GetEnvironmentInput, ...request.Option) (*finspace.GetEnvironmentOutput, error) GetEnvironmentRequest(*finspace.GetEnvironmentInput) (*request.Request, *finspace.GetEnvironmentOutput) + GetKxChangeset(*finspace.GetKxChangesetInput) (*finspace.GetKxChangesetOutput, error) + GetKxChangesetWithContext(aws.Context, *finspace.GetKxChangesetInput, ...request.Option) (*finspace.GetKxChangesetOutput, error) + GetKxChangesetRequest(*finspace.GetKxChangesetInput) (*request.Request, *finspace.GetKxChangesetOutput) + + GetKxCluster(*finspace.GetKxClusterInput) (*finspace.GetKxClusterOutput, error) + GetKxClusterWithContext(aws.Context, *finspace.GetKxClusterInput, ...request.Option) (*finspace.GetKxClusterOutput, error) + GetKxClusterRequest(*finspace.GetKxClusterInput) (*request.Request, *finspace.GetKxClusterOutput) + + GetKxConnectionString(*finspace.GetKxConnectionStringInput) (*finspace.GetKxConnectionStringOutput, error) + GetKxConnectionStringWithContext(aws.Context, *finspace.GetKxConnectionStringInput, ...request.Option) (*finspace.GetKxConnectionStringOutput, error) + GetKxConnectionStringRequest(*finspace.GetKxConnectionStringInput) (*request.Request, *finspace.GetKxConnectionStringOutput) + + GetKxDatabase(*finspace.GetKxDatabaseInput) (*finspace.GetKxDatabaseOutput, error) + GetKxDatabaseWithContext(aws.Context, *finspace.GetKxDatabaseInput, ...request.Option) (*finspace.GetKxDatabaseOutput, error) + GetKxDatabaseRequest(*finspace.GetKxDatabaseInput) (*request.Request, *finspace.GetKxDatabaseOutput) + + GetKxEnvironment(*finspace.GetKxEnvironmentInput) (*finspace.GetKxEnvironmentOutput, error) + GetKxEnvironmentWithContext(aws.Context, *finspace.GetKxEnvironmentInput, ...request.Option) (*finspace.GetKxEnvironmentOutput, error) + GetKxEnvironmentRequest(*finspace.GetKxEnvironmentInput) (*request.Request, *finspace.GetKxEnvironmentOutput) + + GetKxUser(*finspace.GetKxUserInput) (*finspace.GetKxUserOutput, error) + GetKxUserWithContext(aws.Context, *finspace.GetKxUserInput, ...request.Option) (*finspace.GetKxUserOutput, error) + GetKxUserRequest(*finspace.GetKxUserInput) (*request.Request, *finspace.GetKxUserOutput) + ListEnvironments(*finspace.ListEnvironmentsInput) (*finspace.ListEnvironmentsOutput, error) ListEnvironmentsWithContext(aws.Context, *finspace.ListEnvironmentsInput, ...request.Option) (*finspace.ListEnvironmentsOutput, error) ListEnvironmentsRequest(*finspace.ListEnvironmentsInput) (*request.Request, *finspace.ListEnvironmentsOutput) + ListKxChangesets(*finspace.ListKxChangesetsInput) (*finspace.ListKxChangesetsOutput, error) + ListKxChangesetsWithContext(aws.Context, *finspace.ListKxChangesetsInput, ...request.Option) (*finspace.ListKxChangesetsOutput, error) + ListKxChangesetsRequest(*finspace.ListKxChangesetsInput) (*request.Request, *finspace.ListKxChangesetsOutput) + + ListKxChangesetsPages(*finspace.ListKxChangesetsInput, func(*finspace.ListKxChangesetsOutput, bool) bool) error + ListKxChangesetsPagesWithContext(aws.Context, *finspace.ListKxChangesetsInput, func(*finspace.ListKxChangesetsOutput, bool) bool, ...request.Option) error + + ListKxClusterNodes(*finspace.ListKxClusterNodesInput) (*finspace.ListKxClusterNodesOutput, error) + ListKxClusterNodesWithContext(aws.Context, *finspace.ListKxClusterNodesInput, ...request.Option) (*finspace.ListKxClusterNodesOutput, error) + ListKxClusterNodesRequest(*finspace.ListKxClusterNodesInput) (*request.Request, *finspace.ListKxClusterNodesOutput) + + ListKxClusterNodesPages(*finspace.ListKxClusterNodesInput, func(*finspace.ListKxClusterNodesOutput, bool) bool) error + ListKxClusterNodesPagesWithContext(aws.Context, *finspace.ListKxClusterNodesInput, func(*finspace.ListKxClusterNodesOutput, bool) bool, ...request.Option) error + + ListKxClusters(*finspace.ListKxClustersInput) (*finspace.ListKxClustersOutput, error) + ListKxClustersWithContext(aws.Context, *finspace.ListKxClustersInput, ...request.Option) (*finspace.ListKxClustersOutput, error) + ListKxClustersRequest(*finspace.ListKxClustersInput) (*request.Request, *finspace.ListKxClustersOutput) + + ListKxDatabases(*finspace.ListKxDatabasesInput) (*finspace.ListKxDatabasesOutput, error) + ListKxDatabasesWithContext(aws.Context, *finspace.ListKxDatabasesInput, ...request.Option) (*finspace.ListKxDatabasesOutput, error) + ListKxDatabasesRequest(*finspace.ListKxDatabasesInput) (*request.Request, *finspace.ListKxDatabasesOutput) + + ListKxDatabasesPages(*finspace.ListKxDatabasesInput, func(*finspace.ListKxDatabasesOutput, bool) bool) error + ListKxDatabasesPagesWithContext(aws.Context, *finspace.ListKxDatabasesInput, func(*finspace.ListKxDatabasesOutput, bool) bool, ...request.Option) error + + ListKxEnvironments(*finspace.ListKxEnvironmentsInput) (*finspace.ListKxEnvironmentsOutput, error) + ListKxEnvironmentsWithContext(aws.Context, *finspace.ListKxEnvironmentsInput, ...request.Option) (*finspace.ListKxEnvironmentsOutput, error) + ListKxEnvironmentsRequest(*finspace.ListKxEnvironmentsInput) (*request.Request, *finspace.ListKxEnvironmentsOutput) + + ListKxEnvironmentsPages(*finspace.ListKxEnvironmentsInput, func(*finspace.ListKxEnvironmentsOutput, bool) bool) error + ListKxEnvironmentsPagesWithContext(aws.Context, *finspace.ListKxEnvironmentsInput, func(*finspace.ListKxEnvironmentsOutput, bool) bool, ...request.Option) error + + ListKxUsers(*finspace.ListKxUsersInput) (*finspace.ListKxUsersOutput, error) + ListKxUsersWithContext(aws.Context, *finspace.ListKxUsersInput, ...request.Option) (*finspace.ListKxUsersOutput, error) + ListKxUsersRequest(*finspace.ListKxUsersInput) (*request.Request, *finspace.ListKxUsersOutput) + ListTagsForResource(*finspace.ListTagsForResourceInput) (*finspace.ListTagsForResourceOutput, error) ListTagsForResourceWithContext(aws.Context, *finspace.ListTagsForResourceInput, ...request.Option) (*finspace.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*finspace.ListTagsForResourceInput) (*request.Request, *finspace.ListTagsForResourceOutput) @@ -91,6 +187,26 @@ type FinspaceAPI interface { UpdateEnvironment(*finspace.UpdateEnvironmentInput) (*finspace.UpdateEnvironmentOutput, error) UpdateEnvironmentWithContext(aws.Context, *finspace.UpdateEnvironmentInput, ...request.Option) (*finspace.UpdateEnvironmentOutput, error) UpdateEnvironmentRequest(*finspace.UpdateEnvironmentInput) (*request.Request, *finspace.UpdateEnvironmentOutput) + + UpdateKxClusterDatabases(*finspace.UpdateKxClusterDatabasesInput) (*finspace.UpdateKxClusterDatabasesOutput, error) + UpdateKxClusterDatabasesWithContext(aws.Context, *finspace.UpdateKxClusterDatabasesInput, ...request.Option) (*finspace.UpdateKxClusterDatabasesOutput, error) + UpdateKxClusterDatabasesRequest(*finspace.UpdateKxClusterDatabasesInput) (*request.Request, *finspace.UpdateKxClusterDatabasesOutput) + + UpdateKxDatabase(*finspace.UpdateKxDatabaseInput) (*finspace.UpdateKxDatabaseOutput, error) + UpdateKxDatabaseWithContext(aws.Context, *finspace.UpdateKxDatabaseInput, ...request.Option) (*finspace.UpdateKxDatabaseOutput, error) + UpdateKxDatabaseRequest(*finspace.UpdateKxDatabaseInput) (*request.Request, *finspace.UpdateKxDatabaseOutput) + + UpdateKxEnvironment(*finspace.UpdateKxEnvironmentInput) (*finspace.UpdateKxEnvironmentOutput, error) + UpdateKxEnvironmentWithContext(aws.Context, *finspace.UpdateKxEnvironmentInput, ...request.Option) (*finspace.UpdateKxEnvironmentOutput, error) + UpdateKxEnvironmentRequest(*finspace.UpdateKxEnvironmentInput) (*request.Request, *finspace.UpdateKxEnvironmentOutput) + + UpdateKxEnvironmentNetwork(*finspace.UpdateKxEnvironmentNetworkInput) (*finspace.UpdateKxEnvironmentNetworkOutput, error) + UpdateKxEnvironmentNetworkWithContext(aws.Context, *finspace.UpdateKxEnvironmentNetworkInput, ...request.Option) (*finspace.UpdateKxEnvironmentNetworkOutput, error) + UpdateKxEnvironmentNetworkRequest(*finspace.UpdateKxEnvironmentNetworkInput) (*request.Request, *finspace.UpdateKxEnvironmentNetworkOutput) + + UpdateKxUser(*finspace.UpdateKxUserInput) (*finspace.UpdateKxUserOutput, error) + UpdateKxUserWithContext(aws.Context, *finspace.UpdateKxUserInput, ...request.Option) (*finspace.UpdateKxUserOutput, error) + UpdateKxUserRequest(*finspace.UpdateKxUserInput) (*request.Request, *finspace.UpdateKxUserOutput) } var _ FinspaceAPI = (*finspace.Finspace)(nil) diff --git a/service/frauddetector/api.go b/service/frauddetector/api.go index 4eb6903db8f..96cbee22be2 100644 --- a/service/frauddetector/api.go +++ b/service/frauddetector/api.go @@ -1649,7 +1649,9 @@ func (c *FraudDetector) DeleteEventRequest(input *DeleteEventInput) (req *reques // Deletes the specified event. // // When you delete an event, Amazon Fraud Detector permanently deletes that -// event and the event data is no longer stored in Amazon Fraud Detector. +// event and the event data is no longer stored in Amazon Fraud Detector. If +// deleteAuditHistory is True, event data is available through search for up +// to 30 seconds after the delete operation is completed. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -10397,7 +10399,7 @@ type CreateVariableInput struct { // DataSource is a required field DataSource *string `locationName:"dataSource" type:"string" required:"true" enum:"DataSource"` - // The data type. + // The data type of the variable. // // DataType is a required field DataType *string `locationName:"dataType" type:"string" required:"true" enum:"DataType"` @@ -10961,6 +10963,7 @@ type DeleteEventInput struct { _ struct{} `type:"structure"` // Specifies whether or not to delete any predictions associated with the event. + // If set to True, DeleteAuditHistory *bool `locationName:"deleteAuditHistory" type:"boolean"` // The ID of the event to delete. @@ -21682,6 +21685,9 @@ const ( // DataTypeBoolean is a DataType enum value DataTypeBoolean = "BOOLEAN" + + // DataTypeDatetime is a DataType enum value + DataTypeDatetime = "DATETIME" ) // DataType_Values returns all elements of the DataType enum @@ -21691,6 +21697,7 @@ func DataType_Values() []string { DataTypeInteger, DataTypeFloat, DataTypeBoolean, + DataTypeDatetime, } } diff --git a/service/keyspaces/api.go b/service/keyspaces/api.go index db7fec53983..934cf768d94 100644 --- a/service/keyspaces/api.go +++ b/service/keyspaces/api.go @@ -1277,7 +1277,7 @@ func (c *Keyspaces) TagResourceRequest(input *TagResourceInput) (req *request.Re // // For IAM policy examples that show how to control access to Amazon Keyspaces // resources based on tags, see Amazon Keyspaces resource access based on tags -// (https://docs.aws.amazon.com/keyspaces/latest/devguide/security_iam_id-based-policy-examples-tags) +// (https://docs.aws.amazon.com/keyspaces/latest/devguide/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-tags) // in the Amazon Keyspaces Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2069,6 +2069,16 @@ type CreateKeyspaceInput struct { // KeyspaceName is a required field KeyspaceName *string `locationName:"keyspaceName" min:"1" type:"string" required:"true"` + // The replication specification of the keyspace includes: + // + // * replicationStrategy - the required value is SINGLE_REGION or MULTI_REGION. + // + // * regionList - if the replicationStrategy is MULTI_REGION, the regionList + // requires the current Region and at least one additional Amazon Web Services + // Region where the keyspace is going to be replicated in. The maximum number + // of supported replication Regions including the current Region is six. + ReplicationSpecification *ReplicationSpecification `locationName:"replicationSpecification" type:"structure"` + // A list of key-value pair tags to be attached to the keyspace. // // For more information, see Adding tags and labels to Amazon Keyspaces resources @@ -2107,6 +2117,11 @@ func (s *CreateKeyspaceInput) Validate() error { if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } + if s.ReplicationSpecification != nil { + if err := s.ReplicationSpecification.Validate(); err != nil { + invalidParams.AddNested("ReplicationSpecification", err.(request.ErrInvalidParams)) + } + } if s.Tags != nil { for i, v := range s.Tags { if v == nil { @@ -2130,6 +2145,12 @@ func (s *CreateKeyspaceInput) SetKeyspaceName(v string) *CreateKeyspaceInput { return s } +// SetReplicationSpecification sets the ReplicationSpecification field's value. +func (s *CreateKeyspaceInput) SetReplicationSpecification(v *ReplicationSpecification) *CreateKeyspaceInput { + s.ReplicationSpecification = v + return s +} + // SetTags sets the Tags field's value. func (s *CreateKeyspaceInput) SetTags(v []*Tag) *CreateKeyspaceInput { s.Tags = v @@ -2798,7 +2819,17 @@ type GetKeyspaceOutput struct { // KeyspaceName is a required field KeyspaceName *string `locationName:"keyspaceName" min:"1" type:"string" required:"true"` - // The ARN of the keyspace. + // If the replicationStrategy of the keyspace is MULTI_REGION, a list of replication + // Regions is returned. + ReplicationRegions []*string `locationName:"replicationRegions" min:"2" type:"list"` + + // Returns the replication strategy of the keyspace. The options are SINGLE_REGION + // or MULTI_REGION. + // + // ReplicationStrategy is a required field + ReplicationStrategy *string `locationName:"replicationStrategy" min:"1" type:"string" required:"true" enum:"Rs"` + + // Returns the ARN of the keyspace. // // ResourceArn is a required field ResourceArn *string `locationName:"resourceArn" min:"20" type:"string" required:"true"` @@ -2828,6 +2859,18 @@ func (s *GetKeyspaceOutput) SetKeyspaceName(v string) *GetKeyspaceOutput { return s } +// SetReplicationRegions sets the ReplicationRegions field's value. +func (s *GetKeyspaceOutput) SetReplicationRegions(v []*string) *GetKeyspaceOutput { + s.ReplicationRegions = v + return s +} + +// SetReplicationStrategy sets the ReplicationStrategy field's value. +func (s *GetKeyspaceOutput) SetReplicationStrategy(v string) *GetKeyspaceOutput { + s.ReplicationStrategy = &v + return s +} + // SetResourceArn sets the ResourceArn field's value. func (s *GetKeyspaceOutput) SetResourceArn(v string) *GetKeyspaceOutput { s.ResourceArn = &v @@ -3123,6 +3166,16 @@ type KeyspaceSummary struct { // KeyspaceName is a required field KeyspaceName *string `locationName:"keyspaceName" min:"1" type:"string" required:"true"` + // If the replicationStrategy of the keyspace is MULTI_REGION, a list of replication + // Regions is returned. + ReplicationRegions []*string `locationName:"replicationRegions" min:"2" type:"list"` + + // This property specifies if a keyspace is a single Region keyspace or a multi-Region + // keyspace. The available values are SINGLE_REGION or MULTI_REGION. + // + // ReplicationStrategy is a required field + ReplicationStrategy *string `locationName:"replicationStrategy" min:"1" type:"string" required:"true" enum:"Rs"` + // The unique identifier of the keyspace in the format of an Amazon Resource // Name (ARN). // @@ -3154,6 +3207,18 @@ func (s *KeyspaceSummary) SetKeyspaceName(v string) *KeyspaceSummary { return s } +// SetReplicationRegions sets the ReplicationRegions field's value. +func (s *KeyspaceSummary) SetReplicationRegions(v []*string) *KeyspaceSummary { + s.ReplicationRegions = v + return s +} + +// SetReplicationStrategy sets the ReplicationStrategy field's value. +func (s *KeyspaceSummary) SetReplicationStrategy(v string) *KeyspaceSummary { + s.ReplicationStrategy = &v + return s +} + // SetResourceArn sets the ResourceArn field's value. func (s *KeyspaceSummary) SetResourceArn(v string) *KeyspaceSummary { s.ResourceArn = &v @@ -3648,6 +3713,75 @@ func (s *PointInTimeRecoverySummary) SetStatus(v string) *PointInTimeRecoverySum return s } +// The replication specification of the keyspace includes: +// +// - regionList - up to six Amazon Web Services Regions where the keyspace +// is replicated in. +// +// - replicationStrategy - the required value is SINGLE_REGION or MULTI_REGION. +type ReplicationSpecification struct { + _ struct{} `type:"structure"` + + // The regionList can contain up to six Amazon Web Services Regions where the + // keyspace is replicated in. + RegionList []*string `locationName:"regionList" min:"2" type:"list"` + + // The replicationStrategy of a keyspace, the required value is SINGLE_REGION + // or MULTI_REGION. + // + // ReplicationStrategy is a required field + ReplicationStrategy *string `locationName:"replicationStrategy" min:"1" type:"string" required:"true" enum:"Rs"` +} + +// 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 ReplicationSpecification) 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 ReplicationSpecification) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReplicationSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReplicationSpecification"} + if s.RegionList != nil && len(s.RegionList) < 2 { + invalidParams.Add(request.NewErrParamMinLen("RegionList", 2)) + } + if s.ReplicationStrategy == nil { + invalidParams.Add(request.NewErrParamRequired("ReplicationStrategy")) + } + if s.ReplicationStrategy != nil && len(*s.ReplicationStrategy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReplicationStrategy", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRegionList sets the RegionList field's value. +func (s *ReplicationSpecification) SetRegionList(v []*string) *ReplicationSpecification { + s.RegionList = v + return s +} + +// SetReplicationStrategy sets the ReplicationStrategy field's value. +func (s *ReplicationSpecification) SetReplicationStrategy(v string) *ReplicationSpecification { + s.ReplicationStrategy = &v + return s +} + // The operation tried to access a keyspace or table that doesn't exist. The // resource might not be specified correctly, or its status might not be ACTIVE. type ResourceNotFoundException struct { @@ -4957,6 +5091,22 @@ func PointInTimeRecoveryStatus_Values() []string { } } +const ( + // RsSingleRegion is a Rs enum value + RsSingleRegion = "SINGLE_REGION" + + // RsMultiRegion is a Rs enum value + RsMultiRegion = "MULTI_REGION" +) + +// Rs_Values returns all elements of the Rs enum +func Rs_Values() []string { + return []string{ + RsSingleRegion, + RsMultiRegion, + } +} + const ( // SortOrderAsc is a SortOrder enum value SortOrderAsc = "ASC" diff --git a/service/kms/api.go b/service/kms/api.go index fed9c236897..89e1bb5175d 100644 --- a/service/kms/api.go +++ b/service/kms/api.go @@ -1108,13 +1108,6 @@ func (c *KMS) CreateKeyRequest(input *CreateKeyInput) (req *request.Request, out // use HMAC keys to generate (GenerateMac) and verify (VerifyMac) HMAC codes // for messages up to 4096 bytes. // -// HMAC KMS keys are not supported in all Amazon Web Services Regions. If you -// try to create an HMAC KMS key in an Amazon Web Services Region in which HMAC -// keys are not supported, the CreateKey operation returns an UnsupportedOperationException. -// For a list of Regions in which HMAC KMS keys are supported, see HMAC keys -// in KMS (https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html) -// in the Key Management Service Developer Guide. -// // # Multi-Region primary keys // // # Imported key material @@ -1140,18 +1133,20 @@ func (c *KMS) CreateKeyRequest(input *CreateKeyInput) (req *request.Request, out // keys, see Multi-Region keys in KMS (https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) // in the Key Management Service Developer Guide. // -// To import your own key material into a KMS key, begin by creating a symmetric -// encryption KMS key with no key material. To do this, use the Origin parameter -// of CreateKey with a value of EXTERNAL. Next, use GetParametersForImport operation -// to get a public key and import token, and use the public key to encrypt your +// To import your own key material into a KMS key, begin by creating a KMS key +// with no key material. To do this, use the Origin parameter of CreateKey with +// a value of EXTERNAL. Next, use GetParametersForImport operation to get a +// public key and import token. Use the wrapping public key to encrypt your // key material. Then, use ImportKeyMaterial with your import token to import // the key material. For step-by-step instructions, see Importing Key Material // (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) // in the Key Management Service Developer Guide . // -// This feature supports only symmetric encryption KMS keys, including multi-Region -// symmetric encryption KMS keys. You cannot import key material into any other -// type of KMS key. +// You can import key material into KMS keys of all supported KMS key types: +// symmetric encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, +// and asymmetric signing KMS keys. You can also create multi-Region keys with +// imported key material. However, you can't import key material into a KMS +// key in a custom key store. // // To create a multi-Region primary key with imported key material, use the // Origin parameter of CreateKey with a value of EXTERNAL and the MultiRegion @@ -1944,18 +1939,16 @@ func (c *KMS) DeleteImportedKeyMaterialRequest(input *DeleteImportedKeyMaterialI // DeleteImportedKeyMaterial API operation for AWS Key Management Service. // -// Deletes key material that you previously imported. This operation makes the -// specified KMS key unusable. For more information about importing key material -// into KMS, see Importing Key Material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) +// Deletes key material that was previously imported. This operation makes the +// specified KMS key temporarily unusable. To restore the usability of the KMS +// key, reimport the same key material. For more information about importing +// key material into KMS, see Importing Key Material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) // in the Key Management Service Developer Guide. // // When the specified KMS key is in the PendingDeletion state, this operation // does not change the KMS key's state. Otherwise, it changes the KMS key's // state to PendingImport. // -// After you delete key material, you can use ImportKeyMaterial to reimport -// the same key material into the KMS key. -// // The KMS key that you use for this operation must be in a compatible key state. // For details, see Key states of KMS keys (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the Key Management Service Developer Guide. @@ -4769,27 +4762,56 @@ func (c *KMS) GetParametersForImportRequest(input *GetParametersForImportInput) // GetParametersForImport API operation for AWS Key Management Service. // -// Returns the items you need to import key material into a symmetric encryption -// KMS key. For more information about importing key material into KMS, see -// Importing key material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) +// Returns the public key and an import token you need to import or reimport +// key material for a KMS key. +// +// By default, KMS keys are created with key material that KMS generates. This +// operation supports Importing key material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html), +// an advanced feature that lets you generate and import the cryptographic key +// material for a KMS key. For more information about importing key material +// into KMS, see Importing key material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) // in the Key Management Service Developer Guide. // -// This operation returns a public key and an import token. Use the public key -// to encrypt the symmetric key material. Store the import token to send with -// a subsequent ImportKeyMaterial request. +// Before calling GetParametersForImport, use the CreateKey operation with an +// Origin value of EXTERNAL to create a KMS key with no key material. You can +// import key material for a symmetric encryption KMS key, HMAC KMS key, asymmetric +// encryption KMS key, or asymmetric signing KMS key. You can also import key +// material into a multi-Region key (kms/latest/developerguide/multi-region-keys-overview.html) +// of any supported type. However, you can't import key material into a KMS +// key in a custom key store (kms/latest/developerguide/custom-key-store-overview.html). +// You can also use GetParametersForImport to get a public key and import token +// to reimport the original key material (kms/latest/developerguide/importing-keys.html#reimport-key-material) +// into a KMS key whose key material expired or was deleted. +// +// GetParametersForImport returns the items that you need to import your key +// material. +// +// - The public key (or "wrapping key") of an RSA key pair that KMS generates. +// You will use this public key to encrypt ("wrap") your key material while +// it's in transit to KMS. +// +// - A import token that ensures that KMS can decrypt your key material and +// associate it with the correct KMS key. +// +// The public key and its import token are permanently linked and must be used +// together. Each public key and import token set is valid for 24 hours. The +// expiration date and time appear in the ParametersValidTo field in the GetParametersForImport +// response. You cannot use an expired public key or import token in an ImportKeyMaterial +// request. If your key and token expire, send another GetParametersForImport +// request. // -// You must specify the key ID of the symmetric encryption KMS key into which -// you will import key material. The KMS key Origin must be EXTERNAL. You must -// also specify the wrapping algorithm and type of wrapping key (public key) -// that you will use to encrypt the key material. You cannot perform this operation -// on an asymmetric KMS key, an HMAC KMS key, or on any KMS key in a different -// Amazon Web Services account. +// GetParametersForImport requires the following information: +// +// - The key ID of the KMS key for which you are importing the key material. +// +// - The key spec of the public key ("wrapping key") that you will use to +// encrypt your key material during import. // -// To import key material, you must use the public key and import token from -// the same response. These items are valid for 24 hours. The expiration date -// and time appear in the GetParametersForImport response. You cannot use an -// expired token in an ImportKeyMaterial request. If your key and token expire, -// send another GetParametersForImport request. +// - The wrapping algorithm that you will use with the public key to encrypt +// your key material. +// +// You can use the same or a different public key spec and wrapping algorithm +// each time you import or reimport the same key material. // // The KMS key that you use for this operation must be in a compatible key state. // For details, see Key states of KMS keys (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) @@ -5109,44 +5131,83 @@ func (c *KMS) ImportKeyMaterialRequest(input *ImportKeyMaterialInput) (req *requ // ImportKeyMaterial API operation for AWS Key Management Service. // -// Imports key material into an existing symmetric encryption KMS key that was -// created without key material. After you successfully import key material -// into a KMS key, you can reimport the same key material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#reimport-key-material) -// into that KMS key, but you cannot import different key material. +// Imports or reimports key material into an existing KMS key that was created +// without key material. ImportKeyMaterial also sets the expiration model and +// expiration date of the imported key material. // -// You cannot perform this operation on an asymmetric KMS key, an HMAC KMS key, -// or on any KMS key in a different Amazon Web Services account. For more information -// about creating KMS keys with no key material and then importing key material, -// see Importing Key Material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) +// By default, KMS keys are created with key material that KMS generates. This +// operation supports Importing key material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html), +// an advanced feature that lets you generate and import the cryptographic key +// material for a KMS key. For more information about importing key material +// into KMS, see Importing key material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) // in the Key Management Service Developer Guide. // -// Before using this operation, call GetParametersForImport. Its response includes -// a public key and an import token. Use the public key to encrypt the key material. -// Then, submit the import token from the same GetParametersForImport response. -// -// When calling this operation, you must specify the following values: -// -// - The key ID or key ARN of a KMS key with no key material. Its Origin -// must be EXTERNAL. To create a KMS key with no key material, call CreateKey -// and set the value of its Origin parameter to EXTERNAL. To get the Origin -// of a KMS key, call DescribeKey.) -// -// - The encrypted key material. To get the public key to encrypt the key -// material, call GetParametersForImport. +// After you successfully import key material into a KMS key, you can reimport +// the same key material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#reimport-key-material) +// into that KMS key, but you cannot import different key material. You might +// reimport key material to replace key material that expired or key material +// that you deleted. You might also reimport key material to change the expiration +// model or expiration date of the key material. Before reimporting key material, +// if necessary, call DeleteImportedKeyMaterial to delete the current imported +// key material. +// +// Each time you import key material into KMS, you can determine whether (ExpirationModel) +// and when (ValidTo) the key material expires. To change the expiration of +// your key material, you must import it again, either by calling ImportKeyMaterial +// or using the import features (kms/latest/developerguide/importing-keys-import-key-material.html#importing-keys-import-key-material-console) +// of the KMS console. +// +// Before calling ImportKeyMaterial: +// +// - Create or identify a KMS key with no key material. The KMS key must +// have an Origin value of EXTERNAL, which indicates that the KMS key is +// designed for imported key material. To create an new KMS key for imported +// key material, call the CreateKey operation with an Origin value of EXTERNAL. +// You can create a symmetric encryption KMS key, HMAC KMS key, asymmetric +// encryption KMS key, or asymmetric signing KMS key. You can also import +// key material into a multi-Region key (kms/latest/developerguide/multi-region-keys-overview.html) +// of any supported type. However, you can't import key material into a KMS +// key in a custom key store (kms/latest/developerguide/custom-key-store-overview.html). +// +// - Use the DescribeKey operation to verify that the KeyState of the KMS +// key is PendingImport, which indicates that the KMS key has no key material. +// If you are reimporting the same key material into an existing KMS key, +// you might need to call the DeleteImportedKeyMaterial to delete its existing +// key material. +// +// - Call the GetParametersForImport operation to get a public key and import +// token set for importing key material. +// +// - Use the public key in the GetParametersForImport response to encrypt +// your key material. +// +// Then, in an ImportKeyMaterial request, you submit your encrypted key material +// and import token. When calling this operation, you must specify the following +// values: +// +// - The key ID or key ARN of the KMS key to associate with the imported +// key material. Its Origin must be EXTERNAL and its KeyState must be PendingImport. +// You cannot perform this operation on a KMS key in a custom key store (kms/latest/developerguide/custom-key-store-overview.html), +// or on a KMS key in a different Amazon Web Services account. To get the +// Origin and KeyState of a KMS key, call DescribeKey. +// +// - The encrypted key material. // // - The import token that GetParametersForImport returned. You must use // a public key and token from the same GetParametersForImport response. // // - Whether the key material expires (ExpirationModel) and, if so, when -// (ValidTo). If you set an expiration date, on the specified date, KMS deletes -// the key material from the KMS key, making the KMS key unusable. To use -// the KMS key in cryptographic operations again, you must reimport the same -// key material. The only way to change the expiration model or expiration -// date is by reimporting the same key material and specifying a new expiration -// date. +// (ValidTo). For help with this choice, see Setting an expiration time (https://docs.aws.amazon.com/en_us/kms/latest/developerguide/importing-keys.html#importing-keys-expiration) +// in the Key Management Service Developer Guide. If you set an expiration +// date, KMS deletes the key material from the KMS key on the specified date, +// making the KMS key unusable. To use the KMS key in cryptographic operations +// again, you must reimport the same key material. However, you can delete +// and reimport the key material at any time, including before the key material +// expires. Each time you reimport, you can eliminate or reset the expiration +// time. // // When this operation is successful, the key state of the KMS key changes from -// PendingImport to Enabled, and you can use the KMS key. +// PendingImport to Enabled, and you can use the KMS key in cryptographic operations. // // If this operation fails, use the exception to help determine the problem. // If the error is related to the key material, the import token, or wrapping @@ -7266,8 +7327,10 @@ func (c *KMS) ScheduleKeyDeletionRequest(input *ScheduleKeyDeletionInput) (req * // // Deleting a KMS key is a destructive and potentially dangerous operation. // When a KMS key is deleted, all data that was encrypted under the KMS key -// is unrecoverable. (The only exception is a multi-Region replica key.) To -// prevent the use of a KMS key without deleting it, use DisableKey. +// is unrecoverable. (The only exception is a multi-Region replica key (kms/latest/developerguide/multi-region-keys-delete.html), +// or an asymmetric or HMAC KMS key with imported key material[BUGBUG-link to +// importing-keys-managing.html#import-delete-key.) To prevent the use of a +// KMS key without deleting it, use DisableKey. // // You can schedule the deletion of a multi-Region primary key and its replica // keys at any time. However, KMS will not delete a multi-Region primary key @@ -14217,8 +14280,11 @@ func (s *GetKeyRotationStatusOutput) SetKeyRotationEnabled(v bool) *GetKeyRotati type GetParametersForImportInput struct { _ struct{} `type:"structure"` - // The identifier of the symmetric encryption KMS key into which you will import - // key material. The Origin of the KMS key must be EXTERNAL. + // The identifier of the KMS key that will be associated with the imported key + // material. The Origin of the KMS key must be EXTERNAL. + // + // All KMS key types are supported, including multi-Region keys. However, you + // cannot import key material into a KMS key in a custom key store. // // Specify the key ID or key ARN of the KMS key. // @@ -14233,22 +14299,50 @@ type GetParametersForImportInput struct { // KeyId is a required field KeyId *string `min:"1" type:"string" required:"true"` - // The algorithm you will use to encrypt the key material before using the ImportKeyMaterial - // operation to import it. For more information, see Encrypt the key material - // (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-encrypt-key-material.html) + // The algorithm you will use with the RSA public key (PublicKey) in the response + // to protect your key material during import. For more information, see Select + // a wrapping algorithm (kms/latest/developerguide/importing-keys-get-public-key-and-token.html#select-wrapping-algorithm) // in the Key Management Service Developer Guide. // - // The RSAES_PKCS1_V1_5 wrapping algorithm is deprecated. We recommend that - // you begin using a different wrapping algorithm immediately. KMS will end - // support for RSAES_PKCS1_V1_5 by October 1, 2023 pursuant to cryptographic - // key management guidance (https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-131Ar2.pdf) - // from the National Institute of Standards and Technology (NIST). + // For RSA_AES wrapping algorithms, you encrypt your key material with an AES + // key that you generate, then encrypt your AES key with the RSA public key + // from KMS. For RSAES wrapping algorithms, you encrypt your key material directly + // with the RSA public key from KMS. + // + // The wrapping algorithms that you can use depend on the type of key material + // that you are importing. To import an RSA private key, you must use an RSA_AES + // wrapping algorithm. + // + // * RSA_AES_KEY_WRAP_SHA_256 — Supported for wrapping RSA and ECC key + // material. + // + // * RSA_AES_KEY_WRAP_SHA_1 — Supported for wrapping RSA and ECC key material. + // + // * RSAES_OAEP_SHA_256 — Supported for all types of key material, except + // RSA key material (private key). You cannot use the RSAES_OAEP_SHA_256 + // wrapping algorithm with the RSA_2048 wrapping key spec to wrap ECC_NIST_P521 + // key material. + // + // * RSAES_OAEP_SHA_1 — Supported for all types of key material, except + // RSA key material (private key). You cannot use the RSAES_OAEP_SHA_1 wrapping + // algorithm with the RSA_2048 wrapping key spec to wrap ECC_NIST_P521 key + // material. + // + // * RSAES_PKCS1_V1_5 (Deprecated) — Supported only for symmetric encryption + // key material (and only in legacy mode). // // WrappingAlgorithm is a required field WrappingAlgorithm *string `type:"string" required:"true" enum:"AlgorithmSpec"` - // The type of wrapping key (public key) to return in the response. Only 2048-bit - // RSA public keys are supported. + // The type of RSA public key to return in the response. You will use this wrapping + // key with the specified wrapping algorithm to protect your key material during + // import. + // + // Use the longest RSA wrapping key that is practical. + // + // You cannot use an RSA_2048 public key to directly wrap an ECC_NIST_P521 private + // key. Instead, use an RSA_AES wrapping algorithm or choose a longer RSA public + // key. // // WrappingKeySpec is a required field WrappingKeySpec *string `type:"string" required:"true" enum:"WrappingKeySpec"` @@ -14761,7 +14855,7 @@ type ImportKeyMaterialInput struct { _ struct{} `type:"structure"` // The encrypted key material to import. The key material must be encrypted - // with the public wrapping key that GetParametersForImport returned, using + // under the public wrapping key that GetParametersForImport returned, using // the wrapping algorithm that you specified in the same GetParametersForImport // request. // EncryptedKeyMaterial is automatically base64 encoded/decoded by the SDK. @@ -14770,14 +14864,16 @@ type ImportKeyMaterialInput struct { EncryptedKeyMaterial []byte `min:"1" type:"blob" required:"true"` // Specifies whether the key material expires. The default is KEY_MATERIAL_EXPIRES. + // For help with this choice, see Setting an expiration time (https://docs.aws.amazon.com/en_us/kms/latest/developerguide/importing-keys.html#importing-keys-expiration) + // in the Key Management Service Developer Guide. // // When the value of ExpirationModel is KEY_MATERIAL_EXPIRES, you must specify // a value for the ValidTo parameter. When value is KEY_MATERIAL_DOES_NOT_EXPIRE, // you must omit the ValidTo parameter. // // You cannot change the ExpirationModel or ValidTo values for the current import - // after the request completes. To change either value, you must delete (DeleteImportedKeyMaterial) - // and reimport the key material. + // after the request completes. To change either value, you must reimport the + // key material. ExpirationModel *string `type:"string" enum:"ExpirationModelType"` // The import token that you received in the response to a previous GetParametersForImport @@ -14788,12 +14884,16 @@ type ImportKeyMaterialInput struct { // ImportToken is a required field ImportToken []byte `min:"1" type:"blob" required:"true"` - // The identifier of the symmetric encryption KMS key that receives the imported - // key material. This must be the same KMS key specified in the KeyID parameter + // The identifier of the KMS key that will be associated with the imported key + // material. This must be the same KMS key specified in the KeyID parameter // of the corresponding GetParametersForImport request. The Origin of the KMS - // key must be EXTERNAL. You cannot perform this operation on an asymmetric - // KMS key, an HMAC KMS key, a KMS key in a custom key store, or on a KMS key - // in a different Amazon Web Services account + // key must be EXTERNAL and its KeyState must be PendingImport. + // + // The KMS key can be a symmetric encryption KMS key, HMAC KMS key, asymmetric + // encryption KMS key, or asymmetric signing KMS key, including a multi-Region + // key (kms/latest/developerguide/multi-region-keys-overview.html) of any supported + // type. You cannot perform this operation on a KMS key in a custom key store, + // or on a KMS key in a different Amazon Web Services account. // // Specify the key ID or key ARN of the KMS key. // @@ -18513,7 +18613,10 @@ type ScheduleKeyDeletionInput struct { // waiting period begins immediately. // // This value is optional. If you include a value, it must be between 7 and - // 30, inclusive. If you do not include a value, it defaults to 30. + // 30, inclusive. If you do not include a value, it defaults to 30. You can + // use the kms:ScheduleKeyDeletionPendingWindowInDays (https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-pending-deletion-window) + // condition key to further constrain the values that principals can specify + // in the PendingWindowInDays parameter. PendingWindowInDays *int64 `min:"1" type:"integer"` } @@ -18818,7 +18921,7 @@ type SignOutput struct { // this value is defined by PKCS #1 in RFC 8017 (https://tools.ietf.org/html/rfc8017). // // * When used with the ECDSA_SHA_256, ECDSA_SHA_384, or ECDSA_SHA_512 signing - // algorithms, this value is a DER-encoded object as defined by ANS X9.62–2005 + // algorithms, this value is a DER-encoded object as defined by ANSI X9.62–2005 // and RFC 3279 Section 2.2.3 (https://tools.ietf.org/html/rfc3279#section-2.2.3). // This is the most commonly used signature format and is appropriate for // most uses. @@ -21302,6 +21405,12 @@ const ( // AlgorithmSpecRsaesOaepSha256 is a AlgorithmSpec enum value AlgorithmSpecRsaesOaepSha256 = "RSAES_OAEP_SHA_256" + + // AlgorithmSpecRsaAesKeyWrapSha1 is a AlgorithmSpec enum value + AlgorithmSpecRsaAesKeyWrapSha1 = "RSA_AES_KEY_WRAP_SHA_1" + + // AlgorithmSpecRsaAesKeyWrapSha256 is a AlgorithmSpec enum value + AlgorithmSpecRsaAesKeyWrapSha256 = "RSA_AES_KEY_WRAP_SHA_256" ) // AlgorithmSpec_Values returns all elements of the AlgorithmSpec enum @@ -21310,6 +21419,8 @@ func AlgorithmSpec_Values() []string { AlgorithmSpecRsaesPkcs1V15, AlgorithmSpecRsaesOaepSha1, AlgorithmSpecRsaesOaepSha256, + AlgorithmSpecRsaAesKeyWrapSha1, + AlgorithmSpecRsaAesKeyWrapSha256, } } @@ -21944,12 +22055,20 @@ func SigningAlgorithmSpec_Values() []string { const ( // WrappingKeySpecRsa2048 is a WrappingKeySpec enum value WrappingKeySpecRsa2048 = "RSA_2048" + + // WrappingKeySpecRsa3072 is a WrappingKeySpec enum value + WrappingKeySpecRsa3072 = "RSA_3072" + + // WrappingKeySpecRsa4096 is a WrappingKeySpec enum value + WrappingKeySpecRsa4096 = "RSA_4096" ) // WrappingKeySpec_Values returns all elements of the WrappingKeySpec enum func WrappingKeySpec_Values() []string { return []string{ WrappingKeySpecRsa2048, + WrappingKeySpecRsa3072, + WrappingKeySpecRsa4096, } } diff --git a/service/kms/examples_test.go b/service/kms/examples_test.go index 8130adabec3..4a1f18709cb 100644 --- a/service/kms/examples_test.go +++ b/service/kms/examples_test.go @@ -663,9 +663,9 @@ func ExampleKMS_CreateKey_shared04() { } // To create a KMS key for imported key material -// This example creates a KMS key with no key material. When the operation is complete, -// you can import your own key material into the KMS key. To create this KMS key, set -// the Origin parameter to EXTERNAL. +// This example creates a symmetric KMS key with no key material. When the operation +// is complete, you can import your own key material into the KMS key. To create this +// KMS key, set the Origin parameter to EXTERNAL. func ExampleKMS_CreateKey_shared05() { svc := kms.New(session.New()) input := &kms.CreateKeyInput{ @@ -2207,9 +2207,10 @@ func ExampleKMS_GetKeyRotationStatus_shared00() { fmt.Println(result) } -// To retrieve the public key and import token for a KMS key -// The following example retrieves the public key and import token for the specified -// KMS key. +// To download the public key and import token for a symmetric encryption KMS key +// The following example downloads a public key and import token to import symmetric +// encryption key material. It uses the default wrapping key spec and the RSAES_OAEP_SHA_256 +// wrapping algorithm. func ExampleKMS_GetParametersForImport_shared00() { svc := kms.New(session.New()) input := &kms.GetParametersForImportInput{ @@ -2248,6 +2249,135 @@ func ExampleKMS_GetParametersForImport_shared00() { fmt.Println(result) } +// To download the public key and import token for an RSA asymmetric KMS key +// The following example downloads a public key and import token to import an RSA private +// key. It uses a required RSA_AES wrapping algorithm and the largest supported private +// key. +func ExampleKMS_GetParametersForImport_shared01() { + svc := kms.New(session.New()) + input := &kms.GetParametersForImportInput{ + KeyId: aws.String("arn:aws:kms:us-east-2:111122223333:key/8888abcd-12ab-34cd-56ef-1234567890ab"), + WrappingAlgorithm: aws.String("RSA_AES_KEY_WRAP_SHA_256"), + WrappingKeySpec: aws.String("RSA_4096"), + } + + result, err := svc.GetParametersForImport(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case kms.ErrCodeInvalidArnException: + fmt.Println(kms.ErrCodeInvalidArnException, aerr.Error()) + case kms.ErrCodeUnsupportedOperationException: + fmt.Println(kms.ErrCodeUnsupportedOperationException, aerr.Error()) + case kms.ErrCodeDependencyTimeoutException: + fmt.Println(kms.ErrCodeDependencyTimeoutException, aerr.Error()) + case kms.ErrCodeNotFoundException: + fmt.Println(kms.ErrCodeNotFoundException, aerr.Error()) + case kms.ErrCodeInternalException: + fmt.Println(kms.ErrCodeInternalException, aerr.Error()) + case kms.ErrCodeInvalidStateException: + fmt.Println(kms.ErrCodeInvalidStateException, 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) +} + +// To download the public key and import token for an elliptic curve (ECC) asymmetric +// KMS key +// +// The following example downloads a public key and import token to import an ECC_NIST_P521 +// (secp521r1) private key. You cannot directly wrap this ECC key under an RSA_2048 +// public key, although you can use an RSA_2048 public key with an RSA_AES wrapping +// algorithm to wrap any supported key material. This example requests an RSA_3072 public +// key for use with the RSAES_OAEP_SHA_256. +func ExampleKMS_GetParametersForImport_shared02() { + svc := kms.New(session.New()) + input := &kms.GetParametersForImportInput{ + KeyId: aws.String("arn:aws:kms:us-east-2:111122223333:key/9876abcd-12ab-34cd-56ef-1234567890ab"), + WrappingAlgorithm: aws.String("RSAES_OAEP_SHA_256"), + WrappingKeySpec: aws.String("RSA_3072"), + } + + result, err := svc.GetParametersForImport(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case kms.ErrCodeInvalidArnException: + fmt.Println(kms.ErrCodeInvalidArnException, aerr.Error()) + case kms.ErrCodeUnsupportedOperationException: + fmt.Println(kms.ErrCodeUnsupportedOperationException, aerr.Error()) + case kms.ErrCodeDependencyTimeoutException: + fmt.Println(kms.ErrCodeDependencyTimeoutException, aerr.Error()) + case kms.ErrCodeNotFoundException: + fmt.Println(kms.ErrCodeNotFoundException, aerr.Error()) + case kms.ErrCodeInternalException: + fmt.Println(kms.ErrCodeInternalException, aerr.Error()) + case kms.ErrCodeInvalidStateException: + fmt.Println(kms.ErrCodeInvalidStateException, 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) +} + +// To download the public key and import token for an HMAC KMS key +// The following example downloads a public key and import token to import an HMAC key. +// It uses the RSAES_OAEP_SHA_256 wrapping algorithm and an RSA_4096 private key. +func ExampleKMS_GetParametersForImport_shared03() { + svc := kms.New(session.New()) + input := &kms.GetParametersForImportInput{ + KeyId: aws.String("2468abcd-12ab-34cd-56ef-1234567890ab"), + WrappingAlgorithm: aws.String("RSAES_OAEP_SHA_256"), + WrappingKeySpec: aws.String("RSA_4096"), + } + + result, err := svc.GetParametersForImport(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case kms.ErrCodeInvalidArnException: + fmt.Println(kms.ErrCodeInvalidArnException, aerr.Error()) + case kms.ErrCodeUnsupportedOperationException: + fmt.Println(kms.ErrCodeUnsupportedOperationException, aerr.Error()) + case kms.ErrCodeDependencyTimeoutException: + fmt.Println(kms.ErrCodeDependencyTimeoutException, aerr.Error()) + case kms.ErrCodeNotFoundException: + fmt.Println(kms.ErrCodeNotFoundException, aerr.Error()) + case kms.ErrCodeInternalException: + fmt.Println(kms.ErrCodeInternalException, aerr.Error()) + case kms.ErrCodeInvalidStateException: + fmt.Println(kms.ErrCodeInvalidStateException, 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) +} + // To download the public key of an asymmetric KMS key // This example gets the public key of an asymmetric RSA KMS key used for encryption // and decryption. The operation returns the key spec, key usage, and encryption or @@ -2345,6 +2475,58 @@ func ExampleKMS_ImportKeyMaterial_shared00() { fmt.Println(result) } +// To import key material into a KMS key +// The following example imports key material that expires in 3 days. It might be part +// of an application that frequently reimports the same key material to comply with +// business rules or regulations. +func ExampleKMS_ImportKeyMaterial_shared01() { + svc := kms.New(session.New()) + input := &kms.ImportKeyMaterialInput{ + EncryptedKeyMaterial: []byte("